/* Findus Dashboard — geteilte Styles für /dashboard/*
   Baut auf denselben Tokens wie /analyse auf (Dark-Theme, Space/Schibsted Grotesk, JetBrains Mono). */

@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url("../../assets/fonts/space-grotesk-3.woff2") format('woff2');}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 600;font-display:swap;src:url("../../assets/fonts/schibsted-grotesk-2.woff2") format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url("../../assets/fonts/jetbrains-mono-6.woff2") format('woff2');}

:root{
  --bg:#0B0D10; --panel:#11141A; --panel-2:#161A22; --line:rgba(243,244,245,.09);
  --bone:#F3F4F5; --mist:#787D86; --soft:#A9AEB7;
  --green:#5BD389; --amber:#E8C268; --red:#E87068;
  --font-display:'Space Grotesk',sans-serif; --font-body:'Schibsted Grotesk',sans-serif; --font-mono:'JetBrains Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{color:var(--bone);font-family:var(--font-body);font-size:15px;line-height:1.55;min-height:100vh;display:flex;-webkit-font-smoothing:antialiased;
  /* Subtile Tiefe statt flacher Fläche: zwei sehr leise Farb-Glows auf dem Grundton. */
  background:
    radial-gradient(1100px 480px at 78% -12%, rgba(91,211,137,.05), transparent 62%),
    radial-gradient(900px 460px at -8% 6%, rgba(110,140,200,.045), transparent 55%),
    var(--bg);
  background-attachment:fixed;}
::selection{background:var(--bone);color:var(--bg);}
a{color:inherit;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:rgba(243,244,245,.12);border-radius:99px;border:3px solid var(--bg);}
::-webkit-scrollbar-track{background:transparent;}
:focus-visible{outline:2px solid rgba(91,211,137,.45);outline-offset:2px;border-radius:4px;}
.mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);}

/* ---------- Sidebar ---------- */
.side{width:236px;flex:none;border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto;background:rgba(11,13,16,.55);}
.side::-webkit-scrollbar{width:0;}
.brand{display:inline-flex;align-items:baseline;gap:.42em;text-decoration:none;color:var(--bone);font-size:23px;line-height:1;margin:0 8px 24px;}
.brand svg{height:1.06em;width:auto;}
.brand .w{font-family:var(--font-display);font-weight:600;letter-spacing:-.045em;}
.brand .us{color:var(--mist);}
.side .grp{margin:16px 8px 6px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);}
.side a.it{display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:9px;color:var(--soft);text-decoration:none;font-size:14px;transition:background .15s,color .15s;}
.side a.it:hover{background:rgba(243,244,245,.05);color:var(--bone);}
.side a.it.on{background:linear-gradient(180deg,rgba(243,244,245,.1),rgba(243,244,245,.055));color:var(--bone);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 1px 2px rgba(0,0,0,.25);}
.side a.it .ic{width:15px;height:15px;flex:none;opacity:.8;}
.side a.it.on .ic{opacity:1;}
.side a.it .soon{margin-left:auto;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);border:1px solid var(--line);border-radius:99px;padding:2px 6px;}
.side a.it .badge{margin-left:auto;font-family:var(--font-mono);font-size:10px;background:rgba(91,211,137,.14);color:var(--green);border-radius:99px;padding:1px 7px;}
.side .foot{margin-top:auto;padding:14px 8px 4px;border-top:1px solid var(--line);}
.side .foot .acct{font-family:var(--font-mono);font-size:11px;color:var(--soft);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.side .foot .acct:empty{display:none;}   /* Seiten ohne Account-Daten (z. B. Methodik): keine leere Lücke */
.side .foot .footlinks{margin-top:2px;font-size:13px;color:var(--mist);line-height:1.9;}
.side .foot .acct b{color:var(--bone);font-weight:500;}
.side .foot .planchip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);border:1px solid rgba(91,211,137,.28);border-radius:99px;padding:3px 10px;margin-bottom:12px;}
.side .foot a{color:var(--mist);text-decoration:none;font-size:13px;}
.side .foot a:hover{color:var(--bone);}

