/* Plus44 sportsbook presentation; match and wallet values come from the application API. */
:root{--green:#19795b;--green-dark:#14241e;--yellow:#e5c778;--bg:#101b19;--panel:#1b2a27;--line:#385249;--text:#edf5ee;--muted:#adc2b4;--dark:#12211d;color:var(--text);background:var(--bg)}
html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-size:13px}button,a,input{transition:background-color .14s ease,border-color .14s ease,color .14s ease}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.topbar{height:60px;background:#14241e;border-bottom:1px solid #365247;box-shadow:0 8px 24px #0002}.brand{width:206px;flex:none}.brand:before{content:'♠';display:grid;place-items:center;width:34px;height:34px;border:1px solid #6f8a64;border-radius:7px;background:#263e32;color:var(--yellow);font-size:20px}.brand:after{content:'plus44';font-size:21px;font-weight:800;letter-spacing:-.04em;color:#fff}.primary-nav{margin:0}.primary-nav a{min-width:84px;padding:0 12px;font-size:13px;font-weight:650;color:#dce9df}.primary-nav a.active,.primary-nav a:hover{border-bottom-color:var(--yellow);color:#fff;background:#ffffff08}.account-nav{width:auto;min-width:170px;margin-left:auto;padding-right:20px}.account-nav:before,.account-nav:after{content:none}.account-nav button{display:block}.demo-account{background:#263e32;color:#f4e2a9;border:1px solid #54745d;border-radius:7px;padding:8px 10px;font-weight:700;font-variant-numeric:tabular-nums}.account-menu{background:#1b2a27;color:#edf5ee;border:1px solid #456253;box-shadow:0 12px 25px #0008}.account-menu a,.account-menu button{color:inherit}
.app-shell{grid-template-columns:206px minmax(0,1fr) 312px;max-width:1800px;min-height:calc(100vh - 60px);gap:0}.sidebar{top:60px;min-height:calc(100vh - 60px);max-height:calc(100vh - 60px);background:#15231f;border-right:1px solid var(--line)}.sidebar-search{background:#1a2b25;color:var(--muted);border-bottom-color:var(--line)}.sidebar-search input{color:var(--text)}.side-switch{border-bottom-color:var(--line)}.side-switch a{color:#95b1a0}.side-switch a.active{color:var(--yellow)}.side-home{border-bottom-color:var(--line);color:#e1ede3}.sport-nav-row{border-bottom-color:#30483e}.sport-link{color:#c2d6c8}.sport-link:hover,.sport-link.active{background:#263d31;color:#fff}.sport-star{color:#aac3ae}.sport-star.favorite{color:var(--yellow)}
main{padding:16px 16px 50px;min-width:0;background:var(--bg)}#view{min-width:0}.feed-banner{margin:0 0 14px;border:1px solid #456b56;border-radius:8px;background:#173a2e;color:#e3f0e7;padding:9px 12px;font:12px Arial,sans-serif}.feed-banner strong{color:var(--yellow)}.feed-banner small{color:#bcd2c2}.feed-banner.warning{background:#493b28;border-color:#806841}.sport-tabs{height:auto;min-height:72px;margin-bottom:12px;background:#1b2a27;border:1px solid var(--line);border-radius:9px;box-shadow:none}.sport-tab{min-width:95px;height:72px;background:transparent;border-right:1px solid #30473d;color:#d3e3d7;font-weight:600;gap:4px}.sport-tab.active,.sport-tab:hover{background:#284339;color:#fff;box-shadow:inset 0 -3px var(--yellow)}.sport-tab img{width:29px;height:29px}.sport-tab small{font-size:11px;max-width:none;white-space:nowrap}
.section-bar,.category-section-title{height:38px;display:flex;align-items:center;padding:0 13px;background:#19795b;color:#fff;font-size:14px;font-weight:750;letter-spacing:.01em}.section-bar span{color:#d6ebd9}.section-bar small{margin-left:auto;float:none;padding:0;font-size:11px;color:#d6ebd9}.quick-links{background:transparent;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:12px}.quick-section,.quick-link{background:#1b2a27}.quick-link{height:44px;border-bottom:1px solid #31483d;color:#f0f5ef;font-size:13px}.quick-link:hover{background:#263f34}.quick-link small{font-size:10px;color:#a6c7b1}.quick-link b{color:var(--yellow)}.quick-title{height:31px;background:#14241e;color:#d5e3d5;font-size:12px;font-weight:700}.highlights{height:auto;min-height:140px;margin:0 0 16px 0;background:#192a25;border:1px solid var(--line);border-radius:0 0 8px 8px}.highlight{flex:1 0 185px;max-width:250px;border-right:1px solid var(--line);border-left:0}.highlight>a{height:100px;font-size:12px}.highlight small{color:#a7bfad}.highlight-odds{height:39px;border-top-color:var(--line)}.highlight-odds button{border-right-color:var(--line);color:#d8e6dc}.highlight-odds button b{color:var(--yellow);font-variant-numeric:tabular-nums}.highlight-odds button:hover,.highlight-odds button.selected{background:#355941;color:#fff}.highlight-odds button:hover b,.highlight-odds button.selected b{color:#fff}
.league,.upcoming-league{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:0 0 11px}.league-head,.upcoming-league-head{min-height:30px;height:30px;padding:0 10px;background:#263c33;color:#dceadb;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;grid-template-columns:minmax(0,1fr) 50px minmax(210px,36%)}.odds-labels{color:#b8cfbc}.match-row{min-height:64px;height:auto;padding:6px 10px;background:#1b2a27;border-bottom:1px solid #31483d;grid-template-columns:minmax(0,1fr) 50px minmax(210px,36%)}.match-row:hover,.upcoming-row:hover{background:#22362e}.match-info{grid-template-columns:72px minmax(0,1fr);gap:8px}.match-clock{padding:0;color:#d5b970;font-size:11px;font-weight:700}.match-clock small{margin:5px 0 0;color:#92ac9c;font-size:10px}.teams a{gap:5px;color:#eef4ed;font-size:12px;font-weight:650;min-width:0}.teams a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score{color:#f0d18a;font-size:13px;font-weight:750;text-align:center;font-variant-numeric:tabular-nums}.odds{height:auto;gap:5px;align-self:stretch}.odd,.upcoming-odds button{min-height:38px;height:auto;background:#294238;border:1px solid #456554;border-radius:5px;color:#f2d690;font-size:12px;font-weight:750;font-variant-numeric:tabular-nums}.odd:hover,.odd.selected,.upcoming-odds button:hover,.upcoming-odds button.selected{background:#47684c;color:#fff;border-color:#d9bf78}.odd-empty{display:grid;place-items:center;border:1px solid #30483e;border-radius:5px;color:#90a697;font-size:11px}.odd-empty:after{content:'—'}.empty-state,.feed-empty{background:#1b2a27;color:#bfd0c3;border:1px solid var(--line);border-radius:8px;padding:30px 15px}.upcoming-league-head{grid-template-columns:50% repeat(3,1fr)}.upcoming-row{height:auto;min-height:70px;grid-template-columns:50% 50%;border-bottom-color:#31483d}.upcoming-teams{color:#eef4ed;padding:8px 25px}.upcoming-teams span{font-size:12px}.upcoming-teams small{color:#9fb8a7}.upcoming-odds{gap:5px;padding:5px}.upcoming-odds button span{color:#d1e5d6}
.betslip{position:sticky;z-index:7;top:60px;right:auto;bottom:auto;width:auto;height:calc(100vh - 60px);max-height:none;background:#192a25;color:var(--text);border-left:1px solid var(--line);box-shadow:none}.betslip.collapsed{height:calc(100vh - 60px);width:auto}.betslip-head{height:52px;background:#263c33;color:#f1f5ed;border-bottom:1px solid var(--line);cursor:default}.betslip-head strong{font-size:14px;font-weight:750}.slip-count{background:#e5c778;color:#15241e;font-weight:800}.slip-coefficient{color:#e5c778;font-variant-numeric:tabular-nums}.betslip-head button{display:none}.betslip .slip-mode{height:36px;background:#192a25;color:#bcd1c1;border-bottom:1px solid var(--line);padding:10px;font-size:11px;font-weight:700}.betslip.collapsed .slip-mode,.betslip.collapsed .slip-content,.betslip.collapsed .slip-footer{display:initial}.betslip .slip-content{min-height:120px;background:#192a25;padding:10px}.empty-slip{color:#adc2b4;font-size:12px}.selection{height:auto;min-height:68px;padding:11px 29px 11px 30px;margin-bottom:7px;background:#22372e;border:1px solid var(--line);border-radius:7px}.selection strong{font-weight:700;color:#f2f6ef}.selection small{color:#b3cbb9}.selection-odd{color:#f3d690;font-weight:800}.selection .remove{color:#c6d6c7}.slip-footer{display:flex;flex-direction:column;height:auto;gap:8px;padding:12px;background:#1b2a27;border-top:1px solid var(--line);color:var(--text)}.slip-footer label{display:block}.stake-wrap{height:43px;background:#12211d;border:1px solid #587367;border-radius:6px}.stake-wrap input{height:41px;background:transparent;color:#fff;font-size:15px}.stake-wrap input::placeholder{color:#a7bbae}.stake-wrap span{display:block;color:#b9cdbb}.slip-footer .return-row,.slip-footer .slip-note,.slip-footer .clear-slip{display:flex;margin:0}.return-row{justify-content:space-between;color:#b8cbbd;font-size:12px}.return-row strong{color:#f4dfa9;font-variant-numeric:tabular-nums}.place-bet{height:43px;background:#e5c778;color:#15241e;font-weight:800;border-radius:6px}.place-bet:disabled{background:#667367;color:#e2e8df}.slip-note{color:#b1c5b4;font-size:11px}.clear-slip{justify-content:center;color:#d3e2d5;text-decoration:none;font-size:11px}.clear-slip:hover{text-decoration:underline}
.feed-event{background:#101b19;color:var(--text)}.feed-event-head{background:#1b2a27;border:1px solid var(--line);border-radius:8px}.feed-event-head h2{font-size:20px}.feed-market-list article{margin:10px 0;background:#1b2a27;border:1px solid var(--line);border-radius:8px;overflow:hidden}.feed-market-list h3{background:#263c33;font-size:13px}.feed-market-outcome{background:#294238;border:1px solid #456554;border-radius:5px;color:#eef5ee}.feed-market-outcome b{color:#f2d690}.category-breadcrumb,.prematch-heading,.market-tabs,.bets-filters{background:#1b2a27;color:#edf5ee;border:1px solid var(--line)}.prematch-final button,.static-market-grid>div,.market-odds button{background:#22372e;color:#eef5ee;border-color:var(--line)}.prematch-final b,.static-market-grid b,.market-odds button strong{color:#f2d690}.market-odds{background:#1b2a27}.no-bets{color:#b9cdbd}.sports-bet{background:#1b2a27;color:#edf5ee;border:1px solid var(--line);border-radius:8px;padding:14px;margin:10px 0}.filter-line{flex-wrap:wrap}.filter-line button{background:#263c33;color:#e3eee5;border:1px solid var(--line);border-radius:4px}.filter-line button.active{background:#19795b;color:#fff}.date-filter{background:#1b2a27;color:#edf5ee}.modal-backdrop{color:#22302a}footer{background:#14241e;color:#b5cbbb;border-top:1px solid var(--line)}#back-to-top{background:#263c33;color:#e9f2e8}
.betslip.collapsed .slip-content{display:block}.betslip.collapsed .slip-footer{display:flex}.slip-footer .return-row,.slip-footer .slip-note,.slip-footer .clear-slip{background:transparent;color:#b8cbbd;padding:0}.slip-footer .return-row strong{color:#f4dfa9}.section-bar{gap:4px}.slip-footer .clear-slip{color:#d3e2d5}
/* Account and staff screens use the same surfaces without changing their workflows. */
.account-page,.agent-page{background:var(--bg);color:var(--text)}.account-page-title,.agent-title{background:#19795b;color:#fff}.account-summary,.account-settings{max-width:1000px}.account-profile,.account-balance-grid article,.account-transaction,.account-entry,.account-totals div,.account-settings form,.agent-panel,.agent-profile,.agent-create,.agent-chat,.agent-modal{background:#1b2a27;color:#edf5ee;border:1px solid var(--line);border-radius:8px}.account-profile p,.account-balance-grid span,.account-transaction small,.agent-profile-top p,.agent-create p,.agent-ticket-list small{color:#adc2b4}.account-balance-grid article{border-top:3px solid #60866c}.account-balance-grid small{color:#aac8b0}.account-balance-grid strong,.account-entry b,.account-totals b{color:#f1d88f;font-variant-numeric:tabular-nums}.account-summary h3,.account-settings h2,.account-section button,.agent-panel-title,.agent-panel>h3,.agent-section>button{background:#263c33;color:#edf5ee;border-bottom:1px solid var(--line)}.account-summary-links a,.account-date button,.account-settings button,.agent-panel-title button,.agent-search button,.agent-dates button,.agent-create>button,.agent-modal>button[type=submit]{background:#19795b;color:#fff;border-radius:5px}.account-separation,.account-settings>p,.agent-caution{background:#3b392b;color:#eadca9;border:1px solid #766942;border-radius:6px}.account-date,.account-currency,.account-presets,.agent-nav,.agent-tabs,.agent-presets,.agent-statuses,.agent-dates,.agent-filter-row,.agent-search{background:#172821;color:#dce9de;border-color:var(--line)}.account-date input,.account-settings input,.agent-search input,.agent-create input,.agent-create select,.agent-modal input,.agent-dates input,.agent-filter-row select,.agent-profile form input,.agent-odds-grid input,.agent-event-actions select{background:#12211d;color:#edf5ee;border:1px solid #587367;border-radius:5px}.account-section p,.agent-own>div,.agent-details,.agent-details>div,.agent-balance-grid button,.agent-balance-summary>div,.agent-ledger,.agent-ticket-list article,.agent-report-head,.agent-report>a,.agent-user-head,.agent-user-row,.agent-event{background:#1b2a27;color:#edf5ee;border-color:var(--line)}.agent-nav a{color:#d7e6da}.agent-nav a:hover,.agent-nav a.active{background:#294637;border-bottom-color:var(--yellow)}.agent-demo{background:#244b3b;color:#d8efdb}.agent-own b,.agent-balance-grid strong,.agent-balance-summary b{color:#f0d68d}.agent-profile .agent-avatar{background:#2c674a}.agent-details span,.agent-balance-grid small,.agent-user-row>a small,.agent-event small{color:#adc2b4}.agent-user-row:nth-child(even){background:#20332b}.agent-ticket-list b.won{color:#b8e4bc}.agent-modal-backdrop{background:#000b}.agent-balance-grid button{border-radius:6px}.agent-panel{overflow:hidden}.account-entry,.account-totals div,.agent-balance-summary>div{border-bottom-color:var(--line)}
@media(max-width:1100px){.app-shell{grid-template-columns:170px minmax(0,1fr) 280px}.brand{width:170px}.league-head,.match-row{grid-template-columns:minmax(0,1fr) 40px minmax(168px,39%)}.match-info{grid-template-columns:55px minmax(0,1fr)}}
@media(max-width:850px){.topbar{height:56px}.menu-toggle{display:block}.brand{width:auto;padding:0 4px}.brand:after{display:none}.primary-nav{margin:auto}.primary-nav a{min-width:64px}.account-nav{min-width:0;margin:0}.app-shell{display:block}.sidebar{position:fixed;z-index:32;top:56px;min-height:0;max-height:calc(100vh - 56px);width:240px;box-shadow:7px 7px 22px #0008}.sidebar:not(.open){display:none}main{padding:12px 10px 75px}.betslip,.betslip.collapsed{position:fixed;top:auto;bottom:0;right:0;width:min(410px,100%);height:auto;max-height:75vh;z-index:28;border:1px solid var(--line);border-radius:10px 10px 0 0;box-shadow:0 -12px 30px #0008}.betslip.collapsed{height:50px}.betslip-head{height:50px;cursor:pointer;border-radius:10px 10px 0 0}.betslip-head button{display:block;color:#e7efdf}.betslip.collapsed .slip-mode,.betslip.collapsed .slip-content,.betslip.collapsed .slip-footer{display:none}.betslip:not(.collapsed) .slip-content{overflow:auto;min-height:0;max-height:calc(75vh - 235px)}.betslip:not(.collapsed) .slip-footer{flex:none}.league-head,.match-row{grid-template-columns:minmax(0,1fr) 40px minmax(170px,40%)}}
@media(max-width:540px){.topbar{height:52px}.brand:before{width:29px;height:29px;font-size:17px}.primary-nav a{min-width:48px;padding:0 5px;font-size:11px}.account-nav{padding-right:5px}.demo-account{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.sidebar{top:52px;max-height:calc(100vh - 52px)}main{padding:8px 6px 70px}.feed-banner{font-size:10px;gap:5px;padding:7px}.feed-banner small{margin:0}.sport-tabs{min-height:60px}.sport-tab{min-width:74px;height:60px}.sport-tab img{width:25px;height:25px}.sport-tab small{font-size:10px}.section-bar{font-size:12px;height:35px}.section-bar small{font-size:10px}.league-head,.match-row{grid-template-columns:minmax(0,1fr) 32px minmax(126px,40%);padding-left:5px;padding-right:5px}.match-info{grid-template-columns:42px minmax(0,1fr);gap:3px}.match-clock,.match-clock small{font-size:9px}.match-clock small{margin:3px 0 0}.teams a{font-size:11px}.score{font-size:11px}.odds{gap:2px}.odd{min-height:36px;font-size:11px}.upcoming-teams{padding:7px 10px}.upcoming-teams span{font-size:10px}.upcoming-odds{gap:2px;padding:3px}.upcoming-odds button{font-size:10px}.highlights{min-height:135px}.highlight{flex:0 0 180px}.betslip,.betslip.collapsed{width:100%}.betslip:not(.collapsed){max-height:82vh}.betslip:not(.collapsed) .slip-content{max-height:calc(82vh - 235px)}}
.feed-market-list article>.feed-market-line{display:block;padding:7px 10px;border-top:1px solid #30443b}.feed-market-list article>.feed-market-line:first-of-type{border-top:0}.feed-line-label{display:block;color:#bdd0c4;font-size:12px;margin-bottom:5px}.feed-market-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:6px}.feed-market-outcome,.feed-market-unavailable{min-height:39px;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:12px}.feed-market-outcome{cursor:pointer}.feed-market-outcome:hover{border-color:#d5ad5b;background:#345244}.feed-market-unavailable{background:#20332b;color:#a5b8ac;border:1px solid #31483c;border-radius:5px;opacity:.8}.feed-market-unavailable b{color:#a5b8ac}.live-match-panel{padding:12px;margin:10px 0;background:#192c25;border:1px solid #335140;border-radius:8px}.live-match-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;text-align:center}.live-match-score strong{font-size:13px}.live-match-score b{font-size:22px;color:#f3d794}.live-match-clock{text-align:center;font-size:12px;color:#e5ce83;margin:5px 0 10px}.live-match-pitch{height:180px;max-width:580px;margin:auto;position:relative;border:2px solid #a7c7a6;background:repeating-linear-gradient(90deg,#315d42 0 14.285%,#376548 14.285% 28.57%);border-radius:3px}.pitch-mid{position:absolute;left:50%;top:0;bottom:0;border-left:2px solid #a7c7a6}.pitch-circle{position:absolute;left:50%;top:50%;width:62px;height:62px;transform:translate(-50%,-50%);border:2px solid #a7c7a6;border-radius:50%}.pitch-box{position:absolute;top:24%;bottom:24%;width:13%;border:2px solid #a7c7a6}.pitch-box-left{left:0;border-left:0}.pitch-box-right{right:0;border-right:0}.live-match-data{text-align:center;color:#b8caba;font-size:11px;margin-top:8px}@media(max-width:540px){.feed-market-prices{grid-template-columns:repeat(2,minmax(0,1fr))}.live-match-pitch{height:130px}.live-match-score{gap:4px}.live-match-score strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button,a,input{transition:none}}
@media(max-width:430px){.topbar{height:72px;gap:2px;flex-wrap:wrap;align-content:start}.menu-toggle,.brand,.primary-nav{height:47px}.primary-nav{flex:1;justify-content:flex-end;margin:0}.primary-nav a{min-width:46px;padding:0 3px;font-size:10px}.account-nav{order:4;width:100%;height:23px;margin:0;gap:9px;justify-content:flex-end;padding-right:10px;border-top:1px solid #365247}.account-nav button{font-size:11px;padding:0 2px}.menu-toggle{width:30px;min-width:30px}.brand{padding:0 2px}.brand:before{width:27px;height:27px}.sidebar{top:72px;max-height:calc(100vh - 72px)}}
