/* Scoped to analytics; inherits the host design tokens and single page scroll. */
#financeSubmenu[hidden],#financeAdvisor[hidden]{display:none!important}
#financeSubmenu{margin:0 0 8px 12px;padding:0 0 0 12px;border-left:1px solid var(--line-strong);overflow:hidden;max-height:0;opacity:0;transition:max-height .2s ease,opacity .2s ease}
#financeSubmenu.open{max-height:680px;opacity:1}
#financeSubmenu .finance-menu-label{padding:12px 10px 5px;font-size:10px;letter-spacing:.06em;color:var(--sidebar-muted)}
#financeSubmenu button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;color:var(--sidebar-text);font:inherit;font-size:12px;text-align:left;padding:9px 10px;border-radius:8px;cursor:pointer;line-height:1.5}
#financeSubmenu button:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-hover)}
#financeSubmenu button[aria-current]{background:var(--primary-soft);color:var(--primary);font-weight:700}
#financeSubmenu .icon{width:16px;height:16px;flex-shrink:0}
[data-view="analytics"]::after{content:'⌄';margin-left:auto;font-size:15px}
[data-view="analytics"][aria-expanded="true"]::after{transform:rotate(180deg)}
:root[data-sidebar="collapsed"] #financeSubmenu{position:fixed;left:72px;top:110px;width:252px;max-height:75vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;z-index:100;box-shadow:var(--shadow-md)}
#financeRoot{min-width:0;color:var(--text);font-size:13px}
#financeRoot *{box-sizing:border-box}
#financeRoot button,#financeRoot input,#financeRoot select{font:inherit}
#financeRoot button:focus-visible,#financeRoot input:focus-visible,#financeRoot select:focus-visible,#financeSubmenu button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
#financeRoot .f-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}
#financeRoot h2{margin:0 0 6px;font-size:23px;letter-spacing:-.035em;line-height:1.4}
#financeRoot h2:focus{outline:none}
#financeRoot .f-heading p{color:var(--muted);margin:0;line-height:1.6}
#financeRoot .f-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0}
#financeRoot .f-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:20px;padding:15px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
#financeRoot label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--muted);min-width:0}
#financeRoot input,#financeRoot select{background:var(--panel-muted);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:9px 10px;min-height:38px;max-width:100%;color-scheme:dark}
[data-theme="light"] #financeRoot input,[data-theme="light"] #financeRoot select{color-scheme:light}
#financeRoot .f-fresh{margin-left:auto;align-self:center;color:var(--green);font-size:11px;line-height:1.7}
#financeRoot .f-fresh small{display:block;color:var(--muted)}
#financeRoot .f-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
#financeRoot .f-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}
#financeRoot .f-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:20px;text-align:left;color:var(--text);min-width:0;box-shadow:var(--shadow-xs)}
#financeRoot button.f-kpi{cursor:pointer;transition:border-color .15s,transform .15s}
#financeRoot button.f-kpi:hover{border-color:var(--primary);transform:translateY(-2px)}
#financeRoot .f-kpi>span{color:var(--muted);font-size:12px}
#financeRoot .f-kpi strong{font-size:clamp(23px,2.1vw,34px);font-weight:750;line-height:1.2;letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#financeRoot .f-kpi small{color:var(--muted);font-size:11px;line-height:1.7}
#financeRoot .blue strong{color:var(--primary)}
#financeRoot .green strong,#financeRoot .f-positive{color:var(--green)}
#financeRoot .red strong,#financeRoot .f-negative{color:var(--red)}
#financeRoot .amber strong{color:var(--amber)}
#financeRoot .f-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:20px}
#financeRoot .f-panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;margin-bottom:20px;min-width:0;overflow:hidden;box-shadow:var(--shadow-xs)}
#financeRoot .f-panel-head{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#financeRoot h3{font-size:14px;line-height:1.6;margin:0;font-weight:650}
#financeRoot .f-link{padding:0;border:0;background:transparent;color:var(--primary);font-size:11px;cursor:pointer;text-align:left;line-height:1.6}
#financeRoot .f-notice{padding:13px 16px;border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:8px;line-height:1.8;font-size:12px;color:var(--text-2);background:var(--panel);margin-bottom:18px}
#financeRoot .f-notice.error{border-left-color:var(--red);color:var(--red)}
#financeRoot .f-notice.success{border-left-color:var(--green);color:var(--green)}
#financeRoot .f-panel>.f-notice{margin:16px}
#financeRoot .f-chart-scroll{overflow-x:auto;padding:0 16px 10px}
#financeRoot .f-chart{width:100%;display:block;height:260px}
#financeRoot .f-chart text{font-family:inherit;font-size:11px;fill:var(--muted)}
#financeRoot .f-chart-grid{stroke:var(--line);stroke-width:1}
#financeRoot .f-bar-receipts{fill:var(--primary)}
#financeRoot .f-bar-costs{fill:var(--amber)}
#financeRoot .f-legend{display:flex;flex-wrap:wrap;gap:18px;padding:18px 20px;color:var(--muted);font-size:11px}
#financeRoot .f-legend span{display:flex;align-items:center;gap:6px}
#financeRoot .f-legend i{height:8px;width:8px;border-radius:3px}
#financeRoot .f-blue-dot{background:var(--primary)}
#financeRoot .f-amber-dot{background:var(--amber)}
#financeRoot .f-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:20px;padding:22px}
#financeRoot .f-grid .f-bars{display:flex;flex-direction:column;gap:18px}
#financeRoot .f-bar-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:12px}
#financeRoot .f-bar-label span{overflow-wrap:anywhere}
#financeRoot .f-bar-label strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
#financeRoot .f-track{height:6px;border-radius:5px;background:var(--panel-muted);overflow:hidden}
#financeRoot .f-track i{display:block;height:100%;border-radius:5px;background:var(--primary)}
#financeRoot .f-track i.amber{background:var(--amber)}
#financeRoot .f-bars small{display:block;color:var(--muted);text-align:right;margin-top:5px;font-size:10px}
#financeRoot .f-insights{padding:0 20px}
#financeRoot .f-insights>div{display:flex;flex-direction:column;gap:7px;padding:18px 0;border-bottom:1px solid var(--line);line-height:1.7}
#financeRoot .f-insights>div:last-child{border-bottom:0}
#financeRoot .f-insights b{font-size:16px}
#financeRoot .f-insights span,#financeRoot .f-insights small{color:var(--muted);font-size:12px}
#financeRoot .f-table-scroll{overflow:auto;width:100%}
#financeRoot .f-table{border-collapse:collapse;width:100%;font-size:12px}
#financeRoot .f-table th,#financeRoot .f-table td{padding:14px 18px;border-bottom:1px solid var(--line);text-align:left;line-height:1.6;max-width:320px;white-space:normal}
#financeRoot .f-table th{font-size:10px;background:var(--panel-muted);color:var(--muted);font-weight:600;white-space:nowrap}
#financeRoot .f-table td small{display:block;color:var(--muted);margin-top:4px;font-size:10px}
#financeRoot .f-table tbody tr:hover{background:var(--primary-soft)}
#financeRoot .f-table tfoot td{color:var(--text-2);font-weight:600;background:var(--panel-muted);font-size:11px}
#financeRoot .f-money{white-space:nowrap;font-variant-numeric:tabular-nums}
#financeRoot .f-table-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;padding:16px 20px}
#financeRoot .f-table-controls input{width:250px}
#financeRoot .f-empty,#financeRoot .f-loading{padding:40px 20px;text-align:center;color:var(--muted);line-height:1.8}
#financeRoot .f-loading{min-height:260px;display:grid;place-items:center}
#financeRoot .f-badge{font-size:10px;background:var(--green-bg);color:var(--green);padding:4px 8px;border-radius:5px;white-space:nowrap}
#financeRoot .f-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;padding:20px}
#financeRoot .f-form label{flex:1 1 170px}
#financeRoot .f-form .f-grow{flex:3 1 260px}
#financeRoot .f-copy{line-height:1.9;padding:18px 20px 0;margin:0;color:var(--muted);font-size:12px}
#financeRoot .f-scenario{padding:20px;border-top:1px solid var(--line);line-height:1.8;background:var(--primary-soft)}
#financeRoot .f-scenario strong{font-size:22px;color:var(--primary);display:block}
#financeRoot .f-definitions{margin:0;padding:22px;display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;line-height:1.9;font-size:12px}
#financeRoot .f-definitions dt{font-weight:650}
#financeRoot .f-definitions dd{margin:0;color:var(--text-2)}
#financeRoot .f-panel>.f-actions{padding:20px}
#financeRoot .f-tasks{list-style:none;margin:0;padding:0 20px 20px}
#financeRoot .f-tasks li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line)}
#financeRoot .f-tasks label{display:flex;flex-direction:row;align-items:center;gap:12px;font-size:13px;color:var(--text)}
#financeRoot .f-tasks input{min-height:20px;width:18px;flex-shrink:0;accent-color:var(--primary)}
#financeRoot .f-tasks small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
#financeRoot .f-done{text-decoration:line-through;opacity:.6}
#financeRoot .f-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:11px;line-height:1.8;padding:0 2px 10px}
#financeAdvisor{margin-top:20px}
@media(max-width:1250px){#financeRoot .f-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#financeRoot .f-grid{grid-template-columns:1fr}#financeRoot .f-grid .f-bars{display:grid}#financeRoot .f-heading{align-items:flex-start}}
@media(max-width:840px){#financeSubmenu{position:fixed;left:72px;top:100px;width:min(252px,calc(100vw - 90px));max-height:75vh!important;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;z-index:100;box-shadow:var(--shadow-md)}#financeRoot .f-heading{flex-direction:column}#financeRoot .f-kpis.three{grid-template-columns:1fr}#financeRoot .f-definitions{grid-template-columns:1fr;gap:8px}#financeRoot .f-definitions dd{margin-bottom:12px}#financeRoot .f-chart{height:230px}}
@media(max-width:560px){#financeRoot .f-kpis{grid-template-columns:1fr;gap:10px}#financeRoot .f-kpi{padding:17px;gap:8px}#financeRoot .f-kpi strong{font-size:28px}#financeRoot .f-toolbar{padding:12px;gap:10px}#financeRoot .f-toolbar label{flex:1 1 100%}#financeRoot .f-toolbar input,#financeRoot .f-toolbar select{width:100%}#financeRoot .f-toolbar .btn{width:100%}#financeRoot .f-fresh{margin-left:0}#financeRoot .f-panel-head{padding:14px}#financeRoot .f-bars,#financeRoot .f-form{padding:14px}#financeRoot .f-table-controls{padding:14px}#financeRoot .f-table-controls label{width:100%}#financeRoot .f-table-controls input{width:100%}#financeRoot .f-tasks li{align-items:flex-start;flex-direction:column}#financeRoot h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){#financeSubmenu,#financeRoot button.f-kpi{transition:none}}
@media print{body:has(#view-analytics.active) .sidebar,body:has(#view-analytics.active) .topbar,#financeRoot .f-actions,#financeRoot .f-toolbar,#financeRoot .f-link,#financeRoot .f-table-controls,#financeRoot .f-form{display:none!important}body:has(#view-analytics.active) .workspace{width:100%;margin:0}body:has(#view-analytics.active) .content{padding:0}#financeRoot .f-table-scroll,#financeRoot .f-chart-scroll{overflow:visible}#financeRoot .f-panel{break-inside:avoid}#financeRoot{--panel:#fff;--panel-muted:#f5f5f5;--text:#111;--text-2:#333;--muted:#555;--line:#ddd;color:#111}#financeRoot .f-chart{min-width:0!important}}

@media(max-width:560px){
  #financeRoot .f-table{min-width:0!important;display:block}
  #financeRoot .f-table thead{display:none}
  #financeRoot .f-table tbody,#financeRoot .f-table tfoot{display:block}
  #financeRoot .f-table tr{display:block;border-bottom:1px solid var(--line);padding:10px 14px}
  #financeRoot .f-table td{display:grid;grid-template-columns:minmax(85px,.8fr) minmax(0,1fr);gap:10px;max-width:none;border:0;padding:8px 0;overflow-wrap:anywhere}
  #financeRoot .f-table td::before{content:attr(data-label);font-size:10px;color:var(--muted);align-self:center}
  #financeRoot .f-table td[colspan],#financeRoot .f-table tfoot td{display:block;background:transparent}
  #financeRoot .f-table td[colspan]::before,#financeRoot .f-table tfoot td::before{display:none}
  #financeRoot .f-table .f-money{white-space:normal}
}
