*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f1f5f9;--surface: #ffffff;--border: #e2e8f0;--border-2: #cbd5e1;--text: #0f172a;--muted: #64748b;--accent: #4f46e5;--accent-lt: #eef2ff;--positive: #059669;--negative: #dc2626;--neutral: #64748b;--positive-bg: #d1fae5;--negative-bg: #fee2e2;--neutral-bg: #f1f5f9;--radius: 10px;--radius-s: 6px;--shadow: 0 1px 3px 0 rgb(0 0 0 / .07), 0 1px 2px -1px rgb(0 0 0 / .05);--gap: 1rem}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);min-height:100vh}a{color:var(--accent);text-decoration:none}h2{font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.75rem}code{font-family:ui-monospace,monospace;font-size:.85em;background:var(--border);padding:.1em .35em;border-radius:3px}.sticky-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.55rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.sticky-bar__brand{font-size:.95rem;font-weight:700;color:var(--accent);letter-spacing:-.01em;white-space:nowrap;flex-shrink:0}.shop-selector{display:flex;align-items:center;gap:.4rem}.shop-selector label{font-size:.72rem;font-weight:600;color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.period-picker{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.period-group{display:flex;align-items:center;gap:.35rem}.period-group label{font-size:.72rem;font-weight:600;color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.anchor-toggle{display:inline-flex;border:1px solid var(--border-2);border-radius:var(--radius-s);overflow:hidden;background:var(--surface)}.anchor-btn{padding:.28rem .65rem;font-size:.78rem;font-weight:500;font-family:inherit;color:var(--muted);background:transparent;border:none;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.anchor-btn+.anchor-btn{border-left:1px solid var(--border-2)}.anchor-btn:hover{background:var(--accent-lt);color:var(--accent)}.anchor-btn--active,.anchor-btn--active:hover{background:var(--accent);color:#fff}select,input[type=month],input[type=date],input[type=number]{appearance:none;-webkit-appearance:none;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-s);color:var(--text);font-family:inherit;font-size:.82rem;padding:.28rem .55rem;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%2364748b' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;padding-right:1.6rem}select:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #4f46e51f}input[type=number]{width:5rem}input[type=month]{width:9rem}input[type=date]{width:8.5rem}.context-bar{display:flex;align-items:center;gap:.5rem;padding:.3rem 1rem;font-size:.78rem;color:var(--muted);background:var(--accent-lt);border-bottom:1px solid var(--border)}.badge-ptd{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--accent);border-radius:4px;padding:1px 6px;flex-shrink:0}.page-wrap{max-width:1400px;margin:0 auto;padding:var(--gap)}.kpi-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin:var(--gap) 0}@media(max-width:960px){.kpi-bar{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.kpi-bar{grid-template-columns:1fr}}.kpi-card{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi-card__label{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.kpi-card__value{font-size:1.8rem;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--text)}.kpi-card__compare{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted);flex-wrap:wrap}.kpi-card__compare-val{color:var(--muted)}.delta{display:inline-flex;align-items:center;gap:.15rem;font-size:.72rem;font-weight:700;border-radius:4px;padding:1px 5px;white-space:nowrap}.delta--positive{color:var(--positive);background:var(--positive-bg)}.delta--negative{color:var(--negative);background:var(--negative-bg)}.delta--neutral{color:var(--neutral);background:var(--neutral-bg)}.ai-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:var(--gap);box-shadow:var(--shadow)}.ai-summary__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.ai-summary__icon{font-size:1rem;color:var(--accent);flex-shrink:0}.ai-summary__content{font-size:.9rem;line-height:1.75;color:var(--text);white-space:pre-wrap}.ai-summary__empty{font-size:.88rem;color:var(--muted);font-style:italic}.cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}@media(max-width:768px){.cards-grid{grid-template-columns:1fr}}.card--full{grid-column:1 / -1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);min-width:0}.metrics-row{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}.metric{display:flex;flex-direction:column;gap:.1rem;min-width:0}.metric__label{font-size:.67rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.metric__value{font-size:1.05rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.metric__compare{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--muted);flex-wrap:wrap}.chart-wrap{margin-top:.75rem;overflow:hidden;width:100%}.chart-wrap .uplot{width:100%!important}.chart-empty{display:flex;align-items:center;justify-content:center;min-height:120px;font-size:.85rem;color:var(--muted);font-style:italic;border:1px dashed var(--border-2);border-radius:var(--radius-s);margin-top:.75rem}.u-legend{font-size:.72rem!important;margin-top:.25rem!important}.u-series>*{padding:2px 5px!important}.share-bars{display:flex;flex-direction:column;gap:.45rem;margin-top:.5rem;margin-bottom:.75rem}.share-bar-row{display:flex;align-items:center;gap:.5rem;font-size:.78rem}.share-bar-label{flex-shrink:0;width:8rem;color:var(--muted);white-space:nowrap}.share-bar-track{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.share-bar-fill{height:100%;border-radius:3px;min-width:2px;transition:width .3s}.share-bar-fill--won{background:var(--positive)}.share-bar-fill--budget{background:#f59e0b}.share-bar-fill--rank{background:var(--negative)}.share-bar-pct{flex-shrink:0;display:flex;align-items:center;gap:.3rem;min-width:5.5rem;font-size:.75rem;font-variant-numeric:tabular-nums}.channel-table{width:100%;border-collapse:collapse;font-size:.8rem;margin-top:.75rem}.channel-table th{text-align:left;font-size:.67rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:.3rem .5rem;border-bottom:2px solid var(--border)}.channel-table td{padding:.32rem .5rem;border-bottom:1px solid var(--border);color:var(--text)}.channel-table tr:last-child td{border-bottom:none}.channel-table .num,.num{text-align:right;font-variant-numeric:tabular-nums}.product-row{display:grid;grid-template-columns:1.4rem 1fr auto;align-items:center;gap:.5rem .75rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.product-row:last-child{border-bottom:none}.product-rank{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0}.product-name{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.product-bar-wrap{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-top:.25rem}.product-bar{height:100%;background:var(--accent);border-radius:2px;min-width:2px}.product-value{font-size:.82rem;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text);flex-shrink:0}.no-data{padding:1.5rem 0;text-align:center;font-size:.85rem;color:var(--muted);font-style:italic}.no-shops{text-align:center;padding:4rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.no-shops h2{font-size:1.1rem;font-weight:700;color:var(--text);text-transform:none;letter-spacing:0;margin-bottom:.5rem}.no-shops p{color:var(--muted);font-size:.9rem;margin-top:.5rem}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}
