/* ASO Lab workspace theme — matches the landing page look. Loaded after workspace.css. */
:root{--ink:#14151b;--ink2:#474b57;--muted:#7c818d;--line:#ebebf1;--soft:#f7f6fc;--purple:#633bea;--purple2:#8b5cf6;--orange:#f59e0b;--green:#16a34a;--red:#e11d48;--yellow:#eab308;--side:252px;--ease:cubic-bezier(.2,.7,.2,1)}
body{background:#f4f3f9;color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
svg{display:block}
.workspace{background:#fff}

/* ---------- Sidebar ---------- */
.sidebar{background:linear-gradient(180deg,#fbfaff,#f7f6fc);border-right:1px solid var(--line);padding:20px 14px 14px;transition:transform .35s var(--ease)}
.brand{gap:11px;font-size:18px;font-weight:760;letter-spacing:-.5px;margin:0 8px 26px}
.brand-logo{width:34px;height:34px;border-radius:10px;box-shadow:0 6px 14px -6px rgba(99,59,234,.7)}
.brand small{font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);margin-top:2px}
.side-scroll{flex:1;min-height:0;overflow:auto;margin:0 -4px;padding:0 4px}
.sidebar-label{font-size:11px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:#9ca0ab;margin:18px 12px 8px;display:flex;justify-content:space-between;align-items:center}
.sidebar-label:first-child{margin-top:0}
.sidebar-label span{background:#ece8fb;color:var(--purple);border-radius:99px;padding:1px 8px;font-size:11px;letter-spacing:0}
.side-nav{display:grid;gap:2px}
.nav-item{display:flex;align-items:center;gap:11px;width:100%;border:0;background:none;border-radius:11px;padding:9px 12px;font-size:14px;font-weight:550;color:var(--ink2);text-align:left;transition:background .2s,color .2s}
.nav-item svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none;opacity:.85}
.nav-item:hover{background:#efedf8;color:var(--ink)}
.nav-item.active{background:#fff;color:var(--purple);box-shadow:0 1px 2px rgba(30,20,80,.06),0 6px 16px -10px rgba(99,59,234,.45)}
.nav-item.active svg{opacity:1}
#appList{overflow:visible;flex:none}
.saved-app{padding:8px 10px;border-radius:11px;margin-bottom:2px;gap:10px;transition:background .2s}
.saved-app:hover{background:#efedf8}
.saved-app.active{background:#fff;box-shadow:0 1px 2px rgba(30,20,80,.06),0 6px 16px -10px rgba(99,59,234,.45)}
.saved-app img,.app-icon{width:32px;height:32px;border-radius:9px}
.saved-app b{font-size:13px;font-weight:600;max-width:165px}
.saved-app small{font-size:11px;margin-top:2px;color:var(--muted);max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-empty{padding:4px 12px;color:var(--muted);font-size:13px;line-height:1.6}
.sidebar-bottom{padding-top:12px;gap:10px;border-top:1px solid var(--line)}
.add-app{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#7446ff,var(--purple));color:#fff;border:0;border-radius:12px;padding:11px 14px;font-weight:650;font-size:14px;box-shadow:0 10px 22px -12px rgba(99,59,234,.9);transition:transform .2s var(--ease),box-shadow .2s}
.add-app:hover{transform:translateY(-1px);box-shadow:0 14px 26px -12px rgba(99,59,234,.9)}
.add-app svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.connection{font-size:11px}
.scrim{display:none}

/* ---------- Toolbar ---------- */
main{background:#fff}
.toolbar{min-height:66px;padding:12px 22px;gap:8px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.9);backdrop-filter:blur(10px)}
.page-title{font-size:19px;font-weight:720;letter-spacing:-.5px;margin:0 8px 0 4px;white-space:nowrap}
#viewSelect{display:none}
.toolbar select{height:38px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 10px;font-size:13px;font-weight:550;color:var(--ink2);transition:border-color .2s}
.toolbar select:hover{border-color:#d9cffc}
.icon-button{width:38px;height:38px;border-radius:10px;color:var(--ink2);border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.icon-button:hover{background:#f3efff;color:var(--purple)}
#refresh:active svg{transform:rotate(-90deg);transition:transform .3s}
.pill{display:inline-flex;align-items:center;gap:7px;height:38px;border-radius:11px;padding:0 15px;font-size:13px;font-weight:650;transition:transform .2s var(--ease),box-shadow .2s,filter .2s}
.pill span{margin:0}
.pill svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pill:hover{transform:translateY(-1px);filter:none}
.purple{background:linear-gradient(135deg,#7446ff,var(--purple));box-shadow:0 8px 18px -10px rgba(99,59,234,.9)}
.orange{background:#fff;color:var(--ink);border:1px solid var(--line)!important;box-shadow:none}
.orange svg{color:var(--orange)}
.orange:hover{border-color:#f7d7a4!important;background:#fffaf2}
body[data-view=topcharts] #addKeywords,body[data-view=topcharts] #suggestionsBtn{display:none}

/* ---------- Context + status ---------- */
.contextbar{padding:14px 24px 8px;min-height:52px;font-size:13px;color:var(--muted)}
.table-search{min-width:220px;border:1px solid var(--line);border-radius:10px;padding:0 10px;height:36px;background:#fff;transition:border-color .2s,box-shadow .2s}
.table-search:focus-within{border-color:#b9a4fb;box-shadow:0 0 0 4px #efe9ff}
.table-search svg{width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round}
.table-search input{width:100%;font-size:13px;outline:0}
.table-search:has(input:disabled){visibility:hidden}
.status{padding:0 24px 10px;font-size:12px;min-height:26px}
.status.busy::before{border-color:#e4dcff;border-top-color:var(--purple)}

/* ---------- Tables ---------- */
.keyword-table{margin:0 18px;background:none;border:1px solid var(--line);border-radius:16px;overflow:auto}
table{font-size:13px}
th{font-size:11px;font-weight:650;letter-spacing:.5px;text-transform:uppercase;color:#8b8f9a;height:44px;padding:12px 14px;background:#fbfbfd}
th button:hover{color:var(--purple)}
td{height:50px;padding:8px 14px;font-size:13px;border-bottom:1px solid #f2f2f6}
tbody tr:nth-child(odd),tbody tr:nth-child(even){background:#fff}
tbody tr{transition:background .15s}
tbody tr:hover{background:#faf8ff}
.keyword-link{font-size:14px;font-weight:600;color:var(--ink)}
.note{border:1px solid transparent;border-radius:8px;padding:5px 8px;font-size:12px;transition:border-color .2s,background .2s}
.note:hover{background:#fafafc}.note:focus{border-color:#d9cffc;background:#fff;outline:0}
.meter-track{height:6px;width:70px;background:#eeeef3}
.meter b{font-size:12px;font-weight:650}
.position{font-weight:650}.position.top{color:var(--green)}
.mini-app,.mini-app img{width:26px;height:26px;border-radius:7px}
.mini-app{transition:transform .2s var(--ease)}.mini-app:hover{transform:translateY(-2px) scale(1.08)}
.delete-keyword{width:28px;height:28px;border-radius:8px;transition:background .2s,color .2s}.delete-keyword:hover{background:#fff1f3;color:var(--red)}
.table-footer{border-top:0;padding:12px 24px;font-size:12px}

/* ---------- Welcome (empty keywords) ---------- */
.welcome{top:80px;border:1px solid var(--line);border-radius:24px;padding:36px 34px;box-shadow:0 40px 80px -40px rgba(40,30,90,.35);background:radial-gradient(420px 200px at 50% 0,#f3efff,transparent 70%),#fff;animation:pop .6s var(--ease)}
@keyframes pop{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}
.welcome-icon{width:auto;height:auto;background:none;margin:0 auto 6px}
.welcome-icon img{border-radius:15px;box-shadow:0 14px 28px -12px rgba(99,59,234,.8);margin:auto}
.welcome h1{font-size:26px;letter-spacing:-1px;font-weight:760}
.welcome p{font-size:14px;color:var(--ink2)}
.welcome input{height:50px;border-radius:13px;font-size:14px;padding:0 16px}
.welcome input:focus{outline:0;border-color:#b9a4fb;box-shadow:0 0 0 4px #efe9ff}
.welcome .pill{height:50px;padding:0 20px;font-size:14px;border-radius:13px}
.text-button{font-weight:650;font-size:13px}

/* ---------- Content views ---------- */
.content-view{padding:14px 26px 36px;background:#fff}
.content-view>*{animation:fadeUp .45s var(--ease) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.app-heading{padding:8px 0 22px}
.app-heading img{width:60px;height:60px;border-radius:16px;box-shadow:0 12px 24px -14px rgba(30,20,80,.5)}
.app-heading h2{font-size:22px;letter-spacing:-.6px;font-weight:740}
.app-heading p{font-size:13px}
.secondary{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:8px 13px;font-size:13px;font-weight:600;color:var(--ink2);transition:border-color .2s,background .2s,color .2s}
.secondary:hover{border-color:#d9cffc;background:#faf8ff;color:var(--purple)}
.metrics{gap:14px;border:0;border-radius:0;grid-template-columns:repeat(4,1fr)}
.metric{border:1px solid var(--line)!important;border-radius:18px;padding:18px 20px;background:linear-gradient(180deg,#fff,#fcfbff);transition:transform .25s var(--ease),box-shadow .25s}
.metric:hover{transform:translateY(-2px);box-shadow:0 18px 34px -24px rgba(60,40,140,.45)}
.metric label{font-size:12px;font-weight:600;color:var(--muted)}
.metric strong{font-size:28px;letter-spacing:-1px;font-weight:760;color:var(--ink)}
.metric small{font-size:12px}
.panel{border-radius:20px;padding:22px;border-color:var(--line);background:#fff;box-shadow:0 1px 2px rgba(20,20,40,.03)}
.panel h3{font-size:16px;font-weight:700;letter-spacing:-.3px}
.panel p{font-size:13px}
.panel table th{background:none}
.kv{font-size:13px;grid-template-columns:160px 1fr}
.segments{background:#f3f2f8;border-radius:10px;padding:3px}
.segments button{font-size:12px;font-weight:650;border-radius:8px;padding:6px 11px}
.empty-chart{border-radius:14px}
.chips button{border-radius:99px;padding:7px 13px;font-size:12px;font-weight:600;transition:transform .2s var(--ease),background .2s}
.chips button:hover{transform:translateY(-1px);background:#f1ecff}
.app-grid{gap:12px}
.app-card{border-radius:14px;padding:14px;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.app-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(60,40,140,.5)}
.app-card b{font-size:13px}.app-card small{font-size:11px}
.app-card img{border-radius:10px}
.empty-panel{padding:70px 20px}
.empty-panel h2{font-size:20px;letter-spacing:-.4px;color:var(--ink)}
.empty-panel p{font-size:14px}
.estimate-badge{border-radius:8px;font-weight:650}
.content-view h3{font-size:16px;font-weight:700;letter-spacing:-.3px}

/* ---------- Top charts ---------- */
.charts-head h2{display:none}.charts-head p{margin-top:0!important}
th button{text-transform:inherit;letter-spacing:inherit;font-weight:inherit}
.charts-head p{font-size:13px}
.chart-lists{background:#f3f2f8}
.chart-lists button{font-size:13px;padding:8px 16px}
.chart-controls label{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.6px}
.chart-controls select{height:42px;border-radius:12px;padding:0 12px;font-size:14px;font-weight:550;min-width:220px;transition:border-color .2s}
.chart-controls select:hover{border-color:#d9cffc}
.chart-scroll{border-radius:18px}
.chart-table td{height:60px}
.chart-rank{font-size:14px;font-weight:750;color:var(--muted)}
.chart-app img{width:40px;height:40px;border-radius:11px}
.chart-app b{font-size:14px;font-weight:650}
.chart-move{font-size:12px;font-weight:700}
.chart-actions .secondary{padding:6px 10px;font-size:12px}
.chart-table tbody tr{animation:rowIn .35s var(--ease) both}
@keyframes rowIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- Dialogs ---------- */
dialog{border-radius:22px;border:1px solid var(--line);box-shadow:0 40px 100px -30px rgba(20,15,60,.45)}
dialog[open]{animation:dlg .3s var(--ease)}
@keyframes dlg{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
dialog::backdrop{background:rgba(20,18,40,.35);backdrop-filter:blur(4px)}
.dialog-head{padding:24px 24px 16px}
.dialog-head h2{font-size:19px;letter-spacing:-.4px;font-weight:720}
.dialog-head p{font-size:13px}
.search-form input,textarea{border-radius:12px;font-size:14px;transition:border-color .2s,box-shadow .2s}
.search-form input{height:46px}
.search-form input:focus,textarea:focus{outline:0;border-color:#b9a4fb;box-shadow:0 0 0 4px #efe9ff}
.search-form .pill{height:46px;padding:0 18px}
.dialog-message{font-size:13px}
.result-app{border-radius:12px;padding:10px;transition:background .15s}
.result-app img{border-radius:10px}
.result-app b{font-size:14px}
.dialog-foot{padding:14px 22px;font-size:12px}
.hint{font-size:12px}

/* ---------- Responsive ---------- */
@media(max-width:1050px){:root{--side:220px}.metrics{grid-template-columns:1fr 1fr}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:900px){
  .workspace{grid-template-columns:minmax(0,1fr)!important}
  .sidebar{position:fixed;z-index:60;top:0;bottom:0;left:0;width:270px;visibility:visible!important;padding:20px 14px 14px!important;overflow:hidden;transform:translateX(-105%)}
  .collapsed .sidebar{transform:none;box-shadow:30px 0 60px -30px rgba(20,15,60,.4)}
  .scrim{display:block;position:fixed;inset:0;z-index:55;background:rgba(20,18,40,.35);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s}
  .collapsed .scrim{opacity:1;pointer-events:auto}
  .collapsed .workspace{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:700px){
  .toolbar{min-height:0;padding:10px 12px;gap:6px}
  .page-title{font-size:17px;flex:1;margin:0}
  .toolbar-spacer{display:none}
  .toolbar #country{order:5;flex:1;max-width:none}.toolbar .pill{order:6}
  .welcome input{flex:none;height:50px}
  .pill span{display:none}.pill{padding:0 11px}
  .contextbar{padding:10px 14px 6px}.contextbar #context{display:none}.table-search{min-width:0;width:100%;margin:0}
  .status{padding:0 14px 8px}
  .keyword-table{margin:0 10px}
  .content-view{padding:10px 14px 28px}
  .metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:14px}.metric strong{font-size:22px}
  .chart-controls select{min-width:0}
  .welcome{padding:26px 20px;top:60px}.welcome h1{font-size:22px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.toolbar .cp{height:38px;min-width:190px}
.toolbar .cp-btn{border-radius:10px;font-size:13px}
.chart-controls .cp{height:42px;min-width:230px}.chart-controls .cp-btn{border-radius:12px;font-size:14px}
.contextbar .flag,.chart-meta .flag{width:16px;height:12px;vertical-align:-1px}
@media(max-width:700px){.toolbar .cp{order:5;flex:1;min-width:0}.chart-controls .cp{width:100%;min-width:0}}

/* ---------- Ads & campaigns ---------- */
.ads-badge{display:inline-flex;align-items:center;gap:6px;margin-left:8px;border:0;border-radius:99px;padding:3px 10px;font-size:11.5px;font-weight:700;vertical-align:1px;cursor:pointer;transition:transform .2s}
.ads-badge:hover{transform:translateY(-1px)}
.ads-badge i{width:7px;height:7px;border-radius:50%;background:currentColor}
.ads-badge.green{background:#dcfce7;color:#15803d}.ads-badge.green i{animation:adsPulse 1.8s infinite}
.ads-badge.amber{background:#fef3c7;color:#b45309}.ads-badge.grey{background:#f1f1f5;color:#6b7080}.ads-badge.blue{background:#e8efff;color:#3553c7}
@keyframes adsPulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.5)}70%{box-shadow:0 0 0 7px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
.ads-hero{display:grid;grid-template-columns:1.1fr 1.4fr;gap:20px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:22px;margin-bottom:20px;background:linear-gradient(135deg,#fbfaff,#fff)}
.ads-hero.green{background:linear-gradient(135deg,#effcf3,#fff);border-color:#c9efd6}
.ads-hero.amber{background:linear-gradient(135deg,#fff8e8,#fff);border-color:#f6dfaa}
.ads-hero.blue{background:linear-gradient(135deg,#f0f4ff,#fff);border-color:#d6e0fb}
.ads-status{display:flex;gap:14px;align-items:flex-start}
.ads-status h3{font-size:20px;letter-spacing:-.5px;font-weight:760;margin-bottom:4px}
.ads-status p{font-size:13.5px;color:var(--ink2);line-height:1.6}
.ads-status p .flag{width:16px;height:12px;vertical-align:-1px}
.ads-dot{width:14px;height:14px;border-radius:50%;margin-top:7px;flex:none;background:#9ca0ab}
.green .ads-dot{background:#16a34a;animation:adsPulse 1.8s infinite}.amber .ads-dot{background:#f59e0b}.blue .ads-dot{background:#4f6ef7}
.loading .ads-dot{background:#c4b5fd;animation:adsPulse 1.2s infinite}
.ads-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ads-metrics div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.ads-metrics small{display:block;font-size:11.5px;color:var(--muted);font-weight:600}
.ads-metrics b{display:block;font-size:22px;letter-spacing:-.6px;font-weight:760;margin-top:4px}
.adv-list{display:flex;flex-wrap:wrap;gap:10px}
.adv{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:13.5px}
.adv small{color:var(--muted);font-weight:600}
.ads-timeline{width:100%;height:auto;display:block}
.ads-timeline rect{transition:opacity .2s}.ads-timeline rect:hover{opacity:.75}
.ad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.ad-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;transition:transform .25s var(--ease),box-shadow .25s}
.ad-card:hover{transform:translateY(-3px);box-shadow:0 20px 36px -24px rgba(60,40,140,.5)}
.ad-thumb{position:relative;aspect-ratio:16/9;background:#f1f0f6;overflow:hidden}
.ad-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ad-thumb.ph{display:grid;place-items:center;background:linear-gradient(135deg,#efe9ff,#fbfaff)}
.ad-thumb.ph .ph-label{font-weight:700;color:var(--purple);font-size:13px}
.ad-thumb.mock{display:flex;align-items:center;justify-content:center;padding:12px;background:linear-gradient(135deg,#efe9ff,#fbfaff)}
.ad-mock{width:100%;max-width:280px;background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(40,20,90,.08);padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.35}
.ad-mock .am-app{display:flex;align-items:center;gap:8px}
.ad-mock .am-app img,.ad-mock .am-app i{width:28px;height:28px;border-radius:7px;object-fit:cover;background:#eee;flex:none}
.ad-mock .am-app b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.ad-mock .am-app small{color:#8a8f98;font-size:10.5px}
.ad-mock .am-head{margin:0;color:#1a56d6;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ad-mock .am-body{margin:0;color:#5f6470;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ad-mock .am-cta{align-self:flex-end;background:#01875f;color:#fff;border-radius:6px;padding:2px 10px;font-weight:600;font-size:11px}
.ad-thumb .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;font-style:normal;font-size:15px;padding-left:3px}
.ad-state{position:absolute;left:10px;top:10px;background:rgba(20,20,30,.7);color:#fff;font-size:11px;font-weight:700;border-radius:99px;padding:3px 9px}
.ad-state.on{background:#16a34a}
.ad-thumb.mock .ad-state{display:none}
.ad-tag.state{background:#ececf1;color:#4b4f58}.ad-tag.state.on{background:#dcfce7;color:#15803d}
.ad-body{padding:12px 14px 14px}
.ad-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.ad-tag{font-size:11px;font-weight:700;border-radius:7px;padding:2px 8px;background:#f1f1f5;color:#5c606b}
.ad-tag.this{background:#ece8fb;color:var(--purple)}.ad-tag.other{background:#fff1d6;color:#b45309}
.ad-dates{font-size:12.5px;color:var(--ink2);margin:0 0 10px}
.ad-links{display:flex;gap:12px;font-size:12.5px;font-weight:650}
.ad-card.sk .ad-thumb{background:linear-gradient(90deg,#f1f1f4 25%,#e7e7ec 37%,#f1f1f4 63%);background-size:400% 100%;animation:sk 1.2s ease infinite}
.ad-card.sk i{display:block;height:10px;border-radius:6px;background:#f0f0f4;margin:6px 0;width:70%}.ad-card.sk i+i{width:45%}
.ads-note{margin-top:14px!important;font-size:12px!important}
@media(max-width:1050px){.ads-hero{grid-template-columns:1fr}}
@media(max-width:700px){.ads-metrics{grid-template-columns:1fr 1fr}.ads-metrics b{font-size:18px}.ad-grid{grid-template-columns:1fr 1fr;gap:10px}}
.ads-metrics .hl{border-color:#cbbdfa;background:#faf8ff}.ads-metrics .hl b{color:var(--purple)}.ads-metrics em{display:block;font-style:normal;font-size:11.5px;color:var(--muted);margin-top:2px}
.ads-progress{height:6px;border-radius:9px;background:#ecebf3;overflow:hidden;margin:12px 0 6px;max-width:380px}
.ads-progress span{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#8b5cf6,#633bea);transition:width .6s var(--ease)}
.ads-progress-label{font-size:12px;color:var(--muted);font-weight:600}
.ads-hero.grey .ads-dot,.ads-hero.scanning .ads-dot{animation:adsPulse 1.2s infinite}
.ww-note{color:var(--muted)}
.geo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.geo{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;text-align:left;transition:transform .2s var(--ease),border-color .2s,box-shadow .2s;animation:fadeUp .35s var(--ease) both}
.geo:hover{transform:translateY(-2px);border-color:#d9cffc;box-shadow:0 14px 28px -20px rgba(60,40,140,.5)}
.geo.on{border-color:#c9efd6;background:linear-gradient(135deg,#f3fdf6,#fff)}
.geo .flag-lg{width:30px;height:22px;border-radius:4px}
.geo-name{flex:1;min-width:0}.geo-name b{display:block;font-size:14px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geo-name small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.geo-when{font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:5px}
.geo.on .geo-when{color:#15803d}.geo-when i{width:7px;height:7px;border-radius:50%;background:#16a34a;animation:adsPulse 1.8s infinite}
.hist-svg{width:100%;height:auto;display:block}.hist-wrap{margin:8px 0 14px}
.saved-row{position:relative;display:flex;align-items:center;margin-bottom:2px}
.saved-row .saved-app{margin:0;padding-right:34px}
.remove-app{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:0;border-radius:7px;background:transparent;color:#9ca0ab;font-size:16px;line-height:1;opacity:0;transition:opacity .15s,background .15s,color .15s}
.saved-row:hover .remove-app,.saved-row.active .remove-app,.remove-app:focus-visible{opacity:1}
.remove-app:hover{background:#fff1f3;color:var(--red)}
@media(hover:none){.remove-app{opacity:1}}
.app-dates{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px!important;font-size:12.5px!important;color:var(--muted)}
.app-dates b{color:var(--ink2);font-weight:600}
.app-heading .actions .pill{height:36px}
.saved-toggle{color:var(--green)!important;border-color:#c9efd6!important}
.saved-toggle:hover{color:var(--red)!important;border-color:#f6c9d2!important;background:#fff6f8!important}
body[data-view=appsearch] #addKeywords,body[data-view=appsearch] #suggestionsBtn,body[data-view=appsearch] .table-search{display:none}
.as-head{padding:6px 0 16px}
.as-form{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;padding:6px 6px 6px 16px;background:#fff;max-width:760px;transition:border-color .2s,box-shadow .2s}
.as-form:focus-within{border-color:#b9a4fb;box-shadow:0 0 0 4px #efe9ff}
.as-form svg{width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;flex:none}
.as-form input{flex:1;min-width:0;border:0;outline:0;font-size:15px;height:42px;background:transparent}
.as-form .pill{height:42px;padding:0 20px}
.as-head .source{margin-top:10px!important}
.as-head .source .flag{width:16px;height:12px;vertical-align:-1px}
.as-list{border:1px solid var(--line);border-radius:18px;overflow:hidden;max-width:980px}
.as-row{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid #f2f2f6;animation:fadeUp .3s var(--ease) both}
.as-row:last-child{border-bottom:0}.as-row:hover{background:#faf8ff}
.as-rank{width:22px;text-align:center;font-weight:700;color:var(--muted);font-size:13px}
.as-app{display:flex;align-items:center;gap:12px;border:0;background:none;padding:0;text-align:left;flex:1;min-width:0}
.as-app img{width:44px;height:44px;border-radius:12px;object-fit:cover;background:#eee;flex:none}
.as-app span{min-width:0}.as-app b{display:block;font-size:14.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.as-app small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.as-app:hover b{color:var(--purple)}
.as-score{font-size:13px;color:var(--ink2);min-width:48px}
.as-actions{display:flex;gap:6px}.as-actions .secondary{padding:7px 11px;font-size:12.5px}
.as-row.sk{pointer-events:none}.as-row.sk .sk-ico{width:44px;height:44px;border-radius:12px;flex:none}.as-row.sk span{flex:1;display:grid;gap:7px}.as-row.sk span i{height:10px;border-radius:6px;width:60%}.as-row.sk span i+i{width:35%}
.as-row.sk i{display:block;background:linear-gradient(90deg,#f1f1f4 25%,#e7e7ec 37%,#f1f1f4 63%);background-size:400% 100%;animation:sk 1.2s ease infinite}
@media(max-width:700px){.as-score{display:none}.as-actions .secondary:first-child{display:none}.as-row{padding:10px 12px;gap:10px}}

/* ---------- Compare apps ---------- */
.compare-panel{margin-bottom:22px}
.compare-panel .panel-title{align-items:flex-start;gap:12px}
.cmp-picks{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 12px}
.cmp-pick{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 6px 4px 4px;font-size:13px;font-weight:600;max-width:260px}
.cmp-pick img,.cmp-pick .app-icon{width:26px;height:26px;border-radius:8px;flex:none}
.cmp-pick span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-pick.base{border-color:#cdbdfd;background:#f5f1ff}
.cmp-pick button{border:0;background:#f1f0f6;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;cursor:pointer;color:var(--muted);flex:none;font-size:14px;line-height:1}
.cmp-pick button:hover{background:#ffe4e6;color:var(--red)}
.cmp-pick.empty{border-style:dashed;color:var(--muted);font-weight:500;padding:8px 14px;background:transparent}
.cmp-add{position:relative;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:0 12px;height:44px;background:#fff;margin-bottom:16px;transition:border-color .2s,box-shadow .2s}
.cmp-add:focus-within{border-color:#b9a4fb;box-shadow:0 0 0 4px #efe9ff}
.cmp-add svg{width:17px;height:17px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;flex:none}
.cmp-add input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:14px;height:100%}
.cmp-suggest{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 50px -20px rgba(40,30,90,.35);max-height:360px;overflow-y:auto}
.cmp-suggest li{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:10px;cursor:pointer}
.cmp-suggest li[aria-selected=true]{background:#f3efff}
.cmp-suggest li img,.cmp-suggest li .app-icon{width:34px;height:34px;border-radius:9px;flex:none}
.cmp-suggest li span{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.cmp-suggest li b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-suggest li small{font-size:12px;color:var(--muted)}
.cmp-suggest li em{font-style:normal;font-size:11px;color:var(--green);font-weight:700}
.cmp-suggest .as-empty{cursor:default;color:var(--muted);font-size:13px;padding:10px}
.cmp-hint{border:1px dashed #d9d0fb;border-radius:14px;padding:22px;text-align:center;color:var(--ink2);background:#fbfaff}
.cmp-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.cmp-table{width:100%;min-width:calc(170px + var(--cols) * 180px);border-collapse:separate;border-spacing:0;font-size:13px}
.cmp-table th,.cmp-table td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cmp-table tbody tr:last-child td,.cmp-table tbody tr:last-child th{border-bottom:0}
.cmp-table thead th{background:#fbfaff;vertical-align:bottom;position:sticky;top:0}
.cmp-table thead th.is-base{background:#f5f1ff}

.cmp-table .cmp-label{width:170px;color:var(--ink2);font-weight:600;position:sticky;left:0;background:#fff;z-index:1}
.cmp-table thead .cmp-label{background:#fbfaff;z-index:2}
.cmp-table td small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.cmp-table tr.cmp-group th{background:#f7f6fc;color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.6px;padding:7px 14px;position:static}
.cmp-app{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.cmp-app img,.cmp-app .app-icon{width:44px;height:44px;border-radius:12px;margin-bottom:4px}
.cmp-app b{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cmp-app small{color:var(--muted);font-size:12px;font-weight:500}
.cmp-app-actions{display:flex;gap:10px;margin-top:2px}
.cmp-app-actions .text-button{padding:0;font-size:12px}
.cmp-app-actions [data-cmp-remove]{color:var(--muted)}
.cmp-app-actions [data-cmp-remove]:hover{color:var(--red)}
.cmp-base{font-size:11px;font-weight:700;color:var(--purple);background:#ede7ff;border-radius:999px;padding:2px 8px;margin-top:2px}
.cmp-best{background:#f0fdf4;font-weight:650;color:#166534}
.cmp-crown{font-style:normal;font-size:9px;color:var(--green);margin-left:6px;vertical-align:1px}
.cmp-yes{color:#166534;font-weight:600}.cmp-no{color:var(--muted)}
.cmp-err{color:var(--red)}
.cmp-chip{display:inline-block;background:#f1f0f6;border:0;border-radius:6px;padding:1px 7px;margin:0 4px 4px 0;font-size:12px;color:var(--ink2)}
.cmp-chip.link{cursor:pointer}.cmp-chip.link:hover{background:#ede7ff;color:var(--purple)}
.cmp-shared{margin-top:14px}.cmp-shared b{font-size:13px;display:block;margin-bottom:8px}
.cmp-loading .cmp-sk{display:grid;grid-template-columns:170px repeat(auto-fit,minmax(120px,1fr));gap:14px;padding:12px 4px;border-bottom:1px solid var(--line)}
.cmp-loading .cmp-sk i{height:12px;border-radius:6px;background:linear-gradient(90deg,#f1f1f4 25%,#e7e7ec 37%,#f1f1f4 63%);background-size:400% 100%;animation:sk 1.2s ease infinite}
.cmp-card{position:relative;display:flex;flex-direction:column}
.cmp-card .app-card{flex:1;padding-bottom:44px}
.cmp-toggle{position:absolute;left:14px;bottom:12px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:650;color:var(--purple);cursor:pointer;transition:background .2s,border-color .2s}
.cmp-toggle:hover{border-color:#cdbdfd;background:#f5f1ff}
.cmp-toggle.on{background:#ede7ff;border-color:#cdbdfd}
@media (max-width:700px){.cmp-table .cmp-label{width:120px}.cmp-table{min-width:calc(120px + var(--cols) * 150px)}}
.cmp-table{table-layout:fixed}
.cmp-table th,.cmp-table td{text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink);font-weight:500}
.cmp-table th.cmp-label{color:var(--ink2);font-weight:600}
.cmp-table thead th{font-weight:600}
.cmp-table td.cmp-best{position:relative;padding-right:26px;color:#166534;font-weight:650}
.cmp-table td.cmp-best .cmp-crown{position:absolute;right:10px;top:12px;margin:0}
.cmp-app-actions .text-button{text-transform:none;letter-spacing:0;font-weight:600}

/* ---------- Info tooltips ---------- */
.info-tip{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;border:1px solid #c9c4dc;color:#8a86a0;font:italic 700 9.5px/1 Georgia,serif;margin-left:5px;vertical-align:1px;cursor:help;flex:none;text-transform:none;letter-spacing:0;transition:color .15s,border-color .15s,background .15s;user-select:none}
.info-tip:hover,.info-tip:focus{color:#fff;background:var(--purple);border-color:var(--purple);outline:0}
.tip-box{position:fixed;z-index:1000;left:0;top:0;background:#1d1b2b;color:#f3f1fb;font-size:12.5px;line-height:1.5;font-weight:450;padding:9px 12px;border-radius:10px;box-shadow:0 14px 34px -12px rgba(20,10,60,.5);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;text-transform:none;letter-spacing:0}
.tip-box.on{opacity:1;transform:none}
.tip-box::after{content:"";position:absolute;left:var(--ax,50%);bottom:-5px;width:10px;height:10px;background:#1d1b2b;transform:translateX(-50%) rotate(45deg)}
.tip-box.below::after{bottom:auto;top:-5px}
th .info-tip{margin-left:3px}

/* App links (real links so right-click / Ctrl+click opens a new tab) */
a.app-card,a.chart-app,a.result-app,a.as-app,a.saved-app,a.mini-app{color:inherit;text-decoration:none;cursor:pointer}
a.mini-app{display:inline-block;flex:none}
a.text-button{text-decoration:none;display:inline-flex}
a.secondary{text-decoration:none}

/* Selected app shown in keyword research */
.ctx-app img{width:20px;height:20px;border-radius:6px;vertical-align:-5px;margin-right:7px;object-fit:cover}
.position .pos-app img{width:22px;height:22px;border-radius:6px;vertical-align:-6px;margin-right:7px;object-fit:cover;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--purple)}
.mini-app.is-mine{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--purple);border-radius:7px}

/* Monthly searches column (shown when Google Ads data is connected) */
.col-searches{display:none}
.has-volume .col-searches{display:table-cell}
.searches{font-weight:700;font-variant-numeric:tabular-nums}
