/* ============================================================
   Authenticated dashboard shell (dashboard/subscription/downloads/
   settings/support/admin). Loaded only on those pages.
   ============================================================ */

.dash-shell{display:flex;min-height:100vh}
body.dash-loading .dash-content{visibility:hidden}

/* ---- Sidebar: compact by default, expands on hover/focus-within ---- */
.dash-sidebar{
  width:76px;flex-shrink:0;display:flex;flex-direction:column;
  border-right:1px solid var(--line);background:var(--bg-2);
  padding:20px 0;transition:width .22s var(--ease);overflow:hidden;
  position:sticky;top:0;height:100vh;z-index:40;
}
.dash-sidebar:hover,.dash-sidebar:focus-within{width:222px}
.dash-brand{display:flex;align-items:center;gap:12px;padding:0 22px 22px;font-weight:800;letter-spacing:.18em;font-size:.82rem;white-space:nowrap;border-bottom:1px solid var(--line);margin-bottom:14px}
.dash-nav{display:flex;flex-direction:column;gap:2px;padding:0 12px;flex:1}
.dash-nav a{display:flex;align-items:center;gap:14px;padding:11px 10px;border-radius:10px;color:var(--dim);font-size:.86rem;font-weight:600;white-space:nowrap;transition:background .2s,color .2s}
.dash-nav a svg{flex-shrink:0;width:18px;height:18px}
.dash-nav a:hover{background:rgba(255,255,255,.05);color:var(--text)}
.dash-nav a.active{background:var(--accent-soft);color:#e3e0ff}
.dash-signout{margin:14px 12px 0;display:flex;align-items:center;gap:14px;padding:11px 10px;border-radius:10px;border:1px solid var(--line);background:none;color:var(--muted);font-size:.86rem;font-weight:700;cursor:pointer;white-space:nowrap}
.dash-signout:hover{background:rgba(255,109,125,.08);border-color:rgba(255,109,125,.3);color:#ffb0b9}
.dash-signout svg{flex-shrink:0;width:16px;height:16px}

/* ---- Main area ---- */
.dash-main{flex:1;min-width:0}
.dash-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;border-bottom:1px solid var(--line);background:rgba(7,8,11,.85);backdrop-filter:blur(14px)}
.dash-menu-toggle{display:none;background:none;border:0;color:var(--text);padding:6px;cursor:pointer}
.dash-topbar-title{font-weight:700;font-size:.95rem}
.dash-user{display:flex;align-items:center;gap:10px;font-size:.84rem;color:var(--muted)}
.dash-content{padding:32px 28px 80px;max-width:1040px}
.dash-content h1{font-size:1.9rem;max-width:none;margin:0}
.dash-lead{color:var(--muted);margin-top:8px;max-width:560px}

/* ---- Small building blocks reused across dashboard pages ---- */
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.stat-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
.stat-card .label{font:700 .68rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.stat-card .value{font-size:1.5rem;font-weight:800;margin-top:8px}
.dash-section{margin-top:34px}
.dash-section h2{font-size:1.1rem;margin-bottom:14px}
.kv-row{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.86rem}
.kv-row:last-child{border-bottom:0}
.kv-row .k{color:var(--dim)}
.kv-row .v{font-weight:600}
.empty-state{padding:36px 20px;text-align:center;border:1px dashed var(--line-strong);border-radius:14px;color:var(--dim);font-size:.86rem}
.inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.danger-zone{margin-top:14px;border:1px solid rgba(255,109,125,.28);background:rgba(255,109,125,.05);border-radius:14px;padding:20px}
.danger-zone h3{color:#ffb0b9;font-size:.92rem}

/* ---- Admin table ---- */
.admin-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:20px}
.admin-toolbar input,.admin-toolbar select{border:1px solid var(--line-strong);border-radius:10px;background:#0c0e12;color:var(--text);padding:10px 12px;font-size:.84rem}
.admin-table{margin-top:18px;border:1px solid var(--line);border-radius:14px;overflow:hidden;overflow-x:auto}
.admin-table table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:760px}
.admin-table th{text-align:left;padding:12px 14px;color:var(--dim);font:700 .65rem var(--mono);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}
.admin-table td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--muted)}
.admin-table tr:last-child td{border-bottom:0}
.admin-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:.8rem;color:var(--dim)}

@media(max-width:900px){
  .dash-sidebar{position:fixed;left:0;top:0;height:100vh;width:250px;transform:translateX(-100%);transition:transform .25s var(--ease);box-shadow:var(--shadow)}
  .dash-sidebar.open{transform:translateX(0);width:250px}
  .dash-menu-toggle{display:flex}
  .dash-content{padding:24px 18px 70px}
  .stat-row{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){.stat-row{grid-template-columns:1fr}}

.dash-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:39}
.dash-overlay.open{display:block}
