.admin-page { overflow:auto; background:var(--bg); min-height:100dvh; }
.admin-header { display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid var(--line); padding:18px max(20px,calc((100vw - 1160px)/2)); }
.admin-brand { color:var(--text); text-decoration:none; font-size:18px; font-weight:700; white-space:nowrap; }
.admin-brand span { color:var(--muted); margin-left:12px; font-size:12px; font-weight:400; }
.admin-header>div { display:flex; align-items:center; gap:10px; }
#adminIdentity { font-size:12px; color:var(--muted); }
.admin-main { max-width:1200px; margin:auto; padding:32px 20px 52px; }
.admin-page h1 { font-size:28px; margin:0 0 8px; }
.admin-page h2 { font-size:16px; margin:0; }
.admin-eyebrow { color:var(--accent); font-size:10px; letter-spacing:.16em; margin:0 0 10px; }
.admin-gate { max-width:490px; margin:8vh auto; padding:32px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.admin-gate h1 { font-size:24px; }
.admin-gate .google-slot { max-width:360px; }
.admin-title-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:24px; }
.admin-title-row .muted { margin:0; font-size:12px; }
.admin-controls { display:flex; align-items:center; gap:8px; }
.admin-controls select { width:auto; font-size:13px; min-height:34px; }
.admin-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
.admin-card { background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:18px 16px; min-width:0; }
.admin-card>p { font-size:12px; margin:0 0 16px; color:var(--muted); display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.admin-card p span,.admin-source { color:var(--muted); font-size:9px; border:1px solid var(--line); border-radius:4px; padding:2px 5px; }
.admin-card strong { display:block; font-size:30px; font-weight:650; font-variant-numeric:tabular-nums; line-height:1.1; margin-bottom:12px; }
.admin-card small { display:block; color:var(--muted); font-size:10px; line-height:1.7; }
.admin-charts { display:grid; gap:16px; }
.admin-panel { background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:20px; margin-bottom:16px; min-width:0; }
.admin-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.admin-chart { min-height:200px; display:flex; flex-direction:column; justify-content:center; }
.admin-chart>p { color:var(--muted); text-align:center; line-height:1.8; font-size:13px; }
.admin-chart svg { width:100%; height:auto; min-height:160px; stroke:none; overflow:visible; }
.chart-legend { display:flex; justify-content:center; gap:18px; font-size:11px; color:var(--muted); }
.chart-legend i { display:inline-block; width:16px; height:3px; margin-right:6px; vertical-align:middle; }
.admin-rank-tabs { display:flex; gap:4px; }
.admin-rank-tabs button { color:var(--muted); background:transparent; border:1px solid transparent; border-radius:5px; padding:6px 10px; font-size:12px; }
.admin-rank-tabs button[aria-pressed="true"] { color:var(--accent); background:var(--raised); border-color:var(--line); }
.admin-ranking { list-style:none; padding:0; margin:0; }
.admin-ranking li { display:grid; grid-template-columns:22px minmax(0,1fr) 55px; align-items:center; column-gap:12px; padding:12px 0; border-bottom:1px solid var(--line); }
.admin-ranking li:last-child { border:0; }
.rank-number { color:var(--muted); font-size:12px; }
.rank-filter { font-size:13px; min-width:0; }
.rank-filter small { color:var(--muted); margin-left:8px; font-size:11px; }
.rank-track { display:block; height:4px; background:var(--raised); border-radius:3px; margin-top:8px; }
.rank-track i { display:block; height:100%; background:var(--accent); border-radius:3px; }
.rank-count { text-align:right; font-size:15px; font-variant-numeric:tabular-nums; }
.admin-table-scroll { overflow-x:auto; }
.admin-page table { width:100%; border-collapse:collapse; font-size:12px; margin-top:16px; text-align:right; }
.admin-page caption { text-align:left; color:var(--muted); padding-bottom:12px; }
.admin-page th,.admin-page td { padding:10px 8px; border-bottom:1px solid var(--line); white-space:nowrap; }
.admin-page th:first-child,.admin-page td:first-child { text-align:left; }
.admin-page th { color:var(--muted); font-weight:400; }
.admin-footnote { color:var(--muted); font-size:11px; line-height:1.8; }
.admin-page .button { text-decoration:none; white-space:nowrap; }
@media(min-width:850px){.admin-cards{grid-template-columns:repeat(3,minmax(0,1fr));}.admin-charts{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:420px){.admin-header{padding:14px 16px;}.admin-header #adminIdentity{display:none;}.admin-brand span{display:none;}.admin-main{padding:24px 16px;}.admin-card{padding:16px 12px;}.admin-card>p{min-height:36px;align-content:flex-start;}.admin-card strong{font-size:clamp(20px,6.4vw,27px);}.admin-panel{padding:16px;}.admin-gate{padding:24px 20px;}.rank-filter small{display:block;margin-left:0;}}
@media(max-width:340px){.admin-card>p{min-height:48px;}}
