@import "https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--primary:#3d5a99;--primary-hover:#4a6bb3;--primary-light:#e8edf6;--primary-dark:#2d4370;--accent:#c4922a;--accent-light:#faf3e0;--success:#2d6a4f;--success-light:#e8f5ee;--warning:#8a6508;--warning-light:#fef9e7;--danger:#9b2226;--danger-light:#fce8e8;--info:#1a5276;--info-light:#e8f0f8;--bg:#f3f5f8;--surface:#fff;--surface-alt:#edf0f5;--border:#cdd3de;--border-light:#dfe3ec;--text:#1a2333;--text-muted:#5c6a7f;--text-light:#626e83;--sidebar-bg-from:#253352;--sidebar-bg-to:#2f4068;--sidebar-text:#c8d0e0;--sidebar-heading:#e8ecf4;--sidebar-muted:#7b8aa8;--sidebar-active:#3d5a9980;--sidebar-hover:#ffffff12;--sidebar-border:#ffffff14;--font-display:"Crimson Pro", Georgia, serif;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow-sm:0 1px 3px #1a233312;--shadow-md:0 4px 12px #1a233317;--shadow-lg:0 8px 24px #1a233321;--radius:8px;--radius-lg:12px}@media (prefers-color-scheme:dark){:root{--bg:#121318;--surface:#1a1b22;--surface-alt:#22232c;--border:#2e303a;--border-light:#363842;--text:#e2e4e9;--text-muted:#9ca3af;--text-light:#868d99;--warning:#b8860b;--primary-light:#3d5a9933;--accent-light:#c4922a26;--success-light:#2d6a4f33;--warning-light:#b8860b26;--danger-light:#9b222633;--info-light:#1a527633;--shadow-sm:0 1px 3px #00000040;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006}}.smm-app-switcher{background:var(--sidebar-bg-from);height:32px;font-family:var(--font-body);letter-spacing:.3px;z-index:200;box-sizing:border-box;flex-shrink:0;align-items:center;gap:2px;padding:0 16px;font-size:11px;font-weight:500;line-height:1;display:flex}.smm-app-switcher-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;margin-right:8px;font-size:10px}.smm-app-switcher a,.smm-app-switcher span.smm-app-current{box-sizing:border-box;border-radius:4px;margin:0;padding:4px 10px;font-size:11px;line-height:1;text-decoration:none;transition:all .15s;display:inline-block}.smm-app-switcher a{color:#ffffffb3}.smm-app-switcher a:hover{color:#ffffffe6;background:#ffffff1a}.smm-app-switcher span.smm-app-current{color:#fff;background:#ffffff26}.smm-help-bubble{right:24px;bottom:var(--smm-help-offset,24px);z-index:50;font-family:var(--font-body);position:fixed}.smm-help-fab{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .15s,background .15s;display:flex;box-shadow:0 4px 12px #0000002e}.smm-help-fab:hover{background:var(--primary-dark,var(--primary));transform:scale(1.06)}.smm-help-fab:focus-visible{outline:3px solid var(--accent,var(--primary));outline-offset:2px}.smm-help-fab-icon{width:24px;height:24px}.smm-help-panel{background:var(--surface);border:1px solid var(--border-light,var(--border));border-radius:12px;flex-direction:column;width:min(340px,100vw - 48px);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000026}.smm-help-panel-header{background:var(--primary);color:#fff;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.smm-help-panel-title{align-items:center;gap:8px;min-width:0;display:flex}.smm-help-panel-title h3{color:#fff;margin:0;font-size:14px;font-weight:600}.smm-help-panel-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.smm-help-panel-close:hover{background:#fff3}.smm-help-panel-close svg{width:20px;height:20px}.smm-help-panel-body{padding:16px;overflow-y:auto}.smm-help-panel-footer{border-top:1px solid var(--border-light,var(--border));margin-top:12px;padding-top:12px}.smm-help-link{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.smm-help-link:hover{text-decoration:underline}.smm-help-icon{flex-shrink:0;font-size:18px;line-height:1;display:inline-flex}.smm-help-icon svg{width:20px;height:20px}.smm-help-summary{color:var(--text-muted);margin:0 0 12px;line-height:1.6}.smm-help-summary-density .smm-help-summary{margin-bottom:14px;font-size:12px}.smm-help-full-density{color:var(--text);font-size:14px;line-height:1.6}.smm-help-questions{flex-direction:column;gap:14px;display:flex}.smm-help-q-text{color:var(--text);margin-bottom:4px;font-weight:600}.smm-help-a-text{color:var(--text-muted);white-space:pre-line;line-height:1.6}.smm-help-summary-density .smm-help-q-text{font-size:13px}.smm-help-summary-density .smm-help-a-text{font-size:12px}.smm-help-q--highlight{background:var(--primary-light);border:1px solid var(--primary);border-radius:8px;margin:0 -8px;padding:8px}.smm-help-detail{margin-bottom:4px}.smm-help-detail-heading{color:var(--text);margin:16px 0 6px;font-size:14px;font-weight:600}.smm-help-full-density>.smm-help-detail:first-child .smm-help-detail-heading{margin-top:0}.smm-help-para{color:var(--text-muted);margin:0 0 8px}.smm-help-list{color:var(--text-muted);margin:4px 0 8px;padding-left:20px}.smm-help-list li{margin-bottom:4px}.smm-help-list strong{color:var(--text)}.smm-help-center{max-width:48rem;font-family:var(--font-body);flex-direction:column;gap:16px;display:flex}.smm-help-center-title{font-family:var(--font-display);color:var(--text);margin:0;font-size:1.5rem;font-weight:700}.smm-help-center-intro{color:var(--text-muted);margin:0;font-size:14px;line-height:1.6}.smm-help-tip{background:var(--primary-light);border:1px solid var(--border-light,var(--border));color:var(--text-muted);border-radius:8px;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:flex}.smm-help-search{position:relative}.smm-help-search-icon{width:20px;height:20px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.smm-help-search input{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:10px 16px 10px 40px;font-size:14px}.smm-help-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.smm-help-empty{text-align:center;color:var(--text-muted);margin:0;padding:32px 0;font-size:14px}.smm-help-topics{flex-direction:column;gap:12px;display:flex}.smm-help-card{background:var(--surface);border:1px solid var(--border-light,var(--border));border-radius:12px;scroll-margin-top:16px;overflow:hidden}.smm-help-card-heading{font:inherit;margin:0}.smm-help-card-header{text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--text);background:0 0;border:none;align-items:center;gap:12px;padding:16px 20px;display:flex}.smm-help-card-header:hover{background:var(--surface-alt)}.smm-help-card-title{flex:1;font-size:15px;font-weight:600}.smm-help-count{color:var(--text-muted);background:var(--surface-alt);white-space:nowrap;border-radius:9999px;padding:2px 8px;font-size:12px}.smm-help-chevron{width:20px;height:20px;color:var(--text-muted);flex-shrink:0}.smm-help-card-body{border-top:1px solid var(--border-light,var(--border));padding:16px 20px 20px}.smm-help-contact{background:var(--surface-alt);text-align:center;color:var(--text-muted);border-radius:8px;padding:16px;font-size:13px}.smm-help-contact p{margin:0 0 4px}.smm-help-contact-lead{color:var(--text);font-weight:600}@media print{.smm-help-bubble,.smm-help-search,.smm-help-tip{display:none}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text)}.app-layout{min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg,var(--sidebar-bg-from) 0%,var(--sidebar-bg-to) 100%);width:256px;color:var(--sidebar-text);z-index:100;flex-direction:column;display:flex;position:fixed;top:32px;bottom:0;left:0}.sidebar-header{border-bottom:1px solid var(--sidebar-border);padding:16px 20px}.sidebar-header h1{font-family:var(--font-display);color:var(--sidebar-heading);letter-spacing:.3px;font-size:16px;font-weight:600;line-height:1.3}.sidebar-header p{color:var(--sidebar-muted);letter-spacing:.5px;text-transform:uppercase;margin-top:2px;font-size:10px}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:12px;display:flex;overflow-y:auto}.nav-item{text-align:left;cursor:pointer;width:100%;color:var(--sidebar-text);background:0 0;border:0;border-radius:4px;align-items:center;gap:12px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-heading)}.nav-item.active{background:var(--sidebar-active);color:var(--sidebar-heading)}.nav-badge{background:var(--primary);color:#fff;border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.nav-divider{background:#ffffff1a;height:1px;margin:12px 0}.sidebar-footer{border-top:1px solid var(--sidebar-border);color:#5c6e8e;text-align:center;padding:16px 20px;font-size:12px}.main-content{flex:1;min-height:100vh;margin-left:256px}.app-header{z-index:90;background:var(--surface);border-bottom:1px solid var(--border-light);justify-content:flex-end;align-items:center;height:48px;padding:0 32px;display:flex;position:sticky;top:32px}.app-header .user-info{color:var(--text-muted);align-items:center;gap:10px;font-size:12px;display:flex}.app-header .user-name{color:var(--text);font-weight:600}.app-header .user-role{color:var(--text-muted);font-size:11px}.app-header .sign-out-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-family:var(--font-body);cursor:pointer;padding:5px 12px;font-size:12px;transition:all .15s}.app-header .sign-out-btn:hover{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}.page-header{background:var(--surface);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:20px 32px;display:flex}.page-header h2{font-family:var(--font-display);color:var(--text);font-size:24px;font-weight:700}.page-body{padding:28px 32px}.card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-header h3{font-family:var(--font-display);font-size:18px;font-weight:600}.card-body{padding:20px}.btn{border-radius:var(--radius);font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface-alt);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border-light)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b02528}.btn-sm{padding:6px 12px;font-size:12px}.btn-ghost{color:var(--text-muted);background:0 0;padding:6px 10px}.btn-ghost:hover{background:var(--surface-alt);color:var(--text)}.form-group{margin-bottom:16px;display:block}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-family:var(--font-body);color:var(--text);background:var(--surface);padding:9px 12px;font-size:14px;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.login-input:focus{outline:none}.login-input:focus-visible{border-color:var(--primary);outline:2px solid var(--primary);outline-offset:1px}.form-textarea{resize:vertical;min-height:80px}.form-row{gap:16px;display:grid}.form-row-2{grid-template-columns:1fr 1fr}.form-row-3{grid-template-columns:1fr 1fr 1fr}.checkbox-group{flex-wrap:wrap;gap:10px;display:flex}.checkbox-label{cursor:pointer;border:1px solid var(--border-light);border-radius:var(--radius);align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .15s;display:flex}.checkbox-label:hover{border-color:var(--primary)}.checkbox-label.checked{background:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}.checkbox-label input{display:none}.badge{letter-spacing:.3px;border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-planning{background:var(--info-light);color:var(--info)}.badge-awaiting{background:var(--warning-light);color:var(--warning)}.badge-approved{background:var(--accent-light);color:var(--accent)}.badge-progress{color:#2563eb;background:#e8f0ff}.badge-hold{color:#856404;background:#fef3cd}.badge-completed{background:var(--success-light);color:var(--success)}.badge-cancelled{background:var(--surface-alt);color:var(--text-muted)}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-light);background:var(--surface-alt);-webkit-user-select:none;user-select:none;padding:10px 14px;font-size:11px;font-weight:700}.data-table th:has(.th-sort):hover{color:var(--primary);background:var(--primary-light)}.th-sort{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:0}.data-table td{border-bottom:1px solid var(--border-light);padding:12px 14px;font-size:13px}.data-table tr:hover td{background:#3d5a9908}.data-table .clickable{cursor:pointer}.data-table .clickable:hover td{background:var(--primary-light)}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.stat-card .stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.stat-card .stat-value{font-family:var(--font-display);color:var(--text);font-size:28px;font-weight:700}.stat-card .stat-sub{color:var(--text-muted);margin-top:4px;font-size:12px}.alert-bar{border-radius:var(--radius);align-items:center;gap:10px;margin-bottom:12px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.alert-warning{background:var(--warning-light);color:#7a6608;border-left:3px solid var(--warning)}.alert-danger{background:var(--danger-light);color:var(--danger);border-left:3px solid var(--danger)}.alert-info{background:var(--info-light);color:var(--info);border-left:3px solid var(--info)}.alert-success{background:var(--success-light);color:var(--success);border-left:3px solid var(--success)}.modal-overlay{z-index:200;background:#1a233380;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:740px;animation:.2s modalIn}.modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{font-family:var(--font-display);font-size:20px;font-weight:600}.modal-body{max-height:65vh;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}@keyframes modalIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tabs{border-bottom:2px solid var(--border-light);flex-wrap:wrap;gap:0;margin-bottom:20px;display:flex}.tab{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.timeline{padding-left:24px;position:relative}.timeline:before{content:"";background:var(--border-light);width:2px;position:absolute;top:4px;bottom:4px;left:8px}.timeline-item{margin-bottom:16px;padding-left:16px;position:relative}.timeline-dot{border:2px solid var(--border);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-20px}.timeline-dot.done{background:var(--success);border-color:var(--success)}.timeline-dot.current{background:var(--primary);border-color:var(--primary)}.timeline-dot.upcoming{background:var(--surface);border-color:var(--border)}.timeline-dot.overdue{background:var(--danger);border-color:var(--danger)}.timeline-label{color:var(--text);font-size:13px;font-weight:600}.timeline-date{color:var(--text-muted);margin-top:2px;font-size:12px}.progress-bar{background:var(--surface-alt);border-radius:4px;height:8px;overflow:hidden}.progress-fill{border-radius:4px;height:100%;transition:width .3s}.empty-state{text-align:center;color:var(--text-muted);padding:48px 20px}.empty-state h4{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:18px}.tag{background:var(--surface-alt);color:var(--text-muted);border-radius:4px;margin-bottom:4px;margin-right:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.divider{border:none;border-top:1px solid var(--border-light);margin:20px 0}.doc-list{flex-direction:column;gap:6px;display:flex}.doc-item{background:var(--surface-alt);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.doc-item .doc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.doc-item .doc-meta{color:var(--text-muted);white-space:nowrap;font-size:11px}.file-ext-badge{letter-spacing:.5px;color:#fff;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:700;display:inline-flex}.file-ext-pdf{background:#c0392b}.file-ext-doc,.file-ext-docx{background:#2b6cb0}.file-ext-xls,.file-ext-xlsx,.file-ext-csv{background:#217a3e}.file-ext-jpg,.file-ext-jpeg,.file-ext-png,.file-ext-gif,.file-ext-heic,.file-ext-webp,.file-ext-bmp,.file-ext-tif,.file-ext-tiff{background:#9b59b6}.file-ext-ppt,.file-ext-pptx{background:#d4581c}.file-ext-txt,.file-ext-rtf{background:#7f8c8d}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--surface);padding:20px;transition:all .15s}.upload-zone:hover,.upload-zone.dragging{border-color:var(--primary);background:var(--primary-light)}.winner-badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.config-list-item{background:var(--surface-alt);border-radius:var(--radius);align-items:center;gap:8px;margin-bottom:6px;padding:8px 12px;font-size:13px;display:flex}.config-list-item .item-label{flex:1}.gantt-bar{color:#fff;white-space:nowrap;border-radius:4px;align-items:center;height:28px;padding:0 8px;font-size:11px;font-weight:600;display:flex;position:relative;overflow:hidden}.score-cell{text-align:center;font-size:14px;font-weight:700}.score-best{background:var(--success-light);color:var(--success)}.activity-item{border-bottom:1px solid var(--border-light);gap:12px;padding:10px 0;font-size:13px;display:flex}.activity-item:last-child{border-bottom:none}.activity-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;display:flex}.user-menu{position:relative}.user-menu-btn{border-radius:var(--radius);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 10px;transition:background .15s;display:flex}.user-menu-btn:hover{background:var(--surface-alt)}.user-menu-btn .user-avatar{width:32px;height:32px;color:var(--text-light)}.user-menu-btn .user-name{color:var(--text);font-size:13px;font-weight:600}.user-menu-btn .user-role{color:var(--text-muted);font-size:11px}.user-dropdown{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);width:200px;box-shadow:var(--shadow-lg);z-index:200;margin-top:4px;padding:4px 0;animation:.15s modalIn;position:absolute;top:100%;right:0}.user-dropdown button{cursor:pointer;width:100%;color:var(--text);font-size:13px;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;transition:background .1s;display:flex}.user-dropdown button:hover{background:var(--bg)}.user-dropdown button.danger{color:var(--danger)}.user-dropdown button.danger:hover{background:var(--danger-light)}.user-dropdown-backdrop{z-index:199;position:fixed;inset:0}.help-tip{background:var(--primary-light);border:1px solid var(--primary);color:var(--primary-dark);border-radius:var(--radius);margin-top:8px;padding:6px 10px;font-size:12px}.profile-section{max-width:640px}.profile-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:24px}.profile-card h3{font-family:var(--font-display);margin-bottom:16px;font-size:18px;font-weight:600}.profile-field{margin-bottom:12px}.profile-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.profile-field .value{color:var(--text);font-size:14px}@media (width<=900px){.sidebar{width:60px}.sidebar-header h1,.sidebar-header p,.nav-item span,.sidebar-footer,.nav-divider{display:none}.nav-item{justify-content:center;padding:12px}.main-content{margin-left:60px}.stat-grid{grid-template-columns:repeat(2,1fr)}.form-row-2,.form-row-3{grid-template-columns:1fr}.user-menu-btn .user-name,.user-menu-btn .user-role{display:none}}.tab:focus-visible,.nav-item:focus-visible,.clickable:focus-visible,.star-btn:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.star-btn{cursor:pointer;background:0 0;border:0;padding:0;line-height:1}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
