.phc{position:relative;outline:none;--phc-surface: var(--chart-surface, #ffffff);--phc-ink: var(--chart-ink, #0b0b0b);--phc-ink-2: var(--chart-ink-2, #52514e);--phc-muted: var(--chart-muted, #898781);--phc-grid: var(--chart-grid, #e1e0d9);--phc-axis-line: var(--chart-axis, #c3c2b7);--phc-regular-color: var(--chart-regular, #898781);--phc-tag-bg: var(--chart-tag-bg, #eceef1);--phc-cc-bg: var(--chart-cc-bg, #e7f0fe);--phc-cc-ink: var(--chart-cc-ink, #0d4fa8);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.phc:focus-visible{box-shadow:0 0 0 2px var(--phc-accent);border-radius:8px}.phc-legend{display:flex;gap:16px;font-size:12px;color:var(--phc-ink-2);margin:0 0 6px 4px}.phc-key{display:inline-flex;align-items:center;gap:6px}.phc-svg{display:block;width:100%;height:auto;touch-action:pan-y;overflow:visible}.phc-grid{stroke:var(--phc-grid);stroke-width:1}.phc-baseline{stroke:var(--phc-axis-line);stroke-width:1}.phc-axis{fill:var(--phc-muted);font-size:11px;font-variant-numeric:tabular-nums}.phc-label{fill:var(--phc-ink-2);font-size:11px;font-weight:600}.phc-today{stroke:var(--phc-muted);stroke-width:1}.phc-crosshair{stroke:var(--phc-ink-2);stroke-width:1}.phc-regular{fill:none;stroke:var(--phc-regular-color);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.phc-promo{stroke:var(--phc-accent);stroke-width:2;stroke-linecap:round}.phc-dot{fill:var(--phc-accent);stroke:var(--phc-surface);stroke-width:2;transition:r .1s}.phc-future{opacity:.45}.phc-tip{position:absolute;top:22px;transform:translate(-50%);pointer-events:none;background:var(--phc-surface);border:1px solid var(--phc-grid);box-shadow:0 8px 24px #10182824;border-radius:10px;padding:8px 11px;font-size:12px;color:var(--phc-ink-2);white-space:nowrap;z-index:5}.phc-tip-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.phc-tip-row{display:flex;align-items:center;gap:7px;margin-top:3px}.phc-tip-row strong{font-size:15px;color:var(--phc-ink)}.phc-tip-saving{font-weight:700;color:var(--phc-ink)}.phc-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:var(--phc-tag-bg);color:var(--phc-ink-2)}.phc-tag.now{background:var(--phc-ink);color:var(--phc-surface)}.phc-tag.cc{background:var(--phc-cc-bg);color:var(--phc-cc-ink)}.phc-empty{padding:28px 0;text-align:center;color:var(--phc-muted);font-size:14px}:root{--bg: #f5f6f8;--surface: #ffffff;--text: #111418;--text-2: #4b5160;--muted: #7a808c;--border: #e4e7ec;--border-strong: #d0d5dd;--accent: #2a78d6;--accent-ink: #1c5cab;--accent-soft: #e8f1fc;--ok: #138a4a;--ok-soft: #e3f5ea;--warn: #9a6a00;--warn-soft: #fbf0d6;--danger: #c0262d;--danger-soft: #fdebec;--sidebar: #0f1729;--sidebar-2: #1b2540;--sidebar-text: #c6cede;--radius: 12px;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);--hover: #f3f5f8;--table-head: #fafbfc;--row-highlight: #f2f7fe;--chip-bg: #eef0f4;--segmented-bg: #eceff3;--thumb-bg: #ffffff;--on-accent: #ffffff;--login-glow: #dfeafb;color-scheme:light}:root[data-theme=dark]{--bg: #0f1117;--surface: #181b22;--text: #eceef2;--text-2: #c0c6d0;--muted: #8a919d;--border: #272b34;--border-strong: #363b46;--accent: #4d94ec;--accent-ink: #8ab9f5;--accent-soft: #1a2a42;--ok: #4cc77f;--ok-soft: #163322;--warn: #e8b24a;--warn-soft: #362b14;--danger: #ff6b6b;--danger-soft: #3a1c1f;--sidebar: #0a0d14;--sidebar-2: #151b2b;--shadow: none;--hover: #20242d;--table-head: #1c2029;--row-highlight: #1b2638;--chip-bg: #252a34;--segmented-bg: #20242d;--thumb-bg: #ffffff;--on-accent: #06121f;--login-glow: #142238;color-scheme:dark;--chart-surface: #181b22;--chart-ink: #eceef2;--chart-ink-2: #c0c6d0;--chart-muted: #8a919d;--chart-grid: #272b34;--chart-axis: #363b46;--chart-regular: #6b7079;--chart-tag-bg: #252a34;--chart-cc-bg: #1a2a42;--chart-cc-ink: #8ab9f5}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}a{color:var(--accent-ink);text-decoration:none}h1{font-size:24px;font-weight:700;letter-spacing:-.015em;margin:0 0 4px}p{margin:0}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12.5px}.num{text-align:right;font-variant-numeric:tabular-nums}.right{text-align:right}.center{text-align:center}.strong{font-weight:700}.grow{flex:1;min-width:0}.ok{color:var(--ok)}.danger{color:var(--danger)}.accent{color:var(--accent)}.inline-icon{display:inline-flex;align-items:center;gap:6px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.splash{min-height:100vh;display:grid;place-items:center;color:var(--accent)}.login{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(1200px 600px at 20% -10%,var(--login-glow) 0%,var(--bg) 60%)}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 40px #1018281a;padding:28px;display:flex;flex-direction:column;gap:16px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:4px}.login-title{font-size:18px;font-weight:700}.login-card label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px}.login-card input{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:10px;padding:11px 12px;font-size:15px;outline:none;font-weight:400}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px}.form-grid input,.form-grid select{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;font-weight:400;outline:none}.form-grid input:focus,.form-grid select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-actions{display:flex;gap:8px;margin-top:16px}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.alert.reveal{align-items:flex-start}.reveal-row{display:flex;align-items:center;gap:8px;margin:8px 0 6px;flex-wrap:wrap}code.password{font-size:15px;letter-spacing:.04em;padding:4px 10px;background:var(--surface);color:var(--text);-webkit-user-select:all;user-select:all}.logo{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#2a78d6,#1c5cab);color:#fff;flex:none}.shell{display:flex;min-height:100vh}.sidebar{width:240px;flex:none;background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;padding:18px 14px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 22px}.brand-name{color:#fff;font-weight:700;font-size:15px}.brand-sub{font-size:12px;color:#8b95ab}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;color:var(--sidebar-text);font-weight:500}.sidebar nav a:hover{background:var(--sidebar-2);color:#fff}.sidebar nav a.active{background:#26355a;color:#fff;box-shadow:inset 3px 0 #5b9cf0}.me{margin-top:auto;border-top:1px solid #253252;padding-top:14px;display:flex;flex-direction:column;gap:8px}.theme-switch{display:flex;gap:2px;background:var(--sidebar-2);border-radius:9px;padding:3px}.theme-switch button{flex:1;display:grid;place-items:center;border:none;background:none;color:#8b95ab;padding:6px 0;border-radius:7px;cursor:pointer}.theme-switch button:hover{color:#fff}.theme-switch button.on{background:#26355a;color:#fff}.me-mail{font-size:12px;color:#8b95ab;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}.content{flex:1;min-width:0;padding:28px 32px 64px;max-width:1280px}.page-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:20px}.product-head{align-items:center}.meta-row{display:flex;flex-wrap:wrap;gap:14px;margin:6px 0 10px;font-size:13px}.head-price{font-size:15px}.back{margin-bottom:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:18px}.card.flush{padding:0;overflow:hidden}.card.is-loading{opacity:.6;transition:opacity .15s}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head.padded{padding:16px 20px 0}.card-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px}.tiles.three{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat{display:flex;gap:14px;align-items:flex-start;margin:0}.stat-icon{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;flex:none}.stat-label{font-size:12.5px;color:var(--muted);font-weight:500}.stat-value{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-top:2px}.stat-hint{font-size:12px;color:var(--muted);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-strong);background:var(--surface);border-radius:9px;padding:9px 14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.btn:hover{background:var(--hover)}.btn.sm{padding:6px 11px;font-size:13px}.btn.icon{padding:6px 8px}.btn.block{width:100%;padding:12px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-ink)}.btn.ghost{background:transparent}.btn.on-dark{color:var(--sidebar-text);border-color:#2c3a5e}.btn.on-dark:hover{background:var(--sidebar-2);color:#fff}.btn:disabled{opacity:.55;cursor:default}.icon-btn{border:none;background:none;color:var(--muted);cursor:pointer;display:inline-flex;padding:4px;border-radius:6px}.row-btn{width:100%;display:flex;align-items:center;gap:12px;background:none;border:none;text-align:left;padding:8px 6px;border-radius:10px;cursor:pointer}.row-btn:hover{background:var(--hover)}.pill{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.pill.saving{background:var(--danger-soft);color:var(--danger)}.pill.cc{background:var(--accent-soft);color:var(--accent-ink)}.pill.soon{background:var(--warn-soft);color:var(--warn)}.pill.type{background:var(--chip-bg);color:var(--text-2)}.card-note{margin:-4px 0 12px;line-height:1.5}.status{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.status-draft{background:var(--warn-soft);color:var(--warn)}.status-published,.status-ok{background:var(--ok-soft);color:var(--ok)}.status-archived{background:var(--chip-bg);color:var(--muted)}.status-running{background:var(--accent-soft);color:var(--accent-ink)}.status-error{background:var(--danger-soft);color:var(--danger)}.promo-price{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.promo-price strong{font-size:15px}.promo-price s{font-size:12.5px}.alert{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;margin-bottom:14px;font-size:13.5px}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.ok{background:var(--ok-soft);color:var(--ok)}.alert.warn{background:var(--warn-soft);color:var(--warn);align-items:flex-start}.alert.warn>svg{flex:none;margin-top:2px}ul.plain{list-style:none;margin:0;padding:0;display:grid;gap:4px}.pill.ok-pill{background:var(--ok-soft);color:var(--ok)}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em;background:var(--chip-bg);padding:1px 5px;border-radius:5px}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--border);background:var(--table-head)}.table th.num{text-align:right}.table td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table.hover tr.clickable{cursor:pointer}.table.hover tr.clickable:hover td{background:var(--hover)}.table tr.highlight td{background:var(--row-highlight)}.card:not(.flush) .table{margin-top:8px}.actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.product-cell{display:flex;align-items:center;gap:12px}.product-name{font-weight:600;line-height:1.3}.thumb{object-fit:contain;border-radius:8px;background:var(--thumb-bg);flex:none}.thumb-empty{display:inline-grid;place-items:center;background:var(--chip-bg);color:var(--muted);border-radius:8px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}.search{flex:1;min-width:240px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;padding:0 10px;color:var(--muted)}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search input{flex:1;border:none;outline:none;padding:10px 0;background:transparent;color:var(--text)}.segmented{display:inline-flex;background:var(--segmented-bg);border-radius:10px;padding:3px}.segmented button{border:none;background:none;padding:7px 12px;border-radius:8px;font-weight:600;font-size:13px;color:var(--text-2);cursor:pointer}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.count{display:inline-flex;align-items:center;gap:6px;font-size:13px}.pager{display:flex;align-items:center;justify-content:center;gap:14px}.sync-meta{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--text-2);font-size:13.5px}.sync-meta span{display:inline-flex;align-items:center;gap:6px}.progress-block{display:flex;flex-direction:column;gap:10px}.progress-text{font-size:13.5px}.progress{height:8px;background:var(--accent-soft);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--accent);border-radius:999px;transition:width .4s ease}.top-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:4px 18px}.top-name{flex:1;min-width:0;font-weight:600;line-height:1.3}@media (max-width: 900px){.shell{flex-direction:column}.sidebar{width:auto;height:auto;position:sticky;top:0;z-index:10;flex-direction:row;align-items:center;padding:10px 12px;gap:10px}.brand{padding:0}.brand-sub,.me-mail{display:none}.sidebar nav{flex-direction:row;overflow-x:auto;flex:1}.sidebar nav a span{display:none}.me{margin:0;border:none;padding:0;flex-direction:row;align-items:center}.content{padding:20px 16px 48px}.card.flush{overflow-x:auto}.card.flush .table{min-width:680px}}
