@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:#b8860b;--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:#8995a8;--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:#6b7280;--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:#fff6;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:#ffffff8c}.smm-app-switcher a:hover{color:#ffffffe6;background:#ffffff1a}.smm-app-switcher span.smm-app-current{color:#fff;background:#ffffff26}*{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{cursor:pointer;color:var(--sidebar-text);border-radius:4px;align-items:center;gap:12px;padding:10px 12px;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-light);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}.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}.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-light)}.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[style*=cursor]:hover{color:var(--primary);background:var(--primary-light)}.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-light);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;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;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-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:50%;align-items:center;padding:2px;transition:all .15s;display:inline-flex}.help-btn:hover{color:var(--primary);background:var(--primary-light)}.help-modal-overlay{z-index:300;background:#1a233380;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.help-modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:640px;animation:.2s modalIn}.help-modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.help-modal-header h3{font-family:var(--font-display);font-size:18px;font-weight:600}.help-modal-body{max-height:65vh;color:var(--text-muted);padding:20px;font-size:14px;line-height:1.8;overflow-y:auto}.help-modal-body h4{color:var(--text);margin:12px 0 6px;font-size:15px}.help-modal-body strong{color:var(--text)}.help-modal-body ul{margin:8px 0;padding-left:20px}.help-modal-body li{margin-bottom:4px}.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}}