/* ---------- Main ---------- */
.main{flex:1;min-width:0;padding:30px clamp(18px,3.4vw,48px) 72px;}
.pagehead{margin-bottom:30px;}
.pagehead .eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);margin-bottom:12px;display:flex;align-items:center;gap:12px;}
/* Editorialer Auftakt wie auf der Website: kurzer Strich vor dem Eyebrow. */
.pagehead .eyebrow::before{content:"";display:inline-block;width:26px;height:1px;background:var(--mist);opacity:.55;flex:none;}
.modechip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;border-radius:99px;padding:3px 9px;border:1px solid var(--line);}
.modechip i{width:6px;height:6px;border-radius:50%;}
.modechip.live{color:var(--green);border-color:rgba(91,211,137,.3);}
.modechip.live i{background:var(--green);box-shadow:0 0 0 3px rgba(91,211,137,.15);}
.modechip.demo{color:var(--amber);border-color:rgba(232,194,104,.28);}
.modechip.demo i{background:var(--amber);}
.tile .nm .lv{margin-left:auto;font-family:var(--font-mono);font-size:8px;letter-spacing:.08em;padding:1px 5px;border-radius:99px;border:1px solid var(--line);color:var(--mist);}
.tile .nm .lv.live{color:var(--green);border-color:rgba(91,211,137,.3);}
.pagehead h1{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,4.5vw,48px);letter-spacing:-.04em;line-height:1;}
.pagehead p{color:var(--soft);margin-top:12px;font-size:15.5px;max-width:64ch;}
.tophead{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.tophead .mobilebrand{display:none;}
.scanbar{margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:7px 8px 7px 16px;min-width:min(300px,42%);}
.scanbar svg{width:15px;height:15px;color:var(--mist);flex:none;}
.scanbar input{flex:1;min-width:60px;background:transparent;border:none;color:var(--bone);font-family:var(--font-body);font-size:14px;outline:none;}
.scanbar input::placeholder{color:var(--mist);}
.iconbtn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--soft);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;text-decoration:none;}
.iconbtn:hover{color:var(--bone);border-color:rgba(243,244,245,.2);}
.iconbtn svg{width:15px;height:15px;}

/* ---------- Cards & grid ---------- */
/* Oberflächen mit Tiefe: leiser Verlauf, Top-Highlight (Lichtkante), weicher Schatten. */
.card{background:linear-gradient(180deg,#13161D 0%,#0F1217 100%);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 12px 32px -20px rgba(0,0,0,.65);transition:border-color .25s;}
.card:hover{border-color:rgba(243,244,245,.14);}
.card .k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--mist);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.card .k .dot{width:5px;height:5px;border-radius:50%;background:var(--green);flex:none;box-shadow:0 0 8px rgba(91,211,137,.55);}
.card .k .link{margin-left:auto;color:var(--soft);text-decoration:none;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;display:inline-flex;align-items:center;gap:5px;}
.card .k .link:hover{color:var(--bone);}
.card .k .link svg{width:11px;height:11px;}
.grid{display:grid;gap:16px;}
.g-4{grid-template-columns:repeat(4,1fr);}
.g-3{grid-template-columns:repeat(3,1fr);}
.g-2{grid-template-columns:repeat(2,1fr);}
.g-53{grid-template-columns:5fr 3fr;}
.g-11-2{grid-template-columns:1fr 1fr 2fr;}
.mt14{margin-top:16px;}
.mt22{margin-top:22px;}

/* KPI card */
.kpi .head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px;}
.kpi .head .lb{font-family:var(--font-mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--mist);}
.kpi .head .glyph{width:30px;height:30px;border-radius:9px;background:var(--panel-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--soft);}
.kpi .head .glyph svg{width:15px;height:15px;}
.kpi .val{font-family:var(--font-display);font-weight:700;font-size:44px;line-height:1;letter-spacing:-.045em;display:flex;align-items:baseline;gap:2px;font-variant-numeric:tabular-nums;}
.kpi .val small{font-size:17px;color:var(--mist);font-weight:500;letter-spacing:-.01em;}
.kpi .sub{color:var(--soft);font-size:13px;margin-top:10px;}
.kpi .meta{font-family:var(--font-mono);font-size:10px;color:var(--mist);margin-top:8px;letter-spacing:.04em;}
.delta{display:inline-flex;align-items:center;gap:3px;font-family:var(--font-mono);font-size:11px;}
.delta.up{color:var(--green);} .delta.down{color:var(--red);} .delta.flat{color:var(--mist);}

