/* ASO · admin tab styles (ported from the Claude Design handoff 2026-10-02).
   Loads after augimas.css: reuses the ag-* primitives (cards, KPI, filter bar,
   segmented chips, tables, sheet, skeleton, empty) and adds the aso-* parts.
   Root is <div class="ag aso" id="aso-root">; aso-n = narrow (< 760 px). */
.aso{--c-ad:#B07CE8;--c-blue-ink:#2F5FC4}
.dark .aso{--c-ad:#C9A0F5;--c-blue-ink:#9DBBFF}
.aso-wrap{width:100%;margin:0 auto;padding:0 0 28px;display:flex;flex-direction:column;gap:14px}
.aso-body{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:14px;align-items:start}
.aso-main{display:flex;flex-direction:column;gap:14px;min-width:0}
.aso-rail{display:flex;flex-direction:column;gap:12px;position:sticky;top:84px;min-width:0}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.aso-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.aso-head h1{font-family:var(--ff-display);font-size:22px;font-weight:600;letter-spacing:-.025em}
.aso-head p{margin-top:4px;font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}
.aso-head .ag-act{padding-bottom:2px}
.btn.busy{color:var(--text-3);pointer-events:none}
.aso-spin{width:12px;height:12px;border-radius:99px;border:2px solid var(--border-2);border-top-color:var(--em-500);animation:asoSpin .8s linear infinite}
@keyframes asoSpin{to{transform:rotate(360deg)}}
.aso-search{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:10px;border:1px solid var(--border-2);background:var(--surface);min-width:220px;color:var(--text-3)}
.aso-search svg{width:13px;height:13px;flex:none}
.aso-search input{border:0;background:none;outline:0;font-size:12px;color:var(--text);flex:1;min-width:0;font-family:inherit}
.aso-search input::placeholder{color:var(--text-3)}
.aso-search.on{border-color:var(--em-300);background:var(--em-50)}
.ag-kpi .big.sm{font-size:21px;line-height:1.15}
.ag-kpi .big i{font-style:normal;font-size:13px;color:var(--text-3);font-weight:500;letter-spacing:0;margin-left:6px}
.ag-kpi .ft{flex-wrap:wrap}
.ag-kpi .sub{margin-top:5px;font-size:11px;color:var(--text-3)}
/* pills + chips */
.aso-pill{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.aso-pill::before{content:"";width:6px;height:6px;border-radius:99px;background:currentColor}
.aso-pill.won{background:var(--em-50);color:var(--em-ink)}
.aso-pill.reach{background:rgba(79,134,247,.12);color:var(--c-blue-ink)}
.aso-pill.far{background:var(--amber-50);color:var(--amber-ink)}
.aso-pill.none{background:var(--surface-3);color:var(--text-3)}
.aso-pill.na{background:var(--surface-3);color:var(--text-3)}
.aso-pill.na::before{display:none}
.aso-mv{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.aso-mv.up{background:var(--em-50);color:var(--em-ink)}.aso-mv.dn{background:var(--rose-50);color:var(--rose)}.aso-mv.z{background:var(--surface-3);color:var(--text-3)}
.aso-mv svg{width:9px;height:9px}
.aso-rank{font-family:var(--ff-display);font-size:19px;font-weight:600;letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums}
.aso-rank i{font-style:normal;font-size:11px;color:var(--text-4);font-weight:500;margin-right:1px}
.aso-rank.na{font-size:11.5px;font-weight:500;color:var(--text-4);font-family:var(--ff-body);letter-spacing:0}
.aso-tag{display:inline-flex;align-items:center;white-space:nowrap;height:17px;padding:0 6px;border-radius:5px;border:1px solid var(--em-200);color:var(--em-ink);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--em-50)}
.aso-tag.amb{border-color:transparent;background:var(--amber-50);color:var(--amber-ink)}
.aso-tag.rose{border-color:transparent;background:var(--rose-50);color:var(--rose)}
.aso-tag.gray{border-color:var(--border-2);background:transparent;color:var(--text-3)}
.aso-kwc{display:inline-flex;align-items:center;gap:8px}
.aso-kwc b{font-weight:600}
.aso-h{color:var(--text-3)!important;font-size:11.5px;max-width:230px;white-space:normal!important;line-height:1.35}
.aso-h b{color:var(--em-ink);font-weight:600}
.ag-tbl th.sort{cursor:pointer;user-select:none}
.ag-tbl th.sort:hover{color:var(--text)}
.ag-tbl th.sort.on{color:var(--text)}
.ag-tbl th.sort.on::after{content:"";display:inline-block;margin-left:5px;width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:5px solid currentColor;vertical-align:1px}
.ag-tbl th.sort.on.asc::after{border-top:0;border-bottom:5px solid currentColor}
.ag-tbl tbody tr.click{cursor:pointer}
.ag-tbl tbody tr.mine td{background:var(--em-50)}
.ag-tbl tbody tr.mine td:first-child{box-shadow:inset 3px 0 0 var(--em-500)}
.aso-mult{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.aso-n .aso-mult{grid-template-columns:repeat(2,minmax(0,1fr))}
.ag-tbl td.l{text-align:left}.ag-tbl th.l{text-align:left}
.ag-tbl td.wrap{white-space:normal;line-height:1.4}
.aso-sum{display:flex;flex-wrap:wrap;gap:12px;padding:10px 15px;border-bottom:1px solid var(--border);font-size:11.5px;color:var(--text-3);align-items:center}
.aso-sum span{display:inline-flex;align-items:center;gap:6px}
.aso-sum b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.aso-ev{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.aso-ev span{display:inline-flex;height:19px;align-items:center;padding:0 7px;border-radius:6px;background:var(--surface-3);font-size:10.5px;font-weight:600;color:var(--text-2);white-space:nowrap}
/* candidates */
.aso-cand{display:flex;flex-direction:column}
.aso-cand .r{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--border)}
.aso-cand .r:first-child{border-top:0;padding-top:0}
.aso-cand .r b{font-size:12.5px;font-weight:600}
.aso-cand .r small{display:block;font-size:10.5px;color:var(--text-4);margin-top:1px}
.aso-cand .aso-pop{font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums;text-align:right;line-height:1.2}
.aso-cand .aso-pop i{display:block;font-style:normal;font-size:10px;color:var(--text-4)}
/* funnel */
.aso-fun{display:flex;flex-direction:column;gap:6px}
.aso-fun .st{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline}
.aso-fun .st span{font-size:12px;color:var(--text-2);font-weight:500}
.aso-fun .st b{font-family:var(--ff-display);font-size:18px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.aso-fun .bar{height:22px;border-radius:7px;background:var(--surface-3);overflow:hidden}
.aso-fun .bar b{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,var(--em-400),var(--em-600));min-width:4px}
.aso-fun .cv{display:flex;align-items:center;gap:8px;padding:2px 0 2px 10px;font-size:11.5px;color:var(--text-3)}
.aso-fun .cv::before{content:"";width:1px;height:14px;background:var(--border-2)}
.aso-fun .cv b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
/* rail */
.aso-al{display:flex;flex-direction:column}
.aso-al .r{display:grid;grid-template-columns:8px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--border)}
.aso-al .r:first-child{border-top:0;padding-top:0}
.aso-al .r i{margin-top:5px;width:8px;height:8px;border-radius:99px;background:var(--rose)}
.aso-al .r i.comp{background:var(--c-trial)}.aso-al .r i.rev{background:var(--c-pay)}
.aso-al b{display:block;font-size:12px;font-weight:600;line-height:1.35}
.aso-al p{font-size:11px;color:var(--text-2);margin-top:2px;line-height:1.4}
.aso-al small{display:block;margin-top:3px;font-size:10.5px;color:var(--text-4);font-variant-numeric:tabular-nums}
.aso-tog{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--text-2);white-space:nowrap}
.aso-tog .tg{width:30px;height:18px}.aso-tog .tg b{width:12px;height:12px}
.aso-tog.on{color:var(--text)}.aso-tog.on .tg{background:var(--em-500);border-color:var(--em-500)}.aso-tog.on .tg b{left:14px}
.aso-src{display:flex;flex-direction:column}
.aso-src .r{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border);font-size:12px}
.aso-src .r:first-child{border-top:0;padding-top:0}
.aso-src .r span{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-weight:500}
.aso-src .r span::before{content:"";width:7px;height:7px;border-radius:99px;background:var(--em-500)}
.aso-src .r.off span::before{background:var(--border-2)}
.aso-src .r.off span{color:var(--text-3)}
.aso-src .r i{font-style:normal;font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}
.aso-src .r.off i{color:var(--amber-ink);font-weight:600}
.aso-nc{text-align:center;padding:18px 14px 16px;display:flex;flex-direction:column;align-items:center;gap:6px}
.aso-nc .ic{width:34px;height:34px;border-radius:11px;background:var(--surface-3);display:grid;place-items:center;color:var(--text-3);margin-bottom:4px}
.aso-nc .ic svg{width:16px;height:16px}
.aso-nc h4{font-family:var(--ff-display);font-size:13.5px;font-weight:600}
.aso-nc p{font-size:11.5px;color:var(--text-2);line-height:1.5;max-width:300px;text-wrap:pretty}
.aso-nc .btn{margin-top:6px}
/* reviews */
.aso-stars{display:inline-flex;gap:1px;vertical-align:middle}
.aso-rv{display:flex;flex-direction:column}
.aso-rv .r{display:flex;flex-direction:column;gap:5px;padding:12px 0;border-top:1px solid var(--border)}
.aso-rv .r:first-child{border-top:0;padding-top:0}
.aso-rv .top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.aso-rv .top b{font-size:13px;font-weight:600}
.aso-rv .top .sc{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}
.aso-rv .top .sp{flex:1}
.aso-rv p{font-size:12.5px;color:var(--text-2);line-height:1.5;text-wrap:pretty}
.aso-rv .meta{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums;flex-wrap:wrap}
.aso-rv .meta .btn{margin-left:auto}
.aso-dist{display:flex;flex-direction:column;gap:7px}
.aso-dist .r{display:grid;grid-template-columns:66px 1fr 28px;gap:10px;align-items:center;font-size:12px}
.aso-dist .tr{height:14px;border-radius:5px;background:var(--surface-3);overflow:hidden}
.aso-dist .tr b{display:block;height:100%;border-radius:5px;background:var(--c-pay);min-width:0}
.aso-dist .v{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.aso-dist .lb{display:inline-flex;align-items:center;gap:5px;color:var(--text-2);font-variant-numeric:tabular-nums}
.aso-big{display:flex;align-items:flex-end;gap:14px}
.aso-big b{font-family:var(--ff-display);font-size:34px;font-weight:600;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.aso-big p{font-size:11.5px;color:var(--text-2);line-height:1.4;flex:1}
/* metadata editor */
.aso-ed{display:flex;flex-direction:column;gap:14px}
.aso-fld label{display:flex;justify-content:space-between;align-items:baseline;font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--text-3);margin-bottom:6px}
.aso-fld label i{font-style:normal;font-family:var(--ff-mono);font-size:11px;letter-spacing:0;text-transform:none;color:var(--text-3);font-weight:500}
.aso-fld label i.full{color:var(--amber-ink);font-weight:600}
.aso-fld .in{display:flex;align-items:center;min-height:38px;padding:8px 12px;border-radius:10px;border:1px solid var(--border-2);background:var(--surface);font-size:13px;color:var(--text);font-variant-numeric:tabular-nums}
.aso-fld .in.mono{font-family:var(--ff-mono);font-size:12px;line-height:1.5;word-break:break-all}
.aso-fld .in.focus{border-color:var(--em-400);box-shadow:0 0 0 3px var(--em-50)}
.aso-kws{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.aso-kw{display:inline-flex;align-items:center;gap:6px;height:24px;white-space:nowrap;padding:0 9px;border-radius:7px;background:var(--surface-2);border:1px solid var(--border);font-size:11.5px;font-weight:600;color:var(--text)}
.aso-kw i{font-style:normal;font-size:10.5px;color:var(--text-3);font-weight:500;font-variant-numeric:tabular-nums}
.aso-kw.won{border-color:var(--em-200);background:var(--em-50)}.aso-kw.won i{color:var(--em-ink)}
.aso-kw.warn{border-color:transparent;background:var(--amber-50);color:var(--amber-ink)}.aso-kw.warn i{color:var(--amber-ink)}
.aso-kw.bad{border-color:transparent;background:var(--rose-50);color:var(--rose)}.aso-kw.bad i{color:var(--rose)}
.aso-kw.add{border-style:dashed;border-color:var(--em-300);background:transparent;color:var(--em-ink)}
.aso-wl{display:flex;flex-direction:column;gap:8px}
.aso-wl .r{display:grid;grid-template-columns:18px 1fr;gap:9px;align-items:start;font-size:12px;color:var(--text-2);line-height:1.45}
.aso-wl .r i{margin-top:3px;width:18px;height:18px;border-radius:6px;display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:800}
.aso-wl .r i.w{background:var(--amber-50);color:var(--amber-ink)}.aso-wl .r i.b{background:var(--rose-50);color:var(--rose)}.aso-wl .r i.ok{background:var(--em-50);color:var(--em-ink)}
.aso-wl b{color:var(--text);font-weight:600}
.aso-prev{padding:11px 12px;border-radius:10px;background:var(--surface-2);border:1px dashed var(--border-2);font-family:var(--ff-mono);font-size:12px;line-height:1.55;word-break:break-all;color:var(--text)}
.aso-prev mark{background:var(--em-50);color:var(--em-ink);border-radius:3px;padding:0 2px}
.aso-prev-ft{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:9px;font-size:11.5px;color:var(--text-3);font-variant-numeric:tabular-nums}
.aso-cat{display:flex;flex-direction:column}
.aso-cat .r{display:grid;grid-template-columns:26px 1fr auto auto;gap:10px;align-items:center;padding:6px 0;border-top:1px solid var(--border);font-size:12px}
.aso-cat .r:first-child{border-top:0;padding-top:0}
.aso-cat .r .p{font-family:var(--ff-mono);font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}
.aso-cat .r .nm{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aso-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
/* side panel */
.aso-scrim{position:fixed;inset:0;z-index:60;background:rgba(10,16,14,.32)}
.aso-drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:460px;max-width:92%;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--sh-lg);display:flex;flex-direction:column}
.aso-drawer .hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--border)}
.aso-drawer .hd h3{font-family:var(--ff-display);font-size:19px;font-weight:600;letter-spacing:-.025em}
.aso-drawer .hd .meta{display:flex;align-items:center;gap:8px;margin-top:7px;flex-wrap:wrap}
.aso-drawer .x{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--text-3);border:1px solid var(--border)}
.aso-drawer .x:hover{background:var(--surface-2);color:var(--text)}
.aso-drawer .x svg{width:12px;height:12px}
.aso-drawer .bd{padding:16px 20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1}
.aso-drawer h4{font-family:var(--ff-display);font-size:13px;font-weight:600;margin-bottom:8px}
.aso-drawer h4 small{font-family:var(--ff-body);font-weight:500;color:var(--text-3);font-size:11.5px;margin-left:6px}
.aso-drawer .ft{padding:12px 20px 16px;border-top:1px solid var(--border);display:flex;gap:8px}
.aso-drawer .ft .btn{flex:1}
.aso-hold{width:100%;border-collapse:collapse;font-size:12px}
.aso-hold td{padding:7px 0;border-top:1px solid var(--border);color:var(--text-2)}
.aso-hold tr:first-child td{border-top:0;padding-top:0}
.aso-hold td:first-child{font-family:var(--ff-mono);font-size:11px;color:var(--text-3);width:62px}
.aso-hold b{color:var(--em-ink);font-weight:600}
.aso-hold .n{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}
/* narrow 760 */
.aso-n .gsearch{display:none}
.aso-n .aso-wrap{padding:14px 14px 24px;gap:12px}
.aso-n .aso-body{grid-template-columns:1fr}
.aso-n .aso-rail{position:static}
.aso-n .g5{grid-template-columns:repeat(2,minmax(0,1fr))}
.aso-n .g5 .ag-kpi:last-child{grid-column:span 2}
.aso-n .g2,.aso-n .g3,.aso-n .g21,.aso-n .g12{grid-template-columns:1fr}
.aso-n .aso-cols{grid-template-columns:1fr}
.aso-n .aso-h{max-width:150px}
.aso-n .aso-head{flex-direction:column;align-items:flex-start}
.ag-fbtn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:10px;border:1px solid var(--border-2);background:var(--surface);font-size:12.5px;font-weight:600}
.ag-fbtn .n{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--em-600);color:#fff;font-size:10.5px;font-weight:700;display:inline-grid;place-items:center}
.aso-n .ag-sheet .bd .ag-seg{flex-wrap:wrap;gap:2px}
.aso-n .ag-tbl td,.aso-n .ag-tbl th{padding-left:9px;padding-right:9px}
.aso-n .ri.hov .tip{opacity:0!important;visibility:hidden}

