:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);--navy-950:#070E24;--navy-900:#0B1533;--navy-800:#13204A;--navy-700:#1D2E63;--indigo-600:#4A57E0;--indigo-500:#5B6CF0;--indigo-300:#A7B1F9;--indigo-100:#E8EBFE;--amber-500:#F59E0B;--amber-100:#FEF3D7;--sky-500:#0A8BD6;--sky-100:#DDF1FD;--coral-500:#F2694B;--coral-100:#FDE7E1;--green-600:#15803D;--green-100:#DCFCE7;--red-600:#DC2626;--red-100:#FEE2E2;--gray-50:#F7F8FC;--gray-100:#EFF1F8;--gray-200:#E3E7F2;--gray-500:#5E6886;--gray-900:#0F1830;--bg:#F2F4FA;--surface:#FFFFFF;--surface-2:var(--gray-50);--line:var(--gray-200);--ink:var(--gray-900);--muted:var(--gray-500);--soft:var(--gray-100);--accent:var(--indigo-500);--accent-soft:var(--indigo-100);--good:var(--green-600);--good-bg:var(--green-100);--bad:var(--red-600);--bad-bg:var(--red-100);--c-google:#F59E0B;--c-meta:#5B6CF0;--c-linkedin:#0A8BD6;--c-hub:#F2694B;--shadow-sm:0 1px 2px rgba(15,24,48,.05),0 1px 3px rgba(15,24,48,.06);--shadow-md:0 6px 20px -6px rgba(15,24,48,.14),0 2px 6px rgba(15,24,48,.06);--shadow-lg:0 18px 40px -12px rgba(15,24,48,.22);--r-sm:10px;--r-md:16px;--r-lg:22px;--ease:cubic-bezier(.2,.8,.2,1);--sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:"Space Mono",ui-monospace,Menlo,Consolas,monospace;--serif:"Newsreader",Georgia,serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#070E24;--surface:#101A3C;--surface-2:#142150;--line:#22306A;--ink:#EEF1FB;--muted:#9EA9CF;--soft:#17245A;--accent-soft:rgba(91,108,240,.18);--good:#4ADE80;--good-bg:rgba(74,222,128,.14);--bad:#F87171;--bad-bg:rgba(248,113,113,.14);--shadow-sm:none;--shadow-md:0 8px 24px -10px rgba(0,0,0,.6);--shadow-lg:0 18px 40px -12px rgba(0,0,0,.7)}}:root[data-theme=dark]{--bg:#070E24;--surface:#101A3C;--surface-2:#142150;--line:#22306A;--ink:#EEF1FB;--muted:#9EA9CF;--soft:#17245A;--accent-soft:rgba(91,108,240,.18);--good:#4ADE80;--good-bg:rgba(74,222,128,.14);--bad:#F87171;--bad-bg:rgba(248,113,113,.14);--shadow-sm:none;--shadow-md:0 8px 24px -10px rgba(0,0,0,.6);--shadow-lg:0 18px 40px -12px rgba(0,0,0,.7)}*,*:before,*:after{box-sizing:inherit}html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--indigo-300);outline-offset:2px;border-radius:6px}.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.side{background:linear-gradient(180deg,var(--navy-900),var(--navy-950));color:#dce1f6;position:sticky;top:env(safe-area-inset-top,0px);height:100vh;display:flex;flex-direction:column;padding:30px 20px 22px;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px}.brand .logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--indigo-500),#8B5CF6);display:grid;place-items:center;font-weight:800;color:#fff;font-size:15px;letter-spacing:.02em;box-shadow:0 8px 20px -6px #5b6cf099}.brand b{display:block;font-size:19px;color:#fff;font-weight:800;letter-spacing:-.01em;line-height:1.1}.brand small{display:block;font-size:12px;color:#8f9ac7;margin-top:2px}.nav{margin-top:34px;display:flex;flex-direction:column;gap:4px}.nav .grp{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#6874a6;font-weight:700;margin:16px 12px 6px}.nav button{all:unset;cursor:pointer;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:#c3caea;font-weight:600;font-size:14.5px;transition:background .18s var(--ease),color .18s,transform .18s var(--ease);min-height:22px}.nav button:hover{background:#ffffff12;color:#fff;transform:translate(3px)}.nav button[aria-current=page]{background:#5b6cf038;color:#fff;box-shadow:inset 3px 0 0 var(--indigo-300)}.nav .ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;background:#ffffff0f}.nav .ic svg{width:17px;height:17px}.nav hr{display:none}.side .fresh{margin-top:auto;padding-top:22px;font-size:12.5px;color:#9aa4cf;display:flex;flex-direction:column;gap:8px}.fresh .ttl{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#6874a6;font-weight:700}.fresh .row{display:flex;justify-content:space-between;gap:8px;align-items:center}.fresh .row span{display:flex;align-items:center;gap:8px}.fresh .row i{width:8px;height:8px;border-radius:50%;display:inline-block}.fresh .row b{font-weight:600;color:#dce1f6;font-size:12px}.btn-refresh{margin-top:12px;all:unset;cursor:pointer;text-align:center;background:linear-gradient(135deg,#FBBF24,var(--amber-500));color:#241800;font-weight:800;padding:12px 14px;border-radius:12px;box-shadow:0 10px 24px -10px #f59e0bcc;transition:transform .15s var(--ease),box-shadow .15s}.btn-refresh:hover{transform:translateY(-2px);box-shadow:0 14px 28px -10px #f59e0be6}.btn-refresh:active{transform:scale(.97)}.btn-refresh[disabled]{opacity:.6;cursor:progress;transform:none}.btn-refresh .spin{display:inline-block;width:12px;height:12px;border:2px solid rgba(36,24,0,.35);border-top-color:#241800;border-radius:50%;animation:sp .8s linear infinite;margin-right:8px;vertical-align:-1px}@keyframes sp{to{transform:rotate(360deg)}}.side .note{font-size:12px;color:#7f8ab8;margin-top:8px;line-height:1.45}.main{min-width:0;padding:0 44px 80px;max-width:1500px;width:100%;justify-self:center}.topbar{position:sticky;top:0;z-index:4;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;padding:26px 0 20px;margin-bottom:10px;background:linear-gradient(var(--bg) 80%,rgba(0,0,0,0));-webkit-backdrop-filter:saturate(1.2);backdrop-filter:saturate(1.2)}.topbar h1{font-size:30px;line-height:1.15;margin:0;letter-spacing:-.02em;flex:1 1 320px;font-weight:800}.topbar h1 span{display:block;font-size:13.5px;font-weight:500;color:var(--muted);letter-spacing:0;margin-top:6px}.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.seg{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px;box-shadow:var(--shadow-sm)}.seg button{all:unset;cursor:pointer;padding:8px 13px;border-radius:9px;font-weight:700;font-size:13px;color:var(--muted);transition:background .15s,color .15s}.seg button:hover{color:var(--ink);background:var(--soft)}.seg button[aria-pressed=true]{background:var(--navy-900);color:#fff}.dates{display:none;gap:6px;align-items:center}.dates.on{display:flex;flex-wrap:wrap}.btn-filter{min-height:20px;padding:11px 18px;background:var(--accent);box-shadow:var(--shadow-sm)}.d-err{font-size:12.5px;font-weight:700;color:var(--coral-500)}input[type=date],select,input[type=search],input[type=number],input:not([type]){background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 12px;min-height:42px;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}select{cursor:pointer}input:hover,select:hover{border-color:var(--indigo-300)}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}label.chk{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:600;cursor:pointer}label.chk input{width:18px;height:18px;accent-color:var(--accent)}.banner{border-radius:var(--r-md);padding:14px 18px;margin:6px 0 22px;background:var(--accent-soft);border:1px solid transparent;font-size:14px;display:flex;gap:12px;align-items:flex-start}.banner:before{content:"i";flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12px;background:var(--accent);color:#fff}.banner.warn{background:var(--amber-100);color:#5c3b00}.banner.warn:before{content:"!";background:var(--amber-500)}.banner.err{background:var(--coral-100);color:#6b1f0e}.banner.err:before{content:"!";background:var(--coral-500)}:root[data-theme=dark] .banner.warn,:root[data-theme=dark] .banner.err{color:var(--ink);background:var(--soft)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .banner.warn,:root:not([data-theme=light]) .banner.err{color:var(--ink);background:var(--soft)}}.hero{border-radius:var(--r-lg);padding:26px 30px;margin:4px 0 26px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(120deg,var(--navy-800),var(--navy-900));box-shadow:var(--shadow-md)}.hero:after{content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;background:var(--hc,#5B6CF0);opacity:.35;filter:blur(10px)}.hero h2{margin:0;font-size:24px;font-weight:800;letter-spacing:-.01em;position:relative;z-index:1}.hero p{margin:6px 0 0;color:#c6cdeb;font-size:14px;position:relative;z-index:1;max-width:680px}.hero .tag{display:inline-flex;align-items:center;gap:8px;background:#ffffff1f;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;margin-bottom:12px;position:relative;z-index:1}.hero .tag i{width:8px;height:8px;border-radius:50%;background:var(--hc,#5B6CF0)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:40px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 22px 18px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}.kpi:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--kc,var(--accent))}.kpi:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}.kpi .l{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:8px}.kpi .l .dot{width:8px;height:8px;border-radius:50%;background:var(--kc,var(--accent))}.kpi .v{font-size:34px;line-height:1.1;margin-top:10px;letter-spacing:-.02em;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden;max-width:100%}.kpi .d{margin-top:10px;min-height:24px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kpi .d .vs{font-size:12px;color:var(--muted)}.kpi.long .v{font-size:clamp(24px,2.4vw,32px)}.kpi.hero-k{grid-column:span 2}.kpi.hero-k .v{font-size:clamp(30px,3.4vw,44px)}@media(max-width:600px){.kpi.hero-k{grid-column:auto}}.kpi.hero-k{background:linear-gradient(135deg,var(--navy-800),var(--navy-900));color:#fff;border-color:transparent}.kpi.hero-k .l,.kpi.hero-k .d .vs{color:#aeb7dd}.delta{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:999px;line-height:1.2;white-space:nowrap}.delta.up{color:var(--good);background:var(--good-bg)}.delta.down{color:var(--bad);background:var(--bad-bg)}.delta.flat{color:var(--muted);background:var(--soft)}td .delta{margin-top:5px;font-size:10.5px;padding:2px 7px}td .delta{display:flex;width:max-content;margin-left:auto}section.block{margin-bottom:48px;animation:fadeUp .45s var(--ease) both}section.block:nth-of-type(2){animation-delay:.05s}section.block:nth-of-type(3){animation-delay:.1s}section.block:nth-of-type(4){animation-delay:.15s}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.bh{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.bh h2{font-size:21px;font-weight:800;margin:0;letter-spacing:-.015em;display:flex;align-items:center;gap:10px}.bh h2:before{content:"";width:6px;height:22px;border-radius:3px;background:var(--sc,var(--accent))}.bh p{margin:0;color:var(--muted);font-size:13.5px;max-width:620px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.pad{padding:22px 24px}.tw{overflow-x:auto;border-radius:var(--r-md)}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}th,td{padding:14px 16px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left;white-space:normal;min-width:240px;padding-left:22px}th:last-child,td:last-child{padding-right:22px}th{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0;background:var(--surface-2);transition:color .15s}th:hover{color:var(--ink)}th[data-sort]{color:var(--accent)}th[data-sort]:after{content:" ↓"}th[data-sort=asc]:after{content:" ↑"}tbody tr{transition:background .15s}tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-2) 60%,transparent)}tbody tr:hover{background:var(--accent-soft)}tbody tr:hover td:first-child{box-shadow:inset 4px 0 0 var(--sc,var(--accent))}tbody tr.sel{background:var(--accent-soft)}tbody tr.sel td:first-child{box-shadow:inset 4px 0 0 var(--sc,var(--accent))}tbody tr.click{cursor:pointer}tbody tr:last-child td{border-bottom:0}td:first-child{font-weight:700}tfoot td{font-weight:800;border-top:2px solid var(--line);border-bottom:0;background:var(--surface-2)}td .sub{display:block;font-size:12px;color:var(--muted);margin-top:3px;font-weight:500}td.num,span.num{font-variant-numeric:tabular-nums}.pl{display:inline-flex;align-items:center;gap:10px;font-weight:700}.pl i{width:10px;height:10px;border-radius:3px;display:inline-block}.foot-note{font-size:12.5px;color:var(--muted);margin:10px 4px 0}.sub.stt{display:inline-flex!important;align-items:center;gap:5px;font-size:11px!important;font-weight:700!important;padding:2px 8px;border-radius:999px;margin-top:6px!important}.sub.stt:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.sub.stt.active{background:var(--good-bg);color:var(--good)!important}.sub.stt.paused{background:var(--amber-100);color:#8a5a00!important}.sub.stt.other{background:var(--soft)}.sdot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none;background:#9ca3af;box-shadow:0 0 0 3px color-mix(in srgb,#9CA3AF 22%,transparent)}.sdot.active{background:#22c55e;box-shadow:0 0 0 3px #22c55e38}.sdot.paused{background:#f5b40b;box-shadow:0 0 0 3px #f5b40b40}.nm{display:inline-flex;align-items:center;gap:10px}.cbx{width:18px;height:18px;border-radius:5px;border:2px solid var(--line);flex:none;display:inline-grid;place-items:center;transition:all .15s;background:var(--surface)}tr.sel .cbx{background:var(--sc,var(--accent));border-color:var(--sc,var(--accent))}tr.sel .cbx:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}tbody tr:hover .cbx{border-color:var(--sc,var(--accent))}.sleg{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);font-weight:600}.sleg .sdot{margin-left:6px}.ms{position:relative}.ms-btn{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:260px;max-width:360px;min-height:42px;padding:0 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);font-weight:700;font-size:14px;transition:border-color .15s,box-shadow .15s}.ms-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-btn:hover{border-color:var(--indigo-300)}.ms.open .ms-btn{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.ms.open .ms-btn svg{transform:rotate(180deg)}.ms-btn svg{transition:transform .2s var(--ease)}.ms-pop{display:none;position:absolute;z-index:20;top:calc(100% + 8px);left:0;width:min(440px,90vw);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:12px;animation:fadeUp .18s var(--ease)}.ms.open .ms-pop{display:block}.ms-pop input[type=search]{width:100%;min-width:0!important}.ms-acts{display:flex;gap:4px;margin:8px 0 6px;flex-wrap:wrap}.ms-acts .chip{font-size:12.5px;padding:6px 10px}.ms-list{max-height:320px;overflow-y:auto;display:flex;flex-direction:column}.ms-opt{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;transition:background .12s}.ms-opt:hover{background:var(--accent-soft)}.filters .ms-opt input[type=checkbox]{width:18px;height:18px;min-width:0;min-height:0;padding:0;margin:0;box-shadow:none;accent-color:var(--accent);flex:none;cursor:pointer}.ms-opt .sdot{margin:0 2px}.ms-n{flex:1;min-width:0}.ms-n small{display:block;font-size:11.5px;color:var(--muted);font-weight:500;margin-top:2px}.ms-opt.nodata .ms-n{color:var(--muted)}.ms-n{line-height:1.3}.ms-empty{padding:16px;color:var(--muted);font-size:13px;text-align:center}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px;align-items:center}.filters select,.filters input{min-width:220px}.chip{all:unset;cursor:pointer;font-size:13px;color:var(--accent);font-weight:700;padding:8px 12px;border-radius:10px;transition:background .15s}.chip:hover{background:var(--accent-soft)}.chip.plain{cursor:default;color:var(--muted);font-weight:600}.chip.plain:hover{background:none}.cw{position:relative}.chart{width:100%;height:auto;display:block;overflow:visible}.chart .guide{stroke:var(--muted);stroke-dasharray:3 4;opacity:0;transition:opacity .12s}.cw:hover .guide{opacity:.6}.chart .hd{opacity:0;transition:opacity .12s}.cw:hover .hd{opacity:1}.tip{position:absolute;top:8px;pointer-events:none;background:var(--navy-900);color:#fff;border-radius:12px;padding:10px 12px;font-size:12.5px;box-shadow:var(--shadow-lg);min-width:160px;transform:translate(-50%);opacity:0;transition:opacity .12s}.cw:hover .tip{opacity:1}.tip b{display:block;margin-bottom:6px;font-size:12px;color:#aeb7dd;font-weight:700}.tip .r{display:flex;justify-content:space-between;gap:14px;align-items:center}.tip .r span{display:flex;align-items:center;gap:6px}.tip .r i{width:8px;height:8px;border-radius:50%}.tip .r em{font-style:normal;font-weight:800;font-variant-numeric:tabular-nums}.legend{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;color:var(--muted);margin-top:14px;font-weight:600}.legend span{display:inline-flex;align-items:center;gap:8px}.legend i{width:16px;height:4px;border-radius:2px;display:inline-block}.fun{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:28px;align-items:center}.fun svg{width:100%;height:auto;display:block}.fun .stg{cursor:default;transition:filter .18s,transform .18s var(--ease);transform-box:fill-box;transform-origin:center}.fun .stg:hover{filter:brightness(1.12) saturate(1.1);transform:scale(1.015)}.fun .stg.off path{fill:url(#hatch)!important}.rates{display:flex;flex-direction:column;gap:12px}.rate{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);transition:transform .18s var(--ease),box-shadow .18s,border-color .18s}.rate:hover{transform:translate(4px);box-shadow:var(--shadow-md);border-color:transparent}.rate .ri{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:13px;color:#fff;background:var(--rc,var(--accent))}.rate .rl{font-size:13px;color:var(--muted);font-weight:600;line-height:1.3}.rate .rl small{display:block;font-size:11.5px;font-weight:500}.rate .rv{text-align:right;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.rate .rv .delta{margin-top:4px}.rate.na .rv{font-size:13px;color:var(--muted);font-weight:700}.ads{display:flex;flex-direction:column}.ad{display:grid;grid-template-columns:84px 1fr auto;gap:18px;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line);transition:background .15s}.ad:hover{background:var(--accent-soft)}.ad:last-child{border-bottom:0}.thumb{width:84px;height:84px;border-radius:14px;display:flex;align-items:flex-end;padding:9px;font-size:22px;font-weight:800;color:#fff;text-decoration:none;position:relative;overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s}.thumb:hover{transform:scale(1.05) rotate(-1deg);box-shadow:var(--shadow-md)}.thumb small{position:absolute;top:8px;left:9px;font-size:10px;font-weight:800;opacity:.9;letter-spacing:.04em}.ad h3{margin:0;font-size:15px;font-weight:700}.ad .meta{font-size:12.5px;color:var(--muted);margin-top:3px}.ad .meta a{color:var(--accent);font-weight:700;text-decoration:none}.ad .meta a:hover{text-decoration:underline}.ad .nums{display:grid;grid-template-columns:repeat(5,auto);gap:4px 24px;text-align:right;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.ad .nums b{display:block;font-size:16px;color:var(--ink);font-weight:800;text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums}.budget-row{display:grid;grid-template-columns:220px 1fr 220px;gap:24px;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line);transition:background .15s}.budget-row:hover{background:var(--surface-2)}.budget-row:last-child{border-bottom:0}.bar{position:relative;height:14px;background:var(--soft);border-radius:7px}.bar .fill{position:absolute;inset:0 auto 0 0;border-radius:7px;animation:grow .8s var(--ease) both;transform-origin:left}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.bar .mark{position:absolute;top:-6px;bottom:-6px;width:3px;border-radius:2px;background:var(--ink);opacity:.7}.budget-row .txt{font-size:13px;color:var(--muted);margin-top:10px}.budget-row .right{text-align:right}.budget-row .right b{font-size:24px;font-weight:800;display:block;font-variant-numeric:tabular-nums}.status{font-family:var(--mono);font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;display:inline-block;margin-top:8px}.status.ok{background:var(--good-bg);color:var(--good)}.status.hi{background:var(--bad-bg);color:var(--bad)}.status.lo{background:var(--amber-100);color:#8a5a00}.hlist{display:flex;flex-direction:column;padding:10px 0}.hl{display:grid;grid-template-columns:minmax(150px,280px) 1fr 70px;gap:14px;align-items:center;padding:9px 22px;font-size:14px;transition:background .15s}.hl:hover{background:var(--accent-soft)}.hl .b{height:10px;border-radius:5px;background:linear-gradient(90deg,var(--sc,var(--accent)),color-mix(in srgb,var(--sc,var(--accent)) 55%,#fff));animation:grow .7s var(--ease) both;transform-origin:left}.hl .n{text-align:right;font-variant-numeric:tabular-nums;font-weight:800}.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}.two section.block{margin-bottom:40px}.retention{display:flex;flex-direction:column;gap:12px}.ret{display:grid;grid-template-columns:80px 1fr 80px;gap:14px;align-items:center;font-size:14px;font-weight:600}.ret .b{height:14px;border-radius:7px;animation:grow .7s var(--ease) both;transform-origin:left}.ret .n{text-align:right;font-variant-numeric:tabular-nums;font-weight:800}.form{display:grid;grid-template-columns:240px 1fr;gap:14px 22px;align-items:center}.form label{font-weight:700;font-size:14px}.form .hint{grid-column:2;font-size:12.5px;color:var(--muted);margin-top:-8px}.btn{all:unset;cursor:pointer;background:var(--navy-900);color:#fff;padding:11px 18px;border-radius:12px;font-weight:700;font-size:14px;transition:transform .15s var(--ease),box-shadow .15s}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn:active{transform:scale(.97)}.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}.empty{padding:56px 22px;text-align:center;color:var(--muted)}.empty strong{display:block;font-size:19px;color:var(--ink);font-weight:800;margin-bottom:8px}@media(max-width:1100px){.fun{grid-template-columns:1fr}}@media(max-width:900px){.app{grid-template-columns:1fr}.side{position:sticky;top:0;z-index:5;height:auto;padding:12px 14px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}.brand small{display:none}.brand .logo{width:34px;height:34px}.nav{margin:0;flex-direction:row;overflow-x:auto;width:100%;order:3}.nav .grp{display:none}.nav button{white-space:nowrap;padding:8px 10px}.nav button:hover{transform:none}.nav .ic{display:none}.side .fresh{margin:0 0 0 auto;padding:0;flex-direction:row;align-items:center}.side .fresh .row,.side .fresh .ttl{display:none}.btn-refresh{margin:0;padding:8px 12px;font-size:12.5px}.side .note{display:none}.main{padding:0 16px 60px}.topbar{position:static}.topbar h1{font-size:24px}.two,.budget-row{grid-template-columns:1fr}.budget-row .right{text-align:left}.ad{grid-template-columns:64px 1fr}.thumb{width:64px;height:64px}.ad .nums{grid-column:1/-1;grid-template-columns:repeat(3,auto);text-align:left}.form{grid-template-columns:1fr}.form .hint{grid-column:1}.kpi .v{font-size:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
