/* =====================================================================
   PharmEasy Q&A — modern design system.
   Keeps every legacy class name working (.panel/.btn/.badge/.card/table…)
   so all existing views inherit the new look, plus new components
   (.pill/.avatar/.stat/.qrow/.thread/.timeline/bottom-nav/drawer).
   ===================================================================== */
:root{
  --bg:#f4f6f9; --surface:#ffffff; --surface-2:#f8fafc; --surface-3:#f1f5f9;
  --line:#e7ebf0; --line-2:#eef2f6;
  --ink:#0f1b2d; --text:#0f1b2d; --text-2:#334155; --muted:#6b7a90;
  --pe-green:#0ea493; --pe-green-dark:#0b8576; --primary:#0ea493; --primary-d:#0b8576; --primary-soft:#e3f6f2;
  --amber:#e0890c; --warn:#e0890c; --amber-soft:#fdf1da;
  --bad:#e5484d; --danger:#e5484d; --danger-soft:#fdeaea;
  --info:#3b82f6; --blue:#3b82f6; --blue-soft:#e9f1fe;
  --ok:#15a34a; --green:#15a34a; --green-soft:#e7f7ec;
  --purple:#7c5cfc; --purple-soft:#efeafe;
  --radius:16px; --radius-sm:11px;
  --shadow-sm:0 1px 2px rgba(16,24,40,.05);
  --shadow:0 1px 3px rgba(16,24,40,.05),0 8px 24px rgba(16,24,40,.06);
  --shadow-lg:0 12px 40px rgba(16,24,40,.12);
  --ring:0 0 0 4px rgba(14,164,147,.15);
}
:root.dark{
  --bg:#0a0f1a; --surface:#111827; --surface-2:#0f1623; --surface-3:#1a2434;
  --line:#1e2940; --line-2:#1a2334;
  --ink:#eef2f8; --text:#eef2f8; --text-2:#c4cedd; --muted:#8a98ad;
  --primary:#1fc3af; --primary-d:#15a795; --pe-green:#1fc3af; --pe-green-dark:#15a795; --primary-soft:#0f2b2a;
  --amber-soft:#2c2310; --danger-soft:#2c1416; --blue-soft:#0f1d33; --green-soft:#0e2419; --purple-soft:#1c1733;
  --shadow:0 1px 3px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
  --shadow-lg:0 16px 50px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);background:var(--bg);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--primary-d);text-decoration:none}
a:hover{text-decoration:none;filter:brightness(.95)}
button{font-family:inherit}
::selection{background:rgba(14,164,147,.2)}
h1,h2,h3{letter-spacing:-.01em}

/* ---------------- App shell ---------------- */
.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.sidebar{background:var(--surface);border-right:1px solid var(--line);color:var(--text-2);
  position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:16px 12px;gap:3px;overflow-y:auto}
.sidebar .brand{display:flex;align-items:center;gap:10px;padding:6px 10px 14px;font-weight:800;font-size:16px;color:var(--text)}
.sidebar .brand .dot{display:none}
.sidebar nav{display:flex;flex-direction:column;gap:3px;flex:1;padding:4px 0}
.sidebar nav a{display:flex;align-items:center;gap:11px;color:var(--text-2);padding:10px 12px;font-size:14.5px;font-weight:500;border-radius:11px;border:0;transition:all .14s}
.sidebar nav a svg{width:20px;height:20px;opacity:.78;flex:0 0 auto}
.sidebar nav a:hover{background:var(--surface-3)}
.sidebar nav a.active{background:var(--primary-soft);color:var(--primary-d);font-weight:600}
.sidebar nav a.active svg{opacity:1}
.sidebar .who{margin-top:auto;padding:10px;border:1px solid var(--line);background:var(--surface-2);border-radius:13px;font-size:13px}
.sidebar .who b{color:var(--text);display:block;font-size:13.5px}
.sidebar .who b a{color:var(--text)}
.sidebar .who .role{color:var(--muted);text-transform:capitalize;font-size:12px}

.main{min-width:0;display:flex;flex-direction:column}
.topbar{background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);padding:12px 24px;display:flex;align-items:center;gap:12px;
  justify-content:space-between;position:sticky;top:0;z-index:25}
.topbar h1{font-size:18px;margin:0;font-weight:700}
.topbar .actions{display:flex;gap:8px;align-items:center}
.content{padding:24px;max-width:1120px;width:100%;margin:0 auto}

.iconbtn{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:var(--surface);
  display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);cursor:pointer;position:relative}
.iconbtn:hover{background:var(--surface-3)}
.iconbtn svg{width:19px;height:19px}

