@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Roboto:wght@400;500;700&display=swap";:root{color:#f5f5f1;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#070809;font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{letter-spacing:0}button{cursor:pointer}#root{min-height:100vh}:root{--surface-app:#121414;--surface-rail:#191b1b;--surface-panel:#1f2121;--surface-panel-2:#252727;--surface-control:#2b2e2d;--surface-input:#181a1a;--line:#343837;--line-strong:#474c4a;--text:oklch(96% .01 95);--text-soft:#cdd5c4;--text-muted:#8d958d;--accent:#c1ff5e;--accent-muted:#5f7d32;--brand:#d6d0b8;--brand-muted:#6d6958;--success:#c1ff5e;--info:#9fb7b4;--danger:#ff4d4d}.login-screen{min-height:100vh;color:var(--text);background:linear-gradient(#0607071f, #0607071f), var(--login-bg) center / cover no-repeat;place-items:center;padding:28px;font-family:Poppins,Roboto,Segoe UI Variable,Segoe UI,system-ui,sans-serif;display:grid}.login-card{background:#12141440;border:1px solid #c9cdc62e;border-radius:10px;gap:22px;width:min(512px,100vw - 34px);padding:46px 48px 44px;display:grid;box-shadow:0 24px 70px #0000005c}.login-logo{justify-self:center;width:92px;height:auto}.login-card h1{text-align:center;margin:-4px 0 4px;font-size:26px;font-weight:720;line-height:1.2}.login-card label{color:var(--text);gap:9px;font-size:14px;font-weight:650;display:grid}.login-card sup{color:var(--danger)}.login-card input{width:100%;min-height:38px;color:var(--text);font:inherit;background:#ffffff0b;border:1px solid #cbd0c93d;border-radius:8px;outline:0;padding:0 12px}.login-card input:focus{border-color:var(--brand);box-shadow:0 0 0 2px #d6b0302e}.password-field{grid-template-columns:minmax(0,1fr) 46px;display:grid}.password-field input{border-radius:8px 0 0 8px}.password-field button{color:var(--text-soft);cursor:pointer;background:#ffffff17;border:1px solid #cbd0c93d;border-left:0;border-radius:0 8px 8px 0}.login-options{justify-content:space-between;align-items:center;gap:18px;margin-top:-2px;display:flex}.remember-field{color:var(--text);grid-template-columns:none;align-items:center;gap:10px!important;display:inline-flex!important}.remember-field input{accent-color:#d6a72f;width:17px;min-height:17px}.login-options button{color:#d8ad2f;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:720}.login-submit{color:#f9f5e5;min-height:42px;font:inherit;cursor:pointer;background:#d7aa31;border:0;border-radius:8px;font-weight:720}.login-submit:hover{background:#e0b73e}.login-error{color:#ff9a9a;margin:-8px 0 -4px;font-size:13px;line-height:1.45}.app-shell{min-height:100vh;color:var(--text);letter-spacing:0;background:radial-gradient(circle at 72% 10%,#c1ff5e0e,#0000 30%),linear-gradient(135deg,#121414 0%,#171919 52%,#101212 100%);grid-template-columns:274px minmax(0,1fr);font-family:Poppins,Roboto,Segoe UI Variable,Segoe UI,system-ui,sans-serif;font-size:15px;display:grid}.sidebar{background:linear-gradient(180deg, #1c1e1e, var(--surface-rail));border-right:1px solid var(--line);flex-direction:column;gap:24px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--line);align-items:center;gap:14px;min-height:64px;padding:0 10px 18px;display:flex}.brand-mark{place-items:center;width:54px;height:54px;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand strong,.user-pill strong,.project-list strong,.proposal-card strong,.shift-feed strong,.report-card strong{display:block}.brand span,.user-pill small,.system-card small,.project-list span,.proposal-card span,.doc-list small,.shift-feed span,.gantt-row span{color:var(--text-soft);font-size:12.5px}.nav-list{gap:8px;display:grid}.nav-list button{min-height:58px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:16px;padding:0 13px;font-size:15px;font-weight:500;display:flex}.nav-list button svg{box-sizing:border-box;border:1px solid color-mix(in oklch, var(--line) 72%, var(--text-soft));width:39px;height:39px;color:var(--text);background:color-mix(in oklch, var(--surface-panel-2) 82%, var(--surface-control));stroke-width:1.8px;border-radius:50%;padding:9px}.nav-list button.active,.nav-list button:hover{background:color-mix(in srgb, var(--surface-panel-2) 86%, var(--accent));border-color:var(--accent-muted)}.nav-list button.active{font-weight:600}.nav-list button.active svg,.nav-list button:hover svg{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--surface-control) 76%, var(--accent))}.system-card{border:1px solid var(--line-strong);background:var(--surface-panel);border-radius:8px;margin-top:auto;padding:12px}.pulse{background:var(--accent);border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block;box-shadow:0 0 0 5px oklch(84% .19 128/.12)}.workspace{min-width:0}.topbar{z-index:5;background:color-mix(in srgb, var(--surface-rail) 94%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:12px;min-height:72px;padding:0 28px;display:flex;position:sticky;top:0}.icon-button{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--text);background:var(--surface-panel);border-radius:50%;place-items:center;display:grid}.search{border:1px solid var(--line-strong);height:46px;color:var(--text-muted);background:var(--surface-input);border-radius:999px;flex:1;align-items:center;gap:10px;padding:0 16px;display:flex}.search input,.shift-form input,.shift-form select,.shift-form textarea{width:100%;color:var(--text);font:inherit;background:0 0;border:0;outline:0}.user-pill{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;display:flex}.user-pill>span{background:color-mix(in srgb, var(--surface-input) 88%, var(--brand-muted));border-radius:50%;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.user-pill:hover strong{color:var(--accent)}.logout-button{border:1px solid var(--line-strong);min-height:42px;color:var(--text-soft);background:var(--surface-panel);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.logout-button:hover{border-color:color-mix(in srgb, var(--danger) 42%, var(--line));color:var(--text);background:color-mix(in srgb, var(--surface-panel) 88%, var(--danger))}.content-grid{grid-template-columns:minmax(0,1fr);padding:30px;display:grid}.primary-panel{min-width:0}.hero-row{justify-content:space-between;gap:20px;margin-bottom:20px;display:flex}.eyebrow{color:var(--accent);text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{margin-bottom:10px;font-size:44px;font-weight:520;line-height:1.04}h2{margin:0;font-size:16.5px;font-weight:690}.lede,.module-heading p{max-width:760px;color:var(--text-soft);font-size:15.5px;line-height:1.45}.quick-actions{align-items:flex-start;gap:10px;display:flex}.quick-actions button,.shift-form button{border:1px solid var(--line-strong);min-height:44px;color:var(--text);background:var(--surface-control);border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-weight:800;display:inline-flex}.system-message{border:1px solid var(--line-strong);color:var(--text-soft);background:var(--surface-panel);border-radius:8px;margin-bottom:14px;padding:12px 14px}.system-message.danger{border-color:color-mix(in srgb, var(--danger) 50%, var(--line));color:var(--text);background:color-mix(in srgb, var(--surface-panel) 86%, var(--danger))}button:disabled,input:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.kpi,.panel,.project-card-large,.data-table,.report-card,.shift-form{border:1px solid var(--line);background:var(--surface-panel);border-radius:8px}.kpi{border-bottom-width:3px;padding:18px}.kpi span{color:var(--text-soft);font-size:13px}.kpi strong{margin:8px 0;font-size:34px;font-weight:560;display:block}.kpi small{color:var(--accent);align-items:center;gap:5px;display:flex}.kpi.green{border-bottom-color:var(--accent)}.kpi.amber{border-bottom-color:var(--brand)}.kpi.blue{border-bottom-color:var(--info)}.kpi.red{border-bottom-color:var(--danger)}.module-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;display:grid}.panel{min-height:260px;overflow:hidden}.panel header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.panel header span{color:var(--text-soft);font-size:12.5px}.project-list,.proposal-stack,.doc-list,.shift-feed{gap:10px;padding:14px;display:grid}.project-list article,.proposal-card,.doc-list>div,.shift-feed>div{border:1px solid var(--line);background:var(--surface-panel-2);border-radius:8px;padding:14px}.project-list article{grid-template-columns:minmax(0,1fr) 160px;gap:16px;display:grid}.progress b{text-align:right;margin-bottom:8px;display:block}.progress i,.meter-line div,.timeline{background:color-mix(in srgb, var(--surface-input) 78%, var(--brand-muted));border-radius:999px;height:8px;display:block;overflow:hidden}.progress em,.meter-line i,.timeline i{border-radius:inherit;background:linear-gradient(90deg, var(--brand), var(--accent));height:100%;display:block}.proposal-card{justify-content:space-between;gap:12px;display:flex}.proposal-card b{color:var(--brand)}.status,.health{width:max-content;color:var(--surface-input);background:var(--text-soft);border-radius:999px;margin-bottom:8px;padding:4px 8px;font-size:11px;font-weight:900;display:inline-flex}.status.review,.status.submitted,.health.watch{background:var(--brand)}.status.draft{background:var(--info)}.health.good,.status.approved{background:var(--accent)}.health.risk{background:var(--danger)}.shift-feed p,.report-card p,.project-card-large p{color:var(--text-soft);margin:6px 0 0;font-size:13px}.module-heading{margin-bottom:18px}.create-panel{border:1px solid var(--line);background:var(--surface-panel);border-radius:8px;margin-bottom:16px}.create-toggle{width:100%;min-height:48px;color:var(--text);font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 14px;font-weight:900;display:flex}.create-panel.open .create-toggle{border-bottom:1px solid var(--line);border-bottom-right-radius:0;border-bottom-left-radius:0}.create-toggle svg{color:var(--accent)}.create-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid}.create-form label{color:var(--text-soft);font-size:12px;font-weight:800}.create-form input,.create-form select{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--text);background:var(--surface-input);font:inherit;border-radius:14px;margin-top:6px;padding:8px 12px}.date-field{width:100%;margin-top:6px;display:block;position:relative}.date-field.compact{width:154px;margin-top:0}.date-trigger{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--text);background:var(--surface-input);font:inherit;text-align:left;cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.date-trigger:hover,.date-trigger[aria-expanded=true]{border-color:var(--accent);background:color-mix(in srgb, var(--surface-input) 86%, var(--accent))}.date-trigger svg{color:var(--text-muted)}.date-trigger[aria-expanded=true] svg{color:var(--accent)}.date-popover{z-index:30;border:1px solid var(--line-strong);width:286px;color:var(--text);background:color-mix(in srgb, var(--surface-panel) 94%, var(--surface-app));border-radius:14px;gap:9px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 50px #0000006b}.date-field.compact .date-popover{left:50%;transform:translate(-50%)}.date-popover-head,.date-popover-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.date-popover-head strong{font-size:13px;font-weight:650}.date-popover-head button,.date-popover-foot button{border:1px solid var(--line);min-height:30px;color:var(--text-soft);background:var(--surface-control);font:inherit;cursor:pointer;border-radius:999px;padding:0 10px;font-size:11px}.date-popover-head button:hover,.date-popover-foot button:hover{border-color:var(--accent-muted);color:var(--accent)}.date-weekdays,.date-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.date-weekdays span{color:var(--text-muted);text-align:center;font-size:10px;font-weight:700}.date-days button{min-height:34px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;font-size:12px}.date-days button:hover{border-color:var(--accent-muted);background:var(--surface-control)}.date-days button.muted{color:var(--text-muted);opacity:.72}.date-days button.selected{border-color:var(--accent);color:var(--surface-input);background:var(--accent);font-weight:700}.create-form button{border:1px solid var(--accent-muted);min-height:44px;color:var(--text);background:var(--surface-control);border-radius:999px;align-self:end;padding:0 18px;font-weight:900}.project-cards,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.report-stat{border:1px solid var(--line);background:var(--surface-panel);border-radius:8px;padding:15px}.report-stat span,.report-stat small{color:var(--text-soft);font-size:12.5px;font-weight:800;display:block}.report-stat strong{margin:8px 0 4px;font-size:30px;font-weight:560;line-height:1.05;display:block}.report-tabs{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.report-tabs button{border:1px solid var(--line);min-height:42px;color:var(--text-soft);background:var(--surface-panel);font:inherit;cursor:pointer;border-radius:999px;padding:0 16px;font-size:14px;font-weight:720}.report-tabs button.active,.report-tabs button:hover{border-color:var(--accent-muted);color:var(--text);background:var(--surface-control)}.report-section{gap:12px;margin-bottom:16px;display:grid}.report-note{border:1px solid var(--line);border-left-color:var(--accent);color:var(--text-soft);background:var(--surface-rail);border-radius:8px;margin:0;padding:12px 14px;font-size:13px}.report-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.admin-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.admin-layout.lower{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(320px,.82fr)}.admin-panel{border:1px solid var(--line);background:var(--surface-panel);border-radius:8px;overflow:hidden}.admin-panel header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.admin-panel header>button{border:1px solid var(--line-strong);min-height:36px;color:var(--text-soft);background:var(--surface-input);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:12px;font-weight:700}.admin-panel header p{max-width:58ch;color:var(--text-soft);margin:6px 0 0;font-size:13px;line-height:1.45}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.admin-form-grid label{color:var(--text-soft);gap:8px;font-size:12.5px;font-weight:700;display:grid}.admin-form-grid input,.admin-form-grid select{border:1px solid var(--line-strong);min-height:42px;color:var(--text);background:var(--surface-input);font:inherit;border-radius:8px;padding:0 12px}.admin-save{border:1px solid var(--accent-muted);width:calc(100% - 32px);min-height:44px;color:var(--text);background:color-mix(in srgb, var(--surface-control) 82%, var(--accent));font:inherit;cursor:pointer;border-radius:999px;margin:0 16px 16px;font-weight:700}.chip-cloud{flex-wrap:wrap;gap:8px;padding:16px;display:flex}.chip-cloud span{border:1px solid var(--line-strong);color:var(--text-soft);background:var(--surface-input);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:650}.system-panel dl{margin:0;padding:8px 16px 16px;display:grid}.system-panel dl div{border-bottom:1px solid var(--line);grid-template-columns:112px minmax(0,1fr);gap:10px;padding:10px 0;display:grid}.system-panel dt{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:800}.system-panel dd{color:var(--text);margin:0;font-size:13px}.admin-tables{gap:14px;display:grid}.admin-tables h2{margin:18px 0 10px}.edit-panel{border-color:color-mix(in srgb, var(--accent) 38%, var(--line));margin-bottom:4px}.row-actions{flex-wrap:wrap;gap:8px;display:inline-flex}.row-actions button{border:1px solid var(--line-strong);min-height:32px;color:var(--text);background:var(--surface-control);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:12px;font-weight:700}.row-actions button.danger{border-color:color-mix(in srgb, var(--danger) 48%, var(--line));color:var(--danger);background:color-mix(in srgb, var(--surface-input) 82%, var(--danger))}.project-card-large{padding:18px}.project-card-large h3{margin:4px 0}.project-card-large p{align-items:center;gap:6px;display:flex}.meter-line{margin-top:18px}.meter-line span{color:var(--text-soft);margin-bottom:8px;display:block}.data-table{overflow:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:14px}th{color:var(--text-soft);text-transform:uppercase;font-size:12.5px;font-weight:720}td{color:var(--text);font-size:14px}.lifecycle-action{border:1px solid color-mix(in srgb, var(--brand) 54%, var(--line));width:max-content;min-height:32px;color:color-mix(in srgb, var(--brand) 82%, var(--text));background:color-mix(in srgb, var(--surface-panel-2) 90%, var(--brand));font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:12px;font-weight:650}.lifecycle-action.complete{border-color:color-mix(in srgb, var(--accent) 58%, var(--line));color:var(--accent);background:color-mix(in srgb, var(--surface-panel-2) 90%, var(--accent))}.lifecycle-action:hover{color:var(--surface-input);background:var(--brand)}.lifecycle-action.complete:hover{background:var(--accent)}.ops-layout,.cost-grid{grid-template-columns:.9fr 1.1fr;gap:16px;display:grid}.cost-summary-grid{margin-top:2px}.cost-control-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1.05fr) minmax(320px,.9fr);align-items:stretch;gap:14px;display:grid}.cost-control-grid .panel{min-height:300px}.cost-control-grid>.panel:nth-child(3){grid-column:1/-1;min-height:190px}.cost-lower-grid{grid-column:1/-1;grid-template-columns:minmax(340px,.82fr) minmax(0,1.48fr);align-items:stretch;gap:14px;display:grid}.cost-lower-grid .panel{min-height:310px}.cost-signal-grid article,.cost-driver{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-panel-2) 82%, var(--surface-app));border-radius:8px}.cost-driver-list{gap:10px;padding:0 18px 18px;display:grid}.cost-pulse{grid-template-columns:minmax(220px,.85fr) minmax(210px,1fr);align-items:center;gap:14px;padding:0 18px 18px;display:grid}.cost-pulse-chart{min-height:276px;position:relative}.cost-pulse-core{border:1px solid color-mix(in srgb, var(--accent) 38%, var(--line));background:radial-gradient(circle at 50% 34%, color-mix(in srgb, var(--surface-panel-2) 72%, var(--accent)), var(--surface-input) 68%);border-radius:50%;place-items:center;width:126px;height:126px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 28px #c1ff5e1a}.cost-pulse-core span,.cost-pulse-core small,.cost-pulse-readout span,.cost-pulse-readout small{color:var(--text-soft);font-size:11px}.cost-pulse-core strong{color:var(--text);font-size:18px;font-weight:650}.cost-pulse-readout{gap:9px;display:grid}.cost-pulse-readout article{border:1px solid color-mix(in srgb, var(--pulse) 34%, var(--line));background:color-mix(in srgb, var(--surface-panel-2) 90%, var(--pulse));border-radius:8px;gap:4px;padding:11px 12px;display:grid}.cost-pulse-readout strong{color:var(--text);font-size:15px;font-weight:650}.cost-pulse-readout i{background:var(--surface-input);border-radius:999px;height:5px;overflow:hidden}.cost-pulse-readout b{border-radius:inherit;background:var(--pulse);height:100%;display:block}.cost-signature{grid-template-columns:minmax(210px,.45fr) minmax(360px,1fr);gap:12px;padding:0 18px 18px;display:grid}.cost-signature-donut,.cost-signature-trend{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-panel-2) 82%, var(--surface-app));border-radius:8px;min-height:206px;position:relative}.cost-signature-core{background:var(--surface-input);text-align:center;border-radius:50%;place-items:center;width:116px;height:116px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.cost-signature-core span,.cost-signature-core small{color:var(--text-soft);font-size:10px}.cost-signature-core strong{color:var(--text);font-size:15px;font-weight:650}.cost-signature-trend{grid-template-rows:minmax(118px,1fr) auto auto;gap:9px;padding:12px 12px 10px;display:grid}.cost-interval-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.cost-interval-tabs button{border:1px solid var(--line);background:var(--surface-input);min-height:30px;color:var(--text-soft);font:inherit;border-radius:999px;font-size:11px;font-weight:600}.cost-interval-tabs button.active,.cost-interval-tabs button:hover{border-color:var(--accent);background:color-mix(in srgb, var(--surface-panel-2) 72%, var(--accent));color:var(--accent)}.cost-mix-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.cost-mix-legend span{color:var(--text-soft);align-items:center;gap:6px;min-width:0;font-size:11px;display:inline-flex}.cost-mix-legend i{border-radius:50%;flex:0 0 9px;width:9px;height:9px}.cost-pulse-readout.compact{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.cost-pulse-readout.compact article{min-height:76px}.cost-driver{grid-template-columns:minmax(0,1.3fr) minmax(120px,.7fr);gap:8px 12px;padding:12px;display:grid}.cost-driver div{min-width:0}.cost-driver strong,.cost-signal-grid strong{color:var(--text);font-weight:600;display:block}.cost-driver span,.cost-signal-grid span,.cost-signal-grid small{color:var(--text-soft);font-size:12px;display:block}.cost-progress{background:var(--surface-input);border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.cost-progress span{border-radius:inherit;background:var(--accent);height:100%;display:block}.cost-signal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 18px 18px;display:grid}.cost-signal-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.cost-signal-grid article{min-height:92px;padding:14px}.cost-signal-grid.compact article{min-height:118px}.cost-signal-grid article.risk{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));background:color-mix(in srgb, var(--surface-panel-2) 86%, var(--danger))}.cost-register{margin-top:14px}.shift-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.shift-form label{color:var(--text-soft);font-size:12px;font-weight:800}.shift-form input,.shift-form select,.shift-form textarea{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--surface-input);border-radius:14px;min-height:44px;margin-top:6px;padding:8px 12px}.shift-form textarea{resize:vertical;min-height:94px}.shift-form .full,.shift-form button{grid-column:1/-1}.planning-desk{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:start;gap:16px;margin-bottom:16px;display:grid}.planning-calendar,.agenda-panel{border:1px solid var(--line);background:var(--surface-panel);border-radius:8px}.calendar-toolbar,.agenda-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.calendar-toolbar span,.agenda-header span,.agenda-header small{color:var(--text-soft);font-size:12px;font-weight:800;display:block}.calendar-toolbar strong,.agenda-header strong{margin-top:5px;display:block}.calendar-actions{align-items:center;gap:7px;display:flex}.calendar-actions>button{border:1px solid var(--line-strong);min-height:34px;color:var(--text);background:var(--surface-input);font:inherit;cursor:pointer;border-radius:999px;padding:0 11px;font-size:12px}.calendar-actions>button:hover{border-color:var(--accent-muted);color:var(--accent)}.weekday-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:10px 12px 0;display:grid}.weekday-row span{color:var(--text-muted);text-align:center;font-size:10px;font-weight:700}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:8px 12px 12px;display:grid}.month-grid button{border:1px solid var(--line);min-height:42px;color:var(--text);background:var(--surface-panel-2);text-align:center;cursor:pointer;border-radius:10px;padding:6px}.month-grid button.active{border-color:var(--accent);background:color-mix(in srgb, var(--surface-panel-2) 82%, var(--accent))}.month-grid button.muted{color:var(--text-muted);background:var(--surface-input)}.month-grid button span,.month-grid button i{display:block}.month-grid button i{color:var(--accent);margin-top:4px;font-size:8px;font-style:normal;font-weight:700}.agenda-list{gap:9px;padding:14px;display:grid}.agenda-list article,.empty-agenda{border:1px solid var(--line);background:var(--surface-panel-2);border-radius:8px;padding:12px}.agenda-list article.note{border-color:var(--brand-muted);background:color-mix(in srgb, var(--surface-panel-2) 90%, var(--accent))}.agenda-list span{color:var(--text-soft);font-size:12.5px}.agenda-list strong{margin:5px 0;display:block}.agenda-list p,.empty-agenda{color:var(--text-soft);margin:0;font-size:13px}.agenda-form{border-top:1px solid var(--line);grid-template-columns:180px minmax(180px,1fr);gap:10px;padding:14px;display:grid}.calendar-note-form{grid-template-columns:150px minmax(0,1fr);padding-top:12px}.agenda-form label{color:var(--text-soft);font-size:12px;font-weight:800}.agenda-form input,.agenda-form select,.agenda-form textarea{box-sizing:border-box;border:1px solid var(--line-strong);width:100%;min-height:40px;color:var(--text);background:var(--surface-input);font:inherit;border-radius:14px;margin-top:6px;padding:8px 10px}.agenda-form textarea{resize:vertical;min-height:78px}.agenda-form .full,.agenda-form button{grid-column:1/-1}.agenda-form button{border:1px solid var(--accent-muted);min-height:42px;color:var(--text);background:var(--surface-control);border-radius:999px;font-weight:760}.planning-board{grid-template-columns:repeat(4,minmax(210px,1fr));align-items:start;gap:12px;margin:0 0 12px;display:grid}.board-column{min-width:0}.board-column header{justify-content:space-between;align-items:center;margin-bottom:7px;padding:0 4px;display:flex}.board-column header span{color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:800}.board-column header b{border:1px solid var(--line);min-width:22px;min-height:22px;color:var(--accent);background:var(--surface-panel);border-radius:50%;place-items:center;font-size:12px;display:grid}.board-stack{gap:8px;display:grid}.board-card,.empty-column{border:1px solid var(--line);background:var(--surface-panel);border-radius:10px}.board-card{gap:7px;padding:10px;display:grid}.board-card.active{border-color:var(--accent);background:color-mix(in srgb, var(--surface-panel) 86%, var(--accent))}.board-card strong,.board-card span,.board-card small{display:block}.board-card strong{font-size:13px}.board-card span,.board-card small,.board-card p,.empty-column{color:var(--text-soft);font-size:12px}.board-card p,.empty-column{margin:0}.empty-column{min-height:42px;color:var(--text-muted);background:color-mix(in srgb, var(--surface-panel) 76%, var(--surface-app));padding:12px}.board-progress{background:var(--surface-input);border-radius:999px;height:6px;overflow:hidden}.board-progress i{border-radius:inherit;background:var(--accent);height:100%;display:block}.tall{padding:0}.gantt{border:1px solid var(--line);background:var(--surface-panel);border-radius:8px;gap:7px;padding:12px;display:grid}.gantt-row{background:var(--surface-panel-2);border-radius:8px;grid-template-columns:280px minmax(220px,1fr) 54px;align-items:center;gap:12px;padding:8px 10px;display:grid}.gantt-row.selected{border:1px solid color-mix(in srgb, var(--accent) 48%, var(--line));background:color-mix(in srgb, var(--surface-panel-2) 88%, var(--accent-muted))}.timeline{background:color-mix(in srgb, var(--surface-input) 82%, var(--brand-muted));height:14px;position:relative}.timeline i{min-width:36px;position:absolute;top:0}.report-card{padding:16px}.report-card.good{border-color:color-mix(in srgb, var(--accent) 38%, var(--line))}.report-card.watch{border-color:color-mix(in srgb, var(--brand) 42%, var(--line))}.report-card.risk{border-color:color-mix(in srgb, var(--danger) 45%, var(--line))}@media (width<=1180px){.content-grid{grid-template-columns:1fr}.report-summary-grid,.report-grid.compact,.admin-overview,.admin-layout.lower,.cost-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-control-grid>.panel:nth-child(3){grid-column:auto}.cost-lower-grid{grid-template-columns:1fr}.cost-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-signature{grid-template-columns:1fr}.cost-pulse-readout.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-interval-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-desk{grid-template-columns:1fr}.planning-board{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr}}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:12px;position:static}.brand{min-height:48px;padding-bottom:10px}.brand-mark{width:42px;height:42px}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-list button{gap:10px;min-height:44px}.system-card{display:none}.topbar{min-height:58px;padding:0 12px}.content-grid{padding:16px}.kpi-grid,.module-grid,.project-cards,.ops-layout,.cost-grid,.cost-control-grid,.cost-lower-grid,.report-grid,.report-summary-grid,.report-grid.compact,.admin-overview,.admin-layout,.admin-layout.lower,.admin-form-grid,.planning-desk,.planning-board,.agenda-form,.create-form{grid-template-columns:1fr}.hero-row,.quick-actions{flex-direction:column}.cost-signal-grid,.cost-pulse,.cost-pulse-readout.compact,.cost-mix-legend,.cost-interval-tabs,.cost-driver{grid-template-columns:1fr}h1{font-size:30px}}
