:root{--navy: #163760;--navy-2: #0f2949;--blue: #2f6db2;--orange: #c85b0b;--green: #198754;--yellow: #d49b18;--purple: #7d4ea3;--red: #c93145;--physical-blue: #2f6db2;--physical-green: #3f7f58;--physical-orange: #c56b22;--surface: #ffffff;--surface-2: #f6f8fb;--border: #dfe4ea;--text: #202b3c;--muted: #667085;--shadow: 0 14px 34px rgba(15, 41, 73, .09)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--surface-2);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;overflow:hidden}button{font:inherit;cursor:pointer}input,select{font:inherit}.login-page{height:100vh;overflow:auto;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#163760f0,#0f2949e0),radial-gradient(circle at top left,rgba(200,91,11,.25),transparent 34%)}.login-card{width:min(440px,100%);border:1px solid rgba(255,255,255,.2);border-radius:18px;background:#fffffff5;box-shadow:0 28px 70px #0000003d;overflow:hidden}.login-brand{display:flex;gap:12px;align-items:center;padding:18px;background:var(--navy);color:#fff}.login-brand strong,.login-brand span{display:block}.login-brand span{color:#ffffffad;font-size:12px}.login-form{display:grid;gap:14px;padding:22px}.login-form h1{margin:0;font-size:24px;color:var(--navy)}.login-form p{margin:5px 0 0;color:var(--muted)}.login-form label{display:grid;gap:7px;color:var(--text);font-size:13px;font-weight:800}.login-form input{height:43px;border:1px solid var(--border);border-radius:10px;padding:0 12px;outline:none;background:#fff}.login-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f6db21f}.password-input-wrap{display:grid;grid-template-columns:1fr 40px;align-items:center;border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.password-input-wrap input{width:100%;border:0!important;border-radius:0!important;min-width:0}.password-input-wrap button{height:100%;min-height:42px;border:0;border-left:1px solid var(--border);background:var(--surface-2);color:var(--navy);cursor:pointer}.password-input-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px #2f6db21f}.form-error{margin:0;color:var(--red);font-size:13px;font-weight:800}.form-success{margin:0;color:var(--green);font-size:13px;font-weight:800}.login-secondary-action{display:grid;gap:10px;padding:0 22px 18px}.login-secondary-action span{color:var(--muted);font-size:12px;font-weight:700}.login-hint{display:grid;gap:3px;padding:14px 22px 18px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.login-hint strong{color:var(--navy)}.app-shell{height:100vh;min-height:0;display:grid;grid-template-columns:272px 1fr;overflow:hidden}.sidebar{height:100vh;min-height:0;background:linear-gradient(180deg,var(--navy-2),var(--navy));color:#fff;padding:18px 14px;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.brand{display:flex;gap:12px;align-items:center;padding:8px 8px 18px;border-bottom:1px solid rgba(255,255,255,.16)}.brand strong,.brand span{display:block}.brand span{color:#ffffffad;font-size:12px}.brand-logo{width:132px;max-width:46%;height:44px;border-radius:8px;object-fit:contain;object-position:center;background:var(--navy);padding:7px 10px;border:1px solid rgba(255,255,255,.22);box-shadow:0 8px 18px #00000029}.brand-logo.compact{width:98px;height:36px;flex:0 0 auto;padding:6px 8px;background:var(--navy-2);box-shadow:none}.nav{display:grid;gap:6px;margin-top:16px}.nav-item{min-height:42px;border:0;border-radius:10px;display:flex;align-items:center;gap:10px;padding:0 12px;background:transparent;color:#ffffffc7;font-weight:700;text-align:left}.nav-item.active{background:#fff;color:var(--navy);box-shadow:0 8px 18px #00000024}.session-card{margin-top:auto;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:12px;background:#ffffff14}.session-card strong,.session-card span{display:block}.session-card span{margin-top:2px;color:#ffffffad;font-size:12px}.session-card em{display:inline-block;margin-top:8px;border-radius:999px;padding:4px 8px;background:#ffffff1f;color:#ffffffc7;font-size:11px;font-style:normal;font-weight:800}.session-card button{width:100%;margin-top:10px;min-height:35px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:#ffffff14;color:#fff;display:flex;align-items:center;justify-content:center;gap:7px}.workspace{min-width:0;min-height:0;height:100vh;padding:0 24px;display:flex;flex-direction:column;overflow:hidden}.topbar{flex:0 0 auto;min-height:68px;margin:0 -24px;padding:12px 24px;background:#ffffffe6;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;justify-content:space-between;gap:14px;align-items:center;position:sticky;top:0;z-index:40}.topbar h1{margin:0;font-size:18px;color:var(--navy)}.topbar p{margin:2px 0 0;color:var(--muted);font-size:12px}.primary-button{border:1px solid var(--orange);background:var(--orange);color:#fff;border-radius:10px;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.68}.secondary-button{min-height:40px;border:1px solid var(--border);border-radius:10px;padding:10px 14px;background:#fff;color:var(--text);font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px}.compact-button{min-height:34px;padding:7px 10px;font-size:12px}.danger-button{min-height:40px;border:1px solid rgba(201,49,69,.24);border-radius:10px;padding:10px 14px;background:#fdecef;color:var(--red);font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-right:auto}.danger-button:hover{background:#f9dce2}.compact-danger{margin-right:0}.user-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.user-actions .compact-button{white-space:nowrap}.settings-priority-area{display:grid;gap:14px}.users-table-panel{max-height:min(58vh,620px)}.pending-user-row{background:#fff8f2}.user-status-pill{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;white-space:nowrap}.user-status-pill.active{background:#eaf7ef;color:var(--green)}.user-status-pill.pending{background:#fff1e8;color:var(--orange)}.user-delete-summary{display:grid;gap:4px;border:1px solid rgba(201,49,69,.18);border-radius:12px;background:#fff6f7;padding:12px}.user-delete-summary strong{color:var(--navy)}.user-delete-summary span,.user-delete-summary small{color:var(--muted)}.account-security-panel{display:grid;gap:14px}.account-security-panel p{margin:0;color:var(--muted);line-height:1.45}.account-password-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.account-password-form label{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:650}.account-password-form input{min-height:40px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff;color:var(--text);font-size:14px;outline:none}.account-password-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f6db21f}.account-password-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.danger-icon-button{width:34px;height:34px;border:1px solid rgba(201,49,69,.22);border-radius:9px;background:#fdecef;color:var(--red);display:inline-grid;place-items:center;flex:0 0 auto}.danger-icon-button:hover{background:#f9dce2}.read-only-chip{display:inline-flex;align-items:center;gap:7px;min-height:38px;border:1px solid var(--border);border-radius:10px;padding:0 12px;color:var(--muted);background:#fff;font-weight:800;font-size:13px}.content-stack{display:grid;gap:14px;margin-top:24px}.workspace>.content-stack{flex:1 1 auto;min-height:0;margin-top:0;padding:0 0 34px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;isolation:isolate}.workspace>.content-stack>.admin-head:first-child,.workspace>.content-stack>.dashboard-title-row:first-child{position:sticky;top:0;z-index:35;background:var(--surface-2);box-shadow:0 -1px 0 1px var(--surface-2),0 12px 20px #0f294914}.workspace>.content-stack>.admin-head:first-child{margin-top:24px;margin-bottom:0}.workspace>.content-stack>.dashboard-title-row:first-child{margin-top:24px;padding:10px 0 12px;border-bottom:1px solid rgba(223,228,234,.85)}.workspace>.content-stack>.admin-head:first-child:before,.workspace>.content-stack>.dashboard-title-row:first-child:before{content:"";position:absolute;inset:-26px -2px auto;height:26px;background:var(--surface-2);pointer-events:none}.hero-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:16px}.highlight{grid-column:span 2}.panel small{color:var(--muted);font-weight:800}.panel h2{margin:8px 0;color:var(--navy)}.panel p,.panel span{color:var(--muted)}.metric strong{display:block;color:var(--navy);font-size:32px;margin:8px 0 4px}.metric span{font-size:12px}.compact-metrics .metric strong{font-size:24px}.executive-dashboard{gap:16px}.dashboard-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.dashboard-title-row h2{margin:0;color:var(--navy);font-size:22px}.dashboard-title-row p{margin:4px 0 0;color:var(--muted);font-size:13px}.executive-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.executive-kpi{position:relative;overflow:hidden;min-height:108px;border:1px solid var(--border);border-top:4px solid var(--blue);border-radius:12px;background:#fff;box-shadow:var(--shadow);padding:14px}.executive-kpi:after{content:"";position:absolute;top:-20px;right:-18px;width:58px;height:58px;border-radius:50%;background:#1637600f}.executive-kpi.orange{border-top-color:var(--orange)}.executive-kpi.red{border-top-color:var(--red)}.executive-kpi.green{border-top-color:var(--green)}.executive-kpi small,.executive-kpi strong,.executive-kpi span{display:block}.executive-kpi small{color:var(--blue);font-size:11px;font-weight:900}.executive-kpi strong{margin-top:10px;color:var(--navy);font-size:24px;line-height:1}.executive-kpi span{margin-top:7px;color:var(--muted);font-size:11px}.dashboard-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:14px}.dashboard-grid.lower,.dashboard-grid.matrix-section{grid-template-columns:2fr 1fr}.dashboard-card{min-height:230px}.dashboard-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-card-head h3{margin:0;color:var(--navy);font-size:15px}.dashboard-card-head span{color:var(--muted);font-size:11px}.status-donut-layout{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center;min-height:170px}.status-donut{width:142px;height:142px;border-radius:50%;display:grid;place-items:center}.status-donut>div{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:inset 0 0 0 1px var(--border)}.status-donut strong,.status-donut span{display:block;text-align:center}.status-donut strong{color:var(--navy);font-size:24px;line-height:1}.status-donut span{color:var(--muted);font-size:10px}.status-legend{display:grid;gap:10px}.status-legend div{display:grid;grid-template-columns:10px minmax(0,1fr) 28px;gap:8px;align-items:center}.status-dot{width:10px;height:10px;border-radius:3px}.status-legend em{color:var(--text);font-size:12px;font-style:normal}.status-legend strong{color:var(--navy);font-size:12px;text-align:right}.rank-bars{display:grid;gap:13px;margin-top:18px}.rank-bars>div{display:grid;grid-template-columns:130px 1fr 26px;gap:10px;align-items:center}.rank-bars span{overflow:hidden;color:var(--text);font-size:11px;white-space:nowrap;text-overflow:ellipsis}.rank-bars div div{height:8px;overflow:hidden;border-radius:999px;background:#eef2f6}.rank-bars em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4e73b8,var(--navy))}.rank-bars strong{color:var(--navy);font-size:12px;text-align:right}.trend-card{min-height:280px}.trend-chart{width:100%;height:190px;margin-top:18px}.trend-chart line{stroke:#dbe3ec;stroke-width:1}.trend-chart polyline{fill:none;stroke-width:4;vector-effect:non-scaling-stroke}.trend-detected{stroke:#4e73b8}.trend-resolved{stroke:#4d8b62}.trend-legend{display:flex;justify-content:center;gap:20px;color:var(--muted);font-size:11px;font-weight:800}.alert-list{display:grid;gap:10px;max-height:225px;overflow:auto;margin-top:14px}.alert-list article{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--surface-2)}.alert-list i{width:7px;height:7px;border-radius:50%;margin-top:5px}.alert-list i.red{background:var(--red)}.alert-list i.orange{background:var(--yellow)}.alert-list strong,.alert-list span{display:block}.alert-list strong{color:var(--navy);font-size:12px}.alert-list span,.alert-list small{color:var(--muted);font-size:11px}.heatmap-card{overflow:auto}.heatmap-shell{overflow-x:auto;margin-top:18px}.heatmap-table{width:100%;min-width:820px;border-collapse:separate;border-spacing:6px}.heatmap-table th{color:var(--blue);font-size:11px;font-weight:900}.heatmap-table thead th{position:sticky;top:0;z-index:1;padding:0 6px 4px;background:#fff;text-align:center;white-space:nowrap}.heatmap-table thead th:first-child,.heatmap-table tbody th{position:sticky;left:0;z-index:2;background:#fff;text-align:left}.heatmap-table tbody th{max-width:150px;overflow:hidden;padding-right:8px;text-overflow:ellipsis;white-space:nowrap}.heatmap-table td{min-width:78px;padding:0}.heat-cell{min-height:34px;border:1px solid var(--border);border-radius:8px;background:#f3f6fa;color:var(--navy);display:grid;place-items:center;font-size:12px;font-weight:900}.heat-cell.active{border-color:#16376021;background:rgba(47,109,178,var(--heat-alpha));box-shadow:inset 0 0 0 1px #ffffff6b}.heat-total{min-height:34px;border-radius:8px;background:#eef2f6;color:var(--navy);display:grid;place-items:center;font-size:12px}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:10px;color:var(--muted);font-size:11px;font-weight:800}.heatmap-legend i{width:28px;height:9px;border-radius:999px;background:#2f6db22e}.heatmap-legend i.mid{background:#2f6db273}.heatmap-legend i.high{background:#2f6db2c7}.permissions-card{min-height:auto}.grid-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.section-title{display:flex;align-items:center;gap:9px;color:var(--navy)}.section-title h3{margin:0;font-size:16px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.permission{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface-2)}.permission span{display:inline-block;margin-bottom:6px;font-size:11px;font-weight:900}.permission strong{display:block;font-size:13px}.permission.enabled span{color:var(--green)}.permission.disabled{opacity:.68}.permission.disabled span{color:var(--red)}.clean-list{margin:14px 0 0;padding-left:18px;color:var(--muted)}.clean-list li+li{margin-top:8px}.mini-record-list{display:grid;gap:10px;margin-top:14px}.mini-record-list article{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface-2)}.mini-record-list strong,.mini-record-list span{display:block}.mini-record-list strong{color:var(--navy);font-size:13px}.mini-record-list span{margin-top:4px;color:var(--muted);font-size:12px}.kanban-board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;min-height:0;max-height:calc(100vh - 210px);overflow:auto;padding-bottom:4px;scrollbar-gutter:stable}.kanban-column{min-width:220px;min-height:0;max-height:100%;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);padding:12px;display:grid;grid-template-rows:auto minmax(0,1fr)}.kanban-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.kanban-head strong{color:var(--navy);font-size:18px}.kanban-cards{display:grid;align-content:start;gap:10px;margin-top:10px;min-height:0;overflow:auto;padding-right:2px}.kanban-card{width:100%;border:1px solid var(--border);border-radius:12px;padding:11px;background:var(--surface-2);color:var(--text);display:grid;gap:5px;text-align:left}.kanban-card:hover:not(:disabled){border-color:#2f6db259;background:#eef5fd}.kanban-card:disabled{cursor:default;opacity:.78}.kanban-card span{color:var(--blue);font-size:12px;font-weight:900}.kanban-card strong{color:var(--navy);font-size:13px}.kanban-card small,.kanban-card em,.empty-column{color:var(--muted);font-size:11px;font-style:normal}.empty-column{margin:12px 0 0}.value-table table{min-width:980px}.report-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.report-summary div{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface-2)}.report-summary span,.report-summary strong{display:block}.report-summary span{color:var(--muted);font-size:12px}.report-summary strong{margin-top:4px;color:var(--navy)}.report-cover-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.report-cover-form label{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:750}.report-cover-form .span-2{grid-column:1 / -1}.report-cover-form input,.report-cover-form textarea{min-height:38px;border:1px solid var(--border);border-radius:9px;padding:9px 10px;color:var(--text);background:#fff;font-size:13px;outline:none}.report-cover-form textarea{min-height:78px;line-height:1.45;resize:vertical}.report-cover-form input:focus,.report-cover-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f6db21f}.executive-summary-editor{display:grid;gap:14px;border-top:4px solid var(--blue)}.executive-summary-editor label{display:grid;gap:7px;color:#344054;font-size:12px;font-weight:800}.executive-summary-editor textarea{min-height:150px;border:1px solid var(--border);border-radius:12px;padding:13px;background:#fff;color:var(--text);font-size:14px;line-height:1.55;resize:vertical;outline:none}.executive-summary-editor textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f6db21f}.weekly-report-document{display:grid;gap:14px}.report-cover-page{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.report-cover-band{min-height:220px;display:grid;align-content:end;gap:8px;padding:28px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff}.report-cover-band small,.report-cover-band h2,.report-cover-band p{margin:0;color:#fff}.report-cover-band small{width:fit-content;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:5px 10px;font-weight:900}.report-cover-band h2{max-width:780px;font-size:30px;line-height:1.12}.report-cover-band p{color:#ffffffc7;font-size:15px}.report-cover-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border)}.report-cover-meta div{padding:14px;background:#fff}.report-cover-meta span,.report-cover-meta strong{display:block}.report-cover-meta span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.report-cover-meta strong{margin-top:5px;color:var(--navy);font-size:13px}.report-status-note,.report-paragraph{margin:0;color:var(--muted);line-height:1.55}.report-status-note{padding:18px 28px 24px}.report-section{break-inside:avoid}.status-distribution{display:grid;gap:12px;margin-top:14px}.status-distribution>div{display:grid;grid-template-columns:120px 32px 1fr;gap:10px;align-items:center}.status-distribution span{color:var(--text);font-size:12px;font-weight:800}.status-distribution strong{color:var(--navy);text-align:right}.status-distribution div div,.schedule-progress{height:9px;overflow:hidden;border-radius:999px;background:#edf1f6}.status-distribution em,.schedule-progress em{display:block;height:100%;border-radius:inherit;background:var(--blue)}.milestone-list.compact{display:grid;gap:10px;margin-top:14px}.schedule-state{display:grid;gap:12px;margin-top:14px}.schedule-state>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.schedule-state span,.schedule-state small{color:var(--muted);font-size:12px;font-weight:800}.schedule-state strong{color:var(--navy);font-size:30px}.schedule-state p{margin:0;color:var(--text);font-weight:750}.deliverable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0}.deliverable-card{display:grid;gap:14px}.deliverable-card .dashboard-card-head strong{color:var(--navy);font-size:30px}.deliverable-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.deliverable-form .span-2{grid-column:1 / -1}.deliverable-form label,.hh-weeks-grid label{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:800}.deliverable-form input,.rules-table input,.hh-weeks-grid input,.hh-table-panel input,.screen-access-grid input{border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);outline:none}.deliverable-form input,.rules-table input,.hh-weeks-grid input,.hh-table-panel input{min-height:36px;padding:8px 9px;font-size:12px}.deliverable-form input:focus,.rules-table input:focus,.hh-weeks-grid input:focus,.hh-table-panel input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f6db21f}.rules-table{display:grid;gap:8px;border-top:1px solid var(--border);padding-top:12px}.rules-head,.rule-labels{display:flex;align-items:center;justify-content:space-between;gap:10px}.rules-head strong{color:var(--navy)}.rule-row{display:grid;grid-template-columns:minmax(160px,1fr) 82px 92px 36px;gap:8px;align-items:center}.rule-labels{display:grid;grid-template-columns:minmax(160px,1fr) 82px 92px 36px;color:var(--muted);font-size:11px;font-weight:850}.icon-danger{width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid rgba(201,49,69,.2);border-radius:9px;background:#fff5f6;color:var(--danger);cursor:pointer}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card{border:1px solid var(--border);border-top:4px solid var(--blue);border-radius:14px;padding:14px;background:#fff;box-shadow:var(--shadow)}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{color:var(--muted);font-size:12px;font-weight:850}.metric-card strong{margin-top:6px;color:var(--navy);font-size:28px}.metric-card small{margin-top:4px;color:var(--muted);font-size:11px}.hh-weeks-panel{display:grid;gap:12px}.hh-weeks-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px}.hh-table-panel table{min-width:1180px}.hh-table-panel td input{width:100%;min-width:72px}.raci-workbench{--raci-a: #285f48;--raci-r: #2f6db2;--raci-c: #ad6a1d;--raci-i: #667085;--raci-ar: #7c3f98}.metric-card.risk-card{border-top-color:var(--red)}.raci-summary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.raci-role-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}.raci-role-summary div{border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--surface-2)}.raci-role-summary strong,.raci-role-summary small{display:block}.raci-role-summary strong{margin-top:7px;color:var(--navy);font-size:22px}.raci-role-summary small{color:var(--muted);font-size:10px;line-height:1.3}.raci-load-list{display:grid;gap:10px;margin-top:14px}.raci-load-list div{display:grid;grid-template-columns:105px minmax(0,1fr) 34px;gap:10px;align-items:center}.raci-load-list span{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.raci-load-list div div{height:9px;overflow:hidden;border-radius:999px;background:#eef2f6}.raci-load-list em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--navy))}.raci-load-list strong{color:var(--navy);font-size:12px;text-align:right}.raci-toolbar{display:grid;grid-template-columns:180px minmax(220px,1fr) auto;gap:12px;align-items:end}.raci-toolbar label,.raci-person-card label{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:650}.raci-toolbar input,.raci-toolbar select,.raci-person-card input,.raci-add-person input,.raci-table-panel input,.raci-table-panel textarea,.raci-table-panel select{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);font-size:12px;font-weight:400;outline:none}.raci-toolbar input,.raci-toolbar select,.raci-person-card input,.raci-add-person input{min-height:38px;padding:8px 10px}.raci-table-panel input,.raci-table-panel textarea{padding:7px 8px}.raci-table-panel textarea{min-height:42px;resize:vertical}.raci-toolbar input:focus,.raci-toolbar select:focus,.raci-person-card input:focus,.raci-add-person input:focus,.raci-table-panel input:focus,.raci-table-panel textarea:focus,.raci-table-panel select:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f6db21f}.raci-legend{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.raci-badge{display:inline-grid;min-width:30px;height:26px;place-items:center;border-radius:999px;color:#fff;font-size:11px;font-weight:850}.role-a{background:var(--raci-a)}.role-r{background:var(--raci-r)}.role-c{background:var(--raci-c)}.role-i{background:var(--raci-i)}.role-a-r{background:var(--raci-ar)}.raci-table-panel{max-height:calc(100vh - 310px)}.raci-table-panel table{table-layout:fixed;min-width:1680px}.raci-table-panel th{position:sticky;top:0;z-index:2}.raci-table-panel th:nth-child(1),.raci-table-panel td:nth-child(1){width:64px}.raci-table-panel th:nth-child(2),.raci-table-panel td:nth-child(2){width:78px}.raci-table-panel th:nth-child(3),.raci-table-panel td:nth-child(3){width:360px}.raci-table-panel th:nth-child(4),.raci-table-panel td:nth-child(4){width:210px}.raci-table-panel th:last-child,.raci-table-panel td:last-child{width:48px}.raci-cell{text-align:center}.raci-cell select{min-height:34px;padding:6px;text-align:center;font-weight:850}.raci-cell.role-a select,.raci-cell.role-r select,.raci-cell.role-c select,.raci-cell.role-i select,.raci-cell.role-a-r select{border-color:transparent;color:#fff}.raci-cell.role-a select{background:var(--raci-a)}.raci-cell.role-r select{background:var(--raci-r)}.raci-cell.role-c select{background:var(--raci-c)}.raci-cell.role-i select{background:var(--raci-i)}.raci-cell.role-a-r select{background:var(--raci-ar)}.raci-people-panel{display:grid;gap:14px}.raci-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.raci-person-card{display:grid;grid-template-columns:minmax(160px,1fr) 110px minmax(150px,1fr) 36px;gap:8px;align-items:end;border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--surface-2)}.raci-add-person{display:grid;grid-template-columns:minmax(180px,1fr) 130px minmax(160px,1fr) auto;gap:10px;align-items:center;border-top:1px solid var(--border);padding-top:14px}.physical-header-form{display:grid;grid-template-columns:minmax(260px,1fr) 190px;gap:12px}.physical-header-form label,.physical-deliverables-grid div{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:650}.physical-header-form input,.physical-week-table input,.physical-role-table input,.physical-activity-table input,.physical-activity-table textarea,.physical-deliverables-grid input{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);font-size:12px;font-weight:400;outline:none}.physical-header-form input,.physical-week-table input,.physical-role-table input,.physical-deliverables-grid input{min-height:36px;padding:8px 9px}.physical-activity-table textarea{min-height:42px;padding:7px 8px;resize:vertical}.physical-header-form input:focus,.physical-week-table input:focus,.physical-role-table input:focus,.physical-activity-table input:focus,.physical-activity-table textarea:focus,.physical-deliverables-grid input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f6db21f}.service-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.service-kpi-card{display:grid;gap:14px}.service-kpi-card.good{border-top:4px solid var(--green)}.service-kpi-card.watch{border-top:4px solid var(--yellow)}.service-kpi-card.risk{border-top:4px solid var(--red)}.service-kpi-card.neutral{border-top:4px solid var(--muted)}.service-kpi-head{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:12px;align-items:center}.service-kpi-head img{width:62px;height:44px;object-fit:contain;border:1px solid var(--border);border-radius:10px;background:#fff}.service-kpi-head span,.service-kpi-head strong{display:block}.service-kpi-head span{color:var(--muted);font-size:11px;font-weight:900}.service-kpi-head strong{margin-top:3px;color:var(--navy);line-height:1.25}.service-kpi-head em{border-radius:999px;padding:6px 9px;background:#eef3f8;color:var(--navy);font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}.service-kpi-score{display:grid;gap:8px}.service-kpi-score strong{color:var(--navy);font-size:34px;line-height:1}.service-kpi-score div{height:9px;overflow:hidden;border-radius:999px;background:#edf1f6}.service-kpi-score span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--green))}.service-kpi-card p,.service-kpi-card small{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.service-kpi-table input,.service-kpi-table select{width:100%;min-width:86px;border:1px solid var(--border);border-radius:8px;padding:8px;background:#fff;color:var(--text)}.service-kpi-table td:nth-child(3),.service-kpi-table td:nth-child(9){min-width:220px}.service-kpi-table input[type=checkbox]{min-width:0;width:18px;height:18px}.rfi-form-panel{display:grid;gap:16px}.rfi-modal{width:min(980px,calc(100vw - 28px))}.rfi-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rfi-form-grid .span-2{grid-column:span 2}.rfi-form-grid>*{min-width:0}.rfi-form-grid label{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:850}.rfi-form-grid input,.rfi-form-grid select,.rfi-form-grid textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 11px;background:#fff;color:var(--text);font-size:13px;font-weight:500;outline:none}.rfi-form-grid textarea{min-height:92px;resize:vertical}.rfi-form-grid input:focus,.rfi-form-grid select:focus,.rfi-form-grid textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f6db21f}.rfi-form-actions{display:flex;justify-content:flex-end;gap:10px}.rfi-attachment-box{display:grid;gap:10px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;padding:12px}.rfi-attachment-box .attachment-list{max-height:220px;overflow-y:auto}.rfi-attachment-box .attachment-item{grid-template-columns:44px minmax(0,1fr) auto auto}.rfi-attachment-box .attachment-item img,.rfi-attachment-box .attachment-file-icon{width:44px;height:36px}.rfi-table-panel table{min-width:1260px}.rfi-table-panel small,.rfi-main-text{display:block}.rfi-main-text{color:var(--navy);font-weight:850}.rfi-table-panel small{margin-top:4px;max-width:320px;color:var(--muted);line-height:1.35}.rfi-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;white-space:nowrap}.rfi-abierta{background:#fff1f2;color:var(--red)}.rfi-respuesta-parcial{background:#fff7e6;color:#9a6500}.rfi-respondida{background:#eaf7ef;color:var(--green)}.rfi-row-actions{display:flex;gap:8px;align-items:center}.physical-chart-panel{display:grid;gap:12px}.report-physical-chart{grid-column:1 / -1;gap:16px;overflow:hidden}.report-physical-chart .physical-chart{display:block;height:420px;min-height:390px;border:1px solid #dbe3ec;border-radius:14px;background:linear-gradient(180deg,#fffffff2,#f8fafdf2),radial-gradient(circle at 18% 15%,rgba(47,109,178,.12),transparent 28%);padding:8px}.report-physical-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.report-physical-kpis div{min-width:0;border:1px solid #dbe3ec;border-radius:12px;padding:12px 14px;background:#f8fafc}.report-physical-kpis span,.report-physical-kpis strong{display:block}.report-physical-kpis span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.report-physical-kpis strong{margin-top:5px;color:var(--navy);font-size:18px}.report-physical-kpis .negative strong{color:var(--red)}.report-physical-kpis .positive strong{color:var(--green)}.report-physical-svg .progress-grid{stroke:#cfd9e5}.report-physical-svg .weekly-bar{fill:#2f6db247}.report-physical-svg polyline{stroke-width:5.5}.report-kpi-panel{display:grid;gap:16px}.report-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.report-kpi-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #dbe3ec;border-left:4px solid var(--blue);border-radius:12px;padding:10px;background:#f8fafc}.report-kpi-card.good{border-left-color:var(--green)}.report-kpi-card.watch{border-left-color:var(--yellow)}.report-kpi-card.risk{border-left-color:var(--red)}.report-kpi-card.neutral{border-left-color:var(--muted)}.report-kpi-card img{width:44px;height:34px;object-fit:contain;border-radius:8px;background:#fff}.report-kpi-card strong,.report-kpi-card span,.report-kpi-card small{display:block}.report-kpi-card strong{color:var(--navy);font-size:12px}.report-kpi-card span,.report-kpi-card small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3}.report-kpi-card em{color:var(--navy);font-size:18px;font-style:normal;font-weight:900}.saved-physical-chart{margin-top:16px}.physical-chart{width:100%;min-height:330px}.physical-chart .progress-grid{stroke:#dbe3ec;stroke-width:1}.physical-chart .chart-axis{stroke:#667085;stroke-width:1.5}.physical-chart .chart-axis.muted{stroke:#98a2b3}.physical-chart text{fill:var(--muted);font-size:12px;font-weight:700}.physical-chart .axis-title{fill:var(--navy);font-size:12px;font-weight:850}.physical-chart .right-axis,.physical-chart .hh-axis{text-anchor:end}.physical-chart .progress-axis,.physical-chart .hh-axis{fill:#53657d;font-size:11px}.physical-chart .date-label{text-anchor:middle;font-size:10px}.physical-chart .weekly-bar{fill:#2f6db238;stroke:#2f6db261;stroke-width:1}.physical-chart .hh-label{fill:#344054;font-size:10px;text-anchor:middle}.physical-chart polyline{fill:none;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.physical-chart .planned-line{stroke:var(--physical-orange, #c56b22)}.physical-chart .actual-line{stroke:var(--physical-green, #3f7f58)}.planned-dot{fill:#fff;stroke:var(--physical-orange, #c56b22);stroke-width:3}.actual-dot{fill:#fff;stroke:var(--physical-green, #3f7f58);stroke-width:3}.physical-chart .curve-label{font-size:10px;font-weight:850;text-anchor:middle}.physical-chart .planned-label{fill:var(--physical-orange, #c56b22)}.physical-chart .actual-label{fill:var(--physical-green, #3f7f58)}.physical-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:750}.physical-legend span{display:inline-flex;align-items:center;gap:7px}.physical-legend i{width:22px;height:7px;border-radius:999px;background:#2f6db238}.physical-legend i.planned{background:var(--physical-orange)}.physical-legend i.actual{background:var(--physical-green)}.physical-week-table table{min-width:1040px}.physical-role-table table{min-width:1180px}.physical-activity-table table{min-width:980px}.physical-activity-table th:nth-child(2),.physical-activity-table td:nth-child(2){width:620px}.physical-activity-table .activity-level-0 td{background:#f3f7fb;font-weight:850}.physical-activity-table .activity-level-2 textarea{padding-left:18px}.physical-deliverables-panel{display:grid;gap:12px}.physical-deliverables-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.physical-deliverables-grid div{grid-template-columns:70px minmax(0,1fr) 100px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--surface-2)}.physical-deliverables-grid strong{color:var(--navy);font-size:12px;text-align:right}.physical-mini-bars{display:grid;gap:16px;margin-top:12px}.physical-mini-bars div{display:grid;grid-template-columns:minmax(110px,1fr) 54px;gap:8px;align-items:center}.physical-mini-bars span{color:var(--muted);font-size:12px;font-weight:850}.physical-mini-bars strong{color:var(--navy);font-size:13px;text-align:right}.physical-mini-bars em{grid-column:1 / -1;display:block;height:10px;border-radius:999px;background:var(--physical-blue)}.physical-mini-bars em.actual{background:var(--physical-green)}.progress-list article{gap:7px}.progress-list .schedule-progress{width:100%}.progress-list small{color:var(--muted);font-size:11px;font-weight:850}.hh-report-list{margin-top:12px}.screen-access-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:6px;min-width:280px}.screen-access-grid label{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:6px 8px;color:var(--muted);background:var(--surface-2);font-size:11px;font-weight:800}.screen-access-grid label.active{border-color:#2f6db259;color:var(--navy);background:#eef5fd}.benchmarking-workbench{--benchmark-accent: #4b6f44}.benchmark-bars>div{grid-template-columns:minmax(190px,1fr) 34px 1.4fr}.benchmark-form-panel{border-top:4px solid var(--benchmark-accent)}.lesson-modal{width:min(1180px,calc(100vw - 28px));max-height:calc(100vh - 34px);overflow:auto}.benchmark-form{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-top:14px}.benchmark-form label,.benchmark-filters label{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:500;line-height:1.25;min-width:0}.benchmark-form .span-2{grid-column:span 2}.benchmark-form .span-3{grid-column:span 3}.benchmark-form .span-4{grid-column:1 / -1}.benchmark-form input,.benchmark-form select,.benchmark-form textarea,.benchmark-filters select{width:100%;min-width:0;box-sizing:border-box;min-height:38px;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:#fff;color:var(--text);font-size:13px;font-weight:400;outline:none}.benchmark-form textarea{min-height:86px;line-height:1.45;resize:vertical}.benchmark-form input:focus,.benchmark-form select:focus,.benchmark-form textarea:focus,.benchmark-filters select:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f6db21f}.benchmark-form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.benchmark-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.benchmark-table table{table-layout:fixed;min-width:1320px}.benchmark-table td{vertical-align:top;overflow-wrap:anywhere;word-break:normal}.benchmark-table th:nth-child(1),.benchmark-table td:nth-child(1){width:150px}.benchmark-table th:nth-child(2),.benchmark-table td:nth-child(2),.benchmark-table th:nth-child(3),.benchmark-table td:nth-child(3),.benchmark-table th:nth-child(7),.benchmark-table td:nth-child(7){width:130px}.benchmark-table th:nth-child(4),.benchmark-table td:nth-child(4){width:210px}.benchmark-table th:nth-child(5),.benchmark-table td:nth-child(5),.benchmark-table th:nth-child(6),.benchmark-table td:nth-child(6){width:260px}.benchmark-table th:nth-child(8),.benchmark-table td:nth-child(8){width:170px}.history-list{display:grid;gap:10px;margin-top:14px}.history-detail-selector{display:grid;gap:7px;margin-top:14px;color:var(--navy);font-size:12px;font-weight:750}.history-detail-selector select{min-height:42px}.history-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface-2)}.history-list article.active{border-color:#2f6db28c;background:#f4f8fd;box-shadow:inset 4px 0 0 var(--blue)}.history-list strong,.history-list span{display:block}.history-list strong{color:var(--navy);font-size:13px}.history-list span,.history-list small{color:var(--muted);font-size:12px}.report-history-detail{display:grid;gap:18px}.historical-cover{display:grid;gap:10px;border:1px solid var(--border);border-radius:12px;padding:18px;background:linear-gradient(180deg,#f7fafd,#fff)}.historical-cover small{color:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase}.historical-cover h2,.historical-cover p{margin:0}.historical-cover h2{color:var(--navy);font-size:22px}.historical-cover div{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted);font-size:12px}.historical-cover p{color:var(--text);line-height:1.6}.history-detail-summary{margin-top:0}.historical-schedule{margin-bottom:12px}.historical-records{overflow-x:auto}.placeholder{margin-top:24px;max-width:760px}.placeholder h2{margin:8px 0;color:var(--navy)}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-head h2{margin:6px 0;color:var(--navy)}.admin-head p{margin:0;color:var(--muted)}.table-panel{max-height:calc(100vh - 230px);overflow:auto;padding:0;scrollbar-gutter:stable}.table-panel table{width:100%;min-width:760px;border-collapse:collapse}.table-panel th,.table-panel td{padding:14px;border-bottom:1px solid var(--border);text-align:left}.table-panel th{background:var(--surface-2);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:4}.table-panel td strong,.table-panel td span{display:block}.table-panel td span{margin-top:2px;color:var(--muted);font-size:12px}.role-pill{display:inline-flex!important;width:fit-content;border-radius:999px;padding:5px 9px;background:#e9f1fb;color:var(--blue)!important;font-weight:900}.registry-table table{min-width:1480px}.record-id-button{border:0;border-radius:7px;padding:4px 6px;background:#e9f1fb;color:var(--blue);font-weight:800;font-size:12px;white-space:nowrap}.record-id-button:hover:not(:disabled){background:#dceafb;color:var(--navy)}.record-id-button:disabled{cursor:default;opacity:.72}.status-pill,.priority-pill{display:inline-flex!important;width:fit-content;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-size:12px!important;font-weight:900;line-height:1;white-space:nowrap}.status-nuevo{background:#e9f1fb;color:var(--blue)!important}.status-en-espera{background:#fff4df;color:var(--yellow)!important}.status-reciclar{background:#f2eafb;color:var(--purple)!important}.status-aprobado{background:#e8f5ef;color:var(--green)!important}.status-descartado{background:#fdecef;color:var(--red)!important}.priority-pill{background:#fff1e7;color:var(--orange)!important}.temporary-password{display:grid;gap:5px;border-color:#c85b0b47;background:#fff8f2}.temporary-password strong{color:var(--orange)}.temporary-password span{font-family:Consolas,Courier New,monospace;color:var(--text)}.backup-panel{display:grid;gap:14px}.backup-panel p{margin:0;color:var(--muted);line-height:1.45}.backup-actions{display:flex;gap:10px;flex-wrap:wrap}.backup-upload{cursor:pointer}.backup-upload input{display:none}.backup-preview{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(200,91,11,.24);border-radius:14px;padding:14px;background:#fff8f2}.backup-preview strong,.backup-preview span,.backup-preview small{display:block}.backup-preview strong{color:var(--navy)}.backup-preview span{margin-top:4px;color:var(--muted);font-size:12px}.backup-preview small{margin-top:6px;color:var(--orange);font-weight:850}.catalog-settings-panel{display:grid;gap:14px}.catalog-settings-panel>p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:12px}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-card{display:grid;gap:10px;min-width:0;border:1px solid var(--border);border-radius:12px;background:#fff;padding:12px}.catalog-card>div:first-child strong,.catalog-card>div:first-child span{display:block}.catalog-card>div:first-child strong{color:var(--navy);font-size:13px}.catalog-card>div:first-child span{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}.catalog-values{display:grid;gap:7px;max-height:240px;overflow-y:auto;padding-right:2px}.catalog-value-row,.catalog-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.catalog-value-row input,.catalog-add-row input{width:100%;min-width:0;min-height:36px;border:1px solid var(--border);border-radius:9px;padding:0 10px;color:var(--text);font-size:12px;outline:none}.catalog-value-row input:focus,.catalog-add-row input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f6db21a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:18px;background:#0f29496b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.user-modal{width:min(520px,100%);display:grid;gap:13px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 28px 70px #00000038;padding:20px}.record-modal{width:min(1040px,100%);max-height:min(88vh,860px);overflow:auto;display:grid;gap:16px;border:1px solid var(--border);border-radius:16px;background:#fbfcfe;box-shadow:0 26px 64px #0003;padding:18px}.modal-headline h2{margin:4px 0;color:var(--navy);font-size:20px;font-weight:750}.modal-headline p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.record-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border:1px solid var(--border);border-radius:14px;background:#fff;padding:14px}.record-form-grid label{display:grid;gap:6px;min-width:0;color:#344054;font-size:12px;font-weight:650;line-height:1.25}.record-form-grid .span-2{grid-column:span 2}.record-form-grid .span-3{grid-column:span 3}.record-form-grid .span-4{grid-column:1 / -1}.record-form-grid input,.record-form-grid select,.record-form-grid textarea{width:100%;min-width:0;min-height:38px;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:#fff;color:var(--text);font-size:13px;font-weight:400;outline:none}.record-form-grid textarea{min-height:82px;line-height:1.45;resize:vertical}.record-form-grid input:focus,.record-form-grid select:focus,.record-form-grid textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f6db21f}.record-form-grid input[readonly]{background:var(--surface-2);color:var(--muted)}.record-form-grid select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.record-tabs{display:flex;gap:6px;overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:#fff;padding:6px}.record-tab{min-height:34px;border:0;border-radius:9px;padding:0 10px;background:transparent;color:var(--muted);font-size:12px;font-weight:650;white-space:nowrap}.record-tab.active{background:#e9f1fb;color:var(--navy);box-shadow:inset 0 0 0 1px #2f6db229}.checkbox-panel{display:grid;gap:10px;border:1px solid var(--border);border-radius:12px;padding:12px;background:#fbfcfe}.checkbox-panel strong{color:var(--navy);font-size:13px;font-weight:700}.checkbox-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.checkbox-grid label{display:flex;align-items:center;gap:7px;min-height:34px;border:1px solid var(--border);border-radius:9px;padding:7px 9px;background:#fff;font-size:12px;font-weight:550}.checkbox-grid input{width:14px;height:14px}.attachment-panel{display:grid;gap:12px;border:1px solid var(--border);border-radius:14px;padding:12px;background:#fbfcfe}.attachment-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.attachment-head strong,.attachment-head span{display:block}.attachment-head strong{color:var(--navy);font-size:13px;font-weight:750}.attachment-head span,.attachment-empty{margin:4px 0 0;color:var(--muted);font-size:12px}.attachment-upload{min-height:38px;border:1px solid rgba(47,109,178,.2);border-radius:10px;padding:0 12px;background:#e9f1fb;color:var(--blue)!important;display:inline-flex!important;align-items:center;justify-content:center;gap:8px!important;font-weight:800!important;white-space:nowrap;cursor:pointer}.attachment-upload input{display:none}.attachment-list{display:grid;gap:9px}.attachment-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:9px;background:#fff}.attachment-item img,.attachment-file-icon{width:54px;height:42px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2)}.attachment-item img{object-fit:cover}.attachment-file-icon{display:grid;place-items:center;color:var(--blue)}.attachment-item strong,.attachment-item span{display:block}.attachment-item strong{color:var(--navy);font-size:13px;overflow-wrap:anywhere}.attachment-item span{margin-top:3px;color:var(--muted);font-size:11px}.attachment-open{min-height:34px;padding:8px 10px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:12px}.user-modal h2{margin:6px 0;color:var(--navy)}.user-modal p{margin:0;color:var(--muted)}.user-modal label{display:grid;gap:7px;font-size:13px;font-weight:800}.user-modal .inline-check{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--surface-2);color:var(--text);font-weight:650}.user-modal .inline-check input{width:16px;height:16px;min-height:16px;accent-color:var(--blue)}.user-modal input,.user-modal select{min-height:42px;border:1px solid var(--border);border-radius:10px;padding:0 11px;background:#fff;color:var(--text);outline:none}.user-modal input:focus,.user-modal select:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f6db21f}.modal-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.confirm-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:18px;background:#0f294985;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.confirm-dialog{width:min(460px,100%);display:grid;gap:14px;border:1px solid rgba(201,49,69,.2);border-radius:18px;background:#fff;box-shadow:0 28px 70px #0000003d;padding:20px}.confirm-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fdecef;color:var(--red)}.confirm-dialog small{color:var(--red);font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.04em}.confirm-dialog h2{margin:5px 0;color:var(--navy);font-size:20px}.confirm-dialog p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.timeline-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.timeline-shell{overflow:auto}.timeline{min-width:980px;margin-top:16px}.timeline-axis{display:grid;grid-template-columns:repeat(45,minmax(26px,1fr));margin-left:190px;border-bottom:1px solid var(--border)}.timeline-day{min-height:28px;border-left:1px solid var(--border);color:var(--muted);font-size:10px;display:flex;align-items:center;justify-content:center;white-space:nowrap}.timeline-rows{display:grid;gap:9px;margin-top:12px}.timeline-row{display:grid;grid-template-columns:178px 1fr;gap:12px;align-items:center}.timeline-row-label strong,.timeline-row-label small{display:block}.timeline-row-label strong{color:var(--navy)}.timeline-row-label small{margin-top:2px;color:var(--muted);font-size:11px}.timeline-track{position:relative;height:34px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.timeline-bar{position:absolute;inset-block:4px;border-radius:8px;color:#fff;display:flex;align-items:center;justify-content:center;min-width:72px;padding:0 8px;font-size:11px;font-weight:900;white-space:nowrap}.milestone-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.milestone{display:grid;grid-template-columns:58px 1fr;gap:11px;align-items:center;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow);padding:12px}.milestone-date{min-height:46px;border-radius:10px;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900;font-size:12px;text-align:center}.milestone strong,.milestone small{display:block}.milestone small{margin-top:3px;color:var(--muted);font-size:11px}.editable-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 15px 0}.editable-section-head h3{margin:0;color:var(--navy)}.editable-section-head small{color:var(--muted);font-weight:800}.editable-schedule table{min-width:980px}.editable-schedule input{width:100%;min-height:36px;border:1px solid var(--border);border-radius:8px;padding:7px 9px;color:var(--text);background:#fff;outline:none}.editable-schedule input[type=color]{width:54px;padding:3px}.editable-schedule input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f6db21f}.editable-schedule td:last-child{width:92px}@media (max-width: 980px){.app-shell{grid-template-columns:82px 1fr}.brand div:not(.brand-logo),.nav-item span{display:none}.brand-logo.compact{width:48px;height:36px;padding:5px}.hero-grid,.executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-grid.lower,.dashboard-grid.matrix-section{grid-template-columns:1fr}.status-donut-layout{grid-template-columns:160px 1fr}.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two,.catalog-grid,.deliverable-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hh-weeks-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.raci-summary-grid,.raci-people-grid,.physical-deliverables-grid{grid-template-columns:1fr}.service-kpi-grid,.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.raci-toolbar{grid-template-columns:1fr 1fr}.raci-legend{grid-column:1 / -1;justify-content:flex-start}.raci-add-person{grid-template-columns:1fr 1fr}.physical-header-form{grid-template-columns:1fr}.benchmark-form,.rfi-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benchmark-form .span-3,.benchmark-form .span-4{grid-column:1 / -1}.benchmark-filters{grid-template-columns:1fr}.report-cover-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.report-physical-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kanban-board{grid-template-columns:repeat(5,minmax(220px,1fr))}}@media (max-width: 680px){.app-shell{display:block}.sidebar{display:none}.workspace{padding:0 12px 28px}.topbar{margin:0 -12px;padding:12px;align-items:flex-start;flex-direction:column}.hero-grid,.executive-kpis{grid-template-columns:1fr}.dashboard-title-row{align-items:flex-start;flex-direction:column}.status-donut-layout{grid-template-columns:1fr;justify-items:center}.rank-bars>div{grid-template-columns:105px 1fr 24px}.compact-metrics{grid-template-columns:1fr}.highlight{grid-column:auto}.permission-grid{grid-template-columns:1fr}.attachment-head{align-items:stretch;flex-direction:column}.attachment-item{grid-template-columns:48px minmax(0,1fr) auto}.attachment-open{grid-column:2 / -1;width:fit-content}.report-summary{grid-template-columns:1fr}.report-physical-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-physical-chart .physical-chart{height:330px;min-height:330px}.report-physical-svg .date-label,.report-physical-svg .hh-label{font-size:9px}.report-cover-form,.report-cover-meta,.deliverable-form,.metric-grid,.hh-weeks-grid,.raci-toolbar,.raci-add-person,.physical-header-form,.screen-access-grid{grid-template-columns:1fr}.raci-role-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.raci-person-card,.physical-deliverables-grid div,.service-kpi-grid,.report-kpi-grid{grid-template-columns:1fr}.service-kpi-head{grid-template-columns:54px minmax(0,1fr)}.service-kpi-head em{grid-column:1 / -1;width:fit-content}.rule-row,.rule-labels{grid-template-columns:minmax(0,1fr) 70px 78px 34px}.benchmark-form,.rfi-form-grid{grid-template-columns:1fr}.rfi-form-grid .span-2{grid-column:auto}.rfi-form-actions{align-items:stretch;flex-direction:column}.benchmark-form .span-2,.benchmark-form .span-3,.benchmark-form .span-4{grid-column:auto}.benchmark-form-actions{justify-content:stretch}.benchmark-form-actions button{flex:1}.benchmark-bars>div{grid-template-columns:1fr 28px}.benchmark-bars>div div{grid-column:1 / -1}.report-cover-band{min-height:180px;padding:20px}.report-cover-band h2{font-size:24px}.status-distribution>div{grid-template-columns:96px 28px 1fr}.history-list article{align-items:flex-start;flex-direction:column}.admin-head,.backup-actions,.backup-preview{align-items:stretch;flex-direction:column}.account-password-form{grid-template-columns:1fr}.account-password-actions{justify-content:stretch}.account-password-actions button{width:100%}.timeline-actions{justify-content:stretch}.timeline-actions button{flex:1}.record-form-grid{grid-template-columns:1fr}.record-form-grid .span-2,.record-form-grid .span-3,.record-form-grid .span-4{grid-column:auto}.checkbox-grid,.milestone-strip{grid-template-columns:1fr}}@media print{@page{size:A4;margin:14mm}body{background:#fff}.sidebar,.topbar,.report-controls,.report-editor{display:none!important}.app-shell{display:block;min-height:auto}.workspace{padding:0}.content-stack{margin:0}.weekly-report-document{gap:10mm}.panel,.report-cover-page{box-shadow:none;border-color:#cfd6df}.report-cover-page,.report-section{break-inside:avoid}.report-cover-band{min-height:170px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.grid-two{grid-template-columns:1fr 1fr}.report-physical-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-physical-chart .physical-chart{height:112mm;min-height:112mm;padding:4px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.table-panel{overflow:visible}.table-panel table{min-width:0;font-size:10px}.table-panel th,.table-panel td{padding:7px}}
