/* QueryLens theme. Light, responsive. Works with existing app.js
   (views toggle .hidden; drawer/settings use .open + backdrop .show; toast uses display). */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{
  --ink:#171320;--ink-2:#3c3746;--muted:#787280;--faint:#9a95a4;
  --line:#e9e6ef;--line-2:#f1eef5;--bg:#f6f4f1;--panel:#fff;
  --rail:#1c1430;--rail-2:#271b41;--rail-line:#342750;--rail-ink:#a99fc0;
  --brand:#fedd2e;--brand-deep:#f2ce00;--brand-ink:#4a3d00;--brand-soft:#fff8d6;
  --plum:#92237d;--plum-2:#7d1c6b;--plum-soft:#f8ecf5;
  --neg:#d13b3b;--neg-bg:#fdecec;--add:#92237d;--add-bg:#f8ecf5;
  --att:#b26a00;--att-bg:#fdf1dd;--perf:#0e8f5a;--perf-bg:#e6f6ee;
  --mon:#3565c4;--mon-bg:#e9f0fd;--rev:#5b6472;--rev-bg:#eef0f4;
  --sh:0 12px 38px rgba(23,19,32,.09);--ring:0 0 0 3px rgba(146,35,125,.16);
}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13.5px;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}
h1,h2,h3{font-family:"Space Grotesk",Inter,sans-serif;letter-spacing:-.4px;margin:0}
.hidden{display:none!important}
.muted,.subtle{color:var(--faint)}

.app-shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}

