:root{--sidebar-width:264px}
aside#sidebar{width:var(--sidebar-width);height:100dvh;padding:22px 14px 14px;gap:18px;min-height:0;transition:width .18s ease,transform .18s ease}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:0 8px}
.sidebar-head .brand{display:flex;align-items:center;gap:11px;white-space:nowrap;font-size:17px}
.sidebar-head .brand img{flex-shrink:0}
.brand-label small{display:block;font-size:10px;font-weight:400;margin-top:5px}
#menu-close{display:none}
#sidebar nav{min-height:0;padding:0 3px;scrollbar-width:thin;scrollbar-color:#c7d7cf transparent;overscroll-behavior:contain}
.nav-section{margin:0 0 17px}
.nav-heading{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:#81948b;margin:0 12px 9px;font-weight:650}
#sidebar nav a{display:flex;align-items:center;gap:12px;min-height:36px;padding:8px 11px;font-size:12px;line-height:1.4;margin:2px 0;font-weight:500}
#sidebar nav a.active{background:#e4f4ed;color:#087f61;font-weight:700;box-shadow:inset 3px 0 #087f61}
#sidebar nav a:focus-visible{outline:2px solid #087f61;outline-offset:-2px}
.menu-icon{width:18px;height:18px;flex-shrink:0}
.sidebar-footer{padding:14px 8px 0;flex-shrink:0;min-width:0}
.account-row{display:flex;align-items:center;gap:10px;min-width:0}
.avatar{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:#e4f4ed;color:#087f61;font-weight:700}
.account-info{min-width:0;flex:1}
.account-info strong,.account-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.account-info small{font-size:10px;margin:4px 0}
#logout{font-size:12px;text-align:left;margin-top:10px;width:100%;display:flex;align-items:center;gap:10px}
.workspace{margin-left:var(--sidebar-width);transition:margin-left .18s ease;min-width:0}
#menu-toggle{display:inline-flex;align-items:center;justify-content:center;font-size:20px;min-width:38px;flex-shrink:0}
.topbar{padding:24px 30px;gap:16px}.topbar h1{font-size:22px}
.topbar>div{min-width:0}.topbar .session-picker{margin-bottom:0}
.service-status{font-size:10px;white-space:nowrap;border-radius:20px;padding:7px 10px;color:#946b20;background:#fff4d9}
.service-status.online{color:#087f61;background:#e4f4ed}
.service-notice{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;background:#fff9eb;border:1px solid #eddcae;border-radius:12px;margin-bottom:24px}
.service-notice strong{font-size:15px;color:#70561d}.service-notice p{margin:8px 0 0;color:#81744f;line-height:1.7;max-width:730px}
.notice-link{color:#70561d;font-weight:600;white-space:nowrap;font-size:12px}
.installation-cards p{line-height:1.7;color:var(--muted)}.installation-cards h2{margin:12px 0}
.skip-link{position:fixed;top:-60px;left:16px;z-index:100;background:white;color:#087f61;padding:12px;border-radius:8px}.skip-link:focus{top:12px}
#menu-backdrop{display:none}
button:disabled{cursor:not-allowed}
@media(min-width:761px){body.menu-collapsed{--sidebar-width:78px}body.menu-collapsed #sidebar{padding:22px 9px 14px}body.menu-collapsed .brand-label,body.menu-collapsed .nav-label,body.menu-collapsed .nav-heading,body.menu-collapsed .account-info{display:none}body.menu-collapsed .sidebar-head{padding:0;justify-content:center}body.menu-collapsed .nav-section{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}body.menu-collapsed #sidebar nav a{justify-content:center;padding:10px 8px;min-height:40px}body.menu-collapsed .account-row{justify-content:center}body.menu-collapsed #logout{justify-content:center;font-size:20px}}
@media(max-width:1150px){.topbar{gap:12px;padding:22px}.topbar h1{font-size:20px}.service-status{display:none}}
@media(max-width:760px){aside#sidebar{width:min(286px,85vw);padding:20px 14px 14px;gap:20px}aside.open{box-shadow:none}#menu-close{display:inline-flex}.workspace{margin-left:0}.topbar{padding:18px 20px;gap:12px}.topbar>div{flex:1}.topbar h1{font-size:18px;line-height:1.3}.topbar .eyebrow{font-size:9px;letter-spacing:1px}.topbar .session-picker{width:calc(100% - 108px);margin:0;order:3}.topbar #refresh{order:4;margin:0;align-self:flex-end;min-width:96px}.service-notice{flex-direction:column;align-items:flex-start;gap:14px;padding:18px}.notice-link{white-space:normal}.menu-open{overflow:hidden}#menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:9;border-radius:0;background:#102c276b;padding:0}.sidebar-head .brand{font-size:16px}#sidebar nav a{font-size:13px;min-height:38px}.page-footer{padding:20px;font-size:10px}.nav-heading{margin-top:0}#content{min-height:60vh}}
@media(prefers-reduced-motion:reduce){#sidebar,.workspace{transition:none}}
@media(max-width:760px){.topbar>div{flex:1 1 calc(100% - 52px)}.topbar .session-picker{flex:1 1 calc(100% - 108px);min-width:0}.topbar .session-picker select{min-width:0}.topbar #refresh{flex:0 0 96px}}
