:root{--navy: #163760;--navy-2: #0f2949;--blue: #2f6db2;--orange: #c85b0b;--green: #198754;--yellow: #d49b18;--purple: #7d4ea3;--red: #c93145;--surface: #ffffff;--surface-2: #f6f8fb;--border: #dfe4ea;--text: #202b3c;--muted: #667085;--shadow: 0 14px 34px rgba(15, 41, 73, .09)}*{box-sizing:border-box}body{margin:0;background:var(--surface-2);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}button{font:inherit;cursor:pointer}input,select{font:inherit}.login-page{min-height:100vh;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}.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{min-height:100vh;display:grid;grid-template-columns:272px 1fr}.sidebar{background:linear-gradient(180deg,var(--navy-2),var(--navy));color:#fff;padding:18px 14px;display:flex;flex-direction:column}.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;padding:0 24px 34px}.topbar{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}.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}.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}.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;overflow-x:auto;padding-bottom:4px}.kanban-column{min-width:220px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);padding:12px}.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;gap:10px;margin-top:10px}.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}.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{overflow:auto;padding:0}.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}.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}.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;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{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 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{grid-template-columns:1fr}.report-cover-meta{grid-template-columns:repeat(2,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,.report-cover-form,.report-cover-meta{grid-template-columns:1fr}.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}.table-panel{overflow:visible}.table-panel table{min-width:0;font-size:10px}.table-panel th,.table-panel td{padding:7px}}
