.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#fafafa,#eef0f3)}.login-card{width:min(390px,100%);background:#fff;padding:38px;border-radius:18px;box-shadow:var(--shadow);text-align:center}.login-card .brand-mark{margin:auto}.login-card h1{margin:18px 0 8px}.login-card p{color:var(--muted);margin:0 0 26px}
.bet-box{border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:12px}.status-group{display:flex;align-items:center;gap:10px}.connection-note{font-size:12px;color:var(--green)}.connection-note.reconnecting{color:var(--muted)}
.mode-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.mode-panel{text-align:center;width:min(1000px,100%)}.mode-panel>.brand-mark{margin:0 auto}.mode-panel h1{margin:18px 0 26px}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.mode-card{min-height:230px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center;gap:18px;transition:.15s transform,.15s border-color}.mode-card:hover{transform:translateY(-2px);border-color:var(--red)}.mode-card strong{font-size:28px;color:var(--red-dark)}.mode-card span{color:var(--muted);line-height:1.8}.mode-card.live strong{color:var(--green)}.mode-card.kalshi strong{color:#2854a3}.mode-user{margin-top:22px;color:var(--muted);font-size:13px}.mode-user a,.mode-switch{color:var(--red-dark);font-weight:650}
.monitor-statuses{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.pagination-info{color:var(--muted);font-size:13px}.page-size{width:auto;min-width:80px}.home-link{margin:0 0 8px}.nav-separator{border-top:1px solid var(--line);margin:0 8px 12px}.countdown{margin:0 0 12px;color:#475467;font-size:14px;font-weight:650}.cell-updated{animation:cell-updated 1.6s ease-out}@keyframes cell-updated{0%{background:#c9f3d6;box-shadow:inset 0 0 0 1px #69bd83}100%{background:transparent;box-shadow:inset 0 0 0 1px transparent}}
.mode-panel .mode-brand{display:block;width:100%;margin:0 0 32px;font-size:36px;line-height:1.2;font-weight:700;color:var(--ink);text-align:center}
#tennis-live-area td:has(>input[type="checkbox"]){width:44px;padding-left:9px;padding-right:9px}#tennis-live-area td[data-field="event_date"]{width:96px;white-space:nowrap}#tennis-live-area td[data-field="event_time"]{width:66px;white-space:nowrap}#tennis-live-area td[data-field="availability_status"],#tennis-live-area td[data-field="favourite_reference_odds"]{width:82px;white-space:nowrap}#tennis-live-area td[data-field="tournament_name"]{min-width:130px}#tennis-live-area td[data-field="match"]{min-width:190px}#tennis-live-area td[data-field="betfair_total_matched"]{min-width:126px;white-space:nowrap}.championship-choice{display:flex;align-items:center;gap:8px;margin:4px 0}.championship-choice input{width:auto;min-height:0;flex:0 0 auto}
@media(max-width:650px){.mode-panel .mode-brand{font-size:28px;margin-bottom:30px}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:180px}.pagination{align-items:stretch;flex-direction:column}}
/* Persistent safety marker injected only when LIXTRADE_ENV=DEMO. */
.demo-environment-marker{position:fixed;z-index:10000;top:10px;left:50%;transform:translateX(-50%);padding:7px 14px;border-radius:999px;background:#b42318;color:#fff;font-weight:800;letter-spacing:.08em;box-shadow:0 2px 10px #0003}
.mode-grid{grid-template-columns:repeat(2,1fr)}.mode-grid-two{max-width:680px;margin-inline:auto}
