.build-tag[data-v-fb7ec63a]{position:fixed;bottom:4px;right:6px;z-index:9999;font:10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#7878788c;pointer-events:none;-webkit-user-select:none;user-select:none}:root{--primary: hsl(211 45% 52%);--primary-dark: hsl(211 45% 43%);--primary-light: hsl(211 80% 97%);--bg-base: #eaeef2;--bg-surface: #fafcfe;--bg-elevated: #f1f4f8;--bg-hover: #e2e7ed;--border: #e0dcd0;--border-light: hsl(0 0% 90%);--text-primary: hsl(215 18% 20%);--text-secondary: hsl(214 14% 34%);--text-muted: hsl(214 10% 48%);--accent-blue: hsl(215 80% 36%);--accent-green: #15803d;--accent-red: #b91c1c;--accent-red-bs: #dc3545;--accent-yellow: #d97706;--accent-teal: #0d9488;--accent-warning: hsl(38 90% 55%);--accent-warning-border: hsl(38 90% 50% / .4);--accent-warning-bg: hsl(38 90% 60% / .15);--badge-blue-bg: hsl(211 80% 93%);--badge-blue-text: hsl(211 70% 32%);--badge-green-bg: #dcfce7;--badge-green-text: #166534;--badge-red-bg: #fee2e2;--badge-red-text: #b91c1c;--badge-yellow-bg: #fef3c7;--badge-yellow-text: #92400e;--nav-bg: hsl(210 55% 90%);--nav-text: hsl(212 45% 28%);--nav-text-muted: hsl(212 22% 44%);--nav-text-dim: hsl(212 18% 56%);--nav-hover-bg: hsl(210 58% 85%);--nav-active-bg: hsl(210 60% 82%);--nav-active-text: hsl(212 50% 24%);--nav-active-border: hsl(211 60% 48%);--nav-divider: hsl(210 40% 80%);--nav-section-bg: hsl(210 55% 93%);--overlay-bg: rgba(0,0,0,.5);--overlay-shadow: rgba(0,0,0,.18);--error-bg: rgba(220,38,38,.1);--error-border: rgba(220,38,38,.3);--alert-ok-bg: #ecfdf5;--alert-ok-text: #047857;--alert-ok-border: #6ee7b7;--alert-err-bg: #fef2f2;--alert-err-text: #dc2626;--alert-err-border: #fecaca;--alert-warn-bg: #fffbeb;--alert-warn-text: #92400e;--alert-warn-border: #fde68a;--input-err-bg: #fff5f5;--input-err-border: #ef4444;--btn-action-bg: #f59e0b;--btn-action-hover-bg: #d97706;--btn-action-text: #fff;--btn-apply-bg: #2563eb;--btn-apply-hover-bg: #1d4ed8;--on-primary: #fff;--text-strong: hsl(215 22% 14%);--text-danger-strong: #991b1b;--text-info-strong: #1e40af;--accent-warning-text: #9a3412;--loading-color: hsl(211 65% 55%);--color-positive: var(--text-primary);--color-negative: var(--badge-red-text);--color-neutral: var(--text-muted);--login-gradient-primary: hsl(211 60% 96%);--login-gradient-green: rgba(22,163,74,.05);--board-league-bg: hsl(220 42% 22%);--board-league-text: rgba(225,235,255,.92);--report-header-bg: hsl(220 40% 26%);--report-header-text: rgba(225,235,255,.9);--report-border: hsl(213 22% 84%);--report-sep: hsl(213 8% 93%);--report-sep-own: hsl(213 10% 89%);--report-row-own: hsl(213 22% 94%);--report-hover: hsl(213 22% 91%);--report-hover-own: hsl(213 22% 90%);--report-footer-border: hsl(211 50% 52%);--report-footer-bg: hsl(211 35% 95%);--report-footer-own: hsl(213 22% 92%);--report-skeleton-from: hsl(213 18% 91%);--report-skeleton-to: hsl(213 18% 85%);--rt-header-bg: hsl(220 42% 20%);--rt-header-sub-bg: hsl(220 38% 25%);--rt-self-header-bg: hsl(214 35% 26%);--rt-row-alt: hsl(213 8% 98%);--rt-row-b: hsl(213 6% 97%);--rt-hover: hsl(213 15% 93%);--rt-hover-b: hsl(213 12% 91%);--rt-hover-own: hsl(213 22% 90%);--rt-hover-footer: hsl(211 38% 92%);--rt-sep: hsl(213 8% 94%);--badge-wait-bg: #fef3c7;--badge-wait-text: #92400e;--badge-win-bg: #d1fae5;--badge-win-text: #065f46;--navbar-height: 32px;--app-min-width: 1024px;--card-max-width: 1080px;--font-sans: "Sarabun", -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-title: 15px;--fs-md: 13px;--fs-lg: 14px;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 10px;--space-6: 14px;--space-7: 18px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-panel: 10px;--radius-pill: 999px;--content-max: 1080px;--ctrl-h-sm: 22px;--ctrl-h-md: 28px;--ctrl-h-lg: 32px;--shadow-card: 0 1px 2px rgba(15,30,60,.05), 0 2px 10px -4px rgba(15,30,60,.08);--menu-shadow: 0 6px 24px rgba(0, 0, 0, .18), 0 1px 4px rgba(0, 0, 0, .1);--border-strong: hsl(0 0% 75%);--btn-solid-text: #fff;--accent-blue-hover: hsl(215 85% 26%);--accent-blue-strong: hsl(215 85% 30%);--accent-purple: hsl(280 45% 48%);--accent-purple-text: hsl(280 50% 40%);--accent-red-soft: hsl(0 65% 55%);--row-highlight-bg: #fde68a;--row-highlight-flash: #fbbf24;--row-rejected-bg: hsl(0 70% 94%);--state-pos-bg: #ecfdf5;--state-pos-text: #047857;--state-pos-border: #34d399;--state-pos-solid: #059669;--state-pos-solid-hover: #047857;--state-pos-ring: rgba(16,185,129,.15);--state-pos-inset: #a7f3d0;--state-pos-dot: #10b981;--state-warn-bg: #fffbeb;--state-warn-text: #92400e;--state-warn-border: #fbbf24;--state-warn-dot: #f59e0b;--state-neg-bg: #fff1f2;--state-neg-text: #9f1239;--state-neg-border: #fb7185;--state-neg-solid: #e11d48;--state-neg-solid-hover: #be123c;--state-neg-ring: rgba(244,63,94,.15);--state-neg-inset: #fecdd3;--state-neg-dot: #f43f5e;--cancel-bar-border: hsl(0 60% 88%)}.st-wrap{overflow:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.st-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.st-table thead th{position:sticky;top:0;z-index:3;background:#f6f7f8;color:var(--text-primary);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:4px 6px;text-align:right;height:24px;border-right:1px solid var(--border-light);border-bottom:1px solid var(--border)}.st-table thead tr:first-child th{border-bottom:1px solid var(--border-light)}.st-table thead th:last-child{border-right:none}.st-table thead th.st-left{text-align:left}.st-group{background:#e8eff7!important;color:#1f4b7a!important;font-weight:700!important;text-align:center!important;letter-spacing:.05em;border-left:2px solid var(--border);border-right:2px solid var(--border)!important}.st-group:first-of-type{border-left:1px solid var(--border-light)}.st-sub{background:#f6f7f8!important;font-size:10px!important;font-weight:600!important;color:var(--text-secondary)!important;padding:3px 5px!important;height:22px}.st-group-last,td.st-group-last{border-right:2px solid var(--border)!important}.st-table td{padding:3px 6px;height:26px;border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);vertical-align:middle;background:var(--bg-surface);color:var(--text-primary)}.st-table td:last-child{border-right:none}.st-table tbody tr:last-child td{border-bottom:none}.st-num-cell{text-align:right;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:600}.st-text-left{text-align:left}.st-table tbody tr:nth-child(2n) td{background:#fbfbfc}.st-row-int{cursor:pointer}.st-row-int:hover td{background:#f1f5f9!important}.st-row-int.st-row-checked td{background:#eaf2fb!important}.st-row-int.st-row-checked:hover td{background:#e2edf9!important}.st-row-err td{background:#fefaec!important}.st-sticky-col{position:sticky;left:0;z-index:2;background:var(--bg-surface)!important;border-right:1px solid var(--border)!important}.st-table tbody tr:nth-child(2n) td.st-sticky-col{background:#fbfbfc!important}.st-row-int:hover td.st-sticky-col{background:#edf2f7!important}.st-row-int.st-row-checked td.st-sticky-col{background:#e6effa!important}.st-sticky-col:after{content:"";position:absolute;top:0;right:-6px;bottom:0;width:6px;background:linear-gradient(to right,rgba(0,0,0,.05),transparent);pointer-events:none}.st-col-chk{width:28px;text-align:center}.st-col-chk input[type=checkbox]{width:12px;height:12px;cursor:pointer;accent-color:var(--primary)}.st-col-game{min-width:140px;text-align:left!important;font-weight:600;color:var(--text-primary);font-size:var(--fs-sm);padding-left:10px!important}.st-cell-in{padding:2px 4px!important;text-align:right}.st-num{width:64px;text-align:right;padding:2px 6px;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:600;color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:0;line-height:18px;transition:background .1s,border-color .1s,box-shadow .1s}.st-num:hover{background:color-mix(in srgb,var(--accent-blue) 6%,transparent);border-color:color-mix(in srgb,var(--accent-blue) 28%,transparent)}.st-num:focus{outline:none;background:#fff;border:2px solid var(--accent-blue);border-radius:2px;box-shadow:0 1px 7px #2d588638;color:var(--text-strong);position:relative;z-index:3}.st-num::placeholder{color:var(--text-muted);opacity:.7}.st-input-err{border-color:var(--accent-red)!important;background:#fff5f5!important}.st-err-hint{display:block;font-size:var(--fs-xs);color:var(--accent-red);margin-top:1px;white-space:nowrap;line-height:1.2;text-align:right}.st-focus-hint{display:none;font-size:var(--fs-xs);color:var(--text-muted);margin-top:1px;white-space:nowrap;line-height:1.2;text-align:right;font-family:var(--font-mono)}.st-cell-in:focus-within .st-focus-hint{display:block}.st-muted-dash{color:var(--text-muted);font-size:var(--fs-sm);opacity:.5}.st-val-com{color:var(--accent-green)}.st-empty{padding:20px!important;text-align:center!important;color:var(--text-muted);font-size:var(--fs-sm);background:var(--bg-surface)!important}.rt{border-collapse:separate;border-spacing:0;background:var(--bg-surface);border:1px solid var(--report-border);border-radius:8px;overflow:hidden;font-size:var(--fs-sm);box-shadow:0 2px 8px #0000000f;width:100%}.rt th,.rt td{border:none;padding:0}.rt .thead-group th{padding:0 10px;height:32px;box-sizing:border-box;position:sticky;top:0;z-index:4;white-space:nowrap;vertical-align:middle}.rt .thead-sub th{padding:4px 10px 6px;position:sticky;top:32px;z-index:4;border-bottom:1px solid rgba(0,0,0,.1);font-size:var(--fs-xs);font-weight:500;text-align:right;white-space:nowrap}.rt .th-base{background:var(--rt-header-bg);color:var(--report-header-text);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-align:left}.rt .th-section{text-align:center;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.rt .th-star{font-size:var(--fs-sm)}.rt .th-level-a{background:var(--rt-header-bg);color:var(--report-header-text);border-left:1px solid rgba(255,255,255,.1)}.rt .th-level-b{background:var(--rt-header-sub-bg);color:var(--report-header-text);border-left:1px solid rgba(255,255,255,.1)}.rt .th-self{background:var(--rt-self-header-bg);color:#fff;border-left:2px solid rgba(255,255,255,.35)}.rt .th-parent{background:var(--rt-header-bg);color:var(--report-header-text);border-left:1px solid rgba(255,255,255,.1)}.rt .th-c{text-align:center}.rt .th-no{width:32px;text-align:center}.rt .th-info{min-width:110px}.rt .th-sel{min-width:210px}.rt .th-num{text-align:right;min-width:80px}.rt .trow td{padding:7px 10px;border-bottom:1px solid var(--report-border);vertical-align:top}.rt .trow:last-child td{border-bottom:none}.rt .bg-base{background:var(--bg-surface)}.rt .bg-level-a{background:var(--rt-row-alt)}.rt .bg-level-b{background:var(--rt-row-b)}.rt .bg-self{background:#bfdbfe}.rt .bg-parent{background:var(--bg-surface)}.rt .trow:hover .bg-base{background:var(--report-hover)}.rt .trow:hover .bg-level-a{background:var(--rt-hover)}.rt .trow:hover .bg-level-b{background:var(--rt-hover-b)}.rt .trow:hover .bg-self{background:#93c5fd}.rt .trow:hover .bg-parent{background:var(--rt-hover-footer)}.rt .trow-disabled td,.rt .trow-cancelled td{background:#e5e7eb!important}.rt .trow-disabled,.rt .trow-cancelled{color:var(--text-muted);opacity:.52;filter:grayscale(.15) saturate(.45)}.rt .sep-l{border-left:1px solid var(--rt-sep)}.rt .td-no{text-align:center;vertical-align:middle;color:var(--text-muted);font-size:var(--fs-xs);width:32px}.rt .td-num{text-align:right;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;min-width:72px;vertical-align:middle;white-space:nowrap}.rt .td-c{text-align:center;vertical-align:middle}.rt .td-level{vertical-align:top;min-width:80px}.rt .td-odds-val{color:#111827;font-weight:800;vertical-align:middle}.rt .lv-wl{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;text-align:right;white-space:nowrap}.rt .lv-com{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;text-align:right;color:var(--color-neutral);margin-top:2px;white-space:nowrap}.rt .lv-pt{font-size:var(--fs-xs);font-weight:700;text-align:right;color:#111827;margin-top:2px}.rt .lv-odds{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;text-align:right;color:var(--text-muted);margin-top:1px;white-space:nowrap}.rt .bg-self .lv-wl,.rt .bg-self .lv-com,.rt .bg-self .lv-pt{color:#111827;opacity:1}.rt .bg-self .c-neg{color:#991b1b}.rt .bold{font-weight:700}.rt .sub-num{font-size:var(--fs-xs);font-weight:700;color:#111827;margin-top:2px}.rt .td-info{min-width:110px}.rt .info-id{font-weight:700;font-size:var(--fs-sm);color:var(--nav-bg)}.rt .info-ticket{font-size:var(--fs-xs);color:var(--primary)}.rt .info-sport{font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px;display:flex;align-items:center;gap:4px}.rt .info-date{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:1px}.rt .info-time{font-size:var(--fs-xs);color:var(--text-muted)}.rt .live-tag{background:var(--badge-red-bg);color:var(--badge-red-text);border-radius:3px;padding:0 4px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.03em}.rt .td-sel{min-width:220px}.rt .sel-choice{font-size:var(--fs-sm);color:#991b1b;font-weight:700}.rt .sel-hdp{color:#991b1b;margin-left:2px;font-weight:700}.rt .at{color:var(--text-muted);margin:0 3px;font-size:var(--fs-xs)}.rt .sel-odds-val{color:#991b1b;font-weight:800}.rt .sel-type{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:2px;font-style:italic}.rt .sel-match{font-size:var(--fs-xs);margin-top:3px}.rt .sel-home{color:var(--nav-bg);font-weight:600}.rt .sel-away{color:var(--primary)}.rt .vs{color:var(--text-muted);font-size:var(--fs-xs);margin:0 2px}.rt .sel-live-score{font-size:var(--fs-xs);color:var(--color-positive);font-weight:700;margin-top:3px}.rt .sel-league{font-size:var(--fs-xs);color:var(--color-negative);margin-top:2px;font-weight:600}.rt .parlay-header{font-size:var(--fs-xs);color:var(--primary);font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.rt .parlay-count{display:inline-block}.rt .parlay-leg{padding:5px 6px;margin-top:4px;border-left:3px solid var(--border);border-radius:3px;background:#00000005}.rt .parlay-leg:first-of-type{margin-top:0}.rt .parlay-leg.leg-win{border-left-color:#16a34a;background:#16a34a0f}.rt .parlay-leg.leg-lose{border-left-color:#dc2626;background:#dc26260f}.rt .parlay-leg.leg-draw{border-left-color:#2563eb;background:#2563eb0f}.rt .parlay-leg.leg-void{border-left-color:#9ca3af;background:#9ca3af14}.rt .leg-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rt .leg-idx{font-size:var(--fs-xs);font-weight:700;color:var(--text-muted);min-width:20px}.rt .leg-badge{margin-left:auto}.rt .leg-score{font-size:var(--fs-xs);color:var(--color-positive);font-weight:700;margin-left:6px}.rt .result-summary{margin-top:4px}.rt .score-line{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:5px}.rt .actioned-at{font-size:var(--fs-xs);color:var(--text-muted);margin-top:3px}.rt .badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:var(--fs-xs);font-weight:700}.rt .badge-wait{background:var(--badge-wait-bg);color:var(--badge-wait-text)}.rt .badge-win{background:var(--badge-win-bg);color:var(--badge-win-text)}.rt .badge-draw{background:var(--badge-blue-bg);color:var(--badge-blue-text)}.rt .badge-lose{background:var(--badge-red-bg);color:var(--badge-red-text)}.rt .badge-void{background:var(--badge-void-bg, #e5e7eb);color:var(--badge-void-text, #6b7280)}.rt .badge-cancel{background:var(--badge-cancel-bg, #fef3c7);color:var(--badge-cancel-text, #92400e)}.rt .badge-refund{background:var(--badge-blue-bg);color:var(--badge-blue-text)}.rt .badge-event-cancel{background:#fff7ed;color:#c2410c}.rt .badge-abandon{background:var(--badge-red-bg, #fee2e2);color:var(--badge-red-text, #991b1b);margin-top:4px}.rt .c-pos{color:#111827;font-weight:700}.rt .c-neg{color:#991b1b;font-weight:800}.rt .c-zero{color:#111827;font-weight:700}.team-red{color:#e62e2e;font-weight:700}.team-blue{color:#0a2d7a;font-weight:700}.rt .sel-choice.side-red,.rt .sel-choice.side-red .sel-hdp,.rt .sel-choice.side-red .sel-odds-val{color:#991b1b}.rt .sel-choice.side-blue,.rt .sel-choice.side-blue .sel-hdp,.rt .sel-choice.side-blue .sel-odds-val{color:#1e3a8a}.rt .tfoot-row td{padding:7px 10px;border-top:2px solid var(--report-footer-border);font-size:var(--fs-sm);vertical-align:middle}.rt .tfoot-row .bg-base{background:var(--report-footer-bg)!important}.rt .tfoot-row .bg-level-a{background:var(--rt-hover)!important}.rt .tfoot-row .bg-level-b{background:var(--rt-hover-b)!important}.rt .tfoot-row .bg-self{background:#bfdbfe!important}.rt .tfoot-row .bg-parent{background:var(--rt-hover-footer)!important}.rt .tfoot-label{text-align:right;color:var(--text-secondary);font-size:var(--fs-xs);font-weight:600}.page-shell{position:relative;display:flex;flex-direction:column;height:100%;padding:var(--space-5) var(--space-7) 0;gap:var(--space-4);overflow:hidden;box-sizing:border-box}.page-shell.page-capped{width:100%;max-width:var(--content-max);margin-inline:0}.page-shell.page-canvas{height:auto;flex:1;min-height:0;width:100%;max-width:var(--content-max);margin:var(--space-4) 0 var(--space-4) var(--space-6);padding:12px 16px 14px;background:var(--bg-surface);border:1px solid color-mix(in srgb,var(--text-strong) 10%,transparent);border-radius:var(--radius-panel);box-shadow:var(--shadow-card)}.page-canvas .crumb-nav{font-family:var(--font-mono)}.page-canvas .crumb-nav .crumb{color:var(--text-secondary);font-weight:500}.page-canvas .crumb-nav .crumb:hover{color:var(--text-strong)}.page-canvas .crumb-nav .crumb.is-current{color:var(--text-strong);font-weight:600}.page-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);gap:var(--space-6);flex-shrink:0}.ph-left{display:flex;align-items:baseline;gap:var(--space-6);min-width:0}.ph-title{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--fs-lg);font-weight:600;color:var(--text-strong);white-space:nowrap}.ph-sub{font-size:var(--fs-sm);color:var(--text-muted);font-weight:400}.ph-count{font-size:var(--fs-sm);color:var(--text-muted);font-weight:500;padding-left:var(--space-4);border-left:1px solid var(--border);white-space:nowrap}.ph-actions{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.search-box{display:flex;align-items:center;gap:var(--space-3);height:var(--ctrl-h-lg);padding:0 var(--space-5);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .12s;min-width:240px}.search-box:focus-within{border-color:var(--accent-blue)}.search-box.has-err{border-color:var(--accent-red)}.search-box .search-icon{color:var(--text-muted);font-size:var(--fs-sm)}.search-box .search-input{flex:1;border:none;outline:none;background:transparent;font-size:var(--fs-md);color:var(--text-primary);min-width:0}.search-box .search-input::placeholder{color:var(--text-muted)}.table-wrap{flex:1;overflow:auto;min-height:0;border-radius:var(--radius-md)}.state-empty,.state-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-7) var(--space-6);color:var(--text-muted);font-size:var(--fs-md);text-align:center}.state-empty{flex-direction:column}.state-empty .state-icon{font-size:22px;color:var(--text-muted);opacity:.55;margin-bottom:var(--space-2)}.crumb-nav{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-md);flex-wrap:wrap}.crumb-nav .crumb{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--accent-blue);font-weight:500;background:none;border:none;padding:0;cursor:pointer}.crumb-nav .crumb:hover{text-decoration:underline}.crumb-nav .crumb.is-current{color:var(--text-strong);font-weight:600;cursor:default}.crumb-nav .crumb.is-current:hover{text-decoration:none}.crumb-nav .crumb-sep{color:var(--text-muted);font-size:var(--fs-xs)}.page-tabs{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.page-tabs .page-tab{display:inline-flex;align-items:center;gap:var(--space-3);height:var(--ctrl-h-lg);padding:0 var(--space-6);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--fs-md);font-weight:500;color:var(--text-secondary);transition:background .12s,color .12s}.page-tabs .page-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.page-tabs .page-tab.active{background:var(--bg-surface);border-color:var(--border);color:var(--text-strong);font-weight:600}.page-tabs .page-tab-badge{font-size:var(--fs-xs);font-weight:700;line-height:1;padding:2px 6px;border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-muted);font-variant-numeric:tabular-nums}.page-tabs .page-tab.active .page-tab-badge{background:var(--bg-hover)}.page-tabs .page-tab-badge.alert{background:var(--accent-red);color:#fff}.edit-body .scroll-area{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 16px 14px;display:flex;flex-direction:column;gap:8px}.edit-body .scroll-area>*{width:100%;max-width:1048px;margin-inline:auto}.val-strong,.val-pos{color:var(--text-strong);font-weight:700}.val-neg{color:var(--accent-red);font-weight:700}.val-muted{color:var(--text-muted)}.tot-row td{position:sticky;bottom:0;z-index:1;background:var(--report-footer-bg)!important;border-top:2px solid var(--report-footer-border)}[data-theme=dark] .tot-row td{background:var(--bg-elevated)!important}.tot-label{text-align:left;color:var(--text-secondary);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:var(--fs-xs)}.tot-sigma{color:var(--accent-blue);font-weight:800;margin-right:4px}.cc-bar{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap;padding:var(--space-4) var(--space-6);flex-shrink:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.cc-bar .search-box{margin-left:auto}.cc-error{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 14px;border-radius:var(--radius-md);background:var(--badge-red-bg);color:var(--accent-red);font-size:var(--fs-md)}.cc-page{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;gap:var(--space-4);overflow:hidden}.cc-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);flex-shrink:0}.cc-grid{flex:0 1 auto;min-height:0;margin-bottom:var(--space-5);box-shadow:var(--shadow-card);--cc-game-div: color-mix(in srgb, var(--text-strong) 24%, transparent)}.cc-grid--hug{width:fit-content;max-width:100%}.cc-grid--hug .st-table{width:auto;min-width:0}.cc-grid--scroll .st-table{width:auto;min-width:100%}.cc-table{table-layout:fixed}.cc-table thead tr:first-child th{top:0;z-index:5;height:28px}.cc-table thead tr:nth-child(2) th{top:28px;z-index:4;height:22px}.cc-corner{z-index:6!important;width:176px}.cc-game-head{text-transform:none!important;letter-spacing:0!important;border-top:2px solid var(--accent-blue)}.cc-game-label{font-weight:700;font-size:var(--fs-sm);color:var(--accent-blue)}.cc-sub{width:62px}.cc-name-cell{min-width:184px}.cc-uname{display:inline-flex;align-items:center;gap:7px;background:none;border:none;padding:0;cursor:default;color:var(--text-strong);font-weight:600;font-family:var(--font-mono);font-size:var(--fs-sm);max-width:150px}.cc-uname.cc-drillable{cursor:pointer}.cc-uname.cc-drillable:hover{color:var(--accent-blue)}.cc-children{margin-left:6px;padding:0 6px;height:16px;min-width:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-muted);font-size:10px;font-weight:700;font-family:var(--font-mono)}.cc-anchor td,.cc-anchor td.st-sticky-col{background:var(--primary-light)!important}.cc-anchor-name{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-weight:700;color:var(--accent-blue-strong)}.cc-anchor-ic{color:var(--accent-blue);font-size:11px}.cc-anchor-note{font-size:var(--fs-xs);color:var(--text-muted);margin-top:1px}.cc-anchor-cell{color:var(--accent-blue-strong);font-weight:700}.cc-cell{position:relative;padding:0!important;transition:background .12s}.cc-num{width:100%;min-width:0;max-width:none;height:27px;padding:0 9px;margin:0;text-align:right;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums;background:transparent;border:1px solid transparent;border-radius:0;box-shadow:none;color:var(--text-primary);transition:background .1s,box-shadow .1s}.cc-num::placeholder{color:var(--text-muted);opacity:.6}.cc-num:hover{background:color-mix(in srgb,var(--accent-blue) 7%,transparent)}.cc-num:focus{background:var(--bg-surface);border-color:var(--accent-blue);box-shadow:inset 0 0 0 1px var(--accent-blue);color:var(--text-strong);position:relative;z-index:3}.cc-dirty{background:color-mix(in srgb,var(--accent-blue) 7%,var(--bg-surface))!important}.cc-dirty .cc-num{color:var(--accent-blue);font-weight:600}.cc-dirty:before{content:"";position:absolute;top:4px;right:4px;width:5px;height:5px;border-radius:50%;background:var(--accent-blue)}.cc-flash{animation:cc-flash 1.4s ease-out}@keyframes cc-flash{0%{background:var(--badge-green-bg)}to{background:var(--bg-surface)}}.cc-flash .cc-num{color:var(--accent-green)}.cc-bad{background:color-mix(in srgb,var(--accent-red) 7%,var(--bg-surface))!important}.cc-bad .cc-num{color:var(--accent-red);border-color:var(--accent-red);font-weight:700}.cc-warn{background:color-mix(in srgb,var(--accent-warning) 8%,var(--bg-surface))!important}.cc-warn .cc-num{color:var(--accent-warning);border-color:var(--accent-warning);font-weight:700}.cc-row:hover .cc-dirty{background:color-mix(in srgb,var(--accent-blue) 14%,var(--bg-surface))!important}.cc-row:hover .cc-bad{background:color-mix(in srgb,var(--accent-red) 13%,var(--bg-surface))!important}.cc-row:hover .cc-warn{background:color-mix(in srgb,var(--accent-warning) 15%,var(--bg-surface))!important}.cc-row-hl td{animation:cc-row-flash 2.4s ease-out}@keyframes cc-row-flash{0%{background:var(--accent-warning-bg)}to{background:transparent}}.cc-savebar{position:absolute;right:24px;bottom:18px;z-index:20;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;border-radius:var(--radius-pill);box-shadow:var(--menu-shadow)}.cc-savebar-meta{display:flex;align-items:center;gap:6px}.cc-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:700;font-family:var(--font-mono)}.cc-chip-dirty{background:var(--primary-light);color:var(--accent-blue)}.cc-chip-bad{background:var(--badge-red-bg);color:var(--accent-red)}.cc-savebar .btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.cc-savebar .btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary)}.cc-bar-pop-enter-active,.cc-bar-pop-leave-active{transition:opacity .18s,transform .18s}.cc-bar-pop-enter-from,.cc-bar-pop-leave-to{opacity:0;transform:translateY(8px) scale(.96)}.cc-bar.card{padding:12px 16px;border-color:color-mix(in srgb,var(--text-strong) 10%,transparent);border-radius:var(--radius-panel)}.cc-grid.st-wrap{border-color:color-mix(in srgb,var(--text-strong) 10%,transparent);border-radius:var(--radius-panel)}.cc-grid .st-table thead th{background:color-mix(in srgb,var(--text-strong) 4%,var(--bg-surface));color:var(--accent-blue);font-size:var(--fs-sm);font-weight:700;letter-spacing:0;border-top:2px solid var(--accent-blue);border-right-color:color-mix(in srgb,var(--text-strong) 7%,transparent);border-bottom-color:color-mix(in srgb,var(--text-strong) 10%,transparent)}.cc-grid .st-table thead tr:first-child th{border-bottom-color:color-mix(in srgb,var(--text-strong) 7%,transparent)}.cc-grid .st-table .st-group{background:color-mix(in srgb,var(--text-strong) 4%,var(--bg-surface))!important;color:var(--accent-blue)!important;font-weight:700!important;border-top:2px solid var(--accent-blue);border-left:none!important;border-right:1px solid var(--cc-game-div)!important;border-bottom:1px solid color-mix(in srgb,var(--text-strong) 10%,transparent)}.cc-grid .st-table .st-group:first-of-type{border-left:none!important}.cc-grid .st-table .st-group:last-of-type{border-right:none!important}.cc-grid .st-table .st-sub{background:color-mix(in srgb,var(--text-strong) 4%,var(--bg-surface))!important;color:var(--text-secondary)!important;font-weight:600!important;font-size:var(--fs-sm)!important;border-top:none!important}.cc-grid .st-table td{height:27px;border-right-color:color-mix(in srgb,var(--text-strong) 6%,transparent);border-bottom-color:color-mix(in srgb,var(--text-strong) 6%,transparent)}.cc-grid .st-table td.st-sticky-col{border-right-color:color-mix(in srgb,var(--text-strong) 12%,transparent)!important}.cc-grid .st-table .st-group-last,.cc-grid .st-table td.st-group-last{border-right:1px solid var(--cc-game-div)!important}.cc-row:hover td{background:color-mix(in srgb,var(--text-strong) 4%,var(--bg-surface))}.cc-grid .st-table tbody tr:nth-child(2n) td{background:var(--bg-surface)}.cc-grid .st-table tbody tr:nth-child(2n) td.st-sticky-col{background:var(--bg-surface)!important}.cc-grid .cc-num:focus{border:1px solid var(--accent-blue);border-radius:0;box-shadow:inset 0 0 0 1px var(--accent-blue);background:var(--bg-surface)}.cc-grid .cc-num:hover{border-color:transparent}.cc-grid .st-table thead th.st-sub{letter-spacing:0}.cc-selall{display:inline-flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none}.cc-selall input{cursor:pointer}.cc-rowchk{margin-right:7px;cursor:pointer;vertical-align:middle}.cc-row-sel td,.cc-row-sel td.st-sticky-col{background:color-mix(in srgb,var(--accent-blue) 6%,var(--bg-surface))!important}.cc-tpl-hint td{background:color-mix(in srgb,var(--accent-blue) 4%,var(--bg-surface))!important;border-top:1px dashed color-mix(in srgb,var(--accent-blue) 30%,transparent);border-bottom:1px dashed color-mix(in srgb,var(--accent-blue) 18%,transparent)}.cc-tpl-hint-cell{padding:8px 14px!important;height:auto!important;color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.5}.cc-tpl-hint-ic{color:var(--accent-blue);margin-right:8px;font-size:13px}.cc-tpl td,.cc-tpl td.st-sticky-col{background:var(--accent-warning-bg)!important}.cc-tpl td{border-top:1px dashed color-mix(in srgb,var(--accent-warning) 60%,transparent);border-bottom:1px dashed color-mix(in srgb,var(--accent-warning) 45%,transparent)}.cc-tpl-name{white-space:nowrap;padding:5px 10px!important}.cc-tpl-apply{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--accent-warning) 38%,var(--border));background:var(--bg-surface);color:color-mix(in srgb,var(--accent-warning) 70%,#000);font-size:var(--fs-xs);font-weight:700;cursor:pointer;transition:background .12s,border-color .12s}.cc-tpl-apply:hover:not(:disabled){background:var(--accent-warning-bg);border-color:color-mix(in srgb,var(--accent-warning) 55%,transparent)}.cc-tpl-apply:active:not(:disabled){transform:scale(.98)}.cc-tpl-apply:disabled{opacity:.45;cursor:default}.cc-tpl-apply .cc-tpl-arrow{font-size:10px;opacity:.75}.cc-tpl-cell .cc-num{color:color-mix(in srgb,var(--accent-warning) 72%,#000);font-weight:700;background:color-mix(in srgb,#fff 50%,transparent)}.cc-tpl-cell .cc-num:focus{background:var(--bg-surface)}.lg-wrap{flex:1;min-height:0;overflow:auto;border:1px solid color-mix(in srgb,var(--text-strong) 10%,transparent);border-radius:var(--radius-md);background:var(--bg-surface)}.ledger-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-md);font-variant-numeric:tabular-nums slashed-zero;background:var(--bg-surface);color:var(--text-primary)}.ledger-table thead th{position:sticky;top:0;z-index:3;background:color-mix(in srgb,var(--text-strong) 4%,var(--bg-surface));color:var(--text-muted);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;padding:0 10px;height:var(--ctrl-h-lg);vertical-align:middle;text-align:right;border-bottom:1px solid color-mix(in srgb,var(--text-strong) 10%,transparent)}.ledger-table thead th.lg-th-left{text-align:left}.ledger-table tbody td,.ledger-table tbody th{padding:0 10px;height:34px;vertical-align:middle;border-bottom:1px solid var(--report-sep);background:var(--bg-surface)}.ledger-table tbody tr:hover td,.ledger-table tbody tr:hover th{background:var(--report-hover)}.lg-sticky{position:sticky;left:0;z-index:2;border-right:1px solid color-mix(in srgb,var(--text-strong) 12%,transparent)}.ledger-table thead th.lg-sticky{z-index:5}.lg-sticky:after{content:"";position:absolute;top:0;right:-6px;bottom:0;width:6px;background:linear-gradient(to right,rgba(20,40,80,.06),transparent);pointer-events:none}.lg-grouprow th{top:0;height:22px;text-align:center;z-index:4}.lg-grouprow th.lg-sticky{z-index:6}.lg-group{border-left:1px solid color-mix(in srgb,var(--text-strong) 12%,transparent)}.lg-group-rule{display:inline-block}.lg-group-unit{margin-left:4px;opacity:.7;font-weight:600}.lg-fieldrow th{top:22px;height:24px;z-index:3;font-size:10px}.lg-fieldrow th.lg-sticky{z-index:5}.lg-gstart{border-left:1px solid color-mix(in srgb,var(--text-strong) 12%,transparent)}.lg-gamecell{text-align:left;min-width:168px;font-weight:600;color:var(--text-strong)}.lg-game-row{display:flex;align-items:center;gap:8px}.lg-game-name{font-size:var(--fs-sm);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg-row-off td{opacity:.42}.lg-row-off .lg-game-name{color:var(--text-muted)}.lg-lock-ic{font-size:9px;color:var(--text-muted);opacity:.8;flex-shrink:0}.lg-cell{padding:3px 6px;text-align:right}.lg-cell-stack{display:flex;flex-direction:column;align-items:stretch;gap:0}.lg-own{width:100%;height:22px;padding:0 5px;margin:0;border:1px solid transparent;border-bottom-color:var(--border-light);border-radius:var(--radius-sm);background:transparent;outline:none;font-family:var(--font-mono);font-variant-numeric:tabular-nums slashed-zero;font-size:var(--fs-md);font-weight:700;text-align:right;color:var(--text-strong);-moz-appearance:textfield;transition:background .1s,border-color .1s,box-shadow .1s}.lg-own::-webkit-outer-spin-button,.lg-own::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.lg-own:hover{background:color-mix(in srgb,var(--accent-blue) 6%,transparent);border-color:color-mix(in srgb,var(--accent-blue) 26%,transparent)}.lg-own:focus{background:var(--bg-surface);border-color:var(--accent-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-blue) 22%,transparent);color:var(--text-strong)}.lg-own.is-err{border-color:var(--accent-red-soft);background:var(--row-rejected-bg);color:var(--accent-red)}.lg-ceil{height:13px;visibility:hidden;font-family:var(--font-mono);font-variant-numeric:tabular-nums slashed-zero;font-size:10px;color:var(--text-muted);text-align:right;padding:0 6px;line-height:13px;letter-spacing:-.02em}.lg-cell:focus-within .lg-ceil{visibility:visible}.lg-ceil-na{color:var(--border-strong)}.lg-na{color:var(--border-strong);font-family:var(--font-mono)}.lg-cell-err{min-height:13px;font-size:var(--fs-xs);color:var(--accent-red);text-align:right;line-height:13px;padding:0 6px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.4;-webkit-font-smoothing:antialiased}body{overflow-x:auto;overflow-y:hidden}#app{height:100%;height:100dvh;min-width:var(--app-min-width)}a{color:inherit;text-decoration:none}button{font-family:var(--font-sans);cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--font-sans);outline:none}.mono{font-family:var(--font-mono)}.text-green{color:var(--accent-green)}.text-red{color:var(--accent-red)}.text-blue{color:var(--accent-blue)}.text-yellow{color:var(--accent-yellow)}.text-purple{color:var(--accent-purple)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.dim{color:var(--text-primary)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-elevated)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}table{border-collapse:collapse;width:100%}th,td{padding:5px 8px;text-align:left;border-bottom:1px solid var(--border)}th{background:var(--bg-elevated);color:var(--text-secondary);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:1}tr:hover td{background:var(--bg-hover)}th:not(:last-child),td:not(:last-child){border-right:1px solid var(--border-light)}.input{background:var(--bg-surface);border:1.5px solid hsl(213 15% 74%);border-radius:3px;color:var(--text-primary);padding:6px 9px;font-size:var(--fs-base);width:100%;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #4182c82e;outline:none}.btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:3px;font-size:var(--fs-sm);font-weight:500;transition:filter .15s}.btn:hover{filter:brightness(.92)}.btn-primary{background:var(--primary);color:#fff}.btn-success{background:var(--accent-green);color:#fff}.btn-danger{background:var(--accent-red);color:#fff}.btn-ghost{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn:disabled{opacity:.4;cursor:not-allowed}.badge{display:inline-block;padding:1px 6px;border-radius:2px;font-size:var(--fs-xs);font-weight:600}.badge-green{background:var(--badge-green-bg);color:var(--badge-green-text)}.badge-red{background:var(--badge-red-bg);color:var(--badge-red-text)}.badge-blue{background:var(--badge-blue-bg);color:var(--badge-blue-text)}.badge-yellow{background:var(--badge-yellow-bg);color:var(--badge-yellow-text)}.badge-purple{background:var(--badge-blue-bg);color:var(--badge-blue-text)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:4px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-title{font-size:var(--fs-title);font-weight:600;color:var(--text-primary)}.dashboard{padding:16px;overflow-y:auto;height:100%}@keyframes flash-blue{0%{background-color:var(--primary);color:#fff}70%{background-color:var(--primary);color:#fff}to{background-color:transparent;color:inherit}}.flash{animation:flash-blue 1.2s ease-out;border-radius:2px;padding:0 3px}.fade-enter-active,.fade-leave-active{transition:opacity .18s}.fade-enter-from,.fade-leave-to{opacity:0}
