:root {
  color-scheme: dark;
  --bg:#07131b; --panel:#10232e; --panel-2:#142b37; --panel-3:#193642;
  --line:#2c4856; --line-strong:#406273; --text:#e8f1f5; --muted:#91a9b6; --muted-2:#6f8996;
  --accent:#31a8df; --accent-strong:#1789bd; --accent-soft:rgba(49,168,223,.14);
  --success:#49c58b; --success-soft:rgba(73,197,139,.13); --danger:#ff7676; --danger-soft:rgba(255,118,118,.12);
  --warning:#f0bd60; --warning-soft:rgba(240,189,96,.13); --shadow:0 32px 90px rgba(0,12,18,.62); --radius:10px;
}
*{box-sizing:border-box} html,body{min-height:100%} body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 "Segoe UI",Arial,sans-serif}
button,input,select,textarea{font:inherit} button{color:inherit} button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.app-shell{min-height:100dvh;background:radial-gradient(circle at 82% -20%,rgba(49,168,223,.09),transparent 36%),var(--bg)}
.app-header{position:sticky;top:0;z-index:20;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #19303b;background:rgba(7,19,27,.96);backdrop-filter:blur(12px)}
.brand,.header-tools,.page-actions,.month-control,.legend,.period-tabs{display:flex;align-items:center}.brand{gap:11px;font-weight:750}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--accent);color:#05202e;font-weight:900}.module-chip,.status-pill,.count-chip,.nav-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-size:11px;font-weight:750}.module-chip{min-height:24px;padding:0 8px;border:1px solid #3b6a80;color:#bfeaff;background:#153440}.header-tools{gap:12px}.sync-label{color:var(--muted-2);font-size:12px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#203d49;color:#cfe6ef;font-size:12px;font-weight:750}
.workspace{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;padding:22px 14px;border-right:1px solid #19303b;background:#091820}.nav-item{width:100%;min-height:46px;display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);text-align:left;cursor:pointer;font-weight:650}.nav-item:hover{color:var(--text);background:#102631}.nav-item.active{color:#dff4fd;border-color:#31586a;background:#102a35}.nav-glyph{font-size:18px;color:#79c8eb}.nav-badge{min-width:21px;height:21px;padding:0 6px;background:#3a2928;color:#ffaaaa}.sidebar-note{position:absolute;left:14px;right:14px;bottom:18px;padding:14px;border:1px solid #1f3a46;border-radius:9px;background:#0d2029}.sidebar-note span,.sidebar-note strong{display:block}.sidebar-note strong{margin:4px 0;color:#d2e4eb;font-size:12px}.sidebar-note>span:last-child{color:var(--muted-2);font-size:11px}.note-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);font-size:9px}
.main{min-width:0;padding:28px 30px 50px}.view{display:none;max-width:1540px;margin:0 auto}.view.active{display:block}.page-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.page-top h1{margin:2px 0 5px;font-size:27px;line-height:1.15;letter-spacing:-.35px}.page-top p{margin:0;color:var(--muted)}.eyebrow{color:#6f9eb2;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.page-actions{gap:9px;flex-wrap:wrap;justify-content:flex-end}.save-status{min-height:35px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#0d2029;color:var(--muted);font-size:10px;white-space:nowrap}.save-status i{width:7px;height:7px;border-radius:50%;background:#6d8590}.save-status.loading i,.save-status.saving i{background:var(--warning);box-shadow:0 0 0 3px rgba(231,201,109,.12)}.save-status.saved i{background:var(--success);box-shadow:0 0 0 3px rgba(73,197,139,.12)}.save-status.error{border-color:#6e3d43;color:#ffb0b0}.save-status.error i{background:var(--danger)}
.button{min-height:39px;padding:0 15px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-2);cursor:pointer;font-weight:650;transition:.15s ease}.button:hover{border-color:#6a8b99;background:#18333f}.button:active,.icon-button:active{transform:translateY(1px)}.button.primary{border-color:var(--accent);background:var(--accent);color:#061b25}.button.primary:hover{background:#54b8e4}.button.ghost{background:transparent}.button.small{min-height:33px;padding:0 11px;font-size:12px}.button.compact{align-self:end}.icon-button,.close-button,.drawer-close{border:1px solid var(--line);background:transparent;cursor:pointer}.icon-button{width:32px;height:32px;border-radius:7px;font-size:20px}.icon-button:hover,.close-button:hover,.drawer-close:hover{border-color:#6a8b99;background:#17303b}
.filter-bar{display:flex;align-items:flex-end;gap:10px;margin-bottom:14px;padding:12px;border:1px solid #1f3b47;border-radius:10px;background:#0c1e27}.filter-field{min-width:150px}.filter-field.wide{min-width:280px}.filter-field span,.search-field span,.field>span{display:block;margin-bottom:6px;color:#b4c6cf;font-size:11px;font-weight:650}.filter-field select,.search-field input{width:100%;min-height:37px;padding:0 11px;border:1px solid #345361;border-radius:7px;background:#102630;color:var(--text)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #23404c;border-radius:10px;background:#0d2029;overflow:hidden;margin-bottom:14px}.metric{padding:16px 18px;border-right:1px solid #23404c}.metric:last-child{border:0}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.metric span{color:var(--muted);font-size:11px}.metric strong{display:block;margin:7px 0 2px;font-size:22px;letter-spacing:-.4px}.metric small{color:var(--muted-2);font-size:11px}.metric.neutral strong{color:#7f98a3}.metric.positive strong{color:#80d8ac}.metric.negative strong{color:#ff9999}.metric .trend{padding:2px 6px;border-radius:5px;background:#163441;color:#8ad2f2;font-size:10px}
.planning-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;margin-bottom:14px}.panel{border:1px solid #234552;border-radius:10px;background:var(--panel);overflow:hidden}.panel-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 17px;border-bottom:1px solid var(--line)}.panel-head.stacked{align-items:flex-start}.panel-head h2{margin:2px 0 0;font-size:15px;letter-spacing:-.1px}.month-control{gap:8px}.month-control h2{min-width:125px;text-align:center}.legend{gap:14px;color:var(--muted);font-size:11px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:6px}.legend-mark{width:9px;height:9px;border-radius:3px;background:#637b87}.legend-mark.income{background:var(--success)}.legend-mark.expense{background:var(--danger)}.legend-mark.actual{border:2px solid #9ed8f1;background:transparent}.legend-mark.plan{background:#2b617a}.legend-mark.actual-bar{background:var(--accent)}
.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{height:30px;align-items:center;border-bottom:1px solid var(--line);background:#0d2029;color:var(--muted-2);font-size:10px;font-weight:750;text-align:center;text-transform:uppercase}.day{position:relative;min-height:112px;padding:8px;border-right:1px solid rgba(44,72,86,.7);border-bottom:1px solid rgba(44,72,86,.7);background:#10232e}.day:nth-child(7n){border-right:0}.day.outside{background:#0d1d25;color:#58717d}.day.today::before{content:"";position:absolute;inset:4px;border:1px solid rgba(49,168,223,.55);border-radius:7px;pointer-events:none}.day-number{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#9fb5bf;font-size:11px}.day.today .day-number b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#06202b}.day-total{color:#617d89;font-size:9px}.calendar-event{width:100%;display:block;margin:0 0 4px;padding:5px 6px;border:1px solid transparent;border-radius:6px;text-align:left;cursor:pointer;overflow:hidden}.calendar-event strong,.calendar-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event strong{font-size:10px}.calendar-event span{opacity:.78;font-size:9px}.calendar-event.income{border-color:#2d7658;background:var(--success-soft);color:#a5e7c5}.calendar-event.expense{border-color:#75484b;background:var(--danger-soft);color:#ffc1c1}.calendar-event.has-actual{box-shadow:inset 3px 0 #82d1f1}.calendar-event:hover{filter:brightness(1.14)}.more-events{display:block;padding:2px 4px;color:#78b9d6;font-size:9px}
.count-chip{min-height:25px;padding:0 8px;background:#183845;color:#9dd6ef}.focus-list{padding:7px 16px}.focus-item{display:grid;grid-template-columns:8px 1fr auto 18px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(44,72,86,.55);cursor:pointer}.focus-item:last-child{border:0}.focus-item:hover strong{color:#a9def4}.focus-item i{width:8px;height:8px;border-radius:50%}.focus-item i.low{background:var(--success)}.focus-item i.medium{background:var(--warning)}.focus-item i.high{background:var(--danger)}.focus-item strong,.focus-item small{display:block}.focus-item strong{font-size:12px}.focus-item small{color:var(--muted-2);font-size:10px}.focus-item b{font-size:11px}.focus-item b.good{color:#84d9ad}.focus-item b.bad{color:#ff9f9f}.focus-item b.warning{color:#e7c96d}.focus-done{width:17px;height:17px;margin:0;accent-color:var(--success);cursor:pointer}.focus-done:hover{outline:2px solid rgba(73,197,139,.2);outline-offset:2px}.liquidity-box{margin:8px 15px 15px;padding:13px;border:1px solid #365764;border-radius:8px;background:#0d2029}.liquidity-box>div:first-child{display:flex;align-items:baseline;justify-content:space-between}.liquidity-box span{color:var(--muted);font-size:10px}.liquidity-box strong{font-size:15px}.liquidity-box .status-pill{margin-top:8px}.liquidity-line{height:6px;margin:12px 0 9px;border-radius:4px;background:#273e48}.liquidity-line i{display:block;width:38%;height:100%;border-radius:inherit;background:var(--warning)}.liquidity-box p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}
.operations-panel{margin-top:0}.operations-table-wrap{overflow-x:auto}.operations-table{width:100%;border-collapse:collapse;min-width:1040px}.operations-table th{padding:9px 14px;background:#0d2029;color:var(--muted-2);font-size:9px;text-align:left;text-transform:uppercase;letter-spacing:.06em}.operations-table td{padding:11px 14px;border-top:1px solid rgba(44,72,86,.48);color:#c8d9e0;font-size:11px}.operations-table tbody tr{cursor:pointer}.operations-table tbody tr:hover{background:#142b36}.operation-name strong,.operation-name small{display:block}.operation-name small{color:var(--muted-2);margin-top:2px}.amount-income{color:#77d4a6}.amount-expense{color:#ff9d9d}.variance.good{color:#78d4a6}.variance.bad{color:#ff9999}.status-pill{min-height:25px;padding:0 8px;border:1px solid transparent}.status-pill.low{border-color:#34765a;background:#15372d;color:#90dcb6}.status-pill.medium,.status-pill.warning{border-color:#6a5a2e;background:#302a18;color:#e8cc78}.status-pill.high{border-color:#724043;background:#351f22;color:#ffa1a1}.status-pill.neutral{border-color:#365765;background:#152c36;color:#a8c5d1}
.analytics-period-control{display:grid;gap:8px;justify-items:end}.analytics-period-nav{display:grid;grid-template-columns:32px minmax(170px,1fr) 32px;gap:7px;align-items:center}.analytics-period-nav strong{color:#d8e8ee;font-size:13px;text-align:center}.period-tabs{gap:4px;padding:4px;border:1px solid #2a4956;border-radius:8px;background:#0b1c24}.period-tab{min-height:31px;padding:0 12px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px}.period-tab.active{background:#1b3a47;color:#dceef5}.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.analytics-kpis article{padding:17px;border:1px solid #234552;border-radius:10px;background:#0e222b}.analytics-kpis span,.analytics-kpis small{display:block;color:var(--muted);font-size:11px}.analytics-kpis strong{display:block;margin:8px 0 3px;font-size:21px}.analytics-kpis .positive{color:#72cfa0}.analytics-kpis .negative{color:#ff9696}.analytics-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.wide-panel{grid-column:auto}.chart-panel,.deviations-panel,.category-panel,.risk-panel{min-height:310px}.object-chart{padding:17px}.chart-row{display:grid;grid-template-columns:170px 1fr 88px;gap:12px;align-items:center;margin:14px 0}.chart-row label{color:#bcd0d8;font-size:11px}.dual-bars{display:grid;gap:5px}.bar-track{height:9px;border-radius:4px;background:#1c3742;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:inherit;background:#2b617a}.bar-track.actual i{background:var(--accent)}.chart-row b{text-align:right;font-size:11px}.deviation-list{padding:7px 15px}.deviation-list button{width:100%;display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;padding:13px 0;border:0;border-bottom:1px solid rgba(44,72,86,.55);background:transparent;text-align:left;cursor:pointer}.deviation-list button:last-child{border:0}.deviation-list strong,.deviation-list small{display:block}.deviation-list strong{font-size:11px}.deviation-list small{color:var(--muted-2);font-size:10px}.deviation-list b{font-size:11px}.deviation-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:7px}.deviation-icon.bad{background:var(--danger-soft);color:var(--danger)}.deviation-icon.warn{background:var(--warning-soft);color:var(--warning)}.deviation-icon.good{background:var(--success-soft);color:var(--success)}.category-bars{padding:17px}.category-row{display:grid;grid-template-columns:155px 1fr 55px;gap:10px;align-items:center;margin:14px 0}.category-row span,.category-row b{font-size:11px}.category-row b{text-align:right}.category-track{height:8px;border-radius:4px;background:#1c3742;overflow:hidden}.category-track i{display:block;height:100%;background:var(--accent)}.category-row.over .category-track i{background:var(--danger)}.category-row.over b{color:#ff9c9c}.risk-panel{padding-bottom:18px}.risk-total{margin:16px 17px 0;padding:12px;border:1px solid #2f4d59;border-radius:8px;background:#0d2029}.risk-total span,.risk-total strong{display:block}.risk-total span{color:var(--muted);font-size:10px}.risk-total strong{margin-top:4px;font-size:19px}.risk-total.emphasized{border-color:#3c7890;background:#12303c}.risk-arrow{text-align:center;color:#6aaaca;font-size:20px;transform:rotate(90deg)}.risk-split{display:grid;gap:8px;padding:15px 18px 0}.risk-split span{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;color:var(--muted);font-size:10px}.risk-split b{color:var(--text)}.risk-dot{width:10px;height:10px;display:inline-block;border:2px solid;border-radius:50%}.risk-dot.low{border-color:#29d375}.risk-dot.medium{border-color:#ffb400}.risk-dot.high{border-color:#ff5630}
.directory-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px;padding:12px;border:1px solid #23404c;border-radius:9px;background:#0d2029}.search-field{width:min(420px,100%)}.directory-summary{color:var(--muted-2);font-size:11px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.directory-card{min-height:210px;border:1px solid #254653;border-radius:10px;background:#10232e;overflow:hidden}.directory-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid #294b58;background:#0f252f}.directory-card h2{margin:0;font-size:14px}.directory-card header span{display:block;margin-top:3px;color:var(--muted-2);font-size:10px}.directory-card header b{min-width:27px;height:27px;display:grid;place-items:center;border-radius:6px;background:#183a47;color:#9edcf6;font-size:11px}.directory-values{display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;padding:13px 15px}.value-chip{padding:5px 7px;border:1px solid #345866;border-radius:6px;background:#132d38;color:#bed2db;font-size:10px}.value-chip small{margin-left:5px;color:#73919e}.empty-directory{padding:20px;color:var(--muted);font-size:11px}
.overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:rgba(1,9,14,.78);backdrop-filter:blur(5px)}.overlay[hidden]{display:none}.modal{width:min(1180px,100%);max-height:calc(100dvh - 48px);display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid #39708a;border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.modal-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px 14px 24px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:20px}.modal-header p{margin:4px 0 0;color:var(--muted);font-size:11px}.modal-title-line{display:flex;align-items:center;gap:10px}.close-button,.drawer-close{width:36px;height:36px;border-radius:8px;font-size:20px}.modal form{min-height:0;display:grid;grid-template-rows:1fr auto}.modal-body{overflow-y:auto}.type-switch{position:sticky;top:0;z-index:3;display:flex;gap:4px;padding:12px 24px;border-bottom:1px solid var(--line);background:rgba(14,32,41,.96);backdrop-filter:blur(9px)}.type-switch button{min-height:35px;padding:0 15px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;font-weight:650}.type-switch button.active{border-color:#3b6a80;background:var(--accent-soft);color:#bfeaff}.form-section{padding:20px 24px;border-bottom:1px solid rgba(64,98,115,.55)}.form-section:last-child{border:0}.section-heading{margin-bottom:16px}.section-heading>div{display:flex;gap:11px}.section-heading>div>span{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:#173947;color:#80cdeb;font-size:11px;font-weight:800}.section-heading h3{margin:0 0 3px;font-size:14px}.section-heading p{margin:0;color:var(--muted-2);font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px}.span-12{grid-column:span 12}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}.field{min-width:0}.field>span b{color:#62bfe9}.field>span small{color:var(--muted-2);font-weight:400}.field input,.field select,.field textarea{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:7px;background:#0f2630;color:var(--text)}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#587480}.field>small{display:block;margin-top:5px;color:var(--muted-2);font-size:10px}.money-input{display:grid;grid-template-columns:1fr 38px}.money-input input{border-radius:7px 0 0 7px}.money-input em{display:grid;place-items:center;border:1px solid var(--line-strong);border-left:0;border-radius:0 7px 7px 0;background:#142e39;color:#b9d0da;font-style:normal}.risk-options{display:flex;gap:7px}.risk-options label{min-height:40px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:#c5d6dd;font-size:11px;cursor:pointer}.risk-options input{width:14px;min-height:14px;margin:0;accent-color:var(--accent)}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:13px 20px;border-top:1px solid var(--line);background:#0d2029}.directory-modal{width:min(760px,100%)}.directory-modal .modal-body{padding:22px}.detail-drawer{position:fixed;z-index:60;top:0;right:0;bottom:0;width:min(430px,100%);padding:25px;border-left:1px solid #39708a;background:#0d2029;box-shadow:-24px 0 70px rgba(0,8,12,.55);transform:translateX(105%);transition:transform .22s ease;overflow-y:auto}.detail-drawer.open{transform:none}.drawer-close{position:absolute;top:18px;right:18px}.drawer-head{padding-right:48px}.drawer-head .status-pill{margin-bottom:12px}.drawer-head h2{margin:0 0 5px;font-size:22px}.drawer-head p{margin:0;color:var(--muted)}.drawer-amount{margin:22px 0;padding:18px;border:1px solid #31586a;border-radius:9px;background:#102a35}.drawer-amount span,.drawer-amount strong,.drawer-amount small{display:block}.drawer-amount span,.drawer-amount small{color:var(--muted);font-size:10px}.drawer-amount strong{margin:5px 0;font-size:25px}.drawer-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.drawer-grid div{padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.drawer-grid span,.drawer-grid strong{display:block}.drawer-grid span{color:var(--muted-2);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.drawer-grid strong{margin-top:5px;font-size:11px}.quick-fact{margin-top:18px;padding:15px;border:1px solid #31586a;border-radius:9px;background:#102630}.quick-fact-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:12px}.quick-fact-head span{color:#75bdd9;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.quick-fact-head h3{margin:3px 0 0;font-size:14px}.quick-fact-head small{max-width:185px;color:var(--muted-2);font-size:9px;line-height:1.35;text-align:right}.quick-fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:11px}.quick-fact-grid label>span{display:block;margin-bottom:6px;color:var(--muted);font-size:9px}.quick-fact-grid input{width:100%;min-height:39px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:7px;background:#0f2630;color:var(--text)}.quick-fact-grid .money-input input{border-radius:7px 0 0 7px}.quick-fact .button{width:100%;min-height:40px}.drawer-note{margin-top:18px}.drawer-note h3{font-size:11px}.drawer-note p{padding:12px;border:1px solid #2d4a56;border-radius:8px;background:#10232e;color:#aebfc7;font-size:11px}.toast{position:fixed;z-index:90;left:50%;bottom:24px;max-width:min(480px,calc(100% - 30px));padding:12px 16px;border:1px solid #3d788f;border-radius:8px;background:#153440;color:#dff5ff;box-shadow:0 15px 50px rgba(0,0,0,.4);transform:translate(-50%,120px);opacity:0;transition:.2s ease}.toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:1180px){.workspace{grid-template-columns:78px minmax(0,1fr)}.sidebar{padding-inline:10px}.nav-item{grid-template-columns:1fr;justify-items:center;padding:0}.nav-item span:not(.nav-glyph){display:none}.nav-glyph{font-size:20px}.sidebar-note{display:none}.planning-layout{grid-template-columns:1fr}.focus-panel{display:grid;grid-template-columns:1fr 1fr}.focus-panel .panel-head{grid-column:1/-1}.metrics,.analytics-kpis{grid-template-columns:1fr 1fr}.directory-grid{grid-template-columns:1fr 1fr}.analytics-grid{grid-template-columns:1fr}.day{min-height:102px}}
@media(max-width:760px){.analytics-period-control{width:100%;justify-items:stretch}.analytics-period-nav{grid-template-columns:32px 1fr 32px}.period-tabs{justify-content:stretch}.period-tab{flex:1}.app-header{padding:0 14px}.module-chip,.sync-label{display:none}.workspace{display:block}.sidebar{position:sticky;top:0;z-index:15;width:100%;height:auto;display:flex;gap:4px;padding:7px;border-right:0;border-bottom:1px solid #1c3742;overflow-x:auto}.nav-item{min-width:120px;grid-template-columns:22px 1fr;height:40px}.nav-item span:not(.nav-glyph){display:block}.main{padding:20px 12px 40px}.page-top{align-items:flex-start;flex-direction:column}.page-actions{width:100%;justify-content:stretch}.page-actions .button{flex:1}.save-status{order:2;flex-basis:100%;justify-content:center}.filter-bar{display:grid;grid-template-columns:1fr 1fr}.filter-field,.filter-field.wide{min-width:0}.filter-field.wide{grid-column:1/-1}.metrics,.analytics-kpis{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid #23404c}.planning-layout{display:block}.calendar-panel{overflow-x:auto}.calendar-panel>.panel-head,.weekdays,.calendar-grid{min-width:760px}.focus-panel{display:block;margin-top:14px}.operations-panel{margin-top:14px}.legend{display:none}.analytics-grid{display:block}.analytics-grid>.panel{margin-bottom:14px}.directory-grid{grid-template-columns:1fr}.directory-toolbar{align-items:stretch;flex-direction:column}.search-field{width:100%}.overlay{padding:0}.modal{max-height:100dvh;height:100dvh;border-radius:0}.form-grid{grid-template-columns:1fr}.span-12,.span-6,.span-5,.span-4,.span-3{grid-column:1}.risk-options{flex-wrap:wrap}.modal-footer .button{flex:1;padding-inline:8px}.chart-row{grid-template-columns:120px 1fr 65px}.category-row{grid-template-columns:120px 1fr 48px}}
@media(max-width:430px){.brand>span:nth-child(2){display:none}.metrics,.analytics-kpis{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid #23404c}.metric:last-child{border-bottom:0}.filter-bar{grid-template-columns:1fr}.filter-field.wide{grid-column:auto}.header-tools .button{display:none}.page-top h1{font-size:24px}.modal-header{padding-left:16px}.form-section,.type-switch{padding-left:16px;padding-right:16px}.modal-footer{padding-inline:12px}.modal-footer .button:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* directory manager v2 */
.status-pill.rejected{border-color:#7b3c42;background:#351d22;color:#ff9da5}.status-pill.success{border-color:#34765a;background:#15372d;color:#90dcb6}.focus-item i.empty{background:#607681}.table-empty{padding:28px!important;color:var(--muted)!important;text-align:center!important}
.directory-card.interactive{cursor:pointer;transition:border-color .15s ease,transform .15s ease}.directory-card.interactive:hover,.directory-card.interactive:focus-visible{border-color:#4b8398;outline:0;transform:translateY(-1px)}.directory-card-status{display:flex;gap:12px;padding:9px 15px;border-bottom:1px solid rgba(41,75,88,.65);color:var(--muted-2);font-size:10px}.directory-preview{display:grid;gap:0;padding:7px 15px}.directory-preview-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:29px;border-bottom:1px solid rgba(44,72,86,.4);font-size:10px}.directory-preview-row:last-child{border-bottom:0}.directory-preview-row>b{color:#77b9d5}.directory-preview-row>span{overflow:hidden;color:#c2d4dc;text-overflow:ellipsis;white-space:nowrap}.directory-preview-row>i{color:#72cfa0;font-style:normal;font-size:9px}.directory-preview-row.inactive{opacity:.55}.directory-preview-row.inactive>i{color:#93a4ac}.directory-more{padding:8px 0 2px;color:#6faeca;font-size:10px}.directory-card>footer{display:flex;justify-content:flex-end;padding:0 15px 13px}
.directory-modal{width:min(1120px,100%);grid-template-rows:auto minmax(0,1fr) auto}.directory-manager{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.directory-manager-toolbar{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:18px;align-items:end;padding:16px 20px;border-bottom:1px solid var(--line);background:#0d2029}.directory-manager-count{padding-bottom:11px;color:var(--muted);font-size:11px;text-align:right}.directory-entry-form{display:grid!important;grid-template-columns:130px minmax(250px,1fr) 220px auto auto;grid-template-rows:auto;gap:10px;align-items:end;padding:16px 20px;border-bottom:1px solid var(--line);background:#10232d}.directory-entry-form .directory-name-field{min-width:220px}.directory-active{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line-strong);border-radius:7px;color:#c5d6dd;font-size:11px}.directory-active input{width:15px;height:15px;accent-color:var(--accent)}.directory-entry-actions{display:flex;gap:7px}.directory-table-wrap{min-height:0;overflow:auto}.directory-table{width:100%;border-collapse:collapse;min-width:820px}.directory-table th{position:sticky;top:0;z-index:2;padding:10px 12px;background:#0d2029;color:var(--muted-2);font-size:9px;text-align:left;text-transform:uppercase;letter-spacing:.06em}.directory-table td{padding:9px 12px;border-top:1px solid rgba(44,72,86,.48);color:#c8d9e0;font-size:11px}.directory-table td:first-child{width:58px;color:#7fc1dc}.directory-table tr.inactive td{opacity:.58}.directory-table tr:hover{background:#132b35}.directory-state{min-height:27px;padding:0 8px;border:1px solid;border-radius:6px;background:transparent;cursor:pointer;font-size:10px}.directory-state.active{border-color:#34765a;background:#15372d;color:#90dcb6}.directory-state.inactive{border-color:#50616a;background:#1b292f;color:#9baab0}.row-actions{display:flex;gap:6px}.button.tiny{min-height:28px;padding:0 8px;font-size:10px}.button.danger{border-color:#6d3a40;background:#321e22;color:#ffaaaa}.button.danger:hover{border-color:#a4535d;background:#48252b}
@media(max-width:980px){.directory-entry-form{grid-template-columns:110px minmax(220px,1fr) 180px}.directory-active,.directory-entry-actions{grid-column:auto}.directory-entry-actions{grid-column:2/-1;justify-content:flex-end}}
@media(max-width:760px){.directory-manager-toolbar{grid-template-columns:1fr}.directory-manager-count{text-align:left}.directory-entry-form{grid-template-columns:1fr}.directory-entry-actions{grid-column:auto}.directory-modal .modal-footer{flex:none}.directory-table-wrap{min-height:300px}}
.drawer-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:18px}.drawer-actions .button{min-height:42px}
@media(max-width:430px){.drawer-actions{grid-template-columns:1fr}.drawer-actions .button{width:100%}}

/* selected plan and fact dates */
.legend-mark.plan-date{border:2px solid #31a8df;background:rgba(49,168,223,.18)}.legend-mark.fact-date{border:2px solid #49c58b;background:rgba(73,197,139,.18)}
.selected-dates{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:46px;padding:8px 17px;border-bottom:1px solid var(--line);background:#0d2029}.selected-dates[hidden]{display:none}.selected-dates>strong{min-width:0;margin-left:auto;overflow:hidden;color:#b8cdd6;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.selected-date{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid;border-radius:7px;font-size:10px}.selected-date i{width:8px;height:8px;border-radius:50%}.selected-date.plan{border-color:#2f7595;background:rgba(49,168,223,.12);color:#9bdcf8}.selected-date.plan i{background:#31a8df}.selected-date.fact{border-color:#34765a;background:rgba(73,197,139,.12);color:#9ce0bd}.selected-date.fact i{background:#49c58b}.selected-date.fact.empty{border-color:#425b66;background:#142832;color:#8098a3}.selected-date.fact.empty i{background:#607985}.selected-plan-range,.selected-date-delta{padding:6px 9px;border-radius:7px;background:#172d37;color:#b5cad3;font-size:10px;font-weight:750}.selected-plan-range{border:1px dashed #387895;background:rgba(49,168,223,.08);color:#9bdcf8}.selected-date-delta.late{background:var(--danger-soft);color:#ff9d9d}.selected-date-delta.early{background:var(--success-soft);color:#8edcb6}.selected-date-delta.ontime{background:var(--accent-soft);color:#a9e3fb}
.day.selected-plan-date{background:linear-gradient(rgba(49,168,223,.18),rgba(49,168,223,.18)),#10232e;box-shadow:inset 0 0 0 1px rgba(49,168,223,.72)}.day.selected-plan-anchor{box-shadow:inset 0 0 0 2px #31a8df}.day.selected-fact-date{background:linear-gradient(rgba(73,197,139,.18),rgba(73,197,139,.18)),#10232e;box-shadow:inset 0 0 0 2px #49c58b}.day.selected-plan-date.selected-fact-date{background:linear-gradient(135deg,rgba(49,168,223,.22) 0 50%,rgba(73,197,139,.22) 50% 100%),#10232e;box-shadow:inset 0 0 0 2px #31a8df,inset 0 0 0 5px rgba(73,197,139,.55)}.selected-date-labels{display:flex;gap:4px;margin:-2px 0 5px}.selected-date-labels span{padding:2px 5px;border-radius:4px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.selected-date-labels .plan{background:#18526d;color:#a9e3fb}.selected-date-labels .fact{background:#1b513a;color:#a7e7c5}.calendar-event.selected{outline:1px solid #d5eef8;outline-offset:1px}
@media(max-width:760px){.calendar-panel>.selected-dates{min-width:760px}}
.calendar-event strong em{margin-left:3px;color:#74d8a5;font-style:normal;font-weight:800}

.focus-rule{margin:4px 0 0;color:var(--muted-2);font-size:9px}.focus-summary{display:flex;flex-wrap:wrap;gap:7px 14px;padding:11px 16px;border-top:1px solid rgba(44,72,86,.55);background:#0d2029;color:var(--muted-2);font-size:9px}.focus-summary b{color:#c6d9e1}.focus-list .empty-directory{display:block}