/* Engine tiles */
.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.tile{background:linear-gradient(180deg,#13161D 0%,#0F1217 100%);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 26px -18px rgba(0,0,0,.6);transition:border-color .25s;}
.tile:hover{border-color:rgba(243,244,245,.14);}
.tile .nm{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);}
.tile .nm .ic{width:8px;height:8px;border-radius:50%;flex:none;}
.tile .sc{margin-top:12px;font-family:var(--font-display);font-weight:700;font-size:28px;line-height:1;letter-spacing:-.02em;}
.tile .sc small{font-size:13px;color:var(--mist);font-weight:500;}
.tile .st{margin-top:8px;font-size:11.5px;}
.tile .st.ok{color:var(--green);} .tile .st.no{color:var(--red);}
.tile.unmeasured{opacity:.5;}

/* Gauge */
.gaugewrap{display:flex;align-items:center;justify-content:center;padding:6px 0;}
.gauge{position:relative;width:200px;height:200px;}
.gauge svg{transform:rotate(-90deg);}
.gauge .track{stroke:rgba(243,244,245,.07);}
.gauge .val{stroke:var(--green);stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.6,0,.2,1);}
.gauge .num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;}
.gauge .num b{font-family:var(--font-display);font-weight:700;font-size:56px;line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums;}
.gauge .num span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);}
.gsub{text-align:center;color:var(--soft);font-size:13px;margin-top:8px;}
.gsub .mono-inline{font-family:var(--font-mono);font-size:11px;color:var(--mist);display:block;margin-top:4px;}

/* Big number block (Erwähnungen etc.) */
.bignum{font-family:var(--font-display);font-weight:700;font-size:52px;line-height:1;letter-spacing:-.03em;}
.bignum small{font-size:22px;color:var(--mist);font-weight:500;}
.centerblock{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;gap:10px;}
.centerblock .lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);}

/* Zeitfenster-Filter (Top-Leiste, links) */
.winfilter{display:inline-flex;align-items:center;gap:2px;margin-left:auto;text-transform:none;letter-spacing:normal;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:4px;}
.winfilter .cal{width:15px;height:15px;color:var(--mist);flex:none;margin:0 4px 0 9px;}
.winfilter button{padding:6px 13px;border:none;background:none;border-radius:99px;color:var(--soft);font-family:var(--font-body);font-size:13px;line-height:1;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;}
.winfilter button:hover{color:var(--bone);}
.winfilter button.on{background:var(--bone);color:#0E1014;font-weight:600;}
@media(max-width:520px){.winfilter .cal{display:none;}.winfilter button{padding:6px 10px;}}

/* Sichtbarkeit nach Fokus (breit vs. Nische) + Regler */
.bsplit{display:flex;align-items:stretch;gap:0;margin:14px 0 18px;}
.bsplit .bs-item{flex:1;text-align:center;padding:6px 0;}
.bsplit .bs-sep{width:1px;background:var(--line);margin:4px 0;}
.bs-num{font-family:var(--font-display);font-weight:700;font-size:40px;line-height:1;letter-spacing:-.02em;}
.bs-lbl{margin-top:8px;font-size:13.5px;color:var(--bone);}
.bs-lbl span{display:block;font-size:11.5px;color:var(--mist);margin-top:2px;}
.bslider{border-top:1px solid var(--line);padding-top:16px;}
.bs-ends{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mist);margin-bottom:9px;}
.bs-ends b{color:var(--bone);font-family:var(--font-body);font-size:13px;letter-spacing:0;text-transform:none;}
.bslider input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--mist),var(--green));outline:none;cursor:pointer;}
.bslider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--bone);border:3px solid var(--panel);box-shadow:0 0 0 1px var(--line);cursor:pointer;}
.bslider input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--bone);border:3px solid var(--panel);cursor:pointer;}
.bs-hint{margin-top:10px;font-size:12.5px;color:var(--soft);min-height:1em;}
.setnote{font-size:13.5px;color:var(--soft);padding:9px 0;border-top:1px solid var(--line);line-height:1.55;}
.setnote:first-of-type{border-top:none;}
.setnote b{color:var(--bone);}

/* Tabs */
.tabs{display:inline-flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:4px;margin-bottom:22px;max-width:100%;}
.tabs a{padding:8px 20px;border-radius:99px;text-decoration:none;color:var(--soft);font-size:14px;white-space:nowrap;transition:background .15s,color .15s;}
.tabs a:hover{color:var(--bone);}
/* Aktiver Tab wie die Website-CTAs: heller Pill-Button mit dunkler Schrift. */
.tabs a.on{background:var(--bone);color:#0E1014;font-weight:600;}

/* Charts */
.chartbox{position:relative;width:100%;}
.chartbox svg{display:block;width:100%;height:auto;overflow:visible;}
.chart-tip{position:absolute;pointer-events:none;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:12px;min-width:120px;opacity:0;transform:translate(-50%,-100%);transition:opacity .12s;z-index:5;}
.chart-tip .tt-h{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);margin-bottom:6px;}
.chart-tip .tt-r{display:flex;align-items:center;gap:7px;justify-content:space-between;padding:1px 0;}
.chart-tip .tt-r .l{display:flex;align-items:center;gap:6px;color:var(--soft);}
.chart-tip .tt-r .l i{width:7px;height:7px;border-radius:50%;}
.chart-tip .tt-r b{font-family:var(--font-mono);font-weight:500;}

