*{box-sizing:border-box}body{color:#172033;background:#f4f6f8;margin:0;font-family:Inter,Arial,sans-serif}button,input,select,textarea{font:inherit}.app{min-height:100vh;display:flex}.sidebar{color:#fff;background:#111827;width:300px;height:100vh;padding:24px;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand h1{margin:0;font-size:24px}.brand p{color:#aab4c5;margin:3px 0 0;font-size:13px}.nav-card{background:#1f2937;border-radius:18px;margin-bottom:18px;padding:18px}.nav-card h2{margin:8px 0;font-size:20px}.nav-card p{color:#cdd5e1;line-height:1.5}.eyebrow{color:#7aa2ff;text-transform:uppercase;letter-spacing:.09em;margin:0;font-size:12px;font-weight:800}.side-nav{gap:8px;margin-bottom:18px;display:grid}.side-nav button,.logout-btn{color:#dbeafe;text-align:left;cursor:pointer;background:#1f2937;border:0;border-radius:12px;padding:11px 12px;font-weight:700}.side-nav button.active{color:#fff;background:#2563eb}.export-btn,.upload-btn,.primary-btn{cursor:pointer;color:#fff;background:#2563eb;border:0;border-radius:12px;justify-content:center;align-items:center;gap:9px;width:100%;margin-bottom:10px;padding:12px 14px;font-weight:800;display:flex}.upload-btn{background:#374151}.logout-btn{align-items:center;gap:8px;width:100%;display:flex}.mode-box{color:#cbd5e1;border:1px solid #374151;border-radius:12px;gap:8px;margin:14px 0;padding:11px;font-size:13px;display:flex}.main{flex:1;padding:26px;overflow-x:hidden}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.topbar h1{margin:4px 0 0;font-size:30px}.company-manager{gap:10px;min-width:420px;display:grid}.company-select{background:#fff;border:1px solid #dce3ed;border-radius:14px;align-items:center;gap:8px;padding:10px 12px;display:flex}.company-form{grid-template-columns:1fr 1fr 1fr auto;gap:8px;display:grid}.company-form button{color:#fff;background:#16a34a;border:0;border-radius:10px;align-items:center;gap:5px;padding:0 12px;font-weight:800;display:flex}.search{background:#fff;border:1px solid #dce3ed;border-radius:14px;align-items:center;gap:8px;width:360px;padding:10px 12px;display:flex}.small-search{width:220px}.search input{border:0;outline:0;width:100%;padding:0}.metrics{grid-template-columns:repeat(6,minmax(120px,1fr));gap:14px;margin-bottom:20px;display:grid}.metric{background:#fff;border:1px solid #dde5ef;border-radius:18px;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:0 6px 20px #0f172a0a}.metric-icon{background:#eef4ff;border-radius:14px;padding:10px;display:flex}.metric p{color:#637083;margin:0;font-size:13px}.metric h2{margin:2px 0 0;font-size:24px}.metric.danger .metric-icon{background:#fff1f2}.grid{grid-template-columns:2fr 1fr;gap:18px;margin-bottom:18px;display:grid}.jobs-grid{grid-template-columns:360px minmax(0,1fr)}.panel{background:#fff;border:1px solid #dde5ef;border-radius:20px;padding:18px;box-shadow:0 6px 20px #0f172a0a}.panel.wide{min-width:0}.panel h2{margin:0 0 4px}.panel p{color:#687386;margin:0 0 12px}.panel-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.chart{width:100%;height:285px}.job-form{grid-template-columns:1fr;gap:9px;display:grid}input,select,textarea{background:#fff;border:1px solid #d7dfeb;border-radius:10px;width:100%;padding:9px 10px}textarea{resize:vertical;min-height:76px}.job-form button{color:#fff;cursor:pointer;background:#16a34a;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:11px;font-weight:800;display:flex}.table-panel{min-width:0}.table-actions,.filters{align-items:center;gap:8px;display:flex}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1120px}th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid #e2e8f0;padding:10px;font-size:12px}td{vertical-align:top;border-bottom:1px solid #edf2f7;padding:10px}td small{color:#7b8798;margin-top:4px;display:block}.late-row{background:#fff7ed}.icon-btn{color:#991b1b;cursor:pointer;background:#fee2e2;border:0;border-radius:10px;padding:9px}.blocker-list{gap:10px;display:grid}.blocker-item{border:1px solid #e5e7eb;border-left:5px solid #94a3b8;border-radius:12px;padding:10px}.blocker-item.late{background:#fff7ed;border-left-color:#ef4444}.blocker-item span{color:#64748b;font-size:13px;display:block}.blocker-item p{margin:6px 0 0}.report-panel .primary-btn{width:auto;margin:0}.report{background:#fff;border:1px solid #e5e7eb;padding:30px}.report-header{border-bottom:3px solid #111827;justify-content:space-between;margin-bottom:20px;padding-bottom:15px;display:flex}.report-header h1{margin:0}.report-header p{margin:4px 0 0}.report-metrics{grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0;display:grid}.report-metrics div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:14px}.report-metrics span{color:#64748b;font-size:12px;display:block}.report-metrics strong{margin-top:4px;font-size:24px;display:block}.report-table{min-width:0;margin-bottom:20px}.report-table th,.report-table td{padding:8px}.auth-page,.loading{color:#fff;background:#111827;place-items:center;min-height:100vh;display:grid}.auth-card{color:#111827;background:#fff;border-radius:24px;width:420px;padding:28px;box-shadow:0 20px 80px #00000040}.auth-brand{align-items:center;gap:12px;margin-bottom:20px;display:flex}.auth-brand h1{margin:0}.auth-brand p{color:#64748b;margin:3px 0 0}.auth-form{gap:10px;display:grid}.auth-form label{border:1px solid #d7dfeb;border-radius:12px;align-items:center;gap:8px;padding:0 10px;display:flex}.auth-form label input{border:0}.auth-form button,.demo-btn{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;padding:12px;font-weight:800}.demo-btn{background:#111827;width:100%;margin-top:10px}.link-btn{color:#2563eb;cursor:pointer;background:0 0;border:0;margin:12px auto 0;font-weight:700;display:block}.auth-message{color:#b91c1c;margin:10px 0 0}@media (width<=1250px){.app{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.metrics{grid-template-columns:repeat(2,1fr)}.grid,.jobs-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:stretch}.company-manager{min-width:0}.company-form{grid-template-columns:1fr}.report-metrics{grid-template-columns:repeat(2,1fr)}.health-score-box{background:#f8fafc;border:2px solid #111827;border-radius:18px;grid-template-columns:1fr 2fr;gap:16px;margin-bottom:20px;padding:18px;display:grid}.health-score-box span{color:#64748b;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.health-score-box h1{margin:0;font-size:44px}.health-score-box p{color:#111827;margin:0;line-height:1.5}.ai-panel{margin-bottom:20px}.ai-panel .primary-btn{width:auto;margin:0}.ai-empty{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:12px}.ai-error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:12px;margin-top:12px;padding:12px}.ai-result{white-space:pre-wrap;background:#f8fafc;border:1px solid #dbeafe;border-radius:14px;margin-top:12px;padding:16px;line-height:1.5}.ai-result p{margin:0 0 8px}.gantt-panel{overflow:hidden}.gantt-scroll{border:1px solid #e5e7eb;border-radius:14px;overflow-x:auto}.gantt-grid{min-width:max-content;display:grid}.gantt-header{color:#64748b;text-align:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;padding:10px 4px;font-size:12px;font-weight:800}.gantt-job-header{text-align:left;z-index:2;padding-left:14px;position:sticky;left:0}.gantt-job-label{z-index:1;background:#fff;border-bottom:1px solid #edf2f7;border-right:1px solid #e5e7eb;flex-direction:column;gap:2px;padding:10px 14px;display:flex;position:sticky;left:0}.gantt-job-label span{color:#64748b;font-size:13px}.gantt-job-label small{color:#94a3b8;font-size:12px}.gantt-cell{border-bottom:1px solid #edf2f7;border-right:1px solid #edf2f7;justify-content:center;align-items:center;height:58px;display:flex}.gantt-bar{border-radius:999px;width:100%;height:20px}.gantt-bar.active{background:#2563eb}.gantt-bar.complete{background:#16a34a}.gantt-bar.risk{background:#ef4444}.gantt-legend{color:#64748b;gap:18px;margin-top:14px;font-size:14px;display:flex}.legend{vertical-align:middle;border-radius:999px;width:14px;height:14px;margin-right:6px;display:inline-block}.legend.active{background:#2563eb}.legend.complete{background:#16a34a}.legend.risk{background:#ef4444}.capacity-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.capacity-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:16px}.capacity-card.overloaded{background:#fff1f2;border-color:#fecaca}.capacity-card.near{background:#fffbeb;border-color:#fde68a}.capacity-card-header{justify-content:space-between;align-items:center;display:flex}.capacity-card-header h3{margin:0}.capacity-card-header strong{font-size:26px}.capacity-bar-bg{background:#e5e7eb;border-radius:999px;height:14px;margin:14px 0;overflow:hidden}.capacity-bar{background:#2563eb;border-radius:999px;height:100%}.capacity-card.overloaded .capacity-bar{background:#ef4444}.capacity-card.near .capacity-bar{background:#f59e0b}.capacity-details p{color:#475569;margin:6px 0}.date-cell{min-width:190px}.date-cell label{text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.scheduled-date label{color:#2563eb}.actual-date label{color:#16a34a}.app{transition:all .25s}.sidebar{transition:width .25s,padding .25s;overflow-y:auto}.sidebar-collapsed .sidebar{width:72px;padding-left:10px;padding-right:10px}.sidebar-collapsed .brand h1,.sidebar-collapsed .brand p,.sidebar-collapsed .nav-card,.sidebar-collapsed .side-nav button,.sidebar-collapsed .export-btn,.sidebar-collapsed .upload-btn,.sidebar-collapsed .mode-box span,.sidebar-collapsed .logout-btn{display:none}.sidebar-collapsed .brand{justify-content:center}.sidebar-collapsed .main{width:calc(100vw - 72px)}.app.sidebar-collapsed{grid-template-columns:72px 1fr!important}.app.sidebar-collapsed .main{width:auto!important;max-width:none!important}.app.sidebar-collapsed .sidebar{width:72px!important}.sidebar{flex-shrink:0}.sidebar-toggle{color:#fff;cursor:pointer;background:#1f2937;border:none;border-radius:10px;width:100%;margin-bottom:14px;padding:10px;font-size:18px}.table-wrap table{min-width:1800px}.table-wrap td input,.table-wrap td select{min-width:140px}.table-wrap td:first-child input{min-width:220px}.table-wrap td:nth-child(2) input{min-width:120px}.table-wrap td:nth-child(10) input{min-width:180px}.table-wrap{width:100%!important;overflow-x:auto!important}.table-wrap table{table-layout:auto!important;min-width:2200px!important}.table-wrap th,.table-wrap td{white-space:nowrap!important;min-width:160px!important}.table-wrap th:first-child,.table-wrap td:first-child{min-width:280px!important}.table-wrap th:nth-child(2),.table-wrap td:nth-child(2){min-width:160px!important}.table-wrap th:nth-child(3),.table-wrap td:nth-child(3){min-width:220px!important}.table-wrap th:nth-child(10),.table-wrap td:nth-child(10){min-width:260px!important}.table-wrap input,.table-wrap select{box-sizing:border-box!important;width:100%!important;min-width:100%!important}.table-wrap td:first-child input{width:260px!important;min-width:260px!important}.table-wrap td:nth-child(2) input{width:130px!important;min-width:130px!important}.table-wrap td:nth-child(3) select{width:180px!important;min-width:180px!important}.table-wrap td:nth-child(8) select{width:170px!important;min-width:170px!important}.table-wrap td:nth-child(9) input{width:100px!important;min-width:100px!important}.table-wrap td:nth-child(10) input{width:240px!important;min-width:240px!important}.table-wrap td:nth-child(11) select{width:150px!important;min-width:150px!important}.table-wrap input[type=date]{width:240px!important;min-width:240px!important}.table-wrap td{vertical-align:top!important}.drawer-backdrop{z-index:50;background:#0f172a73;justify-content:flex-end;display:flex;position:fixed;inset:0}.job-drawer{background:#fff;width:420px;max-width:95vw;height:100vh;padding:24px;overflow-y:auto;box-shadow:-12px 0 30px #0f172a40}.drawer-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.drawer-header h2{margin:0}.drawer-header p{color:#64748b;margin:4px 0 0}.drawer-section{gap:8px;margin-bottom:20px;display:grid}.drawer-section h3{margin:10px 0 4px}.drawer-section label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.drawer-section input,.drawer-section select,.drawer-section textarea{border:1px solid #dbe3ef;border-radius:12px;width:100%;padding:10px 12px;font-size:15px}.drawer-section textarea{resize:vertical;min-height:100px}.jobs-summary-strip{grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin:18px 0;display:grid}.jobs-summary-strip div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:14px}.jobs-summary-strip span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.jobs-summary-strip strong{color:#111827;font-size:26px}@media (width<=900px){.jobs-summary-strip{grid-template-columns:repeat(2,1fr)}}.status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:110px;padding:8px 10px;font-size:13px;font-weight:800;display:inline-flex}.status-badge.neutral{color:#475569;background:#f1f5f9}.status-badge.progress{color:#1d4ed8;background:#dbeafe}.status-badge.complete{color:#166534;background:#dcfce7}.status-badge.blocked,.status-badge.late{color:#991b1b;background:#fee2e2}.app{width:100vw!important;min-height:100vh!important;display:flex!important;overflow:hidden!important}.sidebar{height:100vh!important}.main{background:#f8fafc!important;flex:1!important;height:100vh!important;padding:28px!important;overflow-y:auto!important}.topbar{margin-bottom:24px!important}.loading{color:#fff;background:#111827;flex-direction:column;justify-content:center;align-items:center;width:100vw;min-height:100vh;font-size:26px;font-weight:800;display:flex}.loading:after{content:"Preparing your operations workspace...";color:#94a3b8;margin-top:10px;font-size:14px;font-weight:500}.loading-spinner{border:4px solid #334155;border-top-color:#2563eb;border-radius:50%;width:42px;height:42px;margin-bottom:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.app{width:100vw!important;min-height:100vh!important;display:block!important;overflow-x:hidden!important}.sidebar{z-index:40!important;width:100%!important;height:auto!important;min-height:auto!important;padding:14px!important;position:sticky!important;top:0!important}.sidebar-toggle,.brand,.nav-card,.mode-box,.logout-btn{display:none!important}.side-nav{gap:8px!important;padding-bottom:8px!important;display:flex!important;overflow-x:auto!important}.side-nav button{white-space:nowrap!important;flex:none!important;min-width:105px!important;padding:10px 12px!important;font-size:14px!important}.export-btn,.upload-btn{display:none!important}.main{width:100%!important;height:auto!important;min-height:100vh!important;padding:16px!important;overflow-x:hidden!important}.topbar{margin-bottom:16px!important;display:block!important}.topbar h1{font-size:26px!important}.metrics,.grid,.jobs-grid,.settings-grid,.capacity-grid{grid-template-columns:1fr!important;gap:14px!important;display:grid!important}.panel{border-radius:18px!important;padding:16px!important}.panel-header{display:block!important}.table-actions{grid-template-columns:1fr!important;gap:10px!important;margin-top:12px!important;display:grid!important}.table-wrap{-webkit-overflow-scrolling:touch!important;overflow-x:auto!important}.table-wrap table{min-width:1400px!important}.jobs-summary-strip{grid-template-columns:repeat(2,1fr)!important}.job-drawer{width:100vw!important;max-width:100vw!important;padding:18px!important}.chart{height:260px!important}.add-job-form{grid-template-columns:1fr!important;display:grid!important}.add-job-form input,.add-job-form select,.add-job-form textarea,.settings-add-form input{width:100%!important}}.planner-stats{grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin:20px 0;display:grid}.planner-stats div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;gap:6px;padding:16px;display:grid}.planner-stats svg{color:#2563eb}.planner-stats span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.planner-stats strong{color:#111827;font-size:28px}.planner-list h3{margin-top:18px}.planner-empty{color:#64748b;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:16px}.planner-item{background:#fff;border:1px solid #e5e7eb;border-radius:18px;gap:16px;margin-bottom:14px;padding:16px;display:flex}.planner-rank{color:#fff;background:#2563eb;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-weight:900;display:flex}.planner-content{flex:1}.planner-title-row{justify-content:space-between;gap:12px;display:flex}.planner-title-row h4{margin:0;font-size:18px}.planner-title-row p{color:#64748b;margin:4px 0 0}.planner-score{color:#1d4ed8;background:#eff6ff;border-radius:999px;height:fit-content;padding:8px 12px}.planner-meta{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.planner-meta span{color:#475569;background:#f1f5f9;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.planner-reasons{gap:6px;margin:10px 0;display:grid}.planner-reasons span{color:#334155;font-size:14px}.planner-action{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;margin-top:12px;padding:12px}@media (width<=768px){.planner-stats{grid-template-columns:repeat(2,1fr)}.planner-item{display:block}.planner-rank{margin-bottom:12px}.planner-title-row{display:block}.planner-score{margin-top:10px;display:inline-block}}.document-upload-box{cursor:pointer;text-align:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:18px;place-items:center;gap:8px;margin:18px 0;padding:28px;display:grid}.document-upload-box strong{font-size:18px}.document-upload-box span{color:#64748b}.document-summary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;margin:18px 0;padding:16px}.document-summary h3{margin-top:0}.document-job-list{gap:12px;margin-bottom:18px;display:grid}.document-job-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;justify-content:space-between;gap:16px;padding:14px;display:flex}.document-job-card h4{margin:0}.document-job-card p{color:#64748b;margin:4px 0 0}.document-job-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.document-job-meta span{background:#f1f5f9;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}@media (width<=768px){.document-job-card{display:block}.document-job-meta{margin-top:10px}}.document-overview-grid{grid-template-columns:repeat(3,minmax(160px,1fr));gap:14px;margin:18px 0;display:grid}.document-kpi{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;gap:6px;padding:16px;display:grid}.document-kpi svg{color:#2563eb}.document-kpi span{color:#64748b;text-transform:uppercase;font-size:12px;font-weight:800}.document-kpi strong{font-size:28px}.document-section{margin:22px 0}.department-hours-table{border:1px solid #e5e7eb;border-radius:16px;overflow:hidden}.department-hours-header,.department-hours-row{border-bottom:1px solid #e5e7eb;grid-template-columns:1fr 120px 140px;align-items:center;gap:12px;padding:12px 14px;display:grid}.department-hours-header{color:#64748b;text-transform:uppercase;background:#f8fafc;font-size:12px;font-weight:900}.department-hours-row:last-child{border-bottom:none}.sequence-list,.document-priority-list,.line-item-list{gap:12px;display:grid}.sequence-item,.document-priority-card,.line-item-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;gap:14px;padding:14px;display:flex}.sequence-item>strong,.document-priority-card>strong,.line-item-card>strong{color:#fff;background:#2563eb;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.sequence-item h4,.document-priority-card h4,.line-item-card h4{margin:0}.sequence-item p,.document-priority-card p,.line-item-card p{color:#64748b;margin:4px 0}.document-priority-card span{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin-top:8px;padding:10px;display:block}@media (width<=768px){.document-overview-grid,.department-hours-header,.department-hours-row{grid-template-columns:1fr}}.planning-loader{color:#fff;z-index:9999;background:radial-gradient(circle,#2563eb2e,#0000 45%),linear-gradient(135deg,#020617 0%,#111827 100%);justify-content:center;align-items:center;animation:5s forwards loaderFadeOut;display:flex;position:fixed;inset:0}.planning-loader-content{text-align:center;animation:5s forwards loaderContentFade}.bar-loader{justify-content:center;align-items:end;gap:14px;height:150px;margin-bottom:38px;display:flex}.bar-loader span{background:linear-gradient(#22d3ee,#2563eb);border-radius:10px 10px 4px 4px;width:28px;height:50px;animation:1.3s ease-in-out infinite barPulse;box-shadow:0 0 24px #22d3ee8c}.bar-loader span:first-child{animation-delay:0s}.bar-loader span:nth-child(2){animation-delay:.12s}.bar-loader span:nth-child(3){animation-delay:.24s}.bar-loader span:nth-child(4){animation-delay:.36s}.bar-loader span:nth-child(5){animation-delay:.48s}.bar-loader span:nth-child(6){animation-delay:.6s}.bar-loader span:nth-child(7){animation-delay:.72s}.planning-loader h1{letter-spacing:-.04em;text-shadow:0 0 22px #ffffff38;margin:0;font-size:clamp(34px,6vw,72px)}.planning-progress{background:#94a3b838;border-radius:999px;width:min(460px,80vw);height:8px;margin:42px auto 0;overflow:hidden}.planning-progress div{background:linear-gradient(90deg,#2563eb,#22d3ee);border-radius:999px;width:0%;height:100%;animation:5s forwards progressFill}@keyframes barPulse{0%,to{height:45px;transform:translateY(0)}50%{height:140px;transform:translateY(-6px)}}@keyframes progressFill{0%{width:0%}to{width:100%}}@keyframes loaderContentFade{0%,82%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}@keyframes loaderFadeOut{0%,88%{opacity:1}to{opacity:0;visibility:hidden;pointer-events:none}}.welcome-toast{z-index:99999;background:#fff;border:1px solid #e5e7eb;border-radius:18px;align-items:center;gap:14px;min-width:320px;padding:16px 18px;animation:.45s toastSlideIn,.45s 3.5s forwards toastFadeOut;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 12px 30px #0f172a1f}.welcome-icon{font-size:28px}.welcome-toast strong{color:#0f172a;display:block}.welcome-toast p{color:#64748b;margin:2px 0 0;font-size:14px}@keyframes toastSlideIn{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes toastFadeOut{to{opacity:0;transform:translate(60px)}}@media (width<=768px){.welcome-toast{min-width:auto;top:16px;left:16px;right:16px}}html,body,#root{width:100%;min-height:100%;margin:0;overflow:hidden}.app{width:100vw!important;height:100vh!important;min-height:100vh!important;display:flex!important;overflow:hidden!important}.sidebar{flex-shrink:0!important;height:100vh!important;max-height:100vh!important;overflow-y:auto!important}.main{flex:auto!important;min-width:0!important;height:100vh!important;padding:28px!important;overflow:hidden auto!important}.topbar{width:100%!important}.panel,.metrics,.grid{max-width:100%!important}.table-wrap{max-width:100%!important;overflow-x:auto!important}@media (width>=769px){.main{width:auto!important}}@media (width<=768px){html,body,#root{width:100%!important;height:auto!important;min-height:100%!important;overflow:hidden auto!important}.app{width:100%!important;height:auto!important;min-height:100vh!important;display:block!important;overflow:hidden auto!important}.sidebar{z-index:50!important;width:100%!important;height:auto!important;min-height:auto!important;max-height:none!important;padding:12px!important;position:sticky!important;top:0!important;overflow:auto visible!important}.sidebar-toggle,.brand,.nav-card,.mode-box,.logout-btn{display:none!important}.side-nav{white-space:nowrap!important;flex-direction:row!important;gap:8px!important;padding-bottom:6px!important;display:flex!important;overflow:auto hidden!important}.side-nav button{flex:none!important;width:auto!important;min-width:100px!important;padding:10px 12px!important;font-size:14px!important}.export-btn,.upload-btn{display:none!important}.main{width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:calc(100vh - 70px)!important;padding:14px!important;overflow:hidden visible!important}.topbar,.panel-header{display:block!important}.metrics,.grid,.jobs-grid,.settings-grid,.capacity-grid,.document-overview-grid,.planner-stats{grid-template-columns:1fr!important}.panel{border-radius:16px!important;padding:14px!important}.table-wrap{-webkit-overflow-scrolling:touch!important;max-width:100%!important;overflow-x:auto!important}.table-wrap table{min-width:1400px!important}.job-drawer{width:100vw!important;max-width:100vw!important}.welcome-toast{min-width:auto!important;top:12px!important;left:12px!important;right:12px!important}}.panel,.metric-card,.capacity-card,.document-job-card,.planner-item,.settings-card{transition:transform .18s,box-shadow .18s,border-color .18s}.panel:hover,.metric-card:hover,.capacity-card:hover,.document-job-card:hover,.planner-item:hover,.settings-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 18px 40px #0f172a14}.primary-btn,.export-btn,.upload-btn,.logout-btn,.side-nav button{transition:transform .16s,box-shadow .16s,background .16s}.primary-btn:hover,.export-btn:hover,.upload-btn:hover,.logout-btn:hover,.side-nav button:hover{transform:translateY(-1px)}.version-badge{color:#dbeafe;text-align:center;letter-spacing:.04em;background:#2563eb1f;border:1px solid #93c5fd40;border-radius:999px;margin-top:12px;padding:8px 12px;font-size:12px;font-weight:800}.consultant-summary{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:16px;padding:16px}.consultant-summary strong{color:#111827;margin-bottom:6px;display:block}.consultant-summary p{color:#475569;margin:0;line-height:1.5}.consultant-insight-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-bottom:18px;display:grid}.consultant-insight-grid div{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px}.consultant-insight-grid span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:900;display:block}.consultant-insight-grid strong{color:#111827;font-size:22px}.consultant-insight-grid p{color:#64748b;margin:4px 0 0;font-size:13px}@media (width<=900px){.consultant-insight-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.consultant-insight-grid{grid-template-columns:1fr}}.jobs-grid{grid-template-columns:minmax(260px,340px) 1fr!important;align-items:start!important}.collapsed-add-job{padding:18px!important}.add-job-collapse-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.add-job-collapse-header h2{margin:0}.add-job-collapse-header p{color:#64748b;margin:6px 0 0}.add-job-toggle{flex-shrink:0}.collapsed-add-job{max-height:120px;overflow:hidden}@media (width>=900px){.jobs-grid:has(.collapsed-add-job){grid-template-columns:260px 1fr!important}}@media (width<=768px){.jobs-grid{grid-template-columns:1fr!important}.collapsed-add-job{max-height:none}}.jobs-page-full,.jobs-page-full .table-panel{width:100%}.jobs-page-full .table-wrap{width:100%;max-width:100%;overflow-x:auto}.jobs-page-full .table-wrap table{min-width:1800px}.jobs-page-full .add-job-panel{box-shadow:none!important;border:none!important;padding:0!important}.jobs-page-full .add-job-panel:hover{box-shadow:none!important;transform:none!important}.jobs-summary-strip div,.planner-stats div{grid-template-columns:1fr auto!important;align-items:center!important;gap:6px 14px!important;display:grid!important}.jobs-summary-strip span,.planner-stats span{margin:0!important;line-height:1.2!important;display:block!important}.jobs-summary-strip strong,.planner-stats strong{text-align:right!important;margin-left:10px!important;line-height:1.1!important;display:block!important}.planner-stats svg{grid-column:1/-1!important;margin-bottom:4px!important}.jobs-summary-strip,.planner-stats{gap:14px!important;display:grid!important}.jobs-summary-strip{grid-template-columns:repeat(5,minmax(130px,1fr))!important}.planner-stats{grid-template-columns:repeat(4,minmax(150px,1fr))!important}.summary-card,.planner-stat-card{background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:16px!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:10px 18px!important;padding:16px!important;display:grid!important}.planner-stat-card svg{color:#2563eb!important;grid-column:1/-1!important}.summary-card span,.planner-stat-card span{text-transform:uppercase!important;letter-spacing:.06em!important;color:#64748b!important;font-size:12px!important;font-weight:800!important;display:block!important}.summary-card strong,.planner-stat-card strong{color:#111827!important;text-align:right!important;font-size:28px!important;font-weight:900!important;display:block!important}@media (width<=768px){.jobs-summary-strip,.planner-stats{grid-template-columns:repeat(2,1fr)!important}}.capacity-settings-list{gap:10px;margin-top:14px;display:grid}.capacity-settings-row{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;grid-template-columns:1fr 110px auto;align-items:center;gap:10px;padding:10px;display:grid}.capacity-settings-row label{color:#111827;font-weight:800}.capacity-settings-row input{border:1px solid #dbe3ef;border-radius:10px;width:100%;padding:8px 10px}.capacity-settings-row span{color:#64748b;font-size:13px;font-weight:700}@media (width<=768px){.capacity-settings-row{grid-template-columns:1fr}}.drawer-help{color:#64748b;margin:-4px 0 10px;font-size:14px}.labor-allocation-total{background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 14px;display:flex}.labor-allocation-total span{color:#1e40af;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:900}.labor-allocation-total strong{color:#1d4ed8;font-size:22px}.labor-allocation-list{gap:8px;display:grid}.labor-allocation-row{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:1fr 110px auto;align-items:center;gap:10px;padding:10px;display:grid}.labor-allocation-row label{color:#111827;font-weight:800}.labor-allocation-row input{border:1px solid #dbe3ef;border-radius:10px;width:100%;padding:8px 10px}.labor-allocation-row span{color:#64748b;font-size:13px;font-weight:800}@media (width<=768px){.labor-allocation-row{grid-template-columns:1fr}}.metric-card{position:relative!important}.metric-tooltip{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;z-index:20;background:#0f172ab8;border-radius:10px;max-width:230px;padding:8px 10px;font-size:12px;font-weight:600;line-height:1.35;transition:opacity .16s,transform .16s;position:absolute;top:10px;left:14px;transform:translateY(4px)}.metric-card:hover .metric-tooltip{opacity:1;transform:translateY(0)}.polished-metric-card{background:linear-gradient(#fff 0%,#f8fafc 100%)!important;border:1px solid #dbe3ef!important;border-radius:22px!important;align-items:center!important;gap:16px!important;min-height:110px!important;padding:20px!important;display:flex!important;position:relative!important;overflow:visible!important;box-shadow:0 12px 28px #0f172a0f!important}.polished-metric-card:hover{border-color:#bfdbfe!important;transform:translateY(-3px)!important;box-shadow:0 18px 42px #0f172a1a!important}.polished-metric-icon{color:#1d4ed8!important;background:#eff6ff!important;border-radius:18px!important;justify-content:center!important;align-items:center!important;width:58px!important;min-width:58px!important;height:58px!important;display:flex!important}.polished-metric-icon svg{width:28px!important;height:28px!important}.polished-metric-icon.danger{color:#dc2626!important;background:#fef2f2!important}.polished-metric-content{gap:4px!important;min-width:0!important;display:grid!important}.polished-metric-content span{color:#64748b!important;font-size:14px!important;font-weight:800!important;line-height:1.2!important}.polished-metric-content strong{color:#0f172a!important;letter-spacing:-.04em!important;font-size:clamp(26px,2vw,34px)!important;font-weight:950!important;line-height:1!important}.metric-tooltip-inline{color:#fff!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;z-index:100!important;pointer-events:none!important;background:#0f172ac2!important;border-radius:12px!important;max-width:220px!important;padding:8px 10px!important;font-size:12px!important;font-weight:600!important;line-height:1.35!important;position:absolute!important;top:-8px!important;right:14px!important;transform:translateY(-100%)!important}@media (width<=768px){.polished-metric-card{min-height:96px!important;padding:16px!important}.polished-metric-icon{width:50px!important;min-width:50px!important;height:50px!important}.polished-metric-content strong{font-size:26px!important}}.metrics{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;align-items:stretch!important;gap:18px!important;display:grid!important}@media (width>=1200px){.metrics{grid-template-columns:repeat(auto-fill,minmax(260px,320px))!important;justify-content:start!important}}@media (width>=1600px){.metrics{grid-template-columns:repeat(4,minmax(260px,320px))!important}}@media (width>=1000px){.metrics{grid-template-columns:repeat(4,minmax(240px,1fr))!important;align-items:stretch!important;gap:18px!important;display:grid!important}}@media (width>=1500px){.metrics{grid-template-columns:repeat(4,minmax(260px,1fr))!important;max-width:1400px!important}}@media (width<=999px){.metrics{grid-template-columns:repeat(2,minmax(220px,1fr))!important}}@media (width<=650px){.metrics{grid-template-columns:1fr!important}}.editable-labor-table{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden}.editable-labor-header,.editable-labor-row{border-bottom:1px solid #e5e7eb;grid-template-columns:1fr 130px 140px;align-items:center;gap:10px;padding:12px;display:grid}.editable-labor-header{color:#64748b;text-transform:uppercase;background:#f8fafc;font-size:12px;font-weight:900}.editable-labor-row:last-child{border-bottom:none}.editable-labor-row input{border:1px solid #dbe3ef;border-radius:10px;width:100%;padding:9px 10px}@media (width<=768px){.editable-labor-header{display:none}.editable-labor-row{grid-template-columns:1fr}}.weekly-plan-summary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;margin:18px 0;padding:16px}.weekly-plan-summary strong{color:#1e40af;margin-bottom:6px;display:block}.weekly-plan-summary p{color:#1e3a8a;margin:0}.weekly-loaded-departments{margin:22px 0}.weekly-loaded-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.weekly-loaded-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px}.weekly-loaded-card span{color:#64748b;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:900;display:block}.weekly-loaded-card strong{color:#111827;font-size:24px}.weekly-plan-actions{flex-wrap:wrap;gap:10px;display:flex}.secondary-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:10px 14px;font-weight:800}.secondary-btn:disabled{opacity:.5;cursor:not-allowed}.saved-weekly-plans{margin-top:24px}.saved-plan-list{flex-wrap:wrap;gap:10px;display:flex}.saved-plan-card{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;gap:4px;padding:12px 14px;display:grid}.saved-plan-card strong{color:#111827}.saved-plan-card span{color:#64748b;font-size:13px}.auto-schedule-grid{gap:18px;margin-top:20px;display:grid}.auto-resource-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden}.auto-resource-header{background:#f8fafc;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.auto-resource-header h3{margin:0}.auto-resource-header span{color:#2563eb;font-weight:900}.auto-empty-resource{color:#64748b;padding:16px}.auto-week-card{border-bottom:1px solid #e5e7eb;padding:14px 16px}.auto-week-card:last-child{border-bottom:none}.auto-week-header{color:#334155;align-items:center;gap:10px;margin-bottom:10px;display:flex}.auto-week-header span{color:#1d4ed8;background:#eff6ff;border-radius:999px;margin-left:auto;padding:5px 9px;font-size:13px;font-weight:900}.auto-week-jobs{gap:8px;display:grid}.auto-week-job{background:#f8fafc;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.auto-week-job p{color:#64748b;margin:3px 0 0;font-size:13px}.auto-week-job span{color:#111827;font-weight:900}.auto-schedule-warnings{gap:10px;margin:18px 0;display:grid}.auto-schedule-warnings h3{align-items:center;gap:8px;display:flex}.auto-warning-card{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:12px 14px}.auto-warning-card p{color:#78350f;margin:4px 0 0}.review-table-wrap{width:100%;overflow-x:auto}.review-table{background:#fff;border:1px solid #e5e7eb;border-radius:18px;min-width:1300px;overflow:hidden}.review-header,.review-row{border-bottom:1px solid #e5e7eb;grid-template-columns:220px 220px 160px 150px 260px 260px;align-items:start;gap:10px;padding:12px;display:grid}.review-header{color:#64748b;text-transform:uppercase;background:#f8fafc;font-size:12px;font-weight:900}.review-row:last-child{border-bottom:none}.review-row p{color:#64748b;margin:4px 0 0;font-size:13px}.review-row textarea,.review-row select{width:100%;min-height:42px;font:inherit;border:1px solid #dbe3ef;border-radius:10px;padding:9px 10px}.review-row textarea{resize:vertical}@media (width<=768px){.review-table{min-width:100%}.review-header{display:none}.review-row{grid-template-columns:1fr}}.brand-logo{object-fit:cover;border:1px solid #ffffff40;border-radius:10px;width:34px;height:34px}.personalization-preview{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;align-items:center;gap:12px;margin:14px 0;padding:14px;display:flex}.personalization-preview img,.personalization-placeholder{object-fit:cover;border-radius:16px;width:54px;height:54px}.personalization-placeholder{color:#fff;background:#2563eb;justify-content:center;align-items:center;font-weight:900;display:flex}.personalization-preview strong{color:#111827;display:block}.personalization-preview span{color:#64748b;font-size:13px}.settings-label{color:#334155;gap:6px;margin-bottom:12px;font-weight:800;display:grid}.settings-label input[type=text],.settings-label input:not([type]){border:1px solid #dbe3ef;border-radius:12px;padding:10px 12px}.settings-label input[type=color]{border:1px solid #dbe3ef;border-radius:12px;width:100%;height:42px;padding:4px}.personalization-upload{justify-content:center;margin-top:8px}.personalization-preview{max-width:420px!important;overflow:hidden!important}.personalization-preview img{object-fit:cover!important;border-radius:16px!important;flex-shrink:0!important;width:54px!important;max-width:54px!important;height:54px!important;max-height:54px!important}.brand-logo{object-fit:cover!important;border-radius:10px!important;width:34px!important;max-width:34px!important;height:34px!important;max-height:34px!important}.brand{align-items:center!important;gap:12px!important;width:100%!important;display:flex!important;overflow:hidden!important}.brand-logo{object-fit:contain!important;background:#ffffff14!important;border-radius:12px!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;max-height:44px!important;padding:4px!important}.brand h1{white-space:nowrap!important;margin:0!important;font-size:24px!important;line-height:1.05!important}.brand p{color:#cbd5e1!important;white-space:nowrap!important;margin:4px 0 0!important;font-size:13px!important}}
