/* =========================================================
   ADMIN · DEALS STYLE — v302 (2026-10-03). The admin control bar + Listings (Live Data Manager) toolbar and
   area list re-dressed in the Hot Deals language (159): glass pill bar, soft 42px fields, gold pill action,
   serif numbered area cards with a round navy chevron. CSS only; markup/handlers untouched.
   Scoped to .admin-dash. Loaded last.
   ========================================================= */
.admin-dash{--ad-navy:var(--navy-900,#162D4C);--ad-navy2:var(--navy-950,#0F1F35);--ad-gold:var(--gold-500,#CEA577);--ad-gold2:var(--gold-400,#DDBB94);
  --ad-card:var(--surface,#fff);--ad-line:var(--line,#E3E7EC);--ad-ink:var(--ink,#162D4C);--ad-mute:var(--muted,#5F6B7A);--ad-soft:var(--paper-dim,#F1F3F6);--ad-r:16px;
  --ad-serif:'Fraunces',Georgia,serif;--ad-body:var(--font-body,Inter,system-ui,sans-serif);}
[data-theme="dark"] .admin-dash{--ad-card:var(--surface,#1A2331);--ad-ink:var(--ink,#EAEEF3);--ad-mute:var(--muted,#98A3B3);--ad-soft:#161E29;}

/* ---------- control bar → the same glass pill dock as the Requests tabs ---------- */
.admin-dash .admin-nav-bar{padding:7px;border-radius:var(--ad-r);border:1px solid var(--ad-line);
  background:color-mix(in srgb,var(--ad-card) 88%,transparent);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);
  box-shadow:0 8px 24px rgba(22,45,76,.10);}
.admin-dash .admin-primary-nav{gap:6px;}
.admin-dash .admin-primary-btn{height:42px;padding:0 14px;gap:9px;border-radius:12px;border:1px solid transparent;background:var(--ad-soft);color:var(--ad-ink);
  font:700 13px var(--ad-body);box-shadow:none;transition:background .18s,color .18s,border-color .18s,transform .18s;}
.admin-dash .admin-primary-btn:hover{border-color:var(--ad-gold);transform:translateY(-1px);}
.admin-dash .admin-primary-icon{width:auto;height:auto;background:none;border-radius:0;color:var(--ad-gold);font-size:14px;}
.admin-dash .admin-primary-chevron{opacity:.55;}
.admin-dash .admin-primary.is-active .admin-primary-btn,
.admin-dash .admin-primary.is-open .admin-primary-btn{background:var(--ad-navy);border-color:var(--ad-navy);color:#fff;box-shadow:0 6px 16px rgba(22,45,76,.25);transform:none;}
.admin-dash .admin-primary.is-active .admin-primary-icon,
.admin-dash .admin-primary.is-open .admin-primary-icon{background:none;color:var(--ad-gold2);}
[data-theme="dark"] .admin-dash .admin-primary.is-active .admin-primary-btn,
[data-theme="dark"] .admin-dash .admin-primary.is-open .admin-primary-btn{background:var(--ad-gold);border-color:var(--ad-gold);color:#162D4C;}
[data-theme="dark"] .admin-dash .admin-primary.is-active .admin-primary-icon{color:#162D4C;}

/* ---------- content panel: no extra white box, Deals-style spacing ---------- */
.admin-dash .admin-content-panel{background:transparent;border:0;box-shadow:none;padding:12px 0 40px;}

/* ---------- Listings toolbar → Deals filter bar ---------- */
.admin-dash .admin-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0 0 14px;padding:9px;border-radius:var(--ad-r);
  background:var(--ad-card);border:1px solid var(--ad-line);box-shadow:0 1px 2px rgba(22,45,76,.05),0 8px 22px rgba(22,45,76,.06);}
.admin-dash .admin-toolbar #adminUnitSearch{flex:1 1 260px;min-width:0;height:42px;padding:0 14px!important;border:1px solid transparent!important;border-radius:12px!important;
  background:var(--ad-soft);color:var(--ad-ink);font:500 14px var(--ad-body)!important;outline:0;transition:border-color .15s,background .15s;}
.admin-dash .admin-toolbar #adminUnitSearch:focus{border-color:var(--ad-gold)!important;background:var(--ad-card);}
.admin-dash .admin-toolbar .btn-ghost{height:42px;padding:0 15px;border-radius:12px;border:1px solid var(--ad-line);background:var(--ad-card);color:var(--ad-ink);
  font:700 13px var(--ad-body);display:inline-flex;align-items:center;gap:8px;box-shadow:none;}
.admin-dash .admin-toolbar .btn-ghost:hover{border-color:var(--ad-gold);}
.admin-dash .admin-toolbar .btn-ghost i{color:var(--ad-gold);}
.admin-dash .admin-toolbar .btn-gold{height:42px;padding:0 18px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;
  font:800 12.5px var(--ad-body);letter-spacing:.8px;text-transform:uppercase;color:#162D4C;background:linear-gradient(180deg,var(--ad-gold2),var(--ad-gold));
  border:0;box-shadow:0 6px 16px rgba(206,165,119,.4);}
.admin-dash .admin-toolbar .admin-units-filter-wrap{margin-left:auto;}

/* ---------- area groups → numbered Deals cards ---------- */
.admin-dash #adminUnitsGroups{counter-reset:uag;display:flex;flex-direction:column;gap:12px;}
.admin-dash .units-area-group{counter-increment:uag;margin:0;border-radius:var(--ad-r);overflow:hidden;background:var(--ad-card);
  border:1px solid var(--ad-line);border-left:4px solid var(--ad-gold);box-shadow:0 1px 2px rgba(22,45,76,.05),0 8px 22px rgba(22,45,76,.06);transition:box-shadow .2s;}
.admin-dash .units-area-group:hover{box-shadow:0 12px 28px rgba(22,45,76,.12);}
.admin-dash .units-area-head{width:100%;display:flex;align-items:center;gap:14px;padding:14px 18px;border:0;border-radius:0;background:transparent;color:var(--ad-ink);cursor:pointer;text-align:left;}
.admin-dash .units-area-head .units-area-name{flex:1 1 auto;min-width:0;gap:14px;font:600 clamp(20px,2.2vw,26px)/1.1 var(--ad-serif);letter-spacing:-.2px;color:var(--ad-ink);}
.admin-dash .units-area-head .units-area-name::before{content:counter(uag,decimal-leading-zero);order:-1;font:italic 500 clamp(26px,3vw,38px)/1 var(--ad-serif);color:var(--ad-gold);min-width:1.5em;}
.admin-dash .units-area-head .units-area-name i{display:none;}
.admin-dash .units-area-head .units-area-stats{flex:none;padding:6px 12px;border-radius:999px;background:var(--ad-soft);border:1px solid var(--ad-line);color:var(--ad-mute);font:700 12px var(--ad-body);}
.admin-dash .units-area-head .units-area-chevron{flex:none;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:var(--ad-navy);color:#fff;font-size:13px;}
[data-theme="dark"] .admin-dash .units-area-head .units-area-chevron{background:var(--ad-gold);color:#162D4C;}
.admin-dash .units-area-body{padding:0 14px 14px;border-top:1px solid var(--ad-line);}
.admin-dash .units-area-body .table-wrap{border-radius:12px;}

@media (max-width:760px){
  .admin-dash .admin-toolbar{flex-wrap:wrap;}
  .admin-dash .admin-toolbar #adminUnitSearch{flex:1 1 100%;}
  .admin-dash .units-area-head{padding:12px;gap:10px;flex-wrap:nowrap;}
  .admin-dash .units-area-head .units-area-stats{flex:none;}
}
@media (prefers-reduced-motion:reduce){.admin-dash *{transition:none!important;}}

/* ---------- fix: the area header must NOT be sticky inside its card ----------
   The card clips (overflow:hidden), which turns it into the sticky container: the header then sat `--header-h` px
   below the card top (big empty band) and slid over the table header when opened. Plain flow = stable open/close. */
.admin-dash .units-area-head{position:relative!important;top:auto!important;z-index:auto;box-shadow:none;}
.admin-dash .units-area-group{overflow:hidden;}
.admin-dash .units-area-body{padding-top:0;}
.admin-dash .units-area-body .table-wrap{margin-top:12px;border:1px solid var(--ad-line);border-radius:12px;}
.admin-dash .units-area-group .units-area-chevron{transition:transform .2s ease;}
.admin-dash .units-area-group .units-area-chevron.open{transform:rotate(180deg);}

/* tighter rhythm between the control bar, the toolbar and the first card */
.admin-dash .admin-content-panel{padding-top:0;}
.admin-dash .admin-nav-bar{margin-bottom:10px;}
.admin-dash .admin-toolbar{margin-bottom:10px;}
.admin-dash#adminNavBar,.admin-dash.admin-dash{gap:0;row-gap:0;}

/* =========================================================
   BUILDINGS tab (and any .admin-panel / .table-wrap inside the admin content): same Deals frame.
   ========================================================= */

/* the first toolbar only holds an (i) help icon → no empty white bar: icon floats over the first card's strip */
.admin-dash .admin-toolbar:has(> .admin-help-slot:only-child){position:relative;height:0;margin:0;padding:0;border:0;background:none;box-shadow:none;overflow:visible;z-index:5;}
.admin-dash .admin-toolbar:has(> .admin-help-slot:only-child) > .admin-help-slot{position:absolute;right:58px;top:16px;margin:0!important;}

/* panel card: navy strip header (like Access Codes) + inset table */
.admin-dash .admin-panel{position:relative;padding:0;overflow:hidden;margin:0 0 14px!important;border-radius:var(--ad-r);border:1px solid var(--ad-line);background:var(--ad-card);
  box-shadow:0 1px 2px rgba(22,45,76,.05),0 8px 22px rgba(22,45,76,.06);}
.admin-dash .admin-panel > h3{display:flex;align-items:center;gap:10px;margin:0!important;padding:14px 18px;color:#fff;font:600 clamp(19px,2.2vw,24px)/1.1 var(--ad-serif)!important;letter-spacing:-.2px;
  background:
    radial-gradient(420px 200px at 92% -20%,rgba(206,165,119,.30),transparent 70%),
    repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 1px,transparent 1px 22px),
    linear-gradient(135deg,var(--ad-navy2) 0%,var(--ad-navy) 58%,#1F3A5F 100%);
  box-shadow:inset 0 -3px 0 -1px rgba(206,165,119,.75);}
.admin-dash .admin-panel > h3 i{color:var(--ad-gold2);font-size:.8em;}
.admin-dash .admin-panel > .admin-help-slot{position:absolute;right:18px;top:16px;margin:0!important;z-index:3;}
.admin-dash .admin-panel > .admin-help-slot summary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff;}
.admin-dash .admin-panel > .admin-help-slot .admin-help-popover{left:auto;right:0;color:var(--ad-ink);}
.admin-dash .admin-panel > p{margin:12px 18px 0!important;max-width:none!important;}
.admin-dash .admin-panel > .table-wrap{margin:12px 14px 14px;border:1px solid var(--ad-line);border-radius:12px;}

/* tables: one calm header, group rows as serif section dividers (NOT sticky inside the scrolling wrap) */
.admin-dash .admin-content-panel > .table-wrap{border:1px solid var(--ad-line);border-radius:var(--ad-r);background:var(--ad-card);
  box-shadow:0 1px 2px rgba(22,45,76,.05),0 8px 22px rgba(22,45,76,.06);}
.admin-dash .table-wrap table.data-table thead th{padding-top:13px;padding-bottom:13px;}
.admin-dash .table-group-row td,
.admin-dash table.data-table tr.table-group-row:hover td{position:static!important;top:auto!important;z-index:auto;box-shadow:none;
  background:var(--ad-soft);color:var(--ad-ink);border-left:4px solid var(--ad-gold);border-bottom:1px solid var(--ad-line);
  padding:12px 16px;text-transform:none;letter-spacing:-.2px;font:600 19px/1.1 var(--ad-serif);}
.admin-dash .table-group-row td i{color:var(--ad-gold);font-size:.75em;margin-right:10px;}
.admin-dash .table-group-count{float:right;padding:5px 11px;border-radius:999px;background:var(--ad-card);border:1px solid var(--ad-line);color:var(--ad-mute);font:700 12px var(--ad-body);letter-spacing:0;}
.admin-dash tbody+tbody .table-group-row td{border-top:0;}

/* =========================================================
   IMPORT tab (Live Data Import) — v305 professional rebuild, same Deals language.
   hero strip · primary import card (full width, drop-zone) · tidy source cards that size to content
   ========================================================= */
.admin-dash .admin-import-redesign{display:flex;flex-direction:column;gap:12px;}

/* hero → Access-Codes style strip */
.admin-dash .admin-command-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;padding:16px 20px;border-radius:var(--ad-r);border:1px solid rgba(206,165,119,.35);color:#fff;
  background:
    radial-gradient(520px 240px at 90% -10%,rgba(206,165,119,.28),transparent 70%),
    repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 1px,transparent 1px 22px),
    linear-gradient(135deg,var(--ad-navy2) 0%,var(--ad-navy) 58%,#1F3A5F 100%);
  box-shadow:0 14px 34px rgba(22,45,76,.16);}
.admin-dash .admin-command-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--ad-gold),transparent);opacity:.75;}
.admin-dash .admin-command-hero .hero-copy{display:flex;align-items:center;gap:14px;min-width:0;position:relative;z-index:1;}
.admin-dash .admin-command-hero .hero-copy > div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.admin-dash .admin-command-hero .hero-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;flex:none;background:rgba(206,165,119,.16);border:1px solid rgba(206,165,119,.4);color:var(--ad-gold2);font-size:18px;}
.admin-dash .admin-command-hero h2{margin:0;font:600 clamp(22px,2.6vw,30px)/1.1 var(--ad-serif);letter-spacing:-.3px;color:#fff;}
.admin-dash .admin-command-hero .admin-help-slot{margin:0!important;}
.admin-dash .admin-command-hero .admin-help summary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff;}
.admin-dash .admin-command-hero .admin-help-popover{color:var(--ad-ink);}
.admin-dash .admin-command-hero .btn-gold{position:relative;z-index:1;flex:none;height:42px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;border:0;
  font:800 12.5px var(--ad-body);letter-spacing:.8px;text-transform:uppercase;color:#162D4C;background:linear-gradient(180deg,var(--ad-gold2),var(--ad-gold));box-shadow:0 6px 16px rgba(206,165,119,.4);}

/* grid: cards size to their content (no stretched empty cards); primary card spans the full row */
.admin-dash .admin-import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;}
.admin-dash .admin-import-card.primary{grid-column:1 / -1;border-left:4px solid var(--ad-gold);}
.admin-dash .admin-import-card{position:relative;margin:0;padding:16px 18px 18px;display:flex;flex-direction:column;gap:12px;min-height:0;border-radius:var(--ad-r);
  background:var(--ad-card);border:1px solid var(--ad-line);box-shadow:0 1px 2px rgba(22,45,76,.05),0 8px 22px rgba(22,45,76,.06);transition:box-shadow .2s,border-color .2s;}