/* Horizontal engine bars */
.hbars{display:flex;flex-direction:column;gap:16px;}
.hbar .top{display:flex;align-items:center;gap:9px;margin-bottom:8px;}
.hbar .top .ic{width:9px;height:9px;border-radius:50%;flex:none;}
.hbar .top .nm{font-size:14px;}
.hbar .top .meta{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--mist);}
.hbar .track{height:8px;border-radius:99px;background:rgba(243,244,245,.06);overflow:hidden;position:relative;}
.hbar .fill{position:absolute;inset:0 auto 0 0;border-radius:99px;background:var(--green);width:0;transition:width .9s cubic-bezier(.6,0,.2,1);}
.hbar .fill.sec{background:rgba(91,211,137,.35);}

/* Ranked source list */
.ranklist{display:flex;flex-direction:column;}
.rankrow{display:flex;align-items:center;gap:12px;padding:11px 8px;margin:0 -8px;border-top:1px solid var(--line);border-radius:8px;transition:background .15s;}
.rankrow:first-child{border-top:none;}
.rankrow:hover{background:rgba(243,244,245,.03);}
.rankrow .idx{font-family:var(--font-mono);font-size:11px;color:var(--mist);width:20px;flex:none;}
.rankrow .dom{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.rankrow .dom.own{color:var(--green);}
.rankrow .stars{margin-left:auto;font-size:10px;color:var(--amber);letter-spacing:1px;flex:none;}
.rankrow .cnt{font-family:var(--font-mono);font-size:12px;color:var(--soft);width:56px;text-align:right;flex:none;}

/* Cited-pages list (with engine badges) */
.pagelist{display:flex;flex-direction:column;}
.pagerow{display:flex;align-items:center;gap:14px;padding:13px 2px;border-top:1px solid var(--line);}
.pagerow:first-child{border-top:none;}
.pagerow .path{min-width:0;}
.pagerow .path .t{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pagerow .path .t.home{color:var(--bone);font-weight:600;}
.badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;}
.ebadge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);background:var(--panel-2);border:1px solid var(--line);border-radius:99px;padding:2px 8px;}
.ebadge i{width:6px;height:6px;border-radius:50%;}
.pagerow .cnt{margin-left:auto;font-family:var(--font-mono);font-size:13px;color:var(--bone);flex:none;}

/* Prompt list */
.promptlist{display:flex;flex-direction:column;}
.promptrow{display:flex;align-items:flex-start;gap:14px;padding:15px 2px;border-top:1px solid var(--line);}
.promptrow:first-child{border-top:none;}
.promptrow .q{font-size:14px;line-height:1.5;}
.promptrow .q .badges{margin-top:8px;}
.promptrow .mark{flex:none;width:22px;height:22px;border-radius:50%;background:rgba(91,211,137,.12);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:1px;}

/* Trend rows (weekly bars) */
.trendlist{display:flex;flex-direction:column;gap:9px;}
.trendrow{display:flex;align-items:center;gap:12px;}
.trendrow .wk{font-family:var(--font-mono);font-size:10.5px;color:var(--mist);width:52px;flex:none;}
.trendrow .track{flex:1;height:16px;border-radius:6px;background:rgba(243,244,245,.05);overflow:hidden;}
.trendrow .fill{height:100%;border-radius:6px;background:var(--green);width:0;transition:width .9s cubic-bezier(.6,0,.2,1);}
.trendrow .v{font-family:var(--font-mono);font-size:11px;color:var(--soft);width:36px;text-align:right;flex:none;}
.trendrow .d{font-family:var(--font-mono);font-size:10.5px;width:52px;text-align:right;flex:none;}

/* Agent activity */
.acts{display:flex;flex-direction:column;}
.actrow{display:flex;align-items:center;gap:12px;padding:10px 2px;border-top:1px solid var(--line);}
.actrow:first-child{border-top:none;}
.actrow .nm{font-family:var(--font-mono);font-size:12.5px;color:var(--soft);}
.actrow .n{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--bone);background:var(--panel-2);border:1px solid var(--line);border-radius:7px;padding:2px 9px;flex:none;}
.acts .total{margin-top:14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);}

