@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0a0b;--panel:#171113;--panel-2:#1e1618;--card:#08080a;--card-2:#101013;--card-hover:#17090d;--border:#2c2225;--border-strong:#3c2c30;--text:#f1e8e9;--muted:#a58f92;--faint:#6f5a5e;--accent:#ff304d;--accent-soft:#ff304d2e;--good:#6cc0a0;--gold:#f3d27a;--down:#e0807f;--warn:#d9ab54;--bad:#e5654a;--grid:#ede7e812;--shadow:0 1px 2px #00000073, 0 10px 30px #00000059;--glow:radial-gradient(1100px 520px at 18% -12%, #ff304d21 0%, transparent 60%);--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", Meiryo, "Noto Sans JP", sans-serif;--font-num:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0d0a0b;--panel:#171113;--panel-2:#1e1618;--border:#2c2225;--border-strong:#3c2c30;--text:#f1e8e9;--muted:#a58f92;--faint:#6f5a5e;--accent:#ff304d;--accent-soft:#ff304d2e;--good:#6cc0a0;--gold:#f3d27a;--down:#e0807f;--warn:#d9ab54;--bad:#e5654a;--grid:#ede7e812;--shadow:0 1px 2px #00000073, 0 10px 30px #00000059;--glow:radial-gradient(1100px 520px at 18% -12%, #ff304d21 0%, transparent 60%)}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf6f5;--panel:#fff;--panel-2:#f5edec;--card:var(--panel);--card-2:var(--panel-2);--card-hover:var(--panel-2);--border:#ecdedd;--border-strong:#dcc7c6;--text:#1f1416;--muted:#7c6a6c;--faint:#b3a1a2;--accent:#f51f3f;--accent-soft:#f51f3f1f;--good:#2f8f6b;--gold:#a77b0e;--down:#c2453f;--warn:#c98a1e;--bad:#b3241d;--grid:#28141612;--shadow:0 1px 2px #1e0f120d, 0 8px 24px #1e0f120d;--glow:none}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0a0b;--panel:#171113;--panel-2:#1e1618;--card:#08080a;--card-2:#101013;--card-hover:#17090d;--border:#2c2225;--border-strong:#3c2c30;--text:#f1e8e9;--muted:#a58f92;--faint:#6f5a5e;--accent:#ff304d;--accent-soft:#ff304d2e;--good:#6cc0a0;--gold:#f3d27a;--down:#e0807f;--warn:#d9ab54;--bad:#e5654a;--grid:#ede7e812;--shadow:0 1px 2px #00000073, 0 10px 30px #00000059;--glow:radial-gradient(1100px 520px at 18% -12%, #ff304d21 0%, transparent 60%)}*{box-sizing:border-box}body{font-family:var(--font);background:var(--bg);background-image:var(--glow);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"palt";background-attachment:fixed;margin:0;line-height:1.5}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.015em}td.num,th.num,.kpi .val,.today-campaign-value,.today-campaign-metrics b,.campaign-value,.campaign-metric-grid b,.cbar-axis,.cbar-val,.goal-progress-label,.hero-value,.hero-breakdown,.hero-previous,.hero-yesterday{font-family:var(--font-num);font-feature-settings:"tnum" 1}.container{max-width:1680px;margin:0 auto;padding:36px 30px 76px}.head{z-index:40;background:linear-gradient(180deg, #0d0a0bfa, #0d0a0beb), var(--bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #ff304d1f;grid-template-columns:minmax(0,1fr) max-content;align-items:start;column-gap:22px;margin:-14px 0 14px;padding:14px 0 16px;display:grid;position:sticky;top:0}.brand-block{min-width:0}.eyebrow{letter-spacing:.08em;color:var(--accent);margin:0 0 6px;font-size:11px;font-weight:700}h1{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:26px;font-weight:700}.controls{flex-flow:row;grid-column:2;justify-content:flex-end;place-self:start end;align-items:center;gap:10px;margin-left:auto;display:flex}.refresh-button{border:1px solid var(--border-strong);width:39px;height:39px;color:var(--text);box-shadow:var(--shadow);cursor:pointer;background:#ffffff0a;border-radius:10px;justify-content:center;align-items:center;font-size:23px;font-weight:800;line-height:1;display:inline-flex}.refresh-button:disabled{opacity:.45;cursor:progress}.logout-form{margin:0;display:inline-flex}.logout-button{height:39px;color:var(--text);letter-spacing:.02em;box-shadow:var(--shadow);cursor:pointer;white-space:nowrap;background:#ff304d14;border:1px solid #ff304d5c;border-radius:10px;justify-content:center;align-items:center;padding:0 12px;font-size:10.5px;font-weight:850;display:inline-flex}.logout-button:hover{background:#ff304d24;border-color:#ff304d9e}.last-update{min-width:92px;color:var(--muted);flex-direction:column;align-items:flex-end;gap:2px;font-size:9.5px;font-weight:700;line-height:1.15;display:inline-flex}.last-update b{color:var(--text);font-variant-numeric:tabular-nums;font-size:13px;font-weight:850}@media (max-width:1000px){.brand{font-size:26px}.brand .b-x{font-size:20px}.controls{gap:8px}.field label{display:none}input[type=month]{padding:6px 8px;font-size:12px}.last-update{min-width:74px;font-size:9px}.last-update b{font-size:12px}.logout-button{padding:0 9px;font-size:10px}}@media (max-width:860px){.brand{gap:10px;font-size:22px}.brand .b-x{font-size:17px}.eyebrow{font-size:10px}}.status-row{flex-wrap:wrap;align-items:center;gap:9px;margin-top:12px;display:flex}.field{align-items:center;gap:8px;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}input[type=month]{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-family:inherit;font-size:13px}.badge{letter-spacing:.04em;border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:700}.badge.bigquery{color:var(--good);background:#2f8f6b1f;border:1px solid #2f8f6b73}.badge.mock{color:var(--warn);background:#c98a1e24;border:1px solid #c98a1e80}.badge.target-sheets{color:var(--good);background:#2f8f6b1f;border:1px solid #2f8f6b73}.badge.target-fallback{color:var(--warn);background:#c98a1e24;border:1px solid #c98a1e80}.online{max-width:560px;color:var(--muted);align-items:center;gap:9px;font-size:12px;font-weight:800;display:flex}.online-dot{background:var(--good);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #2f8f6b1f}.online-pills{align-items:center;gap:6px;min-width:0;display:flex}.online-pill{border:1px solid var(--border-strong);min-width:0;height:26px;color:var(--text);background:#ffffff0e;border-radius:999px;align-items:center;gap:7px;padding:3px 9px 3px 5px;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.online-avatar{color:#fff;background:#e53737;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:900;display:inline-flex}.online-name{text-overflow:ellipsis;white-space:nowrap;max-width:64px;overflow:hidden}.online-people{opacity:.65;flex:none;width:19px;height:16px;position:relative}.online-people:before,.online-people:after{content:"";border:2px solid var(--muted);border-top:0;border-radius:10px 10px 4px 4px;position:absolute}.online-people:before{width:9px;height:7px;bottom:0;left:1px}.online-people:after{width:8px;height:6px;bottom:1px;right:1px}.online-count{color:var(--muted);white-space:nowrap}.online-wrap{align-items:center;gap:9px;min-width:0;display:flex;position:relative}.online-more{border:1px solid var(--border-strong);height:26px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;background:#ffffff0e;border-radius:999px;padding:0 11px;font-weight:800}.online-more:hover,.online-more.open{border-color:var(--accent)}.online-popover{z-index:40;background:var(--card);border:1px solid var(--border-strong);min-width:200px;max-width:min(280px,100vw - 24px);max-height:320px;box-shadow:var(--shadow);border-radius:12px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto}.online-popover-head{color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:4px;padding:2px 6px 8px;font-size:11px;font-weight:800}.online-popover ul{margin:0;padding:0;list-style:none}.online-popover li{color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:6px;font-size:12px;font-weight:700;display:flex}.online-popover-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.rule{background:var(--border);border:0;height:1px;margin:10px 0 26px}.login-page{background:var(--bg);background-image:var(--glow);min-height:100vh;color:var(--text);justify-content:center;align-items:center;padding:24px;display:flex}.login-card{background:var(--panel);border:1px solid var(--border);width:min(100%,420px);box-shadow:var(--shadow);border-radius:14px;padding:34px 30px 30px}.login-brand{letter-spacing:.02em;justify-content:center;align-items:center;gap:12px;font-size:24px;font-weight:850;display:flex}.login-brand span{color:var(--accent)}.login-brand i{color:var(--faint);font-style:normal;font-weight:400}.login-brand b{color:var(--text)}.login-subtitle{color:var(--muted);text-align:center;margin:8px 0 26px;font-size:12.5px}.login-form{gap:14px;display:grid}.login-form label{color:var(--muted);gap:7px;font-size:12px;font-weight:700;display:grid}.login-form input[type=email],.login-form input[type=password]{border:1px solid var(--border);background:var(--panel-2);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:9px;padding:10px 12px;font-size:14px}.login-form input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.login-remember{align-items:center;color:var(--text)!important;grid-template-columns:none!important;gap:9px!important;font-size:12.5px!important;font-weight:700!important;display:flex!important}.login-remember input{width:16px;height:16px;accent-color:var(--accent)}.login-error{color:var(--bad);background:#e5654a1f;border:1px solid #e5654a73;border-radius:9px;padding:10px 12px;font-size:12.5px;line-height:1.5}.login-form button{background:var(--accent);color:#fff;min-height:44px;font:inherit;cursor:pointer;border:0;border-radius:999px;font-weight:850;box-shadow:0 10px 24px #ff304d38}.login-form button:hover{filter:brightness(1.05)}.budget-shell{background:linear-gradient(135deg, #ff304d2e, var(--panel) 38%, var(--panel));box-shadow:var(--shadow), inset 0 0 0 1px var(--accent-soft);border:1px solid #ff304d94;border-radius:14px;margin:0 0 16px;padding:18px}.hero-datebar{justify-content:flex-end;align-items:center;gap:6px;margin:-4px 0 6px;display:flex}.hero-datebar-step{border:1px solid var(--border-strong);background:var(--card);width:30px;height:30px;color:var(--text);cursor:pointer;border-radius:8px;font-size:18px;line-height:1}.hero-datebar-step:disabled{opacity:.35;cursor:default}.hero-datebar-step:not(:disabled):hover,.hero-datebar-select:hover{border-color:var(--accent)}.hero-datebar-select{border:1px solid var(--border-strong);background:var(--card);min-width:120px;height:30px;color:var(--text);font:inherit;font-family:var(--font-num);cursor:pointer;border-radius:8px;padding:0 8px 0 10px;font-size:13px;font-weight:800}.hero-datebar-sep{color:var(--muted);font-weight:800}.hero-datebar-today{border:1px solid var(--accent);background:var(--accent-soft);height:30px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;padding:0 11px;font-size:11px;font-weight:800}@media (max-width:640px){.hero-datebar{flex-wrap:wrap;justify-content:center;gap:5px;margin:0 0 8px}.hero-datebar-select{flex:0 112px;min-width:0;padding:0 4px 0 7px;font-size:12px}.hero-datebar-step{width:28px}.hero-datebar-today{flex-basis:100%;max-width:160px}}.hb{text-align:left;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:30px;width:100%;display:grid}.hb-ring-wrap{flex-direction:column;align-items:center;gap:10px;display:flex}.hb-ring{width:210px;height:210px;position:relative}.hb-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.hb-ring-track{fill:none;stroke:var(--border);stroke-width:9px}.hb-ring-over-track{fill:none;stroke:#f3d27a24;stroke-width:4px}.hb-ring-over{fill:none;stroke:var(--gold);stroke-width:4px;stroke-linecap:round}.hb-ring-center{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.hb-ring-center b{font-family:var(--font-num);letter-spacing:-.02em;font-size:44px;font-weight:850;line-height:1}.hb-ring-center span{color:var(--muted);font-size:12px;font-weight:700}.hb-badge{background:var(--gold);color:#1a1206;font-family:var(--font-num);white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:800}.hb-badge span{white-space:nowrap}.hb-label{color:var(--accent);letter-spacing:.04em;font-size:12px;font-weight:800}.hb-label span{margin-left:12px}.hb-head{flex-wrap:wrap;align-items:flex-end;gap:10px 18px;margin:6px 0 16px;display:flex;container-type:inline-size}.hb-value{font-family:var(--font-num);font-size:min(58px, calc(100cqi / (var(--len,10) * .7)));letter-spacing:-.03em;font-weight:850;line-height:1}.hb-value span{vertical-align:6px;margin-right:4px;font-size:28px}.hb-chip{border:1px solid var(--border);background:var(--card);font-family:var(--font-num);border-radius:999px;align-items:baseline;gap:8px;padding:6px 13px;font-size:13px;font-weight:800;display:inline-flex}.hb-chip small{color:var(--muted);font-weight:650}.delta{font-family:var(--font-num);white-space:nowrap;font-weight:800}.delta.up{color:var(--good)}.delta.down{color:var(--down)}.hb-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.hb-tile{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;container-type:inline-size}.hb-tile-label{color:var(--muted);font-size:12px;font-weight:750}.hb-tile-value{font-family:var(--font-num);font-size:min(clamp(16px, 1.7vw, 20px), calc(100cqi / (var(--len,10) * .7)));white-space:nowrap;margin-top:4px;font-weight:800}.hb-tile-value.over{color:var(--gold)}.hb-tile-sub{border-top:1px solid var(--border);color:var(--muted);font-family:var(--font-num);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 8px;margin-top:6px;padding-top:6px;font-size:12px;display:flex}.hb-tile-sub>span{white-space:normal;min-width:0}.hb-tile-sub b{color:var(--text);white-space:nowrap;font-weight:700}.hb-tile-note{color:var(--faint);flex-wrap:wrap;flex-basis:100%;gap:0 8px;font-size:11px;display:flex}.hb-tile-note>span{white-space:normal}.hb-tile{min-width:0}.hb.reached .hb-ring-center b{font-size:38px}.hero-card.goal-reached:has(.hb){box-shadow:none}@media (max-width:1000px) and (min-width:641px){.hb{grid-template-columns:160px minmax(0,1fr);gap:20px}.hb-ring{width:160px;height:160px}.hb-ring-center b{font-size:34px}.hb.reached .hb-ring-center b{font-size:29px}.hb-value{font-size:clamp(38px,5.6vw,58px)}.hb-tiles{gap:8px}.hb-tile{padding:10px 11px}.hb-tile-note{font-size:10px}.hb-tile-sub{font-size:11px}.hb-ring-wrap{min-width:0}.hb-badge{white-space:normal;text-align:center;border-radius:12px;max-width:160px;line-height:1.35}}.hb-tiles.two{grid-template-columns:repeat(2,minmax(0,1fr))}.hb-ring-center b.hb-ring-delta{font-size:34px}.hb-ring-center .hb-ring-delta .delta{font-size:inherit;letter-spacing:-.02em;font-weight:850}@media (max-width:640px){.hb-tiles.two{grid-template-columns:repeat(2,minmax(0,1fr))}.hb-ring-center b.hb-ring-delta{font-size:17px}}@media (max-width:1000px) and (min-width:641px){.hb-ring-center b.hb-ring-delta{font-size:27px}}.budget-shell:has(.hb.reached){box-shadow:var(--shadow), inset 0 0 0 1px #f3d27a26, inset 0 0 40px #f3d27a14;border-color:#f3d27ab3}.budget-hero{margin:4px 0 24px}.budget-main{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.hero-card{box-shadow:none;background:0 0;border:0;border-radius:12px;padding:16px 24px 12px;position:relative;overflow:visible}.hero-solo{text-align:center;flex-direction:column;align-items:center;min-height:134px;display:flex}.goal-reached{box-shadow:var(--shadow), inset 0 0 0 1px var(--accent-soft), 0 0 38px #ff304d2e}.fireworks{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.hero-card>:not(.fireworks){z-index:1;position:relative}.fireworks span{aspect-ratio:1;opacity:0;color:#37e29a;mix-blend-mode:screen;width:clamp(94px,13vw,176px);animation:3.6s linear infinite firework-burst;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.08)}.fireworks span:before,.fireworks span:after{content:"";border-radius:50%;position:absolute;inset:0}.fireworks span:before{filter:drop-shadow(0 0 5px);background:repeating-conic-gradient(currentColor 0deg 1.3deg,#0000 1.3deg 15deg);-webkit-mask-image:radial-gradient(closest-side,#0000 0 13%,#000 32% 66%,#0000 98%);mask-image:radial-gradient(closest-side,#0000 0 13%,#000 32% 66%,#0000 98%)}.fireworks span:after{filter:drop-shadow(0 0 5px);background:radial-gradient(circle,#fff 0 16%,#0000 52%),conic-gradient(currentColor 0deg 7deg,#0000 7deg 45deg,currentColor 45deg 52deg,#0000 52deg 90deg,currentColor 90deg 97deg,#0000 97deg 135deg,currentColor 135deg 142deg,#0000 142deg 180deg,currentColor 180deg 187deg,#0000 187deg 225deg,currentColor 225deg 232deg,#0000 232deg 270deg,currentColor 270deg 277deg,#0000 277deg 315deg,currentColor 315deg 322deg,#0000 322deg 360deg);inset:41%}.fireworks span:first-child{animation-delay:0s}.fireworks span:nth-child(2){animation-delay:1.2s}.fireworks span:nth-child(3){animation-delay:2.4s}.fireworks:before,.fireworks:after{content:"";filter:drop-shadow(0 0 6px #ffffffa6);opacity:0;background:linear-gradient(90deg,#0000,#ffffff0d 22%,#ffffffeb);border-radius:2px;width:132px;height:2px;animation:3.6s linear infinite firework-streak;position:absolute}.fireworks:before{animation-delay:.5s;top:6%;left:-14%}.fireworks:after{animation-delay:2.3s;top:2%;left:44%}@keyframes firework-burst{0%{opacity:0;color:#37e29a;top:32%;left:15%;transform:translate(-50%,-50%)scale(.08)}6%{opacity:1}30%{opacity:.95;transform:translate(-50%,-50%)scale(1.05)}44%{opacity:0;color:#37e29a;top:32%;left:15%;transform:translate(-50%,-50%)scale(1.22)}45%{opacity:0;color:#ffd23f;top:62%;left:74%;transform:translate(-50%,-50%)scale(.08)}51%{opacity:1}76%{opacity:.95;transform:translate(-50%,-50%)scale(.9)}92%,to{opacity:0;color:#ffd23f;top:62%;left:74%;transform:translate(-50%,-50%)scale(1.1)}}.fireworks span:nth-child(2){animation-name:firework-burst-2}@keyframes firework-burst-2{0%{opacity:0;color:#ff5bb0;top:24%;left:68%;transform:translate(-50%,-50%)scale(.08)}6%{opacity:1}30%{opacity:.95;transform:translate(-50%,-50%)scale(.95)}44%{opacity:0;color:#ff5bb0;top:24%;left:68%;transform:translate(-50%,-50%)scale(1.12)}45%{opacity:0;color:#43c9ff;top:66%;left:22%;transform:translate(-50%,-50%)scale(.08)}51%{opacity:1}76%{opacity:.95;transform:translate(-50%,-50%)scale(1.08)}92%,to{opacity:0;color:#43c9ff;top:66%;left:22%;transform:translate(-50%,-50%)scale(1.25)}}.fireworks span:nth-child(3){animation-name:firework-burst-3}@keyframes firework-burst-3{0%{opacity:0;color:#ff7a2f;top:60%;left:32%;transform:translate(-50%,-50%)scale(.08)}6%{opacity:1}30%{opacity:.95;transform:translate(-50%,-50%)scale(.86)}44%{opacity:0;color:#ff7a2f;top:60%;left:32%;transform:translate(-50%,-50%)scale(1.02)}45%{opacity:0;color:#b481ff;top:28%;left:82%;transform:translate(-50%,-50%)scale(.08)}51%{opacity:1}76%{opacity:.95;transform:translate(-50%,-50%)scale(1)}92%,to{opacity:0;color:#b481ff;top:28%;left:82%;transform:translate(-50%,-50%)scale(1.18)}}@keyframes firework-streak{0%{opacity:0;transform:translate(0)rotate(28deg)scaleX(.3)}4%{opacity:.9}16%{opacity:0;transform:translate(320px,170px)rotate(28deg)scaleX(1)}to{opacity:0;transform:translate(320px,170px)rotate(28deg)scaleX(1)}}@media (prefers-reduced-motion:reduce){.fireworks span,.fireworks:before,.fireworks:after{opacity:0;animation:none}}.hero-label-row{text-align:center;justify-content:center;align-items:baseline;gap:10px;width:100%;display:flex}.hero-label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.hero-yesterday{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);letter-spacing:0;white-space:nowrap;text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 15px;font-size:12.5px;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffff0d}.hero-yesterday span{clip-path:inset(0 0 0 .62em);margin-left:-.62em}.hero-yesterday b{color:var(--good);letter-spacing:-.02em;align-items:center;gap:4px;font-size:20px;font-weight:900;line-height:1.05;display:inline-flex}.hero-yesterday.up b:before{content:"▲";font-size:.62em}.hero-yesterday.down b{color:var(--warn)}.hero-yesterday.down b:before{content:"▼";font-size:.62em}.hero-value-wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 20px;max-width:min(100%,860px);margin-bottom:2px;display:inline-flex;position:relative}.hero-value{letter-spacing:-.035em;margin-top:8px;font-size:clamp(34px,6vw,62px);font-weight:900;line-height:1}.hero-value span{color:var(--text);letter-spacing:-.02em;margin-right:4px;font-size:.66em;font-weight:800}.hero-sub{color:var(--muted);margin-top:2px;font-size:12px}.hero-breakdown{color:var(--faint);flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:4px;font-size:11px;font-weight:700;display:flex}.hero-previous{color:var(--faint);flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:3px;font-size:10.5px;font-weight:750;display:flex}.goal-track{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;width:min(760px,86%);height:20px;margin:14px auto 0;position:relative;overflow:visible}.goal-fill{background:var(--accent);border-radius:999px;position:absolute;top:0;bottom:0;left:0;overflow:hidden;box-shadow:0 0 26px #ff304d57}.goal-fill.segmented{background:0 0;display:flex}.goal-fill.segmented i{min-width:2px;height:100%;display:block}.goal-fill.segmented i:first-child{border-radius:999px 0 0 999px}.goal-fill.segmented i:last-child{border-radius:0 999px 999px 0}.goal-mark{background:var(--good);width:2px;position:absolute;top:-6px;bottom:-6px;transform:translate(-1px)}.goal-target-mark{background:var(--text);opacity:.72;z-index:2;top:-8px;bottom:-8px}.goal-target-chip{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:800;position:absolute;top:-22px;transform:translate(-50%)}.goal-progress-label{color:var(--text);font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #0000008c;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex;position:absolute;inset:0}.today-campaigns{--gap:12px;--cols:4;justify-content:center;gap:var(--gap);flex-wrap:wrap;width:100%;margin-top:30px;display:flex}.today-campaigns:has(>:first-child:last-child){--cols:1}.today-campaigns:has(>:nth-child(2):last-child){--cols:2}:is(.today-campaigns:has(>:nth-child(3):last-child),.today-campaigns:has(>:nth-child(5):last-child),.today-campaigns:has(>:nth-child(6):last-child)){--cols:3}.today-campaign-card{flex:0 1 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));border:1px solid var(--border);background:var(--card);min-width:0;max-width:260px;box-shadow:var(--shadow);text-align:left;border-radius:11px;padding:13px 14px 12px;container-type:inline-size}.today-campaign-name{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;justify-content:flex-start;align-items:center;gap:8px;font-size:12px;font-weight:850;display:flex;overflow:hidden}.today-campaign-name span{border-radius:50%;flex:none;width:10px;height:10px}.today-campaign-body{min-width:0;margin-top:8px}.today-campaign-body.has-pack{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;display:grid}.today-campaign-pack-wrap{background:linear-gradient(#ffffff0d,#ffffff03);border-radius:9px;justify-content:center;align-items:center;min-width:0;padding:4px;display:flex}.today-campaign-pack{object-fit:contain;filter:drop-shadow(0 8px 12px #0006);pointer-events:none;width:100%;max-height:74px}.today-campaign-stats{min-width:0;container-type:inline-size}.today-campaign-value{font-size:min(clamp(17px, 1.8vw, 22px), calc(100cqi / (var(--len,10) * .7)));letter-spacing:-.02em;text-align:left;margin-top:0;font-weight:850;line-height:1.1}.today-campaign-cpa{color:var(--faint);margin-top:6px;font-size:10.5px;font-weight:700}.today-campaign-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px;margin-top:8px;display:grid}.has-pack .today-campaign-metrics{column-gap:6px}.today-campaign-metrics>div{text-align:left;min-width:0}.today-campaign-metrics span,.today-campaign-metrics b{white-space:nowrap;min-width:0;display:block}.today-campaign-metrics span{color:var(--faint);font-size:8.6px;font-weight:750}.today-campaign-metrics b{color:var(--muted);margin-top:3px;font-size:10.5px;font-weight:850}@container (max-width:212px){.today-campaign-body.has-pack{grid-template-columns:48px minmax(0,1fr);gap:8px}.today-campaign-pack{max-height:64px}.today-campaign-name{font-size:11px}.today-campaign-value{font-size:min(17px, calc(100cqi / (var(--len,10) * .7)))}.today-campaign-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 6px}}@container (max-width:166px){.today-campaign-body.has-pack{grid-template-columns:40px minmax(0,1fr);gap:6px}.today-campaign-pack{max-height:54px}.today-campaign-name{font-size:10px}.today-campaign-value{font-size:min(15px, calc(100cqi / (var(--len,10) * .7)))}.today-campaign-metrics span{font-size:7.6px}.today-campaign-metrics b{font-size:9.2px}}@container (max-width:140px){.today-campaign-metrics{grid-template-columns:minmax(0,1fr);row-gap:4px}}.kpis{grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 26px;display:grid}.kpi{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;padding:15px 16px 14px;display:flex}.kpi .label{color:var(--muted);letter-spacing:.02em;font-size:11px}.kpi .val{letter-spacing:-.03em;font-size:clamp(20px,2.3vw,27px);font-weight:800}.kpi .val .cur{color:var(--muted);margin-right:2px;font-size:.62em;font-weight:700}.kpi .foot{color:var(--faint);margin-top:2px;font-size:11px}.kpi.lead{border-color:var(--border);box-shadow:var(--shadow)}.kpi-progress .kpi-bar{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;width:min(100%,240px);height:8px;margin:8px auto 4px;position:relative;overflow:hidden}.kpi-progress .kpi-bar>span{background:var(--accent);border-radius:999px;position:absolute;top:0;bottom:0;left:0}svg.chart{width:100%;height:auto;display:block;overflow:visible}.axis{fill:var(--faint);font-variant-numeric:tabular-nums;font-size:10px}.gridline{stroke:var(--grid);stroke-width:1px}.section-title{margin:28px 0 0;font-size:13px;font-weight:600}.breakdown{margin-top:30px}.breakdown .cap{color:var(--muted);margin:4px 0 15px;font-size:11px}.all-daily-breakdown{margin:0 0 30px}.chart-wrap{position:relative}.chart-legend-bottom{margin-top:10px;margin-bottom:0}.chart-hover-line{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:3 3}.chart-tip{background:var(--card);border:1px solid var(--border-strong);min-width:186px;box-shadow:var(--shadow);pointer-events:none;z-index:5;border-radius:10px;padding:9px 11px;font-size:11px;position:absolute;top:6px;transform:translate(-50%)}.chart-tip-date{color:var(--muted);margin-bottom:6px;font-size:10.5px;font-weight:750}.chart-tip>div:not(.chart-tip-date){grid-template-columns:9px 1fr auto;align-items:center;column-gap:8px;padding:2px 0;display:grid}.chart-tip i{border-radius:2px;width:9px;height:9px;display:block}.chart-tip span{color:var(--muted);white-space:nowrap}.chart-tip b{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;font-weight:800}.chart-tip-total{border-top:1px solid var(--border);margin-top:5px;grid-template-columns:1fr auto!important;padding-top:6px!important}.all-daily-panel{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:18px;overflow:hidden}.all-daily-head{justify-content:center;margin-bottom:12px}.all-daily-panel .chart{min-height:270px}.all-daily-panel .modal-table{max-height:420px}.campaign-cards{grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0 22px;display:grid}.campaign-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;border-radius:12px;min-width:0;padding:16px 17px;transition:border-color .12s,transform .12s,box-shadow .12s;overflow:hidden}.campaign-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow), 0 0 0 1px var(--accent-soft);transform:translateY(-2px)}.campaign-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.campaign-title{align-items:center;gap:9px;margin-bottom:12px;font-size:14px;font-weight:800;display:flex}.campaign-title>span:first-child{border-radius:50%;flex:none;width:11px;height:11px}.campaign-open{color:var(--muted);flex:none;margin-left:auto;font-size:10.5px;font-weight:700}.campaign-card:hover .campaign-open{color:var(--accent)}.campaign-body{min-width:0}.campaign-body.has-pack{grid-template-columns:94px minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.campaign-pack-wrap{background:linear-gradient(#ffffff0a,#ffffff03);border-radius:10px;justify-content:center;align-items:center;min-height:154px;display:flex}.campaign-pack{object-fit:contain;filter:drop-shadow(0 12px 18px #00000061);pointer-events:none;width:86px;max-height:146px}.campaign-stats{min-width:0;container-type:inline-size}.campaign-metric{color:var(--muted);font-size:11px;font-weight:700}.campaign-value{font-size:min(clamp(20px, 2.1vw, 24px), calc(100cqi / (var(--len,10) * .7)));margin:2px 0 12px;font-weight:850;line-height:1.15}.campaign-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 14px;margin:0 0 10px;display:grid}.campaign-metric-grid>div{text-align:center;min-width:0;padding:0}.campaign-metric-grid span,.campaign-metric-grid b{min-width:0;display:block}.campaign-metric-grid span{color:var(--muted);white-space:nowrap;font-size:9px;font-weight:750}.campaign-metric-grid b{color:var(--muted);white-space:nowrap;margin-top:4px;font-size:12px;font-weight:850}.campaign-row{color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;gap:10px;margin-top:7px;padding-top:7px;font-size:10.5px;display:flex}.campaign-row b{color:var(--text);font-size:11.5px}.creative-section{margin-top:30px}.creative-section-head{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:12px;display:flex}.creative-section-head h2{margin:0;font-size:13px;font-weight:750}.creative-section-head p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.5}.creative-controls{color:var(--muted);flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;font-size:11px;font-weight:750;display:flex}.creative-controls select,.creative-controls input[type=date]{appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;border-radius:8px;min-height:30px;padding:5px 26px 5px 10px}.creative-controls input[type=date]{min-width:134px;padding-right:8px}.creative-controls select.creative-case-select{appearance:auto;background:var(--card-2);border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;max-width:200px;min-height:30px;padding:4px 6px 4px 9px;font-size:11px;font-weight:750}.creative-controls select.creative-case-select:hover{border-color:var(--border-strong)}.creative-presets{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.creative-presets button{appearance:none;background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;border:0;min-height:30px;padding:5px 11px;font-size:11px;font-weight:750}.creative-presets button+button{border-left:1px solid var(--border)}.creative-presets button:hover{color:var(--text)}.creative-presets button.on{background:var(--accent-soft);color:var(--text)}.creative-range-separator{color:var(--faint);font-size:12px;font-weight:850}.creative-controls label{align-items:center;gap:5px;min-height:30px;display:inline-flex}.creative-controls input{accent-color:var(--accent)}.creative-controls span{color:var(--muted);font-size:11px;font-weight:750}.creative-warning{overflow-wrap:anywhere;color:#ffcb7a;background:#ffb84d14;border:1px solid #ffb84d59;border-radius:10px;margin:0 0 10px;padding:9px 11px;font-size:11px;line-height:1.6}.creative-table-wrap{max-height:520px;overflow:auto}.creative-table,.creative-table-compact{min-width:0}.creative-table th:not(.sticky-col),.creative-table td:not(.sticky-col){padding-left:7px;padding-right:7px}.creative-table:not(.creative-table-compact) th:not(.sticky-col),.creative-table:not(.creative-table-compact) td:not(.sticky-col){padding-left:5px;padding-right:5px}.creative-table thead th:not(.sticky-col){min-width:52px}.th-t{line-height:1.25;display:block}.th-s{color:var(--faint);white-space:nowrap;font-size:9px;font-weight:700;line-height:1.25;display:block}.creative-table .th-sort{appearance:none;width:100%;color:inherit;font:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.creative-table .th-sort:hover .th-t{text-underline-offset:2px;text-decoration:underline}.creative-table .th-sort-on .th-t{color:var(--text)}.th-arrow{margin-left:2px;font-size:8px}.creative-table .sticky-col{background:var(--card);padding-left:10px;padding-right:6px;position:sticky}.creative-table th.sticky-col{background:var(--card-2);z-index:6}.creative-table td.sticky-col{z-index:3}.creative-table .sticky-case{width:60px;min-width:60px;left:0}.creative-table .sticky-media{width:50px;min-width:50px;left:60px}.cr-media{text-overflow:ellipsis;white-space:nowrap;width:34px;display:block;overflow:hidden}.creative-table .sticky-creative{width:172px;min-width:172px;left:110px}.creative-table tbody tr:hover .sticky-col{background:var(--card-hover)}.creative-name-cell{max-width:172px}.creative-table thead th.cr-status-col,.creative-table td.cr-status-col{text-align:center;width:44px;min-width:0}.creative-table .sticky-col.sticky-status{text-align:center;width:52px;min-width:52px;padding-left:4px;padding-right:4px;left:282px}.cr-status-dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;display:inline-block}.cr-status-active{background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.cr-status-stopped{background:#ef4444;box-shadow:0 0 0 3px #ef44442e}.cr-status-none{color:var(--faint)}.creative-name-cell span,.creative-name-link{text-overflow:ellipsis;white-space:nowrap;max-width:356px;display:block;overflow:hidden}.creative-name-link{color:var(--text);text-decoration:none}.creative-name-link:hover{color:var(--accent);text-decoration:underline}.creative-empty{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--muted);border-radius:12px;padding:18px;font-size:12px}@container (max-width:236px){.campaign-metric-grid{column-gap:7px}.campaign-metric-grid span{font-size:8.2px}.campaign-metric-grid b{font-size:10.5px}.campaign-row{gap:6px;font-size:9.5px}.campaign-row b{font-size:10.5px}}@container (max-width:150px){.campaign-metric-grid{column-gap:4px}.campaign-metric-grid span{font-size:7.2px}.campaign-metric-grid b{font-size:9.2px}.campaign-row{gap:4px;font-size:8.4px}.campaign-row b{font-size:9.2px}}.camp-charts{grid-template-columns:1.5fr 1fr;align-items:stretch;gap:16px;margin-top:4px;display:grid}.cc-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;min-width:0;padding:16px 18px;display:flex}.cc-card-bars .cbar-chart{flex:auto;align-items:stretch;min-height:220px}.cc-card-bars .cbar-axis{height:auto}.cc-card-bars .cbar-viz{align-items:stretch;min-height:0}.cc-card-bars .cbar-col{grid-template-rows:minmax(0,1fr) auto auto}.cc-card-bars .cbar-plot{height:100%}.cc-card-pie .pie-wrap{flex:auto;align-content:center}.cc-head{margin-bottom:14px}.cc-head h3{margin:0 0 2px;font-size:13px;font-weight:700}.cc-head span{color:var(--muted);font-size:11px}.cbar-chart{grid-template-columns:76px minmax(0,1fr);align-items:start;gap:10px;display:grid}.cbar-axis{height:178px;color:var(--faint);font-variant-numeric:tabular-nums;text-align:right;flex-direction:column;justify-content:space-between;padding-top:2px;font-size:10px;display:flex}.cbar-viz{background:repeating-linear-gradient(to bottom, transparent 0, transparent 43px, var(--grid) 44px);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:start;gap:10px;min-height:220px;display:grid}.cbar-col{grid-template-rows:178px auto auto;gap:5px;min-width:0;display:grid;container-type:inline-size}.cbar-plot{justify-content:center;align-items:flex-end;height:178px;display:flex;position:relative;overflow:visible}.cbar-fill{z-index:1;border-radius:9px 9px 0 0;width:min(54px,82%);min-height:18px;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 18px #0003}.cbar-crown{filter:drop-shadow(0 2px 4px #00000059);z-index:2;font-size:clamp(11px,22cqi,18px);line-height:1;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.cbar-fill-value{display:none}.cbar-val{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;color:var(--text);font-variant-numeric:tabular-nums;font-size:clamp(7.5px,13cqi,10.5px);font-weight:850;display:block;overflow:hidden}@container (max-width:48px){.cbar-val{display:none}}.cbar-name{white-space:nowrap;text-overflow:ellipsis;text-align:center;font-size:clamp(8px,14cqi,11.5px);font-weight:800;overflow:hidden}.pie-wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;display:flex}.pie{flex:0 220px;width:min(220px,100%);height:auto;overflow:hidden}.pie-center-label{fill:var(--muted);letter-spacing:.04em;font-size:8px;font-weight:800}.pie-center-value{fill:var(--text);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#00000080;stroke-width:2.5px;stroke-linejoin:round;font-size:10px;font-weight:850}.pie-slice-label{fill:var(--text);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#0000009e;stroke-width:2.4px;stroke-linejoin:round;font-size:8px;font-weight:900;display:none}.pie-legend{color:var(--muted);flex:100%;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:8px 12px;width:100%;min-width:0;font-size:11.5px;display:grid}.pie-legend>div{grid-template-columns:10px max-content max-content;justify-content:start;align-items:center;column-gap:14px;min-width:0;display:inline-grid}.pie-legend i{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.pie-legend span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pie-legend b{color:var(--text);font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;background:#0000009e;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow), 0 24px 60px #0006;border-radius:16px;width:100%;max-width:1060px;padding:22px 24px 24px;position:relative}.modal-close{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;z-index:2;border-radius:8px;width:32px;height:32px;font-size:19px;line-height:1;position:absolute;top:14px;right:14px}.modal-close:hover{color:var(--text);border-color:var(--border-strong)}.modal-head-nav{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:0 34px;display:flex}.modal-title{text-align:center;flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:9px;margin:0;font-size:16px;font-weight:800;display:flex}.modal-sub{color:var(--muted);font-size:11.5px;font-weight:600}.modal-dot{border-radius:50%;flex:none;width:12px;height:12px}.modal-nav{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:999px;flex:none;width:34px;height:34px;font-size:20px;line-height:1}.modal-nav:hover{color:var(--text);border-color:var(--border-strong)}.modal-loading{color:var(--muted);text-align:center;padding:28px 0;font-size:13px}.modal-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:2px 0 6px;font-size:11px;display:flex}.modal-legend>span{white-space:nowrap}.modal-legend i{vertical-align:-1px;border-radius:3px;width:11px;height:11px;margin-right:6px;display:inline-block}.modal-table{max-height:420px;margin-top:16px;overflow-y:auto}.table-wrap{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);border-radius:14px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12.5px}th,td{text-align:right;white-space:nowrap;padding:9px 12px}th{background:var(--card-2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;z-index:2;font-size:10.5px;font-weight:600;position:sticky;top:0}th.l,td.l{text-align:left}td.num,th.num{font-variant-numeric:tabular-nums}tbody tr{border-top:1px solid var(--border)}tbody tr:hover td{background:var(--accent-soft)}tbody tr[data-selected-day=true] td{background:#ff304d1a;box-shadow:inset 0 1px #ff304d33,inset 0 -1px #ff304d33}.today-row-badge{color:var(--accent);border:1px solid #ff304d70;border-radius:999px;justify-content:center;align-items:center;margin-left:8px;padding:2px 6px;font-size:9px;font-weight:850;line-height:1;display:inline-flex}tfoot td{background:var(--panel-2);border-top:2px solid var(--border-strong);font-weight:700;position:sticky;bottom:0}.approx{color:var(--warn)}.warn{overflow-wrap:anywhere;color:var(--warn);background:#c98a1e14;border:1px solid #c98a1e47;border-radius:8px;margin:6px 0 14px;padding:10px 12px;font-size:12.5px}.error{color:var(--bad);white-space:pre-wrap;background:#cc5c4e14;border:1px solid #cc5c4e4d;border-radius:8px;margin:12px 0;padding:12px;font-size:13px}.foot-note{color:var(--faint);margin-top:22px;font-size:11px;line-height:1.7}.foot-note code{background:var(--panel-2);border-radius:4px;padding:1px 5px;font-size:10.5px}@media (max-width:860px){.kpis{grid-template-columns:repeat(2,1fr)}.today-campaigns{--cols:3}.today-campaigns:has(>:nth-child(4):last-child){--cols:2}.campaign-cards{grid-template-columns:repeat(2,1fr)}.camp-charts{grid-template-columns:1fr}}@media (max-width:520px){.kpis{grid-template-columns:repeat(2,1fr)}.campaign-cards{grid-template-columns:1fr}.pie-wrap{flex-wrap:wrap}.pie-legend{width:min(100%,220px);min-width:0}.pie-legend>div{grid-template-columns:10px max-content max-content}}.brand{letter-spacing:-.01em;align-items:center;gap:13px;margin:2px 0 0;font-size:33px;font-weight:800;line-height:1.05;display:flex}.brand>span{white-space:nowrap}.brand .b-wakan{color:var(--accent)}.brand .b-x{color:var(--faint);font-size:24px;font-weight:300;transform:translateY(-1px)}.brand .b-saru{color:var(--text);letter-spacing:.04em;background:linear-gradient(90deg, var(--text), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800}.brand-sub{color:var(--muted);margin-top:8px;font-size:12.5px}.brand-sub b{color:var(--text);font-weight:600}@media (max-width:640px){body{background:radial-gradient(520px 360px at 0% 18%, #ff304d29, transparent 64%), var(--bg)}.container{max-width:none;padding:0 10px 36px}.head{z-index:30;margin-bottom:2px;background:linear-gradient(180deg, #0d0a0bfa, #0d0a0bf0), var(--bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #ff304d29;align-items:flex-start;gap:8px 10px;min-height:0;margin-inline:-10px;padding:10px;position:sticky;top:0}.refresh-button{border-radius:10px;width:34px;height:34px;font-size:22px}.logout-button{width:45px;height:34px;padding:0;font-size:0}.logout-button:before{content:"退出";font-size:9px}.last-update{opacity:.9;flex:0 0 100%;width:100%;min-width:48px;font-size:7.5px}.last-update b{font-size:9.5px}.brand-block{width:auto;min-width:0}.brand{flex-wrap:wrap;gap:7px;font-size:18px}.brand .b-x{font-size:16px}.eyebrow{margin-bottom:4px;font-size:9px}.status-row{gap:6px;width:calc(100vw - 20px);margin-top:7px}.badge{padding:3px 8px;font-size:9.5px}.online{flex-wrap:wrap;gap:7px;max-width:100%;font-size:10px;line-height:1.2}.online-pills{flex-wrap:nowrap;gap:5px}.online-wrap{gap:7px}.online-more{height:24px;padding:0 9px}.online-pill{gap:5px;height:24px;padding:3px 8px 3px 4px}.online-avatar{width:18px;height:18px;font-size:10px}.online-name{max-width:48px}.online-count{font-size:10.5px}.controls{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:5px;width:176px;margin-left:auto}.field{flex-direction:row;justify-content:flex-start;align-items:flex-end;width:88px}.field label{display:none}input[type=month]{flex:none;width:88px;min-width:0;height:34px;padding:6px 7px;font-size:10.5px}.rule{margin:10px 0 12px}.budget-shell{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.goal-reached{box-shadow:none}.hb{grid-template-rows:auto auto auto;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:4px 14px}.hb-main{display:contents}.hb-ring-wrap{grid-area:1/1/3}.hb-ring{width:104px;height:104px}.hb-ring-center{gap:0}.hb-ring-center b{font-size:23px}.hb.reached .hb-ring-center b{font-size:18px}.hb-ring-center span{font-size:8.5px}.hb-badge{display:none}.hb-label{grid-column:2;align-self:end;font-size:10px}.hb-label span{color:var(--muted);margin-left:8px}.hb-head{flex-direction:column;grid-column:2;align-self:start;align-items:flex-start;gap:5px;margin:2px 0 0}.hb-value{font-size:min(clamp(26px, 8.6vw, 34px), calc(100cqi / (var(--len,10) * .7)))}.hb-value span{vertical-align:.25em;font-size:.5em}.hb-chip{background:0 0;border:0;flex-direction:row-reverse;justify-content:flex-end;gap:5px;padding:0;font-size:11px}.hb-tiles{border:1px solid var(--border);background:var(--card);border-radius:10px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:0;margin:10px 0 0;overflow:hidden}.hb-tile{border:0;border-left:1px solid var(--border);background:0 0;border-radius:0;min-width:0;padding:8px 8px 8px 9px}.hb-tile:first-child{border-left:0}.hb-tile-label{font-size:9.5px}.hb-tile-value{font-size:min(13px, calc(100cqi / (var(--len,10) * .7)));margin-top:2px}.hb-tile-sub{border-top:0;justify-content:flex-start;gap:0 5px;margin-top:2px;padding-top:0;font-size:9px}.hb-tile-note{display:none}.hero-card{text-align:center;align-items:center;width:100%;min-height:0;padding:10px 0 4px}.hero-label{font-size:10px}.hero-label-row{justify-content:center;gap:7px;width:100%}.fireworks{height:46%;bottom:auto}.fireworks span{width:clamp(78px,26vw,132px)}.hero-value-wrap{gap:6px 12px}.hero-yesterday{border-radius:10px;gap:2px;padding:6px 11px;font-size:10px}.hero-yesterday b{font-size:14.5px}.hero-value{margin-top:5px;font-size:clamp(19px,6.4vw,25px)}.hero-sub{margin-top:5px;font-size:9.5px}.hero-breakdown{justify-content:center;gap:4px 10px;margin-top:5px;font-size:8.8px}.hero-previous{justify-content:center;gap:4px 10px;margin-top:4px;font-size:8.8px}.today-goal{justify-content:flex-start;gap:6px 10px;width:100%;margin-top:14px;padding-top:12px}.today-goal-value{font-size:clamp(24px,9vw,34px)}.goal-track,.goal-target-label,.goal-axis{width:100%}.goal-track{height:18px;margin-top:12px}.goal-axis{font-size:10px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0;display:grid;overflow:visible}.kpi{text-align:left;align-items:flex-start;min-width:0;min-height:70px;padding:7px 8px;overflow:hidden}.kpi .label,.kpi .foot{font-size:8.8px;line-height:1.35}.kpi .val{letter-spacing:0;white-space:nowrap;max-width:100%;font-size:clamp(12.5px,3.8vw,15.5px);line-height:1.08}.kpi .val .cur{font-size:.52em}.kpi-progress .kpi-bar{width:100%}.today-campaigns{--gap:6px;--cols:3;margin-top:10px;padding:0;overflow:visible}.today-campaigns:has(>:first-child:last-child){--cols:1}.today-campaigns:has(>:nth-child(2):last-child){--cols:2}:is(.today-campaigns:has(>:nth-child(3):last-child),.today-campaigns:has(>:nth-child(4):last-child),.today-campaigns:has(>:nth-child(5):last-child),.today-campaigns:has(>:nth-child(6):last-child)){--cols:3}.today-campaign-card{border-radius:10px;min-width:0;max-width:none;min-height:58px;padding:6px 7px 7px}.today-campaign-body{margin-top:5px}.today-campaign-body.has-pack{grid-template-columns:38px minmax(0,1fr);gap:6px}.today-campaign-pack-wrap{border-radius:7px;padding:2px}.today-campaign-name{gap:5px;font-size:9.5px}.today-campaign-name span{width:8px;height:8px}.today-campaign-value{font-size:min(15px, calc(100cqi / (var(--len,10) * .7)));white-space:nowrap;margin-top:0}.today-campaign-cpa{margin-top:2px;font-size:7.8px}.today-campaign-metrics{gap:4px;margin-top:5px}.has-pack .today-campaign-metrics{column-gap:3px}.today-campaign-card{position:relative}.today-campaign-name{padding-right:22px}.today-campaign-body.has-pack{display:block}.today-campaign-pack-wrap{background:0 0;width:20px;height:26px;padding:0;position:absolute;top:5px;right:5px}.today-campaign-pack{max-height:26px}.today-campaign-value{font-size:min(15px, calc(100cqi / (var(--len,10) * .7)))}.today-campaigns .today-campaign-metrics{grid-column:1/-1;grid-template-columns:minmax(0,1fr);row-gap:2px;margin-top:4px}.today-campaigns .today-campaign-metrics>div{justify-content:space-between;align-items:baseline;gap:4px;display:flex}.today-campaign-metrics span{font-size:8px}.today-campaign-metrics b{margin-top:0;font-size:9px}.section-title{margin-top:18px;font-size:14px}.breakdown .cap{font-size:10px}.all-daily-breakdown{margin-bottom:20px}.all-daily-panel{border-radius:12px;padding:10px}.all-daily-head{margin-bottom:8px}.all-daily-panel .modal-legend{justify-content:flex-start;gap:5px 12px}.all-daily-panel .chart{min-height:0}.daily-table th,.daily-table td{padding:7px 6px}.daily-table td{font-size:11px}.daily-table .daily-date{z-index:1;background:var(--card);padding-left:9px;position:sticky;left:0}.daily-table th.daily-date{z-index:3;background:var(--card-2)}.daily-table tbody tr[data-selected-day=true] .daily-date,.daily-table tbody tr:hover .daily-date{background:var(--card-hover)}.daily-table tfoot .daily-date{z-index:3;background:var(--panel-2)}.daily-table .today-row-badge{margin-left:4px;padding:0 5px;font-size:9px}.all-daily-panel .modal-table{max-height:300px}.campaign-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}.campaign-card{border-radius:10px;padding:8px}.campaign-title{gap:5px;margin-bottom:6px;font-size:10px}.campaign-title>span:first-child{width:8px;height:8px}.campaign-open{display:none}.campaign-body.has-pack{grid-template-columns:50px minmax(0,1fr);align-items:center;gap:6px;display:grid}.campaign-pack-wrap{border-radius:8px;min-height:104px;padding:4px;display:flex}.campaign-pack{width:44px;max-height:80px}.campaign-value{font-size:min(15px, calc(100cqi / (var(--len,10) * .7)));margin-bottom:6px}.campaign-metric-grid{grid-template-columns:1fr;row-gap:3px;margin-bottom:0;display:grid}.campaign-metric-grid>div{text-align:left;justify-content:space-between;align-items:baseline;gap:6px;padding:0;display:flex}.campaign-metric-grid span{font-size:7.2px}.campaign-metric-grid b{text-align:right;margin-top:0;font-size:8.2px}.campaign-metric,.campaign-row{font-size:8.4px;line-height:1.3}.campaign-row{gap:4px;margin-top:4px;padding-top:4px;display:flex}.campaign-row b{margin-top:0;font-size:9.3px;display:inline}.camp-charts{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;margin-top:10px;padding:14px 12px 16px;display:block}.camp-charts .cc-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.camp-charts .cc-card+.cc-card{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.cc-head h3{font-size:13px}.cc-head span{font-size:10px}.cbar-chart{grid-template-columns:42px minmax(0,1fr);gap:6px;margin-top:24px}.cbar-axis{height:142px;font-size:9px}.cbar-viz{gap:4px;min-height:180px}.cbar-col{grid-template-rows:142px auto auto;justify-items:center}.cbar-plot{width:100%;height:142px}.cbar-fill{width:min(30px,80%)}.cbar-fill-value{display:none}.cbar-name{white-space:normal;text-overflow:clip;width:100%;font-size:clamp(6.6px,20cqi,8.6px);line-height:1.15;overflow:visible}.cbar-val{display:none}.pie-wrap{flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%}.pie{flex:none;width:min(230px,80vw);margin:0 auto}.pie-legend{flex-wrap:wrap;flex:none;place-content:center;gap:7px 10px;width:100%;max-width:280px;margin:0 auto;font-size:9.5px;display:flex}.pie-legend>div{grid-template-columns:9px max-content;column-gap:5px;width:auto}.pie-legend i{width:9px;height:9px}.pie-legend b{display:none}.pie-slice-label{display:block}.pie-center-value{font-size:9.5px}.modal{max-height:none;padding:14px}th,td{padding:8px 9px;font-size:11px}}@media (max-width:380px){.hero-value{font-size:clamp(18.5px,6.2vw,24px)}.today-campaign-value{font-size:min(13px, calc(100cqi / (var(--len,10) * .7)))}.kpi .val{font-size:clamp(12px,3.7vw,15px)}.kpi{min-height:68px}}.cr-row{cursor:pointer}.cr-row:hover td,.cr-row-open td{background:var(--card-hover)}.cr-name{align-items:center;gap:7px;min-width:0;display:flex}.creative-name-cell .cr-video{-webkit-line-clamp:2;white-space:normal;min-width:0;max-height:2.6em;color:var(--text);word-break:break-all;-webkit-box-orient:vertical;flex:auto;font-size:11.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.cr-chev{color:var(--faint);flex:none;font-size:8px;transition:transform .15s}.cr-row-open .cr-chev{transform:rotate(90deg)}.cr-thumb{background:var(--panel-2);border-radius:5px;flex:none;justify-content:center;align-items:center;width:48px;height:27px;display:flex;overflow:hidden}.cr-thumb img{object-fit:cover;width:100%;height:100%;display:block}.cr-thumb-none{color:var(--faint);font-size:11px}.cr-cpa{border-radius:5px;padding:2px 8px;font-weight:750;display:inline-block}.cr-cpa-ok{color:#8fe3c9;background:#14b28a29}.cr-cpa-warn{color:#f5cf8a;background:#e8a23a29}.cr-cpa-bad{color:#f5a3b1;background:#ff3b5c29}.cr-detail td{background:var(--card-2);padding:0}.creative-table-wrap{container-type:inline-size}.cr-detail-inner{grid-template-columns:200px minmax(0,1fr);grid-template-areas:"preview daily""kv daily""name name";align-items:start;gap:12px 22px;width:100cqw;padding:16px 18px 18px;display:grid;position:sticky;left:0}.cr-preview{grid-area:preview}.cr-daily{grid-area:daily;min-width:0}.cr-kv{grid-area:kv}.cr-preview{width:200px}.cr-preview img{aspect-ratio:16/9;object-fit:cover;background:var(--panel-2);border-radius:9px;width:100%;display:block}.cr-preview-empty{aspect-ratio:16/9;background:var(--panel-2);width:100%;color:var(--faint);border-radius:9px;justify-content:center;align-items:center;font-size:11px;display:flex}.cr-watch{color:var(--accent);margin-top:8px;font-size:11px;font-weight:750;text-decoration:none;display:inline-block}.cr-watch:hover{text-decoration:underline}.cr-daily h4{color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:750}.cr-chart{padding-bottom:4px;overflow-x:auto}.cr-chart-grid{font-family:var(--font-num);font-variant-numeric:tabular-nums;grid-template-rows:150px auto auto auto auto;grid-auto-flow:column;column-gap:2px;font-size:11.5px;display:grid}.cr-chart-k{color:var(--faint);white-space:nowrap;align-self:center;padding-right:8px;font-size:11px;font-weight:750}.cr-chart-k-bar{align-self:end;padding-bottom:2px}.cr-chart-bar{flex-direction:column;justify-content:flex-end;align-items:stretch;min-width:0;display:flex}.cr-chart-bar small{color:var(--muted);text-align:center;white-space:nowrap;margin-bottom:2px;font-size:10.5px}.cr-chart-bar i{background:var(--accent);border-radius:3px 3px 0 0;min-height:2px;display:block}.cr-chart-day,.cr-chart-cv,.cr-chart-cpo{text-align:center;white-space:nowrap;border-top:1px dashed var(--border);padding:3px 0}.cr-chart-day{color:var(--faint)}.cr-chart-cv{color:var(--text);font-weight:750}.cr-chart-cpo{color:var(--muted);letter-spacing:-.2px;font-size:10.5px}.cr-kv{font-size:11px}.cr-kv div{border-bottom:1px dashed var(--border);justify-content:space-between;gap:8px;padding:4px 0;display:flex}.cr-kv div span:first-child{color:var(--faint)}.cr-kv div span:last-child{text-align:right;font-weight:750}.cr-kv-ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:118px;overflow:hidden}.cr-adname-full{color:var(--faint);word-break:break-all;grid-column:1/-1;margin:4px 0 0;font-size:10px}.cr-detail-note{color:var(--faint);margin:0;font-size:11px}@media (max-width:720px){.creative-section-head{flex-direction:column;align-items:stretch;gap:10px}.creative-controls{justify-content:flex-start;gap:5px 6px}.creative-controls select.creative-case-select{flex:100%;max-width:none;min-height:32px;font-size:11.5px}.creative-presets{flex:100%;display:flex}.creative-presets button{white-space:nowrap;flex:1 1 0;padding:5px 4px;font-size:10.5px}.creative-controls input[type=date]{flex:40%;min-width:0;min-height:30px;padding:4px 6px;font-size:11px}.creative-range-separator{font-size:10px}.creative-controls label:first-of-type{margin-left:0}.creative-controls label{min-height:26px;font-size:10px}.cr-detail-inner{grid-template-columns:1fr;grid-template-areas:"preview""kv""daily""name";gap:14px;padding:14px}.cr-preview{width:100%}.cr-thumb{width:44px;height:26px}.creative-table .sticky-case{width:54px;min-width:54px}.creative-table .sticky-media{width:44px;min-width:44px;left:54px}.cr-media{width:28px}.creative-table .sticky-creative{width:116px;min-width:116px;left:98px}.creative-table .sticky-col.sticky-status{left:214px}.creative-name-cell{max-width:116px}.creative-table .cr-chev{display:none}.creative-table .cr-name{gap:5px}.creative-name-cell .cr-video{font-size:10px}}@container (max-width:170px){.campaign-metric-grid{grid-template-columns:minmax(0,1fr);row-gap:3px}.campaign-metric-grid>div{text-align:left;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.campaign-metric-grid b{text-align:right;margin-top:0}}@container (max-width:122px){.campaign-metric-grid>div{gap:2px}.campaign-metric-grid span{font-size:6.6px}.campaign-metric-grid b{font-size:7.5px}}@container (max-width:100px){.today-campaign-metrics>div{gap:2px}.today-campaign-metrics span{font-size:6.6px}.today-campaign-metrics b{font-size:7.4px}}.section-head-row{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.goal-edit-button{border:1px solid var(--accent);background:var(--accent-soft);height:32px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;margin-bottom:10px;padding:0 14px;font-size:12px;font-weight:800}.goal-edit-button:hover{background:#ff304d47}.card-goal{border-top:1px solid var(--border);text-align:left;margin-top:12px;padding-top:10px;container-type:inline-size}.card-goal-head{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 8px;margin-bottom:4px;font-size:10.5px;font-weight:800;display:flex}.card-goal-by{color:var(--faint);white-space:nowrap;font-size:9.5px;font-weight:700}.card-goal-empty{color:var(--faint);font-size:11px}.card-goal-row{font-family:var(--font-num);grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:8px;margin-top:6px;font-size:11.5px;display:grid}.card-goal-row .k{color:var(--muted);font-family:var(--font);white-space:nowrap;font-size:10.5px;font-weight:750}.card-goal-row .v{text-align:right;white-space:nowrap;font-weight:850}.card-goal-row .v small{color:var(--faint);margin-left:4px;font-weight:700}.card-goal-row .p{text-align:right;white-space:nowrap;min-width:44px;font-weight:850}.card-goal-row .p.ok{color:var(--good)}.card-goal-row .p.mid{color:var(--warn)}.card-goal-row .p.bad{color:var(--down)}.card-goal-bar{background:var(--border);border-radius:999px;height:6px;margin-top:5px;overflow:hidden}.card-goal-bar i{border-radius:999px;height:100%;display:block}@container (max-width:230px){.card-goal-head{font-size:8.5px}.card-goal-by{flex-basis:100%;font-size:8px}.card-goal-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k p""v v";gap:1px 4px;margin-top:5px;font-size:9px}.card-goal-row .k{grid-area:k;font-size:8.5px}.card-goal-row .p{grid-area:p;min-width:0;font-size:9px}.card-goal-row .v{text-align:left;white-space:nowrap;grid-area:v;font-size:min(10px,8cqi)}.card-goal-row .v small{white-space:nowrap;margin-left:3px;font-size:.85em;display:inline}.card-goal-empty{font-size:9px}}.goal-editor{max-width:820px;padding:22px 24px 18px}.goal-editor-head{align-items:center;gap:12px;padding-right:40px;display:flex}.goal-editor-head h2{font-size:17px}.goal-editor-head select{border:1px solid var(--border-strong);background:var(--card);height:32px;color:var(--text);font:inherit;border-radius:8px;margin-left:auto;padding:0 8px;font-weight:800}.goal-editor-note{color:var(--faint);margin:6px 0 10px;font-size:11px}.goal-editor-table{overflow-x:auto}.goal-editor-table table{font-size:12.5px}.goal-editor-table th{text-transform:none;letter-spacing:0}.goal-editor-table td input{border:1px solid var(--border-strong);background:var(--card);width:110px;height:32px;color:var(--text);font:inherit;font-family:var(--font-num);text-align:right;border-radius:7px;padding:0 8px;font-weight:800}.goal-editor-table td input:focus{border-color:var(--accent);outline:none}.goal-editor-table td input.goal-auto{color:var(--muted);cursor:default;background:0 0;border-color:#0000}.goal-editor-by,.goal-editor-prev{color:var(--faint);font-size:11px;line-height:1.35}.goal-editor-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.goal-editor-foot>div{flex:none;gap:8px;display:flex}.goal-editor-msg{color:var(--warn);font-size:11.5px}.goal-btn{border:1px solid var(--border-strong);background:var(--card);height:34px;color:var(--text);font:inherit;cursor:pointer;border-radius:9px;padding:0 16px;font-weight:800}.goal-btn.primary{background:var(--accent);border-color:var(--accent)}.goal-btn:disabled{opacity:.5;cursor:default}@media (max-width:640px){.goal-edit-button{height:28px;padding:0 11px;font-size:11px}.goal-editor{padding:18px 12px 14px}.goal-editor-table td input{width:84px}.goal-editor-table th,.goal-editor-table td{padding:7px 5px}}.login-google{text-align:center;margin:0 0 24px}.login-google a{color:#1f1f1f;background:#fff;border:1px solid #747775;border-radius:999px;padding:12px 16px;font-weight:600;text-decoration:none;display:block}.login-google a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.login-google p{color:var(--muted);margin:10px 0 0;font-size:12px}
