/* Approved B workspace; intentionally never styles .sidebar or its children. */
#appShell > main.content.admin-page {
  --adm-bg:#0d1722; --adm-panel:#162332; --adm-line:#2a3c4e; --adm-muted:#9db0c2; --adm-ink:#e8f0f7; --adm-accent:#72caff;
  background:var(--adm-bg); color:var(--adm-ink); min-height:100dvh; border-radius:0; transition:background-color .22s,color .22s;
  --text:#e8f0f7; --muted:#9db0c2; --border:#2a3c4e;
}
.admin-page > .topbar {display:none!important}
#adminView {max-width:1200px;width:100%;margin:0 auto;padding:6px 0 36px;color:var(--adm-ink)}
#adminView [hidden] {display:none!important}
#adminView h1,#adminView h2,#adminView strong {color:inherit}
#adminView h1 {font-size:28px;letter-spacing:-.8px;margin:5px 0 10px}
#adminView h2 {font-size:16px;margin:0;letter-spacing:-.3px}
#adminView p {color:var(--adm-muted);font-size:12px;line-height:1.7;margin:7px 0 0}
#adminView small {font-size:12px;color:var(--adm-muted)}
#adminView button {color:var(--adm-ink);background:#1b2c3e;border:1px solid var(--adm-line);border-radius:8px;padding:10px 14px;min-height:42px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;box-shadow:none;transition:background .18s,color .18s}
#adminView button:hover {background:#263e55}
#adminView button:disabled {opacity:.38;cursor:default}
#adminView button:focus-visible,#adminView input:focus-visible,#adminView select:focus-visible {outline:2px solid var(--adm-accent);outline-offset:3px}
#adminView .primary-button {background:#69c3f2;color:#09273c;border-color:#69c3f2}
#adminView .primary-button:hover {background:#93d7fb}
#adminView input,#adminView select,#adminView textarea {color-scheme:dark;background:#0f1d2a;color:var(--adm-ink);border:1px solid #32485c;box-shadow:none;border-radius:8px;padding:10px 12px;min-height:42px;font:inherit;font-size:13px}
#adminView input::placeholder,#adminView textarea::placeholder {color:#91a6b9}
#adminView .adm-context {display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;font-size:12px;color:var(--adm-muted)}
#adminView .adm-context button {border:0;padding:0;min-height:32px;background:none;color:var(--adm-accent)}
#adminView .adm-heading {display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:27px}
#adminView .adm-heading >div>p:first-child {font-size:10px;letter-spacing:1.7px;color:var(--adm-accent)}
#adminView .adm-heading >div:last-child {display:flex;align-items:center;gap:10px}
#adminRefresh {display:flex;gap:8px;align-items:center;white-space:nowrap}
#adminRefresh svg {width:16px;height:16px}
#adminView .admin-tabs {display:flex;gap:24px;flex-wrap:wrap;background:none;border:0;border-bottom:1px solid var(--adm-line);padding:0;margin:0 0 24px;border-radius:0;box-shadow:none}
#adminView .admin-tab {padding:10px 1px 15px;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--adm-muted)}
#adminView .admin-tab.active {color:var(--adm-accent);border-bottom-color:var(--adm-accent)}
#adminView .adm-metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
#adminView .adm-metrics article {background:var(--adm-panel);border:1px solid var(--adm-line);border-radius:12px;padding:21px}
#adminView .adm-metrics article>span {color:var(--adm-muted);font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}
#adminView .adm-metrics article>span svg {width:16px;height:16px;color:#79a5bf;flex:none}
#adminView .adm-metrics .adm-metric-button {display:block;text-align:left;background:var(--adm-panel);border:1px solid var(--adm-line);border-radius:12px;padding:21px;font-weight:400;transition:background .18s,border-color .18s,box-shadow .18s}
#adminView .adm-metric-button>span {display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--adm-muted);font-size:12px}
#adminView .adm-metric-button>span svg {width:16px;height:16px;flex:none;color:#79a5bf}
#adminView .adm-metrics .adm-metric-button:hover {background:#20364a;border-color:#5687a5}
#adminView .adm-metrics .adm-metric-button[aria-pressed=true] {background:#1d3549;border-color:var(--adm-accent);box-shadow:inset 0 0 0 1px var(--adm-accent)}
#adminView .adm-metrics strong {display:block;font-size:28px;line-height:1.3;margin-top:15px;font-variant-numeric:tabular-nums}
#adminView .adm-metrics strong small {margin-left:7px;font-size:12px;font-weight:400}
#adminView .adm-metrics.compact {gap:0;border:1px solid var(--adm-line);border-radius:12px;overflow:hidden}
#adminView .adm-metrics.compact article {border:0;border-right:1px solid var(--adm-line);border-radius:0;padding:18px 22px}
#adminView .adm-metrics.compact article:last-child {border-right:0}
#adminView .adm-metrics.compact strong {margin-top:9px;font-size:26px}
#adminView .adm-panel,#adminView #adminNoticesPanel .panel {background:var(--adm-panel);color:var(--adm-ink);border:1px solid var(--adm-line);box-shadow:none;border-radius:12px;padding:24px;margin-bottom:22px}
#adminView .adm-panel-heading {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
#adminView .adm-panel-heading>span {font-size:12px;color:var(--adm-muted)}
#adminView .adm-filters {display:flex;gap:10px;margin-bottom:20px}
#adminView .adm-filters input {flex:1;min-width:0}
#adminView .adm-filters select {width:145px}
#adminView .adm-table-head,#adminView .adm-row {display:grid;grid-template-columns:minmax(190px,1fr) 125px 105px 105px 16px;gap:12px;align-items:center;width:100%;text-align:left}
#adminView .adm-table-head {padding:13px 12px;background:#1c2d3d;color:var(--adm-muted);font-size:11px;border-radius:6px}
#adminView .adm-row {background:transparent;border:0;border-bottom:1px solid var(--adm-line);border-radius:0;padding:17px 12px;font-size:12px;font-weight:400}
#adminView .adm-row:hover {background:#1c3042}
#adminView .adm-table-head.signups,#adminView .adm-row.signups {grid-template-columns:minmax(0,1fr) 150px 150px}
#adminView .adm-person {display:flex;align-items:center;gap:12px;min-width:0}
#adminView .adm-person>span:last-child {min-width:0;overflow-wrap:anywhere}
#adminView .adm-person strong {display:block;font-size:13px;font-weight:600}
#adminView .adm-person small {display:block;font-size:11px;margin-top:5px}
#adminView .adm-avatar {width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#254e6b;color:#9cd8fc;flex-shrink:0;font-size:13px}
#adminView .tone-1 {background:#3d365b;color:#d0b9f5} #adminView .tone-2 {background:#294c42;color:#b1e1cf} #adminView .tone-3 {background:#544334;color:#f1ceab}
#adminView .adm-date {color:var(--adm-muted);font-variant-numeric:tabular-nums}
#adminView .adm-time {font-variant-numeric:tabular-nums}
#adminView .adm-success {color:#91d8b7;font-size:11px}
#adminView .adm-arrow {font-size:22px;color:var(--adm-muted)}
#adminView .adm-pager {display:flex;align-items:center;gap:8px;padding-top:20px;font-size:11px;color:var(--adm-muted)}
#adminView .adm-pager>span {margin-right:auto}
#adminView .adm-pager button {min-height:34px;padding:6px 12px;font-size:11px}
#adminView .adm-empty {padding:36px 12px;text-align:center;color:var(--adm-muted)}
#adminView .adm-bars {display:flex;align-items:end;gap:10px;overflow:auto;height:165px;padding:0 4px}
#adminView .adm-bars>div {display:flex;flex:1;min-width:27px;max-width:120px;align-items:center;flex-direction:column;gap:9px;font-size:11px}
#adminView .adm-bars span {width:60%;background:#61bae8;border-radius:4px 4px 0 0;min-height:1px}
#adminView .adm-bars small {font-size:10px;white-space:nowrap}
#adminView .adm-period {display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
#adminView .adm-period-controls {display:flex;align-items:center;gap:16px;flex-wrap:wrap}
#adminView .adm-grains {display:flex;border:1px solid var(--adm-line);background:#0f1d2a;padding:4px;border-radius:9px}
#adminView .adm-grains button {border:0;background:none;color:var(--adm-muted);padding:8px 12px;min-height:34px;font-size:12px}
#adminView .adm-grains button[aria-pressed=true] {color:#a5dcff;background:#254a64}
#adminPeriod,#adminPeriod label {display:flex;align-items:center;gap:10px;font-size:12px;color:var(--adm-muted)}
#adminPeriod input {width:155px}
#adminView .adm-scope {display:flex;justify-content:space-between;font-size:12px;color:var(--adm-muted);margin:22px 0 16px}
#adminView .adm-finance-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#adminView .adm-finance-card h2 {border-left:4px solid #84cef5;padding-left:12px}
#adminView .adm-finance-card.saving h2 {border-color:#a2d6b5}
#adminView .adm-finance-card.expense h2 {border-color:#e4bc9b}
#adminView .adm-finance-value {display:grid;gap:10px;padding:25px 0}
#adminView .adm-finance-value span {color:var(--adm-muted);font-size:12px}
#adminView .adm-finance-value strong {font-size:27px;font-variant-numeric:tabular-nums;letter-spacing:-.7px;overflow-wrap:anywhere}
#adminView .adm-finance-value.median {border-top:1px solid var(--adm-line);color:#91d4ff}
#adminView .adm-usage-bar {display:flex;height:12px;overflow:hidden;border-radius:6px;background:#263848}
#adminView .adm-usage-bar span:first-child {background:#67bfee} #adminView .adm-usage-bar span:last-child {background:#b5a0e0}
#adminView .adm-usage-values {display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
#adminView .adm-usage-values>div {display:grid;grid-template-columns:1fr auto;gap:12px}
#adminView .adm-usage-values>div+div {border-left:1px solid var(--adm-line);padding-left:24px}
#adminView .adm-usage-values span {grid-column:1/-1;color:var(--adm-muted);font-size:12px}
#adminView .adm-usage-values strong {font-size:25px}
#adminRecordDialog {background:#162332;color:#e8f0f7;border:1px solid #3b5770;border-radius:14px;width:min(480px,calc(100vw - 32px));max-height:90dvh;padding:30px}
#adminRecordDialog::backdrop {background:#030b13bb;backdrop-filter:blur(4px)}
#adminRecordDialog .adm-close {position:absolute;right:14px;top:12px;border:0;background:none;font-size:22px}
#adminRecordDialog .adm-person {margin:26px 0}
#adminRecordDialog dl {display:grid;grid-template-columns:105px minmax(0,1fr);gap:18px;font-size:12px;line-height:1.6}
#adminRecordDialog dt {color:#9db0c2} #adminRecordDialog dd {margin:0;overflow-wrap:anywhere}
#adminNoticesPanel label,#adminNoticesPanel .panel-heading span {color:var(--adm-muted)}
#adminNoticesPanel .notice-item {background:#162332;color:var(--adm-ink);border-color:var(--adm-line)}
#adminNoticesPanel .notice-body,#adminNoticesPanel .notice-meta {color:var(--adm-muted)}
#adminView #adminNoticesPanel .checkbox-label {background:#0f1d2a;border-color:var(--adm-line);color:var(--adm-ink)}
#adminView #adminNoticesPanel .notice-item.inactive {opacity:1}
@media(max-width:1100px){#adminView .adm-table-head,#adminView .adm-row{grid-template-columns:minmax(160px,1fr) 100px 80px 95px 10px;gap:8px}#adminView .adm-panel{padding:20px}#adminView .adm-finance-value strong{font-size:23px}}
@media(max-width:760px){
  #appShell > main.content.admin-page{padding:20px 16px 100px}
  #adminView .adm-context{margin-bottom:16px}#adminView .adm-heading{align-items:flex-start;gap:10px}#adminView h1{font-size:24px}
  #adminView .adm-heading>div:last-child{flex-direction:column-reverse;gap:6px}#adminView .adm-heading button{padding:9px;font-size:11px}#adminRefreshStatus{font-size:10px}
  #adminView .admin-tabs{gap:0;justify-content:space-between;flex-wrap:nowrap}#adminView .admin-tab{font-size:12px;padding:10px 3px 13px}
  #adminView .adm-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#adminView .adm-metrics article,#adminView .adm-metrics.compact article,#adminView .adm-metrics .adm-metric-button{padding:16px}
  #adminView .adm-metrics.compact article:nth-child(2){border-right:0}#adminView .adm-metrics.compact article:nth-child(-n+2){border-bottom:1px solid var(--adm-line)}
  #adminView .adm-panel{padding:18px 14px}#adminView .adm-filters{flex-wrap:wrap}#adminView .adm-filters input{flex-basis:100%;width:100%}#adminView .adm-filters select{flex:1}
  #adminView .adm-table-head{display:none}#adminView .adm-row,#adminView .adm-row.signups{grid-template-columns:1fr auto;padding:16px 0;gap:9px}
  #adminView .adm-row .adm-person{grid-column:1/-1}#adminView .adm-date{padding-left:48px;font-size:11px}#adminView .adm-success{padding-left:48px}#adminView .adm-arrow{justify-self:end}
  #adminView .adm-period-controls,#adminView .adm-grains{width:100%}#adminView .adm-grains button{flex:1;min-height:40px}#adminPeriod{width:100%}#adminPeriod label{flex:1;justify-content:space-between}
  #adminView .adm-finance-cards{grid-template-columns:1fr}#adminView .adm-finance-card{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}#adminView .adm-finance-card h2,#adminView .adm-finance-card>p{grid-column:1/-1}
  #adminView .adm-finance-value{padding:20px 0}#adminView .adm-finance-value.median{border:0}#adminView .adm-finance-value strong{font-size:23px}
  #adminView .adm-usage-values{gap:16px}#adminView .adm-usage-values>div+div{padding-left:16px}
  #adminNoticesPanel{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){#appShell>main.content.admin-page,#adminView button{transition:none}}