/* additions for the live page */
.aso-addkw{display:flex;gap:8px;align-items:center;padding:10px 15px;border-bottom:1px solid var(--border);background:var(--surface-2)}
.aso-addkw input{flex:1;min-width:0;height:32px;padding:0 10px;border-radius:9px;border:1px solid var(--border-2);background:var(--surface);font-size:12.5px;color:var(--text);font-family:inherit;outline:0}
.aso-addkw input:focus{border-color:var(--em-400)}
.aso-fld textarea,.aso-fld input.ed{width:100%;min-height:38px;padding:8px 12px;border-radius:10px;border:1px solid var(--border-2);background:var(--surface);font-size:13px;color:var(--text);font-family:inherit;resize:vertical;outline:0}
.aso-fld textarea.mono{font-family:var(--ff-mono);font-size:12px;line-height:1.5}
.aso-fld textarea:focus,.aso-fld input.ed:focus{border-color:var(--em-400);box-shadow:0 0 0 3px var(--em-50)}
.aso-dlbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--text-3)}
.aso .ag-card .hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.aso-wl .r i.w,.aso-wl .r i.b,.aso-wl .r i.ok{font-family:var(--ff-body)}
.aso .aso-drawer .ag-med{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.aso .ag-tbl td.mono{font-family:var(--ff-mono);font-size:11px}
.aso .aso-rv .r p{margin:0}
.aso-tog .tg{position:relative;display:inline-block;border-radius:99px;background:var(--surface-3);border:1px solid var(--border-2);transition:background .15s}
.aso-tog .tg b{position:absolute;top:2px;left:2px;border-radius:99px;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .15s}
.aso .ag-empty{padding:28px 20px;text-align:center}
.aso .ag-empty h3{font-family:var(--ff-display);font-size:15px;font-weight:600;margin-bottom:6px}
.aso .ag-empty p{font-size:12.5px;color:var(--text-2);max-width:460px;margin:0 auto 12px;line-height:1.5}
.aso .ag-empty .acts{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
@media (max-width:760px){.aso-body{grid-template-columns:1fr}.aso-rail{position:static}.g5{grid-template-columns:repeat(2,minmax(0,1fr))}.g5 .ag-kpi:last-child{grid-column:span 2}.aso-cols{grid-template-columns:1fr}.aso-head{flex-direction:column;align-items:flex-start}.aso-mult{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* primitives the handoff used that augimas.css does not define */
.aso .ag-med{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.aso .ag-med>div{padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}
.aso .ag-med span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--text-3)}
.aso .ag-med b{display:block;margin-top:4px;font-family:var(--ff-display);font-size:20px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.aso .ag-med small{display:block;margin-top:2px;font-size:10.5px;color:var(--text-4)}
.aso .ag-call{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--em-50);font-size:12px;color:var(--text-2);line-height:1.5}
.aso .ag-call b{color:var(--text);font-weight:600}
.aso .ag-stack{display:flex;height:14px;border-radius:6px;overflow:hidden;gap:2px;margin-bottom:10px}
.aso .ag-stack i{display:block;height:100%;min-width:2px}
.aso .ag-kv .r{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--border);font-size:12px}
.aso .ag-kv .r:first-child{border-top:0;padding-top:0}
.aso .ag-kv .r b{font-weight:600;font-variant-numeric:tabular-nums}