.admin-dash .admin-import-card::before{display:none;}
.admin-dash .admin-import-card:hover{border-color:rgba(206,165,119,.55);box-shadow:0 12px 28px rgba(22,45,76,.12);}
.admin-dash .admin-import-card.primary::after{content:"Primary";position:absolute;top:16px;right:56px;padding:4px 10px;border-radius:999px;background:rgba(206,165,119,.18);color:var(--ad-ink);
  border:1px solid var(--ad-gold);font:800 10px var(--ad-mono,var(--font-mono,monospace));letter-spacing:1.4px;text-transform:uppercase;}

/* card head: icon tile · serif title · micro line · (i) at the end */
.admin-dash .admin-import-card .card-head{display:flex;align-items:center;gap:13px;margin:0;padding:0;min-width:0;}
.admin-dash .admin-import-card .card-head > i{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:16px;
  background:rgba(206,165,119,.16);border:1px solid rgba(206,165,119,.35);color:var(--ad-gold);}
.admin-dash .admin-import-card .card-head > div{flex:1 1 auto;min-width:0;}
.admin-dash .admin-import-card .card-head h3{margin:0;font:600 clamp(17px,1.8vw,20px)/1.15 var(--ad-serif);letter-spacing:-.2px;color:var(--ad-ink);}
.admin-dash .admin-import-card .card-head .micro{margin-top:3px;font:600 12px var(--ad-body);color:var(--ad-mute);}
.admin-dash .admin-import-card .card-head .admin-help-slot{margin:0 0 0 auto!important;flex:none;}