/* Mini stat rows inside cards */
.statrow{display:flex;gap:22px;margin:16px 0;}
.statrow .s .v{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.02em;}
.statrow .s .l{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);margin-top:4px;}
.miniList{display:flex;flex-direction:column;gap:0;margin-top:6px;}
.miniList .r{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:13px;color:var(--soft);}
.miniList .r:first-child{border-top:none;}
.miniList .r .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.miniList .r .n{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--bone);flex:none;}

/* Profil-Chips */
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px;}
.chip-t{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--soft);background:var(--panel-2);border:1px solid var(--line);border-radius:99px;padding:4px 11px;}
.profgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:6px;}
.profgrid .p .l{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);margin-bottom:5px;}
.profgrid .p .v{font-size:14.5px;color:var(--bone);}
@media(max-width:700px){.profgrid{grid-template-columns:1fr;gap:12px;}}

/* Ranking-Tabelle */
.rtable{display:flex;flex-direction:column;}
.rrow{display:flex;align-items:center;gap:14px;padding:13px 2px;border-top:1px solid var(--line);}
.rrow:first-child{border-top:none;}
.rrow.you{background:linear-gradient(90deg,rgba(91,211,137,.07),transparent);border-radius:10px;padding-left:12px;margin:0 -10px;}
.rrow .rk{font-family:var(--font-display);font-weight:700;font-size:18px;width:30px;flex:none;color:var(--mist);letter-spacing:-.02em;}
.rrow.you .rk{color:var(--green);}
.rrow .who{min-width:0;flex:1;}
.rrow .who .nm{font-size:15px;display:flex;align-items:center;gap:8px;}
.rrow.you .who .nm{color:var(--green);font-weight:600;}
.rrow .who .nm .tag{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mist);border:1px solid var(--line);border-radius:99px;padding:1px 6px;}
.rrow .who .dm{font-family:var(--font-mono);font-size:11px;color:var(--mist);margin-top:2px;}
.rrow .stat{font-family:var(--font-mono);font-size:12px;color:var(--soft);width:70px;flex:none;text-align:right;}
.rrow .stat b{color:var(--bone);font-weight:500;}
.rrow .bar{width:120px;flex:none;height:7px;border-radius:99px;background:rgba(243,244,245,.06);overflow:hidden;}
.rrow .bar i{display:block;height:100%;border-radius:99px;background:var(--mist);width:0;transition:width .9s cubic-bezier(.6,0,.2,1);}
.rrow.you .bar i{background:var(--green);}
/* Röntgen-Link in Listenzeilen (Übersicht) */
.rankrow .xraylink{flex:none;display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border:1px solid rgba(91,211,137,.3);background:rgba(91,211,137,.07);color:var(--green);border-radius:99px;text-decoration:none;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:background .15s;}
.rankrow .xraylink:hover{background:rgba(91,211,137,.14);}
/* Röntgen-CTA: das stärkste Feature verdient einen sichtbaren Button statt Mini-Icon. */
.rrow .xbtn{flex:none;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 13px;border:1px solid rgba(91,211,137,.3);background:rgba(91,211,137,.07);color:var(--green);border-radius:99px;cursor:pointer;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:background .15s,border-color .15s;}
.rrow .xbtn:hover{background:rgba(91,211,137,.14);border-color:rgba(91,211,137,.5);}
@media(max-width:640px){.rrow .bar{display:none;}.rrow .stat:not(.key){display:none;}}

