:root { --bg:#f4f7fb; --card:#fff; --text:#162033; --muted:#728096; --line:#e7ecf3; --blue:#2563eb; --indigo:#4f46e5; --green:#16a34a; --red:#dc2626; --amber:#d97706; }
* { box-sizing: border-box; }
html { background:var(--bg); }
body { margin:0; background:var(--bg); color:var(--text); font-family:Manrope,Inter,"Segoe UI",Arial,sans-serif; font-size:16px; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
button,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
.app-shell { min-height:100vh; display:flex; }
.sidebar { width:244px; position:fixed; inset:0 auto 0 0; background:#0d1b33; color:#fff; padding:28px 18px; display:flex; flex-direction:column; z-index:30; }
.brand { display:flex; align-items:center; gap:12px; padding:0 10px 28px; border-bottom:1px solid rgba(255,255,255,.09); }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:linear-gradient(145deg,#3b82f6,#4f46e5); font-size:19px; font-weight:800; box-shadow:0 8px 22px rgba(37,99,235,.35); }
.brand strong,.brand small { display:block; white-space:nowrap; }.brand strong { font-size:12px; letter-spacing:.035em; }.brand small { margin-top:4px; color:#91a1ba; font-size:8px; letter-spacing:.1em; }
.sidebar nav { display:flex; flex-direction:column; gap:4px; margin-top:26px; }
.sidebar nav button { border:0; width:100%; cursor:pointer; display:flex; align-items:center; gap:11px; padding:11px 12px; border-radius:11px; color:#9eacc1; background:transparent; text-align:left; font-size:13px; transition:.2s ease; }
.sidebar nav button:hover { color:#fff; background:rgba(255,255,255,.06); }.sidebar nav button.active { color:#fff; background:linear-gradient(90deg,rgba(37,99,235,.85),rgba(59,130,246,.55)); box-shadow:0 8px 20px rgba(7,18,38,.22); }
.nav-icon { width:25px; font-size:10px; font-weight:700; color:#7990b2; }.active .nav-icon { color:#dbeafe; }
.sidebar-note { margin-top:auto; display:flex; gap:10px; align-items:center; padding:14px 12px; border-radius:12px; background:rgba(255,255,255,.05); }.sidebar-note strong,.sidebar-note small { display:block; }.sidebar-note strong { font-size:11px; }.sidebar-note small { margin-top:3px; color:#8292aa; font-size:10px; }.status-dot { width:8px; height:8px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 4px rgba(34,197,94,.12); }
.content { margin-left:244px; min-width:0; flex:1; }.topbar { height:94px; padding:0 34px; background:rgba(255,255,255,.88); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:20; }
.topbar p { margin:0 0 4px; color:var(--muted); font-size:11px; letter-spacing:.03em; }.topbar h1 { margin:0; font-size:24px; line-height:1.1; letter-spacing:-.025em; }.toolbar { display:flex; align-items:center; gap:10px; }.select-wrap { display:flex; align-items:center; gap:9px; padding:8px 10px 8px 13px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--muted); font-size:11px; }.select-wrap select { border:0; outline:0; color:var(--text); font-weight:700; background:transparent; }.source-button { display:flex; align-items:center; gap:8px; padding:10px 13px; border:1px solid var(--line); border-radius:10px; background:#fff; color:#475569; font-size:11px; font-weight:650; text-decoration:none; }.source-button:hover { border-color:#bfdbfe; color:var(--blue); }.avatar { display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:#e9efff; color:var(--blue); font-size:10px; font-weight:800; }.menu-button { display:none; }
.page-content { padding:26px 34px 46px; max-width:1500px; margin:0 auto; }.card { background:var(--card); border:1px solid rgba(226,232,240,.82); border-radius:17px; box-shadow:0 5px 24px rgba(15,23,42,.045); }
.kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }.kpi { padding:18px; position:relative; overflow:hidden; min-height:157px; }.kpi-top { display:flex; justify-content:space-between; align-items:center; color:var(--muted); font-size:11px; }.kpi-icon { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; color:var(--blue); background:#eef4ff; font-size:14px; }.kpi strong { display:block; margin-top:14px; font-size:21px; letter-spacing:-.035em; }.kpi-foot { display:flex; align-items:center; gap:7px; margin-top:10px; font-size:9px; }.muted { color:#9aa6b6; }.trend { display:inline-flex; align-items:center; gap:3px; width:max-content; border-radius:7px; padding:3px 6px; font-size:9px; font-weight:700; }.trend.positive { color:#15803d; background:#eaf8ef; }.trend.negative { color:#dc2626; background:#fef0f0; }.mini-line { position:absolute; right:13px; bottom:10px; width:92px; height:40px; opacity:.7; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr); gap:15px; margin-top:15px; }.dashboard-grid.lower { grid-template-columns:1fr 1fr; }.chart-card,.risk-card,.income-card,.recommendation-card { padding:21px; min-height:317px; }.card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }.eyebrow { display:block; color:#8793a6; font-size:9px; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }.card h2 { margin:5px 0 0; font-size:16px; letter-spacing:-.018em; }.unit { font-size:9px; color:#9aa6b6; background:#f6f8fb; padding:5px 8px; border-radius:7px; }.legend { display:flex; gap:16px; margin-top:17px; color:#778396; font-size:9px; }.legend span { display:flex; gap:6px; align-items:center; }.legend i { width:7px; height:7px; border-radius:3px; background:var(--blue); }.legend i.indigo { background:#a7b7d8; }.legend i.green { background:var(--green); }.legend i.red { background:#f49a9a; }.bar-chart { height:210px; display:flex; align-items:end; justify-content:space-around; gap:24px; padding:28px 24px 0; border-bottom:1px solid var(--line); background:repeating-linear-gradient(to bottom,transparent 0,transparent 51px,#eff2f6 52px); }.bar-group { height:100%; flex:1; display:flex; flex-direction:column; justify-content:end; align-items:center; gap:9px; color:#8793a6; font-size:9px; }.bars { height:173px; width:66px; display:flex; align-items:end; justify-content:center; gap:6px; }.bar { width:23px; min-height:4px; border-radius:6px 6px 2px 2px; transition:.25s; cursor:help; }.bar:hover { filter:brightness(1.08); transform:translateY(-2px); }.assets-bar { background:linear-gradient(#3b82f6,#2563eb); }.equity-bar { background:#b9c5dc; }
.danger-text { color:#dc2626; }.risk-count { color:#dc2626; background:#fff0f0; font-size:9px; font-weight:700; padding:5px 8px; border-radius:7px; }.risk-list { margin-top:16px; display:flex; flex-direction:column; gap:8px; }.risk-item { display:grid; grid-template-columns:8px 1fr auto; gap:10px; align-items:center; padding:12px; border-radius:12px; background:#fafbfc; border:1px solid #f0f2f6; }.risk-dot { width:6px; height:6px; border-radius:50%; }.risk-item.high .risk-dot { background:var(--red); box-shadow:0 0 0 4px #fee2e2; }.risk-item.medium .risk-dot { background:var(--amber); box-shadow:0 0 0 4px #fef3c7; }.risk-item strong { display:block; font-size:10px; }.risk-item p { margin:4px 0 0; color:#8793a6; font-size:9px; }.risk-item b { font-size:8px; color:#dc2626; }.risk-item.medium b { color:#b45309; }
.income-bars { display:flex; flex-direction:column; gap:25px; margin-top:30px; }.income-bars>div { display:grid; grid-template-columns:36px 1fr 132px; align-items:center; gap:12px; font-size:9px; color:#7f8b9d; }.track { position:relative; height:34px; }.track i { display:block; height:12px; border-radius:4px; background:linear-gradient(90deg,#22c55e,#16a34a); }.track i.expense { margin-top:5px; background:#f49a9a; }.income-bars b { color:var(--text); font-size:10px; }.income-bars small { color:#9aa6b6; font-weight:500; }.legend.bottom { margin-top:22px; }
.recommendation-card ol { list-style:none; margin:20px 0 0; padding:0; display:flex; flex-direction:column; gap:13px; }.recommendation-card li { display:flex; gap:12px; }.recommendation-card li>span { flex:0 0 28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#edf3ff; color:var(--blue); font-size:8px; font-weight:800; }.recommendation-card strong { display:block; font-size:10px; }.recommendation-card p { margin:4px 0 0; color:#8490a2; font-size:9px; line-height:1.5; }
.detail-page { animation:fade .25s ease; }.detail-hero { min-height:170px; display:flex; justify-content:space-between; align-items:flex-start; gap:30px; padding:29px 30px; border-radius:19px; color:white; background:radial-gradient(circle at 85% 5%,rgba(96,165,250,.42),transparent 30%),linear-gradient(135deg,#0d1b33,#173a72); box-shadow:0 15px 35px rgba(15,35,70,.16); }.detail-hero .eyebrow { color:#a9c7fa; }.detail-hero h2 { margin:12px 0 10px; font-size:28px; letter-spacing:-.035em; }.detail-hero p { max-width:710px; margin:0; color:#c9d7ea; font-size:12px; line-height:1.7; }.period-chip { padding:8px 11px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.08); border-radius:9px; color:#dce9fa; font-size:10px; white-space:nowrap; }.metric-table { margin-top:16px; padding:4px 18px; overflow:auto; }.metric-row { min-width:760px; display:grid; grid-template-columns:2fr .75fr .75fr .9fr .65fr; gap:14px; align-items:center; padding:15px 8px; border-bottom:1px solid #edf1f5; font-size:11px; }.metric-row:last-child { border-bottom:0; }.metric-header { padding-top:12px; padding-bottom:10px; color:#8a97a9; font-size:9px; text-transform:uppercase; letter-spacing:.06em; }.metric-row strong { font-size:11px; }.metric-row .trend { justify-self:start; }.norm { color:#748196; }.detail-bottom { display:grid; grid-template-columns:1.35fr .65fr; gap:15px; margin-top:15px; }.insight-card,.source-card { min-height:132px; padding:21px; }.insight-card { display:flex; gap:16px; align-items:flex-start; }.insight-mark { display:grid; place-items:center; flex:0 0 36px; height:36px; border-radius:11px; background:#fff1f1; color:#dc2626; font-weight:800; }.insight-card h3,.source-card h3 { margin:8px 0 0; font-size:12px; line-height:1.55; }.source-card a { display:inline-block; margin-top:14px; color:var(--blue); font-size:10px; font-weight:700; text-decoration:none; }
.scrim { display:none; }.menu-button { border:0; background:transparent; color:var(--text); font-size:22px; cursor:pointer; }
.conclusions-page { animation:fade .25s ease; }
.conclusions-hero { display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; padding:30px; border-radius:19px; color:#fff; background:radial-gradient(circle at 88% 0,rgba(96,165,250,.4),transparent 32%),linear-gradient(135deg,#0d1b33,#173a72); box-shadow:0 15px 35px rgba(15,35,70,.16); }
.conclusions-hero .eyebrow { color:#a9c7fa; }.conclusions-hero h2 { max-width:780px; margin:11px 0 10px; font-size:26px; line-height:1.18; letter-spacing:-.035em; }.conclusions-hero p { max-width:820px; margin:0; color:#c9d7ea; font-size:11px; line-height:1.72; }
.conclusion-score { width:142px; min-height:128px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.16); border-radius:17px; background:rgba(255,255,255,.09); backdrop-filter:blur(10px); }.conclusion-score strong { font-size:36px; letter-spacing:-.05em; }.conclusion-score span { color:#bcd0eb; font-size:10px; }.conclusion-score small { margin-top:11px; padding-top:10px; width:80%; border-top:1px solid rgba(255,255,255,.12); color:#e4edf8; font-size:8px; text-align:center; }
.conclusion-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-top:15px; }.conclusion-card { padding:22px; }.conclusion-title { display:flex; align-items:center; gap:12px; }.conclusion-title h3 { margin:5px 0 0; font-size:15px; }.conclusion-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; background:#eaf8ef; color:var(--green); font-weight:800; }.risk-conclusion-card .conclusion-icon { background:#fff0f0; color:var(--red); }
.conclusion-card ul { list-style:none; margin:19px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }.conclusion-card li { min-height:70px; padding:13px; border-radius:12px; background:#f8fafc; border:1px solid #edf1f5; }.positive-card li { border-left:3px solid #86d7a0; }.risk-conclusion-card li { border-left:3px solid #f2a3a3; }.conclusion-card li strong,.conclusion-card li span { display:block; }.conclusion-card li strong { font-size:10px; line-height:1.35; }.conclusion-card li span { margin-top:5px; color:#8490a2; font-size:9px; }
.action-plan { margin-top:15px; padding:22px; }.period-chip.light { color:#64748b; background:#f6f8fb; border-color:#e7ecf3; }.action-list { display:grid; grid-template-columns:1fr 1fr; gap:0 25px; margin-top:14px; }.action-list>div { display:grid; grid-template-columns:32px 1fr auto; gap:11px; align-items:start; padding:15px 0; border-top:1px solid #edf1f5; }.action-list>div>span { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; background:#edf3ff; color:var(--blue); font-size:8px; font-weight:800; }.action-list strong { display:block; font-size:10px; }.action-list p { margin:4px 0 0; color:#8490a2; font-size:9px; line-height:1.5; }.action-list b { color:#dc2626; background:#fff0f0; padding:4px 7px; border-radius:7px; font-size:8px; }.action-list b.medium-priority { color:#b45309; background:#fff7df; }
.conclusion-note { display:flex; gap:11px; align-items:center; margin-top:15px; padding:14px 16px; border:1px solid #dbe7fb; border-radius:13px; background:#f2f7ff; color:#50627c; }.conclusion-note>span { flex:0 0 25px; height:25px; display:grid; place-items:center; border-radius:8px; color:var(--blue); background:#fff; font-size:10px; font-weight:800; }.conclusion-note p { margin:0; font-size:10px; line-height:1.55; }
.history-page { animation:fade .25s ease; }
.history-hero { min-height:170px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; padding:29px 30px; border-radius:19px; color:#fff; background:radial-gradient(circle at 87% 0,rgba(96,165,250,.44),transparent 32%),linear-gradient(135deg,#0d1b33,#173a72); box-shadow:0 15px 35px rgba(15,35,70,.16); }
.history-hero .eyebrow { color:#a9c7fa; }.history-hero h2 { margin:11px 0 9px; font-size:27px; letter-spacing:-.035em; }.history-hero p { max-width:730px; margin:0; color:#c9d7ea; font-size:11px; line-height:1.7; }
.history-period { width:155px; min-height:112px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:rgba(255,255,255,.09); }.history-period span,.history-period small { color:#bfd0e7; font-size:9px; }.history-period strong { margin:5px 0; font-size:30px; letter-spacing:-.04em; }
.history-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-top:15px; }.history-kpi { min-height:135px; padding:18px; position:relative; }.history-kpi>span:first-child { display:block; color:var(--muted); font-size:10px; }.history-kpi>strong { display:block; margin:13px 0 10px; font-size:20px; letter-spacing:-.035em; }.history-kpi .trend { display:inline-flex; }.history-kpi small { margin-left:7px; color:#9aa6b6; font-size:8px; }
.history-filters { margin-top:15px; padding:20px 21px; }.filter-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.filter-heading h2 { margin:5px 0 0; }.filter-actions { display:flex; align-items:center; gap:8px; }.filter-actions button { min-height:40px; border:0; border-radius:10px; padding:8px 12px; font:inherit; font-size:12px; font-weight:750; cursor:pointer; transition:.2s ease; }.date-toggle { display:inline-flex; align-items:center; gap:7px; color:#526179; background:#f1f5f9; box-shadow:inset 0 0 0 1px #e2e8f0; }.date-toggle.active { color:#fff; background:linear-gradient(135deg,#2563eb,#3b82f6); box-shadow:0 7px 18px rgba(37,99,235,.24); }.date-toggle.active span { animation:datePulse 1.8s ease-in-out infinite; }.reset-filter { color:var(--blue); background:#eef4ff; }.filter-actions button:hover { transform:translateY(-1px); }.history-filter-grid { display:grid; grid-template-columns:1fr 1fr 1.25fr 1.15fr; gap:13px; margin-top:17px; animation:fade .2s ease; }.history-filter-grid label,.range-presets { display:flex; flex-direction:column; gap:7px; }.history-filter-grid label>span,.range-presets>span { color:#718096; font-size:11px; font-weight:700; }.history-filter-grid select { width:100%; min-height:43px; padding:0 36px 0 12px; border:1px solid #dfe6ef; border-radius:10px; outline:0; color:var(--text); background:#fff; font:inherit; font-size:13px; font-weight:650; cursor:pointer; }.history-filter-grid select:focus { border-color:#93b4f5; box-shadow:0 0 0 3px rgba(37,99,235,.1); }.range-presets>div { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }.range-presets button { min-height:43px; border:1px solid #dfe6ef; border-radius:10px; color:#64748b; background:#fff; font:inherit; font-size:12px; font-weight:700; cursor:pointer; transition:.2s ease; }.range-presets button:hover { border-color:#8fb2f4; color:var(--blue); background:#eef4ff; }.range-presets button.active { border-color:var(--blue); color:#fff; background:var(--blue); box-shadow:0 7px 16px rgba(37,99,235,.2); }.range-presets button b { margin-right:5px; }
.history-chart-card,.history-table-card { margin-top:15px; padding:21px; }.history-chart-card .legend { margin-bottom:7px; }.history-chart { display:block; width:100%; height:auto; min-height:240px; overflow:visible; }.history-gridline { stroke:#e8edf4; stroke-width:1; }.history-line { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }.active-line { stroke:var(--blue); }.issued-line { stroke:var(--green); }.history-dot { stroke:#fff; stroke-width:2; }.active-dot { fill:var(--blue); }.history-chart text { fill:#8290a3; font-size:10px; }.history-chart .history-value-label { fill:#334155; font-size:9px; font-weight:750; font-variant-numeric:tabular-nums; paint-order:stroke; stroke:#fff; stroke-width:3px; stroke-linejoin:round; }.chart-note,.table-unit { margin:2px 0 0; color:#8b97a8; font-size:9px; }
.history-table-card .card-heading a { color:var(--blue); font-size:10px; font-weight:700; text-decoration:none; }.history-table-wrap { margin-top:16px; max-height:min(58vh,560px); overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; border:1px solid #edf1f5; border-radius:12px; }.history-table { min-width:1040px; }.history-row { display:grid; grid-template-columns:82px repeat(8,1fr); gap:12px; align-items:center; min-height:43px; padding:0 14px; border-bottom:1px solid #edf1f5; font-size:10px; }.history-row:last-child { border-bottom:0; }.history-row strong { font-size:10px; }.history-row span { text-align:right; }.history-row span:first-child { text-align:left; }.history-header { position:sticky; top:0; z-index:4; min-height:39px; background:#f7f9fc; box-shadow:0 1px 0 #dfe6ef,0 8px 18px rgba(15,23,42,.06); color:#7d899b; font-size:8px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }.table-unit { margin-top:10px; }
.operations-page { animation:fade .25s ease; }.operations-kpis { margin-top:15px; }.operations-table-card,.collateral-structure-card { margin-top:15px; padding:21px; }.operations-table-wrap,.collateral-table-wrap { margin-top:16px; overflow:auto; border:1px solid #e8edf4; border-radius:13px; }.operations-table { min-width:790px; }.operations-row { display:grid; grid-template-columns:1.15fr 1.25fr .7fr .85fr 1.1fr; gap:14px; align-items:center; min-height:52px; padding:0 15px; border-bottom:1px solid #edf1f5; font-size:12px; font-variant-numeric:tabular-nums; }.operations-row:last-child { border-bottom:0; }.operations-row>span:not(.trend) { text-align:right; }.operations-header { position:sticky; top:0; z-index:3; min-height:42px; color:#7d899b; background:#f7f9fc; font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }.operations-total { background:#f7faff; font-weight:800; }.active-cell { position:relative; isolation:isolate; }.active-cell i { position:absolute; z-index:-1; top:50%; right:0; height:24px; transform:translateY(-50%); border-radius:7px; background:#e8f0ff; }.collateral-stack { display:flex; height:22px; margin-top:24px; overflow:hidden; border-radius:8px; background:#eef2f7; box-shadow:inset 0 0 0 1px rgba(148,163,184,.16); }.collateral-stack i { display:block; min-width:2px; }.collateral-legend { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:18px; }.collateral-legend>div { display:grid; grid-template-columns:10px 1fr auto; gap:7px; align-items:center; padding:12px; border:1px solid #edf1f5; border-radius:11px; background:#fafbfc; }.collateral-legend i { width:8px; height:8px; border-radius:3px; }.collateral-legend span { color:#64748b; font-size:11px; }.collateral-legend strong { font-size:12px; font-variant-numeric:tabular-nums; }.collateral-legend small { grid-column:2/4; color:#94a3b8; font-size:10px; }.collateral-table { min-width:1120px; }.collateral-row { display:grid; grid-template-columns:1fr 1.75fr repeat(5,.78fr) 1fr; gap:12px; align-items:center; min-height:46px; padding:0 14px; border-bottom:1px solid #edf1f5; font-size:11px; font-variant-numeric:tabular-nums; }.collateral-row>span:not(.trend) { text-align:right; }.collateral-row>span:nth-child(2) { text-align:left; color:#64748b; }.collateral-row.category-start { border-top:2px solid #dbe4f0; }.collateral-row.category-start:first-child { border-top:0; }.collateral-header { position:sticky; top:0; z-index:3; min-height:42px; color:#7d899b; background:#f7f9fc; font-size:9px; font-weight:750; text-transform:uppercase; letter-spacing:.035em; }.collateral-header>span { text-align:right!important; }.collateral-header>span:first-child,.collateral-header>span:nth-child(2) { text-align:left!important; }
.lmb-dynamic-card { margin-top:15px; padding:21px; }.lmb-chart-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }.lmb-chart-head h2 { margin:5px 0 0; }.lmb-chart-controls { display:flex; gap:9px; }.lmb-chart-controls label { display:flex; align-items:center; gap:8px; padding:7px 10px; border:1px solid #e1e7ef; border-radius:10px; background:#f9fbfd; color:#7c899b; font-size:11px; }.lmb-chart-controls select { min-width:145px; border:0; outline:0; color:var(--text); background:transparent; font-weight:700; cursor:pointer; }.lmb-chart-unit { margin-top:13px; color:#8b97a8; font-size:11px; }.lmb-chart { margin-top:4px; }.lmb-chart .history-value-label { fill:#334155; font-size:9px; font-weight:750; font-variant-numeric:tabular-nums; paint-order:stroke; stroke:#fff; stroke-width:3px; stroke-linejoin:round; }.tier-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:15px; margin-top:16px; }.tier-table { overflow:hidden; border:1px solid #e8edf4; border-radius:13px; }.tier-row { display:grid; grid-template-columns:1.2fr .55fr 1fr 1fr; gap:14px; align-items:center; min-height:48px; padding:0 14px; border-bottom:1px solid #edf1f5; font-size:12px; font-variant-numeric:tabular-nums; }.tier-row:last-child { border-bottom:0; }.tier-row>span:not(.trend) { text-align:right; }.tier-header { min-height:42px; color:#7d899b; background:#f7f9fc; font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }.tier-total { background:#f7faff; font-weight:800; }.tier-summary { display:flex; flex-direction:column; gap:10px; }.tier-summary>div { flex:1; padding:15px; border:1px solid #e8edf4; border-radius:13px; background:#fafbfc; }.tier-summary span,.tier-summary strong,.tier-summary small { display:block; }.tier-summary span { color:#7c899b; font-size:11px; }.tier-summary strong { margin-top:7px; font-size:19px; font-variant-numeric:tabular-nums; }.tier-summary small { margin-top:5px; color:#64748b; font-size:11px; }
/* Increased typography for comfortable executive reading */
.brand strong { font-size:15px; letter-spacing:-.01em; }.sidebar nav button { font-size:15px; font-weight:650; }.sidebar-note strong { font-size:13px; }.sidebar-note small { font-size:12px; }
.topbar p { font-size:14px; }.topbar h1 { font-size:28px; }.select-wrap,.source-button { font-size:14px; }
.eyebrow { font-size:11px; }.card h2 { font-size:18px; }.unit,.legend { font-size:11px; }
.kpi-top { font-size:13px; }.kpi strong { font-size:24px; }.kpi-foot,.trend { font-size:11px; }
.risk-count { font-size:11px; }.risk-item strong { font-size:12px; }.risk-item p { font-size:11px; }.risk-item b { font-size:10px; }
.income-bars>div { font-size:11px; }.income-bars b { font-size:12px; }.recommendation-card strong { font-size:12px; }.recommendation-card p { font-size:11px; }
.detail-hero p { font-size:14px; }.period-chip { font-size:12px; }.metric-row { font-size:13px; }.metric-header { font-size:11px; }.metric-row strong { font-size:13px; }.insight-card h3,.source-card h3 { font-size:14px; }.source-card a { font-size:12px; }
.conclusions-hero p { font-size:13px; }.conclusion-score span { font-size:12px; }.conclusion-score small { font-size:10px; }.conclusion-title h3 { font-size:17px; }.conclusion-card li strong { font-size:12px; }.conclusion-card li span { font-size:11px; }.action-list strong { font-size:12px; }.action-list p { font-size:11px; }.action-list b { font-size:10px; }.conclusion-note p { font-size:12px; }
.history-hero p { font-size:13px; }.history-period span,.history-period small { font-size:11px; }.history-kpi>span:first-child { font-size:12px; }.history-kpi>strong { font-size:22px; }.history-kpi small { font-size:10px; }.history-chart text { font-size:11px; }.chart-note,.table-unit { font-size:11px; }.history-table-card .card-heading a { font-size:12px; }.history-row { min-height:47px; font-size:12px; }.history-row strong { font-size:12px; }.history-header { font-size:10px; }
@keyframes fade { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } } @keyframes datePulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.72; transform:scale(1.12); } }
@media (max-width:1100px) { .kpi-grid,.history-kpis { grid-template-columns:repeat(2,1fr); }.history-filter-grid { grid-template-columns:1fr 1fr; }.dashboard-grid,.dashboard-grid.lower,.conclusion-grid { grid-template-columns:1fr; }.risk-card,.income-card,.recommendation-card { min-height:auto; }.detail-bottom { grid-template-columns:1fr; }.collateral-legend { grid-template-columns:1fr; }.tier-layout { grid-template-columns:1fr; }.tier-summary { display:grid; grid-template-columns:repeat(3,1fr); } }
@media (max-width:820px) { .sidebar { transform:translateX(-105%); transition:.25s ease; box-shadow:20px 0 50px rgba(10,24,45,.22); }.sidebar.open { transform:none; }.scrim { display:block; position:fixed; inset:0; z-index:25; border:0; background:rgba(8,18,35,.35); backdrop-filter:blur(2px); }.content { margin-left:0; }.menu-button { display:block; }.topbar { height:82px; padding:0 20px; justify-content:flex-start; gap:14px; }.topbar h1 { font-size:20px; }.toolbar { margin-left:auto; }.source-button span,.avatar { display:none; }.page-content { padding:20px; } }
@media (max-width:560px) { .kpi-grid,.history-kpis { grid-template-columns:1fr; }.kpi { min-height:145px; }.topbar p { display:none; }.toolbar { gap:5px; }.select-wrap span { display:none; }.detail-hero { padding:24px 21px; flex-direction:column; }.detail-hero h2 { font-size:23px; }.bar-chart { padding-inline:5px; }.bars { width:54px; }.income-bars>div { grid-template-columns:30px 1fr; }.income-bars b { grid-column:2; }.page-content { padding:14px; }.source-button { padding:9px; }.card { border-radius:15px; }.conclusions-hero,.history-hero { grid-template-columns:1fr; padding:24px 21px; }.conclusions-hero h2,.history-hero h2 { font-size:22px; }.conclusion-score,.history-period { width:100%; min-height:92px; }.conclusion-score { flex-direction:row; gap:8px; }.conclusion-score small { margin:0 0 0 8px; padding:0 0 0 12px; width:auto; border-top:0; border-left:1px solid rgba(255,255,255,.12); }.conclusion-card ul,.action-list { grid-template-columns:1fr; }.action-list>div { grid-template-columns:30px 1fr; }.action-list b { grid-column:2; justify-self:start; }.action-plan .period-chip { display:none; }.history-chart-card,.history-table-card { padding:16px; }.history-chart { min-height:180px; } }
@media (max-width:560px) { .history-filter-grid { grid-template-columns:1fr; }.history-filters { padding:17px; }.filter-heading { align-items:stretch; flex-direction:column; }.filter-actions { width:100%; }.filter-actions button { flex:1; }.date-toggle { justify-content:center; }.lmb-chart-head { flex-direction:column; }.lmb-chart-controls { width:100%; flex-direction:column; }.lmb-chart-controls label { justify-content:space-between; }.tier-summary { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Liquid Glass executive theme — visual layer only; calculations and data remain untouched. */
.app-shell {
  --bg:#020617; --card:rgba(15,23,42,.72); --card-strong:rgba(15,23,42,.9);
  --text:#f8fafc; --muted:#a9b6ca; --line:rgba(148,163,184,.2);
  --blue:#60a5fa; --indigo:#a78bfa; --green:#22c55e; --red:#f87171; --amber:#fbbf24;
  --glass-border:rgba(255,255,255,.13); --glass-highlight:rgba(255,255,255,.09);
  --glass-shadow:0 18px 55px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08);
  min-height:100vh; color:var(--text); background:
    radial-gradient(circle at 76% 5%,rgba(37,99,235,.2),transparent 29rem),
    radial-gradient(circle at 15% 80%,rgba(14,165,233,.12),transparent 30rem),
    linear-gradient(145deg,#020617 0%,#071226 48%,#0b1630 100%);
  font-variant-numeric:tabular-nums; isolation:isolate;
}

/* Offline snapshot controls remain reachable on phones and installed apps. */
.offline-control { position:relative; }
.offline-trigger { display:flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:7px 12px; border:1px solid var(--glass-border); border-radius:13px; color:var(--text); background:rgba(255,255,255,.06); cursor:pointer; font-size:12px; font-weight:750; white-space:nowrap; }
.offline-trigger>span:first-child { font-size:17px; line-height:1; }
.offline-trigger.ready { border-color:rgba(34,197,94,.5); color:#86efac; }
[data-theme="light"] .offline-trigger { background:rgba(255,255,255,.72); }
[data-theme="light"] .offline-trigger.ready { color:#15803d; }
.offline-trigger:focus-visible,.offline-save:focus-visible { outline:2px solid #87b9ff; outline-offset:2px; }
.offline-popover { position:absolute; z-index:50; top:calc(100% + 9px); right:0; width:min(330px,calc(100vw - 24px)); padding:16px; border:1px solid var(--glass-border); border-radius:15px; color:var(--text); background:#11213d; box-shadow:0 18px 45px rgba(0,0,0,.35); white-space:normal; }
[data-theme="light"] .offline-popover { background:#fff; box-shadow:0 18px 45px rgba(15,23,42,.2); }
.offline-popover strong { display:block; font-size:13px; }
.offline-popover p { display:block; margin:9px 0 12px; color:var(--muted); font-size:11px; line-height:1.5; }
.offline-popover progress { display:block; width:100%; height:8px; margin-bottom:12px; accent-color:#3b82f6; }
.offline-save { width:100%; min-height:38px; padding:8px 11px; border:0; border-radius:9px; color:#fff; background:#2563eb; cursor:pointer; font-size:11px; font-weight:750; }
.offline-save:disabled { opacity:.55; cursor:wait; }
.offline-popover small { display:block; margin-top:11px; color:var(--muted); font-size:10px; line-height:1.45; }
@media (max-width:560px) { .offline-trigger { width:44px; min-width:44px; padding:7px; }.offline-trigger-label { display:none; } }
.app-shell[data-theme="light"] {
  --bg:#f4f7fb; --card:rgba(255,255,255,.76); --card-strong:rgba(255,255,255,.94);
  --text:#0f172a; --muted:#5f6f86; --line:rgba(148,163,184,.3);
  --blue:#2563eb; --indigo:#6d5ce7; --green:#16a34a; --red:#dc2626; --amber:#d97706;
  --glass-border:rgba(255,255,255,.82); --glass-highlight:rgba(255,255,255,.65);
  --glass-shadow:0 18px 48px rgba(30,64,175,.09),inset 0 1px 0 rgba(255,255,255,.92);
  background:radial-gradient(circle at 76% 5%,rgba(59,130,246,.15),transparent 28rem),radial-gradient(circle at 5% 86%,rgba(34,197,94,.08),transparent 27rem),linear-gradient(145deg,#f8fafc,#eef4fb);
}
.app-shell::before,.app-shell::after { content:""; position:fixed; z-index:-1; border-radius:999px; pointer-events:none; filter:blur(2px); opacity:.8; }
.app-shell::before { width:330px; height:330px; top:14%; right:5%; background:radial-gradient(circle,rgba(96,165,250,.13),transparent 70%); }
.app-shell::after { width:270px; height:270px; left:14%; bottom:4%; background:radial-gradient(circle,rgba(167,139,250,.1),transparent 70%); }
.content { position:relative; }
.sidebar { overflow-y:auto; background:linear-gradient(180deg,rgba(8,15,32,.9),rgba(9,19,40,.78)); border-right:1px solid rgba(255,255,255,.09); box-shadow:18px 0 52px rgba(0,0,0,.18); backdrop-filter:blur(28px) saturate(135%); scrollbar-width:thin; scrollbar-color:rgba(148,163,184,.22) transparent; }
.brand { border-color:rgba(255,255,255,.1); }.brand-mark { background:linear-gradient(145deg,#60a5fa,#6366f1); box-shadow:0 12px 30px rgba(59,130,246,.34),inset 0 1px 0 rgba(255,255,255,.35); }
.sidebar nav button { min-height:46px; color:#9fafc5; border:1px solid transparent; transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease; }
.sidebar nav button:hover { background:rgba(255,255,255,.065); border-color:rgba(255,255,255,.07); }
.sidebar nav button.active { background:linear-gradient(105deg,rgba(59,130,246,.3),rgba(99,102,241,.13)); border-color:rgba(125,184,255,.28); box-shadow:0 10px 25px rgba(0,0,0,.2),inset 3px 0 0 #60a5fa,inset 0 1px 0 rgba(255,255,255,.08); }
.sidebar-note { background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.08); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.topbar { background:rgba(4,11,25,.62); border-color:var(--line); box-shadow:0 10px 34px rgba(0,0,0,.12); backdrop-filter:blur(26px) saturate(140%); }
[data-theme="light"] .topbar { background:rgba(248,250,252,.68); }
.topbar h1 { color:var(--text); }.topbar p { color:var(--muted); }
.select-wrap,.source-button,.theme-toggle { min-height:44px; color:var(--muted); background:rgba(255,255,255,.06); border:1px solid var(--glass-border); border-radius:13px; box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
[data-theme="light"] .select-wrap,[data-theme="light"] .source-button,[data-theme="light"] .theme-toggle { background:rgba(255,255,255,.62); }
.select-wrap select,.history-filter-grid select,.lmb-chart-controls select { color:var(--text); background:transparent; }.select-wrap select option,.history-filter-grid select option,.lmb-chart-controls select option { color:#0f172a; background:#fff; }
.source-button:hover,.theme-toggle:hover { color:var(--text); border-color:rgba(96,165,250,.55); background:rgba(96,165,250,.11); }
.theme-toggle { display:flex; align-items:center; gap:8px; padding:7px 11px; cursor:pointer; }
.theme-toggle-track { width:34px; height:20px; padding:2px; display:block; border-radius:999px; background:linear-gradient(90deg,#2563eb,#8b5cf6); box-shadow:inset 0 1px 3px rgba(0,0,0,.26); }
.theme-toggle-track i { display:block; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 2px 7px rgba(0,0,0,.35); transform:translateX(14px); transition:transform .22s ease; }
[data-theme="light"] .theme-toggle-track i { transform:translateX(0); }.theme-toggle-label { font-size:12px; font-weight:700; }
.avatar { background:linear-gradient(145deg,rgba(96,165,250,.25),rgba(139,92,246,.2)); color:#bfdbfe; border:1px solid rgba(147,197,253,.22); box-shadow:inset 0 1px 0 rgba(255,255,255,.1); }
[data-theme="light"] .avatar { color:#1d4ed8; }
.page-content { padding-top:30px; }
.card,.metric-table,.history-filters,.history-chart-card,.history-table-card,.operations-table-card,.collateral-structure-card,.lmb-dynamic-card,.action-plan {
  position:relative; background:var(--card); border:1px solid var(--glass-border); border-radius:18px; box-shadow:var(--glass-shadow); backdrop-filter:blur(22px) saturate(135%); overflow:hidden;
}
.card::before,.metric-table::before,.history-filters::before,.history-chart-card::before,.history-table-card::before,.operations-table-card::before,.collateral-structure-card::before,.lmb-dynamic-card::before,.action-plan::before { content:""; position:absolute; inset:0 0 auto; height:1px; background:linear-gradient(90deg,transparent,var(--glass-highlight),transparent); pointer-events:none; }
.card:hover { border-color:rgba(125,184,255,.28); box-shadow:0 22px 62px rgba(0,0,0,.31),inset 0 1px 0 rgba(255,255,255,.1); }
[data-theme="light"] .card:hover { box-shadow:0 22px 56px rgba(30,64,175,.13),inset 0 1px 0 #fff; }
.kpi { min-height:164px; }.kpi-icon { color:#bfdbfe; background:linear-gradient(145deg,rgba(59,130,246,.25),rgba(99,102,241,.13)); border:1px solid rgba(147,197,253,.17); }
[data-theme="light"] .kpi-icon { color:#2563eb; }.kpi strong,.income-bars b { color:var(--text); }.muted,.unit,.legend,.chart-note,.table-unit { color:var(--muted); }
.trend.positive { color:#86efac; background:rgba(34,197,94,.14); border:1px solid rgba(34,197,94,.18); }.trend.negative { color:#fca5a5; background:rgba(239,68,68,.14); border:1px solid rgba(239,68,68,.17); }
[data-theme="light"] .trend.positive { color:#15803d; background:#eaf8ef; }[data-theme="light"] .trend.negative { color:#dc2626; background:#fef0f0; }
.unit,.period-chip.light { background:rgba(148,163,184,.1); border-color:var(--line); color:var(--muted); }
.bar-chart { border-color:var(--line); background:repeating-linear-gradient(to bottom,transparent 0,transparent 51px,rgba(148,163,184,.13) 52px); }
.assets-bar { background:linear-gradient(#60a5fa,#2563eb); box-shadow:0 8px 18px rgba(37,99,235,.22); }.equity-bar { background:linear-gradient(#a78bfa,#7c3aed); }
.risk-item,.conclusion-card li,.tier-summary>div,.collateral-legend>div { background:rgba(255,255,255,.035); border-color:var(--line); }.risk-item p,.recommendation-card p,.conclusion-card li span,.action-list p,.collateral-legend span,.collateral-row>span:nth-child(2) { color:var(--muted); }
.detail-hero,.conclusions-hero,.history-hero { border:1px solid rgba(147,197,253,.2); background:radial-gradient(circle at 86% 3%,rgba(96,165,250,.34),transparent 34%),radial-gradient(circle at 4% 100%,rgba(139,92,246,.15),transparent 35%),linear-gradient(135deg,rgba(7,18,40,.96),rgba(18,48,91,.88)); box-shadow:0 22px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.1); backdrop-filter:blur(24px); }
.detail-hero p,.conclusions-hero p,.history-hero p { color:#cedbf0; }
.metric-row,.history-row,.operations-row,.collateral-row,.tier-row,.action-list>div { border-color:var(--line); }
.metric-row:hover,.history-row:not(.history-header):hover,.operations-row:not(.operations-header):hover,.collateral-row:not(.collateral-header):hover,.tier-row:not(.tier-header):hover { background:rgba(96,165,250,.065); }
.metric-header,.history-header,.operations-header,.collateral-header,.tier-header { color:#a9b6ca; background:rgba(15,23,42,.94); box-shadow:0 1px 0 var(--line),0 10px 24px rgba(0,0,0,.18); backdrop-filter:blur(18px); }
[data-theme="light"] .metric-header,[data-theme="light"] .history-header,[data-theme="light"] .operations-header,[data-theme="light"] .collateral-header,[data-theme="light"] .tier-header { color:#64748b; background:rgba(248,250,252,.94); }
.history-filter-grid select,.range-presets button,.lmb-chart-controls label,.date-toggle,.reset-filter { color:var(--text); background:rgba(255,255,255,.055); border-color:var(--line); box-shadow:none; }
[data-theme="light"] .history-filter-grid select,[data-theme="light"] .range-presets button,[data-theme="light"] .lmb-chart-controls label,[data-theme="light"] .date-toggle,[data-theme="light"] .reset-filter { background:rgba(255,255,255,.68); }
.range-presets button.active,.date-toggle.active { color:#fff; background:linear-gradient(135deg,#2563eb,#6366f1); border-color:#60a5fa; box-shadow:0 9px 24px rgba(37,99,235,.28); }
.history-gridline { stroke:rgba(148,163,184,.18); }.history-chart text { fill:var(--muted); }.history-chart .history-value-label,.lmb-chart .history-value-label { fill:var(--text); stroke:var(--card-strong); }
.history-dot { stroke:var(--card-strong); }.active-cell i { background:rgba(59,130,246,.13); }.operations-total,.tier-total { background:rgba(59,130,246,.07); }
.operations-table-wrap,.collateral-table-wrap,.history-table-wrap,.tier-table { border-color:var(--line); background:rgba(2,6,23,.12); }
[data-theme="light"] .operations-table-wrap,[data-theme="light"] .collateral-table-wrap,[data-theme="light"] .history-table-wrap,[data-theme="light"] .tier-table { background:rgba(255,255,255,.35); }
.collateral-stack { background:rgba(148,163,184,.16); }.conclusion-note { color:var(--muted); background:rgba(59,130,246,.08); border-color:rgba(96,165,250,.22); }.conclusion-note>span { color:#93c5fd; background:rgba(96,165,250,.13); }
.action-list>div>span,.recommendation-card li>span { background:rgba(59,130,246,.14); color:#93c5fd; border:1px solid rgba(96,165,250,.16); }
button:focus-visible,a:focus-visible,select:focus-visible { outline:3px solid rgba(96,165,250,.72); outline-offset:3px; }
@media (max-width:820px) { .topbar { background:rgba(4,11,25,.82); }[data-theme="light"] .topbar { background:rgba(248,250,252,.88); }.theme-toggle-label { display:none; }.theme-toggle { padding-inline:8px; }.sidebar { background:rgba(7,15,32,.96); }.scrim { background:rgba(2,6,23,.62); } }
@media (max-width:560px) { .theme-toggle { display:inline-flex; }.page-content { padding-top:18px; }.card,.metric-table,.history-filters,.history-chart-card,.history-table-card,.operations-table-card,.collateral-structure-card,.lmb-dynamic-card,.action-plan { border-radius:16px; } }

/* LMB monthly operating cockpit */
.lmb-hero { align-items:center; }
.lmb-month-picker { min-width:210px; padding:14px; border:1px solid rgba(255,255,255,.18); border-radius:15px; background:rgba(255,255,255,.09); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter:blur(14px); }
.lmb-month-picker label,.lmb-month-picker small { display:block; color:#bfcee3; font-size:11px; }
.lmb-month-picker select { width:100%; min-height:42px; margin:7px 0; padding:0 34px 0 11px; border:1px solid rgba(255,255,255,.18); border-radius:10px; outline:0; color:#fff; background:rgba(5,14,32,.5); font:inherit; font-size:14px; font-weight:750; cursor:pointer; }
.lmb-month-picker select option { color:#0f172a; background:#fff; }
.lmb-month-picker select:focus { border-color:#93c5fd; box-shadow:0 0 0 3px rgba(96,165,250,.2); }
.lmb-kpi-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:15px; margin-top:15px; }
.lmb-kpi { min-height:148px; padding:17px; }
.lmb-kpi strong { font-size:20px; white-space:nowrap; }
.lmb-kpi .kpi-top>span:first-child { max-width:80%; line-height:1.35; }
@media (max-width:1280px) { .lmb-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:820px) { .lmb-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.lmb-month-picker { min-width:190px; } }
@media (max-width:560px) { .lmb-hero { align-items:stretch; }.lmb-month-picker { width:100%; min-width:0; }.lmb-kpi-grid { grid-template-columns:1fr; }.lmb-kpi strong { white-space:normal; } }
.lmb-management-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:15px; margin-top:15px; }
.lmb-flow-card,.lmb-auto-card { padding:21px; }
.flow-net { padding:6px 9px; border-radius:9px; font-size:12px; font-weight:800; white-space:nowrap; }
.flow-net.positive { color:#86efac; background:rgba(34,197,94,.14); border:1px solid rgba(34,197,94,.18); }
.flow-net.negative { color:#fca5a5; background:rgba(239,68,68,.14); border:1px solid rgba(239,68,68,.18); }
[data-theme="light"] .flow-net.positive { color:#15803d; background:#eaf8ef; }[data-theme="light"] .flow-net.negative { color:#dc2626; background:#fef0f0; }
.flow-caption { margin:12px 0 17px; color:var(--muted); font-size:11px; line-height:1.5; }
.flow-bars { display:flex; flex-direction:column; gap:12px; }.flow-bars>div { display:grid; grid-template-columns:132px 1fr 80px; gap:11px; align-items:center; }.flow-bars span { color:var(--muted); font-size:11px; }.flow-bars strong { text-align:right; font-size:12px; }.flow-track { height:10px; overflow:hidden; border-radius:999px; background:rgba(148,163,184,.13); }.flow-track i { display:block; height:100%; border-radius:inherit; box-shadow:0 4px 12px rgba(37,99,235,.2); }
.flow-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:19px; }.flow-summary>div { padding:12px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.035); }.flow-summary span,.flow-summary strong { display:block; }.flow-summary span { color:var(--muted); font-size:10px; }.flow-summary strong { margin-top:6px; font-size:14px; }.positive-text { color:#22c55e; }
.lmb-auto-card ul { list-style:none; margin:17px 0 0; padding:0; display:flex; flex-direction:column; gap:9px; }.lmb-auto-card li { display:grid; grid-template-columns:28px 1fr; gap:10px; align-items:start; padding:11px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.035); }.lmb-auto-card li>span { width:27px; height:27px; display:grid; place-items:center; border-radius:8px; color:#93c5fd; background:rgba(59,130,246,.14); font-size:9px; font-weight:800; }.lmb-auto-card li p { margin:1px 0 0; color:var(--text); font-size:11px; line-height:1.5; }
.region-snapshot { margin-top:13px; padding-top:13px; border-top:1px solid var(--line); }.region-snapshot>span { color:var(--muted); font-size:10px; }.region-snapshot>div { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:9px; }.region-snapshot p { margin:0; padding:10px; border-radius:10px; background:rgba(148,163,184,.08); }.region-snapshot b,.region-snapshot strong,.region-snapshot em { display:block; }.region-snapshot b { color:var(--muted); font-size:9px; }.region-snapshot strong { margin-top:4px; font-size:12px; }.region-snapshot em { margin-top:3px; color:#22c55e; font-size:10px; font-style:normal; font-weight:750; }
@media (max-width:1100px) { .lmb-management-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .flow-bars>div { grid-template-columns:100px 1fr 68px; gap:8px; }.flow-summary,.region-snapshot>div { grid-template-columns:1fr; } }
.collateral-row .selected-period { color:var(--text); background:rgba(59,130,246,.1); box-shadow:inset 0 0 0 1px rgba(96,165,250,.12); border-radius:7px; padding:7px 5px; }
.collateral-header .selected-period { color:#dbeafe; background:rgba(59,130,246,.22); }
[data-theme="light"] .collateral-header .selected-period { color:#1d4ed8; background:#dbeafe; }
.collateral-table-wrap { max-height:min(68vh,680px); }
.collateral-table { --collateral-metric-width:210px; --collateral-month-width:102px; --collateral-header-height:42px; width:max-content; min-width:100%; }
.collateral-row { grid-template-columns:var(--collateral-metric-width) repeat(var(--collateral-month-count),var(--collateral-month-width)) 140px; }
.collateral-row > :first-child { display:none; }
.collateral-row > :nth-child(2) { position:sticky; left:14px; z-index:2; display:flex; flex-direction:column; justify-content:center; gap:3px; min-width:0; line-height:1.35; text-align:left; white-space:normal; background:#0b1930; box-shadow:18px 0 0 #0b1930,24px 0 14px -12px rgba(0,0,0,.65); }
.collateral-header { z-index:5; }
.collateral-header > :nth-child(2) { z-index:6; display:block; background:#0f172a; box-shadow:18px 0 0 #0f172a; }
[data-theme="light"] .collateral-row > :nth-child(2) { background:#fff; box-shadow:18px 0 0 #fff,24px 0 14px -12px rgba(15,23,42,.22); }
[data-theme="light"] .collateral-header > :nth-child(2) { background:#f8fafc; box-shadow:18px 0 0 #f8fafc; }
.collateral-category-band { position:sticky; top:var(--collateral-header-height); z-index:4; display:flex; align-items:center; min-height:35px; padding:0 14px; border-top:2px solid rgba(96,165,250,.35); border-bottom:1px solid var(--line); color:#bfdbfe; background:#132743; font-size:11px; font-weight:800; }
.collateral-category-band strong { position:sticky; left:14px; white-space:nowrap; }
[data-theme="light"] .collateral-category-band { color:#1e40af; background:#e8f0ff; }
.collateral-mobile-view { display:none; }
@media (max-width:640px) {
  .collateral-table-wrap { display:none; }
  .collateral-mobile-view { display:block; min-width:0; margin-top:16px; }
  .collateral-mobile-controls { display:grid; gap:10px; }
  .collateral-mobile-controls label { display:grid; gap:5px; color:var(--muted); font-size:11px; font-weight:700; }
  .collateral-mobile-controls select { width:100%; min-width:0; min-height:46px; padding:0 12px; border:1px solid var(--line); border-radius:10px; color:var(--text); background:var(--card-strong); font-size:14px; font-weight:750; }
  .collateral-mobile-month { display:grid; grid-template-columns:46px minmax(0,1fr) 46px; gap:8px; align-items:center; padding:7px; border:1px solid var(--line); border-radius:12px; background:rgba(96,165,250,.06); text-align:center; }
  .collateral-mobile-month button { min-height:44px; border:1px solid var(--line); border-radius:9px; color:var(--text); background:var(--card-strong); font-size:26px; line-height:1; cursor:pointer; }
  .collateral-mobile-month button:disabled { opacity:.35; cursor:default; }
  .collateral-mobile-month span,.collateral-mobile-month strong { display:block; }
  .collateral-mobile-month span { color:var(--muted); font-size:10px; }
  .collateral-mobile-month strong { margin-top:2px; font-size:15px; }
  .collateral-mobile-period { margin:12px 0 8px; color:var(--muted); font-size:11px; }
  .collateral-mobile-metrics { overflow:hidden; border:1px solid var(--line); border-radius:12px; }
  .collateral-mobile-metric { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; min-height:68px; padding:12px; border-bottom:1px solid var(--line); background:rgba(148,163,184,.035); font-variant-numeric:tabular-nums; }
  .collateral-mobile-metric:last-child { border-bottom:0; }
  .collateral-mobile-metric > span { min-width:0; color:var(--muted); font-size:12px; line-height:1.35; }
  .collateral-mobile-metric > div { display:grid; gap:5px; justify-items:end; text-align:right; }
  .collateral-mobile-metric strong { color:var(--text); font-size:16px; line-height:1.2; white-space:nowrap; }
  .collateral-mobile-metric small { color:var(--muted); font-size:10px; }
  .collateral-mobile-metric .trend { font-size:10px; }
}
.collateral-data-note { margin:14px 0 4px; padding:10px 12px; border:1px solid rgba(245,158,11,.24); border-radius:10px; color:#fcd34d; background:rgba(245,158,11,.09); font-size:11px; }
[data-theme="light"] .collateral-data-note { color:#92400e; background:#fffbeb; }
.department-analysis-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(390px,.9fr); gap:15px; margin-top:15px; }.department-profile,.department-signal,.department-ranking-card { padding:21px; }
.department-profile-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin-top:17px; }.department-profile-stats>div { padding:13px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.035); }.department-profile-stats span,.department-profile-stats strong { display:block; }.department-profile-stats span { color:var(--muted); font-size:10px; }.department-profile-stats strong { margin-top:6px; font-size:16px; }
.department-share { margin-top:15px; }.department-share>span,.department-share>strong { display:block; }.department-share>span { color:var(--muted); font-size:10px; }.department-share>div { height:10px; margin:8px 0; overflow:hidden; border-radius:999px; background:rgba(148,163,184,.14); }.department-share i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#2563eb,#60a5fa); box-shadow:0 5px 15px rgba(37,99,235,.3); }.department-share>strong { font-size:12px; }
.department-leaders { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:17px; }.department-leaders>div { padding:13px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.035); }.department-leaders span,.department-leaders strong,.department-leaders b { display:block; }.department-leaders span { color:var(--muted); font-size:9px; }.department-leaders strong { margin-top:5px; font-size:13px; }.department-leaders b { margin-top:4px; font-size:11px; }.leader-good b { color:#22c55e; }.leader-risk b { color:#f87171; }
.department-insights { list-style:none; margin:12px 0 0; padding:0; display:flex; flex-direction:column; gap:7px; }.department-insights li { display:grid; grid-template-columns:25px 1fr; gap:9px; align-items:start; padding:9px; border:1px solid var(--line); border-radius:10px; background:rgba(148,163,184,.055); }.department-insights li>span { width:24px; height:24px; display:grid; place-items:center; border-radius:7px; color:#93c5fd; background:rgba(59,130,246,.14); font-size:8px; font-weight:800; }.department-insights p { margin:1px 0 0; font-size:10px; line-height:1.45; }
.department-ranking-card { margin-top:15px; }.department-ranking { display:flex; flex-direction:column; gap:7px; margin-top:17px; }.department-ranking>button { display:grid; grid-template-columns:34px 120px minmax(120px,1fr) 92px 104px; gap:12px; align-items:center; min-height:52px; padding:8px 11px; border:1px solid var(--line); border-radius:12px; color:var(--text); background:rgba(255,255,255,.025); cursor:pointer; text-align:left; transition:.2s ease; }.department-ranking>button:hover,.department-ranking>button.active { border-color:rgba(96,165,250,.38); background:rgba(59,130,246,.09); }.department-ranking>button.active { box-shadow:inset 3px 0 0 #60a5fa; }.department-rank { color:var(--muted); font-size:10px; font-weight:800; }.department-ranking button>strong { font-size:12px; }.department-ranking button>span:nth-last-child(2) { text-align:right; font-size:11px; font-variant-numeric:tabular-nums; }.department-bar { height:9px; overflow:hidden; border-radius:999px; background:rgba(148,163,184,.14); }.department-bar i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#2563eb,#60a5fa); }
@media (max-width:1100px) { .department-analysis-grid { grid-template-columns:1fr; } }
@media (max-width:720px) { .department-ranking { overflow-x:auto; }.department-ranking>button { min-width:670px; }.department-profile-stats,.department-leaders { grid-template-columns:1fr; } }
.department-selectors { min-width:255px; padding:13px; border:1px solid rgba(255,255,255,.18); border-radius:15px; background:rgba(255,255,255,.09); backdrop-filter:blur(14px); }.department-selectors label { display:grid; grid-template-columns:82px 1fr; gap:8px; align-items:center; margin-bottom:7px; }.department-selectors label>span,.department-selectors small { color:#bfcee3; font-size:10px; }.department-selectors select { min-width:150px; min-height:38px; padding:0 30px 0 9px; border:1px solid rgba(255,255,255,.16); border-radius:9px; outline:0; color:#fff; background:rgba(5,14,32,.5); font:inherit; font-size:12px; font-weight:700; cursor:pointer; }.department-selectors select option { color:#0f172a; background:#fff; }.department-selectors select:focus { border-color:#93c5fd; box-shadow:0 0 0 3px rgba(96,165,250,.2); }.department-selectors small { display:block; margin-top:3px; text-align:right; }
.department-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-top:15px; }.department-kpi-grid .kpi { min-height:145px; }
.department-payroll-card { margin-top:15px; padding:21px; }
.department-payroll-subtitle { margin:22px 0 0; color:var(--text); font-size:13px; font-weight:750; }
.department-payroll-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:17px; }
.department-payroll-grid>div { min-width:0; padding:15px; border:1px solid var(--line); border-radius:12px; background:rgba(96,165,250,.055); }
.department-payroll-grid span,.department-payroll-grid strong,.department-payroll-grid small { display:block; }
.department-payroll-grid span { color:var(--muted); font-size:11px; }
.department-payroll-grid strong { margin-top:10px; font-size:18px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.department-payroll-grid small { margin-top:8px; color:var(--muted); font-size:10px; line-height:1.4; }
.department-payroll-note { margin:15px 0 0; font-size:11px; line-height:1.6; }
.territory-hero { align-items:center; gap:28px; }
.territory-hero>div:first-child { max-width:680px; }
.territory-filters { width:min(100%,340px); flex-shrink:0; padding:15px; border:1px solid rgba(255,255,255,.18); border-radius:15px; background:rgba(255,255,255,.09); }
.territory-filters label { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:center; gap:9px; margin-bottom:9px; color:#bfcee3; font-size:11px; }
.territory-filters select { width:100%; min-width:0; min-height:39px; padding:0 10px; border:1px solid rgba(255,255,255,.18); border-radius:9px; color:#fff; background:#142641; font:inherit; font-weight:700; cursor:pointer; }
.territory-filters option { color:#0f172a; background:#fff; }.territory-filters small { display:block; color:#bfcee3; font-size:10px; text-align:right; }
.territory-scope { display:flex; flex-wrap:wrap; align-items:baseline; gap:9px 18px; margin-top:18px; padding:15px 19px; border:1px solid var(--line); border-radius:13px; background:var(--card); }
.territory-scope span { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }.territory-scope strong { color:var(--text); font-size:16px; }.territory-scope small { margin-left:auto; color:var(--muted); font-size:11px; }
.territory-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:15px; }
.territory-summary { min-width:0; padding:21px; }.territory-category { color:#93c5fd; font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.territory-main-value { display:grid; gap:5px; margin-top:15px; }.territory-main-value strong { color:var(--text); font-size:25px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }.territory-main-value small { color:var(--muted); font-size:11px; }
.territory-summary dl { margin:18px 0 0; }.territory-summary dl>div { display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-top:1px solid var(--line); font-size:11px; }.territory-summary dt { color:var(--muted); }.territory-summary dd { display:grid; gap:5px; margin:0; color:var(--text); font-weight:800; text-align:right; font-variant-numeric:tabular-nums; }
.territory-delta { display:block; font-size:10px; font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; }.territory-delta.up { color:#60a5fa; }.territory-delta.down { color:#fb7185; }
.territory-chart-card,.territory-table-card { margin-top:15px; padding:21px; }.territory-legend { display:flex; gap:14px; color:var(--muted); font-size:11px; }.territory-legend span { display:flex; align-items:center; gap:5px; }.territory-legend i { display:block; width:9px; height:9px; border-radius:2px; }.territory-legend .kmz,.territory-bars .kmz { background:#60a5fa; }.territory-legend .kmt,.territory-bars .kmt { background:#34d399; }
.territory-chart { display:flex; gap:7px; overflow-x:auto; margin-top:18px; padding:4px 2px 9px; }.territory-chart button { flex:1 0 44px; min-width:44px; max-width:90px; padding:5px 3px; border:1px solid transparent; border-radius:8px; color:var(--muted); background:transparent; cursor:pointer; }.territory-chart button.selected { border-color:rgba(96,165,250,.55); background:rgba(96,165,250,.08); }.territory-chart button:hover { background:rgba(96,165,250,.12); }
.territory-bars { display:flex; align-items:end; justify-content:center; gap:3px; height:145px; border-bottom:1px solid var(--line); }.territory-bars i { display:block; width:36%; min-height:0; border-radius:4px 4px 0 0; }.territory-chart small { display:block; margin-top:8px; font-size:9px; white-space:nowrap; }
.territory-tables { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }.territory-tables>.territory-table-card:last-child { grid-column:1/-1; }
.territory-table-scroll { max-height:530px; overflow:auto; overscroll-behavior:contain; margin-top:15px; border:1px solid var(--line); border-radius:11px; }.territory-table { width:100%; min-width:600px; border-collapse:separate; border-spacing:0; font-variant-numeric:tabular-nums; }.territory-tables>.territory-table-card:last-child .territory-table { min-width:440px; }
.territory-table th,.territory-table td { padding:10px 11px; border-bottom:1px solid var(--line); text-align:right; font-size:11px; }.territory-table thead th { position:sticky; top:0; z-index:2; color:var(--muted); background:var(--card-strong); font-size:10px; white-space:nowrap; }.territory-table th:first-child { position:sticky; left:0; z-index:1; min-width:67px; text-align:left; background:var(--card-strong); }.territory-table thead th:first-child { z-index:3; }.territory-table tr.selected { background:rgba(96,165,250,.09); }
.territory-table th button { padding:0; border:0; color:var(--text); background:transparent; font:inherit; font-weight:800; cursor:pointer; }.territory-table td strong { display:block; color:var(--text); white-space:nowrap; }.territory-table td .territory-delta { margin-top:4px; }
@media (max-width:1050px) { .territory-summary-grid,.territory-tables { grid-template-columns:1fr; }.territory-tables>.territory-table-card:last-child { grid-column:auto; } }
@media (max-width:700px) { .territory-hero { align-items:stretch; }.territory-filters { width:100%; }.territory-filters label { grid-template-columns:1fr; gap:4px; }.territory-scope small { width:100%; margin:0; }.territory-summary,.territory-chart-card,.territory-table-card { padding:16px; }.territory-chart button { flex-basis:47px; } }
@media (max-width:920px) { .department-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.department-selectors { min-width:230px; } }
@media (max-width:1100px) { .department-payroll-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .department-payroll-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .department-selectors { width:100%; min-width:0; }.department-selectors label { grid-template-columns:1fr; }.department-selectors select { width:100%; }.department-kpi-grid { grid-template-columns:1fr; } }

/* Payroll and motivation */
.payroll-selectors { min-width:290px; }
.payroll-empty { margin-top:15px; padding:30px; text-align:center; color:var(--muted); }
.payroll-kpis { grid-template-columns:repeat(5,minmax(0,1fr)); }
.payroll-comparison-card { margin-top:15px; padding:21px; overflow-x:auto; }
.payroll-comparison-heading { align-items:center; flex-wrap:wrap; }
.payroll-period-controls { display:flex; flex-wrap:wrap; gap:10px; }
.payroll-period-controls label { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:11px; }
.payroll-period-controls select { min-height:36px; padding:0 28px 0 10px; border:1px solid var(--line); border-radius:9px; color:var(--text); background:var(--card); font:inherit; font-size:11px; cursor:pointer; }
.payroll-comparison-note { margin:12px 0 0; font-size:11px; }
.payroll-comparison-table { min-width:720px; margin-top:17px; }
.payroll-comparison-row { display:grid; grid-template-columns:minmax(190px,1.35fr) repeat(3,minmax(145px,1fr)); gap:12px; align-items:center; min-height:48px; padding:9px 12px; border-bottom:1px solid var(--line); text-align:right; font-size:11px; }
.payroll-comparison-row>*:first-child { text-align:left; }
.payroll-comparison-header { color:var(--muted); background:rgba(15,23,42,.45); font-weight:750; }
.payroll-comparison-change { font-weight:750; }
.payroll-comparison-change small { display:block; margin-top:3px; color:var(--muted); font-size:10px; font-weight:500; }
.payroll-analysis-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(390px,.9fr); gap:15px; margin-top:15px; }
.payroll-breakdown,.payroll-motivation,.payroll-ranking-card { padding:21px; }
.payroll-stack { display:flex; height:14px; margin:22px 0 16px; overflow:hidden; border-radius:999px; background:rgba(148,163,184,.14); }
.payroll-stack .salary-segment { background:linear-gradient(90deg,#2563eb,#60a5fa); }
.payroll-stack .premium-segment { background:linear-gradient(90deg,#7c3aed,#a78bfa); }
.payroll-stack .other-segment { background:#f59e0b; }
.payroll-stack .extra-segment { background:#22c55e; }
.payroll-legend { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }
.payroll-legend>div,.payroll-ratios>div { padding:12px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.035); }
.payroll-legend i { width:9px; height:9px; display:inline-block; margin-right:7px; border-radius:50%; }
.salary-color { background:#60a5fa; }.premium-color { background:#a78bfa; }.other-color { background:#f59e0b; }.payable-color { background:#22c55e; }
.payroll-legend span,.payroll-legend strong,.payroll-ratios span,.payroll-ratios strong { display:block; }
.payroll-legend span,.payroll-ratios span { color:var(--muted); font-size:10px; }
.payroll-legend strong,.payroll-ratios strong { margin-top:6px; font-size:13px; }
.payroll-ratios { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:12px; }
.motivation-list { display:flex; flex-direction:column; gap:11px; margin-top:18px; }
.motivation-list>div { display:grid; grid-template-columns:minmax(150px,1.15fr) minmax(90px,.85fr) 90px; gap:10px; align-items:center; }
.motivation-list span { color:var(--muted); font-size:10px; line-height:1.35; }
.motivation-list>div>div { height:8px; overflow:hidden; border-radius:999px; background:rgba(148,163,184,.14); }
.motivation-list>div>div i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#7c3aed,#a78bfa); }
.motivation-list strong { text-align:right; font-size:11px; }
.payroll-no-bonus { margin:24px 0 0; line-height:1.6; }
.payroll-ranking-card { margin-top:15px; }
.payroll-point-chart-card { margin-top:15px; padding:21px; }
.payroll-point-chart-note { margin:10px 0 0; font-size:11px; }
.payroll-point-chart-scroll { max-height:560px; margin-top:17px; overflow:auto; border:1px solid var(--line); border-radius:12px; }
.payroll-point-chart { min-width:790px; }
.payroll-point-chart-row { display:grid; grid-template-columns:minmax(165px,1.3fr) repeat(3,minmax(170px,1fr)); gap:16px; align-items:center; min-height:64px; padding:9px 14px; border-bottom:1px solid var(--line); font-size:11px; }
.payroll-point-chart-row:last-child { border-bottom:0; }
.payroll-point-chart-row>strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.payroll-point-chart-header { position:sticky; top:0; z-index:1; min-height:42px; color:var(--muted); background:var(--card-strong); font-weight:750; }
.payroll-point-chart-metric>span { display:block; margin-bottom:6px; font-variant-numeric:tabular-nums; font-weight:700; }
.payroll-point-chart-track { height:10px; overflow:hidden; border-radius:999px; background:rgba(148,163,184,.16); }
.payroll-point-chart-track i { display:block; height:100%; border-radius:inherit; }
.payroll-point-chart-track .active-bar { background:linear-gradient(90deg,#2563eb,#60a5fa); }
.payroll-point-chart-track .metal-bar { background:linear-gradient(90deg,#d97706,#fbbf24); }
.payroll-point-chart-track .payroll-bar { background:linear-gradient(90deg,#7c3aed,#a78bfa); }
.payroll-monthly-card { margin-top:15px; padding:21px; overflow-x:auto; }
.payroll-monthly { min-width:790px; margin-top:17px; }
.payroll-monthly-row { display:grid; grid-template-columns:90px repeat(4,minmax(100px,.75fr)) minmax(150px,1.25fr); gap:12px; align-items:center; width:100%; min-height:49px; padding:8px 12px; border:0; border-bottom:1px solid var(--line); color:var(--text); background:transparent; text-align:right; font:inherit; font-size:11px; }
button.payroll-monthly-row { cursor:pointer; }
button.payroll-monthly-row:hover,button.payroll-monthly-row.active { background:rgba(59,130,246,.08); }
button.payroll-monthly-row.active { box-shadow:inset 3px 0 0 #60a5fa; }
.payroll-monthly-row>*:first-child { text-align:left; }
.payroll-monthly-header { color:var(--muted); background:rgba(15,23,42,.45); font-weight:750; }
.payroll-monthly-bar { height:9px; overflow:hidden; border-radius:999px; background:rgba(148,163,184,.14); }
.payroll-monthly-bar i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#2563eb,#60a5fa); }
.payroll-ranking { min-width:850px; margin-top:17px; }
.payroll-ranking-row { display:grid; grid-template-columns:minmax(170px,1.4fr) repeat(5,minmax(80px,.7fr)) minmax(105px,.8fr); gap:10px; align-items:center; width:100%; min-height:48px; padding:8px 12px; border:0; border-bottom:1px solid var(--line); color:var(--text); background:transparent; text-align:right; font:inherit; font-size:11px; }
button.payroll-ranking-row { cursor:pointer; }
button.payroll-ranking-row:hover,button.payroll-ranking-row.active { background:rgba(59,130,246,.08); }
button.payroll-ranking-row.active { box-shadow:inset 3px 0 0 #60a5fa; }
.payroll-ranking-row>*:first-child { text-align:left; }
.payroll-ranking-header { color:var(--muted); background:rgba(15,23,42,.45); font-weight:750; }
.payroll-ranking-card { overflow-x:auto; }
@media (max-width:1100px) { .payroll-analysis-grid { grid-template-columns:1fr; }.payroll-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .payroll-legend,.payroll-ratios { grid-template-columns:1fr; }.motivation-list>div { grid-template-columns:1fr 80px; }.motivation-list>div>div { display:none; } }
@media (max-width:560px) { .payroll-kpis { grid-template-columns:1fr; }.payroll-selectors { min-width:0; }.payroll-breakdown,.payroll-motivation,.payroll-ranking-card,.payroll-comparison-card,.payroll-point-chart-card { padding:16px; } }
.detail-bottom { grid-template-columns:minmax(0,1fr); }
.bar-chart { position:relative; }
.bar { cursor:pointer; }
.bar:focus-visible { outline:2px solid var(--blue); outline-offset:3px; filter:brightness(1.08); }
.bar-tooltip { position:absolute; top:8px; left:50%; transform:translateX(-50%); z-index:2; min-width:150px; padding:8px 11px; border:1px solid var(--line); border-radius:9px; background:var(--card-strong); box-shadow:0 8px 22px rgba(0,0,0,.18); color:var(--text); pointer-events:none; text-align:center; font-size:11px; white-space:nowrap; }
.bar-tooltip span,.bar-tooltip strong { display:block; }
.bar-tooltip strong { margin-top:2px; font-size:14px; font-variant-numeric:tabular-nums; }
.history-kpis { grid-template-columns:repeat(5,minmax(0,1fr)); }
.history-table { min-width:1250px; }
.history-row { grid-template-columns:82px repeat(8,minmax(120px,1fr)); }
@media (max-width:1100px) { .history-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .history-kpis { grid-template-columns:1fr; } }
.kpi-icon { min-width:34px; width:34px; font-size:11px; }
.brand-mark { display:block; width:38px; height:38px; flex:none; object-fit:contain; border-radius:0; background:none; box-shadow:none; }
.market-rates { margin:15px 0 0; padding:21px; color:var(--text); }
.market-rates-heading { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:8px 15px; margin-bottom:16px; }
.market-rates-heading h2 { margin:5px 0 0; font-size:18px; }
.market-rates-heading time { color:var(--muted); font-size:11px; }
.market-rates-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.market-rate-card { min-width:0; padding:17px; border:1px solid var(--line); border-radius:12px; background:rgba(96,165,250,.055); }
.market-rate-row { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; min-width:0; }
.market-rate-row>div { min-width:0; display:flex; flex-direction:column; gap:2px; }
.market-rate-label { font-size:12px; font-weight:700; }
.market-rate-row small { color:var(--muted); font-size:10px; }
.market-rate-row strong { display:block; font-size:23px; line-height:1.1; font-variant-numeric:tabular-nums; letter-spacing:-.03em; white-space:nowrap; }
.market-rate-row strong em { color:var(--muted); font-size:11px; font-style:normal; font-weight:500; letter-spacing:0; }
.market-rate-change { display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 5px; margin:11px 0 0; font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; line-height:1.3; }
.market-rate-change.up { color:#22c55e; }
.market-rate-change.down { color:#ff808b; }
.market-rate-change.flat { color:var(--muted); }
.market-rate-change small { color:var(--muted); font-size:10px; font-weight:500; }
.market-rate-asof { margin:7px 0 0; color:var(--muted); font-size:10px; line-height:1.35; }
.market-chart { margin-top:16px; padding:18px; border:1px solid var(--line); border-radius:14px; background:rgba(96,165,250,.035); }
.market-chart-heading { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.market-chart-heading h3 { margin:5px 0 0; font-size:16px; }
.market-chart-controls { display:flex; align-items:end; flex-wrap:wrap; gap:8px; }
.market-chart-controls label { display:flex; flex-direction:column; gap:4px; color:var(--muted); font-size:10px; }
.market-chart-controls select { min-height:36px; padding:0 25px 0 10px; border:1px solid var(--line); border-radius:8px; color:var(--text); background:var(--card-strong); font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.market-chart-controls select:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.market-chart-source { margin:13px 0 0; color:var(--muted); font-size:10px; line-height:1.45; }
.market-chart-switch { display:flex; gap:4px; padding:3px; border:1px solid var(--line); border-radius:9px; background:rgba(96,165,250,.07); }
.market-chart-switch button { border:0; border-radius:6px; padding:7px 12px; background:transparent; color:var(--muted); font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.market-chart-switch button.active { background:var(--blue); color:#fff; }
.market-chart-switch button:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.market-chart-summary { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 15px; margin:18px 0 9px; font-size:11px; color:var(--muted); }
.market-chart-summary strong { font-size:14px; font-variant-numeric:tabular-nums; }
.market-chart-summary strong.up { color:#22c55e; }.market-chart-summary strong.down { color:#ff808b; }.market-chart-summary strong.flat { color:var(--muted); }
.market-chart-summary small { font-size:11px; }
.market-chart-plot { position:relative; padding-left:62px; }
.market-chart-plot svg { display:block; width:100%; height:210px; overflow:visible; }
.market-chart-ylabels { position:absolute; top:0; bottom:0; left:0; display:flex; flex-direction:column; justify-content:space-between; color:var(--muted); font-size:10px; font-variant-numeric:tabular-nums; }
.market-chart-grid { fill:none; stroke:var(--line); stroke-width:1; vector-effect:non-scaling-stroke; }
.market-chart-area { fill:rgba(59,130,246,.14); }
.market-chart-line { fill:none; stroke:#60a5fa; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.market-chart-end { fill:#93c5fd; stroke:var(--bg); stroke-width:2; vector-effect:non-scaling-stroke; }
.market-chart-content.usd .market-chart-area { fill:rgba(34,197,94,.13); }
.market-chart-content.usd .market-chart-line { stroke:#22c55e; }
.market-chart-content.usd .market-chart-end { fill:#4ade80; }
.market-chart-dates { display:flex; justify-content:space-between; padding-left:62px; margin-top:5px; color:var(--muted); font-size:10px; }
.market-chart-empty { margin:24px 0 8px; color:var(--muted); font-size:12px; }
.market-rates-sources { display:flex; flex-wrap:wrap; gap:5px; margin:13px 0 0; color:var(--muted); font-size:10px; }
.market-rates-sources a { color:var(--blue); text-decoration:none; }.market-rates-sources a:hover { text-decoration:underline; }
.market-rates .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
[data-theme="light"] .market-rate-change.down { color:#dc2626; }
@media (max-width:700px) { .market-rates-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .market-rates { padding:17px; }.market-rate-row { display:block; }.market-rate-row strong { margin-top:8px; font-size:21px; }.market-chart { padding:14px; }.market-chart-controls { width:100%; }.market-chart-controls label { flex:1 1 105px; }.market-chart-controls select { width:100%; }.market-chart-switch { flex:1 1 100%; justify-content:center; }.market-chart-switch button { flex:1; }.market-chart-plot { padding-left:51px; }.market-chart-plot svg { height:160px; }.market-chart-dates { padding-left:51px; }.market-chart-ylabels { font-size:9px; } }
.gold-comparison { scroll-margin-top:95px; margin-top:15px; padding:21px; }
.gold-comparison-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.gold-comparison-head h2 { margin:5px 0 0; font-size:18px; }
.gold-comparison-head p { margin:6px 0 0; color:var(--muted); font-size:11px; }
.gold-comparison-head>a { flex:none; color:var(--blue); font-size:11px; font-weight:700; text-decoration:none; }
.gold-comparison-head>a:hover,.gold-comparison-source a:hover { text-decoration:underline; }
.gold-comparison-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:17px; }
.gold-comparison-price { min-width:0; padding:17px; border:1px solid var(--line); border-radius:12px; background:rgba(96,165,250,.055); }
.gold-comparison-price>span { display:block; min-height:18px; color:var(--muted); font-size:11px; font-weight:650; }
.gold-comparison-price strong { display:block; margin:9px 0 5px; color:var(--text); font-size:23px; line-height:1.1; font-variant-numeric:tabular-nums; }
.gold-comparison-price strong small { color:var(--muted); font-size:11px; font-weight:500; }
.gold-comparison-price p { margin:0 0 7px; color:var(--text); font-size:11px; }
.gold-comparison-price>small { color:var(--muted); font-size:10px; line-height:1.4; }
.gold-comparison-spreads { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.gold-comparison-spread { padding:6px 9px; border-radius:7px; font-size:10px; font-weight:700; }
.gold-comparison-spread.up { color:#16a34a; background:rgba(34,197,94,.11); }
.gold-comparison-spread.down { color:#f87171; background:rgba(248,113,113,.12); }
.gold-comparison-spread.flat { color:var(--muted); background:rgba(148,163,184,.1); }
.gold-comparison-note { margin:13px 0 0; color:var(--amber); font-size:10px; }
.gold-comparison-source { margin:15px 0 0; padding-top:11px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.gold-comparison-source a { color:var(--blue); text-decoration:none; }
[data-theme="light"] .gold-comparison-spread.down { color:#dc2626; }
@media (max-width:1100px) { .gold-comparison-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .gold-comparison { padding:17px; }.gold-comparison-head { flex-direction:column; gap:8px; }.gold-comparison-price strong { font-size:21px; } }
.region-snapshot em.danger-text { color:var(--red); }
.asset-reconciliation { margin-top:16px; padding:16px; border:1px solid var(--line); border-radius:14px; background:rgba(96,165,250,.055); }
.asset-reconciliation h3 { margin:0 0 12px; font-size:14px; }
.asset-reconciliation-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.asset-reconciliation-values>div { display:flex; flex-direction:column; gap:5px; padding:12px; border-radius:10px; background:var(--card-strong); }
.asset-reconciliation-values span,.asset-reconciliation>p { color:var(--muted); font-size:11px; }
.asset-reconciliation-values strong { font-size:18px; font-variant-numeric:tabular-nums; }
.asset-reconciliation>p { margin:10px 0 0; }
.asset-reconciliation details { margin-top:12px; }
.asset-reconciliation summary { cursor:pointer; color:var(--blue); font-size:12px; font-weight:700; }
.asset-reconciliation details>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 16px; margin-top:10px; }
.asset-reconciliation details p { display:flex; justify-content:space-between; gap:10px; margin:0; padding:8px 10px; border-radius:8px; background:var(--card-strong); font-size:11px; }
.asset-reconciliation details strong { white-space:nowrap; font-variant-numeric:tabular-nums; }
@media (max-width:700px) { .asset-reconciliation-values,.asset-reconciliation details>div { grid-template-columns:1fr; } }
.portfolio-hero { min-height:178px; }
.portfolio-filters { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:18px; margin-top:16px; padding:20px; }
.portfolio-filters h2 { margin:6px 0 0; font-size:18px; }
.portfolio-selects { display:flex; flex-wrap:wrap; gap:12px; }
.portfolio-selects label { display:flex; flex-direction:column; gap:7px; color:var(--muted); font-size:11px; }
.portfolio-selects select { min-width:160px; height:40px; padding:0 12px; border:1px solid var(--line); border-radius:10px; background:var(--card-strong); color:var(--text); cursor:pointer; }
.portfolio-message { margin-top:15px; padding:25px; color:var(--muted); font-size:13px; }
.accounting-retry { margin-left:14px; padding:8px 14px; border:1px solid rgba(96,165,250,.5); border-radius:9px; color:var(--text); background:rgba(96,165,250,.13); font:inherit; font-weight:750; cursor:pointer; }
.accounting-retry:hover { background:rgba(96,165,250,.22); }
@media (max-width:560px) { .accounting-retry { display:block; margin:12px 0 0; } }
.portfolio-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:15px; }
.portfolio-kpi { min-height:138px; padding:18px; }
.portfolio-kpi span,.portfolio-kpi small { display:block; color:var(--muted); font-size:11px; line-height:1.45; }
.portfolio-kpi strong { display:block; margin:13px 0 8px; font-size:24px; font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
.portfolio-conclusion { margin-top:15px; padding:19px 21px; border-left:3px solid var(--blue); }
.portfolio-conclusion p { margin:9px 0 0; font-size:13px; line-height:1.65; }
.portfolio-conclusion strong { color:var(--text); font-weight:750; font-variant-numeric:tabular-nums; }
.portfolio-chart-card,.portfolio-table-card { margin-top:15px; padding:21px; }
.portfolio-legend { display:flex; gap:18px; margin-top:18px; color:var(--muted); font-size:11px; }
.portfolio-legend span { display:flex; align-items:center; gap:7px; }
.portfolio-legend i { width:10px; height:10px; border-radius:3px; }
.portfolio-overdue-color { background:linear-gradient(180deg,#fbbf24,#d97706); }
.portfolio-fallout-color { background:linear-gradient(180deg,#818cf8,#4f46e5); }
.portfolio-chart-scroll { overflow-x:auto; }
.portfolio-chart { display:grid; grid-template-columns:repeat(12,minmax(62px,1fr)); gap:8px; align-items:end; min-width:810px; height:235px; margin-top:10px; border-bottom:1px solid var(--line); }
.portfolio-chart-month { display:flex; flex-direction:column; align-items:center; justify-content:end; height:100%; color:var(--muted); font-size:10px; white-space:nowrap; }
.portfolio-chart-month.selected { color:var(--text); font-weight:750; }
.portfolio-bar-pair { display:flex; align-items:end; justify-content:center; gap:4px; width:100%; height:185px; padding:0 9px; }
.portfolio-bar-pair i { display:block; width:18px; min-height:2px; border-radius:5px 5px 0 0; }
.portfolio-chart-month>span { display:block; padding:8px 0; }
.portfolio-note { margin:12px 0 0; color:var(--muted); font-size:11px; }
.portfolio-table-scroll { max-height:600px; overflow:auto; margin-top:17px; border:1px solid var(--line); border-radius:11px; }
.portfolio-table { min-width:1180px; }
.portfolio-row { display:grid; grid-template-columns:minmax(170px,1.4fr) repeat(8,minmax(105px,1fr)); gap:10px; align-items:center; min-height:44px; padding:8px 12px; border-bottom:1px solid var(--line); font-size:11px; text-align:right; font-variant-numeric:tabular-nums; }
.portfolio-row:last-child { border-bottom:0; }
.portfolio-row>*:first-child { text-align:left; }
.portfolio-table-header { position:sticky; top:0; z-index:2; min-height:48px; color:var(--muted); background:var(--card-strong); font-size:10px; font-weight:750; }
.portfolio-row:not(.portfolio-table-header):hover { background:rgba(96,165,250,.07); }
.portfolio-risk { color:var(--red); font-weight:750; }
@media (max-width:1100px) { .portfolio-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .portfolio-kpis { grid-template-columns:1fr; }.portfolio-selects,.portfolio-selects label,.portfolio-selects select { width:100%; }.portfolio-chart-card,.portfolio-table-card { padding:16px; } }
.management-hero { min-height:190px; }
.management-period { display:flex; flex-direction:column; gap:7px; min-width:250px; color:var(--muted); font-size:11px; }
.management-period select { height:40px; padding:0 12px; border:1px solid rgba(255,255,255,.22); border-radius:10px; background:#183354; color:#fff; cursor:pointer; }
.management-period small { line-height:1.4; }
.management-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:15px; }
.management-kpis .portfolio-kpi { min-height:156px; }
.management-kpis .management-compare { display:block; width:max-content; max-width:100%; margin-top:10px; padding:4px 7px; border-radius:7px; font-size:10px; font-weight:700; font-variant-numeric:tabular-nums; }
.management-compare.positive { color:#15803d; background:#eaf8ef; }
.management-compare.negative { color:#dc2626; background:#fef0f0; }
.management-compare.neutral { color:var(--muted); background:rgba(148,163,184,.12); }
.management-compare.muted { color:var(--muted); padding-left:0; }
.app-shell:not([data-theme="light"]) .management-compare.positive { color:#86efac; background:rgba(34,197,94,.14); }
.app-shell:not([data-theme="light"]) .management-compare.negative { color:#fca5a5; background:rgba(239,68,68,.14); }
.management-expenses-card { margin-top:15px; padding:22px 24px; overflow:hidden; }
.management-expenses-content { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr); gap:30px; align-items:center; margin-top:10px; }
.management-expenses-donut { position:relative; width:min(100%,220px); aspect-ratio:1; margin:auto; }
.management-expenses-donut svg { display:block; width:100%; height:100%; transform:rotate(-90deg); }
.management-expenses-donut circle { fill:none; stroke-width:23; }
.management-expenses-track { stroke:#29b8ad; opacity:.82; }
.management-expenses-arc { stroke:#638cff; stroke-linecap:round; transition:stroke-dasharray .35s ease; }
.management-expenses-center { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.management-expenses-center strong { font-size:32px; letter-spacing:-.05em; font-variant-numeric:tabular-nums; }
.management-expenses-center span { margin-top:2px; color:var(--muted); font-size:11px; }
.management-expenses-detail { display:grid; gap:16px; }
.management-expenses-intro { margin:0 0 3px; font-size:14px; line-height:1.5; }
.management-expenses-intro strong { color:#7b9dff; }
.management-expenses-item>div:first-child { display:flex; justify-content:space-between; gap:16px; align-items:center; font-size:12px; }
.management-expenses-item span { display:inline-flex; align-items:center; gap:8px; color:var(--muted); }
.management-expenses-item strong { white-space:nowrap; font-variant-numeric:tabular-nums; }
.management-expenses-dot { display:inline-block; width:9px; height:9px; border-radius:50%; }
.management-expenses-dot.commercial,.management-expenses-bar .commercial { background:#638cff; }
.management-expenses-dot.other,.management-expenses-bar .other { background:#29b8ad; }
.management-expenses-bar { height:9px; margin:9px 0 5px; border-radius:9px; background:rgba(148,163,184,.17); overflow:hidden; }
.management-expenses-bar i { display:block; height:100%; border-radius:9px; }
.management-expenses-item small,.management-expenses-formula,.management-expenses-change,.management-expenses-empty { color:var(--muted); font-size:11px; line-height:1.5; }
.management-expenses-change { padding:9px 11px; border:1px solid var(--line); border-radius:9px; width:max-content; max-width:100%; }
.management-expenses-formula { margin:13px 0 0; border-top:1px solid var(--line); padding-top:12px; }
.management-expenses-empty { margin:18px 0 0; }
[data-theme="light"] .management-expenses-intro strong { color:#315bd7; }
@media (max-width:700px) { .management-expenses-content { grid-template-columns:1fr; gap:14px; }.management-expenses-donut { width:190px; }.management-expenses-card { padding:18px; } }
.management-conclusion { margin-top:15px; padding:19px 21px; border-left:3px solid var(--blue); }
.management-conclusion p { margin:9px 0 0; font-size:13px; line-height:1.65; }
.management-conclusion strong { font-variant-numeric:tabular-nums; }
.management-loss { color:var(--red)!important; }
.management-breakdown-card { margin-top:15px; padding:22px 24px; }
.management-breakdown-stack { display:flex; height:24px; margin:23px 0 20px; overflow:hidden; border-radius:9px; background:rgba(148,163,184,.12); }
.management-breakdown-stack span { display:block; min-width:2px; border-right:2px solid var(--card); transition:width .35s ease; }
.management-breakdown-stack span:last-child { border-right:0; }
.management-breakdown-list { display:grid; gap:4px; }
.management-breakdown-row { display:grid; grid-template-columns:minmax(160px,1.35fr) minmax(120px,2fr) 66px 120px; gap:14px; align-items:center; min-height:48px; border-bottom:1px solid var(--line); font-size:12px; font-variant-numeric:tabular-nums; }
.management-breakdown-row:last-child { border-bottom:0; }
.management-breakdown-name { display:flex; align-items:center; gap:9px; }
.management-breakdown-name i { flex:0 0 9px; width:9px; height:9px; border-radius:3px; }
.management-breakdown-track { height:9px; overflow:hidden; border-radius:9px; background:rgba(148,163,184,.14); }
.management-breakdown-track i { display:block; height:100%; border-radius:9px; }
.management-breakdown-row strong,.management-breakdown-amount { text-align:right; white-space:nowrap; }
.management-breakdown-amount { color:var(--muted); }
.management-breakdown-note { margin:15px 0 0; color:var(--muted); font-size:11px; line-height:1.55; }
.management-source { margin-top:15px; padding:18px 21px; }
.management-source strong { font-size:12px; }
.management-source p { max-width:1050px; margin:8px 0; color:var(--muted); font-size:11px; line-height:1.6; }
.management-source a { color:var(--blue); font-size:11px; font-weight:700; text-decoration:none; }
@media (max-width:1100px) { .management-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .management-kpis { grid-template-columns:1fr; }.management-period,.management-period select { width:100%; }.management-breakdown-card { padding:18px; }.management-breakdown-row { grid-template-columns:minmax(0,1fr) 64px; gap:6px 12px; padding:9px 0; }.management-breakdown-track { grid-column:1/-1; grid-row:2; }.management-breakdown-amount { grid-column:1; grid-row:3; text-align:left; }.management-breakdown-row strong { grid-column:2; grid-row:1; } }

/* Phone presentation and installable web app */
.mobile-quick-nav { display:none; }
@media (max-width:820px) {
  .app-shell { min-width:0; }
  .content { width:100%; }
  .page-content { max-width:100%; }
  .menu-button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border-radius:12px; }
  .sidebar { width:min(320px,88vw); padding-top:max(24px,env(safe-area-inset-top)); }
  .sidebar nav button { min-height:48px; }
  .topbar { min-height:72px; height:auto; padding-top:env(safe-area-inset-top); }
  .topbar h1 { overflow-wrap:anywhere; }
  .page-content { padding-bottom:calc(92px + env(safe-area-inset-bottom)); }
  .mobile-quick-nav { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); position:fixed; z-index:24; inset:auto 0 0; min-height:calc(64px + env(safe-area-inset-bottom)); padding:5px 8px calc(5px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:var(--card-strong); box-shadow:0 -10px 28px rgba(0,0,0,.18); backdrop-filter:blur(20px); }
  .mobile-quick-nav button { min-width:0; min-height:54px; padding:7px 2px; border:0; border-radius:11px; background:transparent; color:var(--muted); font-size:12px; font-weight:750; cursor:pointer; }
  .mobile-quick-nav button.active { color:#fff; background:linear-gradient(135deg,#225fd3,#4d71df); box-shadow:0 5px 14px rgba(37,99,235,.25); }
  .mobile-quick-nav button:focus-visible,.menu-button:focus-visible,.sidebar nav button:focus-visible { outline:2px solid #87b9ff; outline-offset:2px; }
  .metric-table,.history-table-wrap,.operations-table-wrap,.collateral-table-wrap,.payroll-comparison-card,.payroll-point-chart-scroll,.payroll-monthly-card,.payroll-ranking-card,.portfolio-chart-scroll { overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
}
@media (max-width:560px) {
  html,body { max-width:100%; overflow-x:clip; }
  .topbar { display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:8px; padding-inline:12px; }
  .topbar>div:nth-child(2) { min-width:0; }
  .topbar h1 { font-size:19px; line-height:1.2; }
  .toolbar { min-width:0; margin-left:0; }
  .select-wrap { padding-inline:7px; }
  .select-wrap select { max-width:60px; }
  .theme-toggle { width:44px; min-width:44px; min-height:44px; }
  .page-content { padding-inline:12px; }
  .detail-hero,.conclusions-hero,.history-hero { padding:21px 18px; }
  .detail-hero h2,.conclusions-hero h2,.history-hero h2 { font-size:22px; line-height:1.2; }
  .detail-hero p,.conclusions-hero p,.history-hero p { font-size:13px; }
  .kpi,.history-kpi,.portfolio-kpi { min-height:125px; padding:16px; }
  .kpi strong,.history-kpi>strong { font-size:23px; overflow-wrap:anywhere; }
  .kpi-top,.history-kpi>span:first-child { font-size:13px; }
  .kpi-foot,.portfolio-kpi small { font-size:11px; }
  .legend { flex-wrap:wrap; }
  .bar-chart { gap:5px; padding-inline:0; }
  .bar-group { min-width:0; }
  .bars { width:100%; max-width:54px; }
  .bar { width:40%; }
  .card-heading { flex-wrap:wrap; }
  .management-kpis,.portfolio-kpis,.payroll-kpis { grid-template-columns:1fr; }
}

/* Strategic analysis extends the established card system without changing existing pages. */
.strategy-page { display:grid; gap:16px; min-width:0; }
.strategy-director { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:19px 22px; margin-bottom:16px; }
.strategy-director h2 { margin:6px 0; font-size:20px; }
.strategy-director p { max-width:760px; margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.strategy-director-actions { display:flex; flex-wrap:wrap; gap:8px; }
.strategy-director-actions button { min-height:38px; white-space:nowrap; padding:7px 11px; border:1px solid var(--line); border-radius:9px; background:var(--card-strong,var(--card)); color:var(--text); cursor:pointer; font-size:11px; font-weight:700; }
.strategy-director-actions button:hover,.strategy-director-actions button:focus-visible { border-color:var(--blue); outline:none; }
.strategy-hero { margin:0; }
.strategy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.strategy-tile { min-height:120px; padding:19px 21px; display:flex; flex-direction:column; gap:10px; }
.strategy-tile span { color:var(--muted); font-size:12px; }
.strategy-tile strong { color:var(--text); font-size:23px; line-height:1.2; letter-spacing:-.02em; overflow-wrap:anywhere; }
.strategy-tile small { margin-top:auto; color:var(--muted); font-size:11px; line-height:1.5; }
.strategy-tile.danger { border-color:rgba(248,113,113,.5); }
.strategy-tile.danger strong { color:var(--red); }
.strategy-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.strategy-panel { padding:22px; min-width:0; }
.strategy-panel h3 { margin:7px 0 15px; color:var(--text); font-size:18px; }
.strategy-filters { padding:16px 20px; display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.strategy-filters label,.strategy-inline-select { display:grid; gap:6px; color:var(--muted); font-size:11px; font-weight:700; }
.strategy-filters select,.strategy-inline-select select { min-height:39px; min-width:145px; max-width:240px; padding:8px 10px; color:var(--text); background:var(--card-strong,var(--card)); border:1px solid var(--line); border-radius:9px; }
.strategy-filters select:disabled { opacity:.55; }
.strategy-filters>span { color:var(--muted); font-size:11px; padding-bottom:8px; }
.strategy-table-wrap { overflow:auto; max-width:100%; -webkit-overflow-scrolling:touch; }
.strategy-table { width:100%; border-collapse:collapse; color:var(--text); font-size:12px; }
.strategy-table th,.strategy-table td { padding:11px 10px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap; }
.strategy-table th { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.strategy-table td:not(:first-child),.strategy-table th:not(:first-child) { text-align:right; }
.strategy-table tr:last-child td { border-bottom:0; }
.strategy-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.strategy-comparison>div { display:grid; gap:9px; padding:15px; border:1px solid var(--line); border-radius:11px; }
.strategy-comparison span { color:var(--muted); font-size:11px; }
.strategy-comparison strong { color:var(--text); font-size:20px; }
.strategy-comparison small { color:var(--muted); font-size:11px; }
.strategy-missing { padding:18px 21px; border-left:3px solid var(--amber); }
.strategy-missing strong { color:var(--text); font-size:13px; }
.strategy-missing p,.strategy-note,.strategy-muted,.strategy-source { color:var(--muted); font-size:11px; line-height:1.6; }
.strategy-missing p { margin:7px 0 0; }
.strategy-note { margin:15px 0 0; }
.strategy-source { margin:0 3px; }
.strategy-source a { color:var(--blue); text-decoration:none; }
.strategy-load-error { padding:11px 17px; color:var(--amber); font-size:12px; }
.strategy-alerts { margin:0; padding-left:18px; display:grid; gap:12px; font-size:12px; line-height:1.55; }
.strategy-alerts strong { color:var(--red); }
.strategy-gold-chart { margin-top:16px; }
.strategy-gold-chart svg { display:block; width:100%; height:200px; }
.strategy-chart-grid { fill:none; stroke:var(--line); stroke-width:1; }
.strategy-chart-line { fill:none; stroke:var(--blue); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.strategy-gold-chart>div { display:flex; justify-content:space-between; gap:8px; align-items:center; color:var(--muted); font-size:10px; }
.strategy-gold-chart strong { color:var(--text); font-size:12px; }
.metric-year small { display:none; }
@media (max-width:560px) {
  .metric-table { overflow:visible; padding:4px 12px; }
  .metric-row { min-width:0; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px 12px; padding:14px 6px; }
  .metric-row.metric-header { display:block; padding:12px 6px; }
  .metric-header span:not(:first-child) { display:none; }
  .metric-header span:first-child::after { content:" · 2025 и 2024"; }
  .metric-row:not(.metric-header)>strong { grid-column:1/-1; font-size:13px; }
  .metric-row .metric-year { display:grid; gap:5px; align-content:start; font-size:13px; }
  .metric-row .metric-year small { display:block; color:var(--muted); font-size:10px; font-weight:650; }
  .metric-row .metric-year-2025 { grid-column:1; grid-row:2; font-size:17px; font-weight:800; }
  .metric-row .metric-year-2024 { grid-column:2; grid-row:2; color:var(--muted); }
  .metric-row:not(.metric-header) .trend { grid-column:1; grid-row:3; justify-self:start; }
  .metric-row:not(.metric-header) .norm { grid-column:2; grid-row:3; align-self:center; }
  .metric-row:not(.metric-header) .norm::before { content:"Норматив: "; }
}
@media (max-width:1100px) { .strategy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .strategy-grid,.strategy-pair,.strategy-comparison { grid-template-columns:1fr; }.strategy-director { flex-direction:column; align-items:stretch; }.strategy-director-actions button { flex:1; }.strategy-filters label,.strategy-filters select { width:100%; max-width:none; }.strategy-tile { min-height:105px; }.strategy-panel { padding:17px; } }