/* drop-zone */
.admin-dash .admin-file-drop{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:14px;border:1.5px dashed rgba(206,165,119,.65);
  background:linear-gradient(180deg,rgba(206,165,119,.07),rgba(206,165,119,.02));transition:background .2s,border-color .2s;}
.admin-dash .admin-file-drop:hover,.admin-dash .admin-file-drop:focus-within{border-color:var(--ad-gold);background:rgba(206,165,119,.12);}
.admin-dash .admin-file-drop input[type=file]{flex:1 1 auto;min-width:0;font:600 13px var(--ad-body);color:var(--ad-mute);}
.admin-dash .admin-file-drop input[type=file]::file-selector-button{height:36px;margin-right:12px;padding:0 16px;border-radius:10px;border:1px solid var(--ad-line);background:var(--ad-card);color:var(--ad-ink);font:700 13px var(--ad-body);cursor:pointer;transition:border-color .15s;}
.admin-dash .admin-file-drop input[type=file]::file-selector-button:hover{border-color:var(--ad-gold);}

/* scope options as chips */
.admin-dash .admin-import-scope{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0;}
.admin-dash .admin-import-scope-opt{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;border:1px solid var(--ad-line);background:var(--ad-soft);color:var(--ad-ink);font:600 13px var(--ad-body);cursor:pointer;transition:border-color .15s,background .15s;}
.admin-dash .admin-import-scope-opt:hover{border-color:var(--ad-gold);}
.admin-dash .admin-import-scope-opt:has(input:checked){background:rgba(206,165,119,.16);border-color:var(--ad-gold);}
.admin-dash .admin-import-scope-opt input{accent-color:var(--ad-gold);width:16px;height:16px;margin:0;}
.admin-dash .admin-file-hint{margin:-4px 0 0;font:600 12px var(--ad-body);color:var(--ad-mute);}

