/* Auth and admin shells; shared SBS tokens and components. */
.sbs-admin { min-height:100vh; display:flex; flex-direction:column; }
.sbs-account-skip { position:absolute; left:1rem; top:.5rem; transform:translateY(-200%); z-index:2000; padding:.75rem; background:#fff; }
.sbs-account-skip:focus { transform:none; }
.sbs-auth-brand { text-align:center; padding:1.5rem 1rem .5rem; }
.sbs-auth-brand img,.sbs-admin-brand img { object-fit:contain; background:#fff; }
.sbs-auth-main { flex:1; width:100%; max-width:30rem; margin:2rem auto; padding:1rem; }
.sbs-login-panel { background:#fff; border:1px solid var(--sbs-border); border-radius:var(--sbs-radius-control); padding:clamp(1rem,4vw,2rem); }
.sbs-login-panel h1,.sbs-admin-main h1 { font-size:2rem; }
.sbs-login-panel form { display:grid; gap:1.25rem; margin-top:1.5rem; }
.sbs-login-panel .btn { width:100%; }
.sbs-account-eyebrow { color:var(--sbs-primary); font-weight:700; font-size:.875rem; }
.sbs-account-footer { background:var(--sbs-primary); color:#fff; padding:1.25rem; display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; margin-top:2rem; font-size:.875rem; }
.sbs-account-footer a { color:#fff; }
.sbs-account-footer :focus-visible { outline-color:#fff; }
.sbs-admin-topbar { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; padding:.5rem 1rem; background:#fff; border-bottom:1px solid var(--sbs-border); }
.sbs-admin-label { font-weight:700; }
.sbs-admin-user { margin-left:auto; display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.sbs-admin-user > span { overflow-wrap:anywhere; }
.sbs-admin-toggle { margin-left:auto; }
.sbs-admin-toggle[hidden] { display:none; }
.sbs-admin-frame { flex:1; min-width:0; }
.sbs-admin-sidebar { padding:1rem; background:#fff; }
.sbs-admin-sidebar ul { margin:0; padding:0; list-style:none; }
.sbs-admin-sidebar a,.sbs-admin-sidebar li > span { display:flex; justify-content:space-between; gap:.5rem; align-items:center; min-height:44px; padding:.65rem .5rem; }
.sbs-admin-sidebar [aria-current] { font-weight:700; background:var(--sbs-surface-selected); border-radius:var(--sbs-radius-control); }
.sbs-admin-sidebar small { font-size:.75rem; color:var(--sbs-text-muted); white-space:nowrap; }
.sbs-admin-main { min-width:0; padding:2rem 1rem; }
.sbs-dashboard-empty { background:#fff; border:1px solid var(--sbs-border); border-radius:var(--sbs-radius-control); padding:1.5rem; margin-top:2rem; max-width:52rem; }
.sbs-dashboard-empty h2 { font-size:1.375rem; }
.sbs-admin .sbs-account-footer { margin-top:0; }
@media(min-width:992px) { .sbs-admin-frame { display:grid; grid-template-columns:17rem minmax(0,1fr); }.sbs-admin #admin-sidebar { display:block !important; height:auto !important; }.sbs-admin-toggle { display:none; }.sbs-admin-main { padding:2.5rem; } }
@media(max-width:575px) { .sbs-admin-label { display:none; }.sbs-admin-user { width:100%; justify-content:space-between; margin-left:0; }.sbs-admin-topbar .btn { padding-inline:.5rem; } }

.sbs-password-field { position:relative; }
.sbs-password-field input { padding-right:3.25rem; }
.sbs-password-toggle { position:absolute; right:1px; bottom:1px; width:44px; height:42px; display:grid; place-items:center; border:0; border-radius:var(--sbs-radius-control); background:transparent; color:var(--sbs-text-strong); }
.sbs-password-toggle[hidden],.sbs-eye-slash[hidden] { display:none; }
