:root{
  --bg:#f6f7f9;--surface:#fff;--surface-2:#f9fafb;--text:#17191c;--muted:#737982;--line:#e7e9ed;
  --primary:#2f6fec;--primary-2:#eaf1ff;--danger:#d83b3b;--danger-bg:#fff0f0;--success:#15865c;--success-bg:#eaf8f2;
  --warning:#ad6a00;--warning-bg:#fff7e6;--shadow:0 1px 2px rgba(16,24,40,.04),0 8px 28px rgba(16,24,40,.05);
  --radius:16px;--radius-sm:10px;--sidebar:248px;
}
[data-theme="dark"]{
  --bg:#111315;--surface:#181b1f;--surface-2:#1f2328;--text:#f3f4f6;--muted:#9aa1aa;--line:#2c3138;
  --primary:#6b9cff;--primary-2:#1c2b49;--danger:#ff7070;--danger-bg:#3b2020;--success:#52c99a;--success-bg:#15352a;
  --warning:#efb24e;--warning-bg:#3d3018;--shadow:none;
}
.auth-page{min-height:100vh;background:radial-gradient(circle at 20% 10%,#edf3ff 0,transparent 38%),var(--bg);display:grid;place-items:center;padding:24px}.auth-shell{width:min(460px,100%)}.auth-shell-wide{width:min(760px,100%)}.auth-panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 24px 70px rgba(23,32,51,.1)}.auth-brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:800;margin-bottom:28px}.auth-panel h1{font-size:30px;letter-spacing:-.04em;margin:7px 0 10px}.auth-lead{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 24px}.auth-actions{display:grid;gap:16px;margin-top:22px}.auth-primary,.auth-secondary{width:100%;justify-content:center;min-height:46px}.auth-secondary{border:1px solid var(--line);background:var(--surface)}.auth-security-note{font-size:11px;line-height:1.5;color:var(--muted);text-align:center;margin:0}.auth-separator{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin:25px 0 14px}.auth-separator:before,.auth-separator:after{content:"";height:1px;background:var(--line);flex:1}.auth-help{display:block;text-align:center;margin-top:20px}.invitation-summary{margin:24px 0;display:grid;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.invitation-summary div{display:grid;gap:4px;padding:14px 16px;border-bottom:1px solid var(--line)}.invitation-summary div:last-child{border-bottom:0}.invitation-summary dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:750}.invitation-summary dd{margin:0;font-size:14px;font-weight:650;overflow-wrap:anywhere}.auth-logout{text-align:center;margin-top:22px}.auth-logout button{border:0;background:transparent;cursor:pointer}.auth-panel .notice{margin:16px 0}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0;background:var(--bg)}
a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--surface);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:10px;align-items:center;padding:7px 10px 20px;font-weight:750;letter-spacing:-.03em}.brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--primary),#7f66f4);display:grid;place-items:center;color:white;font-size:18px;box-shadow:var(--shadow)}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:600;letter-spacing:0}.nav{display:flex;flex-direction:column;gap:4px}.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;color:var(--muted);font-weight:560;font-size:14px}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.active{background:var(--primary-2);color:var(--primary);font-weight:700}.nav .icon{width:20px;text-align:center}.sidebar-footer{margin-top:auto;padding:12px 10px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.sidebar-footer .row{display:flex;justify-content:space-between;align-items:center;gap:8px}.main{grid-column:2;min-width:0}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%, transparent);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.topbar-title{font-weight:700;font-size:14px;color:var(--muted)}.top-actions{display:flex;gap:8px;align-items:center}.content{padding:34px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}.page-head h1{margin:0;font-size:28px;letter-spacing:-.04em}.page-head p{margin:7px 0 0;color:var(--muted);font-size:14px;max-width:720px;line-height:1.55}.head-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.btn{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--text);height:38px;padding:0 14px;border-radius:10px;font-weight:650;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn:hover{border-color:#cbd0d7;background:var(--surface-2)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{filter:brightness(.96)}.btn.danger{color:var(--danger);background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 24%,var(--line))}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.icon{width:38px;padding:0}.btn.sm{height:32px;padding:0 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.grid{display:grid;gap:16px}.grid.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card.pad{padding:20px}.kpi{padding:18px}.kpi-label{font-size:12px;color:var(--muted);font-weight:650}.kpi-value{font-size:26px;font-weight:760;letter-spacing:-.04em;margin-top:8px}.kpi-sub{font-size:12px;color:var(--muted);margin-top:6px}.section{margin-top:20px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.section-head h2{font-size:16px;margin:0;letter-spacing:-.02em}.section-head .hint{font-size:12px;color:var(--muted)}.notice{padding:13px 15px;border-radius:12px;border:1px solid var(--line);display:flex;gap:10px;align-items:flex-start;margin-bottom:8px;font-size:13px;line-height:1.45}.notice.error{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 18%,var(--line))}.notice.warning{background:var(--warning-bg);border-color:color-mix(in srgb,var(--warning) 20%,var(--line))}.notice.success{background:var(--success-bg);border-color:color-mix(in srgb,var(--success) 18%,var(--line))}.notice.info{background:var(--primary-2)}.flash-wrap{position:fixed;right:22px;top:78px;z-index:100;display:flex;flex-direction:column;gap:8px;max-width:420px}.flash{box-shadow:var(--shadow)}
.table-card{overflow:hidden}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface)}.tabs{display:flex;gap:4px;background:var(--surface-2);padding:4px;border-radius:10px}.tabs a{font-size:12px;padding:7px 10px;color:var(--muted);border-radius:8px;font-weight:650}.tabs a.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.06)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:920px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;text-align:left;padding:11px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:13px 14px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:color-mix(in srgb,var(--surface-2) 65%,transparent)}.money{font-variant-numeric:tabular-nums;font-weight:650;white-space:nowrap}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.badge.planned{background:var(--primary-2);color:var(--primary);border-color:transparent}.badge.open{background:var(--warning-bg);color:var(--warning);border-color:transparent}.badge.paid{background:var(--success-bg);color:var(--success);border-color:transparent}.badge.danger{background:var(--danger-bg);color:var(--danger);border-color:transparent}.actions{display:flex;justify-content:flex-end;gap:6px}.menu{position:relative}.menu summary{list-style:none}.menu summary::-webkit-details-marker{display:none}.menu[open] .dropdown{display:block}.dropdown{display:none;position:absolute;right:0;top:38px;width:210px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.14);padding:6px;z-index:15}.dropdown button,.dropdown a{width:100%;border:0;background:transparent;padding:9px 10px;border-radius:8px;text-align:left;color:var(--text);font-size:13px;cursor:pointer;display:flex;gap:8px}.dropdown button:hover,.dropdown a:hover{background:var(--surface-2)}.dropdown .danger-link{color:var(--danger)}
.toolbar-actions,.project-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table-search{max-width:260px}.selection-cell{width:44px;text-align:center!important}.table-selection{width:18px!important;height:18px;min-height:0;padding:0;border-radius:5px}.project-card-actions{margin-top:10px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:650;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 11px;font:inherit;font-size:13px;outline:none;min-height:39px}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.switch{display:flex;align-items:center;gap:9px;font-size:13px}.switch input{width:18px;height:18px;min-height:0}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
dialog{border:0;padding:0;background:transparent;width:min(680px,calc(100vw - 24px));color:var(--text)}dialog::backdrop{background:rgba(9,13,20,.45);backdrop-filter:blur(3px)}.modal{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 80px rgba(0,0,0,.25);overflow:hidden}.modal-head{padding:20px 22px 14px;display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-head h3{margin:0;font-size:18px}.modal-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.modal-body{padding:20px 22px}.close-dialog{border:0;background:var(--surface-2);border-radius:9px;width:32px;height:32px;color:var(--muted);cursor:pointer}
.progress{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;border-radius:99px;background:var(--primary)}.split{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.action-list{display:flex;flex-direction:column;gap:8px}.action-row{display:flex;gap:10px;padding:11px 12px;border-radius:12px;background:var(--surface-2);font-size:13px}.action-row strong{display:block;margin-bottom:2px}.mini-chart{display:flex;align-items:end;gap:6px;height:170px;padding-top:15px}.bar-group{flex:1;display:flex;gap:2px;align-items:end;height:100%;position:relative}.bar{width:50%;min-height:2px;border-radius:5px 5px 2px 2px;background:#cbd8f7}.bar.actual{background:var(--primary)}.bar-label{position:absolute;left:50%;transform:translateX(-50%);bottom:-20px;font-size:10px;color:var(--muted)}.chart-wrap{padding-bottom:22px}.empty{padding:42px 24px;text-align:center}.empty .emoji{font-size:34px}.empty h3{margin:9px 0 5px}.empty p{margin:0 auto 18px;max-width:480px;color:var(--muted);font-size:13px;line-height:1.5}.check-row{display:grid;grid-template-columns:1fr auto;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.check-row:last-child{border-bottom:0}.check-ok{color:var(--success);font-weight:700}.check-ko{color:var(--warning);font-weight:700}.risk-row{padding:13px 0;border-bottom:1px solid var(--line)}.risk-row:last-child{border:0}.risk-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%);padding:28px}.login-card h1{margin:14px 0 6px}.login-card p{color:var(--muted);font-size:13px;margin-bottom:22px}
.mobile-menu{display:none}
.login-submit{width:100%;margin-top:16px}
.closure-checks,.closure-form{margin-top:18px}
.activity-filters{display:grid;grid-template-columns:minmax(220px,1fr) 190px auto;gap:14px;align-items:end}.activity-kpis{margin-bottom:0}.activity-panel{padding:0!important;overflow:hidden}.activity-toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;text-align:center;padding:18px 20px;border-bottom:1px solid var(--line)}.activity-toolbar h2{margin:0;font-size:20px}.activity-toolbar p{margin:4px 0 0;color:var(--muted);font-size:12px}.activity-layout{display:grid;grid-template-columns:minmax(500px,1fr) 280px;gap:22px;padding:24px}.activity-calendar{display:grid;grid-template-columns:repeat(7,minmax(58px,1fr));gap:8px}.activity-weekday{text-align:center;color:var(--muted);font-size:11px;font-weight:750;padding:4px}.activity-cell{position:relative;min-width:0}.activity-cell.empty-cell{min-height:74px}.activity-day{width:100%;min-height:74px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transition:.12s}.activity-day:hover{border-color:var(--primary);transform:translateY(-1px)}.activity-day:disabled{cursor:not-allowed;opacity:.75;transform:none}.activity-number{font-size:12px;font-weight:750}.activity-state{font-size:10px;font-weight:750;align-self:center}.activity-cell.non-working .activity-day.state-empty{background:var(--surface-2);color:var(--muted)}.activity-day.state-service{background:var(--primary);border-color:var(--primary);color:#fff}.activity-day.state-service-half{background:linear-gradient(135deg,var(--primary) 50%,var(--surface) 50%);border-color:var(--primary);color:var(--text)}.activity-day.state-service-half .activity-number{color:#fff}.activity-day.state-leave{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}.activity-day.state-leave-half{background:linear-gradient(135deg,var(--warning-bg) 50%,var(--surface) 50%);border-color:var(--warning);color:var(--warning)}.activity-day.state-internal{background:var(--success-bg);border-color:var(--success);color:var(--success)}.activity-day.state-mixed{background:linear-gradient(135deg,var(--primary) 50%,var(--warning-bg) 50%);border-color:var(--primary);color:#fff}.activity-holiday{position:absolute;right:5px;top:5px;font-size:8px;color:var(--danger);font-weight:700;pointer-events:none}.activity-help{background:var(--primary-2);border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line));border-radius:14px;padding:18px;height:max-content}.activity-help h3{margin:0 0 7px;font-size:14px}.activity-help p{margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.5}.activity-legend{display:flex;align-items:center;gap:8px;font-size:12px;margin:10px 0}.legend-dot{width:12px;height:12px;border-radius:4px;background:var(--line)}.legend-dot.service{background:var(--primary)}.legend-dot.leave{background:var(--warning)}.legend-dot.internal{background:var(--success)}.legend-dot.mixed{background:linear-gradient(135deg,var(--primary) 50%,var(--warning) 50%)}.activity-help .btn{margin-top:12px}.activity-summary{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:18px 24px;border-top:1px solid var(--line);background:var(--surface-2)}.activity-summary .progress{margin-top:8px;max-width:520px}.activity-invoice-preview{text-align:right}.activity-invoice-preview span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.activity-invoice-preview strong{font-size:20px}.activity-panel>.form-actions{padding:16px 24px;margin:0}.activity-panel+.notice{margin-top:16px}
.activity-cell.weekend .activity-day.state-empty,.activity-cell.holiday .activity-day.state-empty{background:#e8eaee;color:var(--muted)}
.cra-validation-card .section-head{align-items:flex-start}.cra-validation-layout{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:16px;align-items:end}.cra-validation-dates{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:150px}.cra-separation-note{font-size:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.activity-cell.holiday .activity-day.state-empty{background:repeating-linear-gradient(135deg,#e1e4e9,#e1e4e9 7px,#eceef1 7px,#eceef1 14px);border-color:#c9cdd4}
.activity-cell.holiday .activity-number{color:var(--danger)}
.activity-holiday{left:5px;right:5px;top:auto;bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.holiday-list{display:flex;flex-direction:column;gap:5px;margin-top:16px;padding-top:13px;border-top:1px solid color-mix(in srgb,var(--primary) 18%,var(--line));font-size:11px}.holiday-list strong{margin-bottom:2px}.holiday-list span{color:var(--muted)}
.activity-bulk-actions{display:grid;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--primary) 18%,var(--line))}.activity-bulk-actions .btn{width:100%;margin-top:0}.activity-bulk-actions .hint{min-height:16px;line-height:1.35}
.cockpit-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.cockpit-heading h1{font-size:31px;letter-spacing:-.045em;margin:5px 0 6px}.cockpit-heading p{max-width:700px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}.eyebrow,.section-kicker{display:block;color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.text-link{color:var(--primary);font-size:13px;font-weight:700}.text-link:hover{text-decoration:underline}.cockpit-situation{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(480px,1.4fr);background:var(--surface);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.situation-primary{padding:28px 30px;background:linear-gradient(145deg,#1f5fc7,#2f6fec);color:#fff}.situation-primary .section-kicker{color:#dbe8ff}.situation-primary h2{font-size:15px;margin:8px 0 18px;font-weight:650}.situation-balance{display:block;font-size:39px;letter-spacing:-.05em}.situation-source{display:block;margin-top:6px;color:#dbe8ff;font-size:11px}.situation-available{display:grid;grid-template-columns:1fr auto;gap:3px 16px;margin-top:27px;padding-top:20px;border-top:1px solid rgba(255,255,255,.22);font-size:12px}.situation-available strong{font-size:18px}.situation-available small{grid-column:1/-1;color:#dbe8ff}.situation-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:28px 14px}.situation-metric{display:flex;flex-direction:column;padding:5px 22px;border-right:1px solid var(--line);min-width:0}.situation-metric:last-child{border-right:0}.situation-metric>span{font-size:11px;color:var(--muted);font-weight:700}.situation-metric>strong{font-size:24px;letter-spacing:-.035em;margin:12px 0 5px}.situation-metric>small{color:var(--muted);font-size:10px;line-height:1.4}.situation-metric.actual>strong{color:var(--success)}.situation-metric.expected>strong{color:var(--primary)}.situation-metric details{margin-top:8px;font-size:10px;color:var(--muted)}.situation-metric summary,.trajectory-details>summary{cursor:pointer;font-weight:700;color:var(--primary)}.reserve-breakdown{margin:8px 0 0}.reserve-breakdown div{display:flex;justify-content:space-between;gap:10px}.reserve-breakdown dt,.reserve-breakdown dd{margin:2px 0}
.cockpit-priorities,.cockpit-runbook,.cockpit-trajectory{margin-top:32px}.cockpit-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:13px}.cockpit-section-heading h2{font-size:19px;letter-spacing:-.025em;margin:5px 0 0}.cockpit-section-heading p{margin:5px 0 0;color:var(--muted);font-size:12px}.section-count{font-size:11px;color:var(--muted)}.notification-list{background:var(--surface);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.session-notification{display:grid;grid-template-columns:4px minmax(0,1fr) auto;gap:14px;align-items:start;padding:15px 16px 15px 0;border-bottom:1px solid var(--line)}.session-notification:last-child{border-bottom:0}.notification-marker{width:4px;height:100%;min-height:43px;border-radius:0 3px 3px 0;background:#9aa7bb}.type-warning .notification-marker{background:var(--danger)}.type-attention .notification-marker{background:var(--warning)}.type-recommendation .notification-marker{background:var(--primary)}.notification-copy strong{font-size:13px}.notification-copy p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.notification-copy a{display:inline-block;margin-top:7px;color:var(--primary);font-weight:700;font-size:11px}.notification-dismiss{width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}.notification-dismiss:hover{background:var(--surface-2);color:var(--text)}.compact-empty{margin:0;padding:15px 0;color:var(--muted);font-size:13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.compact-empty a{color:var(--primary);font-weight:700}
.runbook-action-list{background:var(--surface);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.runbook-action{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.runbook-action:last-child{border-bottom:0}.runbook-action-rank{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:800}.priority-critique .runbook-action-rank{background:var(--danger-bg);color:var(--danger)}.priority-haute .runbook-action-rank{background:var(--warning-bg);color:var(--warning)}.runbook-action-meta{display:flex;gap:12px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.runbook-action-copy h3{font-size:14px;margin:4px 0}.runbook-action-copy p{font-size:12px;color:var(--muted);line-height:1.4;margin:0}.runbook-action-controls{display:flex;align-items:center;gap:13px}.runbook-action-controls a,.runbook-action-controls button{border:0;background:transparent;color:var(--primary);font:inherit;font-size:11px;font-weight:700;cursor:pointer;padding:5px}.runbook-action-controls button{color:var(--muted)}
.cockpit-trajectory{padding:26px 28px;background:var(--surface);border-radius:20px;box-shadow:var(--shadow)}.trajectory-heading{align-items:start}.trajectory-filter{display:flex;align-items:end;gap:8px}.trajectory-filter label{display:grid;gap:4px}.trajectory-filter label span{font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase}.trajectory-filter select,.trajectory-filter input{min-height:32px;padding:5px 8px;font-size:11px}.trajectory-filter select{width:82px}.trajectory-filter input{width:145px}.trajectory-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trajectory-summary>div{display:flex;flex-direction:column;padding:0 24px;border-right:1px solid var(--line)}.trajectory-summary>div:first-child{padding-left:0}.trajectory-summary>div:last-child{border:0}.trajectory-summary span{font-size:10px;color:var(--muted);font-weight:700}.trajectory-summary strong{font-size:22px;letter-spacing:-.03em;margin:7px 0 4px}.trajectory-summary small{color:var(--muted);font-size:10px}.negative{color:var(--danger)}.legend-swatch{display:inline-block;width:7px;height:7px;border-radius:2px;margin:0 3px 0 7px}.legend-swatch.actual{background:var(--success)}.legend-swatch.expected{background:#a9c4f7}.trajectory-chart{height:210px;display:flex;align-items:end;gap:11px;padding:28px 6px 24px;margin-top:8px}.trajectory-month{height:100%;flex:1;min-width:12px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.trajectory-month>span{font-size:9px;color:var(--muted)}.trajectory-bar{width:min(26px,70%);min-height:2px;display:flex;flex-direction:column-reverse;justify-content:flex-start;border-radius:5px 5px 2px 2px;overflow:hidden;background:var(--surface-2)}.trajectory-actual{display:block;background:var(--success)}.trajectory-expected{display:block;background:#a9c4f7}.trajectory-details{border-top:1px solid var(--line);padding-top:14px}.trajectory-details>summary{font-size:12px}.trajectory-tables{display:grid;gap:20px;margin-top:16px}.trajectory-footnote{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:18px;color:var(--muted);font-size:10px}.trajectory-footnote strong{color:var(--text)}
.runbook-list{background:var(--surface);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.runbook-task{display:grid;grid-template-columns:4px minmax(260px,1fr) auto;gap:19px;align-items:center;padding:19px 22px 19px 0;border-bottom:1px solid var(--line);scroll-margin-top:82px}.runbook-task:target{background:var(--primary-2)}.runbook-task:last-child{border-bottom:0}.runbook-task-state{height:100%;min-height:58px;border-radius:0 3px 3px 0;background:var(--line)}.runbook-task-state.state-in_progress{background:var(--primary)}.runbook-task-state.state-done{background:var(--success)}.runbook-task-state.state-blocked{background:var(--danger)}.runbook-task-copy h2{font-size:14px;margin:5px 0}.runbook-task-copy p,.runbook-task-copy small{font-size:11px;color:var(--muted);margin:0;line-height:1.4}.runbook-task-form{display:flex;align-items:end;gap:8px}.runbook-task-form label{display:grid;gap:4px}.runbook-task-form label span{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:700}.runbook-task-form input,.runbook-task-form select{width:140px;min-height:32px;padding:5px 8px;font-size:11px}
.exceptional-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px}.exceptional-total{min-height:92px;padding:18px;border-radius:14px;background:linear-gradient(135deg,var(--primary),#499dd5);color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}.exceptional-total span{font-size:12px;font-weight:700}.exceptional-total strong{font-size:15px;align-self:flex-end}.exceptional-selection{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.exceptional-preview{display:flex;flex-direction:column;gap:5px;margin-top:18px;padding:16px;border-radius:12px;background:var(--success-bg);color:var(--success)}.exceptional-preview span,.exceptional-preview small{font-size:11px}.exceptional-preview strong{font-size:22px}.section-head>div>.hint{display:block;margin-top:4px}
@media(max-width:1050px){:root{--sidebar:210px}.grid.kpis{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.content{padding:26px}.topbar{padding:0 26px}.cockpit-situation{grid-template-columns:1fr}.situation-metrics{padding:22px 12px}.runbook-task{grid-template-columns:4px 1fr}.runbook-task-form{grid-column:2}}
@media(max-width:900px){.activity-layout{grid-template-columns:1fr}.activity-help{order:-1}.activity-calendar{grid-template-columns:repeat(7,minmax(48px,1fr))}}
@media(max-width:760px){body{overflow-x:hidden}.app{display:block}.sidebar{transform:translateX(-105%);transition:.2s;width:270px;box-shadow:0 20px 60px rgba(0,0,0,.18)}body.nav-open .sidebar{transform:translateX(0)}.main{display:block}.topbar{height:58px;padding:0 16px}.topbar>.top-actions>.topbar-title,.topbar>.top-actions>a{display:none}.topbar-title{font-size:11px;white-space:nowrap}.content{padding:20px 14px;overflow:hidden}.mobile-menu{display:inline-flex}.page-head{flex-direction:column}.head-actions{width:100%;justify-content:flex-start}.grid.kpis{grid-template-columns:1fr 1fr}.form-grid,.form-grid.three{grid-template-columns:1fr}.kpi-value{font-size:22px}.activity-filters,.cockpit-period-form{grid-template-columns:1fr}.activity-layout{padding:14px;overflow:auto}.activity-calendar{min-width:560px}.activity-summary{grid-template-columns:1fr}.activity-invoice-preview{text-align:left}.activity-panel>.form-actions{flex-direction:column}.activity-panel>.form-actions .btn{width:100%}.exceptional-summary{grid-template-columns:1fr}.exceptional-total strong{align-self:flex-start}.cra-validation-layout{grid-template-columns:1fr}.cra-validation-layout .actions{justify-content:flex-start;flex-wrap:wrap}.cockpit-heading,.cockpit-section-heading{align-items:flex-start;flex-direction:column;gap:8px}.cockpit-situation,.notification-list,.runbook-action-list,.cockpit-trajectory{width:100%;min-width:0}.situation-metrics,.trajectory-summary{grid-template-columns:1fr}.situation-metric,.trajectory-summary>div{padding:15px 8px;border-right:0;border-bottom:1px solid var(--line)}.situation-metric:last-child,.trajectory-summary>div:last-child{border-bottom:0}.runbook-action{grid-template-columns:28px minmax(0,1fr)}.runbook-action-controls{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.cockpit-trajectory{padding:22px 17px}.trajectory-heading{gap:17px}.trajectory-filter{width:100%;flex-wrap:wrap}.trajectory-chart{gap:5px;height:180px}.trajectory-bar{width:70%}.runbook-task-form{flex-wrap:wrap}.runbook-task-form label{flex:1;min-width:120px}.runbook-task-form input,.runbook-task-form select{width:100%}}
@media(max-width:480px){.grid.kpis{grid-template-columns:1fr}.tabs{overflow:auto}.page-head h1{font-size:24px}.auth-page{padding:12px}.auth-panel{padding:25px 20px;border-radius:17px}.auth-panel h1{font-size:25px}}

.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-wide-dialog{width:min(1000px,calc(100vw - 24px))}.field small{color:var(--muted);font-size:11px;line-height:1.35}.invoice-lines-table input,.invoice-lines-table select{min-width:100px}.invoice-lines-table td:first-child input{min-width:280px}.invoice-editor-totals{margin:20px 0 0 auto;width:min(390px,100%);display:grid;gap:9px}.invoice-editor-totals>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}.invoice-editor-totals .grand{font-size:18px;border-bottom:0;color:var(--primary)}.sticky-actions{position:sticky;bottom:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);padding:14px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:5}.emission-panel{display:flex;align-items:center;justify-content:space-between;gap:20px}.emission-panel h2{font-size:16px;margin:0 0 5px}.emission-panel p{margin:0}
.invoice-document-page{background:#eef1f5;color:#172033;padding:28px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.invoice-document-actions{width:min(210mm,100%);margin:0 auto 18px;display:flex;justify-content:flex-end;gap:8px}.invoice-document-warning{width:min(210mm,100%);margin:0 auto 18px;padding:12px 15px;border-radius:10px;background:#fff4d6;border:1px solid #efcb6b;font-size:13px}.invoice-sheet{position:relative;width:min(210mm,100%);min-height:297mm;margin:auto;padding:18mm 17mm 14mm;background:#fff;color:#172033;box-shadow:0 20px 60px rgba(23,32,51,.12);overflow:hidden}.invoice-draft-mark{position:absolute;top:12mm;right:-25mm;transform:rotate(35deg);background:#fff0f0;color:#b42318;border:1px solid #f4b8b4;padding:8px 30mm;font-size:10px;font-weight:800;letter-spacing:.08em}.invoice-brand-row{display:grid;grid-template-columns:1fr 1fr;gap:24mm;min-height:45mm}.invoice-seller,.invoice-client{display:flex;flex-direction:column;gap:4px;font-size:11px;line-height:1.35}.invoice-client{padding:8mm;background:#f6f8fb;border-radius:5mm}.invoice-brand-name{font-size:21px;font-weight:800;color:#2563b9;margin-bottom:3mm}.invoice-overline{display:block;font-size:9px;letter-spacing:.12em;color:#6b7789;font-weight:800;margin-bottom:3mm}.invoice-title-row{display:grid;grid-template-columns:1fr 1.35fr;gap:16mm;align-items:start;margin:14mm 0 10mm}.invoice-title-row h1{font-size:27px;margin:1mm 0;letter-spacing:-.03em}.invoice-meta{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:4mm 8mm}.invoice-meta div{min-width:0}.invoice-meta dt{font-size:9px;color:#6b7789;margin-bottom:1mm}.invoice-meta dd{font-size:11px;font-weight:700;margin:0;overflow-wrap:anywhere}.invoice-lines table{width:100%;border-collapse:collapse}.invoice-lines th{background:#2563b9;color:#fff;padding:3.5mm 3mm;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.invoice-lines th:not(:first-child),.invoice-lines td:not(:first-child){text-align:right}.invoice-lines td{padding:4mm 3mm;border-bottom:1px solid #e5e9ef;font-size:10px}.invoice-lines td small{display:block;color:#6b7789;margin-top:1mm}.invoice-totals-row{display:grid;grid-template-columns:1fr 70mm;gap:15mm;margin-top:8mm}.invoice-vat-detail{font-size:10px}.invoice-vat-detail div{display:flex;flex-direction:column;gap:2mm}.invoice-vat-detail p{margin:0;color:#526072}.invoice-totals{margin:0;display:grid;gap:2mm}.invoice-totals div{display:flex;justify-content:space-between;gap:10mm;font-size:11px}.invoice-totals dt,.invoice-totals dd{margin:0}.invoice-totals dd{font-weight:750}.invoice-totals .total{margin-top:2mm;padding:4mm;background:#2563b9;color:#fff;border-radius:3mm;font-size:15px}.invoice-payment{margin-top:12mm;padding:7mm;background:#f2f6fc;border-radius:4mm}.invoice-payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5mm}.invoice-payment-grid div{display:flex;flex-direction:column;gap:1mm;overflow-wrap:anywhere}.invoice-payment-grid small{color:#6b7789;font-size:9px}.invoice-payment-grid strong{font-size:10px}.invoice-payment>p{font-size:9px;color:#526072;margin:5mm 0 0}.invoice-notes,.invoice-legal{margin-top:7mm;font-size:9px;line-height:1.5;color:#526072}.invoice-notes p,.invoice-legal p{margin:2mm 0}.invoice-footer{position:absolute;left:17mm;right:17mm;bottom:10mm;padding-top:4mm;border-top:1px solid #dce2ea;display:flex;flex-wrap:wrap;gap:2mm 4mm;font-size:8px;color:#667085}.invoice-footer span:not(:last-child)::after{content:" •";margin-left:4mm}
@media(max-width:760px){.cards-3{grid-template-columns:1fr}.invoice-document-page{padding:10px}.invoice-sheet{padding:12mm 8mm}.invoice-brand-row,.invoice-title-row,.invoice-totals-row{grid-template-columns:1fr;gap:8mm}.invoice-payment-grid{grid-template-columns:1fr 1fr}.invoice-footer{position:static;margin-top:12mm}.emission-panel{align-items:flex-start;flex-direction:column}}
@media print{@page{size:A4;margin:0}.invoice-document-page{padding:0;background:#fff}.invoice-document-actions,.invoice-document-warning{display:none!important}.invoice-sheet{width:210mm;min-height:297mm;margin:0;padding:18mm 17mm 14mm;box-shadow:none}.invoice-draft-mark{display:block}}