.hamburger{display:none;background:var(--surface);border:1px solid var(--line);border-radius:11px;width:40px;height:40px;
  font-size:20px;cursor:pointer;color:var(--text);align-items:center;justify-content:center}

/* ---------------- Cards / stat tiles ---------------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:22px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}
.card .num{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1}
.card .lbl{color:var(--muted);font-size:13px;margin-top:6px;font-weight:500}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:20px;overflow:hidden}
.panel h2{font-size:15px;margin:0;padding:16px 18px;border-bottom:1px solid var(--line);font-weight:700}
.panel .body{padding:18px}

/* ---------------- Tables ---------------- */
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-2);vertical-align:top}
th{color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}
tr:last-child td{border-bottom:0}
tbody tr{transition:background .12s}
tbody tr:hover{background:var(--surface-2)}
.table-wrap{overflow-x:auto;border-radius:12px}

/* ---------------- Badges / pills ---------------- */
.badge,.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.4}
.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.badge.gray,.pill-gray{background:var(--surface-3);color:var(--muted)}
.badge.blue,.pill-blue{background:var(--blue-soft);color:var(--blue)}
.badge.green,.pill-green{background:var(--green-soft);color:var(--green)}
.badge.orange,.pill-amber{background:var(--amber-soft);color:var(--amber)}
.badge.red,.pill-red{background:var(--danger-soft);color:var(--danger)}
.pill-purple{background:var(--purple-soft);color:var(--purple)}

/* ---------------- Avatars ---------------- */
.avatar{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;flex:0 0 auto}
.avatar.sm{width:30px;height:30px;font-size:12px}
.avatar.lg{width:46px;height:46px;font-size:16px}

/* ---------------- Buttons ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(180deg,var(--primary),var(--primary-d));color:#fff;border:1px solid transparent;border-radius:11px;
  padding:11px 18px;font-size:14.5px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1;
  box-shadow:0 1px 2px rgba(11,133,118,.35),0 6px 16px rgba(11,133,118,.2);transition:all .16s}
.btn svg{width:18px;height:18px}
.btn:hover{filter:brightness(1.05);transform:translateY(-1px);color:#fff;text-decoration:none}
.btn:active{transform:translateY(0)}
.btn.sm{padding:8px 13px;font-size:13px;border-radius:9px}
.btn.ghost{background:var(--surface);color:var(--text-2);border-color:var(--line);box-shadow:none}
.btn.ghost:hover{background:var(--surface-3);color:var(--text-2)}
.btn.danger{background:var(--danger);box-shadow:none}
.btn.warn{background:var(--amber);box-shadow:none}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* ---------------- Forms ---------------- */
.field{margin-bottom:15px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text-2)}
.field .hint{color:var(--muted);font-size:12px;font-weight:400}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=number],select,textarea{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:11px;font-size:14.5px;font-family:inherit;
  background:var(--surface-2);color:var(--text);transition:all .15s}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring);background:var(--surface)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:680px){.grid2{grid-template-columns:1fr}}

/* ---------------- Two-column split ---------------- */
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;align-items:start}
@media(max-width:860px){.split{grid-template-columns:1fr}}

/* ---------------- Flash ---------------- */
.flash{padding:12px 15px;border-radius:12px;margin-bottom:14px;font-size:14px;font-weight:500;border:1px solid transparent}
.flash.success{background:var(--green-soft);color:#15784f;border-color:#bfe6d2}
.flash.error{background:var(--danger-soft);color:#b23232;border-color:#f3c5c5}
.flash.info{background:var(--blue-soft);color:#2c6cb0;border-color:#c8ddf5}

/* ---------------- Misc utility ---------------- */
.muted{color:var(--muted)}
.small{font-size:13px}
.xs{font-size:12px}
.disclaimer{background:var(--amber-soft);border:1px solid transparent;border-radius:12px;padding:11px 14px;font-size:13px;color:var(--text-2);margin:12px 0}
.empty{text-align:center;color:var(--muted);padding:34px}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.filters select,.filters input{width:auto;min-width:150px}
.version-box{border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:10px;background:var(--surface)}
.version-box .meta{font-size:12px;color:var(--muted);margin-bottom:6px}
.answer-html{border:1px solid var(--line);border-radius:12px;padding:15px;background:var(--surface);line-height:1.65}
.answer-html table{border:1px solid var(--line)}
.answer-html th,.answer-html td{border:1px solid var(--line)}

/* ---------------- Search bar + chips ---------------- */
.searchbar{flex:1;min-width:220px;display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 14px}
.searchbar svg{width:18px;height:18px;color:var(--muted)}
.searchbar input{border:0;outline:0;background:transparent;color:var(--text);padding:12px 0;flex:1;font-size:14.5px}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.chip{padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:600;color:var(--text-2);white-space:nowrap;cursor:pointer;text-decoration:none}
.chip:hover{background:var(--surface-3)}
.chip.active{background:var(--text);color:var(--surface);border-color:var(--text)}

/* ---------------- Question rows ---------------- */
.qlist{display:flex;flex-direction:column;gap:12px}
.qrow{display:flex;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:all .16s;align-items:flex-start;text-decoration:none;color:var(--text)}
.qrow:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-1px)}
.qrow .qid{font-size:12px;font-weight:700;color:var(--primary-d);background:var(--primary-soft);padding:3px 9px;border-radius:7px;flex:0 0 auto}
.qrow .qbody{flex:1;min-width:0}
.qrow .qtext{font-weight:600;font-size:15px;line-height:1.4}
.qrow .qmeta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:9px;color:var(--muted);font-size:12.5px;align-items:center}

