:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #f5f7fb;--surface: #ffffff;--surface-strong: #eef3ff;--text: #17213d;--muted: #73809b;--line: #dfe5f2;--line-strong: #c5cedf;--blue: #3f6df6;--blue-soft: #eaf0ff;--green: #2eaf7d;--green-soft: #e6f7ef;--amber: #c98a18;--amber-soft: #fff4da;--weekend-soft: #fff6d8;--weekend-overlay: rgba(214, 154, 36, .16);--weekend-line: rgba(183, 130, 36, .32);--red: #d84b57;--red-soft: #ffe9ec;--shadow: 0 18px 48px rgba(33, 47, 83, .1);--radius: 8px}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}button,select{font:inherit}select{border:0;box-shadow:none}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--blue);box-shadow:0 10px 24px #3f6df647}.brand strong,.brand span{display:block}.brand strong{font-size:16px;line-height:1.1}.brand span{margin-top:3px;color:var(--muted);font-size:12px}.sidebar-nav{display:grid;gap:6px}.sidebar-nav button{width:100%;border:0;border-radius:var(--radius);padding:11px 12px;display:flex;align-items:center;gap:10px;color:#6e7890;background:transparent;text-align:left;font-size:14px;font-weight:700}.sidebar-nav button.is-active,.sidebar-nav button:hover{color:var(--blue);background:var(--blue-soft)}.sidebar-footer{margin-top:auto;display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:var(--radius);background:#f7f9fd;color:var(--muted);font-size:12px;line-height:1.45}.main{min-width:0;padding:26px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.topbar p,.panel-heading p,.kpi-card p{margin:0 0 5px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.topbar h1,.panel-heading h2{margin:0;color:var(--text)}.topbar h1{font-size:26px;line-height:1.15}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.button{border:1px solid transparent;border-radius:var(--radius);display:inline-flex;align-items:center;gap:8px;padding:10px 13px;font-size:14px;font-weight:800;min-height:40px}.button:disabled{cursor:progress;opacity:.62;box-shadow:none}.button--primary{color:#fff;background:var(--blue);box-shadow:0 10px 22px #3f6df640}.button--secondary{color:var(--text);background:#fff;border-color:var(--line)}.month-edit-toggle{min-width:156px;justify-content:center}.month-edit-toggle.is-open{color:#1948bb;background:#f2f6ff;border-color:#cbd8ff}.month-edit-toggle.is-locked{color:#145f48;background:#eef8f3;border-color:#b9dfd0}.proposal-panel{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px;background:var(--surface);box-shadow:0 12px 28px #212f530f}.proposal-panel__summary{min-height:84px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.proposal-panel__title{min-width:0;display:flex;align-items:center;gap:12px}.proposal-panel__icon{width:42px;height:42px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft)}.proposal-panel__title p,.proposal-list__heading{margin:0 0 5px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.proposal-panel__title h2{margin:0;font-size:18px;line-height:1.2}.proposal-panel__title span{display:block;margin-top:5px;color:var(--muted);font-size:13px;line-height:1.4}.proposal-panel__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.proposal-score{min-height:38px;border-radius:var(--radius);padding:8px 10px;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:900}.proposal-score--good{color:#166547;background:var(--green-soft)}.proposal-score--warning{color:#8a5b00;background:var(--amber-soft)}.proposal-panel__body{padding:14px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:14px}.proposal-list{border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:#f8fafc}.proposal-list__heading{display:flex;align-items:center;gap:7px}.proposal-change,.proposal-blocker{border:1px solid var(--line);border-radius:6px;margin-top:9px;padding:10px;background:#fff}.proposal-change{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:10px;align-items:center}.proposal-change strong,.proposal-change span,.proposal-blocker strong,.proposal-blocker span{display:block}.proposal-change strong,.proposal-blocker strong{font-size:13px;line-height:1.25}.proposal-change span,.proposal-blocker span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4}.proposal-change em{min-height:32px;display:grid;place-items:center;border-radius:6px;color:var(--blue);background:var(--blue-soft);font-style:normal;font-weight:900}.proposal-blocker{background:var(--amber-soft);border-color:#efd8a3}.proposal-empty{min-height:72px;display:grid;place-items:center;color:var(--muted);font-size:13px;text-align:center}.monthly-plan-page{display:grid;gap:18px}.monthly-month-tabs{border:1px solid var(--line);border-radius:var(--radius);padding:8px;display:grid;grid-template-columns:repeat(12,minmax(78px,1fr));gap:6px;overflow-x:auto;background:var(--surface);box-shadow:0 12px 28px #212f530f}.monthly-month-tab{min-height:48px;border:1px solid var(--line);border-radius:6px;padding:6px 7px;display:grid;align-content:center;gap:1px;color:var(--text);background:#fff;text-align:left}.monthly-month-tab.is-active{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.monthly-month-tab span,.monthly-month-tab small,.monthly-month-tab em{display:block;font-style:normal;line-height:1.05}.monthly-month-tab span{font-size:13px;font-weight:900}.monthly-month-tab small{color:var(--muted);font-size:10px;font-weight:800}.monthly-month-tab em{margin-top:4px;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.monthly-month-tab__state{display:inline-flex!important;align-items:center;gap:4px}.monthly-month-tab__state svg{flex:0 0 auto}.monthly-month-tab--balanced em{color:var(--green)}.monthly-month-tab--under em{color:#8a5b00}.monthly-month-tab--over em{color:var(--red)}.monthly-month-tab--open em{color:var(--blue)}.monthly-month-tab--locked em{color:#145f48}.monthly-plan-grid-only .grid-panel{min-height:calc(100vh - 150px)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi-area{position:relative;margin-bottom:18px}.kpi-card{min-height:132px;border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--surface);display:flex;justify-content:space-between;gap:16px;box-shadow:0 12px 28px #212f530f}button.kpi-card{width:100%;color:inherit;cursor:pointer;text-align:left}button.kpi-card[aria-pressed=true]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue),0 12px 28px #212f531a}.kpi-card strong{display:block;font-size:30px;line-height:1;margin:14px 0 9px}.kpi-card span{color:var(--muted);font-size:13px;line-height:1.35}.coverage-mismatch-list,.pilot-target-kpi-list{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px}.coverage-mismatch-pill,.pilot-target-kpi-pill{min-height:22px;border:1px solid transparent;border-radius:5px;padding:3px 6px;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:900;line-height:1}button.coverage-mismatch-pill{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;cursor:pointer}button.coverage-mismatch-pill:hover,button.coverage-mismatch-pill:focus-visible,button.coverage-mismatch-pill.is-active{border-color:var(--blue);outline:none;box-shadow:0 0 0 1px #2d67f629}.coverage-mismatch-caption{flex:0 0 100%;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase}.coverage-mismatch-pill b,.coverage-mismatch-pill em,.pilot-target-kpi-pill b,.pilot-target-kpi-pill em{font:inherit}.coverage-mismatch-pill em,.pilot-target-kpi-pill em{opacity:.82}.coverage-mismatch-separator{color:var(--muted);font:inherit;opacity:.75}.pilot-target-kpi-separator{font:inherit;width:0}.kpi-card .coverage-mismatch-pill--under,.kpi-card .pilot-target-kpi-pill--under{color:#8a5b00;background:var(--amber-soft)}.kpi-card .coverage-mismatch-pill--over,.kpi-card .pilot-target-kpi-pill--over{color:#a42f3b;background:var(--red-soft)}.kpi-card .coverage-mismatch-pill--balanced,.kpi-card .pilot-target-kpi-pill--balanced{color:#145f48;background:var(--green-soft)}.kpi-card .coverage-mismatch-pill--more,.kpi-card .pilot-target-kpi-pill--more{color:var(--muted);background:#eef2f8}.pilot-target-kpi-pill b{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-card__icon{width:42px;height:42px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center}.kpi-card--blue .kpi-card__icon{color:var(--blue);background:var(--blue-soft)}.kpi-card--green .kpi-card__icon{color:var(--green);background:var(--green-soft)}.kpi-card--amber .kpi-card__icon{color:var(--amber);background:var(--amber-soft)}.kpi-card--red .kpi-card__icon{color:var(--red);background:var(--red-soft)}.year-plan-panel{margin-bottom:18px}.year-plan-panel__heading{min-height:64px}.year-total{display:inline-flex;align-items:center;gap:8px;border-radius:var(--radius);padding:8px 11px;font-size:13px;font-weight:900}.year-total--balanced{color:#166547;background:var(--green-soft)}.year-total--under{color:#8a5b00;background:var(--amber-soft)}.year-total--over{color:#a42f3b;background:var(--red-soft)}.month-tabs{padding:14px;display:grid;grid-template-columns:repeat(12,minmax(118px,1fr));gap:8px;overflow-x:auto}.month-tab-shell{position:relative;min-width:0}.month-tab{position:relative;width:100%;border:1px solid var(--line);border-radius:var(--radius);min-height:92px;padding:10px 34px 10px 10px;background:#fff;text-align:left;display:grid;gap:5px;color:var(--text)}.month-tab--balanced,.month-tab--under,.month-tab--over{border-color:var(--line);background:#fff}.month-tab.is-active{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue),0 10px 24px #3f6df629}.month-tab__label{font-size:15px;font-weight:900}.month-tab__figures{font-size:12px;color:var(--muted);font-weight:800}.month-tab__resync{position:absolute;top:8px;right:8px;z-index:2;width:22px;height:22px;border:1px solid transparent;display:grid;place-items:center;border-radius:999px;cursor:pointer}.month-tab__resync:disabled{cursor:default;opacity:.72}.month-tab__resync--synced{color:var(--green);background:var(--green-soft)}.month-tab__resync--unsynced{color:var(--red);background:var(--red-soft)}.month-tab__resync:hover:not(:disabled),.month-tab__resync:focus-visible{border-color:currentColor}.month-tab__resync.is-syncing svg{animation:month-sync-spin .8s linear infinite}@keyframes month-sync-spin{to{transform:rotate(360deg)}}.month-tab__meta{align-self:end;font-size:12px;font-weight:900;line-height:1.25}.month-tab__meta strong,.month-tab__meta small{display:block}.month-tab__meta small{margin-top:2px;color:inherit;font-size:10px;font-weight:800;opacity:.82}.month-tab--balanced .month-tab__meta{color:#166547}.month-tab--under .month-tab__meta{color:#8a5b00}.month-tab--over .month-tab__meta{color:#a42f3b}.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;min-width:0}.workspace-main{min-width:0}.planning-board{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;min-width:0}.planning-board>*,.lower-panels>*,.workspace>*{min-width:0}.pilot-list-panel{overflow:hidden}.pilot-list{max-height:520px;overflow:auto;padding:10px;display:grid;gap:8px}.pilot-row{min-height:58px;border:1px solid var(--line);border-radius:var(--radius);padding:10px;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:10px;align-items:center;background:#fff;color:inherit;text-align:left}.pilot-row strong,.pilot-row span{display:block}.pilot-row strong{font-size:13px}.pilot-row span{margin-top:3px;color:var(--muted);font-size:11px}.pilot-row__total{border-radius:7px;padding:7px 6px;text-align:center}.pilot-row__total strong{font-size:15px}.pilot-row__total span{font-size:10px}.pilot-row.is-selected{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.pilot-row:focus-visible{outline:3px solid rgba(63,109,246,.24);outline-offset:2px}.pilot-list__empty{min-height:180px;display:grid;align-content:center;gap:6px;padding:16px;color:var(--muted);text-align:center}.pilot-list__empty strong{color:var(--text)}.calendar-preview-panel{margin-bottom:18px;padding:18px;overflow-x:auto}.calendar-preview__topline{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.calendar-preview__title{display:flex;gap:14px;align-items:flex-start}.calendar-preview__icon{width:42px;height:42px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;color:#0b7cff;background:#eaf4ff}.calendar-preview__title p{margin:0 0 5px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.calendar-preview__title h2{margin:0;font-size:24px;line-height:1.1}.calendar-preview__title span{display:block;margin-top:6px;color:#8a909e;font-size:14px;font-weight:700}.calendar-preview__pilot{min-height:42px;display:grid;grid-template-columns:minmax(180px,240px) auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;justify-items:end}.calendar-preview__pilot label,.calendar-preview__pilot span,.calendar-preview__pilot small{display:block}.calendar-preview__pilot span{margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.calendar-preview__pilot select{width:100%;min-height:36px;border-radius:7px;padding:6px 8px;color:var(--text);background:#fff;font-weight:900}.calendar-preview__pilot small{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.calendar-preview__pilot svg{grid-column:2;grid-row:1 / span 2;color:#0b7cff}.calendar-preview__controls{min-width:280px;display:grid;justify-items:end;gap:10px}.calendar-preview__lock-state{min-height:28px;border:1px solid #b9dfd0;border-radius:999px;padding:4px 9px;display:inline-flex;align-items:center;gap:6px;color:#145f48;background:#eef8f3;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.calendar-view-toggle{justify-self:end}.calendar-view-toggle button{min-width:72px}.calendar-preview__lead-summary{min-width:210px;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;color:var(--text);background:#f8fafc}.calendar-preview__lead-summary span,.calendar-preview__lead-summary small{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.calendar-preview__lead-summary strong{grid-row:1 / span 2;grid-column:2;font-size:18px}.calendar-preview__nav{margin:18px 0 14px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px}.calendar-preview__nav strong{min-height:42px;border-radius:999px;display:grid;place-items:center;color:#0b1224;background:#f2f3f6;font-size:15px}.calendar-nav-button{width:44px;height:44px;border:0;border-radius:999px;display:grid;place-items:center;color:#0b7cff;background:#fff}.calendar-nav-button:disabled{color:#c2cada;cursor:not-allowed}.calendar-grid{min-width:680px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--line)}.calendar-weekday,.calendar-day{background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-weekday{min-height:44px;display:grid;place-items:center;color:#8a909e;font-size:15px;font-weight:900}.calendar-day{position:relative;min-height:116px;padding:10px 9px}.calendar-day--empty,.calendar-day--not-loaded{background:#fbfcff}.calendar-day__number{position:relative;z-index:2;color:#0b1224;font-size:20px;line-height:1;font-weight:900}.calendar-status-card{position:absolute;left:0;right:0;z-index:1;border-radius:0;padding:8px;display:flex;align-items:flex-end;justify-content:flex-end;font-size:14px;font-weight:900;line-height:1}.calendar-status-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:none;text-align-last:right}.calendar-status-card--full{top:0;bottom:0}.calendar-status-card--top,.calendar-status-card--bottom{top:0;bottom:0;min-height:0;height:auto}.calendar-status-select.status-code--blank{opacity:0}.calendar-day:hover .calendar-status-select.status-code--blank,.calendar-status-select.status-code--blank:focus{opacity:1}.calendar-grid--lead-view .calendar-day{display:flex;flex-direction:column;gap:8px}.calendar-day--lead-view .calendar-day__number{position:static}.lead-day-card{flex:1;min-height:0;border:1px solid var(--line);border-radius:0;padding:5px;display:grid;align-content:stretch;gap:4px;background:#fff}.lead-day-card--covered{border-color:var(--line-strong);background:#f8fafc}.lead-day-card--missing{align-content:center;border-color:#dbb967;color:#7a4a00;background:#fff4da}.lead-day-card--empty{align-content:center;border-color:#e5eaf3;color:#9aa4b5;background:#f8fafc}.lead-day-pill{min-height:29px;border:1px solid currentColor;border-radius:0;padding:5px 6px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-items:center;font-size:12px;font-weight:900}.lead-day-pill span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-day-empty{display:block;text-align:center;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.grid-panel,.issues-panel,.legend-panel,.debug-panel,.year-plan-panel,.calendar-preview-panel,.pilot-list-panel,.month-placeholder,.db-summary-card,.pilots-db-panel,.rules-panel,.status-catalog-panel,.placeholder-page{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 28px #212f530f}.panel-heading{min-height:70px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:18px}.panel-heading-actions{display:flex;align-items:center;gap:8px}.info-button{min-height:32px;border:1px solid var(--line-strong);border-radius:6px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;color:var(--muted);background:#fff;font-size:12px;font-weight:900}.info-button:hover,.info-button:focus-visible{color:var(--blue);background:var(--blue-soft)}.info-popover-anchor{position:relative}.year-grid-info-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:30;width:min(520px,88vw);border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;box-shadow:0 20px 48px #212f532e;overflow:hidden}.year-grid-info-popover__header{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:#f7f9fd}.year-grid-info-popover__header p{margin:0 0 3px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.year-grid-info-popover__header strong{display:block;font-size:14px}.icon-button--compact{width:28px;min-height:28px;border-radius:6px;color:var(--muted);background:#fff}.icon-button--compact:hover,.icon-button--compact:focus-visible{color:var(--blue);background:var(--blue-soft)}.year-grid-info-list{padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.year-grid-info-list div{min-height:86px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}.year-grid-info-list strong,.year-grid-info-list span{display:block}.year-grid-info-list strong{margin-bottom:5px;font-size:12px}.year-grid-info-list span{color:var(--muted);font-size:11px;line-height:1.35}.grid-panel__source{padding:7px 10px;border-radius:999px;background:#f4f7fc;color:var(--muted);font-size:12px;font-weight:700;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-panel__meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex-wrap:wrap}.grid-panel__calendar-tools{min-width:min(100%,520px);display:flex;align-items:center;justify-content:flex-end;gap:6px}.grid-panel__pilot-select{min-width:156px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;padding:3px 6px;background:#fff}.grid-panel__pilot-select span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.grid-panel__pilot-select select{min-width:0;height:24px;border:0;border-radius:0;color:var(--text);background:transparent;font-size:12px;font-weight:900}.button--compact{min-height:30px;border-radius:6px;padding:0 9px;gap:6px;font-size:12px}.grid-panel__lock-state{min-height:28px;border:1px solid var(--line);border-radius:999px;padding:4px 9px;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.grid-panel__lock-state.is-open{color:#1948bb;background:#f2f6ff;border-color:#cbd8ff}.grid-panel__lock-state.is-locked{color:#145f48;background:#eef8f3;border-color:#b9dfd0}.calendar-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;padding:28px;display:grid;place-items:center;background:#0b122457}.calendar-dialog{width:min(1500px,calc(100vw - 56px));max-height:calc(100vh - 56px);border:1px solid var(--line-strong);border-radius:var(--radius);display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--surface);box-shadow:0 26px 80px #0b12243d;overflow:hidden}.calendar-dialog__header{min-height:62px;padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f8fafc}.calendar-dialog__header p{margin:0 0 3px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.calendar-dialog__header h2{margin:0;font-size:18px}.calendar-dialog .calendar-preview-panel{min-height:0;margin:0;border:0;border-radius:0;box-shadow:none;overflow:auto}.roster-grid-wrap{overflow-x:auto;max-height:none;min-width:0}.roster-grid{border-collapse:separate;border-spacing:0;min-width:100%;width:max-content;font-size:12px}.roster-grid th,.roster-grid td{border-right:1px solid rgba(115,128,155,.2);border-bottom:1px solid rgba(115,128,155,.2);min-width:52px;width:52px;height:34px;text-align:center;background:#fff}.roster-grid th.is-highlighted-day,.roster-grid td.is-highlighted-day{position:relative}.roster-grid th.is-highlighted-day:after,.roster-grid td.is-highlighted-day:after{content:"";position:absolute;top:-1px;right:0;bottom:-1px;left:0;z-index:6;border-left:2px solid var(--blue);border-right:2px solid var(--blue);pointer-events:none}.roster-grid thead tr:first-child th.is-highlighted-day:after{border-top:2px solid var(--blue)}.roster-grid tbody tr:last-child td.is-highlighted-day:after{border-bottom:2px solid var(--blue)}.roster-grid td.roster-status-cell{padding:0;position:relative}.roster-grid thead th{position:sticky;top:0;z-index:3;background:#f7f9fd;color:var(--text)}.roster-grid th span,.roster-grid th small{display:block}.roster-grid th small,.pilot-cell small{color:var(--muted);font-size:10px;margin-top:1px}.roster-grid .sticky-col{position:sticky;left:0;z-index:2;min-width:136px;width:136px;text-align:left;padding:0 10px;background:#fff;box-shadow:1px 0 0 var(--line)}.roster-grid thead .sticky-col{z-index:4;background:#f7f9fd}.demand-row td{padding:0}.demand-cell{font-size:12px}.daily-total-row th,.daily-total-row td{height:28px}.daily-total-row .sticky-col{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.daily-total-cell{padding:0;font-size:11px;font-weight:900}.daily-total-cell strong{display:block;color:var(--text)}.demand-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:100%;min-height:34px;border:0;border-radius:0;color:var(--text);background:transparent;text-align:center;text-align-last:center;font-weight:900;cursor:pointer}.demand-select::-ms-expand,.status-select::-ms-expand,.calendar-status-select::-ms-expand{display:none}.is-balanced{background:var(--green-soft)!important}.is-under{background:var(--red-soft)!important}.is-over{background:var(--amber-soft)!important}.pilot-cell span{display:block;font-size:12px;font-weight:800}.pilot-cell{display:flex;align-items:center;justify-content:space-between;gap:8px}.pilot-cell__identity{position:relative;min-width:0;outline:none;cursor:help}.pilot-cell__identity span,.pilot-cell__identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pilot-cell__identity:focus-visible span{color:var(--blue)}.roster-grid .pilot-cell:hover,.roster-grid .pilot-cell:focus-within{z-index:24}.pilot-rule-tooltip{position:absolute;top:-4px;left:calc(100% + 16px);z-index:40;width:360px;max-height:380px;overflow:auto;border:1px solid var(--line-strong);background:#fff;box-shadow:0 18px 42px #212f532e;color:var(--text);opacity:0;pointer-events:none;transform:translate(-4px);transition:opacity .12s ease,transform .12s ease}.pilot-rule-tooltip:before{content:"";position:absolute;top:15px;left:-7px;width:12px;height:12px;border-left:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:#fff;transform:rotate(45deg)}.pilot-cell__identity:hover .pilot-rule-tooltip,.pilot-cell__identity:focus .pilot-rule-tooltip,.pilot-cell__identity:focus-within .pilot-rule-tooltip{opacity:1;pointer-events:auto;transform:translate(0)}.pilot-rule-tooltip__header{position:relative;z-index:1;padding:12px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:#f7f9fd}.pilot-rule-tooltip__header strong,.pilot-rule-tooltip__header span,.pilot-rule-tooltip__header small{display:block;margin:0}.pilot-rule-tooltip__header strong{font-size:14px}.pilot-rule-tooltip__header span{margin-top:2px;color:var(--muted);font-size:11px;font-weight:900}.pilot-rule-tooltip__state{align-self:start;padding:3px 6px;font-size:10px!important;font-weight:900;text-transform:uppercase}.pilot-rule-tooltip__state--balanced{color:var(--green);background:var(--green-soft)}.pilot-rule-tooltip__state--under{color:var(--amber);background:var(--amber-soft)}.pilot-rule-tooltip__state--over{color:var(--red);background:var(--red-soft)}.pilot-rule-tooltip__state--unknown{color:var(--muted);background:#eef2f8}.pilot-rule-tooltip__target{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line)}.pilot-rule-tooltip__target span,.pilot-rule-tooltip__target strong{min-height:28px;display:grid;place-items:center;border-right:1px solid rgba(115,128,155,.18)}.pilot-rule-tooltip__target span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.pilot-rule-tooltip__target strong{font-size:14px}.pilot-rule-tooltip__target--balanced{background:var(--green-soft)}.pilot-rule-tooltip__target--under{background:var(--amber-soft)}.pilot-rule-tooltip__target--over{background:var(--red-soft)}.pilot-rule-tooltip__section{position:relative;z-index:1;padding:10px 12px 12px;border-bottom:1px solid var(--line)}.pilot-rule-tooltip__section:last-child{border-bottom:0}.pilot-rule-tooltip__section p{margin:0 0 7px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.pilot-rule-tooltip__section ul,.pilot-rule-tooltip__section ol{display:grid;gap:6px;margin:0;padding-left:16px}.pilot-rule-tooltip__section li,.pilot-rule-tooltip__empty{color:#42506a;font-size:11px;font-weight:700;line-height:1.35;white-space:normal}.pilot-rule-tooltip__section li span{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:700;white-space:normal}.pilot-rule-tooltip__empty{display:block}.generation-lock-button{position:relative;z-index:2;display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:4px;color:#6b768b;background:#64748b1a;cursor:pointer}.generation-lock-button:hover,.generation-lock-button:focus-visible{color:var(--blue);background:var(--blue-soft)}.generation-lock-button.is-locked{color:#145f48;background:var(--green-soft)}.generation-lock-button:disabled{cursor:not-allowed;opacity:.45}.generation-lock-button--day{position:absolute;top:3px;right:3px}.generation-lock-button--pilot{flex:0 0 auto}.roster-grid .is-generator-locked{position:relative}.roster-grid .is-generator-locked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(135deg,rgba(71,85,105,.08),rgba(71,85,105,.08) 4px,transparent 4px,transparent 10px)}.roster-grid th.is-generator-locked:after,.roster-grid .daily-total-cell.is-generator-locked:after,.roster-grid .demand-cell.is-generator-locked:after{opacity:.55}.roster-grid td.roster-status-cell.is-generator-locked:after{z-index:1}.roster-grid td.roster-status-cell.is-generator-locked .status-select,.roster-grid td.roster-status-cell.is-generator-locked .suggestion-badge,.roster-grid .demand-cell.is-generator-locked .demand-select{position:relative;z-index:2}.status-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:54px;height:34px;border:0;border-radius:0;text-align:center;text-align-last:center;font-weight:800;color:var(--text);background:#fff}.demand-select:disabled,.status-select:disabled,.calendar-status-select:disabled{cursor:not-allowed;opacity:1}.grid-panel--read-only .roster-grid-wrap{background:#fbfcff}.roster-status-cell .status-select{width:100%;height:100%;min-height:34px;border:0;border-radius:0;background:transparent!important}.status-select--work,.status-chip--work{color:#145f48;background:var(--green-soft)}.status-select--lead,.status-chip--lead{color:#1948bb;background:var(--blue-soft)}.status-select--half,.status-chip--half{color:#8a5b00;background:var(--amber-soft)}.status-select--blocked,.status-chip--blocked{color:#a42f3b;background:var(--red-soft)}.status-select--available,.status-chip--available{color:#536178;background:#eef2f8}.status-select--note,.status-chip--note,.status-select--unknown,.status-chip--unknown{color:#46306f;background:#f0eaff}.status-code--blank{color:#4b5563;background:#fff;border-color:#c7ccd6}.status-code--wish-day{color:#111827;background:#fff;border-color:#222}.status-code--available{color:#35502d;background:#d9ead3;border-color:#a8d29c}.status-code--blocked,.status-code--blocked-warning{color:#1f2937;background:#d9d9d9;border-color:#9ca3af}.status-code--blocked-warning{box-shadow:inset 0 -3px #d84b57}.status-code--half-morning{color:#5f4700;background:linear-gradient(to bottom,#ffd966 0,#ffd966 50%,#fffaf0 50%,#fffaf0);border-color:#d6b656}.status-code--half-afternoon{color:#5f4700;background:linear-gradient(to bottom,#fffaf0 0,#fffaf0 50%,#ffd966 50%,#ffd966);border-color:#d6b656}.status-code--late-start{color:#5f3300;background:#f9cb9c;border-color:#dc9f61}.status-code--single-flights{color:#334155;background:#eee;border-color:#c9c9c9}.status-code--lead-one{color:#00363a;background:#0ff;border-color:#00b4c7}.status-code--lead-two{color:#fff;background:#4a86e8;border-color:#2f63b9}.status-code--unknown{color:#46306f;background:#f0eaff;border-color:#c8b8ef}.roster-grid td.roster-status-cell.status-code--blank{color:#4b5563;background:#fff;border-color:#c7ccd6}.roster-grid td.roster-status-cell.status-code--wish-day{color:#111827;background:#fff;border-color:#222}.roster-grid td.roster-status-cell.status-code--available{color:#35502d;background:#d9ead3;border-color:#a8d29c}.roster-grid td.roster-status-cell.status-code--blocked,.roster-grid td.roster-status-cell.status-code--blocked-warning{color:#1f2937;background:#d9d9d9;border-color:#9ca3af}.roster-grid td.roster-status-cell.status-code--blocked-warning{box-shadow:inset 0 -3px #d84b57}.roster-grid td.roster-status-cell.status-code--half-morning{color:#5f4700;background:linear-gradient(to bottom,#ffd966 0,#ffd966 50%,#fffaf0 50%,#fffaf0);border-color:#d6b656}.roster-grid td.roster-status-cell.status-code--half-afternoon{color:#5f4700;background:linear-gradient(to bottom,#fffaf0 0,#fffaf0 50%,#ffd966 50%,#ffd966);border-color:#d6b656}.roster-grid td.roster-status-cell.status-code--late-start{color:#5f3300;background:#f9cb9c;border-color:#dc9f61}.roster-grid td.roster-status-cell.status-code--single-flights{color:#334155;background:#eee;border-color:#c9c9c9}.roster-grid td.roster-status-cell.status-code--lead-one{color:#00363a;background:#0ff;border-color:#00b4c7}.roster-grid td.roster-status-cell.status-code--lead-two{color:#fff;background:#4a86e8;border-color:#2f63b9}.roster-grid td.roster-status-cell.status-code--unknown{color:#46306f;background:#f0eaff;border-color:#c8b8ef}.roster-grid td.roster-status-cell.is-suggested{outline:0;outline-offset:-2px;box-shadow:inset 0 0 0 9999px #73809b2e}.suggestion-badge{position:absolute;right:4px;bottom:4px;min-width:24px;height:18px;border-radius:4px;display:grid;place-items:center;color:#fff;background:#6f7b91;box-shadow:none;font-size:10px;font-weight:900;pointer-events:none}.pilot-total{font-weight:900}.pilot-total,.pilot-target{transition:background-color .15s ease,color .15s ease}.pilot-total--balanced,.pilot-target--balanced{color:#145f48;background:var(--green-soft)!important}.pilot-total--under,.pilot-target--under{color:#8a5b00;background:var(--amber-soft)!important}.pilot-total--over,.pilot-target--over{color:#a42f3b;background:var(--red-soft)!important}.pilot-total--unknown,.pilot-target--unknown{color:var(--muted);background:#f8fafc!important}.issues-panel{position:sticky;top:18px;max-height:calc(100vh - 52px);overflow:hidden;display:flex;flex-direction:column}.issues-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:20;width:min(440px,100%)}.issues-popover .issues-panel{position:static;max-height:620px}.issues-list{padding:12px;overflow:auto}.issue{display:grid;grid-template-columns:20px 1fr;gap:10px;padding:13px 10px;border-radius:var(--radius);border:1px solid var(--line);margin-bottom:10px}.issue strong,.issue span{display:block}.issue strong{font-size:13px;margin-bottom:4px}.issue span{color:var(--muted);font-size:12px;line-height:1.45}.issue--error{background:var(--red-soft);border-color:#f2c3ca}.issue--warning{background:var(--amber-soft);border-color:#efd8a3}.issue--info{background:var(--blue-soft);border-color:#cfdbff}.empty-state{min-height:180px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--green);text-align:center}.empty-state span{color:var(--muted);font-size:13px}.lower-panels{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:18px}.legend-list{padding:12px;display:grid;gap:8px}.legend-item{display:grid;grid-template-columns:56px 1fr 38px;gap:10px;align-items:center;min-height:36px;color:var(--muted);font-size:13px}.legend-item strong{color:var(--text);text-align:right}.status-chip{display:inline-grid;place-items:center;min-width:46px;min-height:28px;border:1px solid var(--line);border-radius:0;font-weight:900;color:var(--text);background:#fff}.status-chip.status-code--blank,.status-select.status-code--blank{color:#4b5563;background:#fff;border-color:#c7ccd6}.status-chip.status-code--wish-day,.status-select.status-code--wish-day{color:#111827;background:#fff;border-color:#222}.status-chip.status-code--available,.status-select.status-code--available{color:#35502d;background:#d9ead3;border-color:#a8d29c}.status-chip.status-code--blocked,.status-select.status-code--blocked,.status-chip.status-code--blocked-warning,.status-select.status-code--blocked-warning{color:#1f2937;background:#d9d9d9;border-color:#9ca3af}.status-chip.status-code--blocked-warning,.status-select.status-code--blocked-warning{box-shadow:inset 0 -3px #d84b57}.status-chip.status-code--half-morning,.status-select.status-code--half-morning{color:#5f4700;background:linear-gradient(to bottom,#ffd966 0,#ffd966 50%,#fffaf0 50%,#fffaf0);border-color:#d6b656}.status-chip.status-code--half-afternoon,.status-select.status-code--half-afternoon{color:#5f4700;background:linear-gradient(to bottom,#fffaf0 0,#fffaf0 50%,#ffd966 50%,#ffd966);border-color:#d6b656}.status-chip.status-code--late-start,.status-select.status-code--late-start{color:#5f3300;background:#f9cb9c;border-color:#dc9f61}.status-chip.status-code--single-flights,.status-select.status-code--single-flights{color:#334155;background:#eee;border-color:#c9c9c9}.status-chip.status-code--lead-one,.status-select.status-code--lead-one{color:#00363a;background:#0ff;border-color:#00b4c7}.status-chip.status-code--lead-two,.status-select.status-code--lead-two{color:#fff;background:#4a86e8;border-color:#2f63b9}.status-chip.status-code--unknown,.status-select.status-code--unknown{color:#46306f;background:#f0eaff;border-color:#c8b8ef}.roster-grid td.roster-status-cell[class*=status-code--],.roster-grid .status-select[class*=status-code--]{border-color:transparent;box-shadow:none}.roster-grid td.roster-status-cell.is-sync-value-error{position:relative;z-index:1;color:#8f1d2c;background:#fff0f2!important;box-shadow:inset 0 0 0 2px #d84b57}.roster-grid td.roster-status-cell.is-sync-value-error .status-select{color:#8f1d2c;background:#fff0f2!important;box-shadow:inset 0 0 0 2px #d84b57}.roster-grid td.roster-status-cell.is-sync-value-error:before{content:"!";position:absolute;top:2px;right:3px;z-index:3;width:11px;height:11px;border-radius:999px;display:grid;place-items:center;color:#fff;background:#d84b57;font-size:8px;font-weight:900;pointer-events:none}.roster-grid td.roster-status-cell.status-code--blocked-warning,.status-select.status-code--blocked-warning{box-shadow:none}.calendar-weekday.is-weekend,.calendar-day.is-weekend,.roster-grid thead th.is-weekend{background-color:var(--weekend-soft)}.calendar-weekday.is-weekend,.roster-grid thead th.is-weekend small{color:#8a6115}.calendar-day.is-weekend,.roster-grid thead th.is-weekend{border-color:var(--weekend-line)}.demand-cell.is-weekend,.daily-total-cell.is-weekend,.roster-grid td.roster-status-cell.is-weekend,.calendar-status-card.is-weekend,.lead-day-card.is-weekend{box-shadow:inset 0 0 0 9999px var(--weekend-overlay)}.roster-grid td.roster-status-cell.status-code--blocked-warning.is-weekend,.status-select.status-code--blocked-warning.is-weekend,.calendar-status-card.status-code--blocked-warning.is-weekend{box-shadow:inset 0 -3px #d84b57,inset 0 0 0 9999px var(--weekend-overlay)}.month-placeholder{min-height:520px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.month-placeholder p{margin:0 0 5px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.month-placeholder h2{margin:0 0 8px;font-size:22px}.month-placeholder span{display:block;max-width:560px;color:var(--muted);line-height:1.5}.db-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.db-summary-card{min-height:112px;padding:18px;display:grid;gap:8px;align-content:center}.db-summary-card svg{color:var(--blue)}.db-summary-card span{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.db-summary-card strong{font-size:30px;line-height:1}.pilots-db-panel{overflow:hidden}.db-toolbar{min-height:74px;padding:14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.db-search{min-width:260px;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);padding:0 12px;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--muted)}.db-search input,.pilots-db-table input,.pilots-db-table select{border:1px solid var(--line-strong);border-radius:7px;min-height:34px;padding:6px 8px;background:#fff;color:var(--text)}.pilots-db-table select{border:0}.db-search input{width:100%;border:0;outline:0;min-height:38px}.db-search button{border:0;border-radius:6px;width:28px;height:28px;display:grid;place-items:center;color:var(--muted);background:#eef2f8}.db-filter-stack{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.segmented-control{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:#f7f9fd;overflow:auto}.segmented-control button{border:0;border-radius:6px;padding:8px 10px;background:transparent;color:var(--muted);font-size:13px;font-weight:900;white-space:nowrap}.segmented-control--roles{background:#f8fafc}.segment-button--all{--segment-bg: #f1f4f7;--segment-border: #cdd5df;--segment-color: #475569}.segment-button--active{--segment-bg: #e8f5ef;--segment-border: #bddacb;--segment-color: #236149}.segment-button--inactive{--segment-bg: #f1f3f6;--segment-border: #c9d1dc;--segment-color: #6b7280}.segment-button--main{--segment-bg: #edf5ef;--segment-border: #bed4c4;--segment-color: #3f5f49}.segment-button--extended{--segment-bg: #f1f0e8;--segment-border: #d6d0b9;--segment-color: #625a42}.segment-button--new{--segment-bg: #f1eef5;--segment-border: #d4c8de;--segment-color: #63556f}.segment-button--all-role{--segment-bg: #f1f4f7;--segment-border: #cdd5df;--segment-color: #475569}.segment-button--lead-role{--segment-bg: #e9f4f5;--segment-border: #b9d4d7;--segment-color: #3e646a}.segment-button--main-pilot-role{--segment-bg: #edf5ef;--segment-border: #bed4c4;--segment-color: #3f5f49}.segment-button--group2-role{--segment-bg: #f1f0e8;--segment-border: #d6d0b9;--segment-color: #625a42}.segment-button--group3-role{--segment-bg: #f1eef5;--segment-border: #d4c8de;--segment-color: #63556f}.segmented-control button.segment-button{color:var(--segment-color);background:var(--segment-bg);box-shadow:inset 0 0 0 1px var(--segment-border)}.segmented-control button.is-active{color:var(--segment-color);box-shadow:inset 0 0 0 2px var(--segment-border),0 4px 12px #212f530f}.pilots-db-table-wrap{overflow:auto;max-height:calc(100vh - 260px)}.pilots-db-table{border-collapse:separate;border-spacing:0;min-width:780px;width:100%;font-size:12px;line-height:1.15}.pilots-db-table th,.pilots-db-table td{border-right:1px solid #1f2937;border-bottom:1px solid #1f2937;padding:4px 7px;text-align:left}.pilots-db-table thead th{position:sticky;top:0;z-index:2;padding:5px 7px;background:#f7f9fd;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.pilot-db-row{--pilot-row-bg: #ffffff;--pilot-row-border: #dbe2ec;--pilot-row-text: var(--text)}.pilot-db-row--lead{--pilot-row-bg: #e9f4f5;--pilot-row-border: #b9d4d7;--pilot-row-text: #31555a}.pilot-db-row--main-pilot{--pilot-row-bg: #edf5ef;--pilot-row-border: #bed4c4;--pilot-row-text: #2f4938}.pilot-db-row--group2{--pilot-row-bg: #f1f0e8;--pilot-row-border: #d6d0b9;--pilot-row-text: #4f4935}.pilot-db-row--group3{--pilot-row-bg: #f1eef5;--pilot-row-border: #d4c8de;--pilot-row-text: #574a61}.pilot-db-row th,.pilot-db-row td{border-color:var(--pilot-row-border);color:var(--pilot-row-text);background:var(--pilot-row-bg)}.pilot-db-row th span{display:block;font-weight:900}.pilots-db-table .pilot-db-check-cell{width:54px;padding:0;text-align:center}.pilots-db-table .pilot-db-check-cell .check-cell{min-height:28px}.pilots-db-table .pilot-db-check-cell input{width:13px;height:13px;min-height:13px;padding:0}.pilots-db-table .pilot-db-field-cell{padding:0}.pilots-db-table .pilot-db-field-cell select,.pilots-db-table .pilot-db-field-cell input{display:block;width:100%;min-width:0;min-height:28px;border:0;border-radius:0;padding:4px 7px;background:#ffffff9e;box-shadow:inset 0 0 0 1px #5a698238;font-size:12px;font-weight:800}.pilots-db-table .pilot-db-field-cell select{box-shadow:none}.pilots-db-table .pilot-db-field-cell select:focus,.pilots-db-table .pilot-db-field-cell input:focus{outline:2px solid var(--blue);outline-offset:-2px}.pilot-db-field-cell--notes{min-width:220px}.group-pill{display:inline-flex;border-radius:999px;padding:3px 6px;font-size:11px;font-weight:900}.group-pill--main{box-shadow:inset 0 0 0 1px #bed4c4;background:#dfeee4;color:#3f5f49}.group-pill--extended{box-shadow:inset 0 0 0 1px #d6d0b9;background:#e9e5d6;color:#625a42}.group-pill--new{box-shadow:inset 0 0 0 1px #d4c8de;background:#e9e3ef;color:#63556f}.check-cell{display:grid;place-items:center}.check-cell input{width:18px;height:18px;accent-color:var(--blue)}.status-catalog-table .check-cell input,.rules-config-table .check-cell input{width:13px;height:13px;min-height:13px;padding:0}.status-catalog-panel,.rules-panel,.year-plan-grid-panel{overflow:hidden}.status-catalog-table,.rules-table,.year-plan-grid-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.status-catalog-table{font-size:12px;line-height:1.15}.status-catalog-table th,.status-catalog-table td,.rules-table th,.rules-table td,.year-plan-grid-table th,.year-plan-grid-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;text-align:left}.status-catalog-table th,.status-catalog-table td{padding:0}.status-catalog-table thead th,.rules-table thead th,.year-plan-grid-table thead th{background:#f7f9fd;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.status-catalog-table thead th{padding:6px 8px;font-size:10px}.status-active-column{width:52px;text-align:center!important}.status-catalog-table input{width:100%;min-height:29px;border:0;border-radius:0;padding:4px 7px;color:var(--text);background:#ffffffb8;box-shadow:inset 0 0 0 1px #5a698238;font-size:12px;font-weight:800}.status-catalog-table input[type=number]{width:74px}.status-catalog-table input:focus{outline:2px solid var(--blue);outline-offset:-2px}.status-catalog-table .check-cell{min-height:29px}.status-catalog-table .check-cell input{box-shadow:none}.status-catalog-table .status-chip{width:100%;min-height:29px;border-width:0;box-shadow:inset 0 0 0 1px currentColor}.status-catalog-table td:nth-child(3){width:120px}.status-catalog-table td:nth-child(5){width:90px}.status-catalog-table td:nth-child(6){width:74px;text-align:center}.icon-button{width:100%;min-height:29px;border:0;border-radius:0;display:grid;place-items:center;color:var(--red);background:#ffffffb8}.rules-panel{display:grid;gap:16px;padding:16px}.rule-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;background:#f8fafc}.rule-card--primary{border-color:#b9d2ff;background:#edf5ff}.rule-card p,.rule-card h2{margin:0}.rule-card p{color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.rule-card h2{margin-top:4px;font-size:20px}.rule-card span{display:block;margin-top:8px;color:var(--muted);line-height:1.45}.rules-section-heading p,.rules-section-heading span{margin:0}.rules-section-heading p{font-size:13px;font-weight:900}.rules-section-heading span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.default-rule-grid{display:grid;gap:10px}.default-rule-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--line);background:#f7faf9;padding:12px}.default-rule-card__icon{width:26px;height:26px;display:grid;place-items:center;color:var(--green);background:var(--green-soft)}.default-rule-card strong,.default-rule-card span{display:block}.default-rule-card strong{font-size:14px}.default-rule-card span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}.default-rule-card__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.default-rule-card__meta small,.default-rule-card__meta b{font-size:11px;font-weight:900;text-transform:uppercase}.default-rule-card__meta small{color:var(--blue)}.default-rule-card__meta b{color:var(--green)}.rules-table-wrap{overflow:auto}.rules-config-table{min-width:1180px}.rules-config-table input,.rules-config-table select,.rules-config-table textarea{width:100%;min-height:34px;border:1px solid var(--line-strong);border-radius:7px;padding:6px 8px;color:var(--text);background:#fff;font:inherit}.rules-config-table select{border:0}.rules-config-table textarea{min-height:54px;resize:vertical}.rule-active-col,.rule-remove-col{width:76px;text-align:center!important}.rule-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.rule-template-card{min-height:116px;border:1px solid var(--line);border-radius:var(--radius);padding:13px;text-align:left;color:var(--text);background:#f8fafc;cursor:pointer}.rule-template-card:hover{border-color:#b9d2ff;background:#edf5ff}.rule-template-card strong,.rule-template-card span,.rule-template-card small{display:block}.rule-template-card strong{margin-bottom:6px}.rule-template-card span{color:var(--muted);font-size:12px;line-height:1.4}.rule-template-card small{margin-top:10px;color:var(--blue);font-weight:900;text-transform:uppercase}.rule-apply-panel{display:grid;gap:12px;border:1px solid var(--line);background:#f8fafc;padding:12px}.rule-apply-controls{display:grid;grid-template-columns:minmax(180px,1.5fr) 120px repeat(3,92px) auto;gap:8px;align-items:end}.rule-apply-controls label,.rule-apply-metric{min-height:54px;display:grid;align-content:center;gap:5px;border:1px solid var(--line);background:#fff;padding:7px 9px}.rule-apply-controls label span,.rule-apply-metric span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.rule-apply-controls select,.rule-apply-controls input{min-height:24px;border:0;color:var(--text);background:transparent;font:inherit;font-weight:900}.rule-apply-controls input{max-width:70px}.rule-apply-metric strong{font-size:18px}.rule-apply-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rule-apply-summary div{border:1px solid var(--line);background:#fff;padding:10px}.rule-apply-summary strong,.rule-apply-summary span{display:block}.rule-apply-summary span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4}.rule-correction-table{min-width:720px}.rule-correction-table th,.rule-correction-table td{padding:7px 9px}.rule-correction-table td:first-child{width:54px;color:var(--green);text-align:center}.rule-apply-footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.rule-apply-footer strong{color:var(--green)}.year-plan-grid-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.year-plan-grid-page{display:grid;gap:18px}.year-plan-grid-summary div{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--surface);box-shadow:0 12px 28px #212f530f}.year-plan-grid-summary svg,.year-plan-grid-summary span,.year-plan-grid-summary strong{display:block}.year-plan-grid-summary svg{color:var(--blue)}.year-plan-grid-summary span{margin-top:12px;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.year-plan-grid-summary strong{margin-top:6px;font-size:26px}.year-plan-grid-tabs-row{display:flex}.year-plan-grid-tabs{width:fit-content;background:#eef3f8}.year-plan-grid-tabs button{min-width:150px;color:#5b687a;background:transparent}.year-plan-grid-tabs button.is-active{color:var(--text);background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 4px 12px #212f530f}.segmented-control--year-pilots{background:#f8fafc}.segmented-control--year-pilots button{min-height:32px;padding:6px 9px;font-size:12px}.is-balanced-text{color:var(--green)}.is-under-text{color:#8a5b00}.is-over-text{color:var(--red)}.year-plan-grid-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 28px #212f530f}.year-plan-grid-table-wrap{overflow:auto}.year-plan-grid-table{min-width:920px}.year-pilot-grid-table{min-width:1460px;font-size:12px}.year-pilot-grid-table th,.year-pilot-grid-table td{min-width:84px;height:42px;padding:0;text-align:center}.year-pilot-grid-table thead th,.year-pilot-grid-table thead td{position:sticky;top:0;z-index:3}.year-pilot-grid-table .sticky-col{position:sticky;left:0;z-index:2;min-width:168px;padding:0 12px;text-align:left;background:#fff;box-shadow:1px 0 0 var(--line)}.year-pilot-grid-table thead .sticky-col{z-index:4;background:#f7f9fd}.year-pilot-grid-table .pilot-cell span,.year-pilot-grid-table .pilot-cell small{display:block}.year-pilot-grid-table .pilot-cell small{color:var(--muted);font-size:10px;margin-top:2px;text-transform:none}.year-pilot-grid-table .is-active-month{background:#fff}.year-pilot-grid__month-total td{background:#f8fafc;font-size:11px}.year-pilot-grid__month-total strong,.year-pilot-grid__month-total span{display:block}.year-pilot-grid__month-total span{margin-top:2px;color:var(--muted)}.year-pilot-grid__company-soll th,.year-pilot-grid__company-soll td,.year-pilot-grid__company-soll .sticky-col{background:#fff}.year-company-soll-cell{min-height:52px;padding:4px 5px;display:grid;align-content:center;gap:2px}.year-company-soll-cell select{width:100%;min-height:24px;border:0;border-radius:0;color:#7c5312;background:#ffffffb8;font-size:12px;font-weight:900;text-align:center;text-align-last:center}.year-company-soll-cell strong,.year-company-soll-cell small{display:block;line-height:1.05}.year-company-soll-cell strong{color:var(--text);font-size:11px;font-weight:900}.year-company-soll-cell small{color:#8a6115;font-size:9px;font-weight:900;text-transform:uppercase}.year-pilot-grid-table .year-month-column{background:#fff!important;border-color:var(--year-column-line, rgba(115, 128, 155, .2))}.year-pilot-grid-table .year-month-column--balanced{--year-column-line: rgba(46, 175, 125, .24)}.year-pilot-grid-table .year-month-column--under{--year-column-line: rgba(201, 138, 24, .28)}.year-pilot-grid-table .year-month-column--over{--year-column-line: rgba(216, 75, 87, .24)}.year-pilot-grid-table .year-month-column.is-active-month{box-shadow:inset 2px 0 0 var(--blue),inset -2px 0 0 var(--blue)}.year-pilot-grid-table thead .year-month-column.is-active-month{box-shadow:inset 0 2px 0 var(--blue),inset 2px 0 0 var(--blue),inset -2px 0 0 var(--blue)}.year-pilot-grid-table .year-month-column .year-pilot-month-button,.year-pilot-grid-table .year-month-column input,.year-pilot-grid-table .year-month-column .year-company-soll-cell select{background:#fff}.year-pilot-grid-table .year-month-column .year-pilot-month-button:hover{background:#f7f9fd}.year-pilot-month-cell input,.year-pilot-month-button{width:100%;height:100%;min-height:42px;border:0;border-radius:0;padding:4px 6px;color:var(--text);background:#fff;font-size:12px;font-weight:900;text-align:center}.year-pilot-month-cell input{box-shadow:inset 0 0 0 1px #5a698238}.year-pilot-month-cell input:focus{outline:2px solid var(--blue);outline-offset:-2px}.year-pilot-month-button{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;align-content:center;gap:0;background:#f8fafc}.year-pilot-month-button:hover{background:#edf5ff}.year-pilot-month-button--balanced{color:#145f48}.year-pilot-month-button--under{color:#8a5b00}.year-pilot-month-button--over{color:#a42f3b}.year-pilot-month-button--unknown{color:var(--muted)}.year-pilot-row--inactive .sticky-col,.year-pilot-row--inactive td{color:#7a8494;background:#f3f5f8!important}.year-pilot-row--inactive .pilot-cell span,.year-pilot-row--inactive .pilot-cell small{color:#7a8494}.year-pilot-row--inactive .year-pilot-month-button{background:#eef1f5!important;color:#7a8494}.year-pilot-row--inactive input{color:#7a8494;background:#eef1f5!important}.year-pilot-row--inactive .pilot-total,.year-pilot-row--inactive .is-balanced-text,.year-pilot-row--inactive .is-under-text,.year-pilot-row--inactive .is-over-text{color:#7a8494!important}.year-pilot-empty-row{height:54px!important;padding:0 14px!important;color:var(--muted);background:#f8fafc!important;font-weight:900;text-align:left!important}.year-plan-cell-metric{display:grid;align-content:center;gap:2px;min-width:0;min-height:34px;padding:3px 4px;line-height:1.05}.year-plan-cell-metric span{color:currentColor;font-size:9px;font-weight:900;opacity:.68;text-align:center;text-transform:uppercase}.year-plan-cell-metric strong{color:currentColor;font-size:11px;font-weight:900;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis}.year-month-total-table{min-width:920px}.year-plan-grid-table th span,.year-plan-grid-table th small{display:block}.year-plan-grid-table th small{margin-top:4px;color:var(--muted);font-weight:600}.year-plan-grid-table tbody tr.is-active th,.year-plan-grid-table tbody tr.is-active td{background:#edf5ff}.year-plan-status-pill{display:inline-flex;min-width:72px;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-weight:900}.year-plan-status-pill--balanced{color:var(--green);background:var(--green-soft);border-color:#bde8d4}.year-plan-status-pill--under{color:#8a5b00;background:var(--amber-soft);border-color:#efd8a3}.year-plan-status-pill--over{color:var(--red);background:var(--red-soft);border-color:#f2c3ca}.table-action-button{border:1px solid var(--line-strong);border-radius:7px;padding:7px 10px;color:var(--blue);background:#fff;font-weight:900;cursor:pointer}.placeholder-page{min-height:420px;padding:32px;display:grid;align-items:center}.placeholder-page p{margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.placeholder-page h1{margin:0 0 10px;font-size:28px}.placeholder-page span{display:block;max-width:640px;color:var(--muted);line-height:1.5}.debug-grid{padding:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.debug-card{min-height:104px;border:1px solid var(--line);border-radius:var(--radius);padding:13px;background:#f8fafc}.debug-card strong,.debug-card span{display:block}.debug-card strong{margin:8px 0 6px;font-size:13px}.debug-card span{color:var(--muted);font-size:12px;line-height:1.45}.good-icon{color:var(--green)}@media(max-width:1180px){.app-shell{grid-template-columns:1fr;min-width:0;overflow-x:hidden}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;max-width:100vw;min-width:0;overflow:hidden}.sidebar-nav{display:flex;grid-auto-flow:column;max-width:100%;min-width:0;overflow:auto}.sidebar-nav button{flex:0 0 auto;width:auto;white-space:nowrap}.sidebar-footer{display:none}.workspace,.planning-board{grid-template-columns:1fr}.issues-panel{position:static;max-height:none}}@media(max-width:860px){.main{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:flex-start}.kpi-grid,.db-summary-grid,.lower-panels,.debug-grid,.month-tabs{grid-template-columns:1fr}.db-toolbar{align-items:stretch;flex-direction:column}.panel-heading{align-items:flex-start;flex-direction:column}.panel-heading-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.db-search,.segmented-control,.db-filter-stack,.info-popover-anchor,.info-button{width:100%}.info-button{justify-content:center}.year-grid-info-popover{left:0;right:auto;width:min(100%,520px)}.year-grid-info-list{grid-template-columns:1fr}.db-filter-stack{justify-content:flex-start}.kpi-card{min-height:110px}.calendar-preview__topline{flex-direction:column}.proposal-panel__summary,.proposal-panel__actions{align-items:stretch;flex-direction:column}.proposal-panel__actions,.proposal-score{width:100%}.proposal-panel__body{grid-template-columns:1fr}.calendar-preview__pilot{justify-items:start}.calendar-grid{min-width:620px}.calendar-day{min-height:102px}}@media(max-width:560px){.sidebar{padding:16px}.brand{width:100%}.sidebar-nav{width:100%;grid-auto-flow:column;overflow:auto}.sidebar-nav button{white-space:nowrap}.button{width:100%;justify-content:center}.topbar h1{font-size:22px}.month-placeholder{align-items:flex-start;flex-direction:column}}
