/* Shared dashboard layout. Keep page-specific charts and arrangements in dashboard/*.css. */
.page-shell { margin-left:240px;height:100dvh;display:flex;flex-direction:column;min-width:0 }
.topbar { flex:none;height:56px;padding:0 36px;background:var(--ui-surface, #fff);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between }
.top-context { font-size:calc(14px * var(--ui-font-scale,1));font-weight:550 }
.top-actions { margin-left:auto;display:flex;align-items:center;gap:24px;font-size:calc(13px * var(--ui-font-scale,1));color:var(--muted) }
.user-avatar { width:34px;height:34px;display:grid;place-items:center;background:var(--ui-accent-soft, var(--color-accent-soft));color:var(--ui-muted, #3662a6);border-radius:10px;font-size:calc(12px * var(--ui-font-scale,1));font-weight:600 }
main { overflow:auto;flex:1;padding:30px 36px 24px;scrollbar-gutter:stable }
.overview-title { display:flex;align-items:center;justify-content:space-between;margin-bottom:26px }
.page-heading { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin:0 0 26px }
.page-context { font-size:calc(13px * var(--ui-font-scale,1));color:var(--muted);display:block;margin-bottom:5px }
.sample-label { border:1px solid var(--ui-border, #dee6f1);background:var(--ui-surface, #fff);border-radius:20px;font-size:calc(12px * var(--ui-font-scale,1));color:var(--ui-muted, #75859c);padding:5px 11px }
.page-foot { font-size:calc(12px * var(--ui-font-scale,1));color:var(--ui-muted, #8291a7);padding-top:28px }
.mobile-trigger { display:none }
.mobile-nav { margin:0;inset:0 auto 0 0;height:100dvh;max-height:100dvh;width:280px;max-width:90vw;border:0;padding:0;background:var(--color-primary) }
.mobile-nav .side { position:static;width:100%;height:calc(100% - 50px);display:flex }
.mobile-nav-head { display:flex;align-items:center;justify-content:space-between;height:50px;padding:10px 22px;color:var(--ui-on-primary, white) }
.mobile-nav-head button { background:none;border:0;color:var(--ui-on-primary, #fff);font-size:calc(25px * var(--ui-font-scale,1)) }
@media(min-width:1600px) {
main { padding:36px 48px }
}
@media(max-width:900px) {
body>.side { display:none }
.page-shell { margin-left:0 }
.mobile-trigger { display:block;background:none;border:0;color:var(--ui-muted, #506690);font-size:calc(19px * var(--ui-font-scale,1));margin-right:14px }
.topbar { justify-content:flex-start;padding:0 22px }
.top-actions { margin-left:auto }
main { padding:24px }
}
@media(max-width:540px) {
main { padding:20px 16px }
.top-actions>span:first-child { display:none }
.topbar { height:56px;padding:0 16px }
.overview-title { margin-bottom:20px }
.sample-label { font-size:calc(11px * var(--ui-font-scale,1)) }
}