/* link inputs + actions */
.admin-dash .admin-import-input{display:flex;align-items:center;gap:10px;}
.admin-dash .admin-import-input input{flex:1 1 auto;min-width:0;height:44px;padding:0 14px;border-radius:12px;border:1px solid transparent;background:var(--ad-soft);color:var(--ad-ink);font:500 14px var(--ad-body);outline:0;transition:border-color .15s,background .15s;}
.admin-dash .admin-import-input input:focus{border-color:var(--ad-gold);background:var(--ad-card);}
.admin-dash .admin-import-card .btn-navy{flex:none;height:44px;padding:0 18px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;
  background:var(--ad-navy);color:#fff;font:700 13px var(--ad-body);box-shadow:0 6px 16px rgba(22,45,76,.22);transition:background .18s,transform .18s;}
.admin-dash .admin-import-card .btn-navy:hover{background:#1F3A5F;transform:translateY(-1px);}
.admin-dash .admin-import-card .btn-navy i{color:var(--ad-gold2);}
[data-theme="dark"] .admin-dash .admin-import-card .btn-navy{background:var(--ad-gold);color:#162D4C;}
[data-theme="dark"] .admin-dash .admin-import-card .btn-navy i{color:#162D4C;}
.admin-dash .admin-raw-preview-row{margin:0;}
.admin-dash .admin-preview-link{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--ad-line);background:var(--ad-soft);color:var(--ad-ink);font:700 12.5px var(--ad-body);text-decoration:none;}
.admin-dash .admin-preview-link:hover{border-color:var(--ad-gold);}
.admin-dash .admin-preview-link i{color:var(--ad-gold);}

/* status lines: only take room when they have something to say */
.admin-dash .admin-import-status:empty{display:none;}
.admin-dash .admin-import-status{margin:0;}

@media (max-width:900px){
  .admin-dash .admin-import-grid{grid-template-columns:minmax(0,1fr);}
  .admin-dash .admin-import-card.primary::after{display:none;}
}
@media (max-width:640px){
  .admin-dash .admin-command-hero{padding:14px;flex-wrap:wrap;}
  .admin-dash .admin-command-hero .btn-gold{width:100%;justify-content:center;}
  .admin-dash .admin-file-drop{flex-direction:column;align-items:stretch;}
  .admin-dash .admin-import-input{flex-direction:column;align-items:stretch;}
  .admin-dash .admin-import-card .btn-navy{width:100%;}
}
.admin-dash .admin-import-card > .btn-navy{align-self:flex-start;}
@media (max-width:640px){.admin-dash .admin-import-card > .btn-navy{align-self:stretch;}}

/* =========================================================
   IMPORT tab — v306 compact rebuild (.imp2). Raw Broadcast Sheet (daily) sits first on one line;
   SEARCH_HUB.xlsx next; Google Sheets + OneDrive merged into one card; rare tools folded away.
   ========================================================= */
.admin-dash .imp2{gap:10px;}

/* slim title bar (replaces the tall hero) */
.admin-dash .imp2-bar{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;padding:9px 14px;border-radius:14px;color:#fff;border:1px solid rgba(206,165,119,.35);
  background:radial-gradient(420px 160px at 92% -40%,rgba(206,165,119,.28),transparent 70%),linear-gradient(135deg,var(--ad-navy2) 0%,var(--ad-navy) 60%,#1F3A5F 100%);box-shadow:0 8px 22px rgba(22,45,76,.14);}
.admin-dash .imp2-bar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--ad-gold),transparent);opacity:.7;}
.admin-dash .imp2-bar-ico{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(206,165,119,.16);border:1px solid rgba(206,165,119,.4);color:var(--ad-gold2);font-size:14px;}
.admin-dash .imp2-bar-txt{min-width:0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.admin-dash .imp2-bar h2{margin:0;font:600 19px/1.15 var(--ad-serif);letter-spacing:-.2px;color:#fff;}
.admin-dash .imp2-bar p{margin:0;font:500 12.5px var(--ad-body);color:rgba(255,255,255,.72);}
.admin-dash .imp2-bar .admin-help-slot{margin:0 0 0 auto!important;}
.admin-dash .imp2-bar .admin-help summary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff;}
.admin-dash .imp2-bar .admin-help-popover{left:auto;right:0;color:var(--ad-ink);}

/* cards */
.admin-dash .imp2-card{position:relative;margin:0;padding:12px 16px;display:flex;flex-direction:column;gap:10px;min-height:0;border-radius:14px;background:var(--ad-card);border:1px solid var(--ad-line);
  box-shadow:0 1px 2px rgba(22,45,76,.05),0 6px 18px rgba(22,45,76,.05);}
.admin-dash .imp2-daily{border-left:4px solid var(--ad-gold);background:linear-gradient(90deg,rgba(206,165,119,.10),transparent 55%),var(--ad-card);}

/* one-line layout: [icon + title] [controls …] */
.admin-dash .imp2-line{display:flex;align-items:center;gap:18px;}
.admin-dash .imp2-head{display:flex;align-items:center;gap:11px;min-width:0;}
.admin-dash .imp2-line > .imp2-head{flex:0 0 304px;}
.admin-dash .imp2-head > i{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:15px;background:rgba(206,165,119,.16);border:1px solid rgba(206,165,119,.35);color:var(--ad-gold);}
.admin-dash .imp2-head > div{min-width:0;flex:1 1 auto;}
.admin-dash .imp2-head h3{margin:0;font:600 17px/1.15 var(--ad-serif);letter-spacing:-.2px;color:var(--ad-ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.admin-dash .imp2-head .micro{margin-top:2px;font:600 11.5px var(--ad-body);color:var(--ad-mute);}
.admin-dash .imp2-head .admin-help-slot{margin:0 0 0 auto!important;flex:none;}
.admin-dash .imp2-head-sm > i{width:32px;height:32px;border-radius:9px;font-size:13px;}
.admin-dash .imp2-head-sm h3{font-size:15.5px;}
.admin-dash .imp2-badge{padding:2px 8px;border-radius:999px;background:var(--ad-gold);color:#162D4C;font:800 9.5px var(--ad-mono,var(--font-mono,monospace));letter-spacing:1.2px;text-transform:uppercase;}
.admin-dash .imp2-ctrl{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;}
.admin-dash .imp2-ctrl > input{flex:1 1 auto;min-width:0;height:42px;padding:0 14px;border-radius:12px;border:1px solid transparent;background:var(--ad-soft);color:var(--ad-ink);font:500 14px var(--ad-body);outline:0;transition:border-color .15s,background .15s;}
.admin-dash .imp2-ctrl > input:focus{border-color:var(--ad-gold);background:var(--ad-card);}

/* buttons + preview link at the same 42px height */
.admin-dash .imp2 .btn-navy{flex:none;height:42px;padding:0 16px;white-space:nowrap;}
.admin-dash .imp2-ctrl .admin-preview-link{flex:none;height:42px;padding:0 14px;white-space:nowrap;border-radius:12px;}

/* xlsx drop zone: slimmer, button inside */
.admin-dash .imp2-ctrl .admin-file-drop{flex:1 1 auto;min-width:0;flex-wrap:nowrap;padding:5px 5px 5px 12px;gap:10px;border-radius:12px;}
.admin-dash .imp2-ctrl .admin-file-drop input[type=file]{font-size:12.5px;}
.admin-dash .imp2-ctrl .admin-file-drop input[type=file]::file-selector-button{height:32px;padding:0 14px;margin-right:10px;}

/* scope chips + hint on one line */
.admin-dash .imp2-opts{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;}
.admin-dash .imp2 .admin-import-scope-opt{padding:6px 12px;font-size:12.5px;}
.admin-dash .imp2-opts .admin-file-hint{margin:0;font-size:11.5px;}

/* merged sources + folded tools: two columns separated by a hairline */
.admin-dash .imp2-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;}
.admin-dash .imp2-src{display:flex;flex-direction:column;gap:9px;min-width:0;padding:0 18px 0 0;}
.admin-dash .imp2-src + .imp2-src{padding:0 0 0 18px;border-left:1px solid var(--ad-line);}
.admin-dash .imp2-src .admin-import-input{gap:8px;flex-wrap:nowrap;}
.admin-dash .imp2-src .admin-import-input input{flex:1 1 0;}
.admin-dash .imp2-src .admin-import-input input{height:42px;}
.admin-dash .imp2-src > .btn-navy{align-self:flex-start;}
.admin-dash .imp2 .admin-help-popover{left:auto;right:0;}
.admin-dash .imp2-daily .admin-help-popover,.admin-dash .imp2-xlsx .admin-help-popover{left:0;right:auto;}

/* folded advanced tools */
.admin-dash .imp2-tools{padding:0;gap:0;}
.admin-dash .imp2-tools > summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;color:var(--ad-ink);border-radius:14px;}
.admin-dash .imp2-tools > summary::-webkit-details-marker{display:none;}
.admin-dash .imp2-tools > summary:hover{background:var(--ad-soft);}
.admin-dash .imp2-tools > summary > i:first-child{color:var(--ad-gold);font-size:13px;}
.admin-dash .imp2-tools-t{font:700 13px var(--ad-body);}
.admin-dash .imp2-tools > summary .micro{font:600 11.5px var(--ad-body);color:var(--ad-mute);}
.admin-dash .imp2-chev{margin-left:auto;font-size:11px;color:var(--ad-mute);transition:transform .2s;}
.admin-dash .imp2-tools[open] .imp2-chev{transform:rotate(180deg);}
.admin-dash .imp2-tools[open] > summary{border-bottom:1px solid var(--ad-line);border-radius:14px 14px 0 0;}
.admin-dash .imp2-tools > .imp2-cols{padding:14px 16px 16px;}

/* tablet: controls wrap under the title */
@media (max-width:900px){
  .admin-dash .imp2-line{flex-direction:column;align-items:stretch;gap:10px;}
  .admin-dash .imp2-line > .imp2-head{flex:0 0 auto;}
}
/* phone */
@media (max-width:640px){
  .admin-dash .imp2-bar-txt p{display:none;}
  .admin-dash .imp2-ctrl{flex-wrap:wrap;}
  .admin-dash .imp2-ctrl > input{flex:1 1 100%;}
  .admin-dash .imp2-daily .btn-navy,.admin-dash .imp2-ctrl .admin-preview-link{flex:1 1 0;justify-content:center;}
  .admin-dash .imp2-ctrl .admin-file-drop{flex-direction:row;align-items:center;flex-wrap:nowrap;}
  .admin-dash .imp2-ctrl .admin-file-drop input[type=file]{font-size:11.5px;}
  .admin-dash .imp2-ctrl .admin-file-drop input[type=file]::file-selector-button{padding:0 10px;margin-right:6px;}
  .admin-dash .imp2-cols{grid-template-columns:minmax(0,1fr);gap:14px;}
  .admin-dash .imp2-src,.admin-dash .imp2-src + .imp2-src{padding:0;border-left:0;}
  .admin-dash .imp2-src + .imp2-src{padding-top:14px;border-top:1px solid var(--ad-line);}
  .admin-dash .imp2-src .admin-import-input{flex-direction:row;align-items:center;}
  .admin-dash .imp2-src .admin-import-input .btn-navy{width:auto;}
  .admin-dash .imp2-src > .btn-navy{align-self:stretch;}
  .admin-dash .imp2-head .admin-help-popover,.admin-dash .imp2-bar .admin-help-popover{left:14px;right:14px;}
}
.admin-dash .imp2,.admin-dash .imp2-card,.admin-dash .imp2-line,.admin-dash .imp2-ctrl,.admin-dash .imp2-src{min-width:0;max-width:100%;}
.admin-dash .imp2-ctrl .admin-file-drop input[type=file]{width:100%;min-width:0;flex:1 1 0;text-overflow:ellipsis;}

/* =========================================================
   USER PERMISSIONS — v307 (.up-*). Site Access (the gate) first with an animated padlock + tile selector,
   then ONE user list whose role chips replace the old stat row, the "x Brokers · y Viewers" line and the role cards.
   Password resets + protected accounts fold into one "Security & recovery" panel.
   ========================================================= */
.admin-dash .up-root{display:flex;flex-direction:column;gap:12px;min-width:0;}
.admin-dash .up-root *{min-width:0;}
.admin-dash .up-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);opacity:0;pointer-events:none;}
.admin-dash .up-root [hidden]{display:none!important;}

/* title bar */
.admin-dash .up-bar{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;padding:9px 14px;border-radius:14px;color:#fff;border:1px solid rgba(206,165,119,.35);
  background:radial-gradient(420px 160px at 92% -40%,rgba(206,165,119,.28),transparent 70%),linear-gradient(135deg,var(--ad-navy2) 0%,var(--ad-navy) 60%,#1F3A5F 100%);box-shadow:0 8px 22px rgba(22,45,76,.14);}
.admin-dash .up-bar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--ad-gold),transparent);opacity:.7;}
.admin-dash .up-bar-ico{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(206,165,119,.16);border:1px solid rgba(206,165,119,.4);color:var(--ad-gold2);font-size:14px;}
.admin-dash .up-bar-txt{flex:1 1 auto;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.admin-dash .up-bar h2{margin:0;font:600 19px/1.15 var(--ad-serif);letter-spacing:-.2px;color:#fff;}
.admin-dash .up-bar p{margin:0;font:500 12.5px var(--ad-body);color:rgba(255,255,255,.72);}
.admin-dash .up-add{flex:none;height:38px;padding:0 18px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;border:0;font:800 12px var(--ad-body);letter-spacing:.8px;text-transform:uppercase;color:#162D4C;
  background:linear-gradient(180deg,var(--ad-gold2),var(--ad-gold));box-shadow:0 6px 16px rgba(206,165,119,.4);transition:transform .18s,box-shadow .18s;}
.admin-dash .up-add:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 10px 22px rgba(206,165,119,.5);}

/* panels */
.admin-dash .up-panel{position:relative;margin:0;border-radius:16px;background:var(--ad-card);border:1px solid var(--ad-line);box-shadow:0 1px 2px rgba(22,45,76,.05),0 8px 22px rgba(22,45,76,.06);}

/* ---------- GATE ---------- */
.admin-dash .up-gate{--gm:#D9962B;padding:14px 16px 16px;transition:border-color .5s,box-shadow .5s;border-color:color-mix(in srgb,var(--gm) 45%,var(--ad-line));
  box-shadow:0 1px 2px rgba(22,45,76,.05),0 10px 30px color-mix(in srgb,var(--gm) 16%,transparent);}
.admin-dash .up-gate[data-mode="otac"]{--gm:#1E9E6A;}
.admin-dash .up-gate[data-mode="credentials"],.admin-dash .up-gate[data-mode="code"],.admin-dash .up-gate[data-mode="both"]{--gm:#2F6FB5;}
.admin-dash .up-gate[data-mode="admin"]{--gm:#C0392B;}
.admin-dash .up-gate::before{content:"";position:absolute;left:16px;right:16px;top:0;height:3px;border-radius:0 0 4px 4px;background:var(--gm);transition:background .5s;}
.admin-dash .up-gate-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.admin-dash .up-lock{position:relative;flex:none;width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:color-mix(in srgb,var(--gm) 13%,transparent);transition:background .5s;}
.admin-dash .up-gate[data-mode="open"] .up-lock{animation:upWarn 2.4s ease-in-out infinite;}
.admin-dash .up-lock-svg{width:48px;height:48px;overflow:visible;}
.admin-dash .up-body{fill:var(--gm);transition:fill .5s;}
.admin-dash .up-key{fill:#fff;opacity:.92;}
.admin-dash .up-shackle path{stroke:var(--gm);transition:stroke .5s;}
.admin-dash .up-shackle{transform-box:view-box;transform-origin:43px 31px;transition:transform .6s cubic-bezier(.34,1.56,.64,1);}
.admin-dash .up-gate[data-mode="open"] .up-shackle{transform:translate(0,-7px) rotate(-32deg);}
.admin-dash .up-ring{fill:none;stroke:var(--gm);stroke-width:1.6;opacity:0;transform-box:fill-box;transform-origin:center;}
.admin-dash .up-gate:not([data-mode="open"]) .up-ring{animation:upRing 2.8s ease-out infinite;}
.admin-dash .up-gate:not([data-mode="open"]) .up-ring.r2{animation-delay:1.4s;}
.admin-dash .up-gate[data-mode="admin"] .up-ring{animation-duration:1.6s;}
.admin-dash .up-gate[data-mode="admin"] .up-ring.r2{animation-delay:.8s;}
.admin-dash .up-gate-txt{flex:1 1 240px;min-width:0;}
.admin-dash .up-gate-txt h3{margin:0 0 3px;display:flex;align-items:center;gap:10px;font:600 19px/1.15 var(--ad-serif);letter-spacing:-.2px;color:var(--ad-ink);}
.admin-dash .up-live{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;background:rgba(30,158,106,.12);color:#16845a;font:800 9.5px var(--ad-mono,var(--font-mono,monospace));letter-spacing:1.2px;text-transform:uppercase;}
.admin-dash .up-live i{width:6px;height:6px;border-radius:50%;background:#1E9E6A;animation:upBlink 1.6s ease-in-out infinite;}
.admin-dash .up-gate-state{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;}
.admin-dash .up-gate-state > *{animation:upFade .4s ease both;}
.admin-dash .up-gate-state b{font:800 14px var(--ad-body);color:var(--gm);transition:color .5s;}
.admin-dash .up-gate-state span{font:500 12.5px var(--ad-body);color:var(--ad-mute);}
.admin-dash .up-pending{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:rgba(217,150,43,.14);border:1px solid rgba(217,150,43,.5);color:#9a640b;font:700 12px var(--ad-body);animation:upFade .3s ease both;}
.admin-dash .up-apply{flex:none;height:42px;padding:0 20px;border-radius:999px;white-space:nowrap;}
.admin-dash .up-apply.is-dirty{animation:upGlow 1.6s ease-in-out infinite;}

/* mode tiles */
.admin-dash .up-modes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px;}
.admin-dash .up-mode{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 12px 10px;text-align:left;cursor:pointer;border-radius:13px;border:1.5px solid var(--ad-line);background:var(--ad-soft);color:var(--ad-ink);
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),border-color .2s,background .2s,box-shadow .2s;}
.admin-dash .up-mode:hover{transform:translateY(-3px);border-color:var(--ad-gold);box-shadow:0 10px 20px rgba(22,45,76,.12);}
.admin-dash .up-mode:active{transform:translateY(-1px) scale(.98);}
.admin-dash .up-mode-ico{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;margin-bottom:6px;font-size:13px;background:var(--ad-card);color:var(--ad-gold);border:1px solid var(--ad-line);transition:background .25s,color .25s,transform .35s cubic-bezier(.34,1.56,.64,1);}
.admin-dash .up-mode-t{font:800 13px var(--ad-body);}
.admin-dash .up-mode-d{font:500 11px/1.35 var(--ad-body);color:var(--ad-mute);}
.admin-dash .up-mode-rec{position:absolute;top:8px;right:8px;padding:2px 7px;border-radius:999px;background:var(--ad-gold);color:#162D4C;font:800 8.5px var(--ad-mono,var(--font-mono,monospace));letter-spacing:.8px;text-transform:uppercase;}
.admin-dash .up-mode[aria-pressed="true"]{border-color:var(--gm);background:linear-gradient(180deg,color-mix(in srgb,var(--gm) 12%,var(--ad-card)),var(--ad-card));box-shadow:0 0 0 3px color-mix(in srgb,var(--gm) 20%,transparent),0 10px 22px color-mix(in srgb,var(--gm) 18%,transparent);}
.admin-dash .up-mode[aria-pressed="true"] .up-mode-ico{background:var(--gm);color:#fff;border-color:var(--gm);transform:scale(1.08) rotate(-6deg);}
.admin-dash .up-mode[aria-pressed="true"]::after{content:"";position:absolute;right:10px;bottom:10px;width:9px;height:9px;border-radius:50%;background:var(--gm);animation:upPopDot .4s cubic-bezier(.34,1.56,.64,1);}

/* gate body: reuse the brand form fields, drop the card chrome */
.admin-dash .up-gate .settings-card.up-gate-body{display:flex;flex-direction:column;gap:10px;margin:12px 0 0;padding:0;max-width:none;background:none;border:0;box-shadow:none;}
.admin-dash .up-gate-body > .form-row{margin:0;}
.admin-dash .up-gate-body .form-row textarea{min-height:0;}
.admin-dash .up-sub{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:13px;background:var(--ad-soft);border:1px solid var(--ad-line);animation:upFade .35s ease both;}
.admin-dash .up-sub-primary{background:var(--ad-card);border-top:3px solid var(--ad-gold);}
.admin-dash .up-sub-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.admin-dash .up-sub-head > div{flex:1 1 220px;}
.admin-dash .up-sub-head h5{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:600 15.5px/1.2 var(--ad-serif);color:var(--ad-ink);}
.admin-dash .up-sub-head p{margin:2px 0 0;font:500 12px/1.5 var(--ad-body);color:var(--ad-mute);}
.admin-dash .up-ico{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:14px;background:rgba(206,165,119,.16);border:1px solid rgba(206,165,119,.35);color:var(--ad-gold);}
.admin-dash .up-ico-wa{background:#25D366;border-color:#25D366;color:#fff;}
.admin-dash .up-code-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.admin-dash .up-code-row input,.admin-dash .up-wa input{flex:1 1 200px;height:42px;padding:0 14px;border-radius:12px;border:1px solid var(--ad-line);background:var(--ad-card);color:var(--ad-ink);font:500 14px var(--ad-body);outline:0;width:100%;}
.admin-dash .up-code-row input:focus,.admin-dash .up-wa input:focus{border-color:var(--ad-gold);}
.admin-dash .up-wa{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;padding-top:10px;border-top:1px dashed var(--ad-line);}
.admin-dash .up-wa .form-row{margin:0;}
.admin-dash .up-wa .form-row label{display:block;margin:0 0 4px;font:700 11px var(--ad-body);color:var(--ad-mute);text-transform:uppercase;letter-spacing:.5px;}
.admin-dash .up-wa .up-ico{align-self:end;margin-bottom:4px;}
.admin-dash .up-gate .site-access-subcard{margin-top:2px;padding:12px;}
.admin-dash .up-gate .site-access-subcard h5{margin:0 0 6px;}
.admin-dash .up-gate .site-access-note{margin:0 0 8px;}

/* ---------- USERS ---------- */
.admin-dash .up-users{padding:0;}
.admin-dash .up-users-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--ad-line);}
.admin-dash .up-chips{display:flex;gap:6px;flex-wrap:wrap;flex:1 1 auto;}
.admin-dash .up-chip{position:relative;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px 0 6px;border-radius:999px;border:1px solid var(--ad-line);background:var(--ad-soft);color:var(--ad-ink);font:700 12.5px var(--ad-body);cursor:pointer;
  transition:background .2s,color .2s,border-color .2s,transform .2s cubic-bezier(.34,1.56,.64,1);}
.admin-dash .up-chip:hover{border-color:var(--ad-gold);transform:translateY(-2px);}
.admin-dash .up-chip b{min-width:23px;height:23px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--ad-card);color:var(--ad-ink);font:800 11.5px var(--ad-mono,var(--font-mono,monospace));transition:background .2s,color .2s;}
.admin-dash .up-chip.is-on{background:var(--ad-navy);border-color:var(--ad-navy);color:#fff;box-shadow:0 6px 14px rgba(22,45,76,.25);}
.admin-dash .up-chip.is-on b{background:var(--ad-gold);color:#162D4C;}
[data-theme="dark"] .admin-dash .up-chip.is-on{background:var(--ad-gold);border-color:var(--ad-gold);color:#162D4C;}
[data-theme="dark"] .admin-dash .up-chip.is-on b{background:#162D4C;color:var(--ad-gold2);}
.admin-dash .up-chip.is-zero:not(.is-on){opacity:.5;}
.admin-dash .up-chip[data-tip]:hover::after{content:attr(data-tip);position:absolute;z-index:60;top:calc(100% + 8px);left:0;width:min(260px,70vw);padding:9px 12px;border-radius:11px;background:var(--ad-navy2);color:#fff;font:500 11.5px/1.5 var(--ad-body);text-align:left;box-shadow:0 14px 30px rgba(15,31,53,.3);animation:upFade .18s ease both;pointer-events:none;}
.admin-dash .up-search{position:relative;flex:0 1 290px;display:block;}
.admin-dash .up-search i{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--ad-mute);}
.admin-dash .up-search input{width:100%;height:36px;padding:0 14px 0 34px;border-radius:999px;border:1px solid transparent;background:var(--ad-soft);color:var(--ad-ink);font:500 13px var(--ad-body);outline:0;transition:border-color .15s,background .15s,box-shadow .2s;}
.admin-dash .up-search input:focus{border-color:var(--ad-gold);background:var(--ad-card);box-shadow:0 0 0 3px rgba(206,165,119,.2);}

.admin-dash .up-row{position:relative;display:grid;grid-template-columns:minmax(200px,1.7fr) minmax(120px,1.2fr) minmax(110px,1fr) 100px 140px 112px;align-items:center;gap:12px;padding:8px 14px;border-bottom:1px solid var(--ad-line);transition:background .18s;}
.admin-dash .up-row:last-of-type{border-bottom:0;}
.admin-dash .up-th{padding:8px 14px;background:var(--ad-navy);color:#fff;font:800 10.5px var(--ad-body);letter-spacing:1px;text-transform:uppercase;border-bottom:0;}
[data-theme="dark"] .admin-dash .up-th{background:#0F1F35;}
.admin-dash .up-row:not(.up-th)::before{content:"";position:absolute;left:0;top:10%;bottom:10%;width:3px;border-radius:0 3px 3px 0;background:var(--ad-gold);transform:scaleY(0);transition:transform .22s;}
.admin-dash .up-row:not(.up-th):hover{background:rgba(206,165,119,.09);}
.admin-dash .up-row:not(.up-th):hover::before{transform:scaleY(1);}
.admin-dash .up-cell{font:500 13px var(--ad-body);color:var(--ad-ink);overflow:hidden;text-overflow:ellipsis;}
.admin-dash .up-who{display:flex;align-items:center;gap:11px;}
.admin-dash .up-who-t{display:flex;flex-direction:column;gap:1px;}
.admin-dash .up-who-t strong{font:700 13.5px var(--ad-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-dash .up-who-t em{font-style:normal;font-size:11.5px;color:var(--ad-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-dash .up-av{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;font:800 12px var(--ad-body);letter-spacing:.5px;background:linear-gradient(135deg,#5F6B7A,#3C4756);box-shadow:0 3px 8px rgba(22,45,76,.2);transition:transform .25s cubic-bezier(.34,1.56,.64,1);}
.admin-dash .up-row:hover .up-av{transform:scale(1.1) rotate(-5deg);}
.admin-dash .up-av-danger{background:linear-gradient(135deg,#D9534F,#A8322D);}
.admin-dash .up-av-warn{background:linear-gradient(135deg,#DDBB94,#B88A55);color:#162D4C;}
.admin-dash .up-av-ok{background:linear-gradient(135deg,#34B27E,#1B7F58);}
.admin-dash .up-never{color:var(--ad-mute);}
.admin-dash .up-login{display:inline-flex;align-items:center;gap:7px;}
.admin-dash .up-login i{width:7px;height:7px;border-radius:50%;background:#1E9E6A;box-shadow:0 0 0 0 rgba(30,158,106,.5);animation:upBlink 2s ease-in-out infinite;}
.admin-dash .up-ac{display:flex;justify-content:flex-end;gap:6px;overflow:visible;}
.admin-dash .up-act{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--ad-line);background:var(--ad-card);color:var(--ad-mute);font-size:11.5px;cursor:pointer;transition:transform .18s cubic-bezier(.34,1.56,.64,1),border-color .15s,color .15s,background .15s;}
.admin-dash .up-act:hover{transform:translateY(-2px);border-color:var(--ad-gold);color:var(--ad-ink);}
.admin-dash .up-act-del:hover{border-color:#C0392B;color:#fff;background:#C0392B;}
.admin-dash .up-pop{animation:upRise .45s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*30ms);}
.admin-dash .up-empty{padding:26px;text-align:center;color:var(--ad-mute);font:600 13px var(--ad-body);}
.admin-dash .up-foot{padding:8px 14px;border-top:1px solid var(--ad-line);font:600 11.5px var(--ad-body);color:var(--ad-mute);}

/* ---------- Security & recovery (folded) ---------- */
.admin-dash .up-fold{padding:0;}
.admin-dash .up-fold > summary{list-style:none;display:flex;align-items:center;gap:10px;padding:11px 16px;cursor:pointer;border-radius:16px;color:var(--ad-ink);transition:background .15s;}
.admin-dash .up-fold > summary::-webkit-details-marker{display:none;}
.admin-dash .up-fold > summary:hover{background:var(--ad-soft);}
.admin-dash .up-fold-ico{color:var(--ad-gold);font-size:14px;}
.admin-dash .up-fold-t{font:700 13.5px var(--ad-body);}
.admin-dash .up-fold > summary .micro{font:600 11.5px var(--ad-body);color:var(--ad-mute);}
.admin-dash .up-chev{margin-left:auto;font-size:11px;color:var(--ad-mute);transition:transform .25s;}
.admin-dash .up-fold[open] .up-chev{transform:rotate(180deg);}
.admin-dash .up-fold[open] > summary{border-bottom:1px solid var(--ad-line);border-radius:16px 16px 0 0;}
.admin-dash .up-fold-body{display:flex;flex-direction:column;gap:12px;padding:12px 14px 14px;animation:upFade .3s ease both;}
.admin-dash .up-fold .admin-panel{margin:0!important;}
.admin-dash .up-none{margin:2px 0 0;text-align:center;color:var(--ad-mute);font-size:12.5px;}

/* ---------- motion ---------- */
@keyframes upRise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes upFade{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@keyframes upRing{0%{transform:scale(.72);opacity:.55}100%{transform:scale(1.55);opacity:0}}
@keyframes upBlink{0%,100%{box-shadow:0 0 0 0 rgba(30,158,106,.5);opacity:1}50%{box-shadow:0 0 0 5px rgba(30,158,106,0);opacity:.65}}
@keyframes upGlow{0%,100%{box-shadow:0 6px 16px rgba(206,165,119,.4)}50%{box-shadow:0 0 0 5px rgba(206,165,119,.28),0 10px 24px rgba(206,165,119,.55)}}
@keyframes upWarn{0%,100%{box-shadow:0 0 0 0 rgba(217,150,43,.35)}50%{box-shadow:0 0 0 9px rgba(217,150,43,0)}}
@keyframes upPopDot{from{transform:scale(0)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
  .admin-dash .up-root *,.admin-dash .up-root *::before,.admin-dash .up-root *::after{animation:none!important;transition:none!important;}
}

/* ---------- responsive ---------- */
@media (max-width:1100px){.admin-dash .up-modes{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:900px){
  .admin-dash .up-row{grid-template-columns:minmax(180px,1.6fr) minmax(100px,1fr) 96px 120px 104px;}
  .admin-dash .up-ph{display:none;}
  .admin-dash .up-th .up-cell:nth-child(3){display:none;}
  .admin-dash .up-wa{grid-template-columns:minmax(0,1fr);}
  .admin-dash .up-wa .up-ico{display:none;}
}
@media (max-width:760px){
  .admin-dash .up-th{display:none;}
  .admin-dash .up-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who ac" "rl ll" "co co" "ph ph";gap:6px 10px;padding:12px 14px;}
  .admin-dash .up-who{grid-area:who;} .admin-dash .up-ac{grid-area:ac;} .admin-dash .up-rl{grid-area:rl;}
  .admin-dash .up-ll{grid-area:ll;justify-self:end;font-size:12px;color:var(--ad-mute);}
  .admin-dash .up-co{grid-area:co;} .admin-dash .up-ph{grid-area:ph;display:block;}
  .admin-dash .up-co,.admin-dash .up-ph{font-size:12.5px;}
  .admin-dash .up-co::before,.admin-dash .up-ph::before{content:attr(data-l);display:inline-block;min-width:66px;margin-right:6px;font:800 10px var(--ad-body);letter-spacing:.8px;text-transform:uppercase;color:var(--ad-mute);}
}
@media (max-width:640px){
  .admin-dash .up-bar-txt p{display:none;}
  .admin-dash .up-add span,.admin-dash .up-add{padding:0 14px;}
  .admin-dash .up-gate{padding:12px 12px 14px;}
  .admin-dash .up-gate-top{gap:10px;}
  .admin-dash .up-lock{width:50px;height:50px;border-radius:15px;}
  .admin-dash .up-lock-svg{width:40px;height:40px;}
  .admin-dash .up-apply{width:100%;justify-content:center;}
  .admin-dash .up-modes{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-dash .up-search{flex:1 1 100%;}
  .admin-dash .up-chip[data-tip]:hover::after{display:none;}
}
.admin-dash .up-th .up-cell{color:#fff;}
.admin-dash .up-root,.admin-dash .up-panel,.admin-dash .up-gate-body,.admin-dash .up-sub,.admin-dash .up-fold-body{max-width:100%;min-width:0;}
.admin-dash .up-root .table-wrap{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.admin-dash .up-sub-head > .btn-gold,.admin-dash .up-sub-head > .btn-ghost{flex:none;}
@media (max-width:640px){.admin-dash .up-sub-head > .btn-gold,.admin-dash .up-sub-head > .btn-ghost{width:100%;justify-content:center;}}
.admin-dash:has(> .up-root),.admin-dash :has(> .up-root){min-width:0;max-width:100%;}

/* v308 — tighter User Permissions spacing */
.admin-dash .up-root{gap:10px;}
.admin-dash .up-bar{padding:7px 12px;}
.admin-dash .up-gate{padding:10px 14px 12px;}
.admin-dash .up-gate-top{gap:12px;}
.admin-dash .up-lock{width:48px;height:48px;border-radius:14px;}
.admin-dash .up-lock-svg{width:38px;height:38px;}
.admin-dash .up-gate-txt h3{font-size:17px;margin-bottom:1px;}
.admin-dash .up-apply{height:38px;}
.admin-dash .up-modes{margin-top:10px;gap:6px;}
.admin-dash .up-mode{padding:8px 10px 8px;}
.admin-dash .up-mode-ico{width:26px;height:26px;border-radius:8px;font-size:12px;margin-bottom:3px;}
.admin-dash .up-mode-d{font-size:10.5px;}
.admin-dash .up-gate .settings-card.up-gate-body{margin-top:8px;gap:8px;}
.admin-dash .up-gate-body:empty{display:none;}
.admin-dash .settings-card .form-row label.pv-admin-check{padding:8px 12px;}
.admin-dash .pv-admin-check .pv-ico{width:30px;height:30px;font-size:12px;}
.admin-dash .up-sub{padding:10px 12px;gap:8px;}
.admin-dash .up-users-head{padding:8px 12px;}
.admin-dash .up-chip{height:32px;}
.admin-dash .up-search input{height:34px;}
.admin-dash .up-row{padding:6px 14px;}
.admin-dash .up-av{width:32px;height:32px;font-size:11px;}
.admin-dash .up-th{padding:6px 14px;}
.admin-dash .up-foot{padding:6px 14px;}
.admin-dash .up-fold > summary{padding:9px 14px;}
@media (max-width:640px){.admin-dash .up-gate{padding:10px;}}
