/* Modern UI layer — visual only; calculation, receipts and API logic unchanged. */
:root{--modern-ink:#172b4d;--modern-sub:#536780;--modern-line:#dce5f0;--modern-blue:#2563eb;--modern-bg:#f3f6fb}
body.clean-ui-ready{background:var(--modern-bg)!important;color:var(--modern-ink)!important}
body.clean-ui-ready .app{max-width:1320px;padding-inline:clamp(12px,2.5vw,30px)}
body.clean-ui-ready .fresh-hero{border-radius:24px;background:linear-gradient(115deg,#fff 0%,#f3f8ff 100%);border:1px solid #dbe7f8;box-shadow:0 8px 30px #15375d0b}
body.clean-ui-ready .fresh-brand-copy h1{font-size:clamp(23px,3vw,34px);line-height:1.35}
body.clean-ui-ready .fresh-stat-card{background:#fff;border-color:#e1e9f4;border-radius:16px}
body.clean-ui-ready .ux-auto-feature{background:linear-gradient(110deg,#fff,#eef5ff);border-color:#c9dcfc;border-radius:20px}
body.clean-ui-ready .ux-auto-icon{background:#e7f0ff;border-color:#c9dcfc}
body.clean-ui-ready .ux-auto-open{background:#2563eb;border-color:#2563eb}
body.clean-ui-ready .ux-auto-open:hover{background:#1d4ed8;border-color:#1d4ed8}
body.clean-ui-ready .ux-tool-btn{border-radius:15px!important;min-height:52px!important;font-size:13px!important;box-shadow:0 2px 7px #1c385308!important}
body.clean-ui-ready .ux-tool-btn:hover{background:#eff6ff!important;border-color:#93c5fd!important}
body.clean-ui-ready .ux-step,body.clean-ui-ready .layout>*,body.clean-ui-ready .daily-money-calculator{border-color:var(--modern-line);box-shadow:0 5px 24px #15375d0a}
body.clean-ui-ready :is(#betTotalModal,#winningCalculatorModal,#dailyMoneyModal)>.pro-modal-card{border:1px solid #dce5f0;border-radius:24px;box-shadow:0 30px 85px #0c274b38}
body.clean-ui-ready :is(#betTotalModal,#winningCalculatorModal) .pro-modal-head{background:#f8fbff!important;border-bottom:1px solid #dfe8f4!important;padding:16px 20px!important}
body.clean-ui-ready :is(#betTotalModal,#winningCalculatorModal) .pro-modal-head h3{font-size:clamp(19px,2vw,24px)!important;color:#142e52}
body.clean-ui-ready :is(#betTotalModal,#winningCalculatorModal) .pro-modal-head small{color:#586d86;line-height:1.75}
body.clean-ui-ready :is(#betTotalModal,#winningCalculatorModal,#dailyMoneyModal) :is(input,select,textarea){border-radius:12px;accent-color:#2563eb}
body.clean-ui-ready #betTotalInput{width:100%;min-height:230px;line-height:1.8;font-size:16px!important;tab-size:2;resize:vertical;background:#fcfdff;border:2px solid #d4e2f4!important;border-radius:16px!important;padding:15px!important}
body.clean-ui-ready #betTotalInput:focus{border-color:#2563eb!important;box-shadow:0 0 0 4px #2563eb19!important;outline:none!important}
body.clean-ui-ready #betTotalStatus{border-radius:12px;overflow-wrap:anywhere}
body.clean-ui-ready :is(#betTotalGrand,#winningPayoutTotal,#betReceiptHistoryTotal){font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
body.clean-ui-ready #betReceiptHistoryPanel{border-radius:18px;overflow-wrap:anywhere}
body.clean-ui-ready button{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}
body.clean-ui-ready :is(button,input,textarea,select):focus-visible{outline:3px solid #2563eb!important;outline-offset:2px!important}
.modern-bet-tip{margin:8px 0 12px;padding:10px 13px;border-radius:12px;background:#eef5ff;border:1px solid #d3e3ff;color:#35537b;font-size:13px;line-height:1.8}
.modern-bet-tip code{font-family:ui-monospace,monospace;font-size:13px;color:#174c9d;background:#fff;border:1px solid #dce7f8;border-radius:5px;padding:2px 5px}
@media(max-width:760px){
 body.clean-ui-ready .app{padding:10px 10px calc(28px + env(safe-area-inset-bottom))}
 body.clean-ui-ready .fresh-hero{border-radius:17px}
 body.clean-ui-ready .ux-desktop-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
 body.clean-ui-ready .ux-tool-btn{font-size:12px!important;min-height:48px!important;white-space:normal!important;line-height:1.6!important}
 body.clean-ui-ready :is(#betTotalModal,#winningCalculatorModal)>.pro-modal-card{border-radius:0!important;border:0!important}
 body.clean-ui-ready :is(#betTotalModal,#winningCalculatorModal) .pro-modal-head{padding:12px!important}
 body.clean-ui-ready #betTotalInput{min-height:220px;font-size:16px!important}
 body.clean-ui-ready #betTotalModal :is(button,select,input),body.clean-ui-ready #winningCalculatorModal :is(button,select,input){min-height:44px}
 body.clean-ui-ready #betReceiptHistoryPanel{overflow-x:auto}
 .modern-bet-tip{font-size:12px}
}
@media(prefers-reduced-motion:reduce){body.clean-ui-ready button{transition:none!important}}

/* V2: Compact, accessible hourly-report disclosure. */
.h18-report-disclosure{margin:14px 0;border:1px solid var(--border,#dce4ef);border-radius:16px;background:var(--card,#fff);overflow:hidden;box-shadow:0 2px 10px rgba(25,45,80,.05)}
.h18-report-toggle{display:flex;align-items:center;gap:12px;padding:15px 17px;cursor:pointer;list-style:none;min-height:62px;user-select:none}
.h18-report-toggle::-webkit-details-marker{display:none}
.h18-report-toggle:focus-visible{outline:3px solid #2563eb;outline-offset:-3px;border-radius:14px}
.h18-report-icon{font-size:24px;flex:none}
.h18-report-label{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.h18-report-label strong{font-size:15px;line-height:1.4}
.h18-report-label small{font-size:12px;color:var(--muted,#64748b);line-height:1.4}
.h18-report-action{font-size:13px;font-weight:700;color:#2563eb;white-space:nowrap}
.h18-report-action::after{content:'បង្ហាញ ▾'}
.h18-report-disclosure[open] .h18-report-action::after{content:'លាក់ ▴'}
.h18-report-disclosure[open]>.h18-report-toggle{border-bottom:1px solid var(--border,#e2e8f0)}
.h18-report-disclosure>.h18-summary{margin:0;box-shadow:none;border:0}
@media(max-width:480px){.h18-report-toggle{padding:13px 12px;gap:9px}.h18-report-label strong{font-size:14px}.h18-report-label small{font-size:11px}}