/* ---------------- Answer threads ---------------- */
.thread{border:1px solid var(--line);border-radius:14px;padding:15px;margin-top:13px;background:var(--surface-2)}
.thread .thead{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.thread .thead .ti{flex:1;min-width:0}

/* ---------------- Lifecycle stepper (legacy) ---------------- */
.stepper{position:relative;padding-left:6px}
.step{position:relative;padding:0 0 16px 44px}
.step:last-child{padding-bottom:0}
.step:before{content:"";position:absolute;left:15px;top:26px;bottom:-4px;width:2px;background:var(--line)}
.step:last-child:before{display:none}
.step-mark{position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:700;box-shadow:0 0 0 4px var(--surface)}
.step-mark.ok{background:var(--green)}
.step-mark.mid{background:var(--blue)}
.step-mark.bad{background:var(--danger)}
.step-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-sm)}
.step-title{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.step-meta{margin-top:3px}

/* ---------------- AI suggestions panel ---------------- */
.ai-panel{border:1px solid transparent;background:var(--amber-soft);border-radius:13px;padding:12px 14px;margin-top:12px}
.ai-panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ai-panel-head strong{font-size:14px;color:var(--amber)}
.ai-toggle{background:var(--surface);border:1px solid var(--line);color:var(--text-2);border-radius:8px;padding:4px 11px;font-size:12px;cursor:pointer}
.ai-panel-body{margin-top:6px;color:var(--text-2)}
.ai-panel-body li{margin:4px 0}
.ai-panel[data-noselect="1"] .ai-panel-body{user-select:none;-webkit-user-select:none}
@media (min-width:861px){ .ai-panel{position:sticky;top:8px;z-index:2} }

/* ---------------- Mobile chrome (bottom nav + drawer) ---------------- */
.scrim{display:none;position:fixed;inset:0;background:rgba(8,15,28,.5);z-index:40}
.scrim.show{display:block}
.bottomnav{display:none}
.fab{display:none}

@media(max-width:860px){
  .app{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;max-width:84vw;z-index:50;
    transform:translateX(-100%);transition:transform .28s cubic-bezier(.22,1,.36,1)}
  .sidebar.open{transform:none}
  .hamburger{display:inline-flex}
  .topbar{padding:11px 16px}
  .topbar h1{font-size:17px}
  .content{padding:16px 16px 92px}
  .cards{grid-template-columns:1fr 1fr;gap:11px}
  .card{padding:15px}
  .card .num{font-size:25px}
  body{font-size:15px}
  .btn{padding:11px 16px;font-size:15px}
  .btn.sm{padding:9px 13px;font-size:14px}
  .filters{flex-direction:column;align-items:stretch}
  .filters select,.filters input{width:100%;min-width:0}
  input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],select,textarea{font-size:16px;padding:12px 13px}
  textarea{min-height:120px}
  th,td{padding:10px 11px}
  .ai-panel{position:static}
  #actionsPostCheck .btn,#actionsInitial .btn{flex:1 1 auto}

  /* bottom tab bar */
  .bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;
    background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(16px);
    border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom));justify-content:space-around}
  .bottomnav .tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 4px;border-radius:11px;color:var(--muted);font-size:10.5px;font-weight:600;text-decoration:none}
  .bottomnav .tab svg{width:23px;height:23px}
  .bottomnav .tab.active{color:var(--primary-d)}
}
@media (max-width:480px){
  .cards{grid-template-columns:1fr 1fr}
  .panel h2{font-size:15px;padding:13px 15px}
}

