#finance-view { min-width:0; }
#finance-view>.page-heading { padding:20px 24px;border:1px solid var(--border);border-radius:16px;background:var(--surface); }
#finance-status:not(:empty) { padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface); }
.fc-group-summary { display:grid;grid-template-columns:minmax(170px,1fr) repeat(3,minmax(100px,.5fr));align-items:center;gap:16px;width:100%; }
.fc-group-summary small { display:block;font-size:.72rem;color:var(--text-secondary);font-weight:400;margin-bottom:4px; }
.fc-group-summary strong { font-size:.86rem;font-variant-numeric:tabular-nums; }
.fc-group>summary { display:flex;align-items:center;gap:12px;list-style:none; }
.fc-group>summary::-webkit-details-marker { display:none; }
.fc-group>summary::before { content:'›';font-size:1.3rem;flex:none;transition:transform 180ms ease; }
.fc-group[open]>summary::before { transform:rotate(90deg); }
@media(prefers-reduced-motion:reduce){.fc-group>summary::before{transition:none;}}
@media(max-width:650px){.fc-group-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}.fc-group-summary>b{grid-column:1/-1;}.fc-group-summary strong{font-size:.72rem;}#finance-view>.page-heading{padding:16px;}}
.finance-tabs,.finance-actions,.finance-report-heading { display:flex;align-items:center;flex-wrap:wrap;gap:10px; }
.finance-tabs { margin-bottom:16px; }
.finance-tabs button { min-height:42px;padding:10px 18px;font-weight:600; }
.finance-tabs { gap:6px; }
.finance-tabs button { min-height:38px;padding:8px 13px;font-size:.83rem;white-space:nowrap; }
.fc-toolbar { display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 14px;margin-bottom:10px; }
.fc-toolbar select { min-width:165px;max-width:240px; }
.fc-toolbar select,.fc-toolbar input,.fc-toolbar button { min-height:38px;margin:0; }
.fc-toolbar>button { margin-left:auto; }
.fc-period { display:flex;align-items:center;gap:4px; }
.fc-period button { width:38px;padding:0; }
.fc-period input { width:155px; }
.fc-sources { display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px; }
.fc-sources span { border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:5px 10px;color:var(--text-secondary);font-size:.72rem; }
.fc-sources span[data-status="ready"] { color:var(--theme-success,#24794b); }
.fc-sources span[data-status="error"] { color:var(--theme-danger,#b83249); }
.fc-sources span[data-status="partial"] { color:var(--theme-warning,#926111); }
.fc-sources span[data-status="stale"] { color:var(--theme-warning,#926111); }
#finance-view .fc-metric[data-tone="danger"] { border-color:var(--theme-danger,#b83249); }
#finance-view .fc-metric[data-tone="danger"] strong { color:var(--theme-danger,#b83249); }
#finance-view .fc-metric[data-tone="success"] strong { color:var(--theme-success,#24794b); }
.fc-dividend-payments > summary { display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;color:var(--fc-ink); }
.fc-dividend-payments > summary::-webkit-details-marker { display:none; }
.fc-dividend-payments > summary::before { content:"›";font-size:1.2rem;flex:none; }
.fc-dividend-payments[open] > summary::before { transform:rotate(90deg); }
.fc-dividend-payments > summary strong { min-width:0; }
.fc-dividend-payments > summary span { white-space:nowrap;margin-left:auto; }
.fc-reserve-form { display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding:10px 0; }
.fc-reserve-form label { display:grid;gap:6px;min-width:0;font-size:.82rem;color:var(--text-secondary); }
.fc-reserve-form input { width:230px;max-width:100%; }
@media(max-width:650px){.fc-reserve-form label{width:100%;}.fc-reserve-form input{width:100%;}}
.fc-title { display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin:12px 0; }
.fc-title h2 { margin:0;font-size:1.28rem; }
.fc-export { margin-left:auto;border:1px solid var(--border);border-radius:9px;padding:8px 12px;background:var(--surface);color:var(--accent);font-size:.82rem;text-decoration:none; }
.fc-export:hover { border-color:var(--accent); }
.fc-period-note { margin:0 0 12px; }
.fc-metrics,.fc-sync-cards { display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;margin:0 0 12px; }
.fc-metric { display:grid;align-content:start;gap:7px;padding:15px 17px;min-width:0; }
.fc-metric strong { font-size:1.16rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.fc-metric small { line-height:1.35; }
.fc-notice { display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:12px 15px;margin:9px 0 14px;border-color:var(--accent); }
.fc-notice-title { font-weight:600;color:var(--accent); }
.fc-notice p { margin:0;font-size:.82rem;line-height:1.45; }
.fc-section { padding:15px;margin:12px 0; }
.fc-section h3,.fc-calendar-detail h3 { margin:0 0 12px;font-size:1rem; }
.fc-empty { padding:14px;margin:0;line-height:1.5; }
.fc-load { display:grid;grid-template-columns:32px 95px minmax(50px,1fr) 145px;gap:10px;align-items:center;padding:6px 0;font-size:.8rem; }
.fc-load strong { text-align:right;font-variant-numeric:tabular-nums; }
.fc-load-track { height:6px;border-radius:999px;background:var(--accent-soft);overflow:hidden; }
.fc-load-track i { display:block;height:100%;border-radius:inherit;background:var(--accent); }
.fc-table-wrap { padding:0;margin:10px 0;overflow-x:auto; }
.fc-table { border-collapse:collapse;width:100%;font-size:.82rem; }
.fc-table th,.fc-table td { text-align:left;vertical-align:top;padding:9px 12px;border-bottom:1px solid var(--border); }
.fc-table th { color:var(--text-secondary);font-size:.72rem;white-space:nowrap; }
.fc-table tr:last-child td { border-bottom:0; }
.fc-table td:last-child { white-space:nowrap;font-variant-numeric:tabular-nums; }
.fc-payment-description { display:grid;gap:4px;min-width:180px; }
.fc-payment-description strong { font-weight:600; }
.fc-move summary { width:max-content;cursor:pointer;color:var(--accent);font-size:.74rem; }
.fc-move-form { display:flex;flex-wrap:wrap;gap:6px;margin-top:8px; }
.fc-move-form input { min-height:34px;margin:0; }
.fc-move-form input[type="text"] { min-width:180px;flex:1; }
.fc-move-form button { min-height:34px;padding:6px 10px; }
.fc-calendar { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:8px; }
.fc-weekday { text-align:center;color:var(--text-secondary);font-size:.74rem;font-weight:600;padding:6px; }
html:root .fc-day { display:grid;align-content:start;gap:5px;min-height:92px;padding:9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:none;text-align:left;color:var(--text-primary);font-size:.75rem; }
html:root .fc-day:hover,html:root .fc-day[aria-current="date"] { border-color:var(--accent);background:var(--accent-soft); }
html:root .fc-day[data-weekend="true"] { background:var(--surface-hover); }
.fc-day strong { font-size:.88rem; }
.fc-day small { color:var(--text-secondary);line-height:1.35; }
.fc-day-compact { display:none; }
.fc-calendar-detail { margin:13px 0; }
.fc-filters { display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px; }
.fc-filters input,.fc-filters select { min-height:36px;margin:0; }
.fc-filters input[type="search"] { flex:1;min-width:170px; }
.fc-group { margin:7px 0;overflow:hidden; }
.fc-group>summary { cursor:pointer;padding:12px 15px;font-weight:600; }
.fc-group .fc-table-wrap { box-shadow:none;border:0;margin:0; }
.fc-mapping { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--border); }
.fc-mapping select { width:180px;max-width:50%;margin:0; }
.fc-unclassified { display:grid;gap:8px;padding:10px 0;border-top:1px solid var(--border);font-size:.82rem; }
.fc-classify { display:flex;flex-wrap:wrap;gap:7px; }
.fc-classify input { min-width:150px;min-height:36px;margin:0;flex:1; }
.fc-classify button { min-height:36px;padding:7px 12px; }
@media(max-width:700px){.finance-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;}.finance-tabs button{flex:none;}.fc-toolbar>button{margin-left:0;}.fc-calendar{gap:2px;padding:5px;}.fc-day{min-height:73px;padding:5px!important;}.fc-day small,.fc-day-full{display:none;}.fc-day .fc-day-compact{display:block;font-size:.65rem;overflow-wrap:anywhere;}.fc-load{grid-template-columns:25px 76px minmax(25px,1fr) 105px;gap:5px;font-size:.67rem;}.fc-table{font-size:.75rem;}.fc-table th,.fc-table td{padding:7px 8px;}}
.finance-status { min-height:26px;margin:0 0 8px;color:var(--text-secondary);font-size:.88rem; }
.finance-conflict { padding:18px;margin-bottom:14px; }
.finance-conflict p { line-height:1.6; }
.finance-error { color:var(--theme-danger,#b83249); }
.finance-toolbar { display:flex;flex-wrap:wrap;gap:16px;align-items:end;padding:18px;margin-bottom:14px; }
.finance-toolbar label,.finance-route-form label,.finance-notes label { display:grid;gap:6px;font-size:.82rem;color:var(--text-secondary);min-width:0; }
.finance-toolbar label:nth-child(2) { flex:1;min-width:180px;max-width:480px; }
.finance-toolbar label:first-child { flex:0 0 110px; }
.finance-toolbar #finance-year { white-space:nowrap;font-variant-numeric:tabular-nums; }
.finance-toolbar select,.finance-route-form select { width:100%;min-height:42px;margin:0; }
.finance-period-switch { display:flex;gap:4px;margin-left:auto;padding:4px;border-radius:12px;background:var(--accent-soft); }
.finance-period-switch button { border:0;min-height:36px;padding:8px 14px; }
.finance-period-switch button[aria-pressed="true"] { background:var(--accent);color:var(--on-accent,#fff); }
.finance-months { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0 0 18px;padding:6px;border:1px solid var(--border);border-radius:16px;background:var(--surface); }
.finance-months[data-mode="quarter"] { grid-template-columns:repeat(4,minmax(0,1fr));padding:6px 8px; }
.finance-quarter-step { min-width:0; }
html:root .finance-month { display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;align-content:center;column-gap:8px;row-gap:3px;min-width:0;min-height:52px;padding:9px 12px;background:transparent;color:var(--text-primary);border:1px solid transparent;border-radius:10px;text-align:left;font-size:.85rem;box-shadow:none; }
html:root .finance-month:hover { background:var(--surface-hover); }
html:root .finance-month[aria-pressed="true"] { background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent); }
.finance-month strong { min-width:0;overflow-wrap:break-word;font-weight:600; }
.finance-month .finance-state-icon { grid-column:2;grid-row:1; }
.finance-months[data-mode="quarter"] .finance-month { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;width:100%;min-height:64px; }
html:root .finance-months[data-mode="quarter"] .finance-month { background:color-mix(in srgb,var(--theme-warning,#b96d4d) 13%,var(--surface));border-color:color-mix(in srgb,var(--theme-warning,#b96d4d) 24%,var(--border)); }
html:root .finance-months[data-mode="quarter"] .finance-month[data-state="approved"] { background:color-mix(in srgb,var(--theme-success,#278958) 13%,var(--surface));border-color:color-mix(in srgb,var(--theme-success,#278958) 24%,var(--border)); }
html:root .finance-months[data-mode="quarter"] .finance-month:hover { filter:brightness(.98); }
html:root .finance-months[data-mode="quarter"] .finance-month[aria-pressed="true"] { box-shadow:inset 0 0 0 1px currentColor; }
html:root .finance-months[data-mode="quarter"] .finance-month[aria-pressed="true"][data-state="approved"] { color:var(--theme-success,#278958);border-color:var(--theme-success,#278958); }
html:root .finance-months[data-mode="quarter"] .finance-month[aria-pressed="true"]:not([data-state="approved"]) { color:var(--theme-warning,#b96d4d);border-color:var(--theme-warning,#b96d4d); }
.finance-state-icon { display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:50%;color:var(--accent);background:var(--accent-soft); }
.finance-state-icon svg { width:23px;height:23px; }
.finance-state-icon[data-state="approved"] { color:var(--theme-success,#278958);background:color-mix(in srgb,var(--theme-success,#278958) 10%,var(--surface)); }
.finance-state-icon[data-state="empty"] { color:var(--text-secondary);background:var(--surface-hover); }
.finance-report-heading .finance-state-icon { width:34px;height:34px; }
.finance-month-links button { display:inline-flex;align-items:center;gap:8px; }
.finance-month-status { font-size:.69rem;line-height:1.4;font-weight:400;color:var(--text-secondary); }
.finance-month[data-state="approved"] .finance-month-status { color:var(--theme-success,#287654); }
.finance-report-heading { justify-content:space-between;margin:0 0 14px;padding:12px 18px; }
.finance-report-heading h2 { margin:0;font-size:1.35rem; }
.finance-month-links { display:grid;gap:12px;padding:16px;margin-bottom:14px; }
.finance-pill { display:inline-flex;align-items:center;max-width:100%;padding:6px 12px;border:1px solid var(--border);border-radius:99px;font-size:.79rem;background:var(--accent-soft);color:var(--text-primary); }
.finance-summary { display:grid;grid-template-columns:repeat(var(--finance-metrics,4),minmax(0,1fr));gap:12px;margin-bottom:18px; }
.finance-metric { display:grid;gap:10px;padding:18px;min-width:0;margin:0; }
.finance-metric span { font-size:.78rem;line-height:1.4; }
.finance-metric strong { font-size:clamp(1rem,1.5vw,1.45rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.finance-metric[data-partial="true"] strong { color:var(--text-secondary); }
.finance-plan-form { padding:0;overflow:clip; }
.finance-plan-intro { display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 20px; }
.finance-plan-help { margin:0;padding:0 20px 16px;line-height:1.6; }
.finance-calculated { display:block;white-space:nowrap; }
.finance-rate-label { display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px;margin-top:4px;color:var(--text-secondary);font-size:.7rem;font-weight:400;line-height:1.3;white-space:normal; }
.finance-rate-label span:first-child { flex-basis:100%; }
.finance-source { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 16px;margin-bottom:14px; }
.finance-source button { min-height:38px;padding:8px 12px;font-size:.8rem; }
.finance-table-scroll { overflow:visible; }
.finance-table { width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.4;table-layout:fixed;margin:0;background:var(--surface); }
.finance-table th,.finance-table td { padding:6px 12px;border-bottom:1px solid var(--border);vertical-align:middle; }
.finance-table th:first-child { width:56%;text-align:left; }
.finance-table td { text-align:right;font-variant-numeric:tabular-nums; }
.finance-table thead { position:sticky;top:0;z-index:1;color:var(--text-secondary);background:var(--surface); }
.finance-table thead th { text-align:right;font-size:.74rem;font-weight:500;padding-top:10px;padding-bottom:10px; }
.finance-table thead th:last-child { width:11%; }
.finance-table tbody th { font-weight:400;overflow-wrap:break-word; }
html:root .finance-table input { width:100%;min-width:0;padding:5px 8px;height:32px;min-height:32px;margin:0;text-align:right;font-variant-numeric:tabular-nums;font-size:.875rem;line-height:1.4;border-radius:6px;background:var(--surface); }
html:root .finance-table .finance-rate-label input { width:76px;max-width:calc(100% - 18px);height:28px;min-height:28px;padding:3px 6px;font-size:.76rem; }
.finance-table input[aria-invalid="true"] { border-color:var(--theme-danger,#b83249); }
.finance-table tr[data-kind="group"] { background:var(--accent-soft); }
.finance-table tr[data-kind="group"] th { font-weight:650;padding-top:5px;padding-bottom:5px; }
.finance-table tr[hidden] { display:none; }
.finance-table tr[data-depth="1"] th:first-child { padding-left:22px; }
.finance-table tr[data-depth="2"] th:first-child { padding-left:32px; }
.finance-table tr[data-depth="3"] th:first-child { padding-left:42px; }
.finance-table tr[data-depth="4"] th:first-child { padding-left:52px; }
html:root .finance-table .finance-group-toggle { display:flex;align-items:center;gap:7px;width:100%;border:0;background:transparent;color:inherit;box-shadow:none;text-align:left;font-size:inherit;font-weight:inherit;line-height:1.4;border-radius:4px;padding:2px 0;min-height:24px; }
.finance-group-toggle::before { content:'›';font-size:1.15rem;flex:none;width:12px;text-align:center;transform:rotate(90deg);transition:transform .15s ease; }
.finance-group-toggle[aria-expanded="false"]::before { transform:rotate(0deg); }
html:root .finance-table .finance-group-toggle:hover { background:transparent;color:var(--accent); }
.finance-table tr[data-kind="total"] th,.finance-table tr[data-kind="total"] td { font-weight:600; }
.finance-table tr[data-emphasis="true"] { background:var(--accent-soft); }
.finance-table tr[data-emphasis="true"] th,.finance-table tr[data-emphasis="true"] td { padding-top:8px;padding-bottom:8px;color:var(--accent); }
.finance-percent { color:var(--text-secondary);width:110px; }
.finance-mobile-percent { display:none; }
.finance-table[data-quarter="true"] th:first-child { width:36%; }
.finance-table[data-quarter="true"] thead th:last-child { width:9%; }
.finance-table[data-quarter="true"] td[data-finance-sum] { font-weight:600;background:var(--accent-soft); }
.finance-notes { display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:18px 20px; }
.finance-notes textarea { width:100%;margin:0;min-height:70px;resize:vertical;font-size:.84rem; }
.finance-comments { padding:14px 20px;border-top:1px solid var(--border); }
.finance-comments summary { cursor:pointer;font-size:.84rem;color:var(--text-secondary); }
.finance-comments .finance-notes { padding:12px 0 0; }
.finance-notes p { margin:0;white-space:pre-wrap; }
.finance-plan-footer { display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding:12px 20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface); }
.finance-plan-footer .finance-actions { margin-left:auto; }
.finance-actions button { min-height:40px;padding:10px 16px;font-size:.84rem; }
.finance-explanation { margin:12px 0 20px;padding:12px 16px;line-height:1.7;background:var(--surface);border:1px solid var(--border);border-radius:12px; }
.finance-route,.finance-history { padding:16px 20px;margin-top:12px; }
.finance-route { margin-top:0;margin-bottom:14px; }
.finance-route summary,.finance-history summary { cursor:pointer;font-size:.9rem;font-weight:600; }
.finance-route-grid,.finance-route-form { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px; }
.finance-route-grid>div { display:grid;gap:8px;min-width:0; }
.finance-route-grid strong { overflow-wrap:anywhere;font-size:.85rem; }
.finance-route-form button { justify-self:start;min-height:40px; }
.finance-history-item { display:grid;gap:6px;padding:14px 0;border-bottom:1px solid var(--border); }
.finance-history-item:last-child { border-bottom:0; }
.finance-history-item p { white-space:pre-wrap;margin:0;overflow-wrap:anywhere; }
.finance-next { display:grid;justify-items:center;text-align:center;padding:60px 24px;gap:12px; }
.finance-next p { max-width:500px;line-height:1.7;margin:0 0 10px; }
.finance-next h2 { margin:0; }
.finance-next-icon { display:grid;place-items:center;width:70px;height:70px;border-radius:20px;background:var(--accent-soft);color:var(--accent);font-size:2.2rem; }
@media(max-width:1100px){.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.finance-months{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:600px){.finance-tabs{gap:6px;}.finance-tabs button{padding:9px 11px;font-size:.8rem;flex:1;}.finance-toolbar{padding:14px;gap:12px;}.finance-toolbar label:first-child{width:90px;}.finance-toolbar label:nth-child(2){min-width:140px;}.finance-period-switch{margin-left:0;}.finance-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}.finance-month{padding:10px 8px;font-size:.75rem;}.finance-month-status{font-size:.64rem;}.finance-metric{padding:13px;gap:7px;}.finance-summary{gap:8px;}.finance-table th,.finance-table td{padding:8px 7px;}.finance-table{font-size:.76rem;}.finance-table input{padding:6px;font-size:.78rem;}.finance-table th:first-child{width:43%;}.finance-table thead th:last-child{width:19%;}.finance-percent{font-size:.68rem;}.finance-route-grid,.finance-route-form{grid-template-columns:1fr;}.finance-plan-intro,.finance-plan-footer,.finance-notes,.finance-route,.finance-history{padding:14px;}.finance-actions{gap:8px;}.finance-actions button{padding:9px 12px;}.finance-status{font-size:.8rem;}.finance-pill{font-size:.7rem;}.finance-report-heading h2{font-size:1.15rem;}}

/* Финконтур: спокойные панели и компактная навигация по мотивам CFO-экрана. */
#finance-view { --fc-ink:#173f4d;--fc-solid:#173f4d;--fc-tint:#eaf5f3;--fc-line:#d9e6e3;--fc-active-bg:#e1f3ec; }
html[data-theme="dark"] #finance-view { --fc-ink:#dceff1;--fc-solid:#225965;--fc-tint:#283e43;--fc-line:#3b5356;--fc-active-bg:#31524c; }
#finance-view .finance-tabs { align-items:stretch;gap:4px;padding:5px;margin-bottom:14px;border:1px solid var(--border);border-radius:15px;background:var(--surface);width:max-content;max-width:100%; }
#finance-view .finance-tabs button { min-height:40px;border:0;border-radius:10px;background:transparent;box-shadow:none;color:var(--text-secondary); }
#finance-view .finance-tabs button[aria-current="page"] { background:var(--fc-solid);color:#fff; }
#finance-view .finance-tabs button:not([aria-current="page"]):hover { background:var(--fc-tint);color:var(--fc-ink); }
#finance-view .finance-tabs #finance-refresh { margin-left:12px; }
#finance-view .finance-tabs #finance-refresh[hidden] { display:none; }
#finance-view .fc-toolbar { justify-content:space-between;gap:12px;padding:8px 10px;margin-bottom:16px;border-color:var(--fc-line);background:var(--surface); }
#finance-view .fc-company-switch { display:flex;align-items:center;gap:3px;padding:3px;border-radius:10px;background:var(--fc-tint); }
#finance-view .fc-company-switch .fc-company { min-height:36px;padding:7px 13px;border:0;border-radius:8px;background:transparent;color:var(--fc-ink);box-shadow:none;font-size:.83rem;font-weight:600; }
#finance-view .fc-company-switch .fc-company[aria-pressed="true"] { background:var(--surface);box-shadow:0 1px 6px #123c4921; }
#finance-view .fc-company-switch .fc-company:hover { color:var(--accent); }
#finance-view .fc-period { gap:6px; }
#finance-view .fc-period button,#finance-view .fc-period input { border:1px solid var(--fc-line);border-radius:9px;background:var(--surface);color:var(--fc-ink); }
#finance-view .fc-period button { width:38px;font-size:1.12rem; }
#finance-view .fc-period input { width:158px;padding:7px 10px;font-size:.84rem; }
#finance-view .fc-title { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;margin:18px 0 12px;padding:18px 20px;border:1px solid var(--fc-line);border-radius:14px;background:var(--surface); }
#finance-view .fc-kicker { grid-column:1/-1;color:var(--text-secondary);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase; }
#finance-view .fc-title h2 { color:var(--fc-ink);font-size:clamp(1.35rem,2.4vw,2rem);font-weight:650;line-height:1.2; }
#finance-view .fc-title p { grid-column:1/-1;margin:0;color:var(--text-secondary);font-size:.84rem; }
#finance-view .fc-export { grid-column:2;grid-row:2;margin:0;align-self:center;border-color:var(--fc-line);color:var(--fc-ink); }
#finance-view .fc-sources { gap:6px;margin-bottom:12px; }
#finance-view .fc-sources span { border-color:var(--fc-line);background:var(--surface);font-size:.68rem; }
#finance-view .fc-metrics { gap:11px;margin:12px 0 16px; }
#finance-view .fc-metric { min-height:120px;gap:10px;padding:17px 18px;border-color:var(--fc-line);background:var(--surface); }
#finance-view .fc-metric strong { color:var(--fc-ink);font-size:clamp(1.08rem,1.7vw,1.45rem);line-height:1.25; }
#finance-view .fc-metric:first-child { background:var(--fc-solid);border-color:var(--fc-solid); }
#finance-view .fc-metric:first-child :is(span,strong,small) { color:#fff; }
#finance-view .fc-notice { background:var(--fc-tint);border-color:var(--fc-line); }
#finance-view .fc-notice-title { color:var(--fc-ink); }
#finance-view .fc-section,#finance-view .fc-table-wrap,#finance-view .fc-calendar,#finance-view .fc-group,#finance-view .fc-source-details { border-color:var(--fc-line);background:var(--surface); }
#finance-view .fc-section { padding:18px 20px;margin:14px 0;border:1px solid var(--fc-line);border-radius:14px; }
#finance-view .fc-section h3,#finance-view .fc-calendar-detail h3 { color:var(--fc-ink);font-size:1rem; }
#finance-view .fc-period-note { padding:10px 16px;border:1px solid var(--fc-line);border-radius:12px;background:var(--surface);color:var(--text-secondary); }
#finance-view .fc-calendar-detail { padding:16px;border:1px solid var(--fc-line);border-radius:14px;background:var(--surface); }
#finance-view .fc-load-track { height:8px;background:var(--fc-tint); }
#finance-view .fc-load-track i { background:#52ad91; }
#finance-view .fc-table-wrap { border-radius:12px; }
#finance-view .fc-table th { background:var(--fc-tint);color:var(--fc-ink);font-weight:650; }
#finance-view .fc-table tbody tr:hover { background:var(--surface-hover); }
#finance-view .fc-calendar { gap:0;overflow:hidden;padding:0;border-radius:14px; }
#finance-view .fc-weekday { padding:11px 4px;border-bottom:1px solid var(--fc-line);font-weight:500; }
html:root #finance-view .fc-day { min-height:116px;gap:7px;padding:11px;border:0;border-right:1px solid var(--fc-line);border-bottom:1px solid var(--fc-line);border-radius:0;background:var(--surface); }
html:root #finance-view .fc-day[data-weekend="true"] { background:var(--fc-tint); }
html:root #finance-view .fc-day:hover,html:root #finance-view .fc-day[aria-current="date"] { background:var(--fc-active-bg);box-shadow:inset 0 0 0 2px #3b9f78; }
#finance-view .fc-day strong { color:var(--fc-ink); }
#finance-view .fc-day-full { color:var(--fc-ink);font-weight:650; }
#finance-view .fc-source-details { margin:18px 0;overflow:hidden; }
#finance-view .fc-source-details>summary { cursor:pointer;padding:14px 18px;color:var(--fc-ink);font-weight:650; }
#finance-view .fc-source-details[open]>summary { border-bottom:1px solid var(--fc-line); }
#finance-view .fc-source-body { padding:12px 16px; }
#finance-view .fc-journal>summary { display:flex; align-items:center; gap:12px; }
#finance-view .fc-journal>summary::before { content:'›'; flex:none; font-size:1.1rem; }
#finance-view .fc-journal[open]>summary::before { transform:rotate(90deg); }
#finance-view .fc-journal>summary strong { flex:1; min-width:0; }
#finance-view .fc-journal>summary .small { flex:none; }
@media(max-width:900px){#finance-view .finance-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;}#finance-view .finance-tabs button{flex:none;}#finance-view .finance-tabs #finance-refresh{margin-left:auto;position:sticky;right:0;}#finance-view .fc-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){#finance-view .fc-toolbar{align-items:stretch;}#finance-view .fc-company-switch{width:100%;justify-content:space-between;}#finance-view .fc-company-switch .fc-company{flex:1;padding:7px 5px;font-size:.74rem;}#finance-view .fc-period{justify-content:space-between;width:100%;}#finance-view .fc-period input{flex:1;width:auto;}#finance-view .fc-metrics{grid-template-columns:1fr 1fr;}#finance-view .fc-metric{min-height:108px;padding:12px;}html:root #finance-view .fc-day{min-height:73px;padding:6px;}#finance-view .fc-title{grid-template-columns:1fr;}#finance-view .fc-export{grid-column:1;grid-row:auto;width:max-content;}}
@media(max-width:600px){.finance-months[data-mode="quarter"]{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){html:root .finance-month{padding:8px 7px;grid-template-columns:minmax(0,1fr) 23px;column-gap:4px;font-size:.76rem;}.finance-month .finance-state-icon{width:23px;height:23px;}.finance-month .finance-state-icon svg{width:20px;height:20px;}.finance-comments{padding:14px;}.finance-toolbar label:first-child{width:auto;}.finance-plan-footer .finance-actions{width:100%;}.finance-plan-footer .finance-actions button{flex:1;}}
@media(max-width:600px){.finance-table{font-size:.84rem;}}
@media(max-width:1100px){
  .finance-table[data-quarter="true"] thead{display:none;}
  .finance-table[data-quarter="true"] tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--border);}
  .finance-table[data-quarter="true"] tbody tr[hidden]{display:none;}
  .finance-table[data-quarter="true"] tbody th:first-child{grid-column:1/-1;width:auto;min-width:0;border-bottom:0;padding-top:8px;padding-bottom:4px;}
  .finance-table[data-quarter="true"] tbody td{width:auto;min-width:0;border-bottom:0;padding-top:4px;padding-bottom:8px;}
  .finance-table[data-quarter="true"] tbody td[data-label]::before{content:attr(data-label);display:block;margin-bottom:3px;color:var(--text-secondary);font-size:.68rem;font-weight:400;}
  .finance-table[data-quarter="true"] tbody tr[data-kind="group"] th{padding-block:5px;}
  .finance-table[data-quarter="true"] td[data-finance-sum]{border-radius:6px;}
  .finance-table[data-quarter="true"] .finance-percent{display:none;}
  .finance-table[data-quarter="true"] .finance-mobile-percent{display:inline-block;margin-left:8px;color:var(--text-secondary);font-size:.7rem;font-weight:400;}
}
@media(max-width:600px){.finance-table tr[data-depth="2"] th:first-child{padding-left:26px;}.finance-table tr[data-depth="3"] th:first-child,.finance-table tr[data-depth="4"] th:first-child{padding-left:34px;}html:root .finance-table .finance-group-toggle{min-height:36px;}html:root .finance-table input{min-height:36px;height:36px;font-size:.8rem;}html:root .finance-table .finance-rate-label input{min-height:32px;height:32px;}}
@media(max-width:600px){
  .finance-table[data-quarter="false"]{min-width:0;}
  .finance-table[data-quarter="false"] thead{display:none;}
  .finance-table[data-quarter="false"] tbody tr{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);border-bottom:1px solid var(--border);}
  .finance-table[data-quarter="false"] tbody tr[hidden]{display:none;}
  .finance-table[data-quarter="false"] tbody th,.finance-table[data-quarter="false"] tbody td{width:auto;min-width:0;border-bottom:0;}
  .finance-table[data-quarter="false"] tbody tr[data-kind="group"] th{grid-column:1/-1;}
  .finance-table[data-quarter="false"] .finance-percent{display:none;}
  .finance-table[data-quarter="false"] .finance-mobile-percent{display:block;margin-top:5px;color:var(--text-secondary);font-size:.67rem;}
}
@media(prefers-reduced-motion:reduce){.finance-group-toggle::before{transition:none;}}
.finance-edit-percent { width:160px; }
.finance-table[data-quarter="false"] thead th:last-child { width:180px; }
.finance-edit-percent .finance-rate-label { margin:0; }
.fc-cash-operations { overflow:hidden;margin:12px 0; }
.fc-cash-operations>summary { display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;list-style:none; }
.fc-cash-operations>summary::-webkit-details-marker { display:none; }
.fc-cash-operations>summary::before { content:'›';font-size:1.2rem;transition:transform var(--motion-reveal) var(--motion-ease); }
.fc-cash-operations[open]>summary::before { transform:rotate(90deg); }
.fc-cash-operations>summary strong { min-width:0; }
.fc-cash-operations>summary .muted { margin-left:auto;flex:none;font-variant-numeric:tabular-nums; }
.fc-cash-body { padding:0 16px 14px; }
.fc-cash-filters { display:grid;grid-template-columns:minmax(200px,1.5fr) repeat(2,minmax(130px,1fr)) repeat(2,minmax(126px,.8fr)) auto;gap:10px;align-items:end;margin-bottom:14px; }
.fc-payment-filters { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:14px 0; }
.fc-cash-filters label,.fc-payment-filters label { display:grid;gap:5px;min-width:0;margin:0;font-size:.72rem;font-weight:600;color:var(--text-secondary); }
html:root #finance-view :is(.fc-cash-filters,.fc-payment-filters) :is(input,select) { width:100%;min-width:0;height:var(--control-height);min-height:var(--control-height);margin:0;padding:6px 10px;font-size:.8rem;line-height:1.4; }
.fc-filter-actions { display:flex;align-items:center;justify-content:flex-end;gap:8px; }
html:root #finance-view .fc-filter-action { display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-height);min-height:var(--control-height);margin:0;padding:6px 12px;font-size:.8rem;line-height:1.4;border-radius:9px;box-shadow:none;white-space:nowrap; }
.fc-filter-action svg { width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.fc-list-heading { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.fc-list-heading h3 { margin:0; }
.fc-list-heading>span { flex:none;font-variant-numeric:tabular-nums; }
.fc-cash-status { margin:0; }
.fc-cash-status:not(:empty) { padding:8px 0; }
.fc-cash-results[aria-busy="true"],.fc-payment-results[aria-busy="true"] { opacity:.65; }
html:root #finance-view .fc-table-sort { display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;max-width:100%;padding:5px 6px;min-height:var(--control-height);margin:-5px -6px;border:0;border-radius:6px;box-shadow:none;background:transparent;color:var(--fc-ink);font-size:.72rem;font-weight:650;text-align:left;white-space:nowrap;transform:none; }
html:root #finance-view .fc-table-sort:is(:hover,:focus-visible) { background:color-mix(in srgb,var(--fc-ink) 9%,transparent); }
.fc-sort-indicator { width:12px;flex:none;opacity:.45;text-align:center;font-size:.85rem; }
th[aria-sort="ascending"] .fc-sort-indicator,th[aria-sort="descending"] .fc-sort-indicator { opacity:1; }
.fc-cash-pagination { display:flex;align-items:center;justify-content:center;gap:12px;padding-top:10px;font-size:.75rem;font-variant-numeric:tabular-nums; }
.fc-cash-pagination button { min-width:36px; }
@media(max-width:1200px){.fc-cash-filters{grid-template-columns:repeat(4,minmax(0,1fr));}.fc-cash-filters label:first-child,.fc-cash-filters .fc-filter-actions{grid-column:span 2;}}
@media(max-width:600px){
  .finance-table[data-quarter="false"] .finance-edit-percent{display:block;grid-column:2;padding-top:0;}
  .finance-table[data-quarter="false"] tbody th:has(+td+.finance-edit-percent){grid-row:span 2;}
  .finance-table[data-quarter="false"] tr:has(.finance-edit-percent) .finance-mobile-percent{display:none;}
  .fc-cash-body{padding:0 12px 12px;}.fc-cash-filters{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fc-payment-filters{grid-template-columns:minmax(0,1fr);}.fc-filter-actions .fc-filter-action{flex:1;}
  .fc-list-heading{align-items:flex-start;}.fc-list-heading h3{min-width:0;}
  :is(.fc-cash-table,.fc-payments-table) thead tr{display:flex;flex-wrap:wrap;gap:2px 12px;padding:8px;background:var(--fc-tint);}html:root #finance-view :is(.fc-cash-table,.fc-payments-table) thead th{padding:0;border:0;background:transparent;}
  html:root #finance-view .fc-table-sort{min-height:44px;margin:0;padding:5px 2px;}
  :is(.fc-cash-table,.fc-payments-table) tbody,:is(.fc-cash-table,.fc-payments-table) tbody tr{display:block;}:is(.fc-cash-table,.fc-payments-table) tbody tr{padding:8px 0;border-bottom:1px solid var(--border);}
  :is(.fc-cash-table,.fc-payments-table) tbody td{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 8px;border:0;overflow-wrap:anywhere;white-space:normal;min-width:0;}
  :is(.fc-cash-table,.fc-payments-table) tbody td::before{content:attr(data-label);color:var(--text-secondary);flex:none;font-size:.7rem;}
  .fc-payments-table .fc-payment-description{min-width:0;}
}
@media(prefers-reduced-motion:reduce){.fc-cash-operations>summary::before{transition:none;}}
/* Update summaries keep the shared success color, including translucent themes. */
html:root #toast-region .toast.fincontour-update:not(.error){background:var(--theme-success-bg,#eef7f0);color:var(--theme-success,#256842);border-color:var(--theme-success,#256842);}

.fc-calendar-filters { display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding:14px 16px;margin-bottom:12px; }
.fc-calendar-filters label { display:grid;gap:5px;margin:0;font-size:.8rem;color:var(--text-secondary); }
#finance-view .fc-calendar-filters input { margin:0;max-width:100%; }
#finance-view .fc-calendar-filters button { margin:0; }
.fc-articles-form { display:grid;gap:12px; }
#finance-view .fc-articles-form>input { width:100%;margin:0; }
.fc-article-list { max-height:420px;overflow:auto; }
#finance-view .fc-article-option { display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0;padding:12px 4px;border-bottom:1px solid var(--fc-line);cursor:pointer; }
#finance-view .fc-article-option input { width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--accent); }
.fc-article-option strong,.fc-article-option small { display:block;overflow-wrap:anywhere; }
.fc-article-option strong { font-size:.82rem; }
.fc-article-option small { margin-top:4px;font-size:.72rem; }
.fc-article-amount { font-size:.8rem;font-variant-numeric:tabular-nums;white-space:nowrap; }
.fc-articles-form>button { justify-self:start; }
#finance-view .fc-article-option[hidden],#fc-articles-panel[hidden] { display:none; }
@media(max-width:650px){.fc-calendar-filters label{width:100%;}.fc-calendar-filters input{width:100%;}.fc-calendar-filters button{flex:1;}#finance-view .fc-article-option{grid-template-columns:22px minmax(0,1fr);}.fc-article-amount{grid-column:2;}}
