body { background:var(--admin-bg); color:var(--admin-text); }
.admin-sidebar { overflow:hidden; }
.admin-brand { flex-shrink:0; }
.admin-brand-main,.admin-brand-sub { display:block; }
.admin-brand-sub { margin-top:6px; font-size:10px; letter-spacing:2px; }
.admin-nav { overflow-y:auto; flex:1; min-height:0; }
.business-menu { margin:12px 0; }
.business-menu summary { cursor:pointer; padding:12px; color:#fff; font-size:15px; font-weight:700; }
.business-menu a { font-size:13px; margin-left:20px; padding:8px 12px; }
.admin-nav a:not(.active) { color:rgba(255,255,255,.82); }
.business-menu .business-nav-label { margin:22px 12px 6px 20px; color:rgba(255,255,255,.62); font-size:9px; letter-spacing:.08em; line-height:1.5; }
.admin-user { display:flex; flex-direction:column; gap:4px; text-align:right; }
.admin-user small { color:var(--admin-muted); }
.panel { background:white; border:1px solid var(--admin-border); border-radius:12px; padding:24px; margin-bottom:24px; }
.panel h2 { margin-top:0; }
.eyebrow { color:var(--admin-muted); font-size:11px; letter-spacing:2px; }
.metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); gap:16px; }
.metric { padding:20px; border:1px solid var(--admin-border); border-radius:9px; background:#faf8f6; }
.metric>span { display:block; min-height:34px; font-size:12px; color:var(--admin-muted); }
.metric strong { display:block; margin-top:10px; font-size:25px; overflow-wrap:anywhere; }
.metric small { display:block; font-size:11px; color:var(--admin-muted); margin-top:5px; }
.recent-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; margin-top:20px; }
.recent-grid>div { overflow:auto; }
.overview-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:24px; }
.overview-summary { display:flex; flex-direction:column; min-width:0; margin-bottom:0; padding:20px; }
.overview-summary h2 { font-size:20px; margin-bottom:16px; }
.overview-key-metrics { margin:0; }
.overview-key-metrics>div { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:10px 0; border-bottom:1px solid var(--admin-border); }
.overview-key-metrics dt { font-size:12px; color:var(--admin-muted); }
.overview-key-metrics dd { margin:0; font-size:20px; font-weight:700; text-align:right; overflow-wrap:anywhere; min-width:0; }
.overview-key-metrics small { display:block; font-size:11px; font-weight:400; color:var(--admin-muted); }
.overview-tabs { display:flex; gap:6px; overflow-x:auto; padding:5px 3px 12px; }
.overview-tabs button { flex-shrink:0; font:inherit; font-size:14px; font-weight:600; color:var(--admin-muted); background:transparent; border:1px solid transparent; border-radius:8px; padding:12px 16px; cursor:pointer; }
.overview-tabs button[aria-selected=true] { color:var(--admin-text); background:var(--admin-accent-light); border-color:var(--admin-border); }
.overview-tabs button:hover { color:var(--admin-text); }
.overview-business[hidden] { display:none; }
.overview-business h2 { font-size:18px; }
.overview-tabs button:focus-visible,.overview-business:focus-visible,.overview-table-heading a:focus-visible { outline:2px solid var(--admin-text); outline-offset:2px; }
.overview-detail-content { margin-top:20px; }
.overview-table-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:8px; }
.overview-table-heading h3 { font-size:14px; margin:0; }
.overview-table-heading a { flex-shrink:0; font-size:12px; }
.overview-business .recent-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:20px; }
.overview-business .recent-grid th,.overview-business .recent-grid td { padding:8px 6px; }
@media(max-width:1199px) { .overview-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:639px) { .overview-summary-grid { grid-template-columns:minmax(0,1fr); gap:16px; } }
table { border-collapse:collapse; width:100%; }
.recent-grid th,.recent-grid td { text-align:left; padding:12px 8px; border-bottom:1px solid var(--admin-border); font-size:12px; }
.notice { border:1px solid var(--admin-border); border-radius:8px; padding:15px 18px; background:#f4f1ee; margin-bottom:18px; }
.notice.error { background:#fff1f0; color:#873c3c; border-color:#e6c7c3; }
.notice.success { background:#eff7ef; color:#365f3e; }
.alerts { margin-top:20px; padding:15px; background:#fff8e9; border-radius:8px; }
.alerts summary,details.panel>summary { cursor:pointer; }
label { display:block; margin-bottom:15px; }
.login-panel input,.account-form input:not([type=checkbox]),.password-form input,.account-form select { display:block; width:100%; padding:12px; margin-top:7px; border:1px solid var(--admin-border); border-radius:6px; font:inherit; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.account-form { margin-top:20px; }
.account-form fieldset { border:1px solid var(--admin-border); margin:0 0 20px; padding:18px; }
.checkbox { display:inline-flex; align-items:center; gap:8px; margin-right:20px; }
.checkbox input { width:auto; }
.password-form { max-width:500px; }
.login-container { display:grid; place-items:center; min-height:100vh; padding:24px; }
.login-panel { width:100%; max-width:420px; padding:32px; }
.login-panel h1 { font-size:30px; margin:12px 0; }
.login-panel form { margin-top:28px; }
.login-panel button { width:100%; }
.admin-button { cursor:pointer; }
.logout-form { margin-top:auto; padding:20px 12px 0; flex-shrink:0; }
.logout-form button { cursor:pointer; background:none; color:#eee; border:1px solid #62584f; padding:10px 16px; border-radius:6px; }
.menu-toggle { display:none; }
.cosmetics-content { --dist-accent:var(--admin-accent); }
a[aria-disabled=true] { color:var(--admin-muted); cursor:default; }
@media(max-width:800px) {
 .admin-layout { display:block; }
 .admin-sidebar { display:none; position:fixed; width:260px; z-index:100; left:0; top:0; bottom:0; }
 .admin-sidebar.is-open { display:flex; }
 .menu-toggle { display:block; cursor:pointer; padding:8px 12px; }
 .admin-content { padding:20px 14px; }
 .admin-topbar { padding:14px; gap:15px; }
 .form-grid { grid-template-columns:1fr; }
 .panel { padding:18px; }
 .recent-grid { grid-template-columns:1fr; }
}
@media print { .admin-sidebar,.admin-topbar { display:none!important; } .admin-layout { display:block; } .admin-content { padding:0; } }
