:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#1f2433;--primary-ink:#fff;--accent:#e07a3f;--ink:#161a24;--muted:#5f6575;--bg-a:#f3f4f8;--bg-b:#dde1ec;--soft:#e6e8f0;--s1:#4338ca;--s2:#e07a3f;--prev:#a3a7b4;--font-head:"Prompt", "IBM Plex Sans Thai", system-ui, sans-serif;--font-body:"IBM Plex Sans Thai", "Prompt", system-ui, sans-serif;--card:#ffffffb8;--card-border:#ffffffd9;--line:#14182814;--good:#13803a;--bad:#c2352f;--radius:28px;--radius-sm:16px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:var(--bg-a);-webkit-font-smoothing:antialiased;transition:background-color .4s}.app{background:radial-gradient(1100px 520px at 12% -10%, color-mix(in srgb, var(--bg-b) 90%, white) 0%, transparent 60%), radial-gradient(900px 520px at 100% 0%, color-mix(in srgb, var(--s2) 22%, var(--bg-a)) 0%, transparent 55%), radial-gradient(1000px 700px at 50% 110%, color-mix(in srgb, var(--s1) 12%, var(--bg-a)) 0%, transparent 60%), var(--bg-a);min-height:100vh;padding:20px clamp(12px,3vw,36px) 32px;transition:background .4s}button,input,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--font-head);margin:0}.muted{color:var(--muted)}.small{font-size:12px}.strong{font-weight:600}.ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.topbar{align-items:center;gap:16px;max-width:1480px;margin:0 auto 18px;display:flex}.logo-pill{border:1.5px solid color-mix(in srgb, var(--ink) 25%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff8c;border-radius:999px;align-items:center;min-width:150px;height:52px;padding:0 22px;display:flex}.logo-img{width:auto;height:26px;display:block}.logo-word{font-family:var(--font-head);letter-spacing:.04em;color:var(--primary);white-space:nowrap;font-size:18px;font-weight:600}[data-brand=all] .logo-word{color:var(--ink)}.tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);scrollbar-width:none;background:#ffffffb3;border-radius:999px;gap:4px;margin-left:auto;padding:5px;display:flex;overflow-x:auto;box-shadow:inset 0 1px #ffffffe6,0 8px 24px #1418280d}.tab{color:var(--ink);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:500;transition:background .2s,color .2s}.tab:hover{background:var(--soft)}.tab.on{background:var(--primary);color:var(--primary-ink)}.top-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.sync-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffbf;border:0;border-radius:999px;align-items:center;gap:8px;height:46px;padding:0 18px;font-size:14px;font-weight:500;display:flex;box-shadow:0 8px 24px #1418280d}.sync-btn:hover:not(:disabled){background:#fff}.sync-btn:disabled{cursor:progress}.sync-btn svg{color:var(--s1)}.sync-btn.spinning svg{animation:1s linear infinite spin}.sync-ago{color:var(--muted);font-size:12px;font-weight:400}@keyframes spin{to{transform:rotate(360deg)}}.user{position:relative}.avatar{background:#ffffffbf;border:0;border-radius:50%;width:46px;height:46px;font-weight:600;box-shadow:0 8px 24px #1418280d}.menu{z-index:20;background:#fff;border-radius:18px;flex-direction:column;gap:2px;min-width:240px;padding:10px;display:flex;position:absolute;top:54px;right:0;box-shadow:0 20px 50px #1418282e}.menu-email{word-break:break-all;padding:6px 10px 0;font-weight:600}.menu-info{color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px;padding:2px 10px 8px;font-size:12px}.menu button,.menu a{text-align:left;color:var(--ink);background:0 0;border:0;border-radius:10px;padding:9px 10px;font-size:14px;text-decoration:none}.menu button:hover,.menu a:hover{background:var(--soft)}.banner{background:#fffc;border-radius:14px;max-width:1480px;margin:0 auto 12px;padding:10px 16px;font-size:14px}.banner-error{color:#8a1f17;background:#fdecea}.sync-progress{background:#ffffffb3;border-radius:999px;align-items:center;max-width:1480px;height:30px;margin:0 auto 12px;padding:0 16px;font-size:13px;display:flex;position:relative;overflow:hidden}.sync-progress span{position:relative}.sync-progress-bar{background:color-mix(in srgb, var(--s1) 18%, transparent);transition:width .4s;position:absolute;inset:0 auto 0 0}.main{max-width:1480px;margin:0 auto}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.data-note{color:var(--muted);padding-bottom:8px;font-size:13px}.data-note strong{color:var(--ink)}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.segmented{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);scrollbar-width:none;background:#ffffffb3;border-radius:999px;gap:2px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.segmented button{white-space:nowrap;color:var(--ink);background:0 0;border:0;border-radius:999px;padding:7px 14px;font-size:13px}.segmented button:hover{background:var(--soft)}.segmented button.on{background:var(--primary);color:var(--primary-ink)}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.field input,.field select{height:38px;color:var(--ink);background:#fffc;border:1px solid #ffffffe6;border-radius:12px;min-width:140px;padding:0 12px;font-size:14px}.field.wide select{min-width:220px;max-width:300px}.field input:focus,.field select:focus,button:focus-visible{outline:2px solid var(--s1);outline-offset:2px}.chip-clear{background:var(--primary);height:38px;color:var(--primary-ink);border:0;border-radius:999px;padding:0 14px;font-size:13px}.grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}@media (width<=1180px){.span-3{grid-column:span 6}.span-4,.span-5,.span-7,.span-8{grid-column:span 12}}@media (width<=760px){.grid{gap:12px}.span-3,.span-6{grid-column:span 12}.topbar{flex-wrap:wrap}.tabs{order:3;width:100%;margin-left:0}.sync-ago{display:none}}.card{border-radius:var(--radius);background:var(--card);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:0;padding:22px;position:relative;box-shadow:0 10px 30px #1418280d}.card-dark{background:var(--primary);color:var(--primary-ink);border-color:#0000}[data-brand=nutriflow] .card-dark{background:linear-gradient(160deg,#1d47cf,#14338f)}[data-brand=dwpharma] .card-dark{background:linear-gradient(160deg,#1d7a3e,#1b2a20)}[data-brand=haircare] .card-dark{background:linear-gradient(160deg,#0b3466,#011f44)}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.card-title{letter-spacing:-.01em;font-size:18px;font-weight:500}.card-sub{color:var(--muted);margin:4px 0 0;font-size:12.5px}.dash.is-loading .card{opacity:.85}.empty{text-align:center;color:var(--muted);padding:28px 8px;font-size:14px}.skeleton{background:linear-gradient(90deg, var(--soft) 0%, #fffc 50%, var(--soft) 100%);background-size:200% 100%;border-radius:16px;animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin:6px 0 22px;display:flex}.hero-kicker{color:var(--muted);margin:0 0 4px;font-size:14px}.hero-title{letter-spacing:-.02em;font-size:clamp(32px,4.4vw,52px);font-weight:400;line-height:1.1}.hero-range{margin:8px 0 18px;font-size:15px}.hero-range span{color:var(--muted)}.pills{flex-wrap:wrap;gap:14px;display:flex}.pill-meter{flex-direction:column;gap:6px;min-width:170px;display:flex}.pill-label{color:var(--muted);font-size:13px}.pill-track{border:1.5px solid color-mix(in srgb, var(--ink) 18%, transparent);background:#ffffff80;border-radius:999px;width:220px;height:36px;overflow:hidden}.pill-fill{white-space:nowrap;border-radius:999px;align-items:center;min-width:52px;height:100%;padding:0 14px;font-size:13px;font-weight:500;transition:width .5s;display:flex}.pill-fill.dark{background:var(--primary);color:var(--primary-ink)}.pill-fill.accent{background:var(--s2);color:#fff}.pill-fill.striped{color:var(--ink);background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--s1) 30%, white) 0 6px, color-mix(in srgb, var(--s1) 14%, white) 6px 12px)}.hero-stats{gap:clamp(18px,3vw,44px);display:flex}.stat-value{font-family:var(--font-head);letter-spacing:-.02em;font-size:clamp(30px,3.6vw,48px);font-weight:300;line-height:1}.stat-label{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:13px;display:flex}.kpi{flex-direction:column;gap:10px;display:flex}.kpi-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.kpi-label{color:var(--muted);font-size:14px}.kpi-value{font-family:var(--font-head);letter-spacing:-.02em;font-size:clamp(26px,2.4vw,34px);font-weight:400}.kpi-main .kpi-value{color:var(--s1);font-weight:500}.kpi-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:12px;display:flex}.delta{white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.delta-up{color:var(--good);background:#e3f4e8}.delta-down{color:var(--bad);background:#fbe6e4}.delta-flat{background:var(--soft);color:var(--muted)}.outlook-head{justify-content:space-between;align-items:baseline;display:flex}.outlook-big{font-family:var(--font-head);font-size:40px;font-weight:300}.outlook-sub{opacity:.75;margin:2px 0 12px;font-size:13px}.dark-track{background:#ffffff24;border-radius:999px;height:34px;margin-bottom:14px;overflow:hidden}.dark-track.light{background:var(--soft);height:14px;margin:18px 0}.dark-fill{background:repeating-linear-gradient(-45deg,#fffffff2 0 6px,#ffffffbf 6px 12px);border-radius:999px;height:100%;transition:width .5s}.dark-track.light .dark-fill{background:var(--s1)}.outlook-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.outlook-list li{border-top:1px solid #ffffff1f;justify-content:space-between;gap:10px;padding:10px 2px;font-size:13.5px;display:flex}.outlook-list li span{opacity:.8}.outlook-list strong{text-align:right;font-weight:500}.outlook-list em{background:#ffffff29;border-radius:999px;margin-left:4px;padding:2px 7px;font-size:12px;font-style:normal}.barlist{flex-direction:column;gap:4px;display:flex}.bar-row{text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:minmax(110px,1.2fr) minmax(60px,1.6fr) auto;align-items:center;gap:12px;width:100%;padding:7px 8px;display:grid}.bar-row.clickable:hover{background:#ffffffbf}.bar-row.active{box-shadow:inset 3px 0 0 var(--s1);background:#fff}.bar-label{flex-direction:column;min-width:0;display:flex}.bar-name{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.bar-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.bar-track{background:var(--soft);border-radius:999px;height:10px;overflow:hidden}.bar-fill{border-radius:999px;height:100%;transition:width .4s}.bar-value{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;font-size:13.5px;display:flex}.bar-value strong{font-weight:600}.bar-share{color:var(--muted);text-align:right;min-width:38px;font-size:12px}.link-btn{color:var(--s1);background:0 0;border:0;align-self:flex-start;padding:6px 8px;font-size:13px;font-weight:500}.link-btn:hover{text-decoration:underline}@media (width<=520px){.bar-row{grid-template-columns:1fr auto}.bar-track{grid-area:2/1/auto/-1}}.chart-box{width:100%}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-bottom:10px;font-size:13px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-dot{border-radius:3px;width:10px;height:10px;display:inline-block}.legend-line{border-radius:2px;width:18px;height:3px;display:inline-block}.chart-tip{background:#fff;border-radius:12px;min-width:160px;padding:10px 12px;font-size:13px;box-shadow:0 12px 32px #14182829}.chart-tip-title{margin-bottom:6px;font-weight:600}.chart-tip-row{align-items:center;gap:8px;padding:2px 0;display:flex}.chart-tip-row strong{margin-left:auto;font-weight:600}.recharts-wrapper:focus,.recharts-surface:focus{outline:none}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:12px;font-weight:500}.table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 10px}.table tbody tr:hover td{background:#fff9}.table .num{text-align:right;font-variant-numeric:tabular-nums}.bar-col{width:18%;min-width:90px}.mini-track{background:var(--soft);border-radius:999px;height:8px;overflow:hidden}.mini-fill{background:var(--s1);border-radius:999px;height:100%}.heat td.heat-cell{background-clip:padding-box;border:2px solid #0000;border-radius:8px;font-weight:500}.heat td.few{color:var(--muted);opacity:.6}.repeat-hero{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.repeat-big{font-family:var(--font-head);color:var(--s1);font-size:34px;font-weight:400}.first-load{text-align:center;max-width:640px;margin:40px auto}.first-load h2{font-size:22px;font-weight:500}.first-load p{color:var(--muted)}.first-load-list{text-align:left;margin:0 0 12px;padding:0;font-size:14px;list-style:none}.first-load-list li{border-bottom:1px solid var(--line);justify-content:space-between;padding:6px 0;display:flex}.btn{background:var(--primary);color:var(--primary-ink);border:0;border-radius:999px;padding:10px 22px;font-weight:500}.foot{max-width:1480px;color:var(--muted);text-align:center;margin:28px auto 0;font-size:12px}.card-head{flex-wrap:wrap}.card-action,.toolbar>*,.filters{min-width:0;max-width:100%}@media (width<=520px){.field,.field input,.field select,.field.wide select{width:100%;min-width:0;max-width:none}.field{flex:140px}.hero-stats{justify-content:space-between;width:100%}.pill-track{width:100%}.pill-meter{flex:100%}}.barlist{grid-template-columns:minmax(0,1.15fr) minmax(60px,1.6fr) auto;gap:4px 12px;display:grid}.barlist>.bar-row{grid-column:1/-1;grid-template-columns:subgrid}.barlist>.link-btn{grid-column:1/-1;justify-self:start}@media (width<=520px){.barlist{grid-template-columns:minmax(0,1fr) auto}}.logo-lockup{align-items:center;gap:10px;display:inline-flex}.logo-mark{width:auto;height:30px;display:block}[data-brand=haircare] .logo-word{font-family:"Poppins", var(--font-head);color:#011f44}[data-brand=dwpharma] .logo-word{font-family:"Poppins", var(--font-head);color:#231f20;font-weight:500}.hero-logo{width:auto;height:76px;margin-bottom:10px;display:block}@media (width<=520px){.hero-logo{height:60px}}
