:root,:root[data-theme=dark]{color-scheme:dark;--surface-0: #0E1116;--surface-1: #161B22;--surface-2: #1F2630;--graphite: #2A3442;--line: #2A313C;--line-strong: #6B7686;--ink: #E8ECF1;--ink-muted: #9AA5B4;--volt: #FFB21A;--on-volt: #1A1200;--volt-ink: #FFC24D;--volt-soft: #4A3708;--current: #3DC9D9;--ok: #4CC27A;--warn: #F2782E;--danger: #F25C59;--focus: var(--volt-ink);--series-single: var(--current);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--series-other: #6B7686}:root[data-theme=light]{color-scheme:light;--surface-0: #F4F6F8;--surface-1: #FFFFFF;--surface-2: #E9EDF1;--graphite: #1C232D;--line: #D9DEE5;--line-strong: #7E8898;--ink: #11161D;--ink-muted: #525D6C;--volt: #FFB21A;--on-volt: #1A1200;--volt-ink: #8A5A00;--volt-soft: #FFE7B3;--current: #0B7380;--ok: #1E7A42;--warn: #B24A0C;--danger: #C4302B;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #6250d6;--series-other: #7E8898}:root{--font-display: "Space Grotesk", "IBM Plex Sans", system-ui, sans-serif;--font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px}*{box-sizing:border-box}body{margin:0;background:var(--surface-0);color:var(--ink);font:400 15px/22px var(--font-sans);-webkit-font-smoothing:antialiased}h1{font:600 28px/34px var(--font-display);margin:0 0 var(--space-1);letter-spacing:-.01em}h2{font:600 20px/28px var(--font-display);margin:0 0 var(--space-3)}a{color:var(--volt-ink)}.muted{color:var(--ink-muted)}.small{font-size:13px;line-height:18px}.data{font:500 13px/20px var(--font-mono)}.data-lg{font:500 24px/28px var(--font-mono)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--surface-1);border-bottom:1px solid var(--line)}.topbar nav{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.topbar nav a{color:var(--ink-muted);text-decoration:none;font-weight:600}.topbar nav a:hover,.topbar nav a.active{color:var(--ink)}.brand{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--ink)}.brand img{width:28px;height:28px;display:block}.brand .wordmark{font:600 20px/1 var(--font-display)}.brand .module{font:600 12px/16px var(--font-sans);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;padding-left:var(--space-2);border-left:1px solid var(--line)}.brand img.logo{border-radius:22%}:root:not([data-theme=light]) .brand img.logo{box-shadow:0 0 0 1px var(--line-strong)}.page{max-width:1000px;margin:0 auto;padding:var(--space-6) var(--space-4)}.narrow{max-width:620px;margin:0 auto;padding:var(--space-6) var(--space-4)}.public-footer{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--line)}.admin-footer{max-width:1000px;margin:var(--space-8) auto 0;padding:var(--space-4);border-top:1px solid var(--line)}.copyright{margin:var(--space-3) 0 0;font-size:12px;line-height:16px;color:var(--ink-muted)}.admin-footer .copyright{margin:0}.footer-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4)}.footer-meta .copyright{margin:0}.public-footer .footer-meta{margin-top:var(--space-3)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-size:12px;line-height:16px}.footer-links a{color:var(--ink-muted)}.footer-links a:hover{color:var(--ink)}.agree{margin-top:var(--space-3);text-align:center}.legal{max-width:720px}.legal h1{margin-bottom:var(--space-2)}.legal h2{font-size:17px;margin:var(--space-6) 0 var(--space-2)}.legal p{line-height:1.6;margin:0 0 var(--space-3)}.public-footer .brand img{width:20px;height:20px}.public-footer .brand .wordmark{font-size:15px}.card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1;min-width:0}.grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}label{display:block;font:600 12px/16px var(--font-sans);color:var(--ink-muted);margin-bottom:var(--space-3)}label.check{display:flex;gap:var(--space-2);align-items:center;font:400 15px/22px var(--font-sans);color:var(--ink)}input,select,textarea{width:100%;padding:var(--space-2) var(--space-3);margin-top:var(--space-1);font:400 15px/22px var(--font-sans);color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-md)}input::placeholder,textarea::placeholder{color:var(--ink-muted)}input[type=checkbox],input[type=radio]{width:18px;height:18px;margin:0;flex:none;accent-color:var(--volt)}textarea{min-height:90px;resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--focus)}button,.btn{font:600 15px/22px var(--font-sans);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--volt);background:var(--volt);color:var(--on-volt);text-decoration:none;display:inline-block}button:hover,.btn:hover{filter:brightness(1.06)}button.secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}button.secondary:hover{background:var(--surface-2);filter:none}button.danger{background:transparent;color:var(--danger);border-color:var(--line-strong)}button.danger:hover{background:var(--surface-2);border-color:var(--danger);filter:none}button.link{background:none;border:none;color:var(--volt-ink);padding:0;font-weight:600}button.link:hover{text-decoration:underline;filter:none}button.big{width:100%;padding:var(--space-3);font-size:16px}button:disabled,button:disabled:hover,button.secondary:disabled,button.danger:disabled{background:var(--surface-2);color:var(--ink-muted);border-color:var(--line);cursor:default;filter:none}.tabs{display:flex;gap:var(--space-1);overflow-x:auto;border-bottom:1px solid var(--line);margin:var(--space-4) 0}.tabs button{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--ink-muted);white-space:nowrap;padding:var(--space-2) var(--space-3)}.tabs button:hover{color:var(--ink);filter:none}.tabs button.on{color:var(--ink);border-bottom-color:var(--volt)}@media (min-width: 720px){.tabs{flex-wrap:wrap;overflow-x:visible}}.badge{display:inline-block;padding:0 var(--space-2);border-radius:var(--radius-sm);font:600 12px/20px var(--font-sans);color:var(--ink-muted);border:1px solid var(--line-strong)}.badge.ok{color:var(--ok);border-color:var(--ok)}.badge.warn{color:var(--warn);border-color:var(--warn)}.badge.danger{color:var(--danger);border-color:var(--danger)}.error{color:var(--danger);background:var(--surface-2);border:1px solid var(--danger);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.notice{color:var(--ink);background:var(--volt-soft);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-3)}table{width:100%;border-collapse:collapse;font-size:15px}th,td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);vertical-align:top}th{font:600 12px/16px var(--font-sans);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}td.num,th.num{text-align:right;white-space:nowrap}td.num{font:500 13px/22px var(--font-mono)}tfoot th{color:var(--ink);font-size:15px;text-transform:none;letter-spacing:0;border-bottom:none}tfoot th.num{font:500 13px/22px var(--font-mono)}tr.muted td{color:var(--ink-muted)}.scroll{overflow-x:auto}.stat{font:500 24px/28px var(--font-mono)}.revenue{font:500 24px/28px var(--font-mono);margin-top:var(--space-2)}.detail{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line)}.item{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3)}.chip{display:inline-block;margin:0 var(--space-1) var(--space-1) 0;padding:2px var(--space-2);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);font:500 13px/20px var(--font-mono)}.chip:hover{border-color:var(--line-strong);filter:none}pre.preview{white-space:pre-wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);font:inherit;margin:var(--space-2) 0 0}.product{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.product .price{font:500 13px/20px var(--font-mono)}.product .badge{margin-top:var(--space-1)}.qty{display:flex;align-items:center;gap:var(--space-2)}.qty button{width:36px;height:36px;padding:0;font-size:18px;line-height:1}.qty span{min-width:24px;text-align:center;font:500 15px/22px var(--font-mono)}.total{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-4) 0 0;font:600 15px/22px var(--font-sans)}.total .amount{font:500 24px/28px var(--font-mono)}.total.sub{padding-top:var(--space-2);font:400 14px/20px var(--font-sans);color:var(--ink-muted)}.total.sub span:last-child{font-family:var(--font-mono)}.total.sub.discount{color:var(--ink)}.tier-info{color:var(--ink-muted);margin:var(--space-1) 0 0}.code-box{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line)}.code-box input{text-transform:uppercase}.code-box input::placeholder{text-transform:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tiers{display:grid;gap:var(--space-2);margin:var(--space-2) 0 var(--space-3)}.tier-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:14px}.tier-row input{width:96px;margin:0}.shop-banner{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.product-photo img{display:block;width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm)}.product.sold-out .grow{opacity:.6}.image-picker{margin-bottom:var(--space-3)}.image-picker .row{margin-top:var(--space-2)}.preview-wide{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:var(--radius-md)}.preview-thumb{display:block;width:96px;height:96px;object-fit:cover;border-radius:var(--radius-sm)}.preview-wide.empty,.preview-thumb.empty{display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px dashed var(--line-strong);color:var(--ink-muted);font-size:13px}.preview-wide.empty{height:120px}img.qr{width:160px;height:160px;padding:var(--space-2);background:#fff;border-radius:var(--radius-md)}fieldset.field{border:none;padding:0;margin:0 0 var(--space-3);min-width:0}fieldset.field legend{font:600 12px/16px var(--font-sans);color:var(--ink-muted);padding:0;margin-bottom:var(--space-1)}fieldset.field label.check{margin:var(--space-1) 0}.filters{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-4)}.filters select{width:auto;margin-top:0}.segmented{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius-md);overflow:hidden}.segmented button{background:transparent;color:var(--ink-muted);border:none;border-radius:0;border-right:1px solid var(--line-strong)}.segmented button:last-child{border-right:none}.segmented button:hover{color:var(--ink);background:var(--surface-2);filter:none}.segmented button.on{background:var(--surface-2);color:var(--ink);box-shadow:inset 0 -2px 0 var(--volt)}.legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);list-style:none;padding:0;margin:0 0 var(--space-3);font-size:13px;line-height:18px}.legend li{display:flex;align-items:center;gap:var(--space-2)}.legend .swatch{width:10px;height:10px;border-radius:2px;flex:none}.chart{position:relative;width:100%}.chart svg{display:block;overflow:visible}.chart svg:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:var(--radius-sm)}.chart .grid{stroke:var(--line);stroke-width:1;shape-rendering:crispEdges}.chart .baseline{stroke:var(--line-strong);stroke-width:1;shape-rendering:crispEdges}.chart .crosshair{stroke:var(--ink-muted);stroke-width:1;shape-rendering:crispEdges;pointer-events:none}.chart .tick{fill:var(--ink-muted);font:500 11px var(--font-mono);font-variant-numeric:tabular-nums}.chart g.dim path{opacity:.45}.chart .marker{stroke:var(--surface-1);stroke-width:2;pointer-events:none}.chart .end-label{fill:var(--ink);font:500 12px var(--font-mono);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--surface-1);stroke-width:4px;stroke-linejoin:round}.legend .line-key{width:14px;height:2px;border-radius:1px;flex:none}.tooltip{position:absolute;top:0;z-index:2;min-width:160px;pointer-events:none;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.tooltip-row{display:flex;align-items:center;gap:var(--space-2);margin-top:2px}.tooltip-row .key{width:12px;height:2px;border-radius:1px;flex:none}.tooltip-row.total{border-top:1px solid var(--line);margin-top:var(--space-1);padding-top:var(--space-1);padding-left:20px}table.statement td{border-bottom:none;padding-top:var(--space-1);padding-bottom:var(--space-1)}table.statement tr.subtotal td{border-top:1px solid var(--line);font-weight:600;padding-top:var(--space-2)}table.statement tr.total-row td{border-top:1px solid var(--line-strong);font-weight:600;padding-top:var(--space-2)}table.statement tr.total-row td.num{font:500 24px/28px var(--font-mono)}.cost-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.cost-row input{margin-top:0}.cost-row input[type=date]{width:160px}.cost-row input.amount{width:110px;text-align:right;font-family:var(--font-mono)}.cost-row input.grow{min-width:180px}.lang-switch{display:flex;justify-content:flex-end;gap:var(--space-1);margin-bottom:var(--space-3)}.lang-switch button{background:transparent;color:var(--ink-muted);border-color:transparent;padding:var(--space-1) var(--space-2);font:600 13px/18px var(--font-sans)}.lang-switch button:hover{color:var(--ink);background:var(--surface-2);filter:none}.lang-switch button.on{color:var(--ink);border-color:var(--line-strong)}.translations{margin-top:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:0 var(--space-3)}.translations>summary{cursor:pointer;padding:var(--space-2) 0;font:600 13px/18px var(--font-sans);color:var(--ink-muted)}.translations>summary:hover{color:var(--ink)}.translations[open]>summary{border-bottom:1px solid var(--line);margin-bottom:var(--space-3)}.translations .lang-block{margin-bottom:var(--space-3)}.lang-tag{display:inline-block;font:600 11px/16px var(--font-mono);color:var(--ink-muted);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 var(--space-1);margin-right:var(--space-2)}.theme-toggle{font-size:13px;padding:var(--space-1) var(--space-2)}
