:root{color:#142119;font-synthesis:none;background:#f3f4ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.shell{min-height:100vh}.login-shell{grid-template-columns:1.15fr .85fr;display:grid}.brand-panel{color:#f4f5ef;background:#10231b;flex-direction:column;justify-content:center;padding:clamp(3rem,9vw,9rem);display:flex}.eyebrow{letter-spacing:.18em;color:#81a98f;font-size:.75rem;font-weight:700}h1{margin:.5rem 0 1rem;font-family:Georgia,serif;font-size:clamp(2.7rem,7vw,5.5rem);font-weight:400}.brand-panel p{color:#cdd9d1;max-width:34rem;font-size:1.1rem;line-height:1.7}.status-line{color:#9fb4a7;margin-top:2rem;font-size:.9rem}.dot{background:#c59659;border-radius:50%;width:.6rem;height:.6rem;margin-right:.5rem;display:inline-block}.dot.ok{background:#63bb80}.login-card{align-self:center;gap:1.15rem;margin:clamp(1.5rem,6vw,6rem);display:grid}.mfa-secret{overflow-wrap:anywhere;color:#d7f7e8;letter-spacing:.08em;background:#101a2a;border-radius:.5rem;padding:.75rem;font-size:1rem;display:block}.login-card h2{margin:0 0 1rem;font-family:Georgia,serif;font-size:2rem;font-weight:400}label{gap:.45rem;font-size:.85rem;font-weight:650;display:grid}label span{color:#68736c;font-weight:400}input{background:#fff;border:1px solid #c7cdc7;border-radius:.55rem;padding:.85rem 1rem}input:focus{outline-offset:2px;outline:2px solid #426b51}button{color:#fff;cursor:pointer;background:#10231b;border:0;border-radius:.55rem;padding:.9rem 1rem;font-weight:700}.error{color:#9e2f2f;font-size:.85rem}.dashboard{max-width:1200px;margin:0 auto;padding:clamp(1.5rem,5vw,5rem)}.dashboard header{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.dashboard h1{font-size:clamp(2.5rem,5vw,4rem)}.user-chip{background:#e3e8e1;border-radius:999px;padding:.7rem 1rem}.notice{color:#f4f5ef;background:#10231b;border-radius:1rem;margin:2rem 0;padding:1.5rem}.notice p{color:#cdd9d1;margin-bottom:0;line-height:1.6}.grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.grid article{background:#fff;border:1px solid #dce0da;border-radius:.8rem;padding:1.4rem}.grid article span{letter-spacing:.12em;color:#789080;font-size:.65rem}.grid article h2{font-family:Georgia,serif;font-weight:400}.grid article p{color:#68736c}.top-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.top-nav nav{flex-wrap:wrap;gap:.5rem;display:flex}.top-nav button{color:#142119;background:0 0;border:1px solid #c7cdc7}.top-nav button.active{color:#fff;background:#10231b;border-color:#10231b}.dashboard-view h2,.calendar-view h2,.event-detail h2{margin-top:0;font-family:Georgia,serif;font-weight:400}.risk-notice{color:#5c4a1f;background:#fff3cd;border-left:4px solid #c59659;margin:1rem 0;padding:1rem}.connection-pill{background:#e3e8e1;border-radius:999px;padding:.35rem .7rem;font-size:.75rem}.connection-pill.ok{color:#155724;background:#d4edda}.connection-pill.down{color:#721c24;background:#f8d7da}.status{color:#68736c}.status.error{color:#9e2f2f}.status.empty{font-style:italic}.filters{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.filters label{flex-direction:column;gap:.3rem;display:flex}.event-grid,.event-list{gap:1rem;display:grid}.event-card,.event-row{cursor:pointer;background:#fff;border:1px solid #dce0da;border-radius:.8rem;padding:1rem}.event-card:hover,.event-row:hover{border-color:#426b51}.event-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.competition{letter-spacing:.1em;text-transform:uppercase;color:#789080;font-size:.75rem}.match{font-weight:650}.status-badge{text-transform:uppercase;background:#e3e8e1;border-radius:999px;padding:.25rem .5rem;font-size:.7rem}.status-badge.live{color:#155724;background:#d4edda}.status-badge.finished{color:#383d41;background:#e2e3e5}.event-detail .back{color:#142119;background:0 0;border:1px solid #c7cdc7;margin-bottom:1rem}.event-detail header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.event-detail .meta{color:#68736c;margin-bottom:1.5rem}.market-tabs{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.market-tabs button{color:#142119;background:0 0;border:1px solid #c7cdc7}.market-tabs button.active{color:#fff;background:#10231b;border-color:#10231b}.outcome-block{margin-bottom:1.5rem}.outcome-block h4{color:#426b51;margin-bottom:.5rem}.odds-table{border-collapse:collapse;background:#fff;border-radius:.6rem;width:100%;margin-bottom:1.5rem;overflow:hidden}.odds-table th,.odds-table td{text-align:left;border-bottom:1px solid #eceee9;padding:.75rem 1rem}.odds-table th{color:#f4f5ef;text-transform:uppercase;background:#10231b;font-size:.8rem}.alert-badge{color:#5c4a1f;cursor:pointer;background:#fff3cd;border:1px solid #e0c36e;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .8rem;font-size:.8rem;font-weight:700;display:inline-flex}.alert-dot{background:#c59659;border-radius:50%;width:.55rem;height:.55rem}.alert-dot[data-severity=critical]{background:#9e2f2f;animation:1.2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.alerts-view,.bankroll-view{margin-top:1rem}.alerts-header h2,.bankroll-header h2{margin-top:0;font-family:Georgia,serif;font-weight:400}.alert-section,.bankroll-section{margin-top:2rem}.alert-section h3,.bankroll-section h3{font-family:Georgia,serif;font-weight:400}.alert-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem;display:grid}.alert-card{background:#fff;border:1px solid #dce0da;border-radius:.8rem;padding:1rem}.alert-card.severity-warning{border-left:4px solid #c59659}.alert-card.severity-critical{border-left:4px solid #9e2f2f}.alert-card.severity-info{border-left:4px solid #426b51}.alert-card header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.alert-kind{letter-spacing:.1em;text-transform:uppercase;color:#789080;font-size:.7rem}.severity-badge{text-transform:uppercase;background:#e3e8e1;border-radius:999px;padding:.2rem .45rem;font-size:.65rem}.severity-badge.warning{color:#5c4a1f;background:#fff3cd}.severity-badge.critical{color:#721c24;background:#f8d7da}.severity-badge.info{color:#155724;background:#d4edda}.alert-message{margin:.25rem 0 .75rem;font-weight:650}.alert-metrics{grid-template-columns:repeat(3,1fr);gap:.6rem;margin:.75rem 0;display:grid}.alert-metrics div{flex-direction:column;display:flex}.alert-metrics dt{color:#789080;font-size:.7rem}.alert-metrics dd{margin:0;font-size:.95rem;font-weight:700}.alert-warning{color:#721c24;background:#f8d7da;border-radius:.4rem;margin:.75rem 0;padding:.6rem .8rem;font-size:.85rem}.ack-button{color:#fff;background:#10231b;padding:.6rem 1rem;font-size:.8rem}.alert-list{gap:.6rem;margin-top:1rem;display:grid}.alert-row,.transaction-row,.bet-row{background:#fff;border:1px solid #dce0da;border-radius:.6rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.alert-meta,.txn-meta,.bet-meta{color:#789080;font-size:.85rem}.rule-form,.transaction-form,.bet-form,.limits-form{background:#fff;border:1px solid #dce0da;border-radius:.8rem;gap:1rem;margin-top:1rem;padding:1.2rem;display:grid}.rule-form h4,.transaction-form h4,.bet-form h4{margin:0;font-family:Georgia,serif;font-weight:400}.radio-row{gap:1rem;display:flex}.radio-row label{align-items:center;gap:.4rem;font-weight:400;display:flex}.field-hint{color:#789080;margin:-.5rem 0 0;font-size:.8rem}.status.success{color:#155724}.balance-grid{margin-top:1rem}.balance-grid article span{letter-spacing:.12em;color:#789080;font-size:.65rem}.balance-grid article h2{margin:.25rem 0;font-family:Georgia,serif;font-weight:400}.bankroll-layout{grid-template-columns:360px 1fr;gap:2rem;margin-top:2rem;display:grid}.forms-column,.details-column{align-content:start;gap:1.5rem;display:grid}.transaction-list,.bet-list{gap:.6rem;margin-top:1rem;display:grid}.txn-kind{text-transform:uppercase;background:#e3e8e1;border-radius:999px;padding:.2rem .45rem;font-size:.7rem}.txn-kind.deposit{color:#155724;background:#d4edda}.txn-kind.withdrawal{color:#721c24;background:#f8d7da}.txn-kind.bet_stake{color:#5c4a1f;background:#fff3cd}.txn-kind.bet_return{color:#084298;background:#cfe2ff}.bet-stake{font-weight:700}.bet-status.open{color:#155724}.bet-status.settled{color:#383d41}.bet-status.cancelled{color:#721c24}.limits-form{grid-template-columns:repeat(2,1fr)}.limits-form button{grid-column:1/-1}.alert-preview{margin:1.5rem 0}.alert-preview h3{font-family:Georgia,serif;font-weight:400}@media (width<=760px){.login-shell{grid-template-columns:1fr}.brand-panel{min-height:42vh;padding:2.5rem 1.5rem}.login-card{margin:2rem 1.5rem}.dashboard header{flex-direction:column}.grid{grid-template-columns:1fr}.event-row{flex-direction:column;align-items:flex-start}.odds-table{display:block;overflow-x:auto}.bankroll-layout,.limits-form{grid-template-columns:1fr}.alert-metrics{grid-template-columns:repeat(2,1fr)}}