/* sidebar */
.sidebar{background:var(--rail);color:var(--rail-ink);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:11px;padding:18px 18px 16px;border-bottom:1px solid var(--rail-line)}
.brand-logo{height:22px;width:auto;filter:brightness(0) invert(1);flex-shrink:0}
.brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--brand),var(--plum));display:grid;place-items:center;color:#fff;font-size:15px}
.brand>span{color:#fff;font-family:"Space Grotesk";font-weight:700;font-size:16px;line-height:1.15}
.brand>span:after{content:"Search Term Optimiser";display:block;color:#8578a3;font-family:Inter;font-weight:500;font-size:10px;margin-top:3px}
.nav{padding:10px 11px 6px;overflow:auto;flex:1}
.nav-group{color:#665c80;font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:12px 10px 6px}
.nav-group:first-child{padding-top:2px}
.nav-item{width:100%;display:flex;align-items:center;gap:11px;padding:8px 11px;border:0;background:transparent;border-radius:9px;color:var(--rail-ink);font-weight:550;text-align:left;margin-bottom:1px;transition:background .18s,color .18s,transform .12s}
.nav-item>span:first-child{width:17px;text-align:center;opacity:.85;flex-shrink:0}
.nav-item:hover{background:var(--rail-2);color:#eae4f5}
.nav-item:active{transform:scale(.985)}
.nav-item.active{background:var(--brand);color:var(--brand-ink);font-weight:700}
.nav-item.active>span:first-child{opacity:1}
.powered-by{display:flex;align-items:center;gap:8px;padding:11px 16px 9px;border-top:1px solid var(--rail-line)}
.powered-by span{color:#6a5f85;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.mav-logo{height:14px;width:auto;filter:brightness(0) invert(1);opacity:.9}
.sidebar-foot{display:flex;align-items:center;gap:10px;padding:11px 14px;border-top:1px solid var(--rail-line);cursor:pointer}
.sidebar-foot:hover{background:var(--rail-2)}
.avatar{width:31px;height:31px;border-radius:50%;background:linear-gradient(145deg,var(--brand),var(--plum));color:#fff;font-weight:700;display:grid;place-items:center;font-size:12px}
.sidebar-foot strong{color:#efe9f6;font-weight:600;font-size:12.5px;display:block}
.sidebar-foot span{color:#8578a3;font-size:10.5px}
.chev{margin-left:auto;color:#8578a3;font-size:14px}

/* workspace */
.workspace{min-width:0;padding:20px 28px 80px;max-width:1760px;margin:0 auto;width:100%}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.topbar h1{font-size:22px}.topbar p{color:var(--muted);margin:4px 0 0;font-size:12.5px}
.top-actions{display:flex;align-items:center;gap:8px}
.health-chip{height:34px;display:inline-flex;align-items:center;gap:8px;padding:0 13px;border-radius:20px;background:var(--perf-bg);color:var(--perf);font-weight:650;font-size:12.5px;border:1px solid #bfe6d1}
.health-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.icon-btn{width:34px;height:34px;border:1px solid var(--line);background:var(--panel);border-radius:9px;color:var(--ink-2);font-size:15px;transition:.15s}
.icon-btn:hover{background:#faf9fc}
.view{animation:vin .32s cubic-bezier(.2,.8,.2,1)}
@keyframes vin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:var(--sh)}

/* buttons */
.btn{height:38px;border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:0 14px;font-weight:650;display:inline-flex;align-items:center;gap:7px;justify-content:center;color:var(--ink);transition:transform .1s,background .15s,box-shadow .18s;white-space:nowrap;text-decoration:none}
.btn:hover{background:#faf9fc;box-shadow:0 4px 12px rgba(23,19,32,.07)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.6;cursor:default}
.btn-primary{background:var(--brand);border-color:var(--brand-deep);color:var(--brand-ink)}
.btn-primary.is-add{background:var(--plum);border-color:var(--plum-2);color:#fff}
.btn-primary.is-add:hover{background:var(--plum-2);box-shadow:0 6px 18px rgba(146,35,125,.4)}
.btn-primary:hover{background:var(--brand-deep);box-shadow:0 6px 18px rgba(254,221,46,.45)}
.btn-ghost{background:#fff}
.btn.small{height:34px;padding:0 12px;font-size:12.5px;border-radius:8px}
.btn.tiny{height:30px;padding:0 10px;font-size:12px;border-radius:7px}
.text-btn{border:0;background:none;color:var(--plum);font-weight:650;font-size:12.5px}.text-btn:hover{text-decoration:underline}

/* control bar */
.control-bar{display:flex;align-items:flex-end;gap:14px;padding:14px 16px;margin-bottom:12px;flex-wrap:wrap}
.control-field{display:flex;flex-direction:column;gap:6px}
.account-field{min-width:250px;flex:1.2}
.field-label{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.account-row{display:flex;align-items:center;gap:8px;height:40px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fbfafd;transition:.15s}
.account-row:focus-within{border-color:var(--plum);box-shadow:var(--ring);background:#fff}
.account-row select{border:0;background:transparent;outline:0;font-weight:600;flex:1;cursor:pointer}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--perf)}
.date-pair{display:flex;align-items:center;gap:8px;height:40px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fbfafd;color:var(--faint);transition:.15s}
.date-pair:focus-within{border-color:var(--plum);box-shadow:var(--ring);background:#fff}
.date-pair input{border:0;background:transparent;outline:0;font-weight:600;color:var(--ink);cursor:pointer}
.control-buttons{display:flex;gap:8px;margin-left:auto}

.google-banner{border-radius:12px;padding:11px 15px;margin-bottom:12px;display:flex;align-items:center;gap:12px;font-weight:600;font-size:12.5px}
.google-banner:empty{display:none}
.google-banner.warn{background:var(--att-bg);border:1px solid #f0d9a8;color:var(--att)}
.google-banner.ok{background:var(--perf-bg);border:1px solid #bfe6d1;color:var(--perf)}
.data-status{color:var(--muted);font-size:12.5px;margin-bottom:12px}

/* spend bar */
.spend-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(100deg,var(--brand-soft),#fffdf3);border:1px solid #f1e4a6;border-radius:14px;padding:14px 20px;margin-bottom:14px}
.spend-label{display:block;color:var(--brand-ink);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.spend-main strong{font-family:"Space Grotesk";font-size:27px;letter-spacing:-.6px}
.spend-sub{color:var(--muted);font-size:12px;margin-left:9px}
.spend-split{display:flex;gap:9px;flex-wrap:wrap}
.spend-split>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 14px;text-align:right;font-weight:600}

/* KPIs */
.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}
.kpi-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);padding:14px 16px;transition:transform .15s,box-shadow .18s}
.kpi-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(23,19,32,.13)}
.kpi-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:650;margin-bottom:7px}
.kpi-icon{width:21px;height:21px;border-radius:7px;display:grid;place-items:center;font-weight:800;font-size:11px}
.kpi-icon.purple{background:var(--plum-soft);color:var(--plum)}.kpi-icon.red{background:var(--neg-bg);color:var(--neg)}
.kpi-icon.amber{background:var(--att-bg);color:var(--att)}.kpi-icon.yellow{background:var(--brand-soft);color:var(--brand-ink)}
.kpi-icon.green{background:var(--perf-bg);color:var(--perf)}
.kpi-card>strong{font-family:"Space Grotesk";font-size:24px;letter-spacing:-.5px;display:block}
.kpi-meta{color:var(--faint);font-size:10.5px}
.spark{height:3px;border-radius:3px;margin-top:9px;opacity:.45;transform-origin:left;animation:sparkin .9s .2s cubic-bezier(.2,.8,.2,1) both}
@keyframes sparkin{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:.45}}
.purple-line{background:var(--plum)}.red-line{background:var(--neg)}.amber-line{background:var(--att)}.yellow-line{background:var(--brand-deep)}.green-line{background:var(--perf)}

/* decision tabs */
.dtabs{display:flex;gap:6px;padding:13px 15px 0;flex-wrap:wrap}
.dtab{height:34px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:0 13px;font-weight:650;color:var(--ink-2);display:inline-flex;align-items:center;gap:7px;font-size:12.5px;transition:.15s}
.dtab>span:first-child{opacity:.8}
.dtab:hover{border-color:#d7d2e0;background:#faf9fc}
.dtab.active{background:var(--ink);border-color:var(--ink);color:#fff}
.dtab.active>span:first-child{opacity:1}

/* table panel */
.table-panel{overflow:hidden}
.toolbar{display:flex;align-items:center;gap:9px;padding:12px 15px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.search-box{flex:1;min-width:230px;position:relative;display:flex;align-items:center}
.search-box>span{position:absolute;left:12px;color:var(--faint)}
.search-box input{width:100%;height:38px;border:1px solid var(--line);border-radius:9px;background:#fbfafd;padding:0 12px 0 34px;outline:none;transition:.15s}
.search-box input:focus{border-color:var(--plum);box-shadow:var(--ring);background:#fff}
.search-box.compact input{height:34px}
.filter-select{height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px;font-weight:600;color:var(--ink-2);outline:none;cursor:pointer;transition:.15s}
.filter-select:hover{border-color:#d7d2e0}.filter-select:focus{border-color:var(--plum);box-shadow:var(--ring)}
.bulk-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px;border-bottom:1px solid var(--line-2);flex-wrap:wrap;background:#fcfbfe}
.bulk-row>div:first-child{display:flex;align-items:center;gap:13px}
#resultCount{font-family:"Space Grotesk";font-size:14px}
#selectedCount{color:var(--faint);font-size:12.5px}
.select-all{display:flex;align-items:center;gap:6px;color:var(--ink-2);font-weight:600;font-size:12.5px;cursor:pointer}
.bulk-actions{display:flex;gap:8px}

.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
thead th{text-align:left;padding:10px 12px;color:var(--muted);font-weight:650;font-size:11px;border-bottom:1px solid var(--line);white-space:nowrap;background:#fbfafd}
thead th.num{text-align:right}
.th-sort{cursor:pointer;user-select:none;transition:color .15s}.th-sort:hover{color:var(--plum)}
.th-sort i{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--faint);margin-left:4px;opacity:.5;vertical-align:middle}
.filter-row td{padding:6px 12px;border-bottom:1px solid var(--line);background:#fff}
.col-f{width:100%;height:30px;border:1px solid var(--line);border-radius:7px;padding:0 8px;background:#fbfafd;outline:none;font-size:12px;transition:.15s}
.col-f:focus{border-color:var(--plum);box-shadow:var(--ring);background:#fff}
select.col-f{cursor:pointer}
tbody td{padding:11px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}
tbody tr{transition:background .12s}tbody tr:hover{background:#fdfcff}
tbody tr.row-selected{background:var(--plum-soft)}
td:nth-child(6),td:nth-child(7),td:nth-child(8),td:nth-child(9),td:nth-child(12){text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.kw-cell{font-weight:600}.term-cell{font-weight:600;color:var(--ink)}
.row-check{width:16px;height:16px;accent-color:var(--plum);cursor:pointer}
.badge{display:inline-flex;align-items:center;gap:6px;font-weight:650;font-size:11.5px;border-radius:20px;padding:4px 10px;white-space:nowrap}
.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.badge.NEGATIVE{background:var(--neg-bg);color:var(--neg)}.badge.ADD{background:var(--add-bg);color:var(--add)}
.badge.ATTENTION{background:var(--att-bg);color:var(--att)}.badge.PERFORMING{background:var(--perf-bg);color:var(--perf)}
.badge.MONITOR{background:var(--mon-bg);color:var(--mon)}.badge.HUMAN_REVIEW{background:var(--rev-bg);color:var(--rev)}
.neg-match{height:30px;border:1px solid var(--line);border-radius:7px;padding:0 8px;background:#fff;font-weight:600;cursor:pointer}
.confidence-cell{display:flex;align-items:center;gap:8px;min-width:94px;font-variant-numeric:tabular-nums;font-weight:600}
.confidence-mini{flex:1;height:6px;border-radius:4px;background:var(--line-2);overflow:hidden}
.confidence-mini span{display:block;height:100%;border-radius:4px;background:var(--perf);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.row-menu{width:28px;height:28px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--faint);font-size:15px;transition:.15s}
.row-menu:hover{border-color:var(--line);background:#fff;color:var(--plum)}
.empty-state{padding:56px 20px;text-align:center;color:var(--muted)}
.empty-icon{width:56px;height:56px;border-radius:15px;margin:0 auto 13px;display:grid;place-items:center;background:var(--brand-soft);color:var(--plum);font-size:23px}
.empty-state strong{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}
.pagination{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:11px 15px;color:var(--muted);font-size:12.5px}
.pagination-right{display:flex;align-items:center;gap:12px}
.pagination-controls{display:flex;gap:4px}
.page-btn{width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:7px;font-weight:600;color:var(--ink-2)}
.page-btn.active{background:var(--ink);border-color:var(--ink);color:#fff}
.page-btn:disabled{opacity:.4}
.pagination .page-btn{width:auto;min-width:32px;padding:0 10px}
.page-size{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:650;white-space:nowrap}
.page-size select{height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:650;padding:0 9px;min-width:88px}
.page-gap{height:30px;display:inline-flex;align-items:center;padding:0 4px;color:var(--faint)}

/* bottom grid */
.bottom-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:14px;margin-top:14px}
.section-title{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid var(--line-2)}
.section-title>div{display:flex;align-items:center;gap:9px}.section-title strong{font-family:"Space Grotesk";font-size:13.5px}
.accent-icon{color:var(--plum)}
.dot-icon{width:21px;height:21px;border-radius:7px;display:grid;place-items:center;font-weight:800;font-size:11px}
.red-bg{background:var(--neg-bg);color:var(--neg)}.green-bg{background:var(--perf-bg);color:var(--perf)}
.summary-content{padding:15px 17px}
.donut-wrap{display:flex;align-items:center;gap:18px;margin-bottom:14px;flex-wrap:wrap}
.donut{width:118px;height:118px;border-radius:50%;position:relative;flex-shrink:0;background:conic-gradient(var(--line-2) 0 100%);transition:background 1s cubic-bezier(.2,.8,.2,1)}
.donut:after{content:"";position:absolute;inset:15px;background:#fff;border-radius:50%}
.donut>div{position:absolute;inset:0;display:grid;place-items:center;z-index:1;text-align:center}
.donut strong{font-family:"Space Grotesk";font-size:21px;display:block}.donut span{color:var(--muted);font-size:10px}
.legend{flex:1;min-width:140px;display:flex;flex-direction:column;gap:2px}
.legend-row{display:flex;align-items:center;gap:8px;font-size:12px;padding:2px 0}
.legend-dot{width:9px;height:9px;border-radius:3px}.legend-row strong{margin-left:auto;font-weight:650}
.waste-list>strong{font-size:12.5px}
.mini-list{margin-top:7px}
.mini-item{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line-2);font-size:12.5px}.mini-item:last-child{border:0}
.mini-table{padding:11px 17px}
.mini-row{display:grid;grid-template-columns:1.6fr .7fr .7fr;gap:8px;padding:7px 0;border-bottom:1px solid var(--line-2);font-size:12px}.mini-row:last-child{border:0}
.mini-empty{color:var(--faint);padding:15px 0;text-align:center;font-size:12.5px}

/* inline views */
.inline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.eyebrow{color:var(--plum);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.inline-head h2{font-size:21px;margin:5px 0}.inline-head p{color:var(--muted);margin:0;font-size:12.5px}
.inline-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.scope-toggle{display:flex;align-items:center;gap:7px;color:var(--ink-2);font-weight:600;font-size:12.5px;cursor:pointer}
.subtabs{display:flex;gap:5px;margin-bottom:15px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:4px;width:fit-content}
.subtab{height:32px;border:0;background:transparent;border-radius:7px;padding:0 15px;font-weight:600;color:var(--ink-2);transition:.15s}
.subtab.active{background:var(--ink);color:#fff}
.card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:13px}
.list-empty{color:var(--faint);padding:22px;text-align:center;grid-column:1/-1}
.team-window{display:flex;align-items:center;gap:11px;margin-bottom:13px;flex-wrap:wrap}
.team-window label{display:flex;align-items:center;gap:8px;font-weight:600}
.team-window select{height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff}
.team-label{font-weight:700;margin:17px 0 9px;font-family:"Space Grotesk";font-size:13.5px}
.team-members,.team-feed{display:flex;flex-direction:column;gap:7px}
.team-stats{margin-bottom:6px}

.invite-row{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.invite-row input{height:40px;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:#fbfafd;outline:none;flex:1;min-width:210px}
.invite-row input:focus{border-color:var(--plum);box-shadow:var(--ring);background:#fff}
.invite-row select{height:40px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff}
.invite-result{padding:11px 14px;border-radius:11px;background:var(--perf-bg);color:var(--perf);border:1px solid #bfe6d1;margin-bottom:13px;font-weight:600}

/* drawer + settings */
.drawer-backdrop{position:fixed;inset:0;background:rgba(20,16,26,.42);opacity:0;pointer-events:none;transition:.2s;z-index:70}
.drawer-backdrop.show{opacity:1;pointer-events:auto}
.drawer,.settings-panel{position:fixed;top:0;right:0;height:100vh;width:428px;max-width:93vw;background:var(--panel);box-shadow:-16px 0 50px rgba(0,0,0,.18);transform:translateX(100%);transition:transform .27s cubic-bezier(.2,.8,.2,1);z-index:80;display:flex;flex-direction:column}
.drawer.open,.settings-panel.open{transform:none}
.drawer-head,.settings-head{padding:17px 19px;border-bottom:1px solid var(--line-2);display:flex;align-items:flex-start;justify-content:space-between}
.drawer-head h2,.settings-head h2{font-size:16.5px;margin:4px 0 2px}
.drawer-head p,.settings-head p{color:var(--muted);margin:0;font-size:12px}
.drawer-tabs{display:flex;gap:5px;padding:11px 19px 0}
.drawer-tabs button{height:33px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:0 14px;font-weight:600;color:var(--ink-2);transition:.15s}
.drawer-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.drawer-body,.settings-body{padding:15px 19px;overflow:auto;flex:1}
.detail-card{background:#fbfafd;border:1px solid var(--line-2);border-radius:12px;padding:12px 13px;margin-bottom:11px}
.detail-label{color:var(--faint);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.big-decision{font-family:"Space Grotesk";font-size:18px;font-weight:600;margin:6px 0}
.detail-card p{margin:4px 0 0;color:var(--ink-2);font-size:12.5px;line-height:1.5}
.confidence-row{display:flex;align-items:center;gap:10px;margin:8px 0 4px}
.confidence-track{flex:1;height:8px;border-radius:5px;background:var(--line-2);overflow:hidden}
.confidence-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--perf));transition:width .8s}
.confidence-text{color:var(--muted);font-size:12px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}
.metric-grid div{background:#fff;border:1px solid var(--line-2);border-radius:9px;padding:8px}
.metric-grid span{color:var(--faint);font-size:10px;font-weight:600;display:block}
.metric-grid strong{font-family:"Space Grotesk";font-size:14.5px}
.drawer-form,.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.drawer-form label,.settings-body label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:12.5px;margin-bottom:11px}
.drawer-form select,.settings-body input,.settings-body select,.settings-body textarea{height:40px;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:#fbfafd;outline:none;font-weight:500}
.settings-body textarea{height:auto;padding:10px 12px;resize:vertical}
.settings-body input:focus,.settings-body select:focus,.settings-body textarea:focus,.drawer-form select:focus{border-color:var(--plum);box-shadow:var(--ring);background:#fff}
.drawer-actions,.settings-actions{display:flex;gap:8px;padding:15px 19px;border-top:1px solid var(--line-2)}
.drawer-actions .btn,.settings-actions .btn{flex:1}
.client-state{padding:10px 12px;border-radius:10px;background:#fbfafd;border:1px solid var(--line-2);margin-bottom:13px;font-size:12.5px}
.analyze-progress{padding:13px 19px;border-top:1px solid var(--line-2)}
.analyze-progress-bar{height:8px;border-radius:5px;background:var(--line-2);overflow:hidden}
.analyze-progress-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--plum));transition:width .3s}
.analyze-progress-text{color:var(--muted);font-size:12px;margin-top:7px}

/* toast (app.js flips display:block/none) */
.toast{display:none;position:fixed;top:16px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 16px;border-radius:11px;box-shadow:0 12px 34px rgba(0,0,0,.3);font-weight:600;font-size:13px;z-index:200;max-width:90vw}

/* login gate */
.login-gate{position:fixed;inset:0;background:var(--rail);display:grid;place-items:center;z-index:250}
.login-card{background:#fff;border-radius:18px;padding:32px;width:370px;max-width:92vw;box-shadow:0 30px 70px rgba(0,0,0,.4);text-align:center}
.login-logo{width:52px;height:52px;border-radius:15px;margin:0 auto 14px;background:linear-gradient(145deg,var(--brand),var(--plum));color:#fff;display:grid;place-items:center;font-family:"Space Grotesk";font-weight:700;font-size:22px}
.login-card h2{font-size:19px}.login-card>p{color:var(--muted);margin:5px 0 20px;font-size:12.5px}
.auth-label{display:flex;flex-direction:column;gap:6px;text-align:left;font-weight:600;font-size:12.5px;margin-bottom:12px}
.auth-label input{height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fbfafd;outline:none}
.auth-label input:focus{border-color:var(--plum);box-shadow:var(--ring);background:#fff}
.auth-submit{width:100%;height:44px;margin-top:4px}
.auth-link{border:0;background:none;color:var(--plum);font-weight:600;font-size:12.5px;margin-top:12px}
.login-error{margin-top:12px;padding:10px;border-radius:9px;background:var(--neg-bg);color:var(--neg);font-size:12.5px;font-weight:600}

/* responsive — keeps the layout from blowing out at any width */
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:1250px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.bottom-grid{grid-template-columns:1fr}}
@media(max-width:900px){
  .app-shell{grid-template-columns:64px 1fr}
  .brand>span,.nav-group,.nav-item>span:not(:first-child),.powered-by span,.sidebar-foot>div:not(.avatar),.chev{display:none}
  .brand{justify-content:center;padding:16px 8px}.brand-logo{height:20px}
  .nav-item{justify-content:center;padding:10px 0}
  .powered-by,.sidebar-foot{justify-content:center}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .control-buttons{margin-left:0;width:100%}
}
@media(max-width:600px){
  .workspace{padding:14px 12px 60px}
  .kpi-grid{grid-template-columns:1fr}
  .control-buttons .btn{flex:1}
  .drawer,.settings-panel{width:100vw}
}

/* ===== app.js-generated cards (Clients / History / Team) ===== */
/* Clients */
.client-card{display:flex;align-items:center;gap:12px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);padding:14px 15px;transition:transform .14s,box-shadow .18s;cursor:pointer;width:100%}
.client-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(23,19,32,.13);border-color:#ded8e8}
.client-avatar{width:40px;height:40px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;font-family:"Space Grotesk";font-weight:700;font-size:17px;color:#fff;background:linear-gradient(145deg,var(--brand),var(--plum))}
.client-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.client-main strong{font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-main span{color:var(--muted);font-size:12px}
.client-meta{color:var(--faint);font-size:11px;text-align:right;flex-shrink:0}

/* History runs */
.run-card{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);padding:15px;transition:transform .14s,box-shadow .18s;cursor:pointer;width:100%}
.run-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(23,19,32,.13);border-color:#ded8e8}
.run-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.run-when{font-family:"Space Grotesk";font-weight:600;font-size:14px}
.run-terms{font-size:11px;font-weight:700;background:var(--plum-soft);color:var(--plum);border-radius:20px;padding:2px 9px}
.run-range,.run-account{color:var(--muted);font-size:12px}
.run-stats{display:flex;gap:7px;margin-top:8px;flex-wrap:wrap}
.run-stats .stat{display:inline-flex;align-items:baseline;gap:4px;font-family:"Space Grotesk";font-weight:700;font-size:13px;border-radius:8px;padding:4px 9px;background:var(--line-2);color:var(--ink-2)}
.run-stats .stat em{font-style:normal;font-weight:600;font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.03em}
.run-stats .stat.neg{background:var(--neg-bg);color:var(--neg)}.run-stats .stat.neg em{color:var(--neg)}
.run-stats .stat.att{background:var(--att-bg);color:var(--att)}.run-stats .stat.att em{color:var(--att)}
.run-stats .stat.perf{background:var(--perf-bg);color:var(--perf)}.run-stats .stat.perf em{color:var(--perf)}
.run-stats .stat.add{background:var(--add-bg);color:var(--add)}.run-stats .stat.add em{color:var(--add)}

/* Reports */
.report-filter{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px 15px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh);flex-wrap:wrap}
.report-filter-label{font-family:"Space Grotesk";font-size:12.5px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}
.report-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px 15px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh);flex-wrap:wrap}
.report-tools>div:first-child{display:flex;align-items:center;gap:12px}
.report-tools strong{font-family:"Space Grotesk";font-size:14px}
.report-tools span{color:var(--faint);font-size:12.5px}
.report-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.report-run{position:relative}
.report-run.selected{border-color:var(--plum);box-shadow:var(--ring)}
.report-check{display:flex;align-items:center;gap:9px;font-family:"Space Grotesk";font-weight:600;font-size:14px;cursor:pointer;min-width:0}
.report-check input{width:16px;height:16px;accent-color:var(--plum);flex-shrink:0}
.report-check span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.report-card-actions{display:flex;justify-content:flex-end;margin-top:4px}

/* Team activity feed + stat tiles */
.team-stats .kpi-card{padding:13px 15px}
.feed,.team-feed>div,.team-members>div{display:flex;gap:11px;align-items:center;padding:11px 14px;background:#fff;border:1px solid var(--line);border-radius:12px}
.feed:hover{border-color:#ded8e8}

/* ===== global loading bar ===== */
#loadbar{position:fixed;top:0;left:0;height:3px;width:0;z-index:300;background:linear-gradient(90deg,var(--brand),var(--plum));box-shadow:0 0 10px rgba(146,35,125,.5);opacity:0;transition:width .18s ease,opacity .3s}
#loadbar.on{opacity:1}

/* ===== AI reason shown inline under the search term ===== */

/* ===== Team members (app.js-generated) ===== */
.team-stats{grid-template-columns:repeat(4,1fr)}
.member-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 14px;cursor:pointer;transition:transform .14s,box-shadow .18s,border-color .15s}
.member-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(23,19,32,.12);border-color:#ded8e8}
.member-card.me{border-color:#e5c6dd;background:linear-gradient(180deg,var(--plum-soft),#fff)}
.member-card.active{border-color:var(--plum);box-shadow:var(--ring)}
.member-top{display:flex;align-items:center;gap:11px}
.member-id{flex:1;min-width:0}
.member-name{font-weight:650;font-size:13.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.member-email{color:var(--muted);font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.role-pill{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:20px;padding:1px 8px;background:var(--rev-bg);color:var(--rev)}
.role-pill.admin{background:var(--plum-soft);color:var(--plum)}
.member-gdot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.member-gdot.on{background:var(--perf);box-shadow:0 0 0 3px rgba(14,143,90,.18)}
.member-gdot.off{background:#cfc9d6}
.member-stats{display:flex;gap:18px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line-2);align-items:flex-end}
.member-stats>div{display:flex;flex-direction:column}
.ms-num{font-family:"Space Grotesk";font-weight:600;font-size:16px;line-height:1.1}
.ms-lbl{color:var(--faint);font-size:10.5px}
.member-when{margin-left:auto;text-align:right}
.mw-a{font-weight:600;font-size:12px}
.mw-a.now{color:var(--perf)}
.mw-b{color:var(--faint);font-size:10.5px;margin-top:2px}
.feed-back{border:1px solid var(--line);background:#fff;border-radius:8px;height:30px;padding:0 10px;font-weight:600;font-size:12px;margin-right:8px;cursor:pointer}
.team-empty{color:var(--faint);padding:20px;text-align:center}

/* ===== staged percentage loading overlay (search-terms fetch) ===== */
#loadOverlay{position:fixed;inset:0;z-index:260;display:none;align-items:center;justify-content:center;background:rgba(28,20,48,.34);backdrop-filter:blur(3px)}
#loadOverlay.on{display:flex;animation:ovin .2s ease}
@keyframes ovin{from{opacity:0}to{opacity:1}}
.load-card{width:340px;max-width:88vw;background:linear-gradient(160deg,#241a38,#14101d);border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.5);padding:30px 24px 24px;text-align:center}
#loadOverlay[data-mode="analysis"] .load-card{border-color:rgba(254,221,46,.5);box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 1px rgba(254,221,46,.25)}
.load-logo{width:190px;max-width:70%;margin:0 auto 18px;filter:drop-shadow(0 0 10px rgba(180,210,255,.22))}
.load-logo .load-logo-svg{display:block;width:100%;height:auto}
.load-pct{font-family:"Space Grotesk";font-weight:700;font-size:34px;letter-spacing:-1px;line-height:1;color:#f3f0f8}
.load-label{color:rgba(255,255,255,.6);font-size:13px;font-weight:600;min-height:18px;margin-top:10px}

/* active sort indicator */
.th-sort.sorted-asc i{border-top:0;border-bottom:5px solid var(--plum);opacity:1}
.th-sort.sorted-desc i{border-top-color:var(--plum);opacity:1}

/* ===== table polish + AI "Why" reasoning sub-row ===== */
thead th{position:sticky;top:0;z-index:5}
tbody td{padding:12px 13px}
.kw-cell,.term-cell{min-width:130px}
tbody tr:not(.reason-row):hover{background:#fbfaff}
/* the reasoning strip that sits under an analyzed row */
tr.reason-row td{padding:0;border-bottom:1px solid var(--line)}
tr.reason-row .rr-pad{border-bottom:0}
tr.reason-row .rr-body{padding:0 14px 12px 14px;color:var(--ink-2);font-size:12px;line-height:1.5;background:#faf9fc;border-left:3px solid var(--line)}
tr.reason-row .reason-tag{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--plum);background:var(--plum-soft);border-radius:6px;padding:3px 8px;margin-right:9px;vertical-align:middle}
tr.reason-row.NEGATIVE .rr-body{border-left-color:var(--neg)}
tr.reason-row.ATTENTION .rr-body{border-left-color:var(--att)}
tr.reason-row.PERFORMING .rr-body{border-left-color:var(--perf)}
tr.reason-row.ADD .rr-body{border-left-color:var(--add)}
tr.reason-row.MONITOR .rr-body{border-left-color:var(--mon)}
tr.reason-row.HUMAN_REVIEW .rr-body{border-left-color:var(--rev)}
/* keep the main row and its reason strip visually paired */
tbody tr:not(.reason-row) td{border-bottom:1px solid var(--line-2)}

/* Floating selected-row action board */
.selection-board{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 36px);background:#fff;border:1px solid #ead27c;border-radius:12px;box-shadow:0 18px 45px rgba(23,19,32,.18);padding:10px 12px}
.selection-board.hidden{display:none}
.selection-board-count{display:flex;flex-direction:column;min-width:130px;gap:2px}
.selection-board-count strong{font-family:"Space Grotesk";font-size:14px;color:var(--ink)}
.selection-board-count span{font-size:11px;color:var(--muted);white-space:nowrap}
.selection-board label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}
.selection-board select{height:34px;border:1px solid var(--line);border-radius:8px;background:#fbfafd;padding:0 9px;font-weight:650;color:var(--ink)}
.selection-board .btn.small{height:34px;padding:0 12px}
.selection-board .icon-btn{width:32px;height:32px}
tbody tr.row-selected:not(.reason-row){background:#fffaf0}
tbody tr.row-open:not(.reason-row){outline:2px solid rgba(146,35,125,.16);outline-offset:-2px}
@media(max-width:900px){
  .selection-board{left:76px;right:12px;bottom:12px;transform:none;flex-wrap:wrap}
  .selection-board-count{width:100%}
}
@media(max-width:600px){
  .selection-board{left:12px;max-width:none}
  .selection-board label{flex:1 1 130px}
  .selection-board select{width:100%}
}

/* Strong entry outlines + dark selected action dock */
.table-wrap{background:#f4f1f7;border-top:1px solid #ded6e8;padding:12px 12px 16px}
.table-wrap table{border-collapse:separate;border-spacing:0}
.table-wrap th,.table-wrap td{border-right:0}
.table-wrap th:first-child,.table-wrap td:first-child{border-left:0}
.table-wrap thead th{border-top:0;border-bottom:1px solid #d0c6dc;background:#f4f1f7}
.table-wrap .filter-row td{background:#f4f1f7;border-bottom:0;padding-top:8px;padding-bottom:12px}
.table-wrap tbody tr:not(.reason-row) td{background:#fff;border-top:2px solid #bdb1ce;border-bottom:0;padding-top:13px;padding-bottom:13px}
.table-wrap tbody tr:not(.reason-row) td:first-child{border-left:2px solid #bdb1ce;border-radius:9px 0 0 0}
.table-wrap tbody tr:not(.reason-row) td:last-child{border-right:2px solid #bdb1ce;border-radius:0 9px 0 0}
.table-wrap tbody tr.reason-row td{background:#fff;border-bottom:2px solid #bdb1ce}
.table-wrap tbody tr.reason-row .rr-pad{border-left:2px solid #bdb1ce;border-radius:0 0 0 9px;background:#fff}
.table-wrap tbody tr.reason-row .rr-body{border-right:2px solid #bdb1ce;border-radius:0 0 9px 0;background:#faf8fd;padding-top:0;padding-bottom:12px}
.table-wrap tbody tr:not(.reason-row):not(:has(+ tr.reason-row)) td{border-bottom:2px solid #bdb1ce}
.table-wrap tbody tr:not(.reason-row):not(:has(+ tr.reason-row)) td:first-child{border-radius:9px 0 0 9px}
.table-wrap tbody tr:not(.reason-row):not(:has(+ tr.reason-row)) td:last-child{border-radius:0 9px 9px 0}
.table-wrap tbody tr:not(.reason-row):hover td{background:#fffaf0;border-color:#9f91b5}
.table-wrap tbody tr.row-selected:not(.reason-row) td{background:#fff1b8;border-color:#b89600}
.table-wrap tbody tr.row-selected+tr.reason-row td,.table-wrap tbody tr.row-selected+tr.reason-row .rr-pad,.table-wrap tbody tr.row-selected+tr.reason-row .rr-body{border-color:#b89600}
.table-wrap tbody tr.row-open:not(.reason-row){box-shadow:none}
.table-wrap tbody tr.row-open:not(.reason-row) td{box-shadow:inset 0 1px 0 rgba(146,35,125,.25),inset 0 -1px 0 rgba(146,35,125,.25)}
.selection-board{left:50%;right:auto;bottom:22px;transform:translateX(-50%);flex-wrap:nowrap;gap:12px;padding:12px 14px;border-radius:14px;background:#171221;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 50px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.06) inset;color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.selection-board:before{background:linear-gradient(180deg,#FFD100,#92237D)}
.selection-board-count{min-width:142px;padding-right:2px}
.selection-board-count strong{color:#fff}
.selection-board-count span,.selection-board label{color:rgba(255,255,255,.68)}
.selection-board label{height:38px;gap:7px;font-size:10.5px;text-transform:none}
.selection-board select{height:38px;min-width:96px;background:#282236;border:1px solid #463d57;color:#fff;box-shadow:none}
.selection-board select:focus{border-color:#FFD100;box-shadow:0 0 0 3px rgba(255,209,0,.18)}
.selection-board .btn.small{height:38px;border-radius:9px}
.selection-board .btn-ghost{background:#282236;border-color:#463d57;color:#fff}
.selection-board .btn-ghost:hover,.selection-board .icon-btn:hover{border-color:#FFD100}
.selection-board .icon-btn{background:#282236;border-color:#463d57;color:#fff}
@media(max-width:900px){
  .selection-board{left:76px;right:12px;bottom:12px;transform:none;flex-wrap:wrap}
  .selection-board-count{width:100%}
}
@media(max-width:600px){
  .selection-board{left:12px}
  .selection-board label{flex:1 1 130px}
  .selection-board select{width:100%}
}

/* ---- Pushed history view ---- */
.pushed-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.pushed-total{font-family:"Space Grotesk";font-size:15px;font-weight:700;color:var(--ink)}
.pushed-total span{color:var(--faint);font-weight:500;font-size:13px}
.pushed-filter{display:flex;gap:6px}
.pushed-chip{border:1px solid var(--line);background:#fff;border-radius:20px;padding:6px 13px;font-size:12.5px;font-weight:600;color:var(--faint);cursor:pointer}
.pushed-chip:hover{border-color:var(--plum)}
.pushed-chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.pushed-tablewrap{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pushed-table{width:100%;border-collapse:collapse}
.pushed-table thead th{text-align:left;font-size:11.5px;color:var(--faint);font-weight:600;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.pushed-table tbody td{padding:11px 12px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}
.pushed-table tbody tr:last-child td{border-bottom:0}
.pushed-table tbody tr:hover{background:#faf8ff}
.pushed-table .pu-when{color:var(--faint);white-space:nowrap;font-size:12.5px}
.pushed-table .pu-term{font-weight:600}
.pushed-table .pu-dest,.pushed-table .pu-acct{color:var(--faint)}
.pushed-table .pu-empty{text-align:center;color:var(--faint);padding:22px}
.pushed-table tbody tr:nth-child(even){background:#fbfaff}
.pushed-table tbody tr:hover{background:#f4f0ff}
.pushed-table .pu-when,.pushed-table .pu-match,.pushed-table .pu-acct,.pushed-table .pu-by{white-space:nowrap}
.pushed-table .pu-by{color:var(--faint);font-size:12.5px}
.pushed-table .pu-match{font-weight:600;font-size:12px}
.pushed-table thead th,.pushed-table tbody td{text-align:left}

/* ============================================================
   MMI — full-page focus mode · Mavlers.ai dark theme (black + yellow)
   Scoped to MMI only; rest of STO keeps its light theme.
   ============================================================ */
#viewMMI{
  --m-bg:#121214; --m-side:#0c0c0e; --m-card:#1b1b1f; --m-card2:#232329;
  --m-line:#2b2b31; --m-text:#f2f2f4; --m-mut:#9a9aa4; --m-faint:#6a6a72;
  --m-y:#fedd2e; --m-y2:#f2ce00; --m-yink:#1a1a1a;
}
body.mmi-full{background:var(--m-bg,#121214);overflow:hidden}
body.mmi-full .app-shell{background:var(--m-bg,#121214);overflow:hidden;height:100vh}
body.mmi-full .topbar{display:none!important}
body.mmi-full .workspace{padding:0!important;height:100vh;overflow:hidden;background:var(--m-bg,#121214)}
body.mmi-full #viewMMI:not(.hidden){position:fixed;inset:0;left:238px;z-index:40;height:100vh}
@media(max-width:1100px){body.mmi-full #viewMMI:not(.hidden){left:0}}
#viewMMI:not(.hidden){display:block;height:100vh}
.mmi-shell{display:flex;height:100vh;min-height:0;background:var(--m-bg);color:var(--m-text)}

/* sessions sidebar */
.mmi-sessions{flex:0 0 250px;background:var(--m-side);border-right:1px solid var(--m-line);display:flex;flex-direction:column;min-height:0}
.mmi-sessions.collapsed{display:none}
.mmi-sessions-top{padding:14px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--m-line)}
.mmi-newchat{padding:11px;border-radius:10px;border:0;background:var(--m-y);color:var(--m-yink);font-weight:800;font-size:13px}
.mmi-newchat:hover{background:var(--m-y2)}
.mmi-acct{display:flex;flex-direction:column;gap:4px}
.mmi-acct label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--m-faint);font-weight:700}
.mmi-acct select{background:var(--m-card);border:1px solid var(--m-line);border-radius:9px;color:var(--m-text);padding:9px 11px;font-size:13px}
.mmi-loadbtn{padding:8px;border-radius:9px;border:1px solid var(--m-line);background:var(--m-card);color:var(--m-mut);font-size:12px;font-weight:600}
.mmi-loadbtn:hover{border-color:var(--m-y);color:var(--m-y)}
.mmi-chat-list{flex:1;overflow-y:auto;padding:8px;min-height:0}
.mmi-chat-empty{color:var(--m-faint);font-size:12px;padding:10px}
.mmi-chat-item{display:flex;align-items:center;gap:6px;padding:9px 10px;border-radius:9px;cursor:pointer}
.mmi-chat-item:hover{background:var(--m-card)}
.mmi-chat-item.active{background:var(--m-card2);box-shadow:inset 2px 0 0 var(--m-y)}
.mmi-chat-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.mmi-chat-title{font-size:13px;color:var(--m-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mmi-chat-item.active .mmi-chat-title{color:var(--m-y);font-weight:600}
.mmi-chat-acct{font-size:10.5px;color:var(--m-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mmi-chat-del{opacity:0;border:0;background:transparent;color:#ff6b6b;cursor:pointer;font-size:15px}
.mmi-chat-item:hover .mmi-chat-del{opacity:1}

/* main column */
.mmi-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}
.mmi-topbar{flex:0 0 auto;height:56px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--m-line);background:var(--m-side)}
.mmi-tb-btn{width:34px;height:34px;border:1px solid var(--m-line);background:var(--m-card);border-radius:8px;color:var(--m-mut);font-size:15px}
.mmi-tb-btn:hover{border-color:var(--m-y);color:var(--m-y)}
.mmi-tb-title{font-family:"Space Grotesk",Inter,sans-serif;font-weight:700;font-size:15px;color:var(--m-text);line-height:1.15}
.mmi-tb-title small{display:block;font-family:Inter;font-weight:500;font-size:11px;color:var(--m-mut);margin-top:2px}
.mmi-status{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:12px;color:#6cda8a;background:#10241a;border:1px solid #234d34;padding:5px 12px;border-radius:20px;font-weight:600}
.mmi-dot{width:7px;height:7px;border-radius:50%;background:#6cda8a}

/* thread — EDGE TO EDGE */
.mmi-thread{flex:1 1 auto;min-height:0;overflow-y:auto;padding:22px 28px;display:flex;flex-direction:column;gap:16px}
.mmi-msg{display:flex;gap:11px;width:100%}
.mmi-msg.user{flex-direction:row-reverse}
.mmi-avatar{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;margin-top:2px;font-weight:800}
.mmi-msg.bot .mmi-avatar{background:var(--m-y);color:var(--m-yink)}
.mmi-msg.user .mmi-avatar{background:var(--m-card2);color:var(--m-text);font-size:10px}
.mmi-body{min-width:0;max-width:100%;flex:1}
.mmi-msg.user .mmi-body{display:flex;flex-direction:column;align-items:flex-end;flex:1}
.mmi-bubble{padding:12px 15px;border-radius:14px;line-height:1.6;font-size:14px;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}
.mmi-msg.bot .mmi-bubble{background:var(--m-card);border:1px solid var(--m-line);border-bottom-left-radius:5px;color:var(--m-text)}
.mmi-msg.user .mmi-bubble{background:#2a2610;border:1px solid #4a4320;border-bottom-right-radius:5px;color:var(--m-text);max-width:85%}
.mmi-steps{font-size:10.5px;color:var(--m-mut);margin-top:6px;display:flex;flex-wrap:wrap;gap:5px}
.mmi-step{background:var(--m-card2);border:1px solid var(--m-line);border-radius:6px;padding:2px 8px}
.mmi-step.bad{border-color:#5a2a2a;color:#ff9a9a;background:#241414}
.mmi-typing{display:inline-flex;gap:4px}
.mmi-typing span{width:6px;height:6px;border-radius:50%;background:var(--m-y);animation:mmiBlink 1.2s infinite}
.mmi-typing span:nth-child(2){animation-delay:.2s}.mmi-typing span:nth-child(3){animation-delay:.4s}
@keyframes mmiBlink{0%,60%,100%{opacity:.3}30%{opacity:1}}

/* charts */
.mmi-chart{margin-top:12px;background:var(--m-card);border:1px solid var(--m-line);border-radius:12px;padding:14px;width:100%;max-width:680px;height:280px;position:relative}

/* empty state + suggestions */
.mmi-empty{margin:auto;max-width:560px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:4vh}
.mmi-empty-icon{width:54px;height:54px;border-radius:15px;background:var(--m-y);display:grid;place-items:center;font-size:24px;color:var(--m-yink)}
.mmi-empty strong{font-size:20px;color:var(--m-text);font-family:"Space Grotesk",Inter,sans-serif}
.mmi-empty span{color:var(--m-mut);font-size:14px}
.mmi-suggests{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:6px}
.mmi-suggests button{background:var(--m-card);border:1px solid var(--m-line);border-radius:11px;padding:11px 14px;color:var(--m-text);font-size:13px;text-align:left;max-width:240px}
.mmi-suggests button:hover{border-color:var(--m-y);color:var(--m-y)}

/* composer */
.mmi-composer-wrap{flex:0 0 auto;border-top:1px solid var(--m-line);background:var(--m-side);padding:14px 28px}
.mmi-composer{display:flex;gap:10px;align-items:flex-end;background:var(--m-card);border:1px solid var(--m-line);border-radius:14px;padding:7px 7px 7px 14px}
.mmi-composer:focus-within{border-color:var(--m-y);box-shadow:0 0 0 3px rgba(254,221,46,.15)}
.mmi-composer textarea{flex:1;background:transparent;border:0;color:var(--m-text);font-family:inherit;font-size:14px;resize:none;padding:8px 0;outline:none;max-height:150px}
.mmi-composer textarea::placeholder{color:var(--m-faint)}
.mmi-send{width:38px;height:38px;border:0;border-radius:10px;background:var(--m-y);color:var(--m-yink);font-size:15px;flex-shrink:0}
.mmi-send:hover{background:var(--m-y2)}
.mmi-send:disabled{opacity:.5}
.mmi-hint{font-size:11px;color:var(--m-faint);text-align:center;margin-top:8px}

@media(max-width:900px){.mmi-sessions{flex:0 0 200px}}

/* MMI usage display */
.mmi-total{margin-left:auto;font-size:11px;color:var(--m-mut);white-space:nowrap;padding-right:14px}
.mmi-status{margin-left:0}
.mmi-usage{font-size:10.5px;color:var(--m-faint);margin-top:6px}

/* MMI markdown rendering (bot bubbles) */
.mmi-bubble.md{white-space:normal}
.mmi-bubble.md > :first-child{margin-top:0}
.mmi-bubble.md > :last-child{margin-bottom:0}
.mmi-bubble.md p{margin:0 0 8px;line-height:1.6}
.mmi-bubble.md h1,.mmi-bubble.md h2,.mmi-bubble.md h3,.mmi-bubble.md h4{font-family:"Space Grotesk",Inter,sans-serif;font-size:14px;margin:12px 0 6px;color:var(--m-text)}
.mmi-bubble.md ul,.mmi-bubble.md ol{margin:6px 0 8px 18px;padding:0}
.mmi-bubble.md li{margin:3px 0;line-height:1.55}
.mmi-bubble.md strong{color:#fff;font-weight:700}
.mmi-bubble.md code{background:var(--m-card2);padding:1px 6px;border-radius:5px;font-size:12px;font-family:ui-monospace,Menlo,monospace}
.mmi-bubble.md a{color:var(--m-y);text-decoration:underline}
.mmi-bubble.md table{border-collapse:collapse;margin:10px 0;font-size:13px;display:block;overflow-x:auto;max-width:100%}
.mmi-bubble.md th,.mmi-bubble.md td{border:1px solid var(--m-line);padding:6px 10px;white-space:nowrap}
.mmi-bubble.md th{background:var(--m-card2);color:var(--m-text);font-weight:700;text-align:left}
.mmi-bubble.md td{color:var(--m-text)}
.mmi-bubble.md tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.mmi-bubble.md blockquote{border-left:3px solid var(--m-y);margin:8px 0;padding:2px 0 2px 12px;color:var(--m-mut)}