:root{--bg:#eef2f7;--surface:#fff;--surface-2:#f7f9fc;--text:#162033;--muted:#5b6677;--border:#d8dee9;--border-input:#c7d0df;--radius:10px;--radius-sm:6px;--shadow-card:0 1px 2px #1620330f, 0 8px 24px #1620330f;--shadow-panel:0 24px 70px #1620331f;--brand:#2563eb;--brand-hover:#1d4ed8;--brand-tint:#2563eb1f;--brand-contrast:#fff;--danger:#dc2626;--danger-hover:#b91c1c;--ok:#15803d;--ok-tint:#15803d1f;--bad-tint:#dc26261a;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{overscroll-behavior-x:none}body{min-width:320px;min-height:100vh;margin:0;font-size:14px;line-height:1.35}button,input,select,textarea{font:inherit}a{color:var(--brand)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.btn{border-radius:var(--radius-sm);cursor:pointer;min-height:36px;color:var(--text);background:0 0;border:1px solid #0000;padding:0 12px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--brand);color:var(--brand-contrast)}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-ghost{border-color:var(--border);background:var(--surface)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}input,textarea{border:1px solid var(--border-input);border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--text);background:var(--surface);outline:none;padding:6px 9px}select{border:1px solid var(--border-input);border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--text);background:var(--surface);outline:none;padding:6px 30px 6px 9px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}button:focus-visible,a:focus-visible{outline:3px solid var(--brand-tint);outline-offset:2px}.pill{border-radius:999px;padding:2px 7px;font-size:12px;font-weight:700;display:inline-block}.pill--ok{background:var(--ok-tint);color:var(--ok)}.pill--bad{background:var(--bad-tint);color:var(--danger)}.pill--muted{background:var(--surface-2);color:var(--muted)}.note{margin:0;font-size:12px}.note.ok{color:var(--ok)}.note.err{color:var(--danger)}@media (width<=700px){.btn,input,select,textarea{min-height:38px}}:root{--brand:#2563eb;--brand-hover:#1d4ed8;--brand-tint:#2563eb1f;--brand-contrast:#fff;--bg:#eef2f7}.login-page{background:linear-gradient(135deg, #2563eb1a, transparent 42%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow-panel);padding:32px}.login-panel h1{align-items:center;gap:16px;margin:0 0 24px;font-size:30px;line-height:1.15;display:flex}.login-form{gap:16px;display:grid}.login-form label,.login-field,.verification-code{color:var(--muted);gap:8px;font-size:14px;font-weight:600;display:grid}.verification-code{border:0;min-width:0;margin:0;padding:0}.verification-code legend{margin:0 0 8px;padding:0}.verification-code__inputs{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.verification-code__input{aspect-ratio:1;text-align:center;min-height:44px;padding:0;font-size:22px;font-weight:800}.password-field{display:block;position:relative}.password-field input{padding-right:48px}.password-toggle{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text);background:var(--surface-2)}.password-toggle:focus-visible{outline:3px solid var(--brand-tint);outline-offset:1px}.password-toggle svg{width:20px;height:20px}.login-form .btn{width:100%}.login-hint{color:var(--muted);margin:0;font-size:14px}.login-banner{border-radius:var(--radius-sm);color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;margin:0 0 4px;padding:10px 12px;font-size:14px}.login-error{color:var(--danger);margin:0;font-size:14px;font-weight:600}@media (width<=380px){.login-panel{padding:24px}.verification-code__inputs{gap:6px}.verification-code__input{font-size:20px}}.app-shell{background:var(--bg);min-height:100vh}.topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar__inner{flex-wrap:wrap;align-items:center;gap:16px;max-width:1120px;margin:0 auto;padding:10px 16px;display:flex}.topbar__brand{align-items:center;gap:10px;font-weight:800;display:flex}.brand-mark{background:var(--brand);width:34px;height:34px;color:var(--brand-contrast);border-radius:8px;place-items:center;font-weight:900;display:grid}.topbar__menu-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;width:42px;height:42px;display:none;position:relative}.menu-icon,.menu-icon:before,.menu-icon:after{background:var(--text);content:"";width:18px;height:2px;position:absolute;left:11px}.menu-icon{top:20px}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.topbar__nav{gap:4px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text);padding:8px 12px;font-weight:600;text-decoration:none}.nav-link:hover{background:var(--surface-2)}.nav-link.router-link-exact-active{background:var(--brand-tint);color:var(--brand)}.topbar__meta{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}.lotto-type-picker__choice.is-selected{background:var(--brand);color:var(--brand-contrast)}.topbar-date-picker{gap:2px;width:136px;min-width:0;display:grid}.topbar__event-status.is-error{background:var(--bad-tint);width:22px;height:22px;color:var(--danger);border-radius:999px;place-items:center;display:grid}.server-clock{flex-direction:column;line-height:1.1;display:flex}.server-clock__time{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.server-clock__label{color:var(--muted);font-size:11px}.role-badge{letter-spacing:.02em;background:var(--brand-tint);color:var(--brand);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-block}@media (width<=860px){.topbar__menu-btn{order:3;margin-left:auto;display:inline-block}.topbar__meta{order:2;gap:10px;margin-left:auto}.topbar__event-controls{order:-2}.server-clock{order:-1}.topbar__nav{border-top:1px solid var(--border);flex-direction:column;flex-basis:100%;order:4;gap:2px;padding-top:8px;display:none}.topbar__nav.is-open{display:flex}}.app-main{max-width:1120px;margin:0 auto;padding:24px 16px 48px}.app-main--wide{max-width:1540px}.page{gap:20px;display:grid}.page__head h1{margin:0 0 4px;font-size:26px}.page__head--row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title{margin:8px 0 0;font-size:18px}.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-card);padding:20px}.card__title{margin:0 0 12px;font-size:16px}.card__title-row{justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;display:flex}.card__title-row .card__title{margin:0}.peek-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--muted);background:var(--surface);cursor:pointer;flex:none;place-items:center;padding:0;display:grid}.peek-toggle:hover{color:var(--text);background:var(--surface-2)}.peek-toggle:focus-visible{outline:3px solid var(--brand-tint);outline-offset:2px}.peek-toggle svg{width:20px;height:20px}.card--link{color:inherit;text-decoration:none;transition:border-color .15s,transform 50ms;display:block}.card--link:hover{border-color:var(--brand)}.card__cta{color:var(--brand);margin-top:12px;font-weight:700;display:inline-block}.betting-page{gap:14px;display:grid}.betting-toast-stack{z-index:100;pointer-events:none;gap:10px;width:min(420px,100vw - 32px);display:grid;position:fixed;top:10px;right:16px}.betting-status{border-radius:var(--radius-sm);box-shadow:var(--shadow-panel);pointer-events:auto;border:1px solid #0000;padding:12px 14px;font-weight:800}.betting-status.is-ok{color:#fff;background:#15803d;border-color:#166534}.betting-status.is-error{color:#fff;background:#b91c1c;border-color:#991b1b}.betting-toast-enter-active,.betting-toast-leave-active{transition:opacity .18s,transform .18s}.betting-toast-enter-from,.betting-toast-leave-to{opacity:0;transform:translate(24px)}.betting-empty-state{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);gap:12px;width:min(100%,560px);padding:20px;display:grid}.betting-empty-state h2{margin:0;font-size:20px}.betting-empty-state p{color:var(--muted);margin:0;font-weight:700}.betting-empty-state .btn{justify-self:start}.betting-layout{grid-template-columns:minmax(0,1fr) minmax(390px,.96fr);align-items:start;gap:28px;display:grid}.betting-entry,.betting-side{min-width:0}.betting-event{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 22px;display:flex}.betting-event__title{min-width:0}.thai-flag{background:linear-gradient(#ed1b2f 0 16%,#fff 16% 29%,#241a4f 29% 71%,#fff 71% 84%,#ed1b2f 84% 100%);border:1px solid #0f172a1a;flex:none;width:58px;height:38px}.betting-event h1{margin:0 0 2px;font-size:24px;line-height:1.15}.betting-event p{color:var(--muted);margin:0;font-size:19px;font-weight:700}.betting-close-clock{border-radius:var(--radius-sm);color:#1e3a8a;font-variant-numeric:tabular-nums;background:#eff6ff;border:1px solid #bfdbfe;grid-template-columns:auto auto;align-items:center;gap:2px 10px;min-width:188px;margin-left:auto;padding:9px 12px;display:grid}.betting-close-clock__label{color:#1d4ed8;align-items:center;gap:5px;font-size:13px;font-weight:800;display:inline-flex}.betting-close-clock strong{justify-self:end;font-size:20px;line-height:1.1}.betting-close-clock__countdown{color:#334155;text-align:right;grid-column:1/-1;font-size:13px;font-weight:800}.betting-close-clock.is-closed{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.betting-close-clock.is-closed .betting-close-clock__label,.betting-close-clock.is-closed .betting-close-clock__countdown{color:#9a3412}.betting-closed{border-radius:var(--radius-sm);color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;margin-bottom:14px;padding:10px 12px;font-weight:800}.betting-meta-grid{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,.8fr);align-items:end;gap:14px 28px;padding-bottom:12px;display:grid}.betting-input{min-width:0;color:var(--text);gap:6px;font-size:16px;font-weight:800;display:grid}.betting-input small{color:var(--muted);font-size:13px;font-weight:700}.sound-check{width:max-content;color:var(--muted);grid-column:1/-1;align-items:center;gap:10px;font-size:17px;font-weight:800;display:inline-flex}.sound-check input{width:26px;height:26px;min-height:0;accent-color:var(--brand);margin:0}.betting-tabs{border-bottom:1px solid var(--border);gap:0;margin-top:16px;display:flex}.betting-tabs button{min-width:120px;min-height:58px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 20px;font-size:17px;font-weight:900}.betting-tabs button.is-active{color:#1f6f9b;background:#e7f3fb;border-color:#1f6f9b}.betting-tabs button:disabled{cursor:default}.freehand-panel{border:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--surface);border-top:0;gap:18px;padding:16px 22px 20px;display:grid}.freehand-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.freehand-toolbar .btn{align-items:center;gap:8px;display:inline-flex}.freehand-toolbar svg{width:18px;height:18px}.freehand-submit{margin-left:auto}.freehand-field{color:var(--muted);gap:8px;font-size:16px;font-weight:800;display:grid}.freehand-field small{color:var(--muted);font-size:14px}.freehand-field textarea{border:1px solid var(--border-input);border-radius:var(--radius-sm);width:100%;min-height:66px;max-height:220px;color:var(--text);background:var(--surface);font:inherit;resize:vertical;outline:none;padding:10px 12px;line-height:1.35}.freehand-field textarea:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.freehand-field textarea:disabled{background:var(--surface-2)}.betting-side{gap:14px;display:grid}.aun-panel{border-radius:var(--radius-sm);background:#edf8f7;border:1px solid #39b7ae;padding:18px}.aun-panel h2{margin:0 0 10px;font-size:19px;line-height:1.25}.aun-chip-list{flex-wrap:wrap;gap:10px;display:flex}.aun-chip{border-radius:var(--radius-sm);color:#fff;text-align:center;font-variant-numeric:tabular-nums;background:#43a79d;min-width:66px;padding:7px 14px;font-size:19px;font-weight:900}.aun-empty{margin:0;font-weight:700}.slip-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);gap:12px;padding:18px 4px 0;display:grid}.bet-action-btn{border-radius:var(--radius-sm);min-height:50px;color:var(--brand-contrast);cursor:pointer;background:#667085;border:0;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:17px;font-weight:900;display:inline-flex}.bet-action-btn svg{width:21px;height:21px}.bet-action-btn:disabled{color:#9a9a9a;cursor:default;background:#d9d9d9}.current-slip,.empty-slip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.empty-slip{min-height:72px;color:var(--muted);place-items:center;font-size:17px;font-weight:800;display:grid}.current-slip{gap:12px;padding:14px;display:grid}.slip-selector{grid-template-columns:46px minmax(0,1fr) 46px;gap:8px;display:grid}.slip-arrow{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:44px;color:var(--brand);background:var(--surface);cursor:pointer;place-items:center;display:grid}.slip-arrow svg{width:21px;height:21px}.slip-arrow:disabled{color:var(--muted);background:var(--surface-2);cursor:default}.slip-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;font-weight:800;display:flex}.slip-summary strong{color:var(--text)}.slip-summary .is-canceled{color:var(--danger)}.slip-table-wrap{overflow-x:auto}.slip-table{border-collapse:collapse;width:100%}.slip-table th,.slip-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 12px}.slip-table th{color:var(--muted);background:var(--surface-2);font-size:13px}.slip-table td:nth-child(3),.slip-table td:nth-child(4){text-align:right;font-variant-numeric:tabular-nums}.slip-table-row{cursor:pointer;transition:background-color .12s}.slip-table-row:hover{background:var(--surface-2)}.slip-table-row:focus-visible{outline:3px solid var(--brand-tint);outline-offset:-3px}.bet-detail-table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.bet-detail-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:360px}.bet-detail-table th,.bet-detail-table td{border-bottom:1px solid var(--border);text-align:center;vertical-align:middle;padding:10px 12px}.bet-detail-table th{color:var(--muted);background:var(--surface-2);font-size:13px}.bet-detail-table th:first-child{width:38%}.bet-detail-table th:nth-child(2){width:27%}.bet-detail-table th:nth-child(3){width:35%}.bet-detail-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.bet-detail-table tbody tr:last-child td{border-bottom:0}.bet-detail-empty{color:var(--muted);text-align:center!important}.modal-overlay{z-index:120;background:#0f172a8f;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{border-radius:var(--radius);background:var(--surface);width:min(100%,460px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-panel);padding:22px;overflow:auto}.modal-card h2{margin:0 0 14px;font-size:21px}.modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.modal-form,.modal-list,.help-list{gap:12px;display:grid}.help-list p,.modal-note{color:var(--muted);margin:0;font-weight:700}.modal-row,.limit-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:88px minmax(0,1fr);gap:8px;padding:10px 12px;display:grid}.modal-row strong,.limit-row strong{word-break:break-word;min-width:0}.limit-row{grid-template-columns:64px 72px 1fr 1fr;align-items:center}@media (width<=980px){.betting-layout{grid-template-columns:1fr}.freehand-submit{margin-left:0}}@media (width<=640px){.betting-event{align-items:flex-start}.betting-event h1{font-size:21px}.betting-event p{font-size:16px}.betting-close-clock{width:100%;margin-left:0}.freehand-panel{padding:14px}.freehand-toolbar .btn{justify-content:center;width:100%}.slip-table,.slip-table tbody,.slip-table tr,.slip-table td{width:100%;display:block}.slip-table thead{display:none}.slip-table tr{border-bottom:1px solid var(--border);padding:8px 0}.slip-table td{border-bottom:0;justify-content:space-between;gap:16px;padding:6px 0;display:flex}.slip-table td:before{content:attr(data-label);color:var(--muted);font-weight:800}.slip-table td:nth-child(3),.slip-table td:nth-child(4){text-align:left}.bet-detail-table{min-width:0}.bet-detail-table th,.bet-detail-table td{padding:9px 6px;font-size:13px}.limit-row{grid-template-columns:1fr}}.report-page{gap:16px}.report-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.report-head p{margin:4px 0 0;font-weight:700}.report-result-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:0;display:grid;overflow:hidden}.report-result-panel h2{color:#fff;background:#4a4641;align-items:center;margin:0;padding:14px 16px;font-size:16px;display:flex}.report-result-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.report-result-item{border-left:1px solid var(--border);background:#f8fafc;place-items:center;gap:2px;min-height:64px;padding:8px 12px;display:grid}.report-result-item dt,.report-result-item dd{margin:0}.report-result-item dt{color:var(--muted);font-size:12px;font-weight:800}.report-result-item dd{color:var(--text);font-variant-numeric:tabular-nums;text-align:center;font-size:20px;font-weight:900}.report-summary-strip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;display:grid;overflow:hidden}.report-summary-strip div{border-right:1px solid var(--border);gap:2px;min-width:0;padding:12px 14px;display:grid}.report-summary-strip div:last-child{border-right:0}.report-summary-strip span{color:var(--muted);font-size:12px;font-weight:800}.report-summary-strip strong{color:var(--text);font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:18px;font-weight:900;overflow:hidden}.report-state{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);padding:18px;font-weight:800}.report-state.is-error{color:var(--danger);background:#fff5f5;border-color:#dc262647}.report-slip-list,.number-report-groups{gap:14px;display:grid}.report-slip,.number-report-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.report-slip.is-canceled{opacity:.72}.report-slip__head{border-bottom:1px solid var(--border);background:#f8fafc;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.report-slip__head h2,.number-report-group h2{margin:0;font-size:18px}.report-slip__head p{color:var(--muted);margin:4px 0 0;font-size:13px;font-weight:700}.report-slip__totals{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:flex-end;gap:8px;font-size:13px;font-weight:800;display:flex}.number-report-group h2{border-bottom:1px solid var(--border);background:#f8fafc;padding:14px 16px}.report-table-wrap{overflow-x:auto}.report-detail-table,.report-number-table,.payout-rate-table{min-width:720px}.report-detail-table tfoot th,.report-detail-table tfoot td{border-top:2px solid var(--border);background:#f8fafc;font-weight:900}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.is-winning-row td{background:#eff6ff}.is-winning-row .report-keyno{color:var(--brand);font-weight:900}.report-status-badge{border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:2px 10px;font-size:12px;font-weight:900;display:inline-flex}.report-status-badge.is-open{color:var(--ok);background:var(--ok-tint)}.report-status-badge.is-closed,.report-status-badge.is-canceled{color:var(--danger);background:var(--bad-tint)}.report-muted-code{color:var(--muted);margin-top:2px;font-size:12px;font-weight:800;display:block}@media (width<=760px){.report-head{display:grid}.report-head .btn{justify-self:start}.report-result-panel{grid-template-columns:1fr}.report-result-panel h2{justify-content:center}.report-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-result-item{border-left:0;border-top:1px solid var(--border)}.report-slip__head{display:grid}.report-slip__totals{justify-content:flex-start}}@media (width<=640px){.report-summary-strip{grid-template-columns:1fr 1fr}.report-summary-strip div{border-right:0;border-bottom:1px solid var(--border)}.report-summary-strip div:nth-last-child(-n+2){border-bottom:0}.report-detail-table,.report-number-table,.payout-rate-table{min-width:0}.report-detail-table tfoot,.report-detail-table tfoot tr,.report-detail-table tfoot th,.report-detail-table tfoot td{width:100%;display:block}.report-detail-table tfoot tr{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8fafc;margin:0;padding:6px 14px}.report-detail-table tfoot th,.report-detail-table tfoot td{text-align:right;border:0;padding:8px 0}}.form-card{max-width:560px}.stack{gap:14px;display:grid}.field{color:var(--muted);gap:6px;font-size:14px;font-weight:600;display:grid}.actions{flex-wrap:wrap;gap:10px;display:flex}.status-line{margin:0 0 14px}.qr-row{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.qr-img{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.qr-side{min-width:180px}.secret-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.secret{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);word-break:break-all;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-block}.data-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:12px 14px}.data-table th{background:var(--surface-2);color:var(--muted);font-size:13px}.data-table tbody tr:last-child td{border-bottom:0}.data-table .ua{word-break:break-word;max-width:360px;color:var(--muted);font-size:13px}.reason{color:var(--muted);margin-top:4px;font-size:12px;display:block}@media (width<=640px){.topbar__meta{flex:100%;justify-content:flex-start;margin-left:0}.topbar__event-controls{flex:100%}.lotto-type-picker{flex:180px;width:auto}.topbar-date-picker{flex:140px;width:auto}.lotto-type-picker__panel{width:auto;max-height:calc(100vh - 112px);top:104px;left:8px;right:8px}.lotto-type-picker__group.is-inline{grid-template-columns:106px minmax(0,1fr)}.lotto-type-picker__choices{grid-template-columns:repeat(2,minmax(0,1fr))}.lotto-type-picker__choice{font-size:12px}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table thead{display:none}.data-table{background:0 0;border:0}.data-table tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:12px;padding:6px 14px}.data-table td{border-bottom:1px solid var(--surface-2);justify-content:space-between;gap:16px;padding:8px 0;display:flex}.data-table tr td:last-child{border-bottom:0}.data-table td:before{content:attr(data-label);color:var(--muted);font-weight:700}.data-table .ua{text-align:right;max-width:none}}.kick-overlay{z-index:100;background:#0f172a8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.kick-card{background:var(--surface);border-radius:var(--radius);width:min(100%,380px);box-shadow:var(--shadow-panel);text-align:center;padding:24px}.kick-card h2{margin:0 0 8px}.kick-card p{color:var(--muted);margin:0 0 20px}.kick-card .btn{width:100%}.app-shell{background:var(--bg);grid-template-columns:minmax(0,1fr);min-height:100vh;display:grid}.app-shell.is-sidebar-open{grid-template-columns:165px minmax(0,1fr)}.app-workspace{min-width:0}.app-sidebar{z-index:30;color:#f8fafc;background:#191d2d;border-right:1px solid #ffffff14;flex-direction:column;min-width:0;height:100vh;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:4px 0 18px #0f172a1f}.app-sidebar-backdrop{display:none}.side-nav__identity{border-bottom:1px solid #ffffff1a;align-items:center;gap:10px;min-height:70px;padding:12px 14px;display:flex}.app-sidebar .brand-mark{border-radius:50%;flex:none;width:36px;height:36px}.side-nav__identity-copy{gap:2px;min-width:0;display:grid}.side-nav__identity-copy strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.side-nav__identity-copy span{color:#aeb6ca;font-size:12px;font-weight:700}.side-nav__wallet{background:#151827;border-bottom:1px solid #ffffff1a;gap:6px;margin:0;padding:10px 14px 12px;display:grid}.side-nav__wallet div{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.side-nav__wallet dt,.side-nav__wallet dd{margin:0}.side-nav__wallet dt{color:#8f98b0;font-size:11px;font-weight:800}.side-nav__wallet dd{color:#fff;font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:900;overflow:hidden}.side-nav{scrollbar-width:thin;scrollbar-color:#596078 transparent;flex:auto;min-height:0;padding:6px 6px 14px;overflow-y:auto}.side-nav__section{color:#8f98b0;letter-spacing:.08em;text-transform:uppercase;padding:12px 10px 4px;font-size:10px;font-weight:800;display:block}.side-nav__link{color:#e3e7f0;border-radius:6px;align-items:center;min-height:36px;margin:1px 0;padding:7px 10px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.side-nav__link:hover{color:#fff;background:#ffffff14}.side-nav__link.router-link-exact-active{color:#fff;background:var(--brand)}.side-nav__footer{background:#151827;border-top:1px solid #ffffff1a;flex:none;gap:10px;padding:12px;display:grid}.side-nav__footer .server-clock__time{color:#fff}.side-nav__footer .server-clock__label{color:#8f98b0}.side-nav__logout{min-height:38px;color:var(--brand-contrast);background:var(--brand);cursor:pointer;border:0;border-radius:6px;font-weight:800}.side-nav__logout:hover{background:var(--brand-hover)}.topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;box-shadow:0 1px 8px #0f172a0d}.topbar__inner{flex-wrap:nowrap;align-items:center;gap:14px;width:100%;max-width:none;min-height:64px;margin:0;padding:9px clamp(14px,2vw,28px);display:flex}.topbar__menu-btn{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;flex:none;width:42px;height:42px;display:inline-block;position:relative}.topbar__menu-btn:hover{background:var(--surface-2)}.topbar__page-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:17px;overflow:hidden}.topbar__meta{flex-wrap:nowrap;align-items:center;gap:12px;min-width:0;margin-left:auto;display:flex}.topbar__event-controls{align-items:center;gap:6px;min-width:0;display:flex}.lotto-type-picker{width:174px;min-width:0;position:relative}.lotto-type-picker__button{border:1px solid var(--border-input);border-radius:var(--radius-sm);width:100%;min-height:40px;color:var(--text);background:var(--surface);cursor:pointer;text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;padding:4px 10px;display:grid}.lotto-type-picker__button:hover:not(:disabled){background:var(--surface-2)}.lotto-type-picker__button:disabled{opacity:.65;cursor:default}.lotto-type-picker__label{color:var(--muted);font-size:10px;font-weight:700;line-height:1}.lotto-type-picker__value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:800;line-height:1.25;overflow:hidden}.lotto-type-picker__chevron{color:var(--muted);grid-area:1/2/span 2;font-size:12px;font-weight:900}.lotto-type-picker__panel{z-index:50;border:1px solid var(--border);background:var(--surface);width:min(740px,100vw - 32px);max-height:calc(100vh - 76px);box-shadow:var(--shadow-panel);border-radius:4px;gap:0;padding:0;display:grid;position:fixed;top:63px;right:16px;overflow:auto}.lotto-type-picker__group{border-bottom:1px solid var(--border);gap:0;display:grid}.lotto-type-picker__group.is-inline{grid-template-columns:128px minmax(0,1fr)}.lotto-type-picker__group:last-child{border-bottom:0}.lotto-type-picker__group-title{color:#fff;background:#4a4641;margin:0;padding:6px 10px;font-size:13px;font-weight:800;line-height:1.2}.lotto-type-picker__group.is-inline .lotto-type-picker__group-title{align-items:center;display:flex}.lotto-type-picker__choices{background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.lotto-type-picker__group.is-inline .lotto-type-picker__choices{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.lotto-type-picker__group.is-wide .lotto-type-picker__choices{grid-template-columns:repeat(5,minmax(0,1fr))}.lotto-type-picker__choice{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:29px;color:var(--text);background:var(--surface);cursor:pointer;text-align:left;border-radius:0;padding:4px 10px;font-size:13px;font-weight:700}.lotto-type-picker__choice:hover{background:var(--surface-2)}.lotto-type-picker__choice.is-betting-open{color:#166534;background:#ecfdf3}.lotto-type-picker__choice.is-betting-open:hover{background:#d1fae5}.lotto-type-picker__choice.is-betting-closed{color:#8a93a3;background:#f3f4f6}.lotto-type-picker__choice.is-betting-closed:hover{color:var(--muted);background:#e5e7eb}.lotto-type-picker__choice.is-selected{box-shadow:inset 0 0 0 2px var(--brand)}.lotto-type-picker__choice.is-selected.is-betting-open{color:#166534}.lotto-type-picker__choice.is-selected.is-betting-closed{color:#6b7280}.topbar-date-picker{width:148px;min-width:0;display:grid}.topbar-date-picker select{min-height:40px;padding-top:5px;padding-bottom:5px;font-size:13px;font-weight:800}.topbar__event-status{color:var(--muted);font-size:12px;font-weight:800}.topbar__event-status.is-error{width:22px;height:22px;color:var(--danger);background:var(--bad-tint);border-radius:999px;place-items:center;display:grid}@media (width<=900px){.app-shell,.app-shell.is-sidebar-open{display:block}.app-sidebar{z-index:60;width:min(78vw,180px);height:100dvh;position:fixed;inset:0 auto 0 0}.app-sidebar-backdrop{z-index:55;cursor:pointer;background:#0f172a8f;border:0;padding:0;display:block;position:fixed;inset:0}.topbar__menu-btn{order:initial;margin-left:0}.topbar__meta{order:initial;margin-left:auto}}@media (width<=700px){.topbar__inner{flex-wrap:wrap;padding:8px 12px}.topbar__page-title{flex:auto}.topbar__meta{flex:100%;justify-content:space-between;margin-left:0}.topbar__event-controls{flex:auto}.lotto-type-picker{flex:170px;width:auto}.topbar-date-picker{flex:136px;width:auto}.lotto-type-picker__panel{width:auto;max-height:calc(100vh - 124px);top:112px;left:8px;right:8px}.lotto-type-picker__group.is-inline{grid-template-columns:106px minmax(0,1fr)}.lotto-type-picker__choices,.lotto-type-picker__group.is-wide .lotto-type-picker__choices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.topbar__event-controls{width:100%}.lotto-type-picker,.topbar-date-picker{flex-basis:calc(50% - 3px)}}.topbar__inner{gap:12px;min-height:56px;padding-top:0;padding-bottom:0}.topbar__meta{align-self:stretch}.topbar__event-controls{align-items:stretch;gap:0}.lotto-type-picker{align-self:stretch}.lotto-type-picker__button{border:0;border-left:1px solid var(--border);background:0 0;border-radius:0;height:100%;min-height:56px;padding:7px 14px}.lotto-type-picker__button:hover:not(:disabled),.topbar-date-picker select:hover:not(:disabled){background:var(--surface-2)}.lotto-type-picker__button:focus-visible,.topbar-date-picker select:focus-visible{z-index:1;outline:2px solid var(--brand);outline-offset:-2px;position:relative}.lotto-type-picker__label{font-size:11px}.lotto-type-picker__value{font-size:14px}.lotto-type-picker__chevron{border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;font-size:0;transform:rotate(45deg)translate(-1px,-1px)}.lotto-type-picker__panel{position:fixed;top:0;left:0;right:auto}.topbar-date-picker{border-left:1px solid var(--border);align-self:stretch;width:158px}.topbar-date-picker select{width:100%;height:100%;min-height:56px;box-shadow:none;cursor:pointer;background-color:#0000;border:0;border-radius:0;padding:0 30px 0 14px;font-size:14px}.topbar-date-picker select:disabled{cursor:default;opacity:.65}.topbar-results{border-left:1px solid var(--border);background:linear-gradient(100deg,#c87805 0%,#e9a40b 48%,#f5c542 100%);align-items:stretch;gap:0;min-width:0;margin:0;display:flex}.topbar-result{text-align:center;white-space:nowrap;background:0 0;border:0;border-right:1px solid #4b2d003d;border-radius:0;align-content:center;gap:4px;min-width:94px;min-height:56px;padding:7px 16px;display:grid}.topbar-result:last-child{border-right:0}.topbar-result.is-wide{min-width:245px}.topbar-result dt,.topbar-result dd{margin:0;line-height:1.05}.topbar-result dt{color:#2b1b00ad;font-size:11px;font-weight:700}.topbar-result dd{color:#2b1b00;font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:17px;font-weight:800;overflow:hidden}.topbar-result.is-wide dd{font-size:15px}@media (width<=1200px){.topbar__inner{flex-wrap:wrap}.topbar__page-title{flex:auto}.topbar__meta{flex:100%;margin-left:0}.topbar__event-controls{flex-wrap:wrap;width:100%}}@media (width<=700px){.topbar__inner{padding:0 8px}.lotto-type-picker__button,.topbar-date-picker select,.topbar-result{min-height:50px}.lotto-type-picker__panel{width:calc(100vw - 16px);top:100%;left:0;right:auto}.topbar-results{flex-wrap:wrap;flex:100%;width:100%}.topbar-result{flex:72px}.topbar-result.is-wide{flex-basis:245px}}.login-page{padding:16px}.login-panel{padding:22px}.login-panel h1{gap:10px;margin-bottom:16px;font-size:24px}.login-form{gap:10px}.login-form label,.login-field,.verification-code{gap:4px;font-size:13px}.verification-code__input{min-height:38px;font-size:18px}.topbar__inner{gap:8px;min-height:48px}.topbar__menu-btn{width:36px;height:36px}.topbar__page-title{font-size:15px}.topbar__meta{gap:8px}.lotto-type-picker__button,.topbar-date-picker select,.topbar-result{min-height:48px}.lotto-type-picker__button,.topbar-date-picker select{padding-top:3px;padding-bottom:3px}.topbar-result{padding:4px 10px}.topbar-result dd{font-size:15px}.side-nav__identity{min-height:56px;padding:8px 10px}.app-sidebar .brand-mark{width:32px;height:32px}.side-nav__wallet{gap:3px;padding:7px 10px 8px}.side-nav{padding:4px 5px 8px}.side-nav__section{padding:8px 8px 2px}.side-nav__link{min-height:30px;padding:4px 8px;font-size:12px}.side-nav__footer{gap:6px;padding:8px}.side-nav__logout{min-height:34px;font-size:12px}.app-main{padding:12px clamp(10px,1.25vw,18px) 24px}.page{gap:10px}.page__head h1{margin-bottom:1px;font-size:22px;line-height:1.2}.page__head p,.report-head p{margin:0;font-size:12px;line-height:1.3}.page__head--row,.report-head{gap:8px}.section-title{margin-top:3px;font-size:16px}.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.card{padding:12px}.card__title{margin-bottom:6px;font-size:14px}.card__title-row{gap:8px;margin-bottom:6px}.card__cta{margin-top:6px}.stack,.form-card,.modal-form,.modal-list,.help-list{gap:8px}.field{gap:3px;font-size:12px}.actions,.modal-actions{gap:6px}.btn-small{min-height:34px;padding:4px 9px}.data-table{border-radius:var(--radius-sm);font-size:12.5px}.data-table th,.data-table td{vertical-align:middle;padding:5px 7px;line-height:1.2}.data-table th{font-size:11.5px}.data-table .ua{font-size:12px}.report-page,.report-slip-list,.number-report-groups{gap:8px}.report-result-panel h2,.number-report-group h2{padding:8px 10px;font-size:14px}.report-result-item{min-height:46px;padding:5px 8px}.report-result-item dd{font-size:17px}.report-summary-strip div{padding:7px 9px}.report-summary-strip strong{font-size:15px}.report-state{padding:10px}.report-slip__head{gap:8px;padding:8px 10px}.report-slip__head h2,.number-report-group h2{font-size:15px}.betting-page,.betting-side{gap:10px}.betting-layout{gap:16px}.betting-event{gap:8px;margin-bottom:10px}.thai-flag{width:48px;height:31px}.betting-event h1{font-size:20px}.betting-event p{font-size:15px}.betting-close-clock{min-width:168px;padding:6px 9px}.betting-close-clock strong{font-size:17px}.betting-meta-grid{gap:8px;padding-bottom:8px}.betting-input{gap:3px;font-size:14px}.sound-check{gap:6px;font-size:14px}.sound-check input{width:18px;height:18px}.betting-tabs{margin-top:8px}.betting-tabs button{min-width:100px;min-height:40px;padding:0 12px;font-size:14px}.freehand-panel{gap:10px;padding:10px 12px}.freehand-field{gap:4px;font-size:13px}.freehand-field small{font-size:12px}.freehand-field textarea{min-height:48px;max-height:160px;padding:6px 8px}.aun-panel,.current-slip{padding:10px}.aun-panel h2{margin-bottom:6px;font-size:15px}.aun-chip-list{gap:6px}.aun-chip{min-width:54px;padding:4px 9px;font-size:15px}.slip-actions{gap:6px;padding:8px 0 0}.bet-action-btn{gap:4px;min-width:0;min-height:32px;padding:4px 6px;font-size:13px}.empty-slip{min-height:50px;font-size:14px}.current-slip{gap:8px}.slip-table th,.slip-table td,.bet-detail-table th,.bet-detail-table td{padding:5px 7px;font-size:12px}.modal-overlay{padding:12px}.modal-card{max-height:calc(100vh - 24px);padding:14px}.modal-card h2{margin-bottom:8px;font-size:18px}.modal-actions{margin-top:10px}.modal-row,.limit-row{padding:6px 8px}.kick-card{padding:10px 12px}@media (width<=700px){.topbar__inner{padding:0 8px}.lotto-type-picker__button,.topbar-date-picker select,.topbar-result{min-height:44px}.app-main{padding:10px 8px 20px}.page__head--row,.report-head{align-items:stretch}}@media (width<=640px){.data-table tr{margin-bottom:8px;padding:4px 10px}.data-table td{padding:6px 0}.card{padding:10px}}.page-content{min-height:360px;position:relative}.page-content--pending{visibility:hidden;height:0;overflow:hidden}.page-skeleton{min-height:360px;padding:12px 0}.page-skeleton span:not(.page-skeleton__label){background:var(--border,#e5e7eb);opacity:.5;border-radius:6px;display:block}.page-skeleton__title{width:min(320px,65%);height:28px;margin-bottom:12px}.page-skeleton__subtitle{width:min(450px,85%);height:16px;margin-bottom:24px}.page-skeleton__filters{gap:12px;margin-bottom:24px;display:flex}.page-skeleton__filters span{width:160px;max-width:30%;height:40px}.page-skeleton__table{border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:14px}.page-skeleton__table span{height:24px;margin:12px 0}.page-skeleton__label{color:var(--muted,#667085);padding-top:12px;font-size:13px;display:block}.page-refresh-progress{z-index:5;background:var(--border,#e5e7eb);height:2px;position:absolute;top:0;left:0;right:0;overflow:hidden}.page-refresh-progress:after{content:"";background:var(--primary,#237a52);width:35%;height:100%;animation:1.2s ease-in-out infinite page-progress;display:block}@keyframes page-progress{0%{transform:translate(-100%)}to{transform:translate(390%)}}@media (prefers-reduced-motion:reduce){.page-refresh-progress:after{width:100%;animation:none}}