/* ---------------- Page header + section titles ---------------- */
.page-head{margin-bottom:20px}
.page-head h1{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0}
.page-head p{color:var(--muted);margin:4px 0 0}
.section-title{display:flex;align-items:center;gap:10px;margin:6px 0 14px}
.section-title h2{font-size:16px;font-weight:700;margin:0}
.section-title .grow{flex:1}
.section-title a{font-size:13px;color:var(--primary-d);font-weight:600}

/* ---------------- Stat tiles with icon chips ---------------- */
.card .ico{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.card .ico svg{width:21px;height:21px}
.ico-blue{background:var(--blue-soft);color:var(--blue)}
.ico-purple{background:var(--purple-soft);color:var(--purple)}
.ico-amber{background:var(--amber-soft);color:var(--amber)}
.ico-green{background:var(--green-soft);color:var(--green)}
.ico-red{background:var(--danger-soft);color:var(--danger)}
.ico-teal{background:var(--primary-soft);color:var(--primary-d)}
.ico-gray{background:var(--surface-3);color:var(--muted)}

/* chevron on rows */
.qrow .chev{color:var(--muted);align-self:center;display:flex}
.qrow .chev svg{width:20px;height:20px}
.qrow .qmeta .who{display:inline-flex;align-items:center;gap:6px}
.qrow .qmeta .who svg{width:14px;height:14px}

/* ---------------- Answer threads (rich) ---------------- */
.thread .thead .ti .dn{font-weight:600;font-size:14.5px}
.thread .thead .ti .ds{font-size:12px;color:var(--muted)}
.thread .answer{margin-top:11px;font-size:14px;color:var(--text-2);line-height:1.6}
.thread .rev{margin-top:11px;padding:11px 13px;border-radius:10px;background:var(--amber-soft);font-size:13px;color:var(--text-2)}

/* ---------------- Vertical lifecycle timeline ---------------- */
.timeline{position:relative;padding-left:4px}
.tl-item{position:relative;padding:0 0 20px 30px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:9px;top:22px;bottom:-2px;width:2px;background:var(--line)}
.tl-item:last-child::before{display:none}
.tl-dot{position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;font-weight:700}
.tl-dot svg{width:11px;height:11px}
.tl-dot.ok{background:var(--green)} .tl-dot.mid{background:var(--blue)} .tl-dot.bad{background:var(--danger)} .tl-dot.now{background:var(--amber);box-shadow:0 0 0 4px var(--amber-soft)}
.tl-title{font-weight:600;font-size:14px}
.tl-meta{font-size:12.5px;color:var(--muted);margin-top:2px}

/* ---------------- AI panel head (rich) ---------------- */
.ai-panel .ah{display:flex;align-items:center;gap:9px;margin-bottom:6px}
.ai-panel .ah .spark{width:18px;height:18px;color:var(--amber);flex:0 0 auto}
.ai-panel .ah .score{font-weight:800;font-size:15px;color:var(--amber)}

/* ---------------- Toast + FAB ---------------- */
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);background:var(--text);color:var(--surface);
  padding:13px 20px;border-radius:12px;font-weight:600;font-size:14px;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:all .3s;z-index:100}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.fab{display:none}
@media(max-width:860px){
  .page-head h1{font-size:21px}
  .fab{display:flex;position:fixed;right:18px;bottom:84px;width:56px;height:56px;border-radius:18px;
    background:linear-gradient(180deg,var(--primary),var(--primary-d));color:#fff;align-items:center;justify-content:center;
    box-shadow:0 10px 24px rgba(11,133,118,.4);z-index:31;border:0;text-decoration:none}
  .fab svg{width:26px;height:26px}
}

/* ---------------- Sidebar brand + section labels ---------------- */
.sidebar .brand .logo{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--primary),var(--primary-d));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:18px;box-shadow:0 4px 12px rgba(11,133,118,.3);flex:0 0 auto}
.sidebar .brand .nm{font-weight:800;font-size:16px;line-height:1.15;color:var(--text)}
.sidebar .brand .sb{font-size:11px;color:var(--muted);font-weight:500}
.nav-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:14px 12px 6px}

/* ---------------- Topbar bell + avatar ---------------- */
.iconbtn .badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface)}

