:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#e8eef9;background:#0b1020;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}#app{display:flex;min-height:100vh}.sidebar{width:252px;flex-shrink:0;background:#0d1525;border-right:1px solid #263044;display:flex;flex-direction:column;padding:27px 16px}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 42px}.brandmark{width:38px;height:38px;border-radius:12px;background:linear-gradient(140deg,#42e4c0,#078875);display:grid;place-items:center;color:#06231f;font-size:24px;box-shadow:0 0 22px #0fc7a42d}.brand strong{display:block;letter-spacing:1.6px;font-size:15px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#72849e;margin-top:4px}.side-label{color:#63738e;font-size:10px;letter-spacing:2px;margin:0 12px 14px;font-weight:700}nav{display:grid;gap:5px}nav button{background:none;color:#93a3bb;border:0;text-align:left;padding:14px 15px;border-radius:9px;font-weight:600}nav button span{display:inline-block;width:31px;font-size:19px;vertical-align:-2px}nav button:hover,nav button.active{color:#e8fff9;background:#183b3c}nav button.active{border-left:3px solid #32d6b0}.sidebottom{margin-top:auto;padding:18px 8px 0}.offline{font-size:11px;letter-spacing:1.1px;color:#4dddb6;font-weight:700}.offline i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#34d6a5;margin-right:8px}.side-note{font-size:12px;color:#71819c;margin:10px 0 18px}.main{flex:1;min-width:0}.topbar{height:74px;border-bottom:1px solid #263044;display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumbs{color:#687c99;font-size:11px;letter-spacing:1.5px}.breadcrumbs span{margin:0 12px;color:#39465d}.breadcrumbs b{color:#e3eafa}.top-actions{display:flex;gap:22px;align-items:center;color:#879ab4;font-size:12px}.avatar{display:grid;place-items:center;width:33px;height:33px;background:#263c4e;color:#81e9d1;border-radius:50%;font-size:11px;font-weight:800}.view{padding:36px 38px 60px;max-width:1680px;margin:auto}.eyebrow{font-size:11px;color:#32d6b0;font-weight:800;letter-spacing:2px;margin-bottom:10px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:27px}.page-head h1{font-size:31px;letter-spacing:-1.2px;margin:0 0 7px}.sub{color:#8596b0;font-size:13px}.primary{background:#29cfa7;color:#061b1b;border:0;padding:12px 17px;border-radius:9px;font-weight:800}.primary:hover{background:#57e3bf}.secondary{background:#192438;border:1px solid #34445b;color:#c7d4e7;padding:11px 15px;border-radius:9px;font-weight:700}.secondary:hover{background:#26364d}.danger{background:#3e2431;color:#ffb6b6;border:1px solid #693744;padding:10px 14px;border-radius:8px}.full{width:100%}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.card,.panel{background:#141e30;border:1px solid #29364b;border-radius:14px}.card{padding:21px;min-height:127px;position:relative;overflow:hidden}.card:after{content:'◆';position:absolute;right:18px;top:12px;font-size:26px;color:#263b4b}.metric-label{color:#91a1b8;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:1.4px}.metric{font-size:29px;font-weight:800;margin:17px 0 6px;letter-spacing:-1px}.metric-note{font-size:11px;color:#7588a2}.positive{color:#36d9ac!important}.negative{color:#fb7581!important}.neutral{color:#e8eef9}.panel{padding:23px;margin-bottom:19px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}.panel h2{font-size:16px;margin:0;letter-spacing:-.2px}.muted{color:#8495ae}.small{font-size:12px}.split{display:grid;grid-template-columns:1.7fr 1fr;gap:19px}.chart{width:100%;height:240px;display:block}.chart text{fill:#7588a2;font-size:11px}.chart .gridline{stroke:#2c3a50;stroke-dasharray:4 5}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{color:#7e91ad;text-align:left;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:13px 11px;border-bottom:1px solid #304056}td{padding:14px 11px;border-bottom:1px solid #263349;color:#cdd8e8;font-size:12px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#1a293d}.pill{display:inline-block;padding:6px 9px;border-radius:6px;font-size:10px;font-weight:800}.pill.won{color:#42d9b0;background:#123e38}.pill.lost{color:#ff818c;background:#462731}.pill.pending{color:#efc674;background:#493e29}.pill.refunded{color:#a4b8d6;background:#2b394f}.pill.cashedout{color:#80c8fb;background:#203a52}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.filters input,.filters select{min-width:155px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:11px;font-weight:700;color:#a5b5cc}.field input,.field select,.field textarea,.filters input,.filters select{background:#101a2b;color:#e4edf9;border:1px solid #35435a;border-radius:8px;padding:11px 12px;outline:none;max-width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:#2bd6ac;box-shadow:0 0 0 2px #2bd6ac25}.field textarea{min-height:78px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.form-grid .wide{grid-column:span 2}.form-grid .all{grid-column:1/-1}.section-title{margin:0 0 18px;font-size:14px}.legs{display:grid;gap:12px}.leg{border:1px solid #2e3b51;border-radius:10px;padding:16px;background:#111b2d}.leg-top{display:flex;justify-content:space-between;margin-bottom:13px;align-items:center}.leg-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr 1fr 90px;gap:10px}.actions{display:flex;gap:8px;flex-wrap:wrap}.linkbtn{background:none;border:0;color:#67ddc4;font-weight:700;padding:6px}.helper{background:#112d33;border:1px solid #285357;color:#9cddd1;padding:13px;border-radius:9px;font-size:12px;line-height:1.6}.empty{padding:45px;text-align:center;color:#8194af}.statlist{display:grid;gap:15px}.statrow{display:flex;justify-content:space-between;border-bottom:1px solid #27364b;padding-bottom:12px}.statrow:last-child{border:0}.bar-track{height:9px;background:#25334a;border-radius:8px;overflow:hidden}.bar-fill{height:100%;background:#35d2ad;border-radius:8px}.barrow{margin-bottom:19px}.barhead{display:flex;justify-content:space-between;margin-bottom:9px;font-size:12px}.toast{position:fixed;bottom:25px;right:25px;background:#1d3c3d;color:#d6fff2;border:1px solid #398b76;padding:14px 20px;border-radius:9px;box-shadow:0 12px 32px #0007;display:none;z-index:5}.divider{height:1px;background:#29374c;margin:18px 0}.warning{color:#f1c17c}.mini{font-size:11px;color:#7f92ac}.number{font-variant-numeric:tabular-nums}@media(max-width:1280px){.cards{grid-template-columns:repeat(2,1fr)}.leg-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1050px){.sidebar{width:205px}.view{padding:25px}.split{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}}
/* BetLedger 1.2 visual refresh */
:root{color-scheme:dark;background:#080f1b;color:#edf5ff}body{background:radial-gradient(ellipse at 72% -15%,#113c43 0,transparent 46%),#080f1b}.sidebar{background:linear-gradient(175deg,#0b1726,#09101c 75%);border-color:#1b3040}.brand{padding-bottom:37px}.brandmark{height:48px;width:48px;border-radius:15px;overflow:hidden;background:#0b1726;box-shadow:0 0 0 1px #2c4a55,0 12px 30px #0007}.brandmark img{height:100%;width:100%;object-fit:cover}.brand strong{font-size:17px;letter-spacing:.6px}.topbar{background:#091522b8;backdrop-filter:blur(15px);border-color:#213745}.view{max-width:1700px}.page-head h1{font-size:36px;letter-spacing:-1.6px}.eyebrow{color:#48dfc0}.primary{background:linear-gradient(120deg,#1ee0ba,#0cbf97);box-shadow:0 8px 22px #0dd4aa20;border-radius:11px}.primary:hover{filter:brightness(1.1)}.secondary{background:#132536;border-color:#2b4654;border-radius:11px}.card,.panel,.leg{background:linear-gradient(145deg,#112335,#0c1929);border:1px solid #243d4b;box-shadow:0 14px 45px #00000022;border-radius:17px}.card:hover{border-color:#2c6567}.metric{letter-spacing:-.8px}.table-wrap{border-radius:12px}table th{color:#91a8bc}table tbody tr:hover{background:#18344755}input,select,textarea{background:#0a1928!important;border-color:#2c4555!important;border-radius:10px!important;color:#edf5ff!important}input:focus,select:focus,textarea:focus{outline:2px solid #17c7a58c;outline-offset:1px}.pill{border-radius:100px}.bet-selections{display:grid;gap:10px;min-width:265px}.bet-selection{display:flex;align-items:flex-start;gap:9px;padding:8px 10px;border-radius:10px;background:#08172488;border:1px solid #1b3545}.bet-selection b{font-size:12px}.selection-index{flex:none;background:#164e4c;color:#71f4d5;border-radius:7px;font-size:10px;font-weight:800;min-width:20px;text-align:center;padding:4px 2px}.selection-meta{color:#7898aa}.leg-status{margin-left:auto;font-size:10px;color:#b1c2d1;white-space:nowrap}.leg-status.won{color:#3be3ac}.leg-status.lost{color:#ff818e}.leg-status.refunded{color:#d5b979}.competition-controls{display:grid;gap:12px}.competition-wrapper{min-width:0}.custom-competition[hidden]{display:none}.leg{padding:20px}.leg-top{color:#6ce5cb}nav button.active{background:linear-gradient(90deg,#155149,#15313d);border-left-color:#34edc0}@media(max-width:1200px){.view{padding:24px}.sidebar{width:215px}.bet-selection{min-width:220px}}@media(max-width:850px){#app{display:block}.sidebar{width:auto;padding:15px}.sidebar nav{display:flex;flex-wrap:wrap}.sidebar .sidebottom,.side-label{display:none}.main{width:100%}.topbar{padding:0 18px}.view{padding:18px}.page-head{flex-wrap:wrap}}

.super-boost-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid #c79529;border-radius:7px;color:#ffdf75;background:linear-gradient(120deg,#46350d,#33290e);font-size:10px;font-weight:800;letter-spacing:.4px;white-space:nowrap}.super-boost-pill:hover{box-shadow:0 0 0 2px #ffc73c20}

/* v1.2.4: sport differentiation and header avatar; overall theme unchanged */
.header-clock{font-variant-numeric:tabular-nums;min-width:60px;text-align:right}
.avatar{width:39px;height:39px;overflow:hidden;background:#102332;border:1px solid #526779;color:inherit}
.avatar svg{display:block;width:100%;height:100%}
.bet-date-line{display:flex;align-items:center;gap:9px}
.bet-sport-icons{display:inline-flex;align-items:center;gap:3px}
.sport-icon{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center}
.sport-ball{width:25px;height:25px;display:block}
.sport-other-icon{font-size:16px;color:#8ba0b7}
.bet-selection.sport-football{border-left:3px solid #268858}
.bet-selection.sport-tennis{border-left:3px solid #d5b44c}
.bet-selection.sport-basketball{border-left:3px solid #d47739}
.bet-selection.sport-football .selection-index{background:#164d37;color:#83e6b1}
.bet-selection.sport-tennis .selection-index{background:#594b22;color:#f6df81}
.bet-selection.sport-basketball .selection-index{background:#593520;color:#ffb17d}
.sport-text-football{color:#65d89c;font-weight:700}
.sport-text-tennis{color:#e9d264;font-weight:700}
.sport-text-basketball{color:#f1a16b;font-weight:700}

/* BetLedger 1.3: Ocean Blue and Arctic Blue */
:root{color-scheme:dark;--bg:#142b43;--sidebar:#19364f;--panel:#20415d;--border:#365f79;--text:#f7faff;--muted:#b6ccdf;--accent:#65ead9;--input:#18354d;--green:#63e7ad;--red:#ff8a95}
:root[data-theme="light"]{color-scheme:light;--bg:#edf4f9;--sidebar:#dfeaf3;--panel:#fff;--border:#d5e3ed;--text:#20384b;--muted:#6c8395;--accent:#168d98;--input:#f5f9fc;--green:#15976d;--red:#d65367}
html,body{background:var(--bg)!important;color:var(--text)!important}
.sidebar{background:var(--sidebar)!important;border-color:var(--border)!important}
.topbar{background:var(--bg)!important;border-color:var(--border)!important}
.card,.panel,.leg{background:var(--panel)!important;border-color:var(--border)!important;color:var(--text)!important}
.card:after{color:var(--border)!important}.breadcrumbs b,.page-head h1,.panel h2,.metric,.brand strong{color:var(--text)!important}
.sub,.muted,.mini,.metric-label,.metric-note,.side-note,.field label,.chart text,.top-actions,.breadcrumbs,.selection-meta{color:var(--muted)!important}
.field input,.field select,.field textarea,.filters input,.filters select{background:var(--input)!important;border-color:var(--border)!important;color:var(--text)!important;min-width:0;width:100%}
.field input[type="date"]{padding-right:35px!important;font-size:12px;min-width:0}
.field input[type="date"]::-webkit-calendar-picker-indicator{position:absolute;right:10px;cursor:pointer;opacity:.8}
.field input[type="date"]{position:relative}
.field input[type="time"]{font-size:12px;padding-right:7px!important}
.field input[type="time"]::-webkit-calendar-picker-indicator{margin-left:1px}
.primary{background:var(--accent)!important;color:var(--bg)!important}
.secondary{background:var(--input)!important;border-color:var(--border)!important;color:var(--text)!important}
nav button{color:var(--muted)!important}nav button.active,nav button:hover{background:var(--panel)!important;color:var(--text)!important;border-left-color:var(--accent)!important}
th{color:var(--muted)!important;border-color:var(--border)!important}td{color:var(--text)!important;border-color:var(--border)!important}tbody tr:hover{background:var(--input)!important}
.positive{color:var(--green)!important}.negative{color:var(--red)!important}.divider{background:var(--border)!important}
.settings-trigger{background:none;border:0;padding:0;color:var(--muted);display:flex;align-items:center;justify-content:center}
.settings-trigger:hover{color:var(--accent)}.top-actions{gap:22px}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-grid .panel{margin:0}.settings-fields{display:grid;gap:16px;margin-top:20px}.check-setting{display:flex;gap:10px;align-items:center;color:var(--text);font-size:13px}.check-setting input{accent-color:var(--accent)}
.tx-grid .field{min-width:0}.tx-grid input,.tx-grid select{width:100%;min-width:0}
.tx-history{table-layout:fixed;min-width:750px}.tx-history th,.tx-history td{text-align:center!important;vertical-align:middle}.tx-history th:nth-child(5),.tx-history td:nth-child(5){white-space:normal;overflow-wrap:anywhere}.tx-history .linkbtn{padding:5px 7px}
.competition-table .sport-summary{background:var(--input)}.competition-child td{font-size:11px}.sport-expand{background:none;border:0;color:var(--text);font-weight:700;display:inline-flex;align-items:center;gap:8px;padding:4px}.sport-expand .sport-ball{width:23px;height:23px}
.super-boost-pill{padding:1px 8px!important;gap:4px!important;font-size:10.5px!important;vertical-align:middle;margin-left:8px}
.helper{background:var(--input)!important;border-color:var(--border)!important;color:var(--muted)!important}
:root[data-theme="light"] .pill.won{background:#def7ed;color:#127c59}:root[data-theme="light"] .pill.lost{background:#ffe7eb;color:#b63f52}:root[data-theme="light"] .pill.pending{background:#fff4d9;color:#9b6a13}
:root[data-theme="light"] .bet-selection{background:#f3f8fc!important}:root[data-theme="light"] .bet-selection b{color:#20384b!important}
@media(max-width:950px){.settings-grid{grid-template-columns:1fr}}
/* Give native date and time controls room for the calendar/clock affordances. */
.tx-grid>.field:nth-child(1),.tx-grid>.field:nth-child(2){grid-column:1/-1}
.tx-grid input[type="date"]{font-size:13px;padding-right:45px!important}
/* Private Web responsive shell */
.mobile-brand,.mobile-nav{display:none}.cloud-trigger{background:transparent;color:var(--accent);border:1px solid var(--border);border-radius:10px;padding:9px 12px;white-space:nowrap;font-size:12px;font-weight:700}.cloud-overlay[hidden]{display:none!important}.cloud-overlay{position:fixed;inset:0;z-index:100;background:#061522c9;display:grid;place-items:center;padding:18px}.cloud-dialog{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:20px;padding:28px;max-width:480px;width:100%;position:relative;max-height:90vh;overflow:auto;box-shadow:0 20px 80px #0008}.cloud-dialog h2{font-size:24px;margin:6px 0 12px}.cloud-dialog p{line-height:1.6;color:var(--muted)}.cloud-close{position:absolute;right:16px;top:12px;background:transparent;color:var(--text);border:0;font-size:26px}.cloud-form{display:grid;gap:13px}.cloud-form label{display:grid;gap:6px;font-size:12px;color:var(--muted);font-weight:700}.cloud-form input{width:100%;padding:12px;background:var(--input)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:9px}.cloud-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.cloud-status{padding:12px;background:var(--input);border-radius:10px;overflow-wrap:anywhere}
@media(max-width:850px){body{padding-bottom:82px}#app{display:block}.sidebar{display:none!important}.mobile-brand{display:flex;align-items:center;gap:9px;background:var(--sidebar);color:var(--text);padding:12px 16px;font-size:14px;letter-spacing:1px}.mobile-brand img{width:32px;height:32px;border-radius:9px}.mobile-brand span{font-size:9px;color:var(--muted);margin-left:auto}.topbar{height:52px;padding:0 15px!important}.breadcrumbs{font-size:10px}.top-actions{gap:9px!important}.top-actions #today,.top-actions #clock,.top-actions .avatar{display:none}.settings-trigger{padding:7px}.view{padding:17px 13px 28px!important}.page-head{align-items:flex-start;gap:14px}.page-head h1{font-size:28px!important}.page-head .actions{width:100%}.page-head .actions button{flex:1}.cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.card{padding:14px!important;min-height:105px}.metric{font-size:clamp(19px,5vw,27px)!important;overflow-wrap:anywhere}.metric-label{font-size:9px!important}.metric-note{font-size:10px!important}.panel{padding:15px!important;margin-bottom:12px}.split{grid-template-columns:1fr!important;gap:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}.leg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}.leg{padding:13px!important}.leg-grid>*{min-width:0}.filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.filters select,.filters input{min-width:0!important;width:100%}.table-wrap{overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:720px}.chart{height:210px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--sidebar);border-top:1px solid var(--border);padding:8px 4px max(9px,env(safe-area-inset-bottom));box-shadow:0 -12px 40px #0003}.mobile-nav button{border:0;background:transparent;color:var(--muted);font-size:21px;display:grid;gap:2px;place-items:center;padding:4px 0;min-width:0}.mobile-nav button span{font-size:9px;font-weight:650}.mobile-nav button.active{color:var(--accent)}.mobile-nav .mobile-add{color:var(--accent);font-size:27px}.toast{bottom:92px;left:14px;right:14px;text-align:center}.tx-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.settings-grid{grid-template-columns:1fr!important}}
@media(max-width:390px){.cards{grid-template-columns:1fr 1fr}.card{padding:11px!important}.metric{font-size:19px!important}.form-grid,.leg-grid{grid-template-columns:1fr!important}.form-grid .wide{grid-column:1!important}.mobile-nav button span{font-size:8px}}
/* Private sign-in and bankroll switcher share the Ocean Blue palette. */
.login-screen[hidden]{display:none!important}.login-screen{position:fixed;inset:0;z-index:200;background:var(--bg);display:grid;place-items:center;padding:24px;overflow:auto}.login-card{max-width:420px;width:100%;background:var(--panel);border:1px solid var(--border);padding:32px;border-radius:24px;box-shadow:0 24px 80px #0004}.login-card img{border-radius:20px;margin-bottom:24px}.login-card h1{font-size:28px;letter-spacing:-.8px;margin:8px 0}.login-card p{color:var(--muted);line-height:1.6}.login-card form{display:grid;gap:10px;margin-top:24px}.login-card input{padding:13px;width:100%;border:1px solid var(--border);border-radius:10px}.login-card label{font-size:12px;color:var(--muted);font-weight:700}.login-card .primary{margin-top:10px}.login-note{font-size:11px;text-align:center}.is-locked #app,.is-locked .mobile-nav,.is-locked #cloudModal{display:none!important}.bankroll-toolbar{display:flex;align-items:end;gap:10px;margin-bottom:24px;flex-wrap:wrap}.bankroll-toolbar .field{min-width:180px;flex:1;max-width:360px}.bankroll-toolbar button{min-height:43px}.primary:disabled{opacity:.55;cursor:wait}#loginError{font-size:12px;overflow-wrap:anywhere;min-height:20px}.cloud-dialog{max-width:520px}@media(max-width:600px){.login-card{padding:24px}.bankroll-toolbar .field{max-width:none;min-width:100%;}.bankroll-toolbar button{flex:1}.cloud-trigger{padding:8px;font-size:11px}}

/* Responsive accessibility and BetLedger private improvements */
.balance-card:after{display:none!important}.balance-edit{position:absolute;right:15px;top:12px;background:transparent;border:1px solid var(--border);border-radius:9px;color:var(--accent);width:38px;height:38px;font-size:20px;display:grid;place-items:center}.balance-edit:hover,.balance-edit:focus-visible{background:var(--input);outline:2px solid var(--accent)}
.chart-ranges{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap;margin:0 0 12px}.chart-range{border:1px solid var(--border);background:var(--input);color:var(--muted);padding:8px 12px;border-radius:9px;font-weight:700}.chart-range.selected{background:var(--accent);color:var(--bg)}.profit-chart-wrap{width:100%;overflow-x:auto}.profit-chart-wrap .chart{height:auto;min-height:220px;max-height:360px;min-width:350px;overflow:visible}.chart-point{opacity:.04}.chart-point:hover,.chart-point:focus{opacity:1}.chart text{font-size:12px;fill:var(--muted)!important}
.month-section{margin:12px 0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.month-heading{width:100%;text-align:left;background:var(--input);color:var(--text);border:0;padding:13px 16px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.month-heading span{font-weight:500;color:var(--muted);font-size:12px}.group-toolbar{display:flex;justify-content:flex-end;margin:12px 0;color:var(--muted)}.group-toolbar input{accent-color:var(--accent)}
.time-picker{display:flex;align-items:stretch;gap:7px;min-width:0}.time-picker input{min-width:0;flex:1}.time-picker-toggle{width:43px;flex-shrink:0;background:var(--input);border:1px solid var(--border);color:var(--accent);border-radius:10px;font-size:23px}.time-picker-panel[hidden]{display:none}.time-picker-panel{padding:12px;margin-top:6px;background:var(--input);border:1px solid var(--border);border-radius:12px}.time-picker-selects{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.time-picker-selects label{flex:1;min-width:70px;display:grid;gap:6px}.time-picker-selects select{width:100%;min-height:44px}.time-picker-selects button{min-height:44px}
.mobile-bet-cards{display:none}.tour-summary{background:var(--input)}.tour-category{padding-left:35px!important}
@media(max-width:1200px){.desktop-bets-table{display:none!important}.mobile-bet-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:12px}.mobile-bet-card{border:1px solid var(--border);border-radius:14px;background:var(--input);padding:15px;min-width:0}.mobile-bet-top{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:12px}.mobile-bet-selections{display:grid;gap:10px;margin:14px 0}.mobile-bet-selection{display:flex;align-items:flex-start;gap:9px;min-width:0}.mobile-bet-selection>div{min-width:0;overflow-wrap:anywhere}.mobile-bet-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.mobile-bet-facts span{font-size:11px;color:var(--muted)}.mobile-bet-facts b{display:block;font-size:14px;color:var(--text);margin-top:3px}.mobile-bet-edit{width:100%;min-height:44px}}
@media(min-width:1201px){.desktop-bets-table{display:block}}
@media(max-width:1100px){.page-head .actions{flex-wrap:wrap}.page-head .actions button{min-height:42px}.form-grid,.leg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.view{padding:18px!important}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));width:100%}.filters select{min-width:0!important;width:100%}.split{grid-template-columns:1fr!important}.table-wrap{max-width:100%;overflow-x:auto}}
@media(max-width:600px){.mobile-bet-cards{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.page-head .actions button{flex:1;min-width:130px}.panel{min-width:0}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid,.leg-grid{grid-template-columns:1fr!important}.form-grid .wide{grid-column:1/-1}.chart-ranges{justify-content:center}.chart-range{flex:1}.time-picker-selects{flex-direction:column;align-items:stretch}.time-picker-selects label,.time-picker-selects button{width:100%}}
@media(max-width:360px){.cards{grid-template-columns:1fr!important}.filters{grid-template-columns:1fr}}

/* Selection editor refinement: premium compact hierarchy and stable sports artwork. */
.leg{padding:22px!important;border-radius:18px!important;background:linear-gradient(145deg,var(--card,#112335),var(--input,#0c1929))!important;overflow:hidden}
.leg-top{padding-bottom:16px;margin-bottom:18px!important;border-bottom:1px solid var(--border,#28445a)}
.leg-top b{display:inline-flex;align-items:center;gap:10px;font-size:14px;letter-spacing:0;color:var(--text,#edf5ff)}
.selection-dot{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--accent,#65ead9) 15%,transparent);border:1px solid color-mix(in srgb,var(--accent,#65ead9) 32%,transparent);color:var(--accent,#65ead9);font-size:12px}
.leg-grid{display:grid!important;grid-template-columns:minmax(160px,1fr) minmax(190px,1.2fr) minmax(250px,2fr) minmax(105px,.65fr)!important;gap:16px!important;align-items:start}
.bet-event-field input{font-size:15px!important;font-weight:650;min-height:45px;border-color:color-mix(in srgb,var(--accent,#65ead9) 38%,var(--border,#365f79))!important}
.bet-event-hint{font-size:11px;color:var(--muted,#91a8bc);line-height:1.4}
.leg-grid>.field,.leg-grid>.competition-wrapper{min-width:0}
.sport-icon{flex:0 0 26px!important;min-width:26px!important;max-width:26px!important;width:26px!important;height:26px!important;overflow:visible}
.sport-ball{flex:none!important;min-width:25px!important;max-width:25px!important;width:25px!important;height:25px!important;aspect-ratio:1/1;object-fit:contain;overflow:visible}
.mobile-bet-selection .sport-icon{flex-shrink:0!important}
@media(max-width:1150px){.leg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bet-event-field{grid-column:1/-1;grid-row:2}}
@media(max-width:600px){.leg{padding:15px!important}.leg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.bet-event-field{grid-column:1/-1;grid-row:auto;order:2}.leg-grid>.field:last-child{order:3}}
@media(max-width:390px){.leg-grid{grid-template-columns:1fr!important}.bet-event-field{grid-column:1}}

/* Selection card v2: one solid Slate Blue surface in BOTH themes. */
:root .leg,:root[data-theme="light"] .leg{
  background:#28465f!important;background-image:none!important;
  border:1px solid #42647c!important;border-radius:16px!important;
  box-shadow:none!important;color:#f7faff!important;
}
:root .leg .leg-top,:root[data-theme="light"] .leg .leg-top{border-bottom:1px solid #527086!important;color:#fff!important}
:root .leg .leg-top b,:root[data-theme="light"] .leg .leg-top b{color:#fff!important}
:root .leg .selection-dot,:root[data-theme="light"] .leg .selection-dot{background:#365b72!important;color:#65ead9!important;border:1px solid #527086!important}
:root .leg .field label,:root .leg .competition-wrapper label,:root[data-theme="light"] .leg .field label,:root[data-theme="light"] .leg .competition-wrapper label{color:#d4e4f0!important;opacity:1!important}
:root .leg .bet-event-hint,:root[data-theme="light"] .leg .bet-event-hint{color:#c2d8e7!important}
:root .leg input,:root .leg select,:root .leg textarea,:root[data-theme="light"] .leg input,:root[data-theme="light"] .leg select,:root[data-theme="light"] .leg textarea{
  background:#f5f9fc!important;background-image:none!important;color:#20384b!important;
  border:1px solid #b8d0df!important;min-height:45px;border-radius:10px!important;
}
:root .leg input::placeholder,:root[data-theme="light"] .leg input::placeholder{color:#6c8395!important;opacity:1}
:root .leg input:focus,:root .leg select:focus,:root[data-theme="light"] .leg input:focus,:root[data-theme="light"] .leg select:focus{outline:2px solid #65ead9!important;outline-offset:1px}
:root .leg .linkbtn,:root[data-theme="light"] .leg .linkbtn{color:#65ead9!important}
/* Give the description its own full row at every screen size. */
:root .leg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px!important}
:root .leg-grid .bet-event-field{grid-column:1/-1!important;grid-row:auto!important;order:2!important}
:root .leg-grid>.field,:root .leg-grid>.competition-wrapper{min-width:0}
@media(max-width:600px){:root .leg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}}
@media(max-width:390px){:root .leg-grid{grid-template-columns:1fr!important}}

/* BetLedger 5:4 desktop optimization — 1280x1024 at 100% zoom.
   Applies to medium desktop viewports without changing mobile layouts. */
@media (min-width:851px) and (max-width:1400px) {
  .sidebar { width:190px!important; padding:19px 10px!important; }
  .brand { padding:0 4px 22px!important; gap:8px; }
  .brand strong { font-size:13px!important; letter-spacing:.5px!important; }
  .brand small { font-size:8px!important; letter-spacing:1px!important; }
  nav button { padding:11px 10px!important; }
  .topbar { height:62px!important; padding:0 20px!important; }
  .top-actions { gap:12px!important; }
  .view { padding:20px 20px 36px!important; max-width:none!important; }
  .page-head { margin-bottom:17px!important; gap:12px; }
  .page-head h1 { font-size:29px!important; }
  .page-head .actions { gap:7px!important; }
  .page-head .actions button { padding:10px 11px!important; font-size:12px; }
  .bankroll-toolbar { margin-bottom:15px!important; }
  .panel { padding:16px!important; margin-bottom:14px!important; }
  .filters { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:9px!important; margin-bottom:13px!important; width:100%; }
  .filters > * { min-width:0!important; width:100%!important; padding:10px 11px!important; }
  .group-toolbar { margin-bottom:9px; }
  .desktop-bets-table { display:none!important; }
  .mobile-bet-cards { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
  .mobile-bet-card { padding:13px!important; min-width:0; }
  .mobile-bet-selections { margin:10px 0!important; gap:7px!important; }
  .mobile-bet-facts { margin-bottom:9px!important; gap:7px!important; }
  .mobile-bet-edit { min-height:38px!important; }
  .cards { gap:12px!important; }
  .card { padding:16px!important; }
  .sport-icon,.sport-ball { flex-shrink:0; }
}
@media (min-width:851px) and (max-width:1050px) {
  .filters { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  .mobile-bet-cards { grid-template-columns:1fr!important; }
  .sidebar { width:172px!important; }
}
@media (max-width:850px) {
  .filters { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}

/* Premium bet history cards: clean surfaces, legible numbers and stable icons */
.mobile-bet-cards{align-items:stretch}
.mobile-bet-card{display:flex;flex-direction:column;gap:0;background:var(--panel)!important;border:1px solid var(--border)!important;border-radius:15px!important;padding:17px!important;box-shadow:0 3px 15px #0000000c;min-width:0;transition:border-color .16s,box-shadow .16s}
.mobile-bet-card:hover{border-color:var(--accent)!important;box-shadow:0 7px 24px #00000016}
.mobile-bet-top{min-height:26px;font-size:12px!important;gap:12px}
.premium-bet-date{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:550}
.mobile-bet-selections{display:grid;gap:10px!important;margin:14px 0 10px!important;min-width:0;flex:1}
.mobile-bet-selection{display:flex;align-items:flex-start;gap:11px!important;min-width:0}
.mobile-bet-selection .sport-icon{width:27px;min-width:27px;flex:0 0 27px;display:flex;align-items:flex-start;justify-content:center}
.mobile-bet-selection .sport-icon svg{display:block;max-width:100%;height:auto;flex-shrink:0}
.premium-selection-copy{min-width:0;overflow-wrap:anywhere}
.premium-selection-copy strong{display:block;font-size:13px;line-height:1.4;color:var(--text);font-weight:750}
.premium-selection-copy .mini{margin-top:3px;line-height:1.4;color:var(--muted);font-size:11px}
.premium-bet-tags{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 13px;font-size:11px;font-weight:700;color:var(--muted)}
.mobile-bet-facts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin:0 0 13px!important;padding:13px 0!important;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.mobile-bet-facts>div{min-width:0}.mobile-bet-facts span{display:block;font-size:9px!important;letter-spacing:.6px;font-weight:750;color:var(--muted)!important}
.mobile-bet-facts b{display:block;font-size:14px!important;margin-top:6px!important;color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.mobile-bet-facts b.positive{color:var(--green)!important}.mobile-bet-facts b.negative{color:var(--red)!important}
.mobile-bet-edit{display:flex;align-items:center;justify-content:center;min-height:39px!important;width:100%;border-radius:9px!important;margin-top:auto;font-weight:750}
@media (min-width:851px) and (max-width:1400px){.mobile-bet-cards{gap:14px!important}.mobile-bet-card{padding:17px!important}.mobile-bet-selections{margin:14px 0 10px!important}.mobile-bet-facts{gap:10px!important;margin-bottom:13px!important}.mobile-bet-edit{min-height:39px!important}}
@media (max-width:600px){.mobile-bet-card{padding:15px!important}.mobile-bet-facts{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* BetLedger mobile usability refresh — 2026-10-31. CSS-only: no data or sync changes. */
@media (max-width:850px) {
  html,body{max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
  .mobile-brand{min-height:56px;padding:10px 15px!important;gap:10px!important}
  .mobile-brand img{width:36px!important;height:36px!important;flex-shrink:0}
  .mobile-brand span{font-size:10px!important;letter-spacing:1.3px!important}
  .topbar{height:49px!important;padding:0 15px!important;gap:8px}
  .breadcrumbs{letter-spacing:.6px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .breadcrumbs span{margin:0 6px!important}
  .top-actions{flex-shrink:0;gap:7px!important}
  .cloud-trigger{font-size:11px!important;padding:8px 9px!important}
  .view{padding:17px 14px 28px!important;max-width:100%;overflow:clip}
  .bankroll-toolbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important;margin-bottom:20px!important}
  .bankroll-toolbar .field{grid-column:1/-1;min-width:0!important;max-width:none!important}
  .bankroll-toolbar button{min-width:0!important;width:100%;min-height:42px!important;white-space:normal}
  .page-head{gap:10px!important;margin-bottom:18px!important}
  .page-head h1{font-size:clamp(26px,7vw,32px)!important;line-height:1.14;letter-spacing:-.8px}
  .sub{font-size:12px!important;line-height:1.45}
  .eyebrow{font-size:10px!important;margin-bottom:7px!important}
  .panel{padding:16px!important;border-radius:16px!important;overflow:visible}
  .panel-head{flex-wrap:wrap;gap:10px}
  .section-title{font-size:14px!important;line-height:1.35}
  .form-grid,.leg-grid,.tx-grid{min-width:0;gap:12px!important}
  .form-grid>.field,.leg-grid>.field,.tx-grid>.field{min-width:0;max-width:100%}
  .field{min-width:0;gap:7px!important}
  .field label{font-size:12px!important;line-height:1.3}
  .field input,.field select,.field textarea{width:100%!important;min-width:0!important;max-width:100%!important;font-size:16px!important;min-height:46px!important;padding:11px 12px!important}
  .field input[type="date"],.field input[type="time"]{display:block;width:100%!important;min-width:0!important;max-width:100%!important;min-height:48px!important;font-size:16px!important;box-sizing:border-box!important}
  .field input[type="date"]::-webkit-date-and-time-value{text-align:left;min-width:0}
  .field input[type="date"]::-webkit-calendar-picker-indicator{position:static!important;opacity:1!important;margin-left:auto!important;flex-shrink:0}
  .time-picker{min-width:0!important;max-width:100%!important;display:flex!important}
  .time-picker input{flex:1 1 0!important;width:0!important;min-width:0!important}
  .time-picker-toggle{width:46px!important;min-height:46px!important;flex:0 0 46px!important}
  .time-picker-panel{max-width:100%;overflow:hidden}
  .leg{padding:15px!important;border-radius:15px!important}
  .leg-top{gap:10px;flex-wrap:wrap}
  .leg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bet-event-field{grid-column:1/-1!important;grid-row:auto!important;order:2}
  .leg-grid>.field:last-child{order:3}
  .mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))!important;padding:7px 5px calc(8px + env(safe-area-inset-bottom))!important;gap:2px;align-items:stretch}
  .mobile-nav button{min-height:56px!important;font-size:20px!important;line-height:1.1!important;border-radius:11px!important;gap:4px!important;padding:5px 1px!important;align-content:center}
  .mobile-nav button span{font-size:10px!important;line-height:1.2!important;letter-spacing:0!important;overflow-wrap:normal}
  .mobile-nav button.active{background:color-mix(in srgb,var(--accent) 12%,transparent)!important}
  .mobile-nav .mobile-add{font-size:25px!important}
  .mobile-nav .mobile-add.active{box-shadow:inset 3px 0 var(--accent)}
  .cards{gap:10px!important}
  .card{min-width:0}
  .metric{font-size:clamp(18px,5.4vw,26px)!important}
  .mobile-bet-cards{gap:12px!important}
  .mobile-bet-card{padding:15px!important}
  .mobile-bet-selection .sport-icon{flex-shrink:0!important}
  .mobile-bet-facts{gap:7px!important}
  .mobile-bet-facts b{font-size:13px!important}
  .filters{gap:8px!important}
  .filters select,.filters input{font-size:14px!important;min-height:43px!important}
  .actions{gap:8px!important}
  .actions button{min-height:42px}
  .chart{max-width:100%;height:210px!important}
  .cloud-dialog{padding:20px!important;max-width:calc(100vw - 24px)}
}
@media (max-width:480px){
  /* Native iOS date/time inputs need their own row: prevents the observed overlap. */
  .form-grid{grid-template-columns:1fr!important}
  .form-grid>.field,.form-grid>.wide,.form-grid>.all{grid-column:1/-1!important}
  .leg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .leg-grid .bet-event-field{grid-column:1/-1!important}
  .bankroll-toolbar{margin-bottom:16px!important}
  .mobile-brand{padding:9px 14px!important}
  .view{padding:14px 12px 24px!important}
  .panel{padding:14px!important}
  .mobile-nav button span{font-size:9px!important}
}
@media (max-width:355px){.leg-grid{grid-template-columns:1fr!important}.leg-grid>.field{grid-column:1/-1!important}.mobile-nav button span{font-size:8px!important}}

/* iOS Safari date control: prevent native intrinsic width from overflowing its grid cell. */
@media (max-width: 850px) {
  #betForm, #betForm .panel, #betForm .form-grid, #betForm .form-grid > .field {min-width:0!important;max-width:100%!important;}
  #betForm .form-grid > .field {width:100%!important;overflow:hidden!important;}
  #betForm input[type="date"], #txForm input[type="date"] {
    display:block!important;inline-size:100%!important;width:100%!important;
    min-inline-size:0!important;min-width:0!important;max-inline-size:100%!important;max-width:100%!important;
    box-sizing:border-box!important;overflow:hidden!important;
    -webkit-appearance:none;appearance:none;
    font-size:16px!important;line-height:24px!important;
    padding:11px 12px!important;height:48px!important;
    border-radius:10px!important;
  }
  #betForm input[type="date"]::-webkit-date-and-time-value,
  #txForm input[type="date"]::-webkit-date-and-time-value {
    display:block;min-width:0!important;width:100%!important;text-align:left!important;
  }
  #betForm input[type="date"]::-webkit-datetime-edit,
  #txForm input[type="date"]::-webkit-datetime-edit {min-width:0!important;padding:0!important;}
  #betForm input[type="date"]::-webkit-calendar-picker-indicator,
  #txForm input[type="date"]::-webkit-calendar-picker-indicator {
    position:static!important;margin:0 0 0 auto!important;padding:0!important;
    width:18px!important;max-width:18px!important;opacity:.8!important;
  }
}
@media (max-width:480px) {
  #betForm .form-grid {display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
  #betForm .form-grid > * {grid-column:1/-1!important;min-width:0!important;max-width:100%!important;}
}

/* Weekly / daily betting history: consistent at all viewport widths */
.weekly-history{display:grid;gap:13px;margin-top:16px;min-width:0}
.bet-week,.bet-day{min-width:0;border:1px solid var(--border);border-radius:13px;overflow:hidden;background:var(--panel)}
.bet-week>summary,.bet-day>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;font-weight:700;min-height:52px}
.bet-week>summary::-webkit-details-marker,.bet-day>summary::-webkit-details-marker{display:none}
.bet-week>summary:before,.bet-day>summary:before{content:'▸';color:var(--accent);font-size:16px;flex:none}
.bet-week[open]>summary:before,.bet-day[open]>summary:before{content:'▾'}
.bet-group-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:1;min-width:0}
.bet-group-title small{color:var(--muted);font-weight:500;font-size:12px}
.bet-group-profit{white-space:nowrap;font-size:14px}
.bet-week-content{display:grid;gap:10px;padding:0 12px 12px}
.bet-day{background:var(--input)}
.bet-day>summary{padding:12px 14px;min-height:46px;font-size:14px}
.bet-day-content{padding:0 12px 12px}
.bet-day-content .mobile-bet-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bet-load-more{display:flex;flex-direction:column;align-items:center;gap:8px;margin:20px auto 6px}
.bet-load-more button{min-width:190px;min-height:44px}
.bet-load-more span,.bet-end-count{font-size:12px;color:var(--muted);text-align:center}
.group-toolbar{color:var(--muted);font-size:12px}
@media(min-width:1650px){.bet-day-content .mobile-bet-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){.bet-day-content .mobile-bet-cards{grid-template-columns:1fr}.bet-week-content{padding:0 7px 8px}.bet-day-content{padding:0 8px 8px}.bet-week>summary{padding:12px}.bet-day>summary{padding:10px}.bet-group-title small{font-size:11px}}
