:root{--bg:#f6f5f2;--surface:#ffffff;--surface-2:#f0eee9;--border:#e2ded6;--text:#1c2430;--text-2:#5b6472;--text-3:#666e7c;--primary:#111129;--primary-hover:#26264a;--primary-soft:#e9e9f1;--on-primary:#ffffff;--accent:#e0703a;--ok:#237a4b;--ok-soft:#e3f3ea;--warn:#8a5a0f;--warn-soft:#fbf1de;--err:#b23a33;--err-soft:#fbe7e5;--cat-makeup:#d14d72;--cat-personal_care:#d98a1f;--cat-skincare:#3a78c2;--cat-other:#8a92a0;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px rgba(20,30,50,0.06),0 4px 16px rgba(20,30,50,0.05);--sidebar-w:256px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12161c;--surface:#1b2129;--surface-2:#222a34;--border:#2c343f;--text:#e8ebef;--text-2:#a3abb7;--text-3:#77808d;--primary:#c3c7dc;--primary-hover:#d8dbea;--primary-soft:#262a3b;--on-primary:#0f1722;--accent:#f08a57;--ok:#5cc28a;--ok-soft:#173326;--warn:#e0b057;--warn-soft:#362a12;--err:#ef7b73;--err-soft:#3a1c1a;--cat-makeup:#ea7896;--cat-personal_care:#edb04f;--cat-skincare:#6fa3e3;--cat-other:#8f98a6;--shadow:0 1px 2px rgba(0,0,0,0.3),0 4px 16px rgba(0,0,0,0.25);color-scheme:dark}}:root[data-theme=dark]{--bg:#12161c;--surface:#1b2129;--surface-2:#222a34;--border:#2c343f;--text:#e8ebef;--text-2:#a3abb7;--text-3:#77808d;--primary:#c3c7dc;--primary-hover:#d8dbea;--primary-soft:#262a3b;--on-primary:#0f1722;--accent:#f08a57;--ok:#5cc28a;--ok-soft:#173326;--warn:#e0b057;--warn-soft:#362a12;--err:#ef7b73;--err-soft:#3a1c1a;--cat-makeup:#ea7896;--cat-personal_care:#edb04f;--cat-skincare:#6fa3e3;--cat-other:#8f98a6;--shadow:0 1px 2px rgba(0,0,0,0.3),0 4px 16px rgba(0,0,0,0.25);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans),system-ui,"Segoe UI","Noto Sans Thai",sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.3;margin:0}code{font-family:ui-monospace,Consolas,monospace;font-size:.9em;background:var(--surface-2);padding:1px 6px;border-radius:4px}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.logo-tile{width:44px;height:44px;border-radius:10px;background:#ffffff;border:1px solid var(--border);display:grid;place-items:center;overflow:hidden;flex:none}.logo-tile img{width:100%;height:100%;object-fit:contain}.login-logo{width:132px;height:132px;border-radius:18px;background:#ffffff;display:grid;place-items:center;overflow:hidden}.login-logo img{width:100%;height:100%;object-fit:contain}.brand-name{font-weight:700;font-size:16px}.brand-sub{font-size:12px;color:var(--text-3)}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:0 10px 6px}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-2);font-size:14px}.nav-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-link.active{font-weight:600}.nav-link.disabled{opacity:.55;cursor:default}.nav-link.disabled:hover{background:transparent;color:var(--text-2)}.dot{width:10px;height:10px;border-radius:50%;flex:none}.nav-sublabel{padding:10px 10px 4px}.nav-sublabel,.soon{font-size:11px;color:var(--text-3)}.soon{margin-left:auto;border:1px solid var(--border);border-radius:999px;padding:0 7px}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-left:8px}.user-chip{font-size:13px;color:var(--text-2)}.main{padding:28px 32px 48px;max-width:1200px;width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-title{font-size:24px;font-weight:700}.page-sub{color:var(--text-2);margin-top:4px}.crumbs{font-size:13px;color:var(--text-3);margin-bottom:6px}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.card-title{font-size:15px;font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:8px}.card+.card,.section+.section{margin-top:16px}.section{margin-top:24px}.section-title{font-size:17px;font-weight:600;margin-bottom:12px}.kpi-label{font-size:13px;color:var(--text-2)}.kpi-value{font-size:26px;font-weight:700;margin-top:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-note{font-size:12px;color:var(--text-3);margin-top:4px}.muted{color:var(--text-2)}.small{font-size:13px}.accent-card{border-top:4px solid var(--card-accent,var(--primary))}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:12px;border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:2px 10px;color:var(--text-2)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-weight:600;color:var(--text-2);font-size:12px;padding:8px 10px;white-space:nowrap}td,th{border-bottom:1px solid var(--border)}td{padding:9px 10px;vertical-align:top}tr:last-child td{border-bottom:none}th:where([scope=row]){font-weight:inherit;font-size:inherit;color:inherit;text-align:inherit;white-space:normal;padding:9px 10px;vertical-align:top}tr:last-child th:where([scope=row]){border-bottom:none}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px;white-space:nowrap}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-err{background:var(--err-soft);color:var(--err)}.badge-idle{background:var(--surface-2);color:var(--text-2)}.notice{border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;margin-bottom:16px;border:1px solid transparent}.notice-ok{background:var(--ok-soft);color:var(--ok)}.notice-err{background:var(--err-soft);color:var(--err)}.notice-warn{background:var(--warn-soft);color:var(--warn)}.notice-info{background:var(--primary-soft);color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:14px;font-weight:600;border-radius:var(--radius-sm);padding:8px 14px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-2);padding:6px 8px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;pointer-events:none}.actions{display:flex;flex-wrap:wrap;gap:8px}.inline-form{display:inline}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;font-weight:600;color:var(--text-2)}.hint{font-size:12px;color:var(--text-3)}.brand-form{max-width:720px}.brand-form .grid{gap:0 16px}.dot-cell{display:inline-flex;align-items:center;gap:8px}.check{display:flex;align-items:flex-start;gap:8px;font-size:14px;cursor:pointer}.check input{margin-top:3px;accent-color:var(--primary)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.section-head .section-title{margin-bottom:0}.picker{margin-bottom:16px;padding:0}.picker summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;cursor:pointer;font-weight:600}.picker[open] summary{border-bottom:1px solid var(--border)}.picker form{padding:16px 20px}.picker-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:16px}.picker-group{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.picker-group legend{width:100%;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:6px;padding:0}.picker-group legend a{margin-left:auto;font-weight:400}.input{font:inherit;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text)}.input:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:transparent}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.filter{font-size:13px;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:6px 12px;color:var(--text-3);background:var(--surface)}.phase-list{list-style:none;margin:0;padding:0}.phase-list li{display:flex;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.phase-list li:last-child{border-bottom:none}.phase-no{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--surface-2);color:var(--text-2);flex:none}.phase-done .phase-no{background:var(--ok-soft);color:var(--ok)}.phase-in_progress .phase-no{background:var(--primary-soft);color:var(--primary)}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:var(--primary);color:var(--on-primary);padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;right:-120px;bottom:-120px;width:380px;height:380px;border-radius:50%;border:56px solid var(--accent);opacity:.35}.login-art h1{font-size:34px;font-weight:700;max-width:420px}.login-art p{opacity:.85;max-width:420px}.color-stripes{display:flex;gap:6px;margin-top:20px}.color-stripes span{height:6px;flex:1 1;border-radius:3px}.login-panel{display:grid;place-items:center;padding:32px 16px}.login-card{width:100%;max-width:360px}.login-card h2{font-size:22px;margin-bottom:4px}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-weight:600;text-decoration:none}.btn-google:hover{background:var(--surface-2)}.login-backup{margin-top:18px}.login-backup summary{cursor:pointer;font-size:13px;opacity:.75;margin-bottom:12px}@media (max-width:960px){.grid-4,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:1fr}}@media (max-width:760px){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border)}.main{padding:20px 16px 40px}.grid-2,.grid-4,.grid-5,.login-wrap{grid-template-columns:1fr}.login-wrap{grid-template-rows:auto 1fr}.login-art{padding:20px 16px;min-height:0;gap:10px}.login-art:after{display:none}.login-logo{width:96px;height:96px}.login-art h1{font-size:20px;margin:0}.login-art .color-stripes,.login-art p,.login-art>div:last-child{display:none}.login-art .login-logo-white{width:120px}.login-art .brand-name{margin-top:8px!important;font-size:15px!important}.login-panel{place-items:start center;padding:20px 16px}}.main{max-width:1320px}.chart{width:100%;height:auto;display:block}.chart text{font-family:inherit}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.num,th.num{text-align:right}.kpi-value.big{font-size:30px}.delta{font-size:12px;font-weight:600;padding:1px 7px;border-radius:999px;white-space:nowrap}.delta-up{color:var(--ok);background:var(--ok-soft)}.delta-down{color:var(--err);background:var(--err-soft)}.delta-flat{color:var(--text-3);background:var(--surface-2)}.kpi-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.progress{position:relative;height:10px;border-radius:999px;background:var(--surface-2);overflow:visible;margin:8px 0 4px}.progress-bar{height:100%;border-radius:999px;transition:width .3s}.progress-mark{position:absolute;top:-3px;width:2px;height:16px;background:var(--text-2);border-radius:1px}.progress.sm{height:6px;margin:4px 0 0}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--text-2);margin-top:8px}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:12px;height:12px;border-radius:3px;border:2px solid transparent}.donut-wrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.donut-list{flex:1 1;min-width:160px;font-size:13px}.donut-list .row{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px dashed var(--border)}.donut-list .row:last-child{border-bottom:none}.donut-list .row .val{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.card-head h3{margin:0;font-size:15px}.tabs{display:inline-flex;gap:2px;background:var(--surface-2);border-radius:var(--radius-sm);padding:3px}.tab{font-size:13px;padding:4px 10px;border-radius:6px;color:var(--text-2);text-decoration:none;white-space:nowrap}.tab.active{background:var(--surface);box-shadow:var(--shadow);font-weight:600}.fbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}.fbar-warn{color:var(--warn);background:var(--warn-soft);border-radius:var(--radius-sm);padding:5px 10px}.fbar details{position:relative}.fbar summary{list-style:none;cursor:pointer;font-size:13px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;background:var(--surface);color:var(--text);white-space:nowrap}.fbar summary::-webkit-details-marker{display:none}.fbar summary.on{border-color:var(--primary);background:var(--primary-soft);font-weight:600}.fbar .menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;min-width:220px;max-height:360px;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px}.fbar .menu label{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 2px;cursor:pointer}.fbar .menu .grp{font-size:11px;color:var(--text-3);font-weight:700;margin:8px 0 2px;text-transform:uppercase;letter-spacing:.03em}.fbar .menu .menu-actions{display:flex;gap:6px;margin-top:8px;position:sticky;bottom:-10px;background:var(--surface);padding:6px 0}.fbar .menu a.opt{display:block;padding:5px 6px;border-radius:6px}.fbar .chip-toggle,.fbar .menu a.opt{font-size:13px;color:var(--text);text-decoration:none}.fbar .chip-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;background:var(--surface);white-space:nowrap}.fbar .chip-toggle.on{border-color:var(--primary);background:var(--primary-soft);font-weight:600}.fbar .menu a.opt.on,.fbar .menu a.opt:hover{background:var(--surface-2)}.fbar .reset{font-size:12px;color:var(--text-3)}.fbar input[type=date],.fbar input[type=month]{font:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.btn-sm{padding:4px 10px}.btn-sm,.rank{font-size:12px}.rank{color:var(--text-3);width:28px}.bar-cell{position:relative;min-width:120px}.bar-cell .fill{position:absolute;left:0;top:50%;height:6px;transform:translateY(-50%);border-radius:3px;opacity:.25}.tag{display:inline-block;font-size:11px;padding:0 6px;border-radius:4px;background:var(--surface-2);color:var(--text-2);margin-right:4px;white-space:nowrap}.pill-ok{color:var(--ok)}.pill-warn{color:var(--warn)}.pill-err{color:var(--err)}.stat-strip{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px;color:var(--text-2)}.stat-strip b{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.targets-grid input{width:110px;text-align:right;font:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.targets-grid td,.targets-grid th{padding:5px 6px}.sticky-col{position:sticky;left:0;background:var(--surface);z-index:1}.tag-soft{background:transparent;border:1px dashed var(--border);color:var(--text-3)}.tiny{font-size:10.5px;line-height:1.2}.channel-grid td,.channel-grid th{padding:5px 7px;white-space:nowrap}.channel-grid .row-group :is(td,th:where([scope=row])){background:var(--surface-2);font-weight:700;font-size:12px;padding-top:8px}.channel-grid .row-group .sticky-col{background:var(--surface-2)}.channel-grid .row-total :is(td,th:where([scope=row])){font-weight:600;border-top:1px solid var(--border);background:var(--surface)}.channel-grid .row-total.strong :is(td,th:where([scope=row])){font-weight:700;background:var(--primary-soft)}.channel-grid .row-total.strong .sticky-col{background:var(--primary-soft)}.channel-grid input{width:96px;text-align:right;font:inherit;font-size:12.5px;padding:3px 5px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}@media (max-width:760px){.kpi-value.big{font-size:24px}.fbar .menu{position:fixed;left:12px;right:12px;top:auto}}.kpi-value.big{font-size:clamp(20px,2.1vw,30px);overflow-wrap:anywhere}.main{overflow-x:hidden}.card,.main{min-width:0}.bar-cell .fill{top:auto;bottom:3px;transform:none;height:4px;opacity:.55}.nav-burger{display:none;margin-left:auto;font-family:inherit;font-size:14px;font-weight:600;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;background:var(--surface)}@media (max-width:760px){.nav-burger{display:inline-flex;align-items:center}.sidebar>.nav-group,.sidebar>.sidebar-footer{display:none}.sidebar.nav-open>.nav-group,.sidebar.nav-open>.sidebar-footer{display:block}.sidebar .brand{display:flex;align-items:center;width:100%}}@media print{.fbar,.nav-burger,.no-print,.sidebar{display:none!important}.shell{display:block}.main{padding:0;max-width:none}.card{box-shadow:none;page-break-inside:avoid;break-inside:avoid}body{background:#fff}}.kpi-value.big{font-size:clamp(16px,1.75vw,30px)}@media (max-width:760px){.kpi-value.big{font-size:24px}}.row-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 0}.row-form .input{padding:5px 8px;font-size:13px}.analysis-grid td,.analysis-grid th{padding:6px 7px;vertical-align:top}.analysis-grid input.input,.analysis-grid select.input{font-size:12px;padding:3px 5px;width:100%;min-width:170px}.grade{display:inline-block;min-width:20px;text-align:center;font-weight:700;font-size:11px;border-radius:4px;padding:1px 4px}.grade-A{background:#16a34a22;color:#15803d}.grade-B{background:#f59e0b22;color:#b45309}.grade-C{background:var(--surface-2);color:var(--text-3)}.seg{display:inline-block;color:#fff;font-size:11px;font-weight:600;border-radius:4px;padding:0 6px}.all-channels{display:grid;grid-template-columns:1.2fr 1.4fr 1fr;gap:18px;align-items:center}@media (max-width:760px){.all-channels{grid-template-columns:1fr}}.mix-bar{display:flex;height:18px;border-radius:6px;overflow:hidden;background:var(--surface-2);margin:6px 0 4px}.mix-bar span{display:block;height:100%}:root{--accent-hover:#c95e2a;--accent-soft:#fcebe1;--on-accent:#ffffff;--focus:#b4521f;--kpi-1:#111129;--kpi-2:#e0703a;--kpi-3:#2f8f5b;--kpi-4:#3a78c2}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--accent-hover:#f5a47a;--accent-soft:#3a2418;--on-accent:#1a0f08;--focus:#f5a47a;--kpi-1:#9aa3d6;--kpi-2:#f08a57;--kpi-3:#5cc28a;--kpi-4:#6fa3e3}}:root[data-theme=dark]{--accent-hover:#f5a47a;--accent-soft:#3a2418;--on-accent:#1a0f08;--focus:#f5a47a;--kpi-1:#9aa3d6;--kpi-2:#f08a57;--kpi-3:#5cc28a;--kpi-4:#6fa3e3}.btn{transition:background-color .15s,border-color .15s,box-shadow .15s,transform .1s}.btn:hover{border-color:var(--text-3)}.btn:active{transform:translateY(1px)}.btn:focus-visible,.chip-toggle:focus-visible,.nav-link:focus-visible,.tab:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.main [tabindex]:focus-visible,.main a:focus-visible,.main button:focus-visible,.main summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.chart .bar-link:focus{outline:none}.chart .bar-link:focus-visible .bar-hit{fill:var(--accent-soft);stroke:var(--focus);stroke-width:2}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px rgba(224,112,58,.25),0 4px 12px rgba(224,112,58,.22)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 2px 4px rgba(224,112,58,.3),0 6px 16px rgba(224,112,58,.28)}.btn-ghost:hover{background:var(--surface-2);color:var(--text);border-color:transparent}.fbar .chip-toggle,.fbar summary{transition:background-color .15s,border-color .15s}.fbar .chip-toggle:hover,.fbar summary:hover{border-color:var(--accent)}.fbar .chip-toggle.on,.fbar summary.on{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.fbar .menu a.opt.on{background:var(--accent-soft);font-weight:600}.tab{transition:background-color .15s,color .15s}.tab:hover{color:var(--text);background:var(--surface)}.tab.active{box-shadow:inset 0 -2px 0 var(--accent),var(--shadow);color:var(--text)}.nav-link{position:relative;transition:background-color .15s,color .15s}.nav-link.active{background:var(--primary-soft);color:var(--primary)}.nav-link.active:before{position:absolute;left:-2px;top:7px;bottom:7px;width:3px}.nav-link.active:before,.page-title:after{content:"";border-radius:3px;background:var(--accent)}.page-title:after{display:block;width:36px;height:3px;margin-top:6px}.grid-4>.card{border-top:3px solid var(--kpi-1)}.grid-4>.card:nth-child(4n+2){border-top-color:var(--kpi-2)}.grid-4>.card:nth-child(4n+3){border-top-color:var(--kpi-3)}.grid-4>.card:nth-child(4n+4){border-top-color:var(--kpi-4)}.grid-5>.card{border-top:3px solid var(--kpi-1)}.grid-5>.card:nth-child(5n+2){border-top-color:var(--kpi-2)}.grid-5>.card:nth-child(5n+3){border-top-color:var(--kpi-3)}.grid-5>.card:nth-child(5n+4){border-top-color:var(--kpi-4)}.grid-5>.card:nth-child(5n+5){border-top-color:var(--kpi-2)}.grid-3>.card{border-top:3px solid var(--kpi-1)}.grid-3>.card:nth-child(3n+2){border-top-color:var(--kpi-2)}.grid-3>.card:nth-child(3n+3){border-top-color:var(--kpi-3)}thead th,thead th.sticky-col{background:var(--surface-2)}thead th:first-child{border-top-left-radius:6px}thead th:last-child{border-top-right-radius:6px}tbody tr{transition:background-color .1s}tbody tr:hover>:is(td,th:where([scope=row])){background:color-mix(in srgb,var(--accent) 5%,transparent)}.channel-grid tbody tr:hover>:is(td,th:where([scope=row])).sticky-col,.targets-grid tbody tr:hover>:is(td,th:where([scope=row])).sticky-col{background:var(--surface)}.analysis-grid .input:focus,.channel-grid input:focus,.input:focus,.targets-grid input:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:transparent}.tag{background:var(--primary-soft);color:var(--primary)}.tag.tag-soft{background:transparent;border:1px dashed var(--border);color:var(--text-3)}.notice{border-left-width:4px}.notice-ok{border-left-color:var(--ok)}.notice-err{border-left-color:var(--err)}.notice-warn{border-left-color:var(--warn)}.notice-info{border-left-color:var(--primary)}@media print{.page-title:after{display:none}thead th{background:none}}.channel-grid td.now-col,.channel-grid th.now-col{background:color-mix(in srgb,var(--accent) 7%,transparent)}.card.flat{box-shadow:none;padding:14px 16px}.all-ch-grid+.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:center}.ai-summary{border-left:3px solid var(--accent)}.ai-text h4{margin:14px 0 6px;font-size:14px}.ai-text h4:first-child{margin-top:0}.ai-text p,.ai-text ul{margin:4px 0;line-height:1.7}.ai-text ul{padding-left:20px}.mfa-setup{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.mfa-qr{background:#fff;padding:8px;border-radius:8px;border:1px solid var(--border);line-height:0}.mfa-qr svg{width:200px;height:200px}a.user-chip{color:inherit;text-decoration:none}a.user-chip:hover{text-decoration:underline}.line-targets{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.line-preview{white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.6;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin:0;max-width:520px}.fbar .menu.wide{left:auto;right:0;min-width:330px;max-width:calc(100vw - 32px);max-height:460px}.fbar .menu .nm{white-space:nowrap}.fbar .menu a.nm{color:var(--text);text-decoration:none;flex:1 1;border-radius:4px;padding:1px 4px;margin:-1px -4px}.fbar .menu a.nm:hover{background:var(--surface-2);color:var(--accent)}.fbar .menu .hint{margin-left:auto;padding-left:12px;color:var(--text-3);font-size:11px;white-space:nowrap}.fbar .menu label.sub{padding-left:22px}.fbar .menu label.sub .nm:before{content:"└ ";color:var(--text-3)}.thai-map{position:relative}.thai-map svg{width:100%;max-width:380px;display:block;margin:0 auto;border-radius:8px;background:var(--surface-2);-webkit-user-select:none;user-select:none}.thai-map-tools{position:absolute;top:4px;right:4px;display:flex;flex-direction:column;gap:4px;z-index:2}.thai-map-tools .btn{min-width:30px;padding:2px 8px;font-size:15px;background:var(--surface)}.thai-map-label{fill:#333;paint-order:stroke;stroke:rgba(255,255,255,.85);stroke-width:.25em;pointer-events:none;font-weight:600}.thai-map-legend{display:flex;align-items:center;gap:6px;justify-content:center;font-size:11px;margin-top:8px;color:var(--text-2)}.thai-map-legend .bar{width:140px;height:10px;border-radius:3px;border:1px solid var(--border)}.thai-map-credit{text-align:center;font-size:10px;color:var(--text-3);margin-top:2px}.thai-map path{transition:fill .2s}.thai-map-tip{text-align:center;color:var(--text-2);margin-top:4px;min-height:1.4em}.heatmap{border-collapse:separate;border-spacing:2px}.heatmap td,.heatmap th{padding:3px 2px;min-width:22px;text-align:center;border:none}.heatmap tbody td:not(:first-child):not(:last-child){height:24px;border-radius:3px}.chart .bar-link{cursor:pointer}.chart .bar-link:hover .bar-hit{fill:var(--surface-2)}.chart .bar-link:hover rect:not(.bar-hit){opacity:.85}.sidebar{gap:14px}.nav-link{padding:7px 10px}.nav-icon{flex:none;opacity:.75}.nav-link.active .nav-icon,.nav-link:hover .nav-icon{opacity:1}.nav-fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-sm);padding-top:6px;padding-bottom:6px;-webkit-user-select:none;user-select:none}.nav-fold>summary::-webkit-details-marker{display:none}.nav-fold>summary:after{content:"";width:7px;height:7px;border-right:1.6px solid;border-bottom:1.6px solid;transform:rotate(-45deg);transition:transform .15s;margin-right:4px}.nav-fold[open]>summary:after{transform:rotate(45deg)}.nav-fold>summary:hover{background:var(--surface-2);color:var(--text-2)}.nav-fold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kpi-value,.num,table{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.skel{background:linear-gradient(90deg,var(--surface-2) 25%,color-mix(in srgb,var(--surface-2) 55%,var(--surface)) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:skel 1.2s ease-in-out infinite;border-radius:8px}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.skel-kpi{height:92px}.skel-block{height:280px;margin-top:16px}.loading-note{color:var(--text-3);font-size:13px;margin-top:14px}.nav-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .15s}.nav-progress.on{opacity:1;transition-delay:.15s}.nav-progress:before{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:var(--accent);border-radius:0 2px 2px 0;animation:nav-progress 1.2s ease-in-out infinite}@keyframes nav-progress{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}@media (prefers-reduced-motion:reduce){.nav-progress:before{animation:none;width:100%}}@media (max-width:760px){.sidebar.nav-open>nav.nav-group{display:grid;grid-template-columns:1fr 1fr;gap:2px 6px}.sidebar.nav-open>nav.nav-group>.nav-label{grid-column:1/-1}.sidebar.nav-open>nav.nav-group .nav-link{font-size:13px}}.nav-search .input{width:100%;font-size:13px;padding:7px 10px}.nav-search+nav .nav-link .soon{white-space:nowrap}a.voice-card{display:block;color:inherit;text-decoration:none;margin-bottom:16px;border-left:3px solid var(--accent)}a.voice-card:hover{border-color:var(--accent);box-shadow:var(--shadow),0 0 0 1px var(--accent)}.voice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.voice-list{margin:6px 0 0;padding-left:20px;line-height:1.7;font-size:14px}.voice-headline{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);color:var(--text-2);font-size:13px}@media (max-width:760px){.voice-grid{grid-template-columns:1fr}}:root{--side-bg:#111129;--side-bg-2:#1c1c40;--side-text:#c4c6dc;--side-strong:#ffffff;--side-muted:#8689ad;--side-hover:rgba(255,255,255,0.07);--side-active:rgba(255,255,255,0.12);--side-border:rgba(255,255,255,0.09);--bg:#f4f4f7;--surface-2:#f0f0f5;--border:#e3e3ec;--radius:14px;--shadow:0 1px 2px rgba(17,17,41,0.05),0 6px 20px rgba(17,17,41,0.05)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--side-bg:#0b0c17;--side-bg-2:#12132a;--bg:#11131c;--surface-2:#20232f;--border:#2b2e3c}}:root[data-theme=dark]{--side-bg:#0b0c17;--side-bg-2:#12132a;--bg:#11131c;--surface-2:#20232f;--border:#2b2e3c}.sidebar{background:linear-gradient(180deg,var(--side-bg) 0,var(--side-bg-2) 100%);border-right:none;color:var(--side-text);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.sidebar .brand{padding:2px 8px 4px}.brand-home{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-decoration:none!important}.brand-logo{width:96px;height:auto;display:block}.sidebar .brand-name{font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--side-muted);padding-left:2px}.sidebar .nav-link{color:var(--side-text)}.sidebar .nav-link:hover{background:var(--side-hover);color:var(--side-strong)}.sidebar .nav-link.active{background:var(--side-active);color:var(--side-strong);font-weight:600}.sidebar .nav-label,.sidebar .nav-sublabel{color:var(--side-muted)}.sidebar .nav-fold>summary:hover{background:var(--side-hover);color:var(--side-strong)}.sidebar .soon{color:var(--side-muted);border-color:var(--side-border)}.sidebar .nav-search .input{background:rgba(255,255,255,.06);border:1px solid var(--side-border);color:var(--side-strong)}.sidebar .nav-search .input::placeholder{color:var(--side-muted)}.sidebar .nav-search .input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.sidebar-footer{border-top-color:var(--side-border)}.sidebar .user-chip,.sidebar a.user-chip{color:var(--side-strong)}.sidebar .user-chip .muted{color:var(--side-muted)!important}.sidebar .btn-ghost{color:var(--side-text);background:transparent;border-color:var(--side-border)}.sidebar .btn-ghost:hover{background:var(--side-hover);color:var(--side-strong)}.sidebar .nav-link:focus-visible{outline-color:var(--accent)}.nav-burger{background:rgba(255,255,255,.08);color:var(--side-strong);border-color:var(--side-border)}@media (max-width:760px){.sidebar{border-bottom:none}.brand-logo{width:72px}.sidebar .brand-name{display:none}}.page-title{font-size:26px;letter-spacing:-.01em}.card{border-color:var(--border)}.grid-3>.card,.grid-4>.card{border-top-width:3px}.kpi-label{font-weight:500}.btn{border-radius:10px}.login-art{background:linear-gradient(160deg,#111129,#1f1f48 60%,#2a2152);color:#ffffff}.login-logo-white{width:180px;height:auto;display:block}.print-logo{display:none}@media print{.print-logo{display:block;width:90px;margin-bottom:8px}}.spark{display:block;width:100%;height:36px;margin-top:8px;overflow:visible}.theme-toggle{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid var(--side-border);margin-top:auto}.theme-toggle button{font:inherit;font-size:11.5px;color:var(--side-text);background:transparent;border:0;border-radius:7px;padding:5px 2px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.theme-toggle button:hover{color:var(--side-strong);background:var(--side-hover)}.theme-toggle button.on{background:var(--side-active);color:var(--side-strong);font-weight:600}.theme-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.theme-toggle+.sidebar-footer{margin-top:10px}@media (max-width:760px){.sidebar>.theme-toggle{display:none}.sidebar.nav-open>.theme-toggle{display:grid}}.sidebar-footer .btn{white-space:nowrap;flex:none;padding-left:10px;padding-right:10px}.page-kicker{font-size:13px;color:var(--text-3);font-weight:500;margin-bottom:2px}:root{--zebra:color-mix(in srgb,var(--surface-2) 55%,var(--surface));--total-bg:color-mix(in srgb,var(--primary) 7%,var(--surface))}tbody tr:nth-child(2n)>:is(td,th:where([scope=row])){background-color:var(--zebra)}tbody tr.row-total:hover>:is(td,th:where([scope=row])),tbody tr.row-total>:is(td,th:where([scope=row])){background-color:var(--total-bg);font-weight:600;border-top:2px solid color-mix(in srgb,var(--primary) 25%,var(--border))}tbody tr:hover>:is(td,th:where([scope=row])){background-color:color-mix(in srgb,var(--accent) 7%,var(--surface))}:is(td,th:where([scope=row])).sticky-col{font-weight:500}thead th{color:var(--text-2);letter-spacing:.01em}.supply-settings{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 14px;align-items:end}.supply-settings label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-2)}.qty-input{width:92px;text-align:right;padding:4px 8px}.chips .chip-toggle{font-size:12.5px;border:1px solid var(--border);border-radius:999px;padding:4px 12px;background:var(--surface);color:var(--text-2);text-decoration:none;white-space:nowrap;transition:border-color .15s,background-color .15s,color .15s}.chips .chip-toggle:hover{border-color:var(--accent);color:var(--text);text-decoration:none}.chips .chip-toggle.on{border-color:var(--accent);background:var(--accent-soft);color:var(--text);font-weight:600}.expense-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 14px;align-items:end}.expense-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-2)}.expense-form .span-2{grid-column:span 2}@media (max-width:760px){.expense-form .span-2{grid-column:auto}}.nav-ext{display:flex;align-items:center;gap:8px}.nav-ext-dot{width:10px;height:10px;border-radius:3px;flex:none;background:linear-gradient(135deg,#7a5cff,#ff6b8b 55%,#ffb057)}.nav-ext-arrow{margin-left:auto;font-size:11px;opacity:.6}.nav-ext-sub{display:block;font-size:11px;opacity:.7}.pnl-table td,.pnl-table th{white-space:nowrap}.pnl-table .sticky-col{position:sticky;left:0;background:var(--surface);z-index:1;min-width:260px;white-space:normal}@media (max-width:760px){.pnl-table .sticky-col{min-width:140px;max-width:46vw;font-size:12px}.pnl-detail .sticky-col{padding-left:14px}}.table-wrap:has(.sticky-col) :is(td,th):not(.sticky-col) :is(a,button,input,select,textarea,summary){scroll-margin-inline-start:272px}@media (max-width:760px){.table-wrap:has(.sticky-col) :is(td,th):not(.sticky-col) :is(a,button,input,select,textarea,summary){scroll-margin-inline-start:calc(46vw + 8px)}.budget-grid .sticky-col{min-width:110px;max-width:34vw}.budget-grid :is(td,th):not(.sticky-col) :is(a,button,input,select,textarea,summary){scroll-margin-inline-start:calc(34vw + 8px)}}.pnl-head :is(td,th:where([scope=row])){padding-top:14px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);border-bottom:0}.pnl-sub :is(td,th:where([scope=row])){font-weight:600;border-top:1px solid var(--border)}.pnl-pct :is(td,th:where([scope=row])){font-size:12px;color:var(--text-3)}.pnl-detail :is(td,th:where([scope=row])){font-size:12px}.pnl-detail .sticky-col{padding-left:26px}.pnl-neg{color:var(--err)}.staff-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.staff-card{display:flex;flex-direction:column;gap:6px}.staff-head{display:flex;gap:10px;align-items:center}.staff-avatar{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;background:#2b4a7a}.staff-avatar,.staff-name{font-weight:700}.staff-contact{display:flex;flex-direction:column;gap:3px}.staff-contact a{text-decoration:none}.staff-phone{font-weight:600;font-size:14px}.staff-actions{display:flex;gap:10px;align-items:center;margin-top:4px;border-top:1px solid var(--border);padding-top:6px}.bill-drop{border-style:dashed}.brand-owners{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:-4px 0 10px}.budget-input{width:96px;text-align:right;padding:3px 6px;font-size:12px}.my-tasks{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:0 0 12px}.grid>.card+.card,.grid>.section+.section{margin-top:0}.kpi-value{font-size:clamp(19px,1.8vw,26px);line-height:1.2}.kpi-value.big{font-size:clamp(21px,2.2vw,30px);white-space:nowrap;overflow-wrap:normal}.grid-5 .kpi-value.big{font-size:clamp(19px,1.75vw,28px)}@media (max-width:960px){.grid-5 .kpi-value.big,.kpi-value.big{font-size:24px}}@media (max-width:760px){.all-ch-grid+.grid-2{grid-template-columns:1fr}.tabs{max-width:100%;overflow-x:auto;scrollbar-width:thin}.card:has(>table),.section:has(>table){overflow-x:auto}}@media (max-width:1080px) and (min-width:761px){.grid-2.stack-md{grid-template-columns:1fr}}.line-targets{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.fbar .menu.wide{min-width:min(330px,calc(100vw - 32px))}.channel-grid tbody tr.row-total:not(.strong)>:is(td,th:where([scope=row])){background-color:var(--total-bg);border-top:2px solid color-mix(in srgb,var(--primary) 25%,var(--border))}.pnl-table tbody tr:nth-child(2n)>:is(td,th:where([scope=row])).sticky-col{background-color:var(--zebra)}.pnl-table tbody tr:hover>:is(td,th:where([scope=row])).sticky-col{background-color:color-mix(in srgb,var(--accent) 7%,var(--surface))}.btn-danger{color:var(--err)}.btn-danger:hover{color:var(--err);background:var(--err-soft);border-color:var(--err)}.upper{text-transform:uppercase}.row-inactive{opacity:.55}.input.mono,textarea.mono{font-family:ui-monospace,Consolas,monospace;font-size:12.5px}.nowrap{white-space:nowrap}.grade-A{background:var(--ok-soft);color:var(--ok)}.grade-B{background:var(--warn-soft);color:var(--warn)}.thai-map-label{fill:var(--text);stroke:color-mix(in srgb,var(--surface) 85%,transparent)}@media print{:root:root:root{--bg:#ffffff;--surface:#ffffff;--surface-2:#f0f0f5;--border:#e3e3ec;--text:#1c2430;--text-2:#5b6472;--text-3:#8a92a0;--primary:#111129;--primary-hover:#26264a;--primary-soft:#e9e9f1;--on-primary:#ffffff;--accent:#e0703a;--accent-soft:#fcebe1;--on-accent:#ffffff;--ok:#2f8f5b;--ok-soft:#e3f3ea;--warn:#9a6512;--warn-soft:#fbf1de;--err:#c2413a;--err-soft:#fbe7e5;--cat-makeup:#d14d72;--cat-personal_care:#d98a1f;--cat-skincare:#3a78c2;--cat-other:#8a92a0;--kpi-1:#111129;--kpi-2:#e0703a;--kpi-3:#2f8f5b;--kpi-4:#3a78c2;color-scheme:light}}button.chip-toggle{font:inherit;font-size:12.5px;cursor:pointer}input[type=file]{font:inherit;font-size:13px;color:var(--text-2);max-width:100%}input[type=file]::file-selector-button{font:inherit;font-size:13px;font-weight:600;margin-right:10px;padding:7px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}input[type=file]::file-selector-button:hover{background:var(--surface-2);border-color:var(--text-3)}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-head{font-size:12px;font-weight:600;color:var(--text-3);text-align:center;padding:2px 0 4px}.cal-cell{min-height:92px;border:1px solid var(--border);border-radius:8px;padding:5px 6px;background:var(--surface);display:flex;flex-direction:column;gap:3px;min-width:0}.cal-cell.empty{background:transparent;border-style:dashed;opacity:.5}.cal-cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal-day{font-size:12px;font-weight:600;color:var(--text-2);display:flex;gap:4px;align-items:baseline;flex-wrap:wrap}.cal-marker{font-size:10px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:0 4px}.cal-chip{display:block;font-size:11px;line-height:1.35;color:#fff;border-radius:4px;padding:1px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.cal-chip:hover{text-decoration:none;filter:brightness(1.08)}@media (max-width:760px){.cal{gap:2px}.cal-cell{min-height:58px;padding:3px}.cal-chip{font-size:9.5px;padding:0 3px}.cal-marker{display:none}}.campaign-list td:first-child{min-width:220px}.input{max-width:100%}.actions>.field,.row-form>.field{min-width:0;max-width:100%}@media (max-width:760px){.fbar .menu,.fbar .menu.wide{position:fixed;left:12px;right:12px;min-width:0;max-width:none}}.nav-count{margin-left:auto;min-width:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.nav-burger .nav-count{margin-left:6px}.dec-list{display:grid;gap:14px}.dec-card{display:grid;gap:10px}.dec-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;color:var(--text-2)}.dec-code{color:var(--primary)}.dec-title{font-size:17px;margin:0;line-height:1.4}.dec-detail{margin:0;color:var(--text-2);white-space:pre-line;line-height:1.6}.dec-form{display:grid;gap:10px}.dec-options{display:grid;gap:8px}.dec-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;line-height:1.5}.dec-option input{margin-top:4px;flex:none}.dec-option.rec{border-color:var(--accent)}.dec-option:has(input:checked){background:var(--primary-soft);border-color:var(--primary)}.dec-rec{display:inline-block;margin-left:8px;padding:0 8px;border-radius:999px;background:var(--warn-soft);color:var(--warn);font-size:12px;font-weight:600;white-space:nowrap}.dec-form textarea{width:100%;resize:vertical}.dec-form .btn{justify-self:start}.dec-answer{display:grid;gap:4px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2)}.dec-note{white-space:pre-line}.dec-edit>summary{cursor:pointer;color:var(--primary);font-size:14px}.dec-edit[open]>summary{margin-bottom:10px}.dec-chips,.dec-sort{margin-bottom:12px}.dec-sort{align-items:center}.rt-link{color:var(--primary);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.dec-attach,.dec-media{display:grid;gap:10px}.dec-media{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.dec-fig{margin:0;display:grid;gap:4px;min-width:0}.dec-fig.wide{grid-column:1/-1}.dec-fig img{width:100%;max-height:360px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);display:block}.dec-fig video{width:100%;max-height:70vh;border-radius:var(--radius-sm);background:#000;display:block}.dec-fig audio{width:100%}.dec-fig figcaption{font-size:13px;color:var(--text-2);overflow-wrap:anywhere}.dec-links{display:flex;flex-wrap:wrap;gap:8px}.dec-links .btn{overflow-wrap:anywhere;text-align:left}.dec-content{border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px}.dec-content>summary{cursor:pointer;padding:10px 0;font-weight:600;color:var(--primary)}.dec-content[open]>summary{border-bottom:1px solid var(--border);margin-bottom:8px}.dec-content .md{padding-bottom:12px;max-height:70vh;overflow:auto;overscroll-behavior:contain}.md{line-height:1.65;overflow-wrap:anywhere}.md-h{margin:14px 0 6px;line-height:1.4}.md-h1{font-size:18px}.md-h2{font-size:16px}.md-h3,.md-h4{font-size:15px}.md-p{margin:6px 0;white-space:pre-line}.md-list{margin:6px 0;padding-left:22px}.md-list li{margin:2px 0}.md-quote{margin:8px 0;padding:6px 12px;border-left:3px solid var(--border);color:var(--text-2);white-space:pre-line}.md-code{margin:8px 0;padding:10px;border-radius:var(--radius-sm);overflow-x:auto;white-space:pre;font-size:13px}.md code,.md-code{background:var(--surface-2)}.md code{padding:0 4px;border-radius:4px;font-size:.92em}.md-hr{border:0;border-top:1px solid var(--border);margin:12px 0}.md-table-wrap{overflow-x:auto;margin:8px 0;-webkit-overflow-scrolling:touch}.md-table{border-collapse:collapse;font-size:14px;min-width:100%}.md-table td,.md-table th{border:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top;overflow-wrap:normal;word-break:normal;min-width:72px}.md-table th{background:var(--surface-2);font-weight:600}@media (max-width:760px){.dec-form .btn{justify-self:stretch;padding:12px}.dec-option{padding:12px}.dec-media{grid-template-columns:1fr 1fr}.dec-links .btn{flex:1 1 100%}}.email-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px 20px}.email-row{display:grid;gap:4px;min-width:0}.email-row .input{width:100%}@media (max-width:760px){.email-grid{grid-template-columns:1fr}.pending-table thead{display:none}.pending-table,.pending-table tbody,.pending-table td,.pending-table tr{display:block;width:100%}.pending-table tr{padding:10px 0;border-bottom:1px solid var(--border)}.pending-table td{border:none;padding:4px 0}.pending-table select.input{max-width:100%}}.fm{padding:6px 0}.fm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.fm-scroll:focus-visible{outline:2px solid var(--focus,var(--accent));outline-offset:2px}.fm-head,.fm-row>.fm-line{display:grid;gap:6px;align-items:center;padding:8px 14px}.fm-head{font-size:12px;color:var(--text-2);border-bottom:1px solid var(--border)}.fm-sort{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;white-space:nowrap}.fm-sort:hover{text-decoration:underline}.fm-sort.num{text-align:right;justify-self:end}.fm-hc{display:flex;min-width:0}.fm-hc.num{justify-content:flex-end}button.fm-brand{font:inherit;font-weight:600;color:inherit;background:none;border:0;padding:0;margin:0;text-align:left;cursor:pointer}.fm-row{border-bottom:1px solid var(--border)}.fm-row:last-child{border-bottom:none}.fm-row>.fm-line{cursor:pointer}.fm-row.open>.fm-line,.fm-row>.fm-line:hover{background:var(--surface-2)}.fm-brand{font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fm-brand:before{content:"▸";color:var(--text-3);transition:transform .15s;display:inline-block}.fm-row.open .fm-brand:before{transform:rotate(90deg)}.fm-cell{border-radius:6px;padding:4px 8px;display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.fm-sub{font-size:11px;color:var(--text-2);font-weight:400}.fm-all{color:var(--text);font-weight:600}.fm-bucket td{font-weight:600;background:var(--surface-2)}.fm-grp td:first-child{padding-left:16px}.fm-periods{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.fm-periods>span{min-width:56px}.fm-sum{font-weight:700}.fm-up{color:var(--err)}.fm-down,.fm-up{font-size:11px;font-weight:600;white-space:nowrap}.fm-down{color:var(--ok)}.fm-body{padding:12px 14px 16px;background:var(--surface-2)}.fm-tblwrap{overflow-x:auto}.fm-tbl{width:100%;min-width:620px;border-collapse:collapse;font-size:13px;background:var(--surface);border-radius:var(--radius-sm);overflow:hidden}.fm-tbl td,.fm-tbl th{padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}.fm-tbl td.num,.fm-tbl th.num{text-align:right;white-space:nowrap}.fm-tbl thead th{font-size:12px;color:var(--text-2);background:var(--surface-2)}.fm-tbl tr[data-b=platform]{--tint:234 88 12}.fm-tbl tr[data-b=marketing]{--tint:124 58 237}.fm-tbl tr[data-b=shipping]{--tint:14 116 144}.fm-tbl tr[data-lv="1"] :is(td,th:where([scope=row])){background:rgb(var(--tint)/.3);font-weight:700}.fm-tbl tr[data-lv="2"] :is(td,th:where([scope=row])){background:rgb(var(--tint)/.15)}.fm-tbl tr[data-lv="3"] :is(td,th:where([scope=row])){background:rgb(var(--tint)/.06);font-size:12px}.fm-tbl tr[data-lv="2"] :is(td,th:where([scope=row])):first-child{padding-left:22px}.fm-tbl tr[data-lv="3"] :is(td,th:where([scope=row])):first-child{padding-left:40px}.fm-tbl tr.fm-rev :is(td,th:where([scope=row])){font-weight:600}.fm-tbl tr.fm-total :is(td,th:where([scope=row])){font-weight:700;border-top:2px solid var(--border);background:var(--surface-2)}.fm-detail{margin:0}.fm-items>summary{cursor:pointer}.fm-items ul{list-style:none;margin:6px 0 2px 12px;padding:0;font-size:12px;color:var(--text-2)}.fm-items li{display:flex;justify-content:space-between;gap:10px;padding:1px 0}.fm-total :is(td,th:where([scope=row])){font-weight:700;border-top:1px solid var(--border)}.fm-alert{border-left:3px solid var(--warn);margin-bottom:12px}.fm-alert ul{margin:0;padding-left:18px}.fm-alert li{margin:4px 0}@media (max-width:760px){.fm-head,.fm-row>.fm-line{font-size:12px;padding:8px}.fm-body{padding:8px}}.kp-h{font-size:17px;margin:22px 0 10px}.kp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.kp-card{display:flex;align-items:center;justify-content:space-between;gap:12px;color:inherit;text-decoration:none}.kp-card:hover{border-color:var(--text-3)}.kp-card-main{min-width:0}.kp-name{font-weight:700;font-size:16px}.kp-score{text-align:center;min-width:76px;padding:6px 8px;border-radius:10px;background:var(--surface-2)}.kp-score b{display:block;font-size:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kp-score span{font-size:12px;color:var(--text-2)}.kp-g-A,.kp-g-B{color:var(--ok)}.kp-g-C{color:var(--warn)}.kp-g-D,.kp-g-E{color:var(--err)}.kp-score.kp-g-A,.kp-score.kp-g-B{background:var(--ok-soft)}.kp-score.kp-g-C{background:var(--warn-soft)}.kp-score.kp-g-D,.kp-score.kp-g-E{background:var(--err-soft)}.kp-summary{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;margin-bottom:14px}.kp-summary-note{flex:1 1 260px}.kp-big{font-size:34px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.kp-items{display:grid;gap:10px}.kp-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.kp-item-title{font-weight:700}.kp-measure{color:var(--text-2);margin-top:2px}.kp-ach{font-size:22px;font-weight:800;min-width:64px;text-align:right;color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kp-ach.up{color:var(--ok)}.kp-ach.mid{color:var(--warn)}.kp-ach.down{color:var(--err)}.kp-nums{display:flex;gap:24px;margin-top:8px;flex-wrap:wrap}.kp-nums>div{display:flex;flex-direction:column}.kp-nums b{font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kp-note{margin-top:6px;color:var(--text-2)}.kp-form{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.kp-form .input{flex:1 1 140px;min-width:0}.kp-override{margin-top:6px}.kp-override summary{cursor:pointer;color:var(--text-2)}.kp-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;align-items:end;margin-top:10px}.kp-form-grid .kp-wide{grid-column:1/-1}.kp-history,.kp-new{margin-top:12px}.kp-history>summary,.kp-item>summary,.kp-new>summary{cursor:pointer;font-weight:600}.kp-history ul{margin:8px 0 0;padding-left:18px}.kp-brands{border:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}.kp-brands legend{margin-bottom:6px}.kp-warn{color:var(--warn);font-size:13px;white-space:nowrap}.kp-inbox{margin-bottom:12px}.kp-inbox-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.kp-inbox ul{margin:8px 0 0;padding-left:18px}.kp-n-warn>:first-child,li.kp-n-warn::marker{color:var(--warn)}li.kp-n-err::marker{color:var(--err)}.kp-notices{list-style:none;padding:0;margin:0;display:grid;gap:8px}.kp-notices .kp-n{padding:0;border-left:4px solid var(--border)}.kp-notices .kp-n-warn{border-left-color:var(--warn)}.kp-notices .kp-n-err{border-left-color:var(--err)}.kp-notices .kp-n.read{opacity:.65}.kp-n-btn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:4px;width:100%;padding:12px 14px}.kp-n-btn:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.kp-n-body{white-space:pre-line}.kp-checks{list-style:none;padding:0;margin:0;display:grid;gap:8px}.kp-checks li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm)}.kp-checks li>div{flex:1 1;min-width:0}.kp-checks li.ok{background:var(--ok-soft);border-color:transparent}.kp-check-mark{font-size:18px;width:22px;text-align:center}.kp-checks li.ok .kp-check-mark{color:var(--ok)}.kp-checks li.todo .kp-check-mark{color:var(--warn)}.kp-coach{margin-top:14px}.kp-coach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.kp-coach h3{font-size:14px;margin:0 0 6px;color:var(--text-2)}.kp-coach ul{margin:0;padding-left:18px;display:grid;gap:4px}.kp-inc-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;align-items:end;margin-top:10px}.kp-inc-form label{display:flex;flex-direction:column;gap:4px;font-size:13px}.kp-inc-list{display:grid;gap:10px;margin-top:10px}.kp-inc{border-left:4px solid var(--border)}.kp-inc-disputed,.kp-inc-pending{border-left-color:var(--warn)}.kp-inc-confirmed{border-left-color:var(--err)}.kp-inc-dismissed{opacity:.65}.kp-inc-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.kp-inc-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap}.kp-st-confirmed{border-color:var(--err);color:var(--err)}.kp-st-disputed,.kp-st-pending{border-color:var(--warn);color:var(--warn)}@media (max-width:640px){.kp-grid{grid-template-columns:1fr}.kp-big{font-size:28px}.kp-form .btn{flex:1 1 100%}}.warn-text{color:var(--warn);font-weight:600}.err-text{color:var(--err)}.sa-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.sa-stats>div{background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 14px;min-width:110px;display:flex;flex-direction:column}.sa-stats b{font-size:22px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sa-stats span{font-size:12.5px;color:var(--text-2)}.sa-code{font-size:11.5px;color:var(--text-2);word-break:break-all}.sa-simulated{border-color:var(--ok);color:var(--ok)}.sa-blocked{border-color:var(--err);color:var(--err)}.kp-inc-form .kp-wide{grid-column:1/-1}.sa-fieldset{border:1px dashed var(--border);border-radius:var(--radius-sm);padding:8px 10px}.warn-list{margin:6px 0 10px;padding-left:18px;color:var(--warn)}.sa-list{list-style:none;padding:0;margin:4px 0 8px;display:grid;gap:4px}.sa-list li{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.lots-layout{display:grid;gap:16px;align-items:start;grid-template-columns:minmax(0,1fr)}@media (min-width:1280px){.lots-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.mt-list{display:grid;gap:8px}.mt-item{display:block;color:inherit;text-decoration:none}.mt-item:hover{border-color:var(--text-3)}.mt-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.mt-line{margin-top:4px;color:var(--text-2)}.mt-h{font-size:14.5px;margin:14px 0 6px}.mt-sum ul{margin:0;padding-left:20px}.mt-form,.mt-sum ul{display:grid;gap:4px}.mt-form textarea{width:100%}.mt-transcript{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:13.5px;max-height:70vh;overflow:auto;background:var(--surface-2);padding:12px;border-radius:var(--radius-sm)}.mt-recips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.mt-recips .chip{display:inline-flex;gap:6px;align-items:center;font-size:13px}.mt-omit{background:var(--warn-soft);border-radius:var(--radius-sm);padding:8px 12px;margin:6px 0 10px}.mt-omit ul{margin:4px 0 0;padding-left:18px}.mt-sig{margin:2px 0 8px}.conn-overview{display:flex;flex-direction:column;gap:14px}.conn-group{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:start}.conn-group+.conn-group{border-top:1px solid var(--border);padding-top:14px}.conn-group-title{font-weight:700;font-size:15px;color:var(--text);text-decoration:none;padding-top:8px}.conn-group-title:hover{color:var(--accent)}.conn-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.conn-tile{display:block;border-left:1px solid var(--border);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius-sm);padding:9px 12px;background:var(--surface);color:inherit;text-decoration:none;transition:border-color .15s,background-color .15s}.conn-tile:hover{background:var(--surface-2)}.conn-tile.conn-ok{border-left-color:var(--ok)}.conn-tile.conn-warn{border-left-color:var(--warn)}.conn-tile.conn-err{border-left-color:var(--err)}.conn-tile-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:600;font-size:14px}.conn-tile-line{font-size:12px;color:var(--text-2);margin-top:4px;line-height:1.4}@media (max-width:760px){.conn-group{grid-template-columns:1fr;gap:6px}.conn-group-title{padding-top:0}}th[data-sortable="1"]{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th[data-sortable="1"]:hover{text-decoration:underline}th[data-sortable="1"][data-dir=desc]:after{content:" ▼";font-size:10px;color:var(--text-3)}th[data-sortable="1"][data-dir=asc]:after{content:" ▲";font-size:10px;color:var(--text-3)}.tip-dot{display:inline-block;position:relative;margin-left:4px;vertical-align:middle}.tip-dot>summary{list-style:none;cursor:pointer;width:16px;height:16px;line-height:16px;text-align:center;border-radius:50%;font-size:11px;font-weight:700;background:var(--warn);color:#fff}.tip-dot>summary::-webkit-details-marker{display:none}.tip-dot .tip-body{position:absolute;z-index:20;left:0;top:20px;min-width:220px;max-width:320px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 12px rgb(0 0 0/.15);font-size:12px;color:var(--text);white-space:normal}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-60px;z-index:1100;background:var(--surface);color:var(--text);border:2px solid var(--focus);border-radius:var(--radius-sm);padding:8px 14px;font-weight:600;box-shadow:var(--shadow)}.skip-link:focus{top:12px;text-decoration:none}.main:focus{outline:none}:is(td,th:where([scope=row])) a:not(.btn):not(.chip-toggle):not(.tag){text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}:is(td,th:where([scope=row])) a:not(.btn):not(.chip-toggle):not(.tag):focus-visible,:is(td,th:where([scope=row])) a:not(.btn):not(.chip-toggle):not(.tag):hover{text-decoration-thickness:2px}.mix-bar span+span{box-shadow:inset 1px 0 0 var(--surface)}.kp-item{scroll-margin-top:12px}.empty-hint{margin-top:4px}.my-tasks-slot{height:30px;width:min(320px,100%);margin:0 0 12px}.voice-card-slot{margin-bottom:16px;border-left:3px solid var(--border)}@media (max-width:640px){.btn-sm,.nav-burger,.tab,.theme-toggle button{min-height:44px}.btn-sm,.theme-toggle button{min-width:44px}.tab{display:inline-flex;align-items:center}}.chart-wrap{min-width:0}.chart-box{container:chart/inline-size;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 22px;width:100%;padding:8px 14px 0 0}.chart-box.has-x-title{grid-template-rows:minmax(0,1fr) 40px}.chart-box>.chart-y{grid-column:1;grid-row:1;position:relative}.chart-box>svg.chart{grid-column:2;grid-row:1;width:100%;height:100%;overflow:visible}.chart-box>.chart-x{grid-column:2;grid-row:2;position:relative}.chart-ax{position:absolute;font-size:12px;line-height:1;color:var(--text-3);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;pointer-events:none}.chart-y>.chart-ax{right:6px;transform:translateY(-50%)}.chart-x>.chart-ax{top:6px;transform:translateX(-50%)}.chart-x>.chart-ax-title{left:50%;top:24px}@container chart (width < 360px){.chart-x [data-h~=a]{display:none}}@container chart (360px <= width < 520px){.chart-x [data-h~=b]{display:none}}@container chart (520px <= width < 720px){.chart-x [data-h~=c]{display:none}}@container chart (720px <= width < 960px){.chart-x [data-h~=d]{display:none}}@container chart (width >= 960px){.chart-x [data-h~=e]{display:none}}.chart-data{margin-top:8px}.chart-data>summary{cursor:pointer;width:fit-content;font-size:12.5px;color:var(--text-2);padding:4px 2px}.chart-data>summary:hover{color:var(--text)}.chart-data[open]>summary{margin-bottom:6px}.chart-data table{font-size:13px}.chart-data tbody th{white-space:nowrap}.table-sticky{max-height:min(640px,72vh);overflow:auto}:where(.table-sticky) thead th{position:sticky;top:0;z-index:2;box-shadow:inset 0 -1px 0 var(--border)}.table-sticky thead th.sticky-col{z-index:3}@media (max-width:760px){:where(.table-sticky) thead th:first-child{left:0;z-index:3}:where(.table-sticky) tbody :is(td,th):first-child{position:sticky;left:0;z-index:1;background-color:var(--surface);max-width:46vw}}.stock-name{max-width:360px}@media (max-width:760px){.stock-name{width:40vw;min-width:40vw;max-width:40vw}}.tab.has-new:not(.active){color:var(--err);font-weight:600}.tabs.tabs-page{margin:4px 0 14px}.fbar .menu .opt-row{display:flex;align-items:center;gap:4px;border-radius:6px}.fbar .menu .opt-row:hover{background:var(--surface-2)}.fbar .menu .opt-row>label{flex:1 1;min-width:0;padding-top:6px;padding-bottom:6px}.fbar .menu [data-g][hidden],.fbar .menu [data-opt][hidden]{display:none}.fbar .menu input[type=checkbox]{width:17px;height:17px;margin:0;flex:none;accent-color:var(--accent);cursor:pointer}.fbar .menu .only{flex:none;font-size:11.5px;color:var(--text-3);padding:4px 6px;border-radius:6px;white-space:nowrap;text-decoration:none}.fbar .menu .only:focus-visible,.fbar .menu .only:hover{color:var(--text);background:var(--accent-soft);text-decoration:none}.fbar .menu .menu-search{width:100%;font:inherit;font-size:13px;padding:6px 8px;margin:0 0 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);position:sticky;top:-10px;z-index:1}@media (max-width:640px){.fbar .menu .opt-row>label{min-height:44px}.fbar .menu .only{min-height:44px;display:inline-flex;align-items:center}}