/* AI OSAKOND client view — dashboards/osakond.blade.php.
   Taken from the design prototype (tanelile/ai-osakond-dashboard.html), which is the
   visual source of truth; font and icons point at the files the SEO view already
   serves instead of inline data URIs. Loaded after dashboard-seo.css, which only
   fills in the few classes the prototype does not define (admin bar, flash). */
<style>
@font-face{font-family:'Switzer';font-weight:100 900;font-style:normal;font-display:swap;src:url(/fonts/switzer-variable.woff2) format('woff2')}
:root{
  --ms-black:#000000;--ms-white:#FFFFFF;--ms-pink:#F237A6;--ms-lime:#E1FF04;
  --bg:#F7F7F5;--surface:#FFFFFF;--surface-2:#EFEEEA;--ink:#0B0B0B;--ink-2:#4A4946;--muted:#757472;
  --line:#E2E0DA;--line-strong:#0B0B0B;
  --accent:#F237A6;--signal:#E1FF04;--on-signal:#0B0B0B;
  --chart-grid:#E7E5DF;--chart-line:#0B0B0B;--chart-fill:rgba(225,255,4,.55);--chart-muted:#B9B7B1;--bar:#0B0B0B;--bar-2:#D6D4CE;
  --invert-bg:#0B0B0B;--invert-ink:#FFFFFF;--invert-muted:#8E8C88;--invert-em:#E1FF04;--invert-line:#2A2A28;--invert-spark:rgba(225,255,4,.35);
  --font-display:'Switzer','Helvetica Neue',Helvetica,Arial,sans-serif;
  --font-body:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --radius:4px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0B0B0B;--surface:#161615;--surface-2:#1F1F1D;--ink:#FFFFFF;--ink-2:#C9C7C1;--muted:#8E8C88;
    --line:#2A2A28;--line-strong:#FFFFFF;
    --chart-grid:#242422;--chart-line:#FFFFFF;--chart-fill:rgba(225,255,4,.28);--chart-muted:#4A4946;--bar:#FFFFFF;--bar-2:#2E2E2C;
    --invert-bg:#FFFFFF;--invert-ink:#0B0B0B;--invert-muted:#757472;--invert-em:#6E7A00;--invert-line:#E2E0DA;--invert-spark:rgba(110,122,0,.25);
  }
}
:root[data-theme="dark"]{
  --bg:#0B0B0B;--surface:#161615;--surface-2:#1F1F1D;--ink:#FFFFFF;--ink-2:#C9C7C1;--muted:#8E8C88;
  --line:#2A2A28;--line-strong:#FFFFFF;
  --chart-grid:#242422;--chart-line:#FFFFFF;--chart-fill:rgba(225,255,4,.28);--chart-muted:#4A4946;--bar:#FFFFFF;--bar-2:#2E2E2C;
  --invert-bg:#FFFFFF;--invert-ink:#0B0B0B;--invert-muted:#757472;--invert-em:#6E7A00;--invert-line:#E2E0DA;--invert-spark:rgba(110,122,0,.25);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;padding-block:0 72px}
h1,h2,h3,.disp{font-family:var(--font-display);font-weight:500;text-transform:uppercase;line-height:1.1;letter-spacing:-.05em;margin:0;text-wrap:balance}
h2{font-size:clamp(22px,2.6vw,30px)}
h3{font-size:17px;letter-spacing:-.03em}
p{margin:0}
a{color:inherit}
.kicker{font-family:var(--font-display);font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.1em;color:var(--muted)}
.num{font-family:var(--font-display);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.ico{display:inline-block;width:1em;height:1em;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;vertical-align:-.12em;flex:none}
.i1{--m:url("/images/seo-dash/i1.png")}.i2{--m:url("/images/seo-dash/i2.png")}.i3{--m:url("/images/seo-dash/i3.png")}.i4{--m:url("/images/seo-dash/i4.png")}.i5{--m:url("/images/seo-dash/i5.png")}.i6{--m:url("/images/seo-dash/i6.png")}.i7{--m:url("/images/seo-dash/i7.png")}.i8{--m:url("/images/seo-dash/i8.png")}
.wrap{width:100%;margin:0;padding-inline:clamp(16px,2.5vw,40px)}
.note{font-size:12.5px;color:var(--muted)}

/* header */
.chan-tags{display:inline-flex;gap:6px;margin-left:-6px}
.chan-tags span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:1px solid #3A3A38;border-radius:999px;padding:3px 9px;color:#C9C7C1}
.tag{display:inline-flex;align-items:center;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 8px;background:var(--surface-2);color:var(--ink-2);font-family:var(--font-display);font-weight:500}
.tag.ads{background:rgba(0,229,255,.22)}
.tag.seo{background:rgba(225,255,4,.45)}
.tag.meta{background:rgba(180,85,255,.28)}
.delta.better::before{background:var(--signal)}.delta.better::after{content:"↓";opacity:.6}
.delta.worse::before{background:var(--accent)}.delta.worse::after{content:"↑";opacity:.6}
.hero .delta.better::before{background:var(--invert-em)}
.split{display:flex;gap:14px;font-size:12.5px;color:var(--invert-muted)}
.split b{color:var(--invert-ink);font-weight:500}
.log.compact .log-row{grid-template-columns:48px 1fr auto;gap:10px}

.mkt{position:relative}
.mkt-btn{display:inline-flex;align-items:center;gap:9px;border:1px solid #3A3A38;border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:12.5px;padding:6px 13px 6px 11px;cursor:pointer}
.mkt-btn svg{width:15px;height:15px;opacity:.8}
.mkt-btn b{font-weight:500}
.mkt-btn .chev{opacity:.55;font-size:10px}
.mkt-btn[aria-expanded="true"],.mkt-btn:hover{background:#1F1F1D}
.mkt-pop{position:absolute;top:calc(100% + 10px);left:0;z-index:60;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:16px 18px;min-width:360px;box-shadow:0 14px 44px rgba(0,0,0,.28);display:grid;gap:14px}
.mkt-pop[hidden]{display:none}
.mkt-row{display:grid;gap:7px}
.mkt-row .chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:999px;font:inherit;font-size:12.5px;padding:6px 12px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.chip:disabled{opacity:.3;cursor:not-allowed}
.mkt-hint{font-size:12px;line-height:1.5;color:var(--muted);max-width:380px}
.mtag{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 8px;background:var(--surface-2);color:var(--ink-2);font-family:var(--font-display);font-weight:500;white-space:nowrap}
.did .top{flex-wrap:wrap;row-gap:6px}
.did .top .mtag{margin-left:auto;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.stat .split{display:flex;gap:14px;font-size:12.5px;color:var(--invert-muted);grid-column:1/-1}
.stat .split b{color:var(--invert-ink);font-weight:500}
.did article[hidden]{display:none!important}
.mk-empty{grid-column:1/-1;padding:28px 24px;color:var(--muted);background:var(--surface)}
table tr.dim td{opacity:.38}
table tr.hot td:first-child{box-shadow:inset 3px 0 0 var(--signal)}

.apphead{background:var(--ms-black);color:var(--ms-white)}
.apphead .wrap{display:flex;align-items:center;gap:22px;min-height:76px;flex-wrap:wrap;padding-block:14px}
.logo{height:30px;width:auto;fill:currentColor;display:block}
.sep{width:1px;height:32px;background:#3A3A38}
.mark-inline{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:500;text-transform:uppercase;letter-spacing:-.02em;font-size:14px}
.mark-inline .ico{font-size:18px}
.client{margin-left:auto;display:flex;align-items:center;gap:18px}
.client-logo{height:34px;width:auto;display:block}
.seg{display:inline-flex;border:1px solid #3A3A38;border-radius:999px;overflow:hidden}
.seg button{appearance:none;border:0;background:transparent;color:#C9C7C1;font:inherit;font-size:11.5px;padding:5px 11px;cursor:pointer}
.seg button[aria-pressed="true"]{background:#fff;color:#0B0B0B}
.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

main{display:grid;gap:64px;padding-top:40px}

/* 1. seis */
.hero{background:var(--invert-bg);color:var(--invert-ink);border-radius:var(--radius);padding:28px 30px 26px;display:grid;gap:26px}
.hero-top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:start}
.hero .kicker{color:var(--invert-muted)}
.hero h1{font-size:clamp(26px,3.4vw,44px);max-width:30ch;margin-top:8px}
.hero h1 em{font-style:normal;color:var(--invert-em)}
.hero .when{font-size:12.5px;color:var(--invert-muted);text-align:right;max-width:22ch}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:0;border-top:1px solid var(--invert-line)}
.stat{padding:20px 22px 0 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:6px 14px;border-right:1px solid var(--invert-line);margin-right:22px}
.stat:last-child{border-right:0;margin-right:0;padding-right:0}
.stat .kicker{grid-column:1/-1}
.stat .val{font-size:44px;line-height:1;color:var(--invert-ink)}
.stat svg{grid-row:2/4;align-self:end;width:110px;height:44px}
.stat .why{font-size:12.5px;color:var(--invert-muted)}
.delta{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:500;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}
.delta::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--chart-muted)}
.delta.up::before{background:var(--signal)}
.delta.down::before{background:var(--accent)}
.delta.up::after{content:"↑";opacity:.6}.delta.down::after{content:"↓";opacity:.6}
.hero .delta.up::before{background:var(--invert-em)}
.hero .why .delta{margin-right:6px}
.stat svg .fill{fill:var(--invert-spark)}
.stat svg .ln{stroke:var(--invert-ink)}
.stat svg .dot{fill:var(--invert-em)}

/* 2. sinult on vaja */
.need{border:1px solid var(--line);border-left:6px solid var(--accent);background:var(--surface);border-radius:var(--radius);padding:20px 24px;display:grid;gap:14px}
.need-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.need ol{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.need > ol > li{display:grid;grid-template-columns:1fr auto;gap:8px 18px;align-items:start;padding-top:12px;border-top:1px solid var(--line)}
.need > ol > li > div > b{font-weight:500;display:block}
.need > ol > li > div > span{font-size:13px;color:var(--muted)}
.btn{appearance:none;font:inherit;font-size:13.5px;border-radius:var(--radius);padding:10px 16px;cursor:pointer;border:1px solid var(--line-strong);background:var(--invert-bg);color:var(--invert-ink);display:inline-flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap}
.btn.secondary{background:transparent;color:var(--ink)}
.btn.signal{background:var(--ms-lime);color:#0B0B0B;border-color:var(--ms-lime)}
.btn.pink{background:var(--ms-pink);color:#fff;border-color:var(--ms-pink);font-weight:500}
.btn.pink:hover{background:#DB2B93;border-color:#DB2B93}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* 2a. vestlus agendiga */
.need > ol > li > .thread{grid-column:1/-1}
.thread{display:grid;gap:12px;margin-top:8px;padding:16px 18px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius)}
.msg{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start}
.msg .who{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-family:var(--font-display);font-weight:500;letter-spacing:0}
.msg.agent .who{background:var(--invert-bg);color:var(--invert-ink)}
.msg.agent .who .ico{font-size:15px}
.msg.me .who{background:var(--surface);border:1px solid var(--line-strong);color:var(--ink)}
.msg .b{display:grid;gap:6px;font-size:13.5px;line-height:1.5;color:var(--ink)}
.msg .b .m{font-size:11.5px;color:var(--muted)}
.msg .b ul{margin:0;padding-left:18px;list-style:disc}
.msg .b ul li{font-size:13.5px;padding:0;border:0;display:list-item}
.msg .b .att{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:5px 10px;width:max-content}
.msg .b .att::before{content:"";width:8px;height:8px;background:var(--signal);border-radius:2px}
.reply{display:grid;gap:8px;grid-template-columns:1fr;margin-left:42px}
.reply textarea{font:inherit;font-size:13.5px;line-height:1.5;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);min-height:84px;resize:vertical;width:100%}
.reply textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.reply-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.reply-bar .note{margin-left:auto}
.btn.small{padding:7px 12px;font-size:12.5px}
.file{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;border:1px dashed var(--line-strong);border-radius:var(--radius);padding:7px 12px;cursor:pointer;background:var(--surface);color:var(--ink)}
.file input{position:absolute;width:1px;height:1px;opacity:0}
.typing{font-size:12.5px;color:var(--muted);margin-left:42px}
.typing i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);margin-right:3px;animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{50%{opacity:.2}}
@media (prefers-reduced-motion:reduce){.typing i{animation:none}}
.need > ol > li.open > .btn{background:transparent;color:var(--ink);border-color:var(--line)}

/* seletused */
.hint{position:relative;text-decoration:none;border-bottom:1px dotted var(--muted);cursor:help;white-space:nowrap}
.hint::after{content:"?";display:inline-grid;place-items:center;width:13px;height:13px;border-radius:50%;border:1px solid var(--muted);color:var(--muted);font-size:9px;font-family:var(--font-display);font-weight:500;margin-left:4px;vertical-align:2px;line-height:1}
.hint:hover::after,.hint:focus-visible::after{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.hint .tip{position:fixed;left:0;top:0;z-index:50;width:max-content;max-width:300px;background:var(--invert-bg);color:var(--invert-ink);font-size:12.5px;line-height:1.45;padding:9px 11px;border-radius:var(--radius);white-space:normal;font-family:var(--font-body);font-weight:400;text-transform:none;letter-spacing:0;box-shadow:0 6px 20px rgba(0,0,0,.18);display:none;text-align:left}

/* klikitav ootab sind */
button.pill{font:inherit;cursor:pointer;color:var(--ink)}
button.pill:hover{border-color:var(--line-strong)}
/* konkurendid */
.cw td.best{background:rgba(225,255,4,.35)}
.cw td.worst{background:rgba(242,55,166,.14)}
.cw td.us{font-weight:600;background:var(--surface-2)}
.cw th.us{color:var(--ink)}
.cw .grp td{font-family:var(--font-display);font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:var(--ink);background:var(--surface-2);padding:8px 10px;border-bottom:0;border-radius:var(--radius)}
.cw th:last-child,.cw td:last-child{padding-right:14px}
.cw th{color:var(--muted);font-weight:400;text-transform:none;font-size:12.5px;letter-spacing:0;font-family:var(--font-body)}
.cw th.us{font-weight:600;color:var(--ink)}
.findings{display:grid;gap:10px;font-size:13.5px}
.findings div{display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:start}
.findings .sq{width:10px;height:10px;border-radius:2px;margin-top:6px;background:var(--signal)}
.findings .sq.bad{background:var(--accent)}

/* proto banner */
.proto{background:var(--surface-2);border-left:4px solid var(--ms-lime);font-size:12.5px;color:var(--muted)}
.proto .wrap{display:flex;align-items:center;gap:14px;padding-block:10px;flex-wrap:wrap}
.proto b{color:var(--ink);font-weight:600}
.proto .btn{margin-left:auto}
/* hero v2 */
.hero .stat{grid-template-columns:1fr;grid-template-rows:auto auto auto}
.hero .stat .val{font-size:44px}
.hero .foot{border-top:1px solid var(--invert-line);padding-top:14px;display:grid;gap:4px;font-size:12.5px;color:var(--invert-muted)}
.hero .foot b{color:var(--invert-ink);font-weight:500}
/* kvartali eesmärk */
.goal{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:20px 24px 22px;display:grid;grid-template-columns:auto minmax(200px,1fr) auto;gap:18px 40px;align-items:center}
.goal .head{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.goal .big{font-family:var(--font-display);font-weight:500;font-size:34px;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.goal .big small{font-size:14px;color:var(--muted);letter-spacing:0;display:block;margin-top:6px;font-family:var(--font-body);font-weight:400}
.goal .bar{height:8px;background:var(--bar-2);border-radius:2px;position:relative;overflow:hidden}
.goal .bar i{position:absolute;inset:0 auto 0 0;background:var(--signal)}
.goal .bar b{position:absolute;top:-3px;width:2px;height:14px;background:var(--ink)}
.goal .barwrap{display:grid;gap:6px;padding-inline:8px}
.goal .barlabels{position:relative;height:16px;font-size:11px;color:var(--muted)}
.goal .barlabels span{position:absolute;transform:translateX(-100%);white-space:nowrap}
.goal .pri b{display:block;font-weight:500;font-size:15px}
@media (max-width:760px){.goal{grid-template-columns:1fr}}
/* next: ei topeltjoont */
.next-item:first-of-type{border-top:0}
/* trendid */
.tog{display:flex;gap:6px;flex-wrap:wrap}
.tog button{appearance:none;font:inherit;font-size:12.5px;padding:5px 10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius);cursor:pointer}
.tog button[aria-pressed="true"]{background:var(--invert-bg);color:var(--invert-ink);border-color:var(--invert-bg)}
.tog button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.mini3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mini3 .val{font-size:30px;line-height:1}
.mini3 small{font-size:12px;color:var(--muted)}
.mini3 > div{display:grid;gap:4px;align-content:start}
.chartbox svg text{font-family:var(--font-body);font-size:12px;fill:var(--muted)}
.chartbox{position:relative}
.chartbox svg{width:100%;height:auto;display:block;overflow:visible}
.chartbox .pt{cursor:pointer}
.ctip{position:absolute;pointer-events:none;background:var(--invert-bg);color:var(--invert-ink);font-size:12px;line-height:1.4;padding:6px 9px;border-radius:var(--radius);white-space:nowrap;transform:translate(-50%,calc(-100% - 10px));display:none;z-index:5}
.ctip b{font-weight:600}
.kwlegend{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:14px;font-weight:500}
.kwlegend span{display:inline-flex;align-items:center;gap:8px}
.kwlegend i{width:14px;height:14px;border-radius:3px;display:inline-block}
.kwside{display:grid;gap:12px;align-content:start}
.kwside div{background:var(--surface-2);border-radius:var(--radius);padding:14px 16px;display:grid;gap:4px}
.kwside .val{font-size:26px;line-height:1}
.kwside small{font-size:12px;color:var(--muted)}
.kwgrid{display:grid;grid-template-columns:200px 1fr;gap:20px}
@media (max-width:760px){.kwgrid{grid-template-columns:1fr}}
/* pie */
.pie{display:grid;grid-template-columns:minmax(150px,33%) 1fr;gap:24px;align-items:center;position:relative}
.pie path,.stack .bar i{cursor:pointer;transition:opacity .15s}
.pie:hover path:not(:hover),.stack .bar:hover i:not(:hover){opacity:.45}
.pie .ctip,.stack .ctip{transform:translate(-50%,calc(-100% - 8px))}
.pie svg{width:100%;height:auto}
.pie ol{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13.5px}
.pie li{display:grid;grid-template-columns:12px 1fr auto auto;gap:10px;align-items:center}
.pie li i{width:12px;height:12px;border-radius:3px;display:inline-block}
.pie li .p{font-family:var(--font-display);font-weight:500;font-variant-numeric:tabular-nums;min-width:44px;text-align:right}
.pie li .n{color:var(--muted);font-variant-numeric:tabular-nums;min-width:50px;text-align:right}
@media (max-width:560px){.pie{grid-template-columns:1fr}}
/* stacked */
.stack{display:grid;gap:14px;position:relative}
.stack .bar{display:flex;height:22px;border-radius:var(--radius);overflow:hidden;gap:2px}
.stack .bar i{display:block;height:100%}
.stack ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 18px;font-size:13px}
.stack li{display:grid;grid-template-columns:10px 1fr;gap:8px;align-items:start}
.stack li i{width:10px;height:10px;border-radius:2px;margin-top:5px}
.stack li b{display:block;font-weight:500}
.stack li span{color:var(--muted);font-size:12px}
/* did CTA */

/* 2b. kohtumine */
.row2{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);gap:24px;align-items:stretch}
@media (max-width:860px){.row2{grid-template-columns:1fr}}
.meet{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius);padding:20px 24px;display:grid;gap:12px;align-content:start}
.meet-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.meet .big{font-family:var(--font-display);font-weight:500;text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(20px,2.2vw,26px);line-height:1.1}
.meet .big em{font-style:normal;color:var(--muted)}
.meet .line{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;font-size:13.5px}
.meet .line .kicker{color:var(--muted)}
.meet .extra{border-top:1px solid var(--line);padding-top:12px;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.meet .extra a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
/* periood */
.period{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);flex-wrap:wrap;margin-left:auto}
.select{appearance:none;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:12.5px;padding:6px 28px 6px 10px;border-radius:var(--radius);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 14px) 55%,calc(100% - 9px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.cmp{display:inline-flex;align-items:center;gap:6px}
.cmp input{accent-color:#0B0B0B}

/* 3. mida agent tegi */
.section-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--line-strong);padding-bottom:12px;margin-bottom:8px}
.section-head .ico{font-size:16px}
.section-head .note{margin-left:auto}
.did{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.did article{background:var(--surface);padding:22px 24px 20px;display:grid;grid-template-rows:auto auto 1fr auto;gap:16px;align-content:start;position:relative;min-height:250px;overflow:hidden;outline:none}
.did .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.did .top .ico{font-size:16px;color:var(--muted)}
.did .res{display:grid;gap:6px}
.did .res .num{font-size:40px;line-height:1;letter-spacing:-.05em;padding-bottom:10px;position:relative}
.did .res .num::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:4px;background:var(--signal)}
.did .res .lab{font-size:12.5px;color:var(--muted);line-height:1.4}
.did h3{font-size:15.5px;text-transform:none;letter-spacing:-.01em;font-family:var(--font-body);font-weight:500;line-height:1.35;align-self:start}
.did .foot{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:34px}
.did .foot .btn{white-space:normal;text-align:left;padding:8px 12px}
.did .foot .btn + .more{font-size:0;gap:0}
.did .more{flex:none}
.did .more{font-size:11.5px;color:var(--muted);display:inline-flex;align-items:center;gap:6px;margin-left:auto}
.did .more::before{content:"i";display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;border:1px solid var(--muted);font-size:9px;font-family:var(--font-display)}
.did .detail{position:absolute;left:0;right:0;bottom:0;background:var(--invert-bg);color:var(--invert-ink);padding:18px 24px 20px;font-size:13.5px;line-height:1.5;transform:translateY(100%);transition:transform .22s ease;pointer-events:none}
.did .detail p{color:inherit;margin:0}
.did article:hover .detail,.did article:focus .detail,.did article:focus-within .detail{transform:translateY(0)}
@media (prefers-reduced-motion:reduce){.did .detail{transition:none}}
.next{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}
.next-item{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:16px 0;border-top:1px solid var(--line)}
.next-item .ico{font-size:14px;margin-top:5px;color:var(--muted)}
.next-item b{font-weight:500;display:block}
.next-item span{font-size:13px;color:var(--muted)}
.two{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:40px}
@media (max-width:760px){.two{grid-template-columns:1fr}}

/* 4. vaata lähemalt */
details{border-top:1px solid var(--line)}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto 28px;grid-template-rows:auto auto;gap:4px 20px;align-items:center;padding:18px 0}
summary::-webkit-details-marker{display:none}
summary h3{font-size:19px;grid-column:1;grid-row:1}
summary .lead{font-size:13.5px;color:var(--muted);grid-column:1;grid-row:2;max-width:80ch}
summary .chev{width:28px;height:28px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;font-size:14px;grid-column:3;grid-row:1/3;transition:transform .2s}
details[open] summary .chev{transform:rotate(45deg)}
summary .src{font-size:11.5px;color:var(--muted);grid-row:1/3;grid-column:2;text-align:right;max-width:26ch}
summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.body{padding:6px 0 36px;display:grid;gap:28px}
.body.ai2{grid-template-columns:minmax(0,3fr) minmax(300px,2fr)}
@media (max-width:1000px){.body.ai2{grid-template-columns:1fr}}
.ai2 table td:first-child{white-space:nowrap}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:28px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px}
.card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:22px 24px;display:grid;gap:14px;align-content:start}
.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.card-head .src{font-size:11.5px;color:var(--muted)}
.card h3{font-size:15px}
.card svg{width:100%;height:auto;display:block}
.card svg text{font-family:var(--font-body);font-size:11px;fill:var(--muted)}
.legend{display:flex;gap:14px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.tbl-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th{text-align:left;font-family:var(--font-display);font-weight:500;text-transform:uppercase;font-size:10.5px;letter-spacing:.1em;color:var(--muted);padding:8px;border-bottom:1px solid var(--line-strong);white-space:nowrap}
td{padding:9px 8px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;vertical-align:middle}
th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}
tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right}
td .pos{font-family:var(--font-display);font-weight:500;font-size:14.5px}
td .pos.top{background:var(--signal);color:var(--on-signal);padding:1px 6px;border-radius:2px}
td.dim{color:var(--muted)}
.check{display:inline-block;width:14px;height:14px;border-radius:2px;background:var(--signal);vertical-align:-2px}
.check.no{background:var(--accent)}.check.na{background:var(--bar-2)}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.kpi{background:var(--surface);padding:14px 20px;display:grid;gap:6px;align-content:start}
.kpis .kpi:nth-child(odd){padding-left:0}
.kpis .kpi:nth-child(even){padding-right:0}
.kpi .val{font-size:26px;line-height:1}
.kpi .sub{font-size:12px;color:var(--muted)}
.cwv{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cwv div{display:grid;gap:6px}
.cwv .val{font-size:28px;line-height:1}
.cwv .bar{height:6px;background:var(--bar-2);border-radius:2px;position:relative}
.cwv .bar i{position:absolute;inset:0 auto 0 0;background:var(--signal);border-radius:2px}
.cwv .bar i.bad{background:var(--accent)}
.cwv small{font-size:11.5px;color:var(--muted)}
.pill{display:inline-flex;align-items:center;gap:7px;font-size:12px;border:1px solid var(--line);border-radius:999px;padding:2px 10px 2px 8px;background:var(--surface);white-space:nowrap}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--chart-muted)}
.pill.done::before{background:var(--signal)}.pill.run::before{background:var(--ink)}.pill.wait::before{background:var(--accent)}
.log{display:grid}
.log-row{display:grid;grid-template-columns:104px 1fr auto;gap:16px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.log-row:last-child{border-bottom:0}
.log-row time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.log-row .t{font-weight:500}
.log-row .d{font-size:12.5px;color:var(--muted);margin-top:1px}
.month{font-family:var(--font-display);font-weight:500;text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:var(--muted);padding:14px 0 4px}

footer{border-top:1px solid var(--line-strong);padding-top:24px;display:grid;grid-template-columns:1fr;gap:20px;align-items:center}
footer .logo{height:28px;color:var(--ink)}
footer .l{display:grid;gap:12px;font-size:13px;color:var(--muted)}
footer .l b{font-weight:500;color:var(--ink)}
@media (max-width:640px){
  summary{grid-template-columns:minmax(0,1fr) 28px}
  footer{grid-template-columns:1fr}
  .stat{border-right:0;margin-right:0;padding-right:0;border-bottom:1px solid var(--invert-line);padding-bottom:16px}
  .log-row{grid-template-columns:1fr;gap:4px}
  summary .src{display:none}
  summary .chev{grid-column:2}
  .hero .when{text-align:left}
}
.did .detail{top:auto;bottom:62px;left:12px;right:12px;border-radius:var(--radius);padding:14px 16px;transform:translateY(8px);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;box-shadow:0 10px 28px rgba(0,0,0,.28);z-index:2}
.did article:hover .detail,.did article:focus .detail,.did article:focus-within .detail{transform:translateY(0);opacity:1}
.did .foot{position:relative;z-index:3}

/* ---- AI osakond ---- */
.tabbar{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line-strong)}
.tabbar .wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-block:10px}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1 1 auto;min-width:0}
.tabs::-webkit-scrollbar{display:none}
.tabs button{appearance:none;border:1px solid transparent;background:transparent;color:var(--ink-2);font:inherit;font-size:13.5px;padding:8px 14px;border-radius:999px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.tabs button i.dot{width:8px;height:8px;border-radius:50%;background:var(--chart-muted)}
.tabs button:hover{border-color:var(--line)}
.tabs button[aria-selected="true"]{background:var(--invert-bg);color:var(--invert-ink)}
.tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.dot.seo{background:#C8E600!important}.dot.ads{background:#00B8CC!important}.dot.meta{background:#B455FF!important}.dot.soc{background:#F237A6!important}.dot.all{background:var(--ink)!important}
.tabbar .period{margin-left:auto}
.tabpanel{display:grid;gap:64px;min-width:0}
.tabpanel > *,.grid2 > *,.card{min-width:0}
.mini3{grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr))}
.tabpanel[hidden]{display:none}
.tag.soc{background:rgba(242,55,166,.22)}
.stat .split{flex-wrap:wrap;row-gap:4px}
/* eesmärgid */
.subgoals{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1px;background:var(--line);border-top:1px solid var(--line);margin-top:4px}
.subgoals > div{background:var(--surface);padding:16px 18px 4px 0;display:grid;gap:8px;align-content:start}
.subgoals > div + div{padding-left:18px}
.subgoals .v{font-family:var(--font-display);font-weight:500;font-size:22px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.subgoals .l{font-size:12.5px;color:var(--muted)}
.subgoals .mbar{height:6px;background:var(--bar-2);border-radius:2px;position:relative;overflow:hidden}
.subgoals .mbar i{position:absolute;inset:0 auto 0 0;background:var(--signal)}
/* kanalikaardid */
.chans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.chan{background:var(--surface);padding:20px 22px;display:grid;gap:10px;align-content:start}
.chan .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.chan .big{font-family:var(--font-display);font-weight:500;font-size:38px;line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.chan .lab{font-size:12.5px;color:var(--muted)}
.chan svg{width:100%;height:38px;display:block}
.chan .st{font-size:13px;line-height:1.45;border-top:1px solid var(--line);padding-top:10px}
.chan .go{font-size:12.5px;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;background:none;border:0;font-family:inherit;padding:0}
/* kasvujuht */
.lead-note{border:1px solid var(--line);border-left:6px solid var(--ms-lime);background:var(--surface);border-radius:var(--radius);padding:20px 24px;display:grid;gap:14px;align-content:start}
.lead-note .who{display:flex;gap:12px;align-items:center}
.lead-note .av{width:42px;height:42px;border-radius:50%;background:var(--invert-bg);color:var(--invert-ink);display:grid;place-items:center;font-family:var(--font-display);font-weight:500;font-size:14px}
.lead-note .who b{display:block;font-weight:500}
.lead-note .who span{font-size:12.5px;color:var(--muted)}
.lead-note p{font-size:15px;line-height:1.55;margin:0}
.lead-note .sig{font-size:12.5px;color:var(--muted)}
/* kanali päis */
.chan-hero{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:22px 24px;display:grid;gap:18px}
.chan-hero .sum{font-family:var(--font-display);font-weight:500;text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(20px,2.3vw,28px);line-height:1.1;max-width:40ch}
.chan-hero .sum em{font-style:normal;background:var(--signal);color:var(--on-signal);padding:0 4px}
.kpis4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:1px;background:var(--line);border-top:1px solid var(--line)}
.kpis4 > div{background:var(--surface);padding:14px 18px 0 0;display:grid;gap:6px;align-content:start}
.kpis4 > div + div{padding-left:18px}
.kpis4 .val{font-size:30px;line-height:1}
.kpis4 small{font-size:12px;color:var(--muted)}
/* sotsiaalmeedia */
.plan{display:grid}
.plan-row{display:grid;grid-template-columns:130px 118px minmax(0,1fr) auto 86px;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.plan-row:last-child{border-bottom:0}
.plan-row time{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.plan-row .t{font-weight:500}
.plan-row .d{font-size:12.5px;color:var(--muted);margin-top:1px}
.plan-row.paused .t{text-decoration:line-through;color:var(--muted)}
.chs{display:flex;gap:4px;flex-wrap:wrap}
.ch{font-size:10.5px;letter-spacing:.04em;border:1px solid var(--line);border-radius:4px;padding:1px 6px;color:var(--ink-2);font-family:var(--font-display);font-weight:500}
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}
.rules h4{font-size:12px;font-family:var(--font-display);font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}
.rules ul{margin:0;padding-left:18px;font-size:13.5px;line-height:1.6}
.posts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:900px){.posts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.post{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);display:grid;grid-template-columns:minmax(0,1fr)}
.post .thumb{aspect-ratio:4/5;box-sizing:border-box;min-width:0;gap:6px;display:flex;align-items:flex-end;justify-content:space-between;padding:10px;font-size:11px;font-family:var(--font-display);font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:#0B0B0B}
.post .thumb span{background:rgba(255,255,255,.85);border-radius:4px;padding:2px 6px}
.th1{background:linear-gradient(160deg,#E1FF04 0%,#9BE300 55%,#0B0B0B 140%)}
.th2{background:linear-gradient(160deg,#F237A6 0%,#FFB3DD 70%)}
.th3{background:linear-gradient(160deg,#00E5FF 0%,#B455FF 120%)}
.th4{background:linear-gradient(160deg,#EFEEEA 0%,#B9B7B1 100%)}
.post .b{padding:14px 16px;display:grid;gap:8px}
.post .b b{font-weight:500;font-size:14px;line-height:1.35}
.post .m{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;font-size:11.5px;color:var(--muted)}
.post .m strong{display:block;font-family:var(--font-display);font-weight:500;font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums}
.badge{justify-self:start;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-display);font-weight:500;background:rgba(180,85,255,.28);color:var(--ink);border-radius:999px;padding:2px 8px}
.subgoals .tag,.chan .tag{justify-self:start}
.plan-row{grid-template-columns:110px 130px minmax(0,1fr) auto auto}
.plan-row .acts{display:flex;gap:6px;justify-content:flex-end}
.adplan .plan-row{grid-template-columns:110px 150px minmax(0,1fr) auto auto}
.adplan .plan-wk:first-child{padding-top:4px}
.plan-wk{font-family:var(--font-display);font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.1em;color:var(--muted);padding:18px 0 6px;border-bottom:1px solid var(--line-strong)}
.plan-wk:first-child{padding-top:4px}
.plan-ctl{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.seg2{display:inline-flex;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden}
.seg2 button{appearance:none;border:0;background:transparent;color:var(--ink);font:inherit;font-size:12.5px;padding:6px 12px;cursor:pointer}
.seg2 button[aria-pressed="true"]{background:var(--invert-bg);color:var(--invert-ink)}
.ubadge{display:inline-block;margin-left:8px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-display);font-weight:500;background:var(--ms-lime);color:#0B0B0B;border-radius:999px;padding:1px 7px;vertical-align:2px}
.plan-row[hidden],.plan-wk[hidden]{display:none}
.plan-row.flash{animation:flash 2.4s ease-out}
@keyframes flash{0%{background:rgba(225,255,4,.6)}100%{background:transparent}}
.plan-row .d .go{font-size:12.5px}
.pedit{grid-column:1/-1;display:grid;gap:8px;background:var(--surface-2);border-radius:var(--radius);padding:14px 16px;margin-top:4px}
.pedit[hidden]{display:none}
.pedit textarea{font:inherit;font-size:13.5px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);min-height:64px;resize:vertical;width:100%;box-sizing:border-box}
.qchips{display:flex;gap:6px;flex-wrap:wrap}
.pbar2{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.areply{font-size:13.5px;line-height:1.5;border-left:3px solid var(--signal);padding:6px 0 6px 12px}
.pv{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:18px}
.pv .media{aspect-ratio:4/5;border-radius:var(--radius);position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:10px;font-size:11px;font-family:var(--font-display);font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:#0B0B0B}
.pv .media span{background:rgba(255,255,255,.85);border-radius:4px;padding:2px 6px}
.pv .media .play{position:absolute;inset:0;margin:auto;width:54px;height:54px;border-radius:50%;background:rgba(11,11,11,.75);display:grid;place-items:center;color:#fff;font-size:18px;padding:0}
.pv .capt{font-size:14px;line-height:1.55;white-space:pre-line;margin:0}
.captabs{display:flex;gap:4px;flex-wrap:wrap}
.captabs[hidden]{display:none}
.captabs button{appearance:none;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:inherit;font-size:12px;border-radius:999px;padding:3px 10px;cursor:pointer}
.captabs button[aria-selected="true"]{background:var(--invert-bg);color:var(--invert-ink);border-color:var(--invert-bg)}
.capdiff{appearance:none;display:inline-block;margin-top:4px;font:inherit;font-size:11.5px;color:var(--ink);background:transparent;border:1px dashed var(--line-strong);border-radius:999px;padding:1px 9px;cursor:pointer}
.capdiff:hover{background:var(--surface-2)}
.htag{color:#0B7EA3;font-weight:500}
[data-theme="dark"] .htag{color:#00E5FF}
.chl{font-family:var(--font-display);font-weight:500;font-size:10.5px;letter-spacing:.06em;border:1px solid var(--line);border-radius:4px;padding:0 5px;margin-right:4px;color:var(--ink-2)}
.capblocks{display:grid;gap:10px}
.capblocks[hidden]{display:none}
.capblk{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:6px}
.capblk:first-child{border-top:0;padding-top:0}
.caphead2{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.caphead2 .note{margin-right:auto}
.chn{font-family:var(--font-display);font-weight:500;font-size:11px;letter-spacing:.06em;background:var(--invert-bg);color:var(--invert-ink);border-radius:4px;padding:2px 7px}
#pm-samewrap[hidden]{display:none}
.capbox{display:grid;gap:6px;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}
.caphead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.caphead .go{white-space:nowrap;flex:none}
.capedit{display:grid;gap:8px}
.capedit[hidden]{display:none}
.capedit textarea{font:inherit;font-size:14px;line-height:1.5;padding:9px 11px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface);color:var(--ink);width:100%;box-sizing:border-box;resize:vertical}
.capbar{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.capbar .note{margin-right:auto}
.capline{margin:4px 0 0;font-size:12.5px;line-height:1.45;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:72ch}
.pv .meta{font-size:12.5px;color:var(--muted);display:grid;gap:4px}
.pv .ver{font-size:12.5px;border-left:3px solid var(--signal);padding-left:10px}
@media (max-width:600px){.pv{grid-template-columns:1fr}.pv .media{max-width:240px}}
.kwlegend2{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}
.kwlegend2 span{display:inline-flex;align-items:center;gap:7px}
.kwlegend2 i{width:14px;height:4px;border-radius:2px}
@media (max-width:760px){.kpis4 > div,.kpis4 > div + div,.subgoals > div + div{padding-left:0}.plan-row{grid-template-columns:1fr auto;gap:6px 12px}.plan-row .acts{grid-column:1/-1;justify-content:flex-start}.plan-row time,.plan-row .chs{grid-column:1/-1}.tabbar .period{margin-left:0}}

/* ---- turundusplaan ---- */
.dot.plan{background:var(--ms-lime)!important;box-shadow:0 0 0 1px var(--ink)}
.go{font-size:12.5px;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;background:none;border:0;font-family:inherit;padding:0;display:inline-block}
.plan-hero{background:var(--invert-bg);color:var(--invert-ink);border-radius:var(--radius);padding:28px 30px;display:grid;gap:18px}
.plan-hero .kicker{color:var(--invert-muted)}
.plan-hero h2{font-size:clamp(24px,3vw,40px);max-width:32ch;line-height:1.05}
.plan-hero h2 em{font-style:normal;color:var(--invert-em)}
.plan-hero .goal-txt{font-size:15px;line-height:1.6;max-width:92ch;color:var(--invert-ink)}
.plan-hero .goal-txt b{font-weight:500;color:var(--invert-em)}
.plan-hero .assume{font-size:12.5px;color:var(--invert-muted);border-top:1px solid var(--invert-line);padding-top:14px}
.plan-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.plan-actions .btn.ghost{background:transparent;color:var(--invert-ink);border-color:var(--invert-line)}
.plan-actions .srcchip{font-size:12px;color:var(--invert-muted);margin-left:auto}
.plan-edit-bar{display:none;position:sticky;top:64px;z-index:30;background:var(--ms-lime);color:#0B0B0B;border-radius:var(--radius);padding:12px 18px;align-items:center;gap:14px;flex-wrap:wrap;font-size:13.5px}
.plan-edit .plan-edit-bar{display:flex}
.plan-edit-bar .btn{background:#0B0B0B;color:#fff;border-color:#0B0B0B}
.plan-edit-bar .btn.secondary{background:transparent;color:#0B0B0B}
.plan-edit-bar span{margin-right:auto}
.plan-edit [data-edit]{outline:1px dashed var(--accent);outline-offset:3px;border-radius:2px;background:rgba(242,55,166,.06);cursor:text}
.plan-edit [data-edit]:focus{outline:2px solid var(--accent)}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
.kpi-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:16px 18px 14px;display:grid;gap:10px;align-content:start;position:relative;min-width:0}
.kpi-card.dragging{opacity:.35}
.kpi-card.drop-before{box-shadow:-4px 0 0 var(--accent)}
.kpi-card.drop-after{box-shadow:4px 0 0 var(--accent)}
.kpi-card header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start}
.kpi-card h4{font-size:14px;font-weight:500;margin:0;line-height:1.3}
.kpi-card .src{font-size:11.5px;color:var(--muted);display:block;margin-top:2px}
.drag{appearance:none;border:1px solid transparent;background:transparent;color:var(--muted);cursor:grab;font-size:14px;line-height:1;padding:4px 3px;border-radius:4px;touch-action:none;letter-spacing:-2px}
.drag:hover,.drag:focus-visible{border-color:var(--line);color:var(--ink)}
.drag:active{cursor:grabbing}
.kv{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.kv .cur{font-family:var(--font-display);font-weight:500;font-size:34px;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.kv .cur small{font-size:18px;opacity:.45}
.kv{align-items:flex-end;gap:18px}
.kv .tg{display:grid;gap:3px;border-left:1px solid var(--line-strong);padding-left:14px}
.kv .tg .k{font-family:var(--font-display);font-weight:500;text-transform:uppercase;font-size:10.5px;letter-spacing:.1em;color:var(--muted)}
.kv .tg b{font-family:var(--font-display);font-weight:500;font-size:22px;letter-spacing:-.04em;line-height:1;color:var(--ink-2);font-variant-numeric:tabular-nums}
.nchips{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px 0}
.nchip{border-radius:var(--radius);padding:10px 12px;display:grid;gap:2px;background:var(--surface-2)}
.nchip b{font-family:var(--font-display);font-weight:500;font-size:22px;letter-spacing:-.03em;line-height:1.1}
.nchip span{font-size:12px;color:var(--ink-2)}
.nchip.good{background:var(--signal);color:var(--on-signal)}.nchip.good span{color:var(--on-signal);opacity:.8}
.nchip.bad{background:rgba(242,55,166,.18)}
.nchip.gap{background:transparent;border:1.5px dashed var(--line-strong)}
.mini-track{height:6px;background:var(--bar-2);border-radius:3px;position:relative;margin-top:6px}
.mini-track i{position:absolute;inset:0 auto 0 0;background:var(--ink);border-radius:3px}
.kv input{width:88px;font:inherit;font-size:13px;padding:3px 6px;border:1px solid var(--accent);border-radius:4px;background:var(--surface);color:var(--ink)}
.viz svg{width:100%;height:auto;display:block;overflow:visible}
.viz svg text{font-family:var(--font-body);font-size:10.5px;fill:var(--muted)}
.viz .pbar{display:grid;gap:8px;padding:10px 0 4px}
.viz .pbar .track{height:14px;background:var(--bar-2);border-radius:3px;position:relative;overflow:visible}
.viz .pbar .fill{position:absolute;inset:0 auto 0 0;background:var(--signal);border-radius:3px}
.viz .pbar .exp{position:absolute;top:-4px;bottom:-4px;width:0;border-left:2px dashed var(--ink)}
.viz .pbar .lbl{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted)}
.viz .bignum{display:grid;gap:4px;padding:6px 0}
.viz .bignum .dots{display:flex;gap:6px}
.viz .bignum .dots i{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--ink)}
.viz .bignum .dots i.on{background:var(--signal);border-color:var(--signal)}
.viz .bignum .dots i.tg{border-style:dashed;border-color:var(--accent)}
.kpi-card footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:10px;font-size:12px;color:var(--muted)}
.kpi-card footer select{font:inherit;font-size:12px;padding:3px 6px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink)}
.pill.ok::before{background:var(--signal)}.pill.behind::before{background:var(--accent)}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}
.pillar{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:18px 20px;display:grid;gap:10px;align-content:start}
.pillar .row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.pillar p{margin:0;font-size:13.5px;line-height:1.55}
.pillar dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:12.5px;border-top:1px solid var(--line);padding-top:10px}
.pillar dt{color:var(--muted)}.pillar dd{margin:0}
.gantt{display:grid;grid-template-columns:150px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.gantt .gh,.gantt .gl{padding:10px 14px;font-size:12.5px;border-bottom:1px solid var(--line)}
.gantt .gl{font-weight:500;display:flex;align-items:center;gap:8px}
.gantt .gmonths{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line-strong)}
.gantt .gmonths span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 8px;border-left:1px solid var(--line)}
.gantt .glane{position:relative;border-bottom:1px solid var(--line);min-height:46px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100%/6 - 1px),var(--line) calc(100%/6 - 1px),var(--line) calc(100%/6))}
.gantt .gbar{position:absolute;height:22px;border-radius:4px;font-size:11.5px;line-height:22px;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#0B0B0B;cursor:default}
.gantt .gbar.done{opacity:.55}
.gantt .gms{position:absolute;top:14px;width:14px;height:14px;transform:translateX(-7px) rotate(45deg);background:var(--ink);border:2px solid var(--surface)}
.gantt .gms.met{background:var(--signal)}
.gantt .now{position:absolute;top:0;bottom:0;width:0;border-left:2px solid var(--accent);z-index:2;pointer-events:none}
.gantt .now span{position:absolute;top:2px;left:4px;font-size:10.5px;color:var(--accent);white-space:nowrap;font-weight:500}
#budget svg{max-width:560px;margin:0 auto}
.tabpanel section,.tabpanel .card{scroll-margin-top:84px}
.kv input{width:88px}.kv .tg-in::before{content:'siht'}
.gantt-scroll{overflow-x:auto}
.gantt-scroll .gantt{min-width:820px}
.gantt .gcell{position:relative}
.ms-list{display:grid}
.ms-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.ms-row:last-child{border-bottom:0}
.ms-row time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.pill.star::before{background:var(--ms-lime);box-shadow:0 0 0 1px var(--ink)}
.hist{display:grid}
.hist-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.hist-row:last-child{border-bottom:0}
.hist-row .v{font-family:var(--font-display);font-weight:500;font-size:15px}
.hist-row .v small{display:block;font-family:var(--font-body);font-weight:400;font-size:11.5px;color:var(--muted);margin-top:2px}
.hist-row .who{font-size:13px}
.hist-row .who .role{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-display);font-weight:500;border-radius:999px;padding:1px 7px;margin-left:6px;background:var(--surface-2);color:var(--ink-2)}
.hist-row .who .role.cl{background:rgba(242,55,166,.22)}
.hist-row .why{font-size:13px;color:var(--ink-2);margin:4px 0 6px;font-style:italic}
.hist-row ul{margin:0;padding-left:16px;font-size:12.5px;line-height:1.6}
.hist-row ul s{color:var(--muted)}
.hist-row.new{animation:flash 2.2s ease-out}
@keyframes flash{0%{background:rgba(225,255,4,.55)}100%{background:transparent}}
.flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.flow > div{background:var(--surface);padding:14px 16px;display:grid;gap:4px;align-content:start;font-size:12.5px;color:var(--muted)}
.flow b{font-family:var(--font-display);font-weight:500;font-size:13px;color:var(--ink)}
.flow .n{font-family:var(--font-display);font-weight:500;font-size:22px;color:var(--ink);letter-spacing:-.03em}
.dl{color:inherit;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.plan-actions .srcchip .dl{color:var(--invert-ink)}
.flow .dl{color:var(--ink);margin-top:4px;font-size:12.5px}
.import-st{font-size:12.5px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.modal{position:fixed;inset:0;background:rgba(11,11,11,.55);z-index:90;display:grid;place-items:center;padding:16px}
.modal[hidden]{display:none}
.dlg{background:var(--surface);color:var(--ink);border-radius:14px;padding:22px 24px;max-width:540px;width:100%;display:grid;gap:14px;max-height:calc(100vh - 32px);overflow:auto}
.dlg h3{font-size:18px;margin:0}
.dlg ul{margin:0;padding-left:18px;font-size:13.5px;line-height:1.6}
.dlg ul s{color:var(--muted)}
.dlg textarea{font:inherit;font-size:13.5px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);min-height:84px;resize:vertical;width:100%;box-sizing:border-box}
.dlg .acts{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.dlg .btn:disabled{opacity:.4;cursor:not-allowed}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--invert-bg);color:var(--invert-ink);padding:12px 18px;border-radius:var(--radius);font-size:13.5px;z-index:95;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:calc(100vw - 32px)}
.toast[hidden]{display:none}
.ev-list{display:grid}
.ev-row{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.ev-row time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px}
.ev-row b{font-weight:500;display:block}
.ev-row span{font-size:12.5px;color:var(--muted)}
.ev-row.new{animation:flash 2.2s ease-out}
.steps{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}
.steps i{font-style:normal;font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.pill-btn{cursor:pointer;font:inherit;font-size:12px}
.pill-btn:hover{background:var(--surface-2)}
.steps i.on{background:var(--signal);border-color:var(--signal);color:var(--on-signal)}
.etag{display:inline-block;margin-left:6px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-display);font-weight:500;background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:1px 7px;vertical-align:2px}
.more-f{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}
.more-f summary{cursor:pointer;font-size:13px;color:var(--ink);list-style:none;display:block;padding:0;grid-template-columns:none}
.more-f summary::-webkit-details-marker{display:none}
.more-f summary::before{content:'+ ';}
.more-f[open] summary::before{content:'– ';}
.ev-form{display:grid;gap:8px;background:var(--surface-2);border-radius:var(--radius);padding:12px 14px}
.ev-f{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ev-form label,.fl{display:grid;gap:4px;font-size:12px;color:var(--muted);border:0;padding:0;margin:0}
.fl legend{font-size:12px;color:var(--muted);padding:0;margin-bottom:4px}
.ev-form input,.dlg input[type=text],.dlg input[type=date],.dlg input[type=number]{font:inherit;font-size:13.5px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink)}
.chk{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:4px 10px;cursor:pointer}
.section-head .btn{margin-left:8px}
@media (max-width:760px){.ev-row{grid-template-columns:1fr}.ev-f{grid-template-columns:1fr}}
/* ---- juhend ---- */
.help-btn{appearance:none;display:inline-flex;align-items:center;gap:7px;border:1px solid #3A3A38;background:transparent;color:#fff;font:inherit;font-size:12.5px;font-weight:600;border-radius:999px;padding:5px 12px;cursor:pointer;white-space:nowrap;line-height:1}
.help-btn span{font-weight:400}
.help-btn:hover{background:#1F1F1D}
.hq{appearance:none;width:20px;height:20px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;color:var(--ink);font:inherit;font-size:11px;font-weight:600;cursor:pointer;display:inline-grid;place-items:center;margin-left:8px;vertical-align:4px;padding:0;line-height:1}
.hq:hover,.hq:focus-visible{background:var(--ms-lime);border-color:var(--ms-lime);color:#0B0B0B}
.hero .hq,.plan-hero .hq{border-color:var(--invert-line);color:var(--invert-ink)}
.hq-demo{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--line-strong);font-size:11px;font-weight:600}
.welcome{border:1px solid var(--line-strong);border-left:6px solid var(--ms-lime);background:var(--surface);border-radius:var(--radius);padding:20px 24px;display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2fr) auto;gap:14px 28px;align-items:center}
.welcome[hidden]{display:none}
.welcome h2{font-size:20px;margin-top:4px}
.welcome ol{margin:0;padding-left:18px;font-size:13.5px;line-height:1.6;display:grid;gap:4px}
.welcome ol b{font-weight:500}
.wel-acts{display:grid;gap:8px}
.help{position:fixed;top:0;right:0;bottom:0;z-index:88;width:min(520px,100vw);background:var(--surface);color:var(--ink);border-left:1px solid var(--line-strong);box-shadow:-20px 0 60px rgba(0,0,0,.25);display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}
.help[hidden]{display:none}
.help header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--invert-bg);color:var(--invert-ink)}
.help header .kicker{color:var(--invert-muted);display:block}
.help header b{font-weight:500;font-size:15px}
.help header button{margin-left:auto;appearance:none;border:1px solid var(--invert-line);background:transparent;color:var(--invert-ink);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:17px}
.help-search{padding:12px 20px 0}
.help-search input{width:100%;box-sizing:border-box;font:inherit;font-size:13.5px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink)}
.help-toc{display:flex;gap:6px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--line)}
.help-toc button{appearance:none;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:inherit;font-size:12px;border-radius:999px;padding:4px 10px;cursor:pointer}
.help-toc button[aria-current="true"]{background:var(--invert-bg);color:var(--invert-ink);border-color:var(--invert-bg)}
.help-body{overflow-y:auto;padding:4px 20px 24px;display:grid;gap:4px;align-content:start}
.hs{padding:16px 0;border-bottom:1px solid var(--line);scroll-margin-top:8px}
.hs[hidden]{display:none}
.hs h3{font-size:16px;margin:0 0 8px}
.hs p,.hs li,.hs dd{font-size:13.5px;line-height:1.6}
.hs p{margin:0 0 8px}
.hs ul,.hs ol{margin:0 0 8px;padding-left:18px;display:grid;gap:4px}
.hs b{font-weight:500}
.hs.flash{animation:flash 2s ease-out}
.hs mark{background:var(--ms-lime);color:#0B0B0B}
.ht{font-size:13px}
.ht td{vertical-align:top}
.faq{margin:0}
.faq dt{font-weight:500;font-size:13.5px;margin-top:10px}
.faq dd{margin:2px 0 0;color:var(--ink-2)}
@media (max-width:900px){.welcome{grid-template-columns:1fr}.help-btn span{display:none}.help-btn{padding:4px 10px}}
/* ---- bränd ---- */
.dot.brand{background:#C06C4B!important}
.tabprog{font-size:10.5px;border:1px solid currentColor;border-radius:999px;padding:0 6px;opacity:.75}
.bhero{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:24px;background:var(--invert-bg);color:var(--invert-ink);border-radius:var(--radius);padding:28px 30px}
.bhero .kicker{color:var(--invert-muted)}
.bhero h2{font-size:clamp(22px,2.6vw,34px);margin:8px 0 10px;max-width:28ch;line-height:1.05}
.bhero p{margin:0 0 16px;color:var(--invert-muted);font-size:14px}
.bprog{display:flex;align-items:center;gap:12px}
.bprog .bar{flex:1;height:8px;background:var(--invert-line);border-radius:3px;overflow:hidden}
.bprog .bar i{display:block;height:100%;background:var(--ms-lime);transition:width .3s}
.bprog span{font-size:13px;white-space:nowrap}
.bgate{margin-top:10px;font-size:13px;padding:8px 12px;border-radius:6px;border:1px solid}
.bgate.ok{border-color:var(--ms-lime);color:var(--ms-lime)}
.bgate.wait{border-color:var(--ms-pink);color:var(--ms-pink)}
.bgate-note{margin:0;padding:12px 14px;border:1px solid var(--ms-pink);border-left-width:4px;border-radius:6px;font-size:13.5px;line-height:1.5;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.bgate-note[hidden]{display:none}
.bgate-note b{color:var(--ms-pink)}
.bimport{border:1px dashed var(--invert-line);border-radius:var(--radius);padding:16px;display:grid;gap:8px;align-content:start;font-size:13px}
.bimport b{font-weight:500}
.bimport span{color:var(--invert-muted)}
.bimport .file{color:var(--ink);justify-self:start}
.bimport .note{color:var(--ms-lime)}
.bgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.bcol{display:grid;gap:16px;min-width:0}
.bsec{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:18px 22px;display:grid;gap:14px;scroll-margin-top:84px}
.bhead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}
.bhead h3{font-size:16px;margin:0}
.bnum{width:30px;height:30px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-family:var(--font-display);font-weight:500}
.bsec[data-done="1"] .bnum{background:var(--signal);color:var(--on-signal)}
.bbody{display:grid;gap:12px}
.bfoot{display:flex;justify-content:flex-end;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:10px}
.bfoot .note{margin-right:auto}
.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px}
.logo-tile{border:1px solid var(--line);border-radius:var(--radius);padding:18px 14px 10px;display:grid;gap:8px;justify-items:center;font-size:11.5px;color:var(--muted);min-height:92px;align-content:center}
.logo-tile svg{width:80%;height:auto;max-height:44px}
.logo-tile.light{background:#fff;color:#3B2F2A}.logo-tile.light span{color:#757472}
.logo-tile.dark{background:#1C1714;color:#fff}.logo-tile.dark span{color:#B9B7B1}
.logo-tile.add{border-style:dashed;cursor:pointer;color:var(--ink)}
.logo-tile.add b{font-weight:500}
.swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px}
.sw{border:1px solid var(--line);border-radius:var(--radius);padding:10px;display:grid;gap:3px;font-size:12px;cursor:pointer}
.sw input{width:100%;height:56px;border:0;padding:0;border-radius:4px;cursor:pointer;background:none}
.sw b{font-weight:500;font-size:13px}.sw code{font-size:11.5px;color:var(--ink-2)}.sw span{color:var(--muted)}
.fl select,.fl input[type=url],.bsec input[type=text],.bsec input[type=url]{font:inherit;font-size:13.5px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink)}
.fl textarea{font:inherit;font-size:13.5px;line-height:1.5;padding:9px 11px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);resize:vertical}
.sliders{display:grid;gap:8px}
.sld{display:grid;grid-template-columns:90px minmax(0,1fr) 110px;gap:10px;align-items:center;font-size:12.5px;color:var(--muted)}
.sld span:last-child{text-align:left}
.sld input{accent-color:var(--ink)}
.wchips{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0}
.wchips span{font-size:12.5px;background:var(--signal);color:var(--on-signal);border-radius:999px;padding:2px 10px;cursor:pointer}
.wchips.no span{background:rgba(242,55,166,.18);color:var(--ink);text-decoration:line-through}
.wchips span::after{content:" ×";opacity:.6}
.toneex{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.toneex > div{border-radius:var(--radius);padding:10px 12px;background:var(--surface-2)}
.toneex > div:last-child p{text-decoration:line-through;color:var(--muted)}
.toneex p{margin:4px 0 0;font-size:13.5px}
.bank-f{display:flex;gap:6px;flex-wrap:wrap}
.bank{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.bimg{margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:grid;background:var(--surface)}
.bimg[hidden]{display:none}
.bthumb{aspect-ratio:4/3;background-size:cover;background-position:center}
.bimg figcaption{padding:8px 10px;display:grid;gap:2px;font-size:11.5px;color:var(--muted)}
.bimg figcaption b{font-weight:500;color:var(--ink);font-size:12.5px}
.chk2{display:flex;gap:5px;align-items:center;color:var(--ink);font-size:11.5px;margin-top:2px}
.bimg.add{border-style:dashed;cursor:pointer;place-items:center;text-align:center;padding:16px;font-size:12px;color:var(--muted);min-height:130px;align-content:center;gap:4px}
.bimg.add b{color:var(--ink);font-weight:500}
.banknote{font-size:13px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.exlist{display:grid;gap:6px}
.exlist:empty::before{content:"Näidiseid veel ei ole. Lisa 3–5 postitust või reklaami, mis sulle meeldivad – enda või teiste omad.";font-size:13px;color:var(--muted)}
.exrow{display:flex;gap:10px;align-items:baseline;font-size:13px;border-bottom:1px solid var(--line);padding:6px 0}
.exrow a{color:var(--ink)}
.bprev{position:sticky;top:84px}
.bprev-in{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:18px;display:grid;gap:12px}
.bprev h3{font-size:15px;margin:0}
.mock{border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#fff;color:#3B2F2A}
.mock-img{aspect-ratio:1/1;background:#9CAF88;position:relative;padding:18px;display:flex;flex-direction:column;justify-content:space-between}
.mock-logo{width:46%;height:auto;color:#fff}
.mock-h{font-family:Georgia,serif;font-size:26px;line-height:1.1;color:#fff;max-width:12ch}
.mock-btn{align-self:flex-start;background:#C06C4B;color:#fff;font-size:12px;padding:6px 12px;border-radius:999px}
.mock-t{margin:0;padding:12px 14px;font-size:13px;line-height:1.45;font-family:'Helvetica Neue',Arial,sans-serif;background:#E8DFD3}
.buse ul{margin:6px 0 0;padding-left:16px;font-size:12.5px;line-height:1.55;display:grid;gap:3px}
@media (max-width:1000px){.bgrid{grid-template-columns:1fr}.bprev{position:static}.bhero{grid-template-columns:1fr}}
@media (max-width:600px){.sld{grid-template-columns:70px minmax(0,1fr) 80px}.toneex{grid-template-columns:1fr}}
/* ---- vestlus ---- */
.chat-fab{position:fixed;right:20px;bottom:20px;z-index:70;display:inline-flex;align-items:center;gap:10px;background:var(--invert-bg);color:var(--invert-ink);border:0;border-radius:999px;padding:8px 18px 8px 8px;font:inherit;font-size:13.5px;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.chat-fab .av,.chat .av{width:32px;height:32px;border-radius:50%;background:var(--ms-lime);color:#0B0B0B;display:grid;place-items:center;font-family:var(--font-display);font-weight:500;font-size:12px;flex:none}
.chat-fab .badge2{background:var(--ms-pink);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px;margin-left:2px}
.chat{position:fixed;right:20px;bottom:20px;z-index:85;width:min(420px,calc(100vw - 24px));height:min(640px,calc(100vh - 40px));background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.35);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden}
.chat[hidden]{display:none}
.chat header{display:flex;gap:12px;align-items:center;padding:14px 16px;background:var(--invert-bg);color:var(--invert-ink)}
.chat header b{display:block;font-weight:500;font-size:14px}
.chat header span{font-size:12px;color:var(--invert-muted)}
.chat header button{margin-left:auto;appearance:none;border:1px solid var(--invert-line);background:transparent;color:var(--invert-ink);width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:16px}
.chat-body{overflow-y:auto;padding:16px;display:grid;gap:12px;align-content:start}
.cm{display:grid;gap:3px;max-width:86%}
.cm .m{font-size:11px;color:var(--muted)}
.cm p{margin:0;font-size:13.5px;line-height:1.5;padding:10px 12px;border-radius:12px}
.cm.them p{background:var(--surface-2)}
.cm.me{justify-self:end;text-align:right}
.cm.me p{background:var(--invert-bg);color:var(--invert-ink);text-align:left}
.cm.sys{justify-self:center;max-width:100%;font-size:11.5px;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:999px;padding:4px 12px}
.chat form{display:grid;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}
.chat form textarea{font:inherit;font-size:13.5px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);min-height:60px;resize:none;width:100%;box-sizing:border-box}
.chat form .bar{display:flex;gap:8px;align-items:center;justify-content:space-between}
.chat .foot2{font-size:11.5px;color:var(--muted);padding:0 16px 12px;margin:0}
@media (max-width:760px){.gantt{grid-template-columns:110px minmax(0,1fr)}.chat{right:0;bottom:0;width:100vw;height:100vh;border-radius:0}.plan-edit-bar{top:0}.ms-row{grid-template-columns:70px minmax(0,1fr)}.ms-row .pill{grid-column:2;justify-self:start}}
</style>

/* ── Additions for the live system (not in the prototype) ─────────────────── */
.gantt .gmonths{grid-template-columns:repeat(var(--gm,6),1fr)}
.gantt .glane{background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100%/var(--gm,6) - 1px),var(--line) calc(100%/var(--gm,6) - 1px),var(--line) calc(100%/var(--gm,6)))}
.gantt .gbar{background:#D6D4CE}
.gantt .gbar.c-seo{background:#C8E600}
.gantt .gbar.c-google_ads{background:#00B8CC}
.gantt .gbar.c-meta_ads{background:#B455FF;color:#fff}
.gantt .gbar.c-social{background:#F237A6;color:#fff}
.gantt .gbar.c-all{background:#E1FF04}
.gantt .gbar.c-content{background:#FFC78A}
.gantt .gbar.c-analytics{background:#D9D6CF}
.docs{display:grid;gap:8px;margin-top:12px}
.doc-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;padding:8px 0;border-top:1px solid var(--line)}
.doc-diffs{flex-basis:100%;margin:4px 0;padding-left:18px;font-size:12.5px;line-height:1.6}
.hist-row.cur .v{color:var(--ink)}
.cm .fwd{display:block;margin-top:6px;font-size:12px}
.cm .att{display:inline-block;margin:4px 6px 0 0;font-size:12.5px}
.note.err{color:var(--accent)}
.kpi-card .cur-in{width:100%;margin-top:6px;font:inherit;font-size:13px;padding:5px 8px;border:1.5px dashed var(--accent);border-radius:4px;background:var(--surface);color:var(--ink)}
.plan-row .cap{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.osk-rows{display:grid}
.osk-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.osk-row:last-child{border-bottom:0}
.osk-row time{font-size:12.5px;color:var(--muted);display:grid}
.osk-row time small{font-size:11.5px}
.osk-row b{display:block;font-weight:500;font-size:14px}
.osk-row > div > span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.osk-row .st{justify-self:end}
@media (max-width:640px){.osk-row{grid-template-columns:52px minmax(0,1fr)}.osk-row .st{grid-column:2;justify-self:start}}
.sw .swname{width:100%;font:inherit;font-size:13px;font-weight:500;border:0;border-bottom:1px dashed var(--line);background:transparent;color:var(--ink);padding:2px 0}
.bimg .bcat{width:100%;font:inherit;font-size:12px;border:1px solid var(--line);border-radius:4px;padding:2px 6px;background:var(--surface);color:var(--ink);margin:3px 0}
.logo-tile.add.dark{background:#1b1b1b;color:#fff}
.exrow{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.capblocks .cb{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;display:grid;gap:6px}
.capblocks .caphead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.plan-row.flash{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.plan-row .acts{flex-wrap:wrap}
@media (max-width:760px){.plan-row{grid-template-columns:1fr;gap:6px}.plan-row .acts{justify-content:flex-start}}
/* Meta ad creatives: long status pills wrap; on a phone the status gets its own line */
.adplan .st .pill{white-space:normal;text-align:left}
@media (max-width:760px){.adplan .plan-row .st{grid-column:1/-1}.adplan .plan-row > div:nth-child(3){grid-column:1/-1}}
/* SEO tab: the keyword chart gets the wider column next to "Mida agent SEO-s tegi" */
.seo-work-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
@media (max-width:1100px){.seo-work-grid{grid-template-columns:1fr}}
/* Long names (conversion actions, pixel names) wrap inside a KPI tile */
.kpi .sub,.kpi .kicker{overflow-wrap:anywhere}
/* Best posts are links to the post itself */
a.post{color:inherit;text-decoration:none}
a.post[href]:hover{border-color:var(--line-strong)}
/* Plan calendar: the content plan's coming posts on the social lane */
.gantt .gpost{position:absolute;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--ink);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--ink);z-index:3;cursor:pointer}
.gantt .gpost.needs{background:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.gantt .gpost.done{background:var(--muted);box-shadow:0 0 0 1px var(--muted)}
.gantt .gpost:hover,.gantt .gpost:focus-visible{transform:scale(1.35)}
/* Footer: data sources and the last nightly refresh */
footer .l .fresh{font-size:12px;line-height:1.5;max-width:90ch}

/* ── E-pood: the shop funnel on the overview (business_model = ecommerce) ── */
.funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:4px 0 16px}
.fstep{display:grid;gap:5px;align-content:start;min-width:0}
.fstep .val{font-size:22px;line-height:1.1}
.fstep .bar{height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden}
.fstep .bar i{display:block;height:100%;background:#9BE300;border-radius:4px}
.fstep small{font-size:11.5px;color:var(--muted)}
@media(max-width:640px){.funnel{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* content plan filter: upcoming / needs approval / scheduled / published archive / all */
.pfilt{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 4px}
.pfilt .chip .n{font-variant-numeric:tabular-nums;opacity:.75}
.plan-wk.plan-arch{color:var(--ink);padding-top:26px}
.post[hidden]{display:none}
/* best posts: channel chips + metric + 4/8 */
.bp-ctl{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bp-ctl .pfilt{margin:0}
.bp-lbl{font-size:12px;color:var(--muted);margin-right:-4px}
/* a row of 6 or 8 is for big screens: smaller type so the numbers still fit; narrower screens step down */
.posts[data-cols="6"]{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.posts[data-cols="8"]{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.posts[data-cols="6"] .post .b,.posts[data-cols="8"] .post .b{padding:10px 12px;gap:6px}
.posts[data-cols="6"] .post .b b,.posts[data-cols="8"] .post .b b{font-size:13px}
.posts[data-cols="6"] .post .m strong,.posts[data-cols="8"] .post .m strong{font-size:14px}
.posts[data-cols="8"] .post .m{font-size:10.5px}
@media (max-width:1400px){.posts[data-cols="8"]{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:1100px){.posts[data-cols="6"],.posts[data-cols="8"]{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.posts[data-cols]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media (max-width:520px){.post .b{padding:10px 12px}.post .m{grid-template-columns:1fr 1fr}.post .m strong{font-size:14px}}

/* ── Reklaam tab (v2): one tab for Google Ads, YouTube, Meta and ChatGPT ── */
.tag.yt{background:rgba(255,90,54,.22)}
.tag.gpt{background:rgba(0,168,126,.22)}
.tag.nt{background:var(--surface-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}
.dot.yt{background:#FF5A36!important}
.dot.gpt{background:#00A87E!important}
.tog2{display:inline-flex;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden}
.tog2 button{appearance:none;border:0;background:transparent;color:var(--ink);font:inherit;font-size:12.5px;padding:5px 12px;cursor:pointer}
.tog2 button[aria-pressed="true"]{background:var(--invert-bg);color:var(--invert-ink)}
.adch{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 4px}
.adch .note{flex-basis:100%;margin:0}
.tw{overflow-x:auto;max-width:100%}
.tw table{min-width:520px}
.ch.pl{background:var(--invert-bg);color:var(--invert-ink);border-color:var(--invert-bg)}
/* ── end Reklaam tab ── */

/* ── v2 (prototype v20): tab dots — the ad dot carries the four ad-channel colours, plan and brand are rings ── */
body.v2 .dot.ads{background:conic-gradient(#00B8CC 0 25%,#FF5A36 0 50%,#B455FF 0 75%,#00A87E 0)!important}
body.v2 .dot.plan{background:transparent!important;box-shadow:inset 0 0 0 2px var(--ink-2)}
body.v2 .dot.brand{background:transparent!important;box-shadow:inset 0 0 0 2px #C06C4B}

/* ── brand guide: part "Ikoonid" (v2 pages) ── */
.icoset{display:grid;gap:10px}
.icotiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}
.icotile{position:relative;display:grid;justify-items:center;gap:6px;padding:10px 6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}
.icotile svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* an uploaded icon is a picture with its own colours: in the dark theme it sits on a light chip, so a dark icon never vanishes */
.icotile img{width:28px;height:28px;object-fit:contain;border-radius:4px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .icotile img{background:#fff;padding:2px;box-sizing:content-box}}
:root[data-theme="dark"] .icotile img{background:#fff;padding:2px;box-sizing:content-box}
.icotile small{font-size:10.5px;color:var(--ink-2);text-align:center;overflow-wrap:anywhere}
.icotile .ico-del{position:absolute;top:2px;right:2px;appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:14px;line-height:1;width:20px;height:20px;border-radius:50%;cursor:pointer;opacity:0}
.icotile:hover .ico-del,.icotile .ico-del:focus-visible{opacity:1}
.icotile .ico-del:hover{background:var(--line);color:var(--ink)}
@media (hover:none){.icotile .ico-del{opacity:.7}}
/* the style toggle sits on its own line on a phone, so all three choices stay visible */
@media (max-width:600px){.sld:has(>.tog2){grid-template-columns:minmax(0,1fr);gap:6px}.sld:has(>.tog2) .tog2{justify-self:start;max-width:100%}.sld:has(>.tog2) .tog2 button{padding:5px 10px}}
/* image bank: the category field and the origin select stay inside the picture card */
.bimg figcaption{min-width:0}
.bimg .bcat{box-sizing:border-box;max-width:100%}
.bimg figcaption .pill{white-space:normal;justify-self:start}
.bimg figcaption span{overflow-wrap:anywhere}
