/* Painel e navegação: identidade discreta, conteúdo com espaço e menu independente. */
:root{--sidebar-width:244px;--sidebar-rail:76px}
.sidebar{width:var(--sidebar-width);height:100dvh;overflow:hidden;padding:16px 12px 12px}
.sidebar .brand{flex:none;align-items:center;padding:0 8px 18px;gap:6px}
.sidebar .clinic-logo{width:140px}
.sidebar-monogram{display:none}
.sidebar nav{display:flex;flex-direction:column;flex:1 1 0;min-height:0;gap:2px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cfc6cb transparent;padding-right:4px;scroll-behavior:auto;overflow-anchor:none}
.sidebar nav>a{flex:none;min-height:38px;padding:9px 12px;white-space:nowrap}
.sidebar .nav-group{flex:none;padding:16px 12px 6px;font-size:10px}
.sidebar-foot{flex:none;margin-top:12px;padding-top:8px;border-top:1px solid var(--line);background:var(--side)}
.sidebar-row button{flex:1;justify-content:center}
.sidebar-row button span{font-size:12px}
.shell{margin-left:var(--sidebar-width)}
.collapse-menu-btn{display:inline-flex;flex:none;width:32px;height:32px;padding:6px}
.dashboard-charts{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;margin:24px 0 28px}
.dashboard-chart{min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;padding:22px 24px;display:flex;flex-direction:column}
.chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.chart-heading h2{font-size:14px;margin:0 0 4px;font-weight:600}
.chart-heading p{font-size:11.5px;color:var(--muted);margin:0}
.chart-heading>.link{white-space:nowrap;font-size:11.5px}
.chart-highlight{display:flex;flex-direction:column;gap:3px;margin:20px 0 12px}
.chart-highlight>strong{font-size:26px;line-height:1.3;font-weight:600;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.chart-highlight>span{font-size:11px;color:var(--muted);line-height:1.5}
.revenue-plot{display:flex;align-items:stretch;gap:12px;height:224px;margin:10px 0 0;background:repeating-linear-gradient(to top,transparent 0,transparent 49px,var(--line-soft) 49px,var(--line-soft) 50px);background-size:100% 200px;background-position:left 20px;background-repeat:no-repeat}
.revenue-column{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0;padding:0;border:0;background:none;color:var(--text);font:inherit;cursor:pointer;border-radius:4px}
.bar-value{height:24px;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted);line-height:24px}
.bar-track{height:164px;display:flex;align-items:flex-end;justify-content:center;width:100%;border-bottom:1px solid var(--line)}
.revenue-bar{display:block;width:62%;max-width:48px;background:#dcb1c2;border-radius:4px 4px 0 0}
.current .revenue-bar{background:var(--accent)}
.revenue-bar.is-zero{height:2px!important;background:#ded9dc}
.revenue-column:hover .revenue-bar{background:var(--accent)}
.bar-month{font-size:11px;padding-top:9px;text-transform:capitalize;line-height:1.3}
.bar-month small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.current .bar-month{color:var(--accent);font-weight:600}
.chart-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line-soft);margin-top:20px;padding-top:12px;font-size:11px;color:var(--muted)}
.chart-footer strong{color:var(--ink);font-weight:600;display:inline-block;margin-left:5px}
.chart-note{font-size:11px;color:var(--muted);line-height:1.6;margin:16px 0 0}
.chart-note a{color:var(--accent);text-decoration:none;white-space:nowrap}
.chart-status{font-size:10px;padding:3px 8px;white-space:nowrap;border:1px solid var(--line);border-radius:5px;color:var(--muted)}
.chart-status.partial{color:#8b661d;background:#fbf7ed;border-color:#efe4c9}
.cost-bars{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:13px;flex:1}
.cost-bars li{min-width:0}
.cost-bar-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:11.5px;margin-bottom:6px}
.cost-bar-heading>span{display:flex;align-items:center;gap:7px;min-width:0}
.cost-bar-heading i{display:inline-block;width:6px;height:6px;border-radius:50%;flex:none}
.cost-bar-heading strong{font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.cost-bar-track{height:5px;border-radius:4px;background:#f4f1f3;overflow:hidden}
.cost-bar-track>span{display:block;height:100%;border-radius:4px}
.cost-bars small{font-size:10px;color:var(--muted);display:block;margin-top:4px}
.chart-empty{min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:12px;text-align:center}
@media(min-width:901px){
 #app.sidebar-collapsed .sidebar{width:var(--sidebar-rail);padding:16px 8px 12px}
 #app.sidebar-collapsed .shell{margin-left:var(--sidebar-rail)}
 #app.sidebar-collapsed .sidebar .brand{padding:0 0 16px}
 #app.sidebar-collapsed .sidebar .clinic-logo,#app.sidebar-collapsed .sidebar .brand-caption{display:none}
 #app.sidebar-collapsed .sidebar-monogram{display:block;width:30px;height:36px;object-fit:contain}
 #app.sidebar-collapsed .sidebar nav{padding-right:0}
 #app.sidebar-collapsed .sidebar a:not(.brand){justify-content:center;gap:0;padding:10px 0}
 #app.sidebar-collapsed .sidebar a:not(.brand)>span,#app.sidebar-collapsed .sidebar-row button>span{display:none}
 #app.sidebar-collapsed .sidebar .nav-group{font-size:0;height:13px;padding:0;margin:5px 12px 2px;border-top:1px solid var(--line)}
 #app.sidebar-collapsed .sidebar-row{flex-direction:column;gap:4px}
 #app.sidebar-collapsed .sidebar-row button{padding:8px 0}
 #app.sidebar-collapsed .sidebar-row button+button{border:0}
}
@media(max-width:1200px){.dashboard-charts{gap:16px}.dashboard-chart{padding:18px}.bar-value{font-size:9px}.revenue-plot{gap:6px}}
@media(max-width:1050px){.dashboard-charts{grid-template-columns:1fr}.cost-bars{grid-template-columns:1fr 1fr;column-gap:24px}}
@media(max-width:900px){
 .sidebar{width:min(280px,calc(100vw - 48px));padding-top:20px}
 .shell{margin-left:0}
 .collapse-menu-btn{display:none}
 .dashboard-chart{padding:18px}
}
@media(max-width:540px){
 .cost-bars{grid-template-columns:1fr}
 .dashboard-charts{margin-top:20px}
 .bar-value{display:none}
 .revenue-plot{height:208px;gap:8px;padding-top:12px}
 .chart-heading>.link{font-size:10px}
 .chart-highlight>strong{font-size:24px}
 .chart-footer{flex-direction:column;gap:4px}
}
@media print{.collapse-menu-btn{display:none!important}.shell,#app.sidebar-collapsed .shell{margin:0}.dashboard-charts{break-inside:avoid}.dashboard-chart{border-radius:0}}