/* SoV Donut */
.sov{display:flex;align-items:center;gap:20px;}
.sov .donut{position:relative;width:120px;height:120px;flex:none;}
.sov .donut svg{transform:rotate(-90deg);}
.sov .donut .n{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.sov .donut .n b{font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:-.02em;line-height:1;}
.sov .donut .n span{font-family:var(--font-mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);margin-top:3px;}
.sov .txt .big{font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:-.02em;}
.sov .txt .sub{color:var(--soft);font-size:13px;margin-top:4px;}

/* Prompt-Ergebnis-Tabelle */
.presults{display:flex;flex-direction:column;}
.prow{display:flex;align-items:flex-start;gap:12px;padding:13px 2px;border-top:1px solid var(--line);}
.prow:first-child{border-top:none;}
.prow .st{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:1px;}
.prow .st.hit{background:rgba(91,211,137,.12);color:var(--green);}
.prow .st.miss{background:rgba(232,112,104,.12);color:var(--red);}
.prow .body{min-width:0;flex:1;}
.prow .body .q{font-size:14px;}
.prow .body .meta{margin-top:5px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-family:var(--font-mono);font-size:10px;color:var(--mist);}
.catbadge{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:2px 8px;border:1px solid var(--line);color:var(--soft);}
.catbadge.commercial{color:var(--green);border-color:rgba(91,211,137,.3);}
.catbadge.comparison{color:var(--amber);border-color:rgba(232,194,104,.28);}
.catbadge.problem{color:var(--red);border-color:rgba(232,112,104,.28);}
.prow .pos{flex:none;font-family:var(--font-mono);font-size:12px;color:var(--soft);text-align:right;width:52px;}
.prow .pos b{color:var(--green);}

/* GEO-Readiness: Kategorie-Balken + Checkliste */
.cats{display:flex;flex-direction:column;gap:14px;}
.cat .top{display:flex;justify-content:space-between;font-size:13px;color:var(--soft);margin-bottom:6px;}
.cat .top b{color:var(--bone);font-weight:600;font-family:var(--font-mono);font-size:12px;}
.cat .track{height:6px;border-radius:99px;background:rgba(243,244,245,.07);overflow:hidden;}
.cat .fill{height:100%;border-radius:99px;background:var(--green);width:0;transition:width .9s cubic-bezier(.6,0,.2,1);}
.checks .list{display:flex;flex-direction:column;}
.check{display:flex;gap:14px;padding:13px 2px;border-top:1px solid var(--line);}
.check:first-child{border-top:none;}
.check .ic{flex:none;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:1px;}
.check.ok .ic{background:rgba(91,211,137,.12);color:var(--green);}
.check.warn .ic{background:rgba(232,194,104,.12);color:var(--amber);}
.check.fail .ic{background:rgba(232,112,104,.12);color:var(--red);}
.check .lb2{font-size:14.5px;}
.check .tip{color:var(--mist);font-size:13px;margin-top:3px;max-width:72ch;}

/* States */
.state{display:none;} .state.show{display:block;}
.spinner{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--bone);animation:spin .8s linear infinite;margin:0 auto 16px;}
@keyframes spin{to{transform:rotate(360deg)}}
#loading .card,#empty .card{padding:56px 24px;text-align:center;color:var(--soft);}
#error .card{padding:30px;border-color:rgba(232,112,104,.3);}
#error .lb{color:var(--red);font-weight:600;margin-bottom:6px;}
.skeleton{color:transparent!important;position:relative;overflow:hidden;border-radius:6px;}
.skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(243,244,245,.06),transparent);animation:sh 1.3s infinite;}
@keyframes sh{to{transform:translateX(100%)}}

/* Vergleichs-Balken auf KPI-Karten (du vs. Median vs. Leader) */
.cmpbar{margin-top:13px;}
.cmpbar .cmpcap{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--mist);margin-bottom:7px;}
.cmpbar .track{position:relative;height:8px;border-radius:99px;background:rgba(243,244,245,.07);}
.cmpbar .fill{position:absolute;left:0;top:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#4bbf7b,#6ee7a8);width:0;transition:width 1s cubic-bezier(.6,0,.2,1);box-shadow:0 0 10px rgba(91,211,137,.3);}
.cmpbar .med{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--soft);opacity:.55;border-radius:2px;z-index:1;}
.cmpbar .labels{display:flex;align-items:baseline;gap:8px;margin-top:9px;font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;}
.cmpbar .labels span{white-space:nowrap;}
.cmpbar .labels .you{color:var(--green);font-size:11px;font-weight:500;}
.cmpbar .labels .oe{color:var(--mist);}
.cmpbar .labels .lead{color:var(--soft);margin-left:auto;text-align:right;overflow:hidden;text-overflow:ellipsis;max-width:58%;}
/* Tier-Badge (Kategorie-Einordnung) */
.tierpill{display:inline-flex;align-items:center;white-space:nowrap;font-family:var(--font-mono);font-size:9px;letter-spacing:.07em;text-transform:uppercase;padding:3px 9px;border-radius:99px;border:1px solid;}
.tier-stark,.tier-marktführer{color:var(--green);border-color:rgba(91,211,137,.32);background:rgba(91,211,137,.09);}
.tier-solide{color:var(--amber);border-color:rgba(232,194,104,.28);background:rgba(232,194,104,.09);}
.tier-ausbaufähig,.tier-unsichtbar{color:var(--red);border-color:rgba(232,112,104,.28);background:rgba(232,112,104,.09);}

