.admin-dashboard{color:#e5edf1;background:#101b23;font:16px/1.5 system-ui,sans-serif;padding:clamp(16px,3vw,40px);min-height:100vh;box-sizing:border-box}.admin-dashboard *{box-sizing:border-box}.admin-dashboard header,.admin-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.admin-dashboard h1{font-size:clamp(24px,4vw,36px);margin:0}.admin-eyebrow{color:#6dc3d9;font-size:12px;letter-spacing:.1em}.admin-dashboard button,.admin-dashboard select,.admin-dashboard input{font:inherit;padding:10px 14px;border-radius:10px;border:1px solid #496572;background:#203642;color:#eef8fc;min-height:44px;max-width:100%}.admin-dashboard button{cursor:pointer}.admin-dashboard button:hover{background:#315362}.admin-dashboard :focus-visible{outline:3px solid #efbb53;outline-offset:3px}.admin-controls{justify-content:flex-start;margin:24px 0}.admin-cards,.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.admin-cards article,.admin-grid section{padding:18px;background:#1b2b35;border:1px solid #314853;border-radius:14px;min-width:0}.admin-cards strong{font-size:26px;color:#7bd1db}.admin-cards p{margin:0 0 8px}.admin-table-wrap{overflow-x:auto;max-width:100%}.admin-dashboard table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.admin-dashboard th,.admin-dashboard td{padding:12px 8px;border-bottom:1px solid #35505c;overflow-wrap:anywhere}.admin-dashboard small{display:block;font-size:11px;overflow-wrap:anywhere}.admin-dashboard td button{margin:3px}.admin-notice,.admin-status{color:#bdced7}.admin-notice{padding:16px;border-left:3px solid #e3b457;background:#202e36}.admin-dashboard h2{font-size:20px}.admin-dashboard h3{font-size:17px}dialog.admin-shell{padding:0;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;overflow:auto;background:#101b23}dialog.admin-shell::backdrop{background:#101b23}.admin-login{max-width:460px;margin:8vh auto}.admin-login form{display:grid;gap:14px}.admin-login label{display:grid;gap:5px}@media(max-width:520px){.admin-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-cards article{padding:12px}.admin-cards strong{font-size:21px}.admin-grid{grid-template-columns:1fr}.admin-controls>*{flex:1 1 140px}}
.admin-dashboard .admin-wide-table{min-width:640px}.admin-table-wrap{overscroll-behavior-x:contain}
/* The Android dashboard mounts on the dialog itself. Keep its content inset. */
dialog.admin-shell.admin-dashboard{
  padding:24px;
  padding-left:max(20px,env(safe-area-inset-left));
  padding-right:max(20px,env(safe-area-inset-right));
  padding-bottom:max(24px,env(safe-area-inset-bottom));
}
.admin-dashboard header{gap:16px;margin-bottom:16px}
.admin-dashboard .admin-eyebrow{margin:0 0 8px}
.admin-dashboard .admin-status{margin:0 0 24px}
.admin-dashboard h2{margin:24px 0 14px}
.admin-dashboard .admin-controls input{min-width:0}
.admin-dashboard .admin-controls input[type="number"]{max-width:150px}
@media(max-width:520px){
  .admin-dashboard .admin-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
  .admin-dashboard .admin-controls input{grid-column:1 / -1}
  .admin-dashboard .admin-controls>*{width:100%;min-width:0;padding:10px}
  .admin-dashboard .admin-cards{gap:12px}
  .admin-dashboard .admin-cards article{padding:14px}
}