/* ---------------- Detail page (main + right rail) ---------------- */
.detail-grid{display:grid;grid-template-columns:1fr 336px;gap:18px;align-items:start}
@media(max-width:980px){.detail-grid{grid-template-columns:1fr}}
.card-pad{padding:18px}
.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:600;font-size:14px;margin-bottom:14px}
.back-link:hover{color:var(--text)}
.back-link svg{width:18px;height:18px}
.qcard h3{font-size:13px;color:var(--primary-d);font-weight:700;margin-bottom:7px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qcard .qq{font-size:18px;font-weight:700;line-height:1.4}
.qcard .qexp{color:var(--text-2);margin-top:8px}
.metatable{margin-top:16px;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:13.5px;align-items:start}
.metatable .k{color:var(--muted);font-weight:500}
.metatable .v{font-weight:500}

/* ---------------- Login ---------------- */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);padding:34px 30px}
.auth-card .logo{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary-d));color:#fff;font-weight:800;font-size:24px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 8px 22px rgba(11,133,118,.3)}
.auth-card h1{text-align:center;font-size:21px;font-weight:800}
.auth-card .sub{text-align:center;color:var(--muted);margin:5px 0 24px;font-size:14px}

/* ===== Refinements (batch) ===== */
/* Clean chips — no scrollbar track, no underline/focus ring */
.chips{scrollbar-width:none;-ms-overflow-style:none}
.chips::-webkit-scrollbar{display:none}
.chip,.chip:hover,.chip:focus{text-decoration:none;outline:none}

/* Thread card: status pill sits top-right; Edit action sits at the bottom */
.thread .thead .tpill{margin-left:auto}
.thread .actions{margin-top:12px;display:flex;gap:9px;flex-wrap:wrap}
.thread.empty-thread{background:var(--surface-2)}

/* WP-live mini button on list rows */
.wp-live-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--green);background:var(--green-soft);border-radius:8px;padding:4px 9px;text-decoration:none}
.wp-live-btn:hover{filter:brightness(.97);text-decoration:none}

/* Detail action buttons: top on desktop, moved to bottom on mobile */
@media(max-width:860px){
  .detail-wrap{display:flex;flex-direction:column}
  .detail-wrap .qactions{order:9;margin:18px 0 0}
  .detail-wrap .detail-grid{order:1}
  .qactions{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);padding:10px;border:1px solid var(--line);border-radius:14px;overflow-x:auto;flex-wrap:nowrap}
  .qactions .btn,.qactions form{flex:0 0 auto}
}

/* Review detail: roomy editor layout */
.review-grid{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}
@media(max-width:980px){.review-grid{grid-template-columns:1fr}}
.review-rail{position:sticky;top:8px;max-height:calc(100vh - 24px);overflow:auto}
@media(max-width:980px){.review-rail{position:static;max-height:none}}

/* Safety net: any inline SVG icon without an explicit size rule stays small
   (fixes the unconstrained .rev/info icon rendering huge). Specific rules above win. */
svg{width:18px;height:18px;flex:0 0 auto}
.rev svg{width:15px;height:15px;vertical-align:-2px;margin-right:2px}
.btn svg,.iconbtn svg,.card .ico svg,.sidebar nav a svg,.bottomnav .tab svg,.tl-dot svg,.searchbar svg,.qrow .chev svg,.qmeta .who svg,.ai-panel .ah .spark{width:auto;height:auto}
.btn svg{width:18px;height:18px}.btn.sm svg{width:16px;height:16px}
.iconbtn svg{width:19px;height:19px}
.card .ico svg{width:21px;height:21px}
.sidebar nav a svg{width:20px;height:20px}
.bottomnav .tab svg{width:23px;height:23px}
.tl-dot svg{width:11px;height:11px}
.searchbar svg{width:18px;height:18px}
.qrow .chev svg{width:20px;height:20px}
.qmeta .who svg{width:14px;height:14px}
.ai-panel .ah .spark{width:18px;height:18px}

/* ===== Topbar user menu (avatar → logout) ===== */
.usermenu{position:relative}
.avatarbtn{background:none;border:0;padding:0;cursor:pointer;display:inline-flex;border-radius:50%}
.usermenu-pop{position:absolute;right:0;top:48px;min-width:190px;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-lg);padding:6px;display:none;z-index:60}
.usermenu-pop.open{display:block}
.usermenu-pop .um-head{padding:8px 10px;border-bottom:1px solid var(--line-2);margin-bottom:4px}
.usermenu-pop .um-name{font-weight:700;font-size:14px}
.usermenu-pop .um-role{font-size:12px;color:var(--muted);text-transform:capitalize}
.usermenu-pop a{display:block;padding:9px 10px;border-radius:9px;font-size:14px;color:var(--text-2);text-decoration:none}
.usermenu-pop a:hover{background:var(--surface-3)}
.usermenu-pop .um-logout{color:var(--danger);font-weight:600}

/* ===== Mobile drawer: scroll naturally so the user box + Log out are always reachable ===== */
@media(max-width:860px){
  .sidebar{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:28px}
  .sidebar nav{flex:0 0 auto}
  .sidebar .who{margin-top:16px}
}