/* Info-Tooltip an Metrik-Labels (hover) */
.info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:5px;border:1px solid var(--line);border-radius:50%;font-family:var(--font-mono);font-size:9px;font-style:normal;color:var(--mist);cursor:help;text-transform:none;letter-spacing:0;vertical-align:middle;}
.info:hover{color:var(--bone);border-color:rgba(243,244,245,.3);}
.info:hover::after{content:attr(data-tip);position:absolute;bottom:155%;left:50%;transform:translateX(-50%);width:230px;max-width:70vw;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-family:var(--font-body);font-size:12.5px;font-weight:400;line-height:1.45;color:var(--soft);text-align:left;text-transform:none;letter-spacing:0;z-index:50;box-shadow:0 10px 30px rgba(0,0,0,.5);pointer-events:none;white-space:normal;}
.info:hover::before{content:"";position:absolute;bottom:155%;left:50%;transform:translate(-50%,55%) rotate(45deg);width:8px;height:8px;background:var(--panel-2);border-right:1px solid var(--line);border-bottom:1px solid var(--line);z-index:51;pointer-events:none;}

/* Kategorie-Einordnung (Benchmark-Balken) */
.benchrow{display:flex;align-items:center;gap:12px;padding:8px 0;}
.benchrow .bl{width:210px;flex:none;font-size:13.5px;color:var(--soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.benchrow .btrack{flex:1;height:10px;border-radius:99px;background:rgba(243,244,245,.06);overflow:hidden;}
.benchrow .bfill{height:100%;border-radius:99px;width:0;transition:width .9s cubic-bezier(.6,0,.2,1);}
.benchrow .bv{width:60px;flex:none;text-align:right;font-family:var(--font-mono);font-size:13px;color:var(--soft);}
@media(max-width:560px){.benchrow .bl{width:130px;font-size:12.5px;}}

/* Score-Zusammensetzung (Sichtbarkeit) */
.comp{display:flex;flex-direction:column;gap:17px;}
.comprow .ctop{display:flex;align-items:baseline;gap:8px;margin-bottom:7px;}
.comprow .cl{font-size:14px;color:var(--bone);}
.comprow .cv{font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.02em;}
.comprow .cw{margin-left:auto;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--mist);}
.comprow .ctrack{height:7px;border-radius:99px;background:rgba(243,244,245,.06);overflow:hidden;}
.comprow .cfill{height:100%;border-radius:99px;background:var(--green);width:0;transition:width .9s cubic-bezier(.6,0,.2,1);}
.comprow .csub{color:var(--soft);font-size:12.5px;margin-top:6px;line-height:1.45;}

/* ---------- Mobile-Navigation (Topbar + Slide-in-Drawer) ---------- */
.mtop{display:none;}
.side-scrim{display:none;}

/* Responsive */
@media (max-width:1200px){.g-4{grid-template-columns:repeat(2,1fr);}.tiles{grid-template-columns:repeat(3,1fr);}.g-11-2{grid-template-columns:1fr 1fr;}}
@media (max-width:1000px){.g-53,.g-3,.g-2,.g-11-2{grid-template-columns:1fr;}}
@media (max-width:860px){
  html,body{max-width:100%;overflow-x:hidden;}                 /* nie horizontal scrollen */
  .main{padding:16px 16px 44px;min-width:0;}

  /* Sidebar wird zum Off-Canvas-Drawer (nicht mehr display:none — sonst keine Navigation) */
  .side{display:flex !important;position:fixed;left:0;top:0;height:100dvh;width:min(84vw,300px);
    transform:translateX(-100%);transition:transform .24s cubic-bezier(.4,0,.2,1);z-index:60;background:var(--panel);}
  body.nav-open .side{transform:none;box-shadow:0 24px 60px rgba(0,0,0,.55);}
  body.nav-open{overflow:hidden;}
  .side-scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .24s;z-index:50;}
  body.nav-open .side-scrim{opacity:1;pointer-events:auto;}

  /* Sticky Topbar mit Hamburger + Marke */
  .mtop{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:40;
    margin:-16px -16px 16px;padding:9px 14px;background:rgba(11,13,16,.88);backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
  .mburger{flex:none;width:40px;height:40px;display:flex;flex-direction:column;justify-content:center;gap:5px;
    padding:0 10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;cursor:pointer;}
  .mburger span{display:block;height:2px;border-radius:2px;background:var(--bone);transition:transform .22s,opacity .22s;}
  body.nav-open .mburger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  body.nav-open .mburger span:nth-child(2){opacity:0;}
  body.nav-open .mburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mbrand{display:inline-flex;align-items:baseline;gap:.42em;text-decoration:none;color:var(--bone);font-size:20px;line-height:1;}
  .mbrand svg{height:1.06em;} .mbrand .w{font-family:var(--font-display);font-weight:600;letter-spacing:-.045em;} .mbrand .us{color:var(--mist);}

  .tophead .mobilebrand{display:inline-flex;align-items:baseline;gap:.42em;text-decoration:none;color:var(--bone);font-size:20px;line-height:1;margin-right:auto;}
  .tophead .mobilebrand svg{height:1.06em;}
  .tophead .mobilebrand .w{font-family:var(--font-display);font-weight:600;letter-spacing:-.045em;}
  .tophead .mobilebrand .us{color:var(--mist);}
  .scanbar{min-width:0;margin-left:0;}
  .scanbar input{font-size:16px;}
  .pagehead{margin-bottom:20px;}
  .pagehead .eyebrow{flex-wrap:wrap;}
  .pagehead h1{font-size:30px;}
  .pagehead p{font-size:14px;}
  .tiles{grid-template-columns:repeat(2,1fr);}
  .g-4{grid-template-columns:1fr 1fr;}
  .card{padding:18px;border-radius:14px;}
  .kpi .val{font-size:34px;}
  /* Eingaben ≥16px → iOS zoomt beim Fokus nicht rein */
  .setinput,.simbar textarea,.edinput,input[type=text],input[type=email],textarea{font-size:16px;}
  /* breite Kacheln umbrechen statt überlaufen */
  .sov{flex-wrap:wrap;gap:16px;}
  .winfilter{margin-left:0;}
}
@media (max-width:560px){
  .simbar{flex-wrap:wrap;} .simbar .simbtn{width:100%;align-self:auto;padding:12px;}
  .statrow{flex-wrap:wrap;gap:14px 22px;}
}
@media (max-width:460px){
  .g-4{grid-template-columns:1fr;}
  .tiles{grid-template-columns:1fr 1fr;}
  .pagehead h1{font-size:27px;}
  .card{padding:16px;}
  /* Tabs: nie umbrechen — enger setzen, notfalls horizontal scrollen */
  .tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .tabs::-webkit-scrollbar{display:none;}
  .tabs a{padding:8px 14px;font-size:13px;}
}
.promptsearch{margin:0 0 14px 0;min-width:0;max-width:380px;}

/* Onboarding: Tracking-Fokus-Auswahl */
.bchoice{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.bchoice button{position:relative;text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;transition:border-color .15s,background .15s;}
.bchoice button b{display:block;color:var(--bone);font-family:var(--font-body);font-size:14px;font-weight:600;}
.bchoice button span{display:block;font-size:12px;color:var(--mist);margin-top:2px;}
.bchoice button:hover{border-color:rgba(243,244,245,.2);}
.bchoice button.on{border-color:var(--green);background:rgba(91,211,137,.08);}
.bchoice .rec{position:absolute;top:-8px;right:10px;font-style:normal;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;background:var(--green);color:var(--bg);border-radius:99px;padding:2px 7px;}
@media(max-width:520px){.bchoice{grid-template-columns:1fr;}}

/* Einstellungen: editierbare Profilfelder */
.setlabel{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--mist);margin:14px 0 6px;}
.setlabel .hint{text-transform:none;letter-spacing:0;color:var(--mist);}
.setinput{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:10px 12px;color:var(--bone);font-family:var(--font-body);font-size:14px;outline:none;resize:vertical;}
.setinput:focus{border-color:rgba(243,244,245,.28);}
.setinput::placeholder{color:var(--mist);}
.setbtn{margin-top:14px;padding:11px 18px;border:none;border-radius:10px;background:var(--bone);color:#0E1014;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:opacity .15s;}
.setbtn:disabled{opacity:.55;cursor:wait;}
.setaddbtn{flex:none;width:40px;border:1px solid var(--line);background:var(--panel-2);color:var(--soft);border-radius:9px;font-size:18px;cursor:pointer;}
.setaddbtn:hover{color:var(--bone);border-color:rgba(243,244,245,.2);}
.chip-t .x{color:var(--mist);text-decoration:none;margin-left:5px;cursor:pointer;}
.chip-t .x:hover{color:var(--red);}
