:root{--bg:#294858;--bg2:#183748;--panel:#365d70;--panel2:#274c60;--line:#5d8193;--line2:#1b3948;--text:#eef5f8;--muted:#b7c9d2;--green:#59ef75;--blue:#59bdf4;--gold:#e1b24a;--red:#ff6159;--shadow:rgba(0,0,0,.28)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(135deg,#547789,#2c5063 58%,#173745);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,.button{border:1px solid #7896a5;background:linear-gradient(#4e7081,#355363);color:#fff;border-radius:3px;padding:7px 11px;min-height:30px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.07);font-weight:700;line-height:1.15}button:hover,.button:hover{filter:brightness(1.08);border-color:#9bb4c0}button:active,.button:active{transform:translateY(1px);box-shadow:none}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary{background:linear-gradient(#54839a,#356176);border-color:#82aabd}.danger{background:linear-gradient(#9a514d,#713634);border-color:#bb716c}.app-shell{min-height:100vh;background:rgba(19,43,55,.24)}.topbar{height:94px;display:flex;align-items:center;gap:18px;padding:8px 18px;border-top:3px solid #6f95a7;border-bottom:1px solid #183642;background:linear-gradient(180deg,rgba(87,122,140,.96),rgba(40,75,93,.96)),radial-gradient(circle at 45% 0,#7d9bab,transparent 50%);box-shadow:0 3px 12px var(--shadow);position:sticky;top:0;z-index:30}.brand{width:280px;text-align:center;position:relative}.brand .hat{font-size:34px;vertical-align:middle;margin-right:6px}.brand strong{font-family:Georgia,serif;font-size:34px;letter-spacing:3px;text-shadow:0 2px 2px #0a1d27;color:#dce7ec}.brand small{display:block;font-size:9px;letter-spacing:3px;color:#c6d7df}.resources{display:flex;flex:1;gap:5px;min-width:0}.resources span{display:flex;flex-direction:column;justify-content:center;min-width:105px;height:56px;padding:6px 11px;border:1px solid #5f7f8e;border-radius:7px;background:rgba(28,59,75,.5)}.resources b{font-size:14px}.resources small{color:var(--muted);font-size:10px}.top-actions{display:flex;gap:7px;align-items:center}.top-actions>*{padding:10px;border:1px solid #66889a;border-radius:7px;background:#26495c}.mobile-menu-btn{display:none}.workspace{display:grid;grid-template-columns:250px minmax(460px,1fr) 250px 330px;gap:8px;padding:8px;min-height:calc(100vh - 130px)}.sidebar,.chat-panel,.main-content{border:1px solid #55798b;background:linear-gradient(180deg,rgba(53,91,110,.96),rgba(31,65,82,.96));box-shadow:0 4px 18px var(--shadow);border-radius:4px}.sidebar{overflow:auto}.player-card{display:flex;gap:12px;padding:14px;border-bottom:1px solid #587b8c;background:rgba(82,117,134,.26)}.avatar{width:58px;height:58px;border:1px solid #7d9bac;background:#173748;display:grid;place-items:center;font-size:30px}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.player-card div:last-child{display:flex;flex-direction:column;gap:4px}.player-card small{color:#c1d5de}.online-dot{display:inline-block;width:8px;height:8px;background:#53e877;border-radius:50%;margin-left:5px}.sidebar nav{padding:8px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;margin:2px 0;border:1px solid transparent;border-radius:5px;color:#edf4f7}.sidebar nav a:hover{background:#456f82;border-color:#66899b}.sidebar nav a span{width:22px;text-align:center;color:#d9e9f0}
.sidebar nav a>span:first-child{width:25px;min-width:25px;flex:0 0 25px;font-size:17px;line-height:1;text-align:center}.side-title{font-size:10px;letter-spacing:2px;color:#c3d5dd;padding:12px 12px 4px}.rank-box{margin:12px;padding:12px;border-top:1px solid #628495}.rank-box strong{display:block;margin:4px 0}.progress,.attention-bar{height:7px;background:#173646;border-radius:99px;overflow:hidden}.progress i,.attention-bar i{display:block;height:100%;background:linear-gradient(90deg,#50a9d4,#73c8ee)}.admin-link{display:block;margin:8px;padding:10px;border:1px solid #d1aa4d;color:#ffe8a1;border-radius:6px}.main-content{padding:14px 16px;min-width:0}.flash{padding:11px 14px;border-radius:7px;margin-bottom:10px}.flash.success{background:#1f6549;border:1px solid #55c78b}.flash.error{background:#743633;border:1px solid #d7645e}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;padding:14px 16px;border:1px solid #65899a;border-radius:8px;background:linear-gradient(180deg,rgba(68,105,123,.75),rgba(42,79,97,.7))}.page-head.compact{padding:10px 16px}.page-head h1{margin:0 0 6px;font-size:25px}.page-head p{margin:0;color:#d0dee4}.online-box{border:1px solid #5bc36e;padding:10px 15px;border-radius:7px;color:#75ff8a;min-width:190px}.online-box small{display:block;color:#d4e3e8;margin-top:3px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}.stat-grid article{padding:15px;border:1px solid #65899a;background:linear-gradient(#476f83,#345b6e);border-radius:7px;display:flex;flex-direction:column}.stat-grid small{font-size:10px;letter-spacing:1.4px;color:#c7d9e1}.stat-grid b{font-size:24px;margin:5px 0}.stat-grid span{font-size:11px;color:#c5d8e1}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}.panel{padding:15px;border:1px solid #65899a;background:rgba(47,82,100,.72);border-radius:7px;margin-bottom:12px;overflow:auto}.panel h2{margin-top:0}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.quick-grid a{padding:14px;border:1px solid #5f8293;background:#31586b;border-radius:6px;font-weight:700}.quick-grid small{display:block;color:#bcd0d9;margin-top:4px;font-weight:400}.notice{padding:9px 0;border-bottom:1px solid #58798a}.notice p{margin:4px 0}.notice small,.muted{color:#b6c8d1}.tabs{display:flex;gap:8px;margin:10px 0}.tabs button.active{background:linear-gradient(#648ca0,#466f83)}.attention{padding:14px;border:1px solid #5c8193;background:#294f63;border-radius:7px;margin-bottom:12px;display:grid;grid-template-columns:1fr auto;gap:8px}.attention b{color:var(--green)}.attention .attention-bar{grid-column:1/-1}.attention small{grid-column:1/-1;color:#bacdd6}.crime-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.crime-card{margin:0}.crime-card button{width:100%;height:82px;display:flex;justify-content:space-between;align-items:center;text-align:left;background:linear-gradient(90deg,#395f71,#2c5063);border-left:4px solid #56e776}.crime-card span{display:flex;flex-direction:column;gap:4px}.crime-card strong{font-size:16px}.crime-card small{color:#c7d9e1}.crime-card em{color:#66ff88;font-style:normal;font-weight:700}.chance{width:54px;height:54px;border-radius:50%;border:4px solid #65df6e;display:grid;place-items:center}.hint{margin-top:10px}.property-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:12px}.property-card{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid #638697;background:#345d70;border-radius:7px}.property-card h3{margin:0}.property-card b{font-size:20px;color:#76ff8b}.property-card span{color:#c4d7df}.two-forms{display:grid;grid-template-columns:1fr 1fr;gap:15px}.panel form label,.auth-card label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;color:#dce8ed}input,select{width:100%;background:#173c4e;color:#fff;border:1px solid #7597a7;border-radius:6px;padding:10px;outline:none}input:focus,select:focus{border-color:#8fd2f0;box-shadow:0 0 0 2px rgba(115,195,230,.2)}table{width:100%;border-collapse:collapse}th,td{padding:9px;border-bottom:1px solid #5c7f90;text-align:left}th{color:#dce8ed;font-size:12px}.inline-form{display:flex;gap:6px}.inline-form input{min-width:100px}.check{flex-direction:row!important;align-items:center}.check input{width:auto}.chat-panel{display:flex;flex-direction:column;min-width:0}.chat-tabs{display:flex;border-bottom:1px solid #5a7d8e}.chat-tabs button{flex:1;border:0;border-radius:0;background:#2a4e61}.chat-tabs button.active{background:#4a7184}.chat-tabs .chat-close{flex:0 0 42px}.chat-feed{flex:1;overflow:auto;padding:10px;min-height:200px}.chat-msg{display:grid;grid-template-columns:36px 1fr;gap:7px;margin-bottom:10px}.chat-msg .mini-avatar{width:34px;height:34px;border-radius:50%;background:#19394b;display:grid;place-items:center}.chat-msg strong{font-size:12px;color:#8fd0ef}.chat-msg small{font-size:9px;color:#9fb6c1;margin-left:6px}.bubble{display:inline-block;background:#3b5f72;padding:8px 10px;border-radius:10px;margin-top:4px;color:#f2f7f9}.bubble .original{display:block;color:#b6cbd4;font-size:10px;margin-top:4px}.chat-compose{display:flex;gap:6px;padding:9px;border-top:1px solid #5b7e90}.chat-compose input{flex:1}.footer{height:36px;margin:0 8px 8px;border:1px solid #5b7e90;background:#2b5063;display:flex;justify-content:space-between;align-items:center;padding:0 12px;font-size:11px}.bottom-nav{display:none}.menu-editor{display:grid;grid-template-columns:1fr 1fr;gap:18px}.menu-editor ul{padding:0;margin:0 0 10px;list-style:none}.menu-editor li{padding:10px;border:1px solid #67899a;background:#355c6f;margin:4px 0;border-radius:5px;cursor:grab}.menu-editor li.dragging{opacity:.35}.auth-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 10%,#648596,#2b4f61 48%,#173444)}.auth-card{width:min(92vw,390px);padding:25px;border:1px solid #7899a8;border-radius:10px;background:linear-gradient(180deg,#446c80,#2a5164);box-shadow:0 20px 55px rgba(0,0,0,.38)}.auth-card.wide{width:min(92vw,480px)}.auth-brand{text-align:center;margin-bottom:18px}.auth-brand span{font-size:48px}.auth-brand h1{font-family:Georgia,serif;letter-spacing:2px;margin:6px}.auth-brand p{color:#c9dbe3}.auth-card form button.primary{width:100%}.password-row{display:grid;grid-template-columns:1fr auto;gap:6px}.separator{height:28px;display:flex;align-items:center;justify-content:center;color:#bcd0d9}.separator:before,.separator:after{content:"";height:1px;background:#698b9c;flex:1}.separator span{padding:0 10px}.auth-foot{text-align:center}.action-panel{text-align:center;padding:50px}.big{font-size:18px;padding:14px 30px}.search-form{display:flex;gap:8px;margin-bottom:12px}.search-form input{max-width:420px}.crime-page-head{align-items:center}.action-cooldown{min-width:180px;padding:10px 14px;border:1px solid #7b98a6;border-radius:7px;background:#24495c;display:flex;flex-direction:column;gap:3px;align-items:flex-end}.action-cooldown small{color:#c4d7df;font-size:10px;letter-spacing:.7px;text-transform:uppercase}.action-cooldown strong{font-size:19px;color:#ffd36b}.action-cooldown.ready{border-color:#55c978;background:#245a48}.action-cooldown.ready strong{color:#78ff9b}.crime-card button:disabled{cursor:not-allowed;opacity:.58;filter:saturate(.55)}.crime-card button:disabled:hover{transform:none;box-shadow:none}.crime-card button:disabled .chance{border-color:#76909d;color:#b7c9d2}.crime-card button:disabled em{color:#9cb1ba}@media(max-width:900px){.crime-page-head{align-items:stretch}.action-cooldown{min-width:0;align-items:flex-start;width:100%}}@media(max-width:1250px){.workspace{grid-template-columns:220px minmax(420px,1fr) 220px 290px}.brand{width:220px}.resources span{min-width:88px}.resources span:nth-child(3),.resources span:nth-child(4){display:none}}@media(max-width:900px){body{padding-bottom:68px}.topbar{height:120px;padding:8px 10px;display:grid;grid-template-columns:48px 1fr 48px;grid-template-rows:64px 44px;gap:0}.brand{width:auto;grid-column:2;grid-row:1}.brand strong{font-size:27px}.brand small{letter-spacing:1.5px}.mobile-menu-btn{display:block;width:42px;height:42px;padding:0;font-size:20px;z-index:60}.left-toggle{grid-column:1;grid-row:1}.right-toggle{grid-column:3;grid-row:1}.resources{grid-column:1/-1;grid-row:2;overflow:auto;gap:4px}.resources span{min-width:85px;height:40px;padding:3px 7px}.resources b{font-size:11px}.resources small{font-size:8px}.top-actions{display:none}.workspace{display:block;padding:6px;min-height:auto}.main-content{min-height:calc(100vh - 200px);padding:10px}.left-sidebar,.utility-sidebar{position:fixed;top:0;bottom:0;width:min(82vw,330px);z-index:70;border-radius:0;transition:transform .22s ease;overflow:auto;padding-top:12px}.left-sidebar{left:0;transform:translateX(-105%)}.utility-sidebar{right:0;transform:translateX(105%)}body.left-open .left-sidebar{transform:translateX(0)}body.right-open .utility-sidebar{transform:translateX(0)}body.left-open:after,body.right-open:after{content:"";position:fixed;inset:0;background:rgba(5,20,28,.55);z-index:65}.left-sidebar,.utility-sidebar{z-index:75}.chat-panel{display:none}.footer{display:none}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:64px;z-index:50;display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(#3d6174,#27495b);border-top:1px solid #7594a3}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;border-radius:0;font-size:20px}.bottom-nav small{font-size:9px;text-transform:uppercase}.bottom-nav .right-toggle{width:auto;height:auto}.crime-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.two-forms,.menu-editor{grid-template-columns:1fr}.page-head{align-items:flex-start}.online-box{display:none}.panel{overflow:auto}.property-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.brand .hat{font-size:26px}.brand strong{font-size:22px}.page-head h1{font-size:21px}.stat-grid{grid-template-columns:1fr 1fr}.crime-card strong{font-size:14px}.crime-card small{font-size:11px}.property-grid{grid-template-columns:1fr}.tabs{overflow:auto}.tabs button{white-space:nowrap}th,td{white-space:nowrap}}
.notice.unread{border-left:4px solid var(--blue);padding-left:10px;background:rgba(54,106,133,.35)}
.profile-actions{display:flex;gap:10px;flex-wrap:wrap}.role-badge{display:inline-block;padding:3px 7px;border:1px solid var(--line);border-radius:99px;font-size:10px;text-transform:uppercase}.panel hr{border:0;border-top:1px solid #5c7f90;margin:16px 0}

/* Docked chat can be closed without overlaying the utility menu. */
.chat-open-control{display:none;width:calc(100% - 16px);margin:8px;align-items:center;justify-content:center;gap:8px}
body.chat-closed .workspace{grid-template-columns:250px minmax(460px,1fr) 250px}
body.chat-closed .chat-panel{display:none}
body.chat-closed .chat-open-control{display:flex}
.green-text{color:var(--green)}
.business-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.business-card{padding:14px;border:1px solid #638697;background:linear-gradient(180deg,#3b6477,#2c5266);border-radius:8px;display:flex;flex-direction:column;gap:12px}
.business-card h3{margin:3px 0 0}.business-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.business-card-head small{color:#bcd0d9;letter-spacing:1.2px}.business-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.business-metrics span,.business-balance span{padding:9px;border:1px solid #5b7e90;background:#294d60;border-radius:6px}.business-metrics small{display:block;color:#bdd0d9;font-size:9px;text-transform:uppercase;letter-spacing:1px}.business-metrics b{display:block;margin-top:4px}.business-balance{display:grid;grid-template-columns:1fr 1fr;gap:7px}.business-balance strong{display:block;color:#73ed89;margin-top:3px}.business-actions{display:flex;gap:7px;flex-wrap:wrap}.business-actions form{margin:0}
@media(max-width:1250px) and (min-width:901px){body.chat-closed .workspace{grid-template-columns:220px minmax(420px,1fr) 220px}}
@media(max-width:900px){.chat-open-control{display:none!important}.business-grid{grid-template-columns:1fr}.business-balance{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.business-balance,.business-metrics{grid-template-columns:1fr}}

/* PvP / combat reporting */
.combat-empty{text-align:center;padding:36px 18px}.combat-empty .button{display:inline-flex;margin:4px}.combat-target-card{overflow:hidden}.combat-target-head{display:grid;grid-template-columns:1fr minmax(180px,280px);gap:16px;align-items:center;padding-bottom:14px;border-bottom:1px solid #5c7f90}.combat-target-head h2{margin:3px 0}.combat-target-head p{margin:0;color:var(--muted)}.combat-health strong{font-size:25px;display:block;margin:5px 0}.combat-meter{height:10px;background:#173646;border-radius:99px;overflow:hidden}.combat-meter i{display:block;height:100%;background:linear-gradient(90deg,#47c86b,#7df28f)}.combat-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.combat-status-grid>div{padding:10px;border:1px solid #5c7f90;background:#294d60;border-radius:6px}.combat-status-grid small,.combat-stat-cards small,.finding-row small,.combat-report-row small{display:block;color:#bcd0d9;font-size:10px;letter-spacing:.35px}.combat-status-grid b{display:block;margin-top:4px}.combat-attack-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.7fr) auto;gap:10px;align-items:end}.combat-attack-form label{margin:0}.attack-preview{padding:9px 12px;border:1px solid #5c7f90;background:#294d60;border-radius:6px}.attack-preview span,.attack-preview small{display:block;color:#bfd1da;font-size:10px}.attack-preview strong{display:block;font-size:23px;color:#8dd4f5;margin:2px 0}.finding-list{display:grid;gap:8px}.finding-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(130px,.9fr) minmax(120px,.8fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #5c7f90;background:#2d5266;border-radius:7px}.finding-row.valid{border-left:4px solid var(--green)}.finding-row.invalid{border-left:4px solid var(--red);opacity:.85}.finding-row strong,.finding-row b{display:block}.datetime-countdown.expired{color:#ff8c86}.combat-report-list{display:grid;gap:7px}.combat-report-row{display:grid;grid-template-columns:38px minmax(170px,1.4fr) repeat(3,minmax(90px,.65fr)) auto;gap:10px;align-items:center;padding:11px;border:1px solid #5c7f90;background:#2d5266;border-radius:7px;transition:.15s}.combat-report-row:hover{transform:translateY(-1px);background:#365f73}.combat-report-row.incoming{border-left:4px solid #ef6e67}.combat-report-row.outgoing{border-left:4px solid #65c9f0}.combat-direction{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#173b4d;font-size:18px}.killed-badge{display:inline-block;padding:5px 8px;border:1px solid #df625c;border-radius:999px;color:#ffd0cd;background:#6d2928;font-size:10px;letter-spacing:1px;white-space:nowrap}.combat-result-title{display:flex;gap:12px;align-items:center;border-bottom:1px solid #5c7f90;padding-bottom:13px}.combat-result-title>span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#173b4d;font-size:25px}.combat-result-title h2{margin:2px 0}.combat-result-title .killed-badge{margin-left:auto}.combat-stat-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0}.combat-stat-cards>div{padding:13px;border:1px solid #5c7f90;background:#294d60;border-radius:7px}.combat-stat-cards strong{display:block;font-size:21px;margin-top:5px}.death-consequence{border:1px solid #996560;background:rgba(93,40,39,.35);padding:14px;border-radius:7px}.death-consequence h3{margin-top:0}.combat-kill{box-shadow:0 0 0 1px rgba(230,92,84,.25),0 4px 18px var(--shadow)}
@media(max-width:1150px) and (min-width:901px){.combat-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-attack-form{grid-template-columns:1fr 1fr}.combat-attack-form button{grid-column:1/-1}.combat-report-row{grid-template-columns:38px minmax(160px,1.4fr) repeat(2,minmax(80px,.6fr)) auto}.combat-report-row span:nth-of-type(5){display:none}.combat-stat-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.combat-target-head{grid-template-columns:1fr}.combat-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-attack-form{grid-template-columns:1fr}.finding-row{grid-template-columns:1fr 1fr}.combat-report-row{grid-template-columns:34px minmax(150px,1fr) minmax(80px,.6fr) auto}.combat-report-row span:nth-of-type(4),.combat-report-row span:nth-of-type(5){display:none}.combat-stat-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.combat-status-grid,.combat-stat-cards,.finding-row{grid-template-columns:1fr}.combat-report-row{grid-template-columns:30px 1fr auto}.combat-report-row span:nth-of-type(3),.combat-report-row span:nth-of-type(4),.combat-report-row span:nth-of-type(5){display:none}.combat-result-title{align-items:flex-start;flex-wrap:wrap}.combat-result-title .killed-badge{margin-left:58px}}

/* Transactional businesses */
.business-info-strip{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-left:4px solid var(--green)}.business-info-strip span{color:var(--muted)}
.business-owner-controls{align-items:center}.business-owner-controls .inline-form{flex:1;min-width:220px}.business-setting-form{margin:0}.business-setting-form label{margin:0!important}.business-setting-form .inline-form{margin-top:5px}.negative-text{color:#ff9a94}.casino-board h2{margin-bottom:5px}.casino-owner-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.casino-owner-line>div{padding:11px;border:1px solid #5c7f90;background:#294d60;border-radius:7px}.casino-owner-line small{display:block;color:#bdd0d9;font-size:10px;text-transform:uppercase;letter-spacing:.7px}.casino-owner-line strong{display:block;margin-top:4px}.roulette-wheel{height:110px;border:1px solid #6b8d9c;border-radius:9px;background:linear-gradient(90deg,#7c2e2d 0 47%,#214334 47% 53%,#182d38 53% 100%);display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;text-align:center;margin:12px 0;overflow:hidden;box-shadow:inset 0 0 30px rgba(0,0,0,.28)}.roulette-wheel span{grid-column:2;background:#28583f;border:2px solid #82b692;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;justify-self:center;font-size:20px}.roulette-wheel b:first-of-type{grid-column:1;grid-row:1;font-size:23px}.roulette-wheel b:last-of-type{grid-column:3;grid-row:1;font-size:23px}.casino-bet-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.casino-bet{padding:14px;border:1px solid #638697;background:#294d60;border-radius:8px}.casino-bet label{margin-bottom:10px!important}.red-bet{border-left:4px solid #d75a54}.black-bet{border-left:4px solid #172c36}.recovery-service{max-width:820px}.service-buy-form{margin-top:15px}.service-buy-form button{min-width:260px}.business-card .button{display:inline-flex;justify-content:center}
@media(max-width:900px){.casino-owner-line{grid-template-columns:repeat(2,minmax(0,1fr))}.casino-bet-grid{grid-template-columns:1fr}}
@media(max-width:520px){.casino-owner-line{grid-template-columns:1fr}.roulette-wheel{grid-template-columns:1fr 54px 1fr}.roulette-wheel span{width:44px;height:44px}.business-owner-controls .inline-form{min-width:100%;flex-direction:column}}

/* Red Light District window-rental economy + business result visibility */
.business-profit-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.business-profit-strip span{padding:9px;border:1px solid #5b7e90;background:#23485b;border-radius:6px}.business-profit-strip small{display:block;color:#bdd0d9;font-size:9px;text-transform:uppercase;letter-spacing:.8px}.business-profit-strip strong{display:block;margin-top:4px}
.rld-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}.rld-stat-card{margin:0!important}.rld-stat-card small{display:block;color:#bed1db;text-transform:uppercase;letter-spacing:.8px;font-size:10px}.rld-stat-card strong{display:block;font-size:26px;margin:5px 0}.rld-stat-card span{color:var(--muted);font-size:12px}.rld-main-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(430px,1.4fr);gap:10px}.section-title-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.section-title-row h2{margin:0 0 5px}.section-title-row p{margin:0}.rld-window-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.rld-window-summary span{padding:10px;border:1px solid #5b7e90;background:#294d60;border-radius:6px}.rld-window-summary small{display:block;color:#bdd0d9;font-size:9px;text-transform:uppercase;letter-spacing:.75px}.rld-window-summary strong{display:block;margin-top:4px}.rld-occupancy{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:12px 0}.rld-occupancy>div{height:9px;background:#173646;border:1px solid #4c7183;border-radius:99px;overflow:hidden}.rld-occupancy i{display:block;height:100%;background:linear-gradient(90deg,#58a9d0,#70df8b);transition:width .25s}.rld-occupancy small{color:#c0d3dc}.rld-rent-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,.7fr) auto;gap:10px;align-items:end;margin-top:14px}.rld-rent-form label{margin:0}.rld-rent-preview{padding:9px 12px;border:1px solid #5b7e90;background:#23485b;border-radius:6px}.rld-rent-preview small,.rld-rent-preview span{display:block;color:#bdd0d9;font-size:10px}.rld-rent-preview strong{display:block;color:var(--green);font-size:20px;margin:2px 0}.rld-rental-list{display:grid;gap:8px}.rld-rental-row{display:grid;grid-template-columns:minmax(100px,.6fr) minmax(120px,.7fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) auto;gap:9px;align-items:center;padding:11px;border:1px solid #5c7f90;background:#2d5266;border-radius:7px}.rld-rental-row.active{border-left:4px solid var(--green)}.rld-rental-row.finished{border-left:4px solid #718693;opacity:.82}.rld-rental-row small{display:block;color:#bdd0d9;font-size:9px;text-transform:uppercase;letter-spacing:.55px}.rld-rental-row strong{display:block;margin:3px 0}.rld-rental-row span{display:block;color:var(--muted);font-size:10px}.rld-release-form{margin:0}.rld-release-form button{white-space:nowrap}
@media(max-width:1200px) and (min-width:901px){.rld-main-grid{grid-template-columns:1fr}.rld-rental-row{grid-template-columns:repeat(3,minmax(0,1fr))}.rld-release-form{grid-column:1/-1}.business-profit-strip{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:900px){.rld-overview-grid,.rld-main-grid{grid-template-columns:1fr}.rld-window-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.rld-rent-form{grid-template-columns:1fr}.rld-rental-row{grid-template-columns:repeat(2,minmax(0,1fr))}.rld-release-form{grid-column:1/-1}.section-title-row{flex-direction:column}.business-profit-strip{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:520px){.rld-window-summary,.rld-rental-row,.business-profit-strip{grid-template-columns:1fr}}

/* Dashboard action cooldowns */
.quick-grid .quick-action-card{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:108px;text-align:center;gap:10px}
.quick-grid .quick-action-card .quick-action-title{font-size:18px;font-weight:700;line-height:1.2}
.quick-grid .quick-action-card .quick-action-timer{display:flex;align-items:center;justify-content:center;min-width:116px;min-height:32px;margin:0;padding:6px 12px;border:1px solid #7b98a6;border-radius:999px;background:#24495c;color:#ffd36b;font-size:15px;font-weight:800;letter-spacing:.25px}
.quick-grid .quick-action-card .quick-action-timer.ready{border-color:#55c978;background:#245a48;color:#78ff9b}
.quick-grid .quick-action-card.is-ready{border-color:#6fae88}
@media(max-width:520px){.quick-grid .quick-action-card{min-height:112px;padding:12px 8px}.quick-grid .quick-action-card .quick-action-title{font-size:17px}.quick-grid .quick-action-card .quick-action-timer{min-width:104px;font-size:14px}}

/* Vehicle garage */
.player-made-tagline{display:flex;flex-direction:column;gap:4px;margin:8px 0 12px!important}.player-made-tagline strong{color:#f2f7fa;font-size:16px}.player-made-tagline small{color:#bcd1da;font-size:12px;letter-spacing:.3px}
.garage-summary-panel{overflow:visible}.garage-capacity-badge{min-width:180px;padding:10px 14px;border:1px solid #6e91a2;border-radius:7px;background:#254b5f;text-align:center}.garage-capacity-badge small{display:block;color:#bdd0d9;font-size:9px;letter-spacing:1px}.garage-capacity-badge strong{display:block;font-size:22px;margin:3px 0}.garage-capacity-badge span{color:#cfe0e7;font-size:11px}.garage-capacity-bar{height:9px;background:#173646;border:1px solid #54798b;border-radius:99px;overflow:hidden;margin:12px 0}.garage-capacity-bar i{display:block;height:100%;background:linear-gradient(90deg,#55b4df,#63db7e)}.garage-upgrade-form{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px;border:1px solid #5e8192;background:#2a5064;border-radius:7px}.garage-upgrade-form div{display:flex;flex-direction:column;gap:3px}.garage-upgrade-form small{color:#bed1d9}.garage-maxed{padding:10px 12px;border:1px solid #5dbb75;background:#265943;border-radius:7px;color:#8cff9f}.warning-text{color:#ffe08b}.garage-total-count{padding:8px 12px;border:1px solid #668899;border-radius:999px;background:#24495c;color:#d7e7ed;white-space:nowrap}.garage-vehicle-list{display:grid;gap:9px}.garage-vehicle-card{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(130px,.85fr) minmax(140px,.8fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #5f8192;background:#2b5266;border-radius:8px}.garage-vehicle-card.is-here{border-left:4px solid #64d77d}.garage-vehicle-card.is-abroad{border-left:4px solid #6a8998;opacity:.9}.vehicle-main{display:flex;gap:10px;align-items:center}.vehicle-icon{width:44px;height:44px;border:1px solid #698b9c;background:#1c4052;border-radius:7px;display:grid;place-items:center;font-size:24px}.vehicle-main div:last-child{display:flex;flex-direction:column;gap:4px}.vehicle-main small,.vehicle-value small,.vehicle-condition small{color:#bdd0d9;font-size:9px;letter-spacing:.65px}.vehicle-condition strong,.vehicle-value strong{display:block;font-size:18px;margin:3px 0}.vehicle-condition>div{height:7px;background:#173646;border-radius:99px;overflow:hidden}.vehicle-condition i{display:block;height:100%;background:linear-gradient(90deg,#e4ad4a,#63dc7f)}.vehicle-value span{display:block;color:#afc5cf;font-size:10px}.vehicle-location{padding:7px 10px;border-radius:999px;font-size:11px;white-space:nowrap}.vehicle-location.here{border:1px solid #5fc178;background:#245843;color:#83ff9c}.vehicle-location.abroad{border:1px solid #7894a1;background:#294c5e;color:#cadbe2}.vehicle-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.vehicle-actions form{margin:0}.vehicle-actions button,.vehicle-actions .button{padding:8px 10px;font-size:12px}.vehicle-theft-grid .crime-card button{min-height:82px}
@media(max-width:1200px) and (min-width:901px){.garage-vehicle-card{grid-template-columns:minmax(180px,1.2fr) minmax(120px,.8fr) minmax(120px,.75fr)}.vehicle-location,.vehicle-actions{grid-column:auto}.vehicle-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:900px){.garage-upgrade-form{align-items:stretch;flex-direction:column}.garage-upgrade-form button{width:100%}.garage-vehicle-card{grid-template-columns:1fr 1fr}.vehicle-main{grid-column:1/-1}.vehicle-actions{grid-column:1/-1;justify-content:flex-start}.vehicle-location{justify-self:start}.garage-capacity-badge{min-width:150px}}
@media(max-width:520px){.garage-vehicle-card{grid-template-columns:1fr}.vehicle-main,.vehicle-actions{grid-column:auto}.vehicle-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-actions form,.vehicle-actions button,.vehicle-actions .button{width:100%}.garage-capacity-badge{width:100%}.vehicle-theft-grid{grid-template-columns:1fr}}
.rank-progress-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.rank-progress-head h2{margin:0}.rank-progress-head p{margin:4px 0 0;color:var(--muted)}.rank-progress-head>strong{font-size:30px;color:#9bdcf7}.progress.large{height:14px;margin:14px 0 20px}.requirement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.requirement-card{display:grid;grid-template-columns:32px 1fr 28px;gap:10px;align-items:center;padding:11px 12px;border:1px solid #5c7f90;background:#294d60;border-radius:7px}.requirement-card>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#173b4d}.requirement-card small{display:block;color:var(--muted);margin-top:3px}.requirement-card.complete{border-left:4px solid var(--green)}.requirement-card.complete>b{color:var(--green)}.rank-ladder{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.rank-step{padding:10px;border:1px solid #5c7f90;background:#294d60;border-radius:6px}.rank-step b,.rank-step small{display:block}.rank-step small{color:var(--muted);margin-top:3px}.rank-step.done{opacity:.72;border-left:4px solid var(--green)}.rank-step.current{border-color:#8dd4f5;box-shadow:0 0 0 1px rgba(141,212,245,.25)}@media(max-width:780px){.requirement-grid{grid-template-columns:1fr}.rank-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-progress-head{align-items:flex-start}}

/* RLD boxed layout, closer to classic management pages */
.rld-boxed-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rld-boxed-panel{padding:0!important;overflow:hidden}.rld-boxed-title{padding:10px 14px;background:linear-gradient(180deg,#4b6b7d,#3f5f71);border-bottom:1px solid #708e9e;color:#fff;font-weight:800;font-size:24px;line-height:1.1}.rld-boxed-body{padding:14px}.rld-info-cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}.rld-cell{border:1px solid #66889a;background:#31576a;border-radius:4px;padding:12px}.rld-cell span,.rld-row span,.rld-rental-grid span{display:block;color:#d0dce2;text-transform:uppercase;letter-spacing:.75px;font-size:10px}.rld-cell strong,.rld-row strong,.rld-rental-grid strong{display:block;margin-top:6px;font-size:18px}.rld-rows{border:1px solid #66889a;border-radius:4px;overflow:hidden;margin-bottom:12px}.rld-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 12px;background:#345a6d;border-bottom:1px solid #66889a;align-items:center}.rld-row:nth-child(odd){background:#315467}.rld-row:last-child{border-bottom:0}.rld-boxed-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) auto;gap:10px;align-items:end}.rld-boxed-form label{margin:0}.rld-boxed-form label span{display:block;color:#d0dce2;text-transform:uppercase;letter-spacing:.75px;font-size:10px;margin-bottom:6px}.rld-cooldown-box{border:1px solid #66889a;background:#31576a;border-radius:4px;padding:12px}.rld-cooldown-box span{display:block;color:#d0dce2;text-transform:uppercase;letter-spacing:.75px;font-size:10px}.rld-cooldown-box strong{display:block;margin-top:8px;font-size:34px}.rld-inline-note{padding:8px 10px;background:#2a4d5f;border-left:4px solid #77d58d;color:#d5e1e6}.rld-recruit-action{display:grid;gap:12px}.rld-warning-row{padding:10px 12px;background:#39424a;border:1px solid #757b80;color:#ff8686;border-radius:4px}.rld-rental-boxes{display:grid;gap:10px}.rld-rental-box{border:1px solid #66889a;background:#31576a;border-radius:4px;padding:10px}.rld-rental-box.active{border-left:4px solid #69f18e}.rld-rental-box.finished{border-left:4px solid #9db0ba;opacity:.86}.rld-rental-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.rld-rental-actions{margin-top:10px;display:flex;justify-content:flex-end}.rld-collect-form{margin-top:12px;display:flex;justify-content:flex-end}.rld-empty-state{padding:12px;border:1px solid #66889a;background:#31576a;border-radius:4px}.rld-empty-state strong{display:block;margin-bottom:8px}.rld-rent-preview{padding:9px 12px;border:1px solid #66889a;background:#31576a;border-radius:4px}.rld-rent-preview small{display:block;color:#d0dce2;text-transform:uppercase;letter-spacing:.75px;font-size:10px}.rld-rent-preview strong{display:block;margin-top:4px;font-size:22px;color:var(--green)}
@media(max-width:1100px){.rld-boxed-grid{grid-template-columns:1fr}.rld-rental-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rld-info-cells{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.rld-boxed-form,.rld-rental-grid,.rld-info-cells{grid-template-columns:1fr}.rld-boxed-title{font-size:20px}.rld-cooldown-box strong{font-size:26px}}

/* RLD compact classic management layout */
.rld-boxed-grid{gap:6px}
.rld-boxed-panel{border-radius:2px!important}
.rld-boxed-title{padding:6px 9px;font-size:15px;line-height:1.1;text-align:center;letter-spacing:.15px;background:linear-gradient(180deg,#486a7c,#38586a);border-bottom:1px solid #7a98a7}
.rld-boxed-body{padding:7px}
.rld-info-cells{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:5px}
.rld-cell{padding:6px 8px;border-radius:2px;min-height:48px}
.rld-cell span,.rld-row span,.rld-rental-grid span{font-size:9px;letter-spacing:.35px}
.rld-cell strong,.rld-row strong,.rld-rental-grid strong{font-size:14px;margin-top:2px}
.rld-inline-note{padding:5px 7px;font-size:11px;border-left-width:3px}
.rld-rows{margin-bottom:6px;border-radius:2px}
.rld-row{padding:6px 8px;min-height:31px}
.rld-row strong{font-size:14px}
.rld-boxed-form{grid-template-columns:minmax(130px,1fr) 110px auto;gap:5px}
.rld-boxed-form label span{font-size:9px;margin-bottom:3px}
.rld-boxed-form input{padding:6px 8px;height:31px;border-radius:2px}
.rld-boxed-form button,.rld-rental-actions button,.rld-collect-form button,.rld-recruit-action button{padding:6px 10px;border-radius:3px;font-size:12px}
.rld-rent-preview{padding:5px 7px;border-radius:2px;min-height:31px}
.rld-rent-preview small{font-size:8px}.rld-rent-preview strong{font-size:14px;margin-top:1px}
.rld-cooldown-box{padding:6px 8px;border-radius:2px}.rld-cooldown-box span{font-size:9px}.rld-cooldown-box strong{font-size:18px;margin-top:2px}
.rld-recruit-action{gap:5px}
.rld-warning-row{padding:6px 8px;border-radius:2px;font-size:11px}
.rld-rental-boxes{gap:4px}
.rld-rental-box{padding:6px 7px;border-radius:2px}
.rld-rental-grid{grid-template-columns:90px 70px 90px minmax(105px,1fr) minmax(90px,1fr);gap:6px;align-items:center}
.rld-rental-grid>div{min-width:0}
.rld-rental-grid strong{white-space:normal;line-height:1.15}
.rld-rental-actions{margin-top:4px}.rld-collect-form{margin-top:5px}
.rld-empty-state{padding:7px;border-radius:2px;font-size:11px}.rld-empty-state p{margin:4px 0 0}
.business-info-strip{padding:7px 9px!important;margin-top:6px!important;font-size:11px}

/* Make the page itself denser like classic mafia control panels */
.main-content:has(.rld-boxed-grid) .page-head{padding:8px 10px;margin-bottom:6px;border-radius:3px}
.main-content:has(.rld-boxed-grid) .page-head h1{font-size:19px;margin-bottom:2px}
.main-content:has(.rld-boxed-grid) .page-head p{font-size:11px}
.main-content:has(.rld-boxed-grid) .panel{margin-bottom:6px}

@media(max-width:1100px){
 .rld-boxed-grid{grid-template-columns:1fr 1fr}
 .rld-rental-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .rld-info-cells{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 .rld-boxed-grid{grid-template-columns:1fr}
 .rld-info-cells{grid-template-columns:repeat(3,minmax(0,1fr))}
 .rld-boxed-title{font-size:14px}
 .rld-boxed-body{padding:6px}
 .rld-rental-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rld-boxed-form{grid-template-columns:1fr 100px auto}
}
@media(max-width:520px){
 .rld-info-cells{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rld-boxed-form{grid-template-columns:1fr}
 .rld-rental-grid{grid-template-columns:1fr 1fr}
 .rld-cell{min-height:44px}
}

/* Classic compact profile + dashboard pass */
.classic-profile-panel,.classic-dashboard-box{border:1px solid #66889a;background:#315568;border-radius:2px;overflow:hidden;margin-bottom:6px}.classic-box-title{padding:6px 9px;background:linear-gradient(180deg,#486a7c,#38586a);border-bottom:1px solid #7a98a7;font-weight:800;font-size:15px}.classic-box-title em{font-weight:400;color:#d4e2e8}.classic-profile-head{min-height:90px;display:grid;place-items:center;background:#3d6072;border-bottom:1px solid #66889a}.classic-profile-avatar{width:72px;height:72px;display:grid;place-items:center;border:1px solid #7899a8;background:#284b5d;font-size:38px}.classic-info-table{border-top:0}.classic-info-table>div{display:grid;grid-template-columns:34% 66%;min-height:30px;border-bottom:1px solid #66889a}.classic-info-table>div:last-child{border-bottom:0}.classic-info-table strong,.classic-info-table span{padding:5px 8px}.classic-info-table strong{background:#3a5d70;text-align:right}.classic-info-table span{background:#315568}.classic-profile-actions{display:flex;gap:6px;align-items:center;padding:7px;border-top:1px solid #66889a;background:#294d5f}.classic-profile-actions form{margin:0}.classic-profile-actions .button,.classic-profile-actions button{padding:6px 10px;border-radius:3px;font-size:12px}.classic-action-status{font-size:11px;color:#cbdbe2}.classic-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.classic-dashboard-wide{grid-column:1/-1}.classic-waiting-list,.classic-action-list,.classic-notification-list{display:grid}.classic-waiting-list a,.classic-action-list a{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:6px 8px;border-bottom:1px solid #66889a;background:#315568}.classic-waiting-list a:nth-child(odd),.classic-action-list a:nth-child(odd){background:#345a6d}.classic-waiting-list a:last-child,.classic-action-list a:last-child{border-bottom:0}.classic-waiting-list strong{color:#8fd4f1}.classic-action-list b{font-size:18px}.classic-rp-meter{display:grid;grid-template-columns:180px 1fr 60px;gap:10px;align-items:center;padding:8px}.classic-rp-meter .progress{height:10px}.classic-rp-meter strong{text-align:right}.classic-notification-list>div{display:grid;grid-template-columns:minmax(160px,.7fr) 1fr 130px;gap:10px;padding:6px 8px;border-bottom:1px solid #66889a}.classic-notification-list>div:last-child{border-bottom:0}.classic-notification-list small{color:#b8cbd4;text-align:right}.classic-empty-row{padding:8px;color:#b8cbd4}

/* Keep RLD rental rows fully inside their panel */
.rld-rental-box{overflow:hidden}.rld-rental-grid{grid-template-columns:62px 48px 76px 94px minmax(92px,1fr) 64px!important;gap:4px!important;width:100%;min-width:0}.rld-rental-grid>div{min-width:0;overflow:hidden}.rld-rental-grid span{white-space:normal;overflow-wrap:anywhere}.rld-rental-grid strong{font-size:13px!important;line-height:1.15;overflow-wrap:anywhere}.rld-rental-end strong{white-space:nowrap;font-size:12px!important}.rld-rental-action-cell{display:flex;align-items:end;justify-content:flex-end}.rld-rental-action-cell form{margin:0;width:100%}.rld-rental-action-cell button{width:100%;padding:5px 6px!important;font-size:11px!important;border-radius:2px}.rld-collect-form button{padding:5px 9px!important;font-size:11px!important}.rld-boxed-body{min-width:0}.rld-boxed-panel{min-width:0}

@media(max-width:1200px){.rld-rental-grid{grid-template-columns:55px 45px 70px 86px minmax(82px,1fr) 58px!important}.rld-rental-grid strong{font-size:12px!important}}
@media(max-width:900px){.classic-dashboard-grid{grid-template-columns:1fr}.classic-dashboard-wide{grid-column:auto}.classic-info-table>div{grid-template-columns:42% 58%}.classic-rp-meter{grid-template-columns:1fr}.classic-rp-meter strong{text-align:left}.classic-notification-list>div{grid-template-columns:1fr}.classic-notification-list small{text-align:left}.rld-rental-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.rld-rental-action-cell{align-items:center}.rld-rental-action-cell button{width:auto}}
@media(max-width:520px){.classic-info-table>div{grid-template-columns:1fr}.classic-info-table strong{text-align:left;border-bottom:1px solid #5f8192}.classic-profile-head{min-height:76px}.classic-profile-avatar{width:60px;height:60px}.rld-rental-grid{grid-template-columns:1fr 1fr!important}}

/* Recycling / metal supply chain */
.recycling-vehicle-card{grid-template-columns:minmax(170px,1.2fr) minmax(95px,.55fr) minmax(120px,.7fr) minmax(105px,.6fr) auto minmax(260px,1.2fr)}.metal-value strong{color:#d9e2e7}.recycling-actions{min-width:0}.recycling-actions .small-action-note{max-width:230px;font-size:10px;line-height:1.3}.compact-business-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metal-market-panel{padding:0!important;overflow:hidden}.classic-box-title.sub{font-size:13px;margin-top:0;border-top:1px solid #66889a}.compact-pad{padding:10px 12px;margin:0}.compact-table-wrap{overflow-x:auto}.compact-table th,.compact-table td{padding:7px 9px;font-size:12px}.compact-inline{align-items:center}.compact-inline input{width:110px;min-width:90px}.compact-info-table{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #638596}.compact-info-table>div{padding:9px 11px;border-right:1px solid #638596;background:#31576a}.compact-info-table>div:last-child{border-right:0}.compact-info-table span{display:block;color:#c8d8df;font-size:9px;text-transform:uppercase;letter-spacing:.6px}.compact-info-table strong{display:block;margin-top:3px;font-size:15px}
@media(max-width:1250px) and (min-width:901px){.recycling-vehicle-card{grid-template-columns:repeat(3,minmax(0,1fr))}.recycling-actions{grid-column:1/-1}.compact-info-table{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.recycling-vehicle-card{grid-template-columns:1fr 1fr}.recycling-vehicle-card .vehicle-main,.recycling-vehicle-card .recycling-actions{grid-column:1/-1}.compact-info-table{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.recycling-vehicle-card,.compact-business-metrics,.compact-info-table{grid-template-columns:1fr}.recycling-vehicle-card .vehicle-main,.recycling-vehicle-card .recycling-actions{grid-column:auto}.recycling-actions{display:grid;grid-template-columns:1fr}.compact-inline{display:grid;grid-template-columns:1fr}.compact-inline input{width:100%}}

/* Permanent-worker Red Light District */
.rld-classic-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.rld-classic-box{padding:0!important;border-radius:2px!important;min-width:0;overflow:hidden}.rld-classic-box>h2,.rld-classic-box>.section-title-row{margin:0!important;padding:6px 9px;background:linear-gradient(180deg,#486a7c,#38586a);border-bottom:1px solid #7897a6;font-size:15px}.rld-classic-box>.section-title-row{align-items:center}.rld-classic-box>.section-title-row h2{margin:0;font-size:15px}.rld-classic-box>.section-title-row form{margin:0}.rld-classic-box>.section-title-row button{padding:4px 8px;font-size:11px;border-radius:2px}.rld-classic-table{padding:6px}.rld-classic-table>div{display:grid;grid-template-columns:58% 42%;border:1px solid #5f8192;border-bottom:0;background:#31576a;min-height:29px}.rld-classic-table>div:nth-child(even){background:#345b6e}.rld-classic-table>div:last-child{border-bottom:1px solid #5f8192}.rld-classic-table span,.rld-classic-table strong{padding:5px 7px;font-size:11px}.rld-classic-table span{color:#d3e0e5;text-transform:uppercase;letter-spacing:.3px}.rld-classic-table strong{text-align:right}.rld-place-form{display:grid;grid-template-columns:1fr auto;gap:5px;align-items:end;padding:0 6px 6px}.rld-place-form label{margin:0!important;font-size:10px}.rld-place-form input{height:30px;padding:5px 7px;border-radius:2px}.rld-place-form button{height:30px;padding:4px 9px;border-radius:2px;font-size:11px}.rld-classic-box>.muted,.rld-classic-box>.warning-text{display:block;padding:0 7px 7px;font-size:10px}.rld-classic-box>form:not(.rld-place-form){padding:0 6px 6px;margin:0}.rld-classic-box>form:not(.rld-place-form) button{padding:5px 9px;font-size:11px;border-radius:2px}.rld-small-cooldown{margin:0 6px 6px;padding:5px 7px;border:1px solid #5f8192;background:#2d5164;display:flex;justify-content:space-between;align-items:center}.rld-small-cooldown span{font-size:9px;text-transform:uppercase}.rld-small-cooldown strong{font-size:14px}.rld-warning-row{margin:6px;padding:6px 8px;border:1px solid #747f85;background:#3d474e;color:#ff9690;font-size:10px}.rld-assignment-list{padding:6px;display:grid;gap:3px}.rld-assignment-row{display:grid;grid-template-columns:62px 64px 96px minmax(90px,1fr);gap:4px;padding:5px 6px;border:1px solid #5f8192;border-left:3px solid #67e989;background:#31576a;min-width:0}.rld-assignment-row>span{min-width:0}.rld-assignment-row small{display:block;font-size:8px;color:#cbdbe2;text-transform:uppercase;letter-spacing:.25px}.rld-assignment-row b{display:block;font-size:11px;white-space:normal;overflow-wrap:anywhere}.rld-earnings-summary{display:flex;justify-content:flex-end;gap:14px;padding:5px 7px;border-top:1px solid #5f8192;font-size:10px}.rld-earnings-summary b{margin-left:3px}.main-content:has(.rld-classic-grid) .page-head{padding:7px 9px;margin-bottom:6px;border-radius:3px}.main-content:has(.rld-classic-grid) .page-head h1{font-size:18px;margin-bottom:2px}.main-content:has(.rld-classic-grid) .page-head p{font-size:10px}.main-content:has(.rld-classic-grid) .business-info-strip{padding:7px 9px;font-size:10px;margin-top:6px}.main-content:has(.rld-classic-grid) .panel{margin-bottom:0}
@media(max-width:1050px){.rld-classic-grid{grid-template-columns:1fr}.rld-assignment-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.rld-classic-table>div{grid-template-columns:1fr 1fr}.rld-assignment-row{grid-template-columns:1fr 1fr}.rld-earnings-summary{flex-direction:column;gap:3px}.rld-place-form{grid-template-columns:1fr}.rld-place-form button{width:100%}}


/* Classic boxed navigation + compact horizontal players */
.sidebar nav{padding:6px;display:grid;gap:2px}.sidebar nav a{margin:0;min-height:31px;padding:5px 8px;border:1px solid #638596;border-radius:2px;background:#31576a;font-size:12px;line-height:1.2}.sidebar nav a:nth-child(even){background:#345b6e}.sidebar nav a:hover{background:#416b7f;border-color:#87a6b5}.sidebar nav a span{width:18px;font-size:12px}.side-title{padding:6px 8px;background:linear-gradient(180deg,#486a7c,#38586a);border-top:1px solid #7897a6;border-bottom:1px solid #7897a6;font-size:10px;font-weight:800;letter-spacing:.8px}.rank-box{margin:6px;padding:7px 8px;border:1px solid #638596;background:#31576a}.admin-link{margin:6px;padding:6px 8px;border-radius:2px;font-size:12px}.player-card{padding:7px 8px;gap:8px}.player-card .avatar{width:42px;height:42px;font-size:22px}.player-card div:last-child{gap:1px}.player-card strong{font-size:13px}.player-card small{font-size:9px}
.compact-players-panel{padding:0!important;overflow:hidden}.compact-player-search{padding:6px;margin:0;border-bottom:1px solid #638596}.compact-player-search input{height:30px;padding:5px 7px;border-radius:2px}.compact-player-search button{height:30px;padding:4px 10px;border-radius:2px;font-size:11px}.compact-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px}.compact-player-card{display:block;border:1px solid #638596;background:#31576a;min-width:0}.compact-player-card:hover{background:#3a6276;border-color:#88a8b7}.compact-player-title{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 7px;background:linear-gradient(180deg,#486a7c,#38586a);border-bottom:1px solid #7897a6}.compact-player-title strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-player-online{font-size:8px;text-transform:uppercase;letter-spacing:.4px}.compact-player-online.is-online{color:#63f181}.compact-player-online.is-offline{color:#b7c9d2}.compact-player-info>div{display:grid;grid-template-columns:36% 64%;min-height:25px;border-bottom:1px solid #5f8192}.compact-player-info>div:last-child{border-bottom:0}.compact-player-info strong,.compact-player-info span{padding:4px 6px;font-size:10px;min-width:0}.compact-player-info strong{text-align:right;background:#3a5d70}.compact-player-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vehicle-crime-card button{height:92px;gap:8px;padding:6px 9px}.vehicle-theft-thumb{width:92px;height:72px;object-fit:contain;flex:0 0 92px}.vehicle-theft-copy{flex:1;min-width:0}.garage-car-thumb{width:72px;height:52px;object-fit:contain;flex:0 0 72px}.vehicle-main{align-items:center}.vehicle-main>div:last-child{min-width:0}
@media(max-width:1250px){.compact-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.compact-player-grid{grid-template-columns:1fr}.compact-player-info>div{grid-template-columns:40% 60%}.vehicle-theft-thumb{width:76px;height:60px;flex-basis:76px}.vehicle-crime-card button{height:82px}}


/* Vehicle theft missions: compact classic browser-game job cards. */
.vehicle-mission-panel{overflow:visible}
.vehicle-mission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.vehicle-mission-card{margin:0;border:1px solid #648698;background:#294e61;min-width:0;overflow:hidden;border-radius:4px}
.vehicle-mission-chance{height:42px;display:flex;align-items:center;justify-content:center;gap:7px;background:#203f50;border-bottom:1px solid #638596}
.vehicle-mission-chance strong{font-size:22px}
.vehicle-mission-chance small{font-size:8px;letter-spacing:1px;color:#bdd0d9}
.vehicle-mission-body{min-height:118px;padding:8px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto 1fr;column-gap:8px;align-content:start;background:linear-gradient(180deg,#355d70,#2d5265)}
.vehicle-mission-icon{grid-row:1/4;width:32px;height:32px;display:grid;place-items:center;border:1px solid #678b9c;background:#1b3e50;font-size:18px}
.vehicle-mission-body strong{font-size:13px;line-height:1.15}
.vehicle-mission-body small{font-size:10px;color:#c6d7df;margin-top:3px;line-height:1.25}
.vehicle-mission-body b{grid-column:2;font-size:10px;color:#77f28e;align-self:end;margin-top:7px}
.vehicle-mission-card>button{width:100%;border:0;border-top:1px solid #668899;border-radius:0;height:37px;padding:5px 8px;font-size:12px;font-weight:800}
.vehicle-catalogue{padding:0!important;overflow:hidden}
.vehicle-catalogue summary{cursor:pointer;padding:8px 10px;font-weight:800;background:#355d70;border-bottom:1px solid #668899}
.vehicle-catalogue>p{padding:0 10px}
.vehicle-catalogue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid #5e8192}
.vehicle-catalogue-grid>div{display:grid;grid-template-columns:42px minmax(0,1fr) 120px;gap:7px;align-items:center;min-height:31px;padding:4px 7px;border-bottom:1px solid #5d8091}
.vehicle-catalogue-grid>div:nth-child(odd){border-right:1px solid #5d8091}
.vehicle-catalogue-grid b{font-size:10px;color:#79f190}
.vehicle-catalogue-grid span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vehicle-catalogue-grid small{font-size:9px;color:#b8ccd5;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1200px){.vehicle-mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.vehicle-mission-grid,.vehicle-catalogue-grid{grid-template-columns:1fr}.vehicle-catalogue-grid>div:nth-child(odd){border-right:0}.vehicle-catalogue-grid>div{grid-template-columns:38px minmax(0,1fr) 92px}}

/* Compact horizontal business management, matching the classic status boxes. */
.business-page-head{padding:7px 9px!important;margin-bottom:6px!important;border-radius:2px!important}.business-page-head h1{font-size:18px!important;margin-bottom:2px!important}.business-page-head p{font-size:10px!important}.business-classic-panel{padding:0!important;border-radius:2px!important;overflow:hidden}.business-horizontal-list{display:grid;gap:5px;padding:6px}.business-horizontal-card{display:grid;grid-template-columns:165px minmax(0,1fr);border:1px solid #638596;background:#315568;min-width:0}.business-horizontal-title{grid-row:1/3;display:flex;flex-direction:column;justify-content:space-between;gap:8px;padding:8px 9px;border-right:1px solid #638596;background:linear-gradient(180deg,#3c6174,#315568);min-width:0}.business-horizontal-title>div{display:flex;flex-direction:column;gap:2px}.business-horizontal-title small{font-size:9px;letter-spacing:.8px;color:#bed1d9}.business-horizontal-title strong{font-size:14px;line-height:1.15}.business-horizontal-title .role-badge{align-self:flex-start;font-size:8px;padding:2px 5px;border-radius:2px}.business-horizontal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));border-bottom:1px solid #638596;min-width:0}.business-horizontal-stats>div{min-height:43px;padding:5px 7px;border-right:1px solid #5f8192;background:#31576a;min-width:0}.business-horizontal-stats>div:nth-child(even){background:#345b6e}.business-horizontal-stats>div:last-child{border-right:0}.business-horizontal-stats small{display:block;font-size:8px;line-height:1.15;text-transform:uppercase;letter-spacing:.45px;color:#c7d8df;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-horizontal-stats b{display:block;margin-top:3px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-horizontal-actions{display:flex;align-items:end;gap:4px;flex-wrap:wrap;padding:5px;background:#294f61;min-width:0}.business-mini-form{display:flex;align-items:end;gap:3px;margin:0}.business-mini-form label{display:block!important;margin:0!important;width:126px}.business-mini-form label span{display:block;font-size:8px;line-height:1.1;text-transform:uppercase;color:#c5d6de;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-mini-form input{height:28px;padding:4px 6px;border-radius:2px;font-size:11px}.business-mini-form button,.business-mini-button button,.business-mini-link{height:28px;padding:4px 8px;border-radius:2px;font-size:10px;white-space:nowrap}.business-mini-button{margin:0}.business-mini-link{display:inline-flex;align-items:center}.business-mini-note{font-size:9px;line-height:1.2;color:#c4d6de;align-self:center;padding:3px 5px;max-width:250px}.business-sale-list{display:grid}.business-sale-row{display:grid;grid-template-columns:42px minmax(150px,.75fr) 125px minmax(220px,1fr) auto;align-items:center;min-height:34px;border-bottom:1px solid #638596;background:#315568}.business-sale-row:nth-child(even){background:#345b6e}.business-sale-row:last-child{border-bottom:0}.business-sale-row>span,.business-sale-row>strong,.business-sale-row>b,.business-sale-row>small{padding:5px 7px;border-right:1px solid #638596;min-width:0}.business-sale-row>span{font-size:9px;text-align:center}.business-sale-row>strong{font-size:12px}.business-sale-row>b{font-size:11px}.business-sale-row>small{font-size:9px;color:#c5d6de;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-sale-row form{margin:0;padding:3px}.business-sale-row button{height:27px;padding:3px 9px;border-radius:2px;font-size:10px}.business-classic-panel .compact-table{margin:0}.business-classic-panel .compact-table th,.business-classic-panel .compact-table td{padding:5px 7px;font-size:10px}.main-content:has(.business-horizontal-list) .panel{margin-bottom:6px}
@media(max-width:1150px){.business-horizontal-card{grid-template-columns:135px minmax(0,1fr)}.business-horizontal-stats{grid-template-columns:repeat(4,minmax(95px,1fr))}.business-mini-form label{width:112px}.business-sale-row{grid-template-columns:38px minmax(130px,.7fr) 110px minmax(160px,1fr) auto}}
@media(max-width:850px){.business-horizontal-card{grid-template-columns:1fr}.business-horizontal-title{grid-row:auto;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid #638596}.business-horizontal-stats{grid-template-columns:repeat(3,minmax(90px,1fr))}.business-horizontal-actions{align-items:stretch}.business-mini-form{flex:1 1 220px}.business-mini-form label{width:auto;flex:1}.business-sale-row{grid-template-columns:38px minmax(130px,1fr) 105px auto}.business-sale-row>small{grid-column:1/-1;border-top:1px solid #638596;border-right:0}}
@media(max-width:560px){.business-horizontal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.business-horizontal-actions{display:grid;grid-template-columns:1fr}.business-mini-form{display:grid;grid-template-columns:1fr auto}.business-mini-form label{width:100%}.business-mini-button button,.business-mini-link{width:100%;justify-content:center}.business-mini-note{max-width:none}.business-sale-row{grid-template-columns:36px minmax(0,1fr) auto}.business-sale-row>b{grid-column:2}.business-sale-row form{grid-column:3;grid-row:1/3}.business-sale-row>small{grid-column:1/-1}.business-page-head p{display:none}}

/* Project X compact classic crime layout */
.crime-classic-head{margin-bottom:5px}.crime-classic-status{display:grid;grid-template-columns:180px 190px minmax(0,1fr);border-top:0}.crime-classic-status>div{min-height:31px;border-right:1px solid #66889a}.crime-classic-status>div:last-child{border-right:0}.crime-classic-status>div:not(.crime-head-copy){display:grid;grid-template-columns:auto 1fr}.crime-classic-status strong,.crime-classic-status span,.crime-head-copy{padding:6px 8px}.crime-classic-status strong{background:#3a5d70;text-align:right;font-size:11px}.crime-classic-status span{background:#315568;font-size:12px}.crime-cooldown-row.ready .crime-cooldown-value{color:#64f27d;font-weight:800}.crime-cooldown-row.waiting .crime-cooldown-value{color:#ffd76a;font-weight:800}.crime-head-copy{background:#315568;color:#c9d9e0;font-size:11px;display:flex;align-items:center}.compact-crime-tabs{gap:4px;margin:5px 0}.compact-crime-tabs button{height:29px;padding:4px 10px;border-radius:2px;font-size:11px}.crime-attention-box{margin-bottom:5px}.crime-attention-row{display:grid;grid-template-columns:180px 1fr;min-height:30px;border-bottom:1px solid #66889a}.crime-attention-row strong,.crime-attention-row span{padding:6px 8px}.crime-attention-row strong{background:#3a5d70;text-align:right}.crime-attention-row span{background:#315568}.crime-attention-percent{color:#64f27d;font-weight:800}.crime-attention-meter{height:7px;margin:6px 8px;background:#173646;border:1px solid #54798b;overflow:hidden}.crime-attention-meter i{display:block;height:100%;background:#59ef75}.crime-attention-note{padding:5px 8px 7px;color:#bdced6;font-size:10px}.crime-jobs-box{margin-bottom:5px}.crime-rect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px}.crime-rect-form{margin:0;min-width:0}.crime-rect-button{width:100%;min-height:58px;padding:0!important;border:1px solid #66889a!important;border-radius:2px!important;background:#315568!important;display:grid!important;grid-template-columns:minmax(0,1fr) 74px;align-items:stretch;text-align:left;overflow:hidden;box-shadow:none!important}.crime-rect-button:hover:not(:disabled){background:#385f73!important;border-color:#86a6b5!important}.crime-rect-button:disabled{opacity:.48}.crime-rect-copy{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:7px 9px;min-width:0}.crime-rect-copy strong{font-size:13px;line-height:1.15}.crime-rect-copy small{font-size:10px;line-height:1.25;color:#c3d4dc;white-space:normal}.crime-rect-chance{display:flex;flex-direction:column;justify-content:center;align-items:center;border-left:1px solid #66889a;background:#3a5d70;padding:5px}.crime-rect-chance small{font-size:8px;line-height:1;text-transform:uppercase;letter-spacing:.5px;color:#c7d8df}.crime-rect-chance b{font-size:18px;line-height:1.1;margin-top:3px;color:#64f27d}.crime-classic-hint{margin:4px 2px 0;font-size:10px}.main-content:has(.crime-rect-grid){padding-top:8px}
@media(max-width:1180px){.crime-rect-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crime-classic-status{grid-template-columns:160px 170px minmax(0,1fr)}}
@media(max-width:700px){.crime-classic-status{grid-template-columns:1fr}.crime-classic-status>div{border-right:0;border-bottom:1px solid #66889a}.crime-classic-status>div:last-child{border-bottom:0}.crime-rect-grid{grid-template-columns:1fr}.crime-attention-row{grid-template-columns:42% 58%}.compact-crime-tabs{overflow-x:auto}.compact-crime-tabs button{white-space:nowrap}}


/* Project X crime cards — classic mafia layout with original Project X copy. */
.px-crime-status{margin-bottom:6px}
.px-crime-status-row{display:grid;grid-template-columns:145px 165px minmax(0,1fr);min-height:42px;background:#315568}
.px-crime-status-row>div{display:flex;flex-direction:column;justify-content:center;padding:5px 9px;border-right:1px solid #66889a}
.px-crime-status-row small{font-size:8px;text-transform:uppercase;letter-spacing:.7px;color:#bdd0d9}
.px-crime-status-row strong{font-size:12px;margin-top:2px}
.px-crime-status-row strong.ready{color:#63ef79}
.px-crime-status-row strong.waiting{color:#ffd16b}
.px-crime-status-row p{margin:0;padding:7px 10px;display:flex;align-items:center;font-size:10px;line-height:1.35;color:#c7d8df}
.px-crime-tabs{gap:4px;margin:6px 0}
.px-crime-tabs button{height:29px;padding:4px 10px;border-radius:2px;font-size:11px}
.px-police-box{margin-bottom:6px}
.px-police-row{display:grid;grid-template-columns:145px 55px minmax(160px,1fr);align-items:center;min-height:39px;background:#315568}
.px-police-row>strong,.px-police-row>b{height:100%;display:flex;align-items:center;padding:6px 9px;border-right:1px solid #66889a}
.px-police-row>strong{justify-content:flex-end;background:#3a5d70;font-size:11px}
.px-police-row>b{color:#63ef79;font-size:14px}
.px-police-meter{height:7px;margin:0 10px;background:#173646;border:1px solid #55798b;overflow:hidden}
.px-police-meter i{display:block;height:100%;background:#59ef75}
.px-police-row>small{grid-column:1/-1;padding:5px 8px;border-top:1px solid #66889a;color:#bdced6;font-size:9px}
.px-crime-jobs{margin-bottom:6px}
.px-crime-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px}
.px-crime-card-form{margin:0;min-width:0}
.px-crime-card{width:100%;padding:0!important;border:1px solid #6b8d9d!important;border-radius:2px!important;background:#223f50!important;overflow:hidden;display:block!important;text-align:left;box-shadow:none!important}
.px-crime-card:hover:not(:disabled){border-color:#91afbd!important;filter:brightness(1.06)}
.px-crime-card:disabled{opacity:.48}
.px-crime-image{position:relative;display:block;height:112px;background-image:linear-gradient(90deg,rgba(18,39,51,.98) 0%,rgba(24,48,61,.88) 40%,rgba(20,41,53,.20) 75%,rgba(20,41,53,.04) 100%),var(--crime-image);background-size:cover;background-position:center}
.px-crime-copy{position:absolute;left:0;top:0;bottom:0;width:58%;display:flex;flex-direction:column;justify-content:center;padding:10px 11px}
.px-crime-copy strong{font-size:14px;line-height:1.15;text-shadow:0 1px 2px #102631}
.px-crime-copy small{font-size:9px;line-height:1.35;color:#d1dfe5;margin-top:5px}
.px-crime-footer{height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-top:1px solid #66889a;background:#294d5f}
.px-crime-footer small{font-size:8px;text-transform:uppercase;letter-spacing:.65px;color:#c0d1d9}
.px-crime-footer b{font-size:16px}
.px-crime-card.high{border-left:4px solid #59e574!important}.px-crime-card.high .px-crime-footer b{color:#63ef79}
.px-crime-card.medium{border-left:4px solid #e3b84d!important}.px-crime-card.medium .px-crime-footer b{color:#ffd162}
.px-crime-card.low{border-left:4px solid #e95e58!important}.px-crime-card.low .px-crime-footer b{color:#ff746c}
.px-crime-note{padding:5px 8px;border:1px solid #66889a;background:#2d5265;color:#c0d2da;font-size:9px}
@media(max-width:1050px){.px-crime-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.px-crime-status-row{grid-template-columns:1fr 1fr}.px-crime-status-row p{grid-column:1/-1;border-top:1px solid #66889a}.px-police-row{grid-template-columns:42% 58%}.px-police-meter{grid-column:1/-1;margin:6px 8px}.px-crime-card-grid{grid-template-columns:1fr}.px-crime-image{height:106px}.px-crime-tabs{overflow-x:auto}.px-crime-tabs button{white-space:nowrap}}


/* Crime success popup */
body.modal-open{overflow:hidden}
.crime-popup-overlay{position:fixed;inset:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:18px}
.crime-popup-backdrop{position:absolute;inset:0;background:rgba(7,14,19,.72);backdrop-filter:blur(4px)}
.crime-popup-card{position:relative;width:min(92vw,560px);border:1px solid #79673a;border-radius:18px;background:linear-gradient(180deg,#111b24,#152532 58%,#101924);box-shadow:0 28px 80px rgba(0,0,0,.56),0 0 0 1px rgba(255,214,116,.09) inset;overflow:hidden;animation:crimePopupIn .18s ease-out}
.crime-popup-overlay.closing .crime-popup-card,.crime-popup-overlay.closing .crime-popup-backdrop{opacity:0}
.crime-popup-close{position:absolute;right:12px;top:12px;width:34px;height:34px;padding:0;border-radius:50%;font-size:22px;line-height:1;background:rgba(17,29,38,.8);border-color:#697683;z-index:2}
.crime-popup-hero{min-height:220px;padding:18px 18px 16px;background-size:cover;background-position:center;display:flex;align-items:flex-end;gap:14px}
.crime-popup-badge{width:64px;height:64px;flex:0 0 64px;border-radius:18px;display:grid;place-items:center;font-size:31px;color:#fff4c4;background:linear-gradient(180deg,#e5bb49,#a57510);box-shadow:0 10px 25px rgba(0,0,0,.32)}
.crime-popup-copy small{display:block;font-size:10px;letter-spacing:1.25px;text-transform:uppercase;color:#e0c992}
.crime-popup-copy h2{margin:3px 0 6px;font-size:34px;line-height:1.05;color:#fff}
.crime-popup-copy p{margin:0;max-width:410px;font-size:16px;line-height:1.45;color:#d9e4ea}
.crime-popup-copy p strong{color:#fff}
.crime-popup-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px;margin-top:-16px}
.crime-popup-stats article{padding:20px 18px;border:1px solid #4b6f57;border-radius:18px;background:linear-gradient(180deg,rgba(18,34,43,.96),rgba(13,26,34,.96));box-shadow:0 0 0 1px rgba(95,239,117,.08) inset;text-align:center}
.crime-popup-stats article:last-child{border-color:#4f6273;box-shadow:0 0 0 1px rgba(89,189,244,.08) inset}
.crime-popup-stats small{display:block;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#b7ced8}
.crime-popup-stats strong{display:block;margin-top:7px;font-size:46px;line-height:1;color:#f6f8fa}
.crime-popup-stats article:first-child strong{color:#67ef7a;text-shadow:0 0 18px rgba(89,239,117,.16)}
.crime-popup-stats article:last-child strong{font-size:36px;color:#ffd36b;text-shadow:0 0 18px rgba(225,178,74,.12)}
.crime-popup-note{margin:0;padding:18px 22px 6px;text-align:center;font-size:16px;line-height:1.45;color:#d6e3ea}
.crime-popup-actions{padding:14px 18px 20px;display:flex;justify-content:center}
.crime-popup-actions .primary{min-width:250px;padding:14px 22px;border-radius:14px;font-size:24px;font-weight:800;background:linear-gradient(90deg,#f0dc77,#e89b15);border-color:#f1cc63;color:#171717;text-shadow:none;box-shadow:0 10px 28px rgba(232,155,21,.26)}
.crime-popup-actions .primary:hover{filter:brightness(1.03);transform:translateY(-1px)}
@keyframes crimePopupIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.crime-popup-card{width:min(94vw,420px)}.crime-popup-hero{min-height:180px;padding:16px;align-items:flex-end}.crime-popup-badge{width:52px;height:52px;flex-basis:52px;font-size:24px;border-radius:15px}.crime-popup-copy h2{font-size:26px}.crime-popup-copy p{font-size:14px}.crime-popup-stats{grid-template-columns:1fr;padding:0 14px}.crime-popup-stats strong{font-size:36px}.crime-popup-note{padding:16px 16px 4px;font-size:14px}.crime-popup-actions{padding:12px 14px 16px}.crime-popup-actions .primary{min-width:0;width:100%;font-size:20px}}


/* Vehicle theft locations — compact classic mafia layout. */
.vehicle-theft-status{margin-bottom:6px}
.vehicle-theft-status-row{display:grid;grid-template-columns:145px 145px minmax(260px,1fr) auto;align-items:stretch;background:#315568}
.vehicle-theft-status-row>div{display:flex;flex-direction:column;justify-content:center;padding:6px 9px;border-right:1px solid #66889a}
.vehicle-theft-status-row small{font-size:8px;letter-spacing:.75px;text-transform:uppercase;color:#bdd0d9}
.vehicle-theft-status-row strong{font-size:12px;margin-top:2px}.vehicle-theft-status-row strong.ready{color:#63ef79}.vehicle-theft-status-row strong.waiting{color:#ffd16b}
.vehicle-theft-status-row p{margin:0;padding:7px 10px;display:flex;align-items:center;font-size:10px;line-height:1.35;color:#c7d8df}
.vehicle-theft-status-row>.button{border-radius:0;border-top:0;border-bottom:0;border-right:0;display:flex;align-items:center;justify-content:center;min-width:110px;font-size:10px}
.vehicle-location-section{margin-bottom:6px}
.vehicle-location-intro{display:flex;align-items:center;gap:10px;min-height:33px;padding:5px 8px;border-bottom:1px solid #66889a;background:#315568}
.vehicle-location-intro strong{font-size:11px}.vehicle-location-intro span{font-size:9px;color:#c2d4dc}
.vehicle-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px}
.vehicle-location-form{margin:0;min-width:0}
.vehicle-location-card{width:100%;padding:0!important;border:1px solid #6b8d9d!important;border-radius:2px!important;background:#294d5f!important;text-align:left;overflow:hidden;box-shadow:none!important}
.vehicle-location-card:hover:not(:disabled){filter:brightness(1.06);border-color:#8eaebe!important}
.vehicle-location-card:disabled{opacity:.48}.vehicle-location-card.high{border-left:4px solid #59e574!important}.vehicle-location-card.medium{border-left:4px solid #e3b84d!important}.vehicle-location-card.low{border-left:4px solid #e95e58!important}
.vehicle-location-top{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;min-height:94px;padding:9px;background:linear-gradient(135deg,#345c70,#294c5e)}
.vehicle-location-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid #6c91a2;background:#173b4d;font-size:21px}
.vehicle-location-copy{display:flex;flex-direction:column;min-width:0}.vehicle-location-copy strong{font-size:14px;line-height:1.15}.vehicle-location-copy small{font-size:9px;line-height:1.35;color:#c8d9e0;margin-top:5px}
.vehicle-location-meta{display:grid;grid-template-columns:minmax(0,1fr) 96px;min-height:38px;border-top:1px solid #66889a;background:#24485b}
.vehicle-location-meta>span{display:flex;flex-direction:column;justify-content:center;padding:5px 8px}.vehicle-location-meta>span+span{border-left:1px solid #66889a;text-align:right;align-items:flex-end}
.vehicle-location-meta small{font-size:7px;letter-spacing:.7px;color:#b9ccd5}.vehicle-location-meta b{font-size:10px;margin-top:2px;color:#eef5f8}.vehicle-location-chance b{font-size:16px!important}
.vehicle-location-card.high .vehicle-location-chance b{color:#63ef79}.vehicle-location-card.medium .vehicle-location-chance b{color:#ffd162}.vehicle-location-card.low .vehicle-location-chance b{color:#ff746c}
.vehicle-garage-warning{margin:0 6px 6px;padding:6px 8px;border:1px solid #997157;background:#654834;font-size:9px}.vehicle-garage-warning a{text-decoration:underline;font-weight:700}
.vehicle-catalogue-compact{padding:0!important;overflow:hidden}.vehicle-catalogue-compact summary{cursor:pointer;list-style:none}.vehicle-catalogue-compact summary::-webkit-details-marker{display:none}
@media(max-width:1100px){.vehicle-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-theft-status-row{grid-template-columns:120px 120px 1fr auto}}
@media(max-width:700px){.vehicle-theft-status-row{grid-template-columns:1fr 1fr}.vehicle-theft-status-row p{grid-column:1/-1;border-top:1px solid #66889a}.vehicle-theft-status-row>.button{grid-column:1/-1;border-left:0;border-top:1px solid #66889a}.vehicle-location-intro{display:block}.vehicle-location-intro span{display:block;margin-top:3px}.vehicle-location-grid{grid-template-columns:1fr}.vehicle-location-top{min-height:86px}}


/* Vehicle theft locations with original scene art. */
.vehicle-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}
.vehicle-location-card{width:100%;padding:0!important;border:1px solid #678b9d!important;border-radius:4px!important;background:#2b5063!important;text-align:left;overflow:hidden;box-shadow:none!important}
.vehicle-location-card:hover:not(:disabled){border-color:#8fb0be!important;filter:brightness(1.03)}
.vehicle-location-card:disabled{opacity:.52}
.vehicle-location-card.high{border-left:4px solid #62e87c!important}.vehicle-location-card.medium{border-left:4px solid #e2be54!important}.vehicle-location-card.low{border-left:4px solid #e26760!important}
.vehicle-location-top{display:grid;grid-template-columns:170px minmax(0,1fr);gap:0;align-items:stretch;min-height:118px;background:#31586b}
.vehicle-location-thumb{display:block;height:100%;min-height:118px;background:#203f50;border-right:1px solid #66889a;overflow:hidden}
.vehicle-location-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.vehicle-location-copy{display:flex;flex-direction:column;gap:8px;padding:10px 12px;min-width:0;background:linear-gradient(180deg,#3a6275,#305769)}
.vehicle-location-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.vehicle-location-title-wrap{display:flex;align-items:center;gap:8px;min-width:0}.vehicle-location-title-wrap em{width:28px;height:28px;display:grid;place-items:center;border:1px solid #7196a7;background:#214556;border-radius:4px;font-style:normal;font-size:15px;flex:0 0 28px}
.vehicle-location-title-wrap strong{display:block;font-size:18px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vehicle-location-chance-badge{min-width:58px;padding:5px 8px;border-radius:999px;border:1px solid #6b90a2;background:#24495c;font-weight:800;font-size:17px;line-height:1;text-align:center;flex:0 0 auto}
.vehicle-location-chance-badge.high{color:#66ef7f}.vehicle-location-chance-badge.medium{color:#ffd264}.vehicle-location-chance-badge.low{color:#ff7a72}
.vehicle-location-copy small{display:block;font-size:11px;line-height:1.4;color:#d4e1e6}
.vehicle-location-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.vehicle-location-tags i{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #6f93a4;background:#284d60;border-radius:999px;font-style:normal;font-size:10px;color:#e5edf1}
.vehicle-location-meta{display:flex;align-items:center;justify-content:flex-end;min-height:36px;padding:0 12px;border-top:1px solid #67899b;background:#294e60}
.vehicle-location-go{font-size:12px;font-weight:800;color:#eaf1f4;letter-spacing:.3px}
.vehicle-location-intro{display:block;min-height:0;padding:8px 10px;border-bottom:1px solid #66889a;background:#315568}.vehicle-location-intro strong{display:block;font-size:12px}.vehicle-location-intro span{display:block;margin-top:3px;font-size:10px;line-height:1.35;color:#c5d6dd}
@media(max-width:1100px){.vehicle-location-grid{grid-template-columns:1fr}.vehicle-location-top{grid-template-columns:160px minmax(0,1fr)}}
@media(max-width:640px){.vehicle-location-top{grid-template-columns:1fr}.vehicle-location-thumb{min-height:130px;border-right:0;border-bottom:1px solid #66889a}.vehicle-location-headline{align-items:flex-start}.vehicle-location-title-wrap strong{white-space:normal}.vehicle-location-copy{padding:10px}.vehicle-location-chance-badge{font-size:16px}}

/* Player-owned casino directory */
.casino-page-head{margin-bottom:6px!important}.casino-directory-panel{padding:0!important;border-radius:2px!important;overflow:hidden;margin-bottom:6px!important}.casino-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#66889a}.casino-directory-card{display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-rows:1fr auto;min-height:154px;background:#315568;min-width:0}.casino-directory-card:nth-child(even){background:#345b6e}.casino-game-symbol{grid-row:1/3;display:grid;place-items:center;margin:8px;border:1px solid #7899a8;background:#284b5d;font-weight:900;font-size:28px;letter-spacing:-1px;min-height:74px}.casino-game-copy{padding:8px 8px 4px 0;min-width:0}.casino-game-copy>strong{display:block;font-size:15px;line-height:1.15;margin-bottom:5px}.casino-game-copy dl{margin:0;display:grid;gap:2px}.casino-game-copy dl>div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:5px;align-items:baseline}.casino-game-copy dt{font-size:9px;color:#c6d7df}.casino-game-copy dd{margin:0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.casino-game-action{grid-column:2;display:flex;align-items:center;justify-content:flex-end;min-height:31px;padding:4px 7px;border-top:1px solid #638596;background:#294f61}.casino-game-action .button{min-height:24px;padding:3px 8px;border-radius:2px;font-size:9px}.casino-game-action>span{font-size:9px;color:#b9ccd5}.casino-directory-card.is-playable .casino-game-symbol{box-shadow:inset 0 0 0 1px #66889a}.casino-roulette-panel{padding:0!important;overflow:hidden}.casino-roulette-panel>.casino-owner-line,.casino-roulette-panel>.attention,.casino-roulette-panel>.roulette-wheel,.casino-roulette-panel>.casino-rule-copy,.casino-roulette-panel>.casino-bet-grid,.casino-roulette-panel>.flash{margin-left:8px;margin-right:8px}.casino-roulette-panel>.casino-owner-line{margin-top:8px}.casino-roulette-panel>.casino-bet-grid{margin-bottom:8px}.casino-rule-copy{font-size:11px}.casino-limit-form label{width:112px}
@media(max-width:980px){.casino-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.casino-local-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.casino-directory-card{grid-template-columns:68px minmax(0,1fr)}.casino-game-symbol{font-size:23px;margin:6px}.casino-game-copy dl>div{grid-template-columns:56px minmax(0,1fr)}}
@media(max-width:700px){.casino-directory-grid,.casino-local-grid{grid-template-columns:1fr}.casino-directory-card{min-height:128px;grid-template-columns:76px minmax(0,1fr)}.casino-game-symbol{font-size:24px}.casino-game-copy{padding-top:7px}.casino-game-copy dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px}.casino-game-copy dl>div{display:block}.casino-game-copy dt{display:block}.casino-game-copy dd{font-size:10px}.casino-game-action{grid-column:2}.casino-limit-form{width:100%;display:grid!important;grid-template-columns:1fr 1fr auto}.casino-limit-form label{width:auto!important}}
@media(max-width:430px){.casino-directory-card{grid-template-columns:64px minmax(0,1fr)}.casino-game-symbol{margin:5px;font-size:20px}.casino-game-copy dl{grid-template-columns:1fr 1fr}.casino-limit-form{grid-template-columns:1fr}.casino-limit-form button{width:100%}}
/* Menu labels: keep primary navigation readable at a glance. */
.sidebar nav a,.bottom-nav a,.bottom-nav button{font-weight:700}

/* Rank Progress / Status — compact straight information boxes. */
.status-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}
.status-dashboard-grid .status-box{margin:0;padding:0!important;border-radius:2px!important;overflow:hidden;background:#315568}
.status-dashboard-grid .status-wide{grid-column:1/-1}
.status-box>h2{margin:0!important;padding:8px 10px;border-bottom:1px solid #6a8c9d;background:#3b6174;font-size:15px;line-height:1.15}
.status-table,.status-list-grid,.status-meters{display:grid;gap:0}
.status-table>div,.status-list-grid>div{display:grid;grid-template-columns:minmax(125px,42%) minmax(0,1fr);min-height:31px;border-bottom:1px solid #5f8192}
.status-table>div:last-child,.status-list-grid>div:last-child{border-bottom:0}
.status-table span,.status-list-grid span{display:flex;align-items:center;padding:6px 9px;background:#385d70;color:#d1dfe5;font-size:11px}
.status-table strong,.status-list-grid strong{display:flex;align-items:center;padding:6px 10px;border-left:1px solid #5f8192;background:#2d5265;font-size:12px;min-width:0;overflow-wrap:anywhere}
.status-list-grid strong{justify-content:flex-end;text-align:right}
.status-meter-row{display:grid;grid-template-columns:minmax(0,1fr) 46%;align-items:center;min-height:35px;border-bottom:1px solid #5f8192}
.status-meter-row:last-child{border-bottom:0}
.status-meter-row>div:first-child{display:grid;grid-template-columns:minmax(125px,1fr) auto;align-items:center;min-width:0}
.status-meter-row>div:first-child span{padding:7px 9px;background:#385d70;color:#d1dfe5;font-size:11px}
.status-meter-row>div:first-child strong{padding:7px 10px;border-left:1px solid #5f8192;background:#2d5265;font-size:12px;text-align:right}
.status-meter{height:8px;margin:0 10px;background:#173646;border:1px solid #55798b;border-radius:0;overflow:hidden}
.status-meter i{display:block;height:100%;background:linear-gradient(90deg,#50a9d4,#73c8ee)}
.status-meter.gold i{background:linear-gradient(90deg,#b98d31,#e1b24a)}
.status-meter.green i{background:linear-gradient(90deg,#2cae56,#59ef75)}
.status-dashboard-grid+.panel{border-radius:2px}
.clean-rank-ladder .rank-step{border-radius:2px}
@media(max-width:850px){
 .status-dashboard-grid{grid-template-columns:1fr}
 .status-dashboard-grid .status-wide{grid-column:auto}
}
@media(max-width:560px){
 .status-table>div,.status-list-grid>div{grid-template-columns:42% 58%}
 .status-table span,.status-list-grid span,.status-table strong,.status-list-grid strong{padding:6px 8px;font-size:11px}
 .status-meter-row{grid-template-columns:1fr;gap:0}
 .status-meter-row>div:first-child{grid-template-columns:42% 58%}
 .status-meter-row>div:first-child strong{text-align:left}
 .status-meter{margin:6px 8px 7px}
}

/* Red Light District building levels */
.rld-building-panel{display:grid;grid-template-columns:260px minmax(0,1fr);gap:10px;padding:8px!important;overflow:hidden;background:#2f5366!important}.rld-building-visual{min-height:190px;border:1px solid #638697;background:linear-gradient(180deg,#3b6477,#284d60);display:grid;place-items:center;overflow:hidden}.rld-building-visual img{display:block;max-width:100%;width:240px;height:180px;object-fit:contain}.rld-building-details{display:flex;flex-direction:column;gap:7px;min-width:0}.rld-building-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid #638697;background:#31576a}.rld-building-title small{display:block;font-size:8px;letter-spacing:.7px;text-transform:uppercase;color:#bed1d9}.rld-building-title h2{margin:2px 0 0;font-size:18px}.rld-building-title>span{padding:4px 7px;border:1px solid #7899a8;background:#23495c;font-size:10px;font-weight:800}.rld-building-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.rld-building-stats>div{padding:7px 8px;border:1px solid #638697;background:#31576a;min-width:0}.rld-building-stats small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.5px;color:#c7d8df}.rld-building-stats strong{display:block;margin-top:2px;font-size:15px;overflow-wrap:anywhere}.rld-building-meter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}.rld-building-meter:before{content:"";grid-column:1;grid-row:1;height:9px;border:1px solid #5d8193;background:#173646}.rld-building-meter i{grid-column:1;grid-row:1;display:block;height:7px;margin-left:1px;background:linear-gradient(90deg,#50a9d4,#70df8b);z-index:1}.rld-building-meter span{font-size:9px;color:#c6d8df;white-space:nowrap}.rld-upgrade-form{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:7px 9px;border:1px solid #6a8c9d;background:#294e60}.rld-upgrade-form>div{display:flex;flex-direction:column;gap:1px}.rld-upgrade-form small{font-size:8px;letter-spacing:.5px;text-transform:uppercase;color:#c5d6dd}.rld-upgrade-form strong{font-size:12px}.rld-upgrade-form span{font-size:10px;color:#d7e3e8}.rld-upgrade-form button{padding:6px 10px;border-radius:2px;font-size:11px;white-space:nowrap}.rld-max-level{padding:7px 9px;border:1px solid #5dbb75;background:#265943;color:#8cff9f;font-size:10px;font-weight:700}
@media(max-width:900px){.rld-building-panel{grid-template-columns:210px minmax(0,1fr)}.rld-building-visual{min-height:170px}.rld-building-visual img{width:200px;height:160px}.rld-building-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.rld-building-panel{grid-template-columns:1fr}.rld-building-visual{min-height:160px}.rld-building-visual img{width:220px;height:160px}.rld-building-title h2{font-size:16px}.rld-upgrade-form{align-items:stretch;flex-direction:column}.rld-upgrade-form button{width:100%}}

/* Vehicle theft result popup */
.car-result-card{width:min(94vw,650px);background:#13232e}
.car-popup-hero{display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:220px;background:linear-gradient(135deg,#173442,#0e202b);border-bottom:1px solid #557889;overflow:hidden}
.car-popup-art{display:flex;align-items:center;justify-content:center;min-width:0;padding:22px 16px 18px 22px;background:radial-gradient(circle at 48% 45%,rgba(88,135,154,.18),transparent 64%)}
.car-popup-art img{display:block;width:100%;height:185px;object-fit:contain;object-position:center}
.car-popup-hero.has-location-art .car-popup-art{padding:0;position:relative}
.car-popup-hero.has-location-art .car-popup-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,24,32,.08),rgba(10,24,32,.7))}
.car-popup-hero.has-location-art .car-popup-art img{width:100%;height:100%;object-fit:cover;filter:brightness(.6)}
.car-popup-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:24px 26px 24px 12px;min-width:0;text-align:left}
.car-popup-copy small{display:block;font-size:10px;letter-spacing:1.25px;text-transform:uppercase;color:#b9ced8}
.car-popup-number{display:inline-flex;margin-top:10px;padding:4px 9px;border:1px solid #567b8d;border-radius:999px;background:#153344;color:#dbe8ed;font-size:12px;font-weight:800}
.car-popup-copy h2{margin:8px 0 8px;font-size:27px;line-height:1.08;color:#fff;overflow-wrap:anywhere}
.car-popup-copy p{margin:0;color:#d4e1e7;font-size:13px;line-height:1.4}
.car-popup-stats{grid-template-columns:repeat(3,1fr);margin-top:-12px;position:relative;z-index:2}
.car-popup-stats article{padding:14px 10px}
.car-popup-stats strong{font-size:28px!important}
.car-popup-stats article:nth-child(1) strong{color:#63ef79}
.car-popup-stats article:nth-child(2) strong{color:#ffd36b}
.car-popup-stats article:nth-child(3) strong{color:#7bcff5}
.car-popup-actions{gap:8px;align-items:center}.car-popup-actions .primary{display:inline-flex;align-items:center;justify-content:center;min-width:210px;font-size:19px}.car-popup-actions button:not(.primary){padding:12px 18px;border-radius:12px}
@media(max-width:700px){.car-result-card{width:min(94vw,430px)}.car-popup-hero{grid-template-columns:1fr;min-height:0}.car-popup-art{height:180px;padding:15px 20px 6px}.car-popup-art img{height:165px}.car-popup-hero.has-location-art .car-popup-art{height:170px}.car-popup-copy{padding:10px 18px 24px;align-items:flex-start}.car-popup-copy h2{font-size:22px}.car-popup-stats{grid-template-columns:1fr 1fr}.car-popup-stats article:last-child{grid-column:1/-1}.car-popup-actions{flex-direction:column}.car-popup-actions .primary,.car-popup-actions button:not(.primary){width:100%;min-width:0}}

/* Crime failure popup */
.crime-popup-failure .crime-popup-card{border-color:#8f4845;box-shadow:0 28px 80px rgba(0,0,0,.56),0 0 0 1px rgba(255,97,89,.12) inset}
.crime-popup-failure .crime-popup-hero{filter:saturate(.72)}
.crime-popup-failure .crime-popup-badge{background:linear-gradient(180deg,#d65a53,#852f2c);color:#fff;box-shadow:0 10px 25px rgba(0,0,0,.32),0 0 24px rgba(255,97,89,.12)}
.crime-popup-failure .crime-popup-copy small{color:#ff9b95}
.crime-popup-failure .crime-popup-stats article:first-child{border-color:#774b49;box-shadow:0 0 0 1px rgba(255,97,89,.08) inset}
.crime-popup-failure .crime-popup-stats article:first-child strong{color:#ff7770;text-shadow:0 0 18px rgba(255,97,89,.12)}
.crime-popup-failure .crime-popup-stats article:last-child strong{color:#b9ced8;text-shadow:none}
.crime-popup-failure .crime-popup-actions .primary{background:linear-gradient(180deg,#b84c47,#7d302d);border-color:#cf625d;color:#fff;box-shadow:0 10px 28px rgba(125,48,45,.25)}

/* Heist failure popup */
.heist-popup-failure .heist-popup-hero{min-height:190px;background:radial-gradient(circle at 78% 22%,rgba(162,65,59,.24),transparent 34%),linear-gradient(135deg,#182a35 0%,#10202a 58%,#24191c 100%)}
.heist-popup-failure .crime-popup-copy h2{color:#fff}
.heist-popup-failure .crime-popup-copy p{max-width:420px}

/* Airport / travel map + flight animation */
.airport-page-head{align-items:center}
.airport-board{padding:0!important;overflow:hidden}
.airport-board-head{display:grid;grid-template-columns:1fr 1.45fr .8fr;border-bottom:1px solid #66899a;background:#2f5569}
.airport-board-head>div{padding:10px 13px;border-right:1px solid #66899a}
.airport-board-head>div:last-child{border-right:0}
.airport-board-head small,.airport-route-preview-card small,.airport-booking-panel small,.airport-destination-row small{display:block;font-size:8px;letter-spacing:.8px;text-transform:uppercase;color:#bfd1da}
.airport-board-head strong{display:block;margin-top:3px;font-size:13px}.airport-ready{color:#6bf486}.airport-waiting{color:#ffd16b}
.airport-world-wrap{position:relative;min-height:350px;background:#102633;overflow:hidden}
.airport-world-map{display:block;width:100%;height:auto;min-height:350px}
.airport-continent{fill:url(#airportLand);stroke:#a7bac3;stroke-width:2;opacity:.84}.airport-island{opacity:.72}
.airport-route-preview{fill:none;stroke:#f4ca5f;stroke-width:4;stroke-dasharray:12 12;stroke-linecap:round;opacity:0;filter:drop-shadow(0 0 5px rgba(244,202,95,.45));transition:opacity .2s ease}.airport-route-preview.is-visible{opacity:.95}
.airport-map-marker{position:absolute;width:34px;height:34px;padding:0;transform:translate(-50%,-50%);border-radius:50%;background:#173b4d;border:2px solid #91b6c7;box-shadow:0 4px 12px rgba(0,0,0,.3);font-size:18px;z-index:4}
.airport-map-marker span{position:relative;z-index:2}.airport-map-marker i{position:absolute;inset:-7px;border:1px solid rgba(113,203,244,.48);border-radius:50%;opacity:.55}
.airport-map-marker:hover:not(:disabled),.airport-map-marker.is-selected{border-color:#ffd56c;background:#4b3d1c;filter:none;transform:translate(-50%,-50%) scale(1.12)}
.airport-map-marker.is-current{border-color:#66ef7c;background:#205a43;cursor:default;opacity:1}
.airport-map-marker.is-current i{border-color:#5eef7a;animation:airportPulse 1.8s ease-out infinite}
@keyframes airportPulse{0%{transform:scale(.7);opacity:.7}100%{transform:scale(1.8);opacity:0}}
.airport-map-legend{position:absolute;left:12px;bottom:10px;display:flex;gap:14px;padding:6px 9px;border:1px solid #55798b;border-radius:6px;background:rgba(15,37,49,.9);font-size:9px;color:#c7d7df}.airport-map-legend span{display:flex;align-items:center;gap:5px}.airport-map-legend i{width:9px;height:9px;border-radius:50%;background:#8ab7ca}.airport-map-legend i.current{background:#61ef7a}
.airport-route-preview-card{display:grid;grid-template-columns:1fr 54px 1fr .8fr;align-items:center;border-top:1px solid #66899a;background:#294d60}
.airport-route-preview-card>div{padding:9px 12px;border-right:1px solid #66899a}.airport-route-preview-card>div:last-child{border-right:0}.airport-route-preview-card strong{display:block;margin-top:2px;font-size:13px}.airport-route-arrow{text-align:center!important;border-right:1px solid #66899a!important;font-size:21px;color:#ffd36b}
.airport-destinations-panel{padding:0!important;overflow:hidden}.airport-destinations-panel .section-title-row{padding:11px 13px;border-bottom:1px solid #66899a}.airport-destinations-panel h2{margin:0 0 3px}.airport-destinations-panel p{margin:0;font-size:10px}
.airport-destination-list{display:flex;flex-direction:column}
.airport-destination-row{display:grid;grid-template-columns:minmax(180px,1.5fr) .7fr .6fr .9fr .9fr 115px;gap:0;width:100%;padding:0;border:0;border-bottom:1px solid #5d8193;border-radius:0;background:#31576a;text-align:left;box-shadow:none}
.airport-destination-row:last-child{border-bottom:0}.airport-destination-row:hover:not(:disabled),.airport-destination-row.is-selected{background:#3a6579;filter:none}.airport-destination-row.is-selected{box-shadow:inset 4px 0 #ffd36b}
.airport-destination-row>span{display:flex;flex-direction:column;justify-content:center;min-height:54px;padding:7px 10px;border-right:1px solid #5d8193}.airport-destination-row>span:last-child{border-right:0}.airport-destination-row b{font-size:12px;margin-top:2px}.airport-country-name b{font-size:13px}.airport-country-name small{margin-top:3px}.airport-row-action{align-items:center!important;text-align:center;font-size:10px;font-weight:800;color:#dcebf2}.airport-destination-row.is-current{background:#275a48!important;opacity:1;cursor:default}.airport-destination-row.is-current .airport-row-action{color:#7cff96}
.airport-booking-panel{display:grid;grid-template-columns:minmax(280px,1fr) 170px 210px;align-items:stretch;padding:0!important;overflow:hidden}.airport-booking-panel>div{padding:11px 13px;border-right:1px solid #66899a}.airport-booking-panel>div>strong{display:block;margin:3px 0;font-size:14px}.airport-booking-panel>div>span{display:block;font-size:10px;color:#c6d8df}.airport-booking-price{display:flex;flex-direction:column;justify-content:center}.airport-booking-price strong{font-size:20px!important;color:#ffd36b}.airport-takeoff{border-radius:0!important;border-top:0!important;border-right:0!important;border-bottom:0!important;font-weight:900;letter-spacing:.5px;font-size:13px}

.travel-flight-overlay{position:fixed;inset:0;z-index:170;display:flex;align-items:center;justify-content:center;padding:18px}.travel-flight-backdrop{position:absolute;inset:0;background:rgba(5,13,18,.82);backdrop-filter:blur(5px)}
.travel-flight-card{position:relative;width:min(94vw,790px);border:1px solid #697f8a;border-radius:18px;background:#132532;box-shadow:0 30px 90px rgba(0,0,0,.62);overflow:hidden;animation:crimePopupIn .2s ease-out}.travel-flight-overlay.closing .travel-flight-card,.travel-flight-overlay.closing .travel-flight-backdrop{opacity:0}
.travel-flight-close{position:absolute;right:12px;top:12px;z-index:4;width:34px;height:34px;padding:0;border-radius:50%;font-size:21px;background:#1a3444}
.travel-flight-header{padding:18px 58px 14px 20px;background:#234659;border-bottom:1px solid #5e8091}.travel-flight-header small{font-size:9px;letter-spacing:1.2px;color:#ffd36b}.travel-flight-header h2{display:flex;align-items:center;gap:12px;margin:5px 0 4px;font-size:25px}.travel-flight-header h2 b{color:#ffd36b}.travel-flight-header p{margin:0;color:#c8dae2}
.travel-flight-map{position:relative;height:min(43vw,350px);min-height:250px;background:#0e222e;overflow:hidden}.travel-flight-map svg{display:block;width:100%;height:100%}.travel-flight-route{fill:none;stroke:#ffd36b;stroke-width:5;stroke-dasharray:14 10;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(255,211,107,.38))}.travel-flight-point{fill:#6cf385;stroke:#dfffe6;stroke-width:3}.travel-flight-point.destination{fill:#ffd36b;stroke:#fff3c6}.travel-moving-plane{position:absolute;left:50%;top:50%;z-index:5;font-size:30px;line-height:1;filter:drop-shadow(0 5px 4px rgba(0,0,0,.55));transform-origin:center;will-change:left,top,transform}.travel-flight-label{position:absolute;z-index:4;transform:translate(-50%,14px);padding:3px 6px;border:1px solid #63889a;border-radius:4px;background:rgba(18,45,59,.92);font-size:9px;font-weight:800;white-space:nowrap}.travel-flight-label.to{border-color:#9c8446}
.travel-flight-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px;background:#172d3b}.travel-flight-stats article{padding:11px;border:1px solid #56798a;border-radius:8px;background:#203f50;text-align:center}.travel-flight-stats small{display:block;font-size:8px;letter-spacing:.8px;text-transform:uppercase;color:#bcd0d9}.travel-flight-stats strong{display:block;margin-top:4px;font-size:20px}.travel-flight-stats article:last-child strong{color:#74cfff}.travel-land-button{display:block;width:calc(100% - 28px);margin:0 14px 14px;font-weight:900}.travel-flight-overlay.has-landed .travel-land-button{background:linear-gradient(#55a66e,#2e754a);border-color:#67c983}

@media(max-width:900px){.airport-board-head{grid-template-columns:1fr 1fr}.airport-board-head>div:last-child{grid-column:1/-1;border-top:1px solid #66899a}.airport-world-wrap,.airport-world-map{min-height:290px}.airport-destination-row{grid-template-columns:minmax(150px,1.4fr) .65fr .65fr .9fr 105px}.airport-destination-row>span:nth-child(5){display:none}.airport-booking-panel{grid-template-columns:1fr 140px}.airport-takeoff{grid-column:1/-1;min-height:48px;border-left:0!important;border-top:1px solid #66899a!important}.airport-route-preview-card{grid-template-columns:1fr 40px 1fr}.airport-route-preview-card>div:last-child{grid-column:1/-1;border-top:1px solid #66899a}}
@media(max-width:650px){.airport-page-head{align-items:stretch}.airport-board-head{grid-template-columns:1fr}.airport-board-head>div{border-right:0;border-bottom:1px solid #66899a}.airport-board-head>div:last-child{grid-column:auto;border-bottom:0}.airport-world-wrap,.airport-world-map{min-height:235px}.airport-map-marker{width:29px;height:29px;font-size:15px}.airport-map-legend{font-size:8px;gap:8px}.airport-route-preview-card{grid-template-columns:1fr 34px 1fr}.airport-route-preview-card>div{padding:8px}.airport-destination-row{grid-template-columns:minmax(145px,1.4fr) .65fr .85fr}.airport-destination-row>span:nth-child(3),.airport-destination-row>span:nth-child(5){display:none}.airport-row-action{font-size:9px}.airport-booking-panel{grid-template-columns:1fr}.airport-booking-panel>div{border-right:0;border-bottom:1px solid #66899a}.airport-booking-price{display:grid!important;grid-template-columns:1fr auto;align-items:center}.airport-booking-price strong{margin:0!important}.travel-flight-card{width:min(96vw,520px)}.travel-flight-header h2{font-size:18px;gap:7px;flex-wrap:wrap}.travel-flight-map{height:250px}.travel-flight-stats{grid-template-columns:1fr}.travel-moving-plane{font-size:24px}}

.car-popup-failure .car-popup-fail-mark{border-color:#9d514d;background:#5a2727;color:#ff9b95}
.car-popup-failure .car-popup-copy small{color:#ff9b95}
.car-popup-failure .car-popup-copy h2{color:#fff}
.car-popup-failure .car-popup-art:after{background:linear-gradient(90deg,rgba(39,15,17,.08),rgba(39,15,17,.72))}
.car-popup-failure .car-fail-popup-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.car-popup-failure .car-fail-popup-stats article:first-child strong{color:#ff7770}
.car-popup-failure .car-fail-popup-stats article:last-child strong{color:#b9ced8}
@media(max-width:700px){.car-popup-failure .car-fail-popup-stats{grid-template-columns:1fr 1fr}.car-popup-failure .car-fail-popup-stats article:last-child{grid-column:auto}}

/* Local Natural Earth travel map (no Leaflet / no external tiles) */
.airport-real-map-shell{position:relative;background:#102633;border-bottom:1px solid #66899a;overflow:hidden}
.airport-real-map{position:relative;width:100%;aspect-ratio:2/1;min-height:330px;background:#102633;overflow:hidden;isolation:isolate}
.airport-local-map-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none;z-index:1}
.airport-local-route-layer{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:hidden}
.airport-local-marker-layer,.travel-flight-marker-layer{position:absolute;inset:0;z-index:4;pointer-events:none}
.airport-local-country-marker{display:grid;grid-template-rows:20px 9px;place-items:center;width:42px;height:42px;padding:3px;pointer-events:auto}
.airport-local-country-marker .airport-local-flag{font-size:17px;line-height:18px}
.airport-local-country-marker b{position:relative;z-index:2;font-size:7px;line-height:8px;color:#eff7fa;letter-spacing:.45px}
.airport-local-route,.travel-flight-local-route{fill:none;stroke:#ffd36b;stroke-width:4;stroke-dasharray:11 9;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(255,211,107,.42))}
.travel-flight-local-route{stroke-width:5;stroke-dasharray:14 10}
.real-map-legend{z-index:7;pointer-events:none}
.travel-flight-real-map{position:relative;width:100%;aspect-ratio:2/1;height:auto!important;min-height:285px;background:#102633;overflow:hidden}
.travel-flight-country-marker{pointer-events:none!important}
.travel-local-plane{position:absolute;left:50%;top:50%;z-index:6;font-size:31px;line-height:1;filter:drop-shadow(0 6px 5px rgba(0,0,0,.6));transform:translate(-50%,-50%);transform-origin:center;will-change:left,top,transform;pointer-events:none}

@media(max-width:900px){
  .airport-real-map{min-height:290px}
  .travel-flight-real-map{min-height:275px}
}
@media(max-width:650px){
  .airport-real-map{min-height:230px}
  .airport-local-country-marker{width:34px;height:34px;grid-template-rows:16px 8px;font-size:14px}
  .airport-local-country-marker .airport-local-flag{font-size:14px;line-height:15px}
  .airport-local-country-marker b{font-size:6px}
  .travel-flight-real-map{min-height:230px}
  .travel-local-plane{font-size:25px}
  .real-map-legend{left:7px;bottom:7px;right:7px;justify-content:center}
}

/* Smuggling market */
.smuggling-head{align-items:flex-start}
.smuggling-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}
.smuggling-status-grid .metric-card{display:flex;flex-direction:column;gap:4px;min-height:108px;padding:14px 16px;border:1px solid rgba(161,201,221,.42);border-radius:12px;background:#315c70;color:#f5fbff}
.smuggling-status-grid .metric-card small{font-size:11px;letter-spacing:.08em;color:#c9dce6}
.smuggling-status-grid .metric-card strong{font-size:26px;line-height:1.05}
.smuggling-status-grid .metric-card span{font-size:12px;color:#d6e5ec}
.smuggling-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.smuggling-market-panel{padding:0;overflow:hidden}
.smuggling-market-panel .classic-box-title{margin:0;padding:10px 12px}
.smuggling-form{padding:0 10px 10px}
.smuggling-table-wrap{overflow-x:auto}
.smuggling-table{width:100%;border-collapse:collapse}
.smuggling-table th,.smuggling-table td{padding:9px 8px;border-bottom:1px solid rgba(174,207,224,.28);text-align:left;vertical-align:middle}
.smuggling-table th{font-size:12px;letter-spacing:.04em;color:#d7e8f0;background:rgba(8,27,37,.28)}
.smuggling-table td:nth-child(2){width:130px}
.smuggling-table input[type=number]{width:100%;min-width:78px;padding:7px 8px;border:1px solid #7396a8;border-radius:6px;background:#173442;color:#fff;font:inherit}
.smuggling-table input[type=number]:focus{outline:2px solid rgba(107,198,238,.75);outline-offset:1px}
.smuggling-price{font-weight:800;color:#8be3a5;white-space:nowrap}
.smuggling-trade-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px}
.smuggling-mode-options{display:flex;gap:16px;flex-wrap:wrap}
.smuggling-mode-options label{display:flex;align-items:center;gap:6px;font-weight:700}
.smuggling-capacity-note{margin:9px 0 0;font-size:12px;color:#c7dce6}
.smuggling-info-panel{margin-top:12px;padding:0;overflow:hidden}
.smuggling-info-panel .classic-box-title{margin:0;padding:10px 12px}
.smuggling-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}
.smuggling-info-grid p{margin:0;padding:12px;border:1px solid rgba(172,205,221,.28);border-radius:8px;background:rgba(19,49,63,.42)}
.smuggling-info-grid strong,.smuggling-info-grid span{display:block}
.smuggling-info-grid span{margin-top:4px;color:#d0e1e8;font-size:13px;line-height:1.45}
@media (max-width:980px){.smuggling-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.smuggling-market-grid{grid-template-columns:1fr}.smuggling-info-grid{grid-template-columns:1fr}}
@media (max-width:560px){.smuggling-status-grid{grid-template-columns:1fr 1fr;gap:7px}.smuggling-status-grid .metric-card{min-height:94px;padding:11px}.smuggling-status-grid .metric-card strong{font-size:21px}.smuggling-table th,.smuggling-table td{padding:8px 5px}.smuggling-table td:nth-child(2){width:92px}.smuggling-trade-bar{align-items:stretch;flex-direction:column}.smuggling-trade-bar button{width:100%}}
.business-limit-notice{margin:0;border-bottom:1px solid rgba(178,207,222,.32);background:rgba(126,83,34,.22);color:#f5e4bf}.business-limit-notice strong{margin-right:6px}

/* Smuggling compact layout + country price board */
.smuggling-status-grid{gap:6px;margin-bottom:7px}
.smuggling-status-grid .metric-card{min-height:72px;padding:8px 10px;border-radius:7px;gap:2px}
.smuggling-status-grid .metric-card small{font-size:9px}
.smuggling-status-grid .metric-card strong{font-size:20px}
.smuggling-status-grid .metric-card span{font-size:10px}
.smuggling-market-grid{gap:8px}
.smuggling-market-panel .classic-box-title{padding:6px 9px}
.smuggling-form{padding:0 8px 7px}
.smuggling-table th,.smuggling-table td{padding:4px 6px}
.smuggling-table th{font-size:10px}
.smuggling-table td{font-size:13px}
.smuggling-table td:first-child{width:31%}
.smuggling-table td:nth-child(2){width:104px}
.smuggling-table input[type=number]{width:88px;min-width:0;height:29px;padding:3px 7px;border-radius:5px}
.smuggling-trade-bar{gap:8px;padding-top:6px}
.smuggling-mode-options{gap:10px;font-size:12px}
.smuggling-trade-bar button{padding:6px 10px;min-height:30px}
.smuggling-capacity-note{margin-top:5px;font-size:10px}
.smuggling-info-panel{margin-top:7px}
.smuggling-info-panel .classic-box-title{padding:6px 9px}
.smuggling-info-grid{gap:6px;padding:7px}
.smuggling-info-grid p{padding:7px;border-radius:5px}
.smuggling-info-grid strong{font-size:12px}
.smuggling-info-grid span{margin-top:2px;font-size:11px;line-height:1.3}
.smuggling-country-prices-link{display:flex;justify-content:center;margin:8px 0 0}
.smuggling-country-prices-link .button{padding:7px 12px;font-weight:700}
.smuggling-price-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.smuggling-price-refresh{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid rgba(161,201,221,.35);border-radius:6px;background:rgba(18,48,62,.5);font-size:11px}
.smuggling-price-refresh strong{color:#ffd85e}
.smuggling-prices-panel{margin-bottom:8px;padding:0;overflow:hidden}
.smuggling-prices-panel .classic-box-title{padding:6px 9px;margin:0}
.smuggling-prices-wrap{overflow-x:auto}
.smuggling-prices-table{width:100%;border-collapse:collapse;white-space:nowrap}
.smuggling-prices-table th,.smuggling-prices-table td{padding:6px 8px;border-right:1px solid rgba(174,207,224,.18);border-bottom:1px solid rgba(174,207,224,.20);text-align:right;font-size:12px}
.smuggling-prices-table th:first-child,.smuggling-prices-table td:first-child{text-align:left;position:sticky;left:0;z-index:2;background:#315c70}
.smuggling-prices-table thead th{background:#244b5d;color:#eef7fb;font-size:10px;letter-spacing:.02em}
.smuggling-prices-table thead th:first-child{z-index:3;background:#244b5d}
.smuggling-prices-table th small{display:block;margin-top:1px;font-size:8px;color:#ffd85e}
.smuggling-prices-table td:not(:first-child){font-weight:700;color:#8be3a5}
.smuggling-prices-table .is-current-country{background:rgba(255,216,94,.09)}
.smuggling-prices-note{margin:3px 0 0;text-align:center;font-size:10px;color:#c7dce6}
@media (max-width:560px){
  .smuggling-status-grid .metric-card{min-height:66px;padding:7px 8px}
  .smuggling-status-grid .metric-card strong{font-size:18px}
  .smuggling-table th,.smuggling-table td{padding:4px}
  .smuggling-table td:nth-child(2){width:82px}
  .smuggling-table input[type=number]{width:72px;height:28px}
  .smuggling-trade-bar{flex-direction:row;align-items:center}
  .smuggling-trade-bar button{width:auto}
  .smuggling-info-grid{grid-template-columns:1fr}
  .smuggling-price-head-actions{justify-content:flex-start}
}

/* Casino pages: directory-only overview + separate game pages */
.casino-district-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.casino-district-grid>.casino-directory-card{grid-column:span 2}
.casino-district-grid>.casino-directory-card:nth-last-child(2):nth-child(4),
.casino-district-grid>.casino-directory-card:last-child:nth-child(5){grid-column:span 3}
.casino-game-page-head{align-items:center}
.casino-page-actions{display:flex;align-items:center;gap:6px}
.scratch-game-panel{overflow:hidden}
.scratch-buy-layout{display:grid;grid-template-columns:minmax(240px,360px) minmax(260px,1fr);gap:14px;padding:14px}
.scratch-ticket-preview{min-height:190px;border:2px solid #8ba5b2;border-radius:10px;background:linear-gradient(145deg,#1b3544,#37687e);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}
.scratch-ticket-preview:before{content:"";position:absolute;inset:8px;border:1px dashed rgba(255,255,255,.34);border-radius:7px}
.scratch-preview-brand{font-size:29px;font-weight:900;letter-spacing:2px}
.scratch-ticket-preview>strong{font-size:17px;margin-top:4px}
.scratch-preview-strip{font-size:34px;letter-spacing:20px;margin:18px 0 8px;padding-left:20px}
.scratch-buy-form{align-self:center}
.scratch-buy-form>small{display:block;margin:7px 0 10px;color:#c8dae3;font-size:10px;line-height:1.4}
.scratch-stage{padding:14px}
.scratch-ticket-shell{max-width:720px;margin:0 auto;border:2px solid #d1a93d;border-radius:14px;background:#f4c64c;color:#102330;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.scratch-ticket-topline{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 14px;background:#17394a;color:#fff}
.scratch-ticket-topline>span{font-weight:900;letter-spacing:2px}
.scratch-ticket-topline>b{text-align:center}
.scratch-ticket-topline>small{font-size:10px}
.scratch-ticket-body{padding:14px;background:linear-gradient(135deg,#f7d467,#efb721)}
.scratch-reveal-area{height:220px;position:relative;overflow:hidden;border-radius:10px;border:2px solid #17394a;background:#f8f1da;touch-action:none;user-select:none}
.scratch-symbol-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center;padding:22px}
.scratch-symbol-grid>span{height:138px;display:grid;place-items:center;border:2px solid #c7a545;border-radius:12px;background:#fff9e9;font-size:62px;font-weight:900;color:#17394a;box-shadow:inset 0 0 0 5px #f1df9b}
.scratch-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;transition:opacity .35s ease;touch-action:none}
.scratch-canvas.is-cleared{cursor:default}
.scratch-ticket-footer{display:flex;justify-content:space-between;gap:12px;padding:9px 3px 0;font-size:11px;font-weight:700}
.scratch-progress-wrap{max-width:720px;margin:10px auto 0;display:flex;align-items:center;gap:10px}
.scratch-progress{height:8px;flex:1;border-radius:99px;background:#153746;overflow:hidden;border:1px solid #668899}
.scratch-progress>i{display:block;width:0;height:100%;background:#f3be32;transition:width .12s linear}
.scratch-progress-wrap>small{width:95px;text-align:right;font-size:9px;color:#c9dbe4}
.scratch-result-summary{max-width:720px;margin:12px auto 0;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #668899;border-radius:8px;background:#294f61}
.scratch-result-summary[hidden]{display:none!important}
.scratch-result-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#17394a;font-size:22px;font-weight:900}
.scratch-result-summary h2{margin:1px 0 3px;font-size:18px}
.scratch-result-summary p{margin:0;font-size:11px}
.scratch-result-summary small{font-size:9px;color:#c7d8e0}

@media(max-width:980px){
  .casino-district-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .casino-district-grid>.casino-directory-card,
  .casino-district-grid>.casino-directory-card:nth-last-child(2):nth-child(4),
  .casino-district-grid>.casino-directory-card:last-child:nth-child(5){grid-column:auto}
}
@media(max-width:700px){
  .casino-district-grid{grid-template-columns:1fr}
  .scratch-buy-layout{grid-template-columns:1fr;padding:10px}
  .scratch-ticket-preview{min-height:150px}
  .scratch-reveal-area{height:180px}
  .scratch-symbol-grid{padding:12px;gap:7px}
  .scratch-symbol-grid>span{height:120px;font-size:48px}
  .scratch-ticket-topline{grid-template-columns:1fr auto}
  .scratch-ticket-topline>b{grid-column:1/-1;grid-row:2;text-align:left}
  .scratch-result-summary{grid-template-columns:42px 1fr}
  .scratch-result-summary>.button{grid-column:1/-1;width:100%;text-align:center}
}
@media(max-width:430px){
  .scratch-reveal-area{height:150px}
  .scratch-symbol-grid>span{height:96px;font-size:40px}
  .scratch-ticket-footer{display:block}
}

/* Compact result popups — crime-card style */
.crime-popup-card.crime-result-compact{width:min(94vw,680px);border-radius:10px;background:#17303e;box-shadow:0 20px 55px rgba(0,0,0,.46);}
.crime-result-compact .crime-popup-close,.compact-car-result .crime-popup-close{right:9px;top:9px;width:29px;height:29px;font-size:18px;background:#173444;border-color:#6f8b99;}
.crime-result-compact .crime-popup-hero{min-height:300px;padding:22px 22px 20px;gap:14px;background-position:center 40%;background-size:cover;}
.crime-result-compact .crime-popup-badge{width:54px;height:54px;flex-basis:54px;border-radius:7px;font-size:26px;box-shadow:none;}
.crime-result-compact .crime-popup-copy small{font-size:8px;letter-spacing:.8px;}
.crime-result-compact .crime-popup-copy h2{margin:3px 0 5px;font-size:30px;line-height:1.08;}
.crime-result-compact .crime-popup-copy p{max-width:500px;font-size:13px;line-height:1.45;}
.crime-result-compact .crime-popup-stats{padding:0 12px;margin-top:-8px;gap:6px;}
.crime-result-compact .crime-popup-stats.single-stat{grid-template-columns:1fr;}
.crime-result-compact .crime-popup-stats article{padding:9px 10px;border-radius:5px;background:#24495b;box-shadow:none;}
.crime-result-compact .crime-popup-stats small{font-size:8px;letter-spacing:.65px;}
.crime-result-compact .crime-popup-stats strong{margin-top:2px;font-size:24px!important;}
.crime-result-compact .crime-popup-note{padding:10px 14px 2px;font-size:10px;line-height:1.35;}
.crime-result-compact .crime-popup-actions{padding:8px 12px 12px;}
.crime-result-compact .crime-popup-actions .primary{min-width:150px;padding:7px 13px;border-radius:4px;font-size:12px;font-weight:800;box-shadow:none;}
.crime-popup-success .crime-popup-badge{background:#34704d;color:#80f39a;}
.crime-popup-success .crime-popup-stats article{border-color:#4c7f61;}
.crime-popup-failure .crime-popup-card.crime-result-compact{border-color:#a44f4a;}
.crime-popup-failure .crime-popup-badge{background:#7f3633;color:#ffaaa5;box-shadow:none;}
.crime-popup-failure .crime-popup-actions .primary{background:#823a36;border-color:#b35752;box-shadow:none;}
.heist-result-popup .heist-popup-hero{min-height:142px;background:linear-gradient(115deg,#10232d 0%,#183848 62%,#20313a 100%);}
.heist-result-popup.crime-popup-failure .heist-popup-hero{background:linear-gradient(115deg,#10232d 0%,#243139 62%,#452526 100%);}

/* Compact vehicle success popup */
.car-result-card.compact-car-result{width:min(92vw,520px);border-radius:10px;background:#17303e;}
.compact-car-result .car-popup-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;border-bottom:1px solid #557889;}
.compact-car-result .car-popup-art{display:flex;align-items:center;justify-content:center;width:100%;min-height:178px;padding:14px 42px 4px;overflow:hidden;}
.compact-car-result .car-popup-art img{display:block;width:auto;max-width:100%;height:170px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.28));}
.compact-car-result .car-popup-hero.has-location-art .car-popup-art{height:auto;min-height:178px;}
.compact-car-result{position:relative;}
.compact-car-result .car-popup-copy{width:100%;padding:4px 42px 16px;text-align:center;align-items:center;}
.compact-car-result .car-popup-copy small{font-size:8px;letter-spacing:.8px;}
.compact-car-result .car-popup-number-corner{position:absolute;top:13px;left:14px;z-index:5;margin:0;padding:4px 8px;font-size:10px;line-height:1;border-radius:999px;}
.compact-car-result .car-popup-copy h2{width:100%;margin:5px 0 4px;font-size:21px;line-height:1.08;text-align:center;}
.compact-car-result .car-popup-copy p{font-size:10px;}
.compact-car-result .car-popup-stats{grid-template-columns:1fr 1fr;margin-top:-7px;padding:0 12px;gap:6px;}
.compact-car-result .car-popup-stats article{padding:9px 8px;border-radius:5px;background:#24495b;box-shadow:none;}
.compact-car-result .car-popup-stats small{font-size:8px;}
.compact-car-result .car-popup-stats strong{font-size:21px!important;margin-top:2px;}
.compact-car-result .crime-popup-note{padding:9px 12px 2px;font-size:10px;}
.compact-car-result .crime-popup-actions{padding:8px 12px 12px;gap:6px;flex-wrap:wrap;}
.compact-car-result .crime-popup-actions .primary{min-width:150px;padding:7px 12px;border-radius:4px;font-size:12px;box-shadow:none;}
.compact-car-result .crime-popup-actions button:not(.primary){padding:7px 12px;border-radius:4px;font-size:11px;}
.compact-car-result [data-car-popup-share]{background:#315a6d;border-color:#7195a6;color:#fff;}

@media(max-width:600px){
  .crime-popup-overlay{padding:10px;}
  .crime-popup-card.crime-result-compact,.car-result-card.compact-car-result{width:min(96vw,430px);}
  .crime-result-compact .crime-popup-hero{min-height:220px;padding:16px 16px 14px;background-position:center 38%;}
  .crime-result-compact .crime-popup-copy h2{font-size:23px;}
  .crime-result-compact .crime-popup-actions .primary{width:100%;}
  .compact-car-result .car-popup-hero{display:flex;flex-direction:column;min-height:0;}
  .compact-car-result .car-popup-art{min-height:150px;padding:12px 34px 2px;}
  .compact-car-result .car-popup-art img{height:145px;max-width:100%;}
  .compact-car-result .car-popup-copy{padding:4px 30px 12px;text-align:center;}
  .compact-car-result .car-popup-number-corner{top:11px;left:12px;font-size:9px;}
  .compact-car-result .car-popup-copy h2{font-size:18px;}
  .compact-car-result .crime-popup-actions{flex-direction:row;}
  .compact-car-result .crime-popup-actions .primary{width:100%;flex:1 0 100%;min-width:0;}
  .compact-car-result .crime-popup-actions button:not(.primary){width:auto;flex:1;min-width:0;}
}


/* === Casino page visual makeover === */
.casino-page-head-upgraded{align-items:center}
.casino-directory-panel-upgraded{padding:0!important;overflow:hidden;border-radius:10px!important;border:1px solid rgba(132,175,197,.55)!important;background:linear-gradient(180deg,rgba(57,93,111,.96),rgba(42,74,90,.96))!important;box-shadow:0 10px 30px rgba(3,11,17,.22)}
.casino-directory-panel-upgraded .classic-box-title{padding:13px 16px;background:linear-gradient(180deg,rgba(96,132,151,.34),rgba(62,98,116,.10));border-bottom:1px solid rgba(130,173,194,.28);font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.upgraded-casino-grid{gap:14px;background:transparent;padding:14px}
.casino-art-card{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:auto auto;gap:0;min-height:210px;background:linear-gradient(180deg,rgba(53,88,106,.98),rgba(41,72,87,.98));border:1px solid rgba(126,168,188,.42);border-radius:12px;overflow:hidden;box-shadow:0 14px 28px rgba(5,14,22,.2)}
.casino-art-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at top right,rgba(255,255,255,.08),transparent 40%)}
.casino-card-art-wrap{grid-row:1/3;position:relative;padding:14px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,rgba(25,44,57,.84),rgba(16,30,39,.92))}
.casino-card-art{height:100%;min-height:132px;border-radius:12px;overflow:hidden;border:1px solid rgba(126,168,188,.34);background:linear-gradient(180deg,rgba(32,55,70,.95),rgba(14,24,31,.98));display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.casino-card-art img{width:100%;height:100%;display:block;object-fit:cover}
.casino-card-art.no-image span{font-size:42px;font-weight:900;color:#fff}
.casino-status-pill{position:absolute;left:22px;bottom:22px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px)}
.casino-status-pill.status-sale{background:rgba(31,124,72,.88);color:#d9ffea}
.casino-status-pill.status-auction{background:rgba(166,109,23,.88);color:#fff3d1}
.casino-status-pill.status-owned{background:rgba(43,89,124,.88);color:#deefff}
.casino-status-pill.status-neutral{background:rgba(79,97,108,.88);color:#eff7fb}
.casino-game-copy{padding:16px 18px 10px 8px;min-width:0}
.casino-game-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.casino-game-copy>strong,.casino-game-heading>strong{display:block;font-size:24px;line-height:1.06;margin:0;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.25)}
.casino-game-symbol-inline{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border-radius:10px;border:1px solid rgba(126,168,188,.3);background:rgba(22,42,54,.62);font-weight:900;font-size:18px;color:#d9eaf2}
.casino-game-copy dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.casino-game-copy dl>div{display:block;padding:8px 10px;border:1px solid rgba(132,173,193,.18);border-radius:10px;background:rgba(22,42,54,.28)}
.casino-game-copy dt{font-size:10px;color:#c0d6e1;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.casino-game-copy dd{margin:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.casino-game-action{grid-column:2;display:flex;align-items:center;justify-content:flex-end;min-height:54px;padding:0 18px 16px 8px;background:transparent;border-top:none}
.casino-game-action .button{min-height:40px;padding:9px 16px;border-radius:10px;font-size:13px;font-weight:800;letter-spacing:.02em}
.casino-game-action .button.primary{box-shadow:0 0 0 1px rgba(104,218,180,.28),0 10px 18px rgba(12,58,49,.18)}
.casino-game-action>span{font-size:12px;color:#d1e0e7}
.casino-art-card.accent-gold .casino-card-art-wrap{background:linear-gradient(180deg,rgba(76,61,24,.82),rgba(28,23,10,.94))}
.casino-art-card.accent-amber .casino-card-art-wrap{background:linear-gradient(180deg,rgba(79,57,22,.82),rgba(29,22,9,.94))}
.casino-art-card.accent-pink .casino-card-art-wrap{background:linear-gradient(180deg,rgba(82,28,66,.84),rgba(31,12,24,.95))}
.casino-art-card.accent-cyan .casino-card-art-wrap{background:linear-gradient(180deg,rgba(20,65,74,.84),rgba(10,25,32,.95))}
.casino-art-card.accent-violet .casino-card-art-wrap{background:linear-gradient(180deg,rgba(63,40,79,.84),rgba(22,14,31,.95))}
.casino-art-card.accent-blue .casino-card-art-wrap{background:linear-gradient(180deg,rgba(24,51,89,.84),rgba(12,21,39,.95))}
.casino-art-card.accent-lime .casino-card-art-wrap{background:linear-gradient(180deg,rgba(47,79,28,.84),rgba(17,29,10,.95))}
.casino-art-card.accent-silver .casino-card-art-wrap{background:linear-gradient(180deg,rgba(58,64,72,.84),rgba(21,25,29,.95))}
.casino-art-card.is-playable{box-shadow:0 16px 36px rgba(5,14,22,.24),0 0 0 1px rgba(94,193,167,.15)}
.casino-art-card.is-playable .casino-game-heading strong::after{content:"";display:block;width:42px;height:3px;margin-top:7px;border-radius:999px;background:linear-gradient(90deg,#5fd49e,#7de7ff)}
.casino-local-grid.upgraded-casino-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.casino-district-grid.upgraded-casino-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.casino-district-grid.upgraded-casino-grid>.casino-directory-card{grid-column:auto}
@media (max-width:1180px){
  .casino-art-card{grid-template-columns:132px minmax(0,1fr)}
  .casino-game-copy>strong,.casino-game-heading>strong{font-size:21px}
  .casino-game-copy dd{font-size:14px}
}
@media (max-width:980px){
  .casino-local-grid.upgraded-casino-grid,.casino-district-grid.upgraded-casino-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .upgraded-casino-grid{padding:10px;gap:10px}
  .casino-local-grid.upgraded-casino-grid,.casino-district-grid.upgraded-casino-grid{grid-template-columns:1fr}
  .casino-art-card{grid-template-columns:118px minmax(0,1fr);min-height:190px;border-radius:10px}
  .casino-card-art-wrap{padding:10px}
  .casino-status-pill{left:16px;bottom:16px;font-size:9px;padding:4px 8px}
  .casino-game-copy{padding:12px 12px 8px 0}
  .casino-game-copy>strong,.casino-game-heading>strong{font-size:19px}
  .casino-game-symbol-inline{min-width:32px;height:32px;font-size:16px;border-radius:8px}
  .casino-game-copy dl{grid-template-columns:1fr 1fr;gap:6px 8px}
  .casino-game-copy dl>div{padding:7px 8px}
  .casino-game-action{padding:0 12px 12px 0;min-height:46px}
  .casino-game-action .button{width:100%;justify-content:center}
}
@media (max-width:460px){
  .casino-art-card{grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:0}
  .casino-card-art-wrap{grid-row:auto;padding:10px 10px 0 10px;background:linear-gradient(180deg,rgba(25,44,57,.84),rgba(25,44,57,.12))}
  .casino-card-art{min-height:150px}
  .casino-status-pill{position:static;align-self:flex-start;margin-top:8px}
  .casino-game-copy{padding:12px 12px 8px 12px}
  .casino-game-action{grid-column:auto;padding:0 12px 12px 12px}
  .casino-game-copy dl{grid-template-columns:1fr 1fr}
}
@media (max-width:360px){
  .casino-game-copy dl{grid-template-columns:1fr}
}

/* Casino compact tabbed directory refresh */
.casino-tabbed-panel{padding:0!important;overflow:hidden}
.casino-directory-tabs{display:flex;flex-wrap:wrap;gap:10px;padding:14px 14px 0 14px;border-bottom:1px solid rgba(130,173,194,.18)}
.casino-directory-tab{appearance:none;border:1px solid rgba(126,168,188,.34);background:rgba(19,37,48,.42);color:#d8e8ef;border-radius:12px;padding:10px 14px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:800;letter-spacing:.02em;transition:all .15s ease}
.casino-directory-tab small{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;color:#fff}
.casino-directory-tab:hover{transform:translateY(-1px);border-color:rgba(145,195,219,.46)}
.casino-directory-tab.is-active{background:linear-gradient(180deg,rgba(80,124,145,.55),rgba(43,78,94,.92));border-color:rgba(159,209,232,.54);box-shadow:0 12px 24px rgba(6,17,25,.16)}
.casino-directory-pane{display:none}
.casino-directory-pane.is-active{display:block}
.casino-directory-pane[hidden]{display:none!important}
.casino-pane-intro{padding:12px 14px 0 14px;color:#c4d8e2;font-size:12px}
.casino-compact-list{display:flex!important;flex-direction:column;gap:12px;padding:14px;background:transparent}
.casino-compact-list.casino-directory-grid{grid-template-columns:none!important}
.casino-list-card{grid-template-columns:136px minmax(0,1fr) auto;grid-template-rows:auto;align-items:stretch;min-height:0}
.casino-list-card .casino-card-art-wrap{grid-row:auto;padding:12px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}
.casino-list-card .casino-card-art{width:112px;height:112px;min-height:112px;flex:0 0 112px;border-radius:14px}
.casino-list-card .casino-status-pill{position:static;left:auto;bottom:auto;margin:0}
.casino-list-card .casino-game-copy{padding:14px 8px 14px 0;display:flex;flex-direction:column;justify-content:center}
.casino-list-card .casino-game-heading{margin-bottom:12px}
.casino-list-card .casino-game-copy>strong,.casino-list-card .casino-game-heading>strong{font-size:18px}
.casino-list-card .casino-game-copy dl{grid-template-columns:repeat(2,minmax(0,180px));gap:8px 12px}
.casino-list-card .casino-game-copy dl>div{padding:8px 10px}
.casino-list-card .casino-game-copy dd{font-size:14px}
.casino-list-card .casino-game-action{grid-column:3;align-self:stretch;justify-content:center;padding:14px 14px 14px 6px;min-width:112px}
.casino-list-card .casino-game-action .button{width:100%;justify-content:center;white-space:nowrap}
.casino-list-card .casino-game-action>span{max-width:110px;text-align:center;line-height:1.35}
@media (max-width:900px){
  .casino-list-card{grid-template-columns:120px minmax(0,1fr) 104px}
  .casino-list-card .casino-card-art{width:96px;height:96px;min-height:96px;flex-basis:96px}
}
@media (max-width:700px){
  .casino-directory-tabs{padding:10px 10px 0 10px;gap:8px}
  .casino-directory-tab{flex:1 1 calc(50% - 8px);justify-content:space-between;padding:10px 12px}
  .casino-pane-intro{padding:10px 10px 0 10px}
  .casino-compact-list{padding:10px;gap:10px}
  .casino-list-card{grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto}
  .casino-list-card .casino-card-art-wrap{padding:10px}
  .casino-list-card .casino-card-art{width:76px;height:76px;min-height:76px;flex-basis:76px;border-radius:12px}
  .casino-list-card .casino-status-pill{font-size:9px;padding:4px 8px}
  .casino-list-card .casino-game-copy{padding:10px 10px 8px 0}
  .casino-list-card .casino-game-copy>strong,.casino-list-card .casino-game-heading>strong{font-size:17px}
  .casino-list-card .casino-game-copy dl{grid-template-columns:1fr 1fr;gap:6px 8px}
  .casino-list-card .casino-game-copy dd{font-size:13px}
  .casino-list-card .casino-game-action{grid-column:1 / -1;grid-row:2;padding:0 10px 10px 10px;justify-content:flex-end;min-width:0}
  .casino-list-card .casino-game-action .button{width:auto;min-width:110px}
  .casino-list-card .casino-game-action>span{max-width:none;text-align:right}
}
@media (max-width:460px){
  .casino-directory-tab{flex:1 1 100%}
  .casino-list-card{grid-template-columns:86px minmax(0,1fr)}
  .casino-list-card .casino-card-art{width:68px;height:68px;min-height:68px;flex-basis:68px}
  .casino-list-card .casino-game-copy dl{grid-template-columns:1fr}
  .casino-list-card .casino-game-action{justify-content:stretch}
  .casino-list-card .casino-game-action .button{width:100%}
}


/* === Project X Family / Territory restoration (current source) === */
.sidebar nav .menu-category-heading{margin:7px 3px 5px;padding:7px 8px;border-top:1px solid rgba(205,214,218,.28);border-bottom:1px solid rgba(205,214,218,.28);background:rgba(172,182,187,.16);color:#f0f4f6;font-weight:800;text-align:center;letter-spacing:.45px;font-size:11px;line-height:1.25;cursor:default;user-select:none}
.family-page-head{align-items:center}.family-head-stats{display:flex;gap:8px;flex-wrap:wrap}.family-head-stats>span{min-width:150px;padding:9px 12px;border:1px solid rgba(131,173,193,.34);border-radius:7px;background:#294f61;display:grid;gap:2px}.family-head-stats small{font-size:9px;text-transform:uppercase;color:#c3d7e0}.family-head-stats strong{font-size:15px}.family-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 8px;padding:5px;border:1px solid #638596;border-radius:6px;background:#294f61}.family-tabs a{padding:7px 12px;border-radius:4px;color:#dceaf0;font-weight:700;text-decoration:none}.family-tabs a:hover,.family-tabs a.active{background:#456f83;color:#fff}.family-overview-top{display:grid;grid-template-columns:minmax(220px,.38fr) minmax(0,1fr);gap:8px;margin-bottom:8px}.family-logo-panel,.family-quote-box{margin:0!important}.family-logo-display{height:210px;display:grid;place-items:center;padding:14px;background:#1c3948;overflow:hidden}.family-logo-display img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.family-quote-box blockquote{min-height:210px;margin:0;padding:22px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:16px;font-style:italic;line-height:1.6;background:#31586b}.promotion-money-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:5px;padding:8px}.promotion-money-grid>div{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid #587b8c;background:#294f61}.family-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.7fr);gap:8px;margin:8px 0}.family-action-content{display:grid;gap:8px;padding:9px}.family-compact-form,.family-role-form{display:flex;gap:6px;align-items:end;flex-wrap:wrap}.family-compact-form label{flex:1 1 120px}.family-compact-form label span,.family-profile-form label span,.family-settings-grid label span{display:block;margin-bottom:3px;font-size:10px;color:#c9dbe4}.family-profile-form,.family-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px}.family-profile-form label,.family-settings-grid label{min-width:0}.family-profile-form textarea,.family-profile-form input,.family-settings-grid input{width:100%}.family-profile-form button,.family-settings-grid button{align-self:end}.family-checkbox-setting{display:flex!important;align-items:center!important;gap:7px}.family-checkbox-setting input{width:auto!important}.family-member-table td,.family-member-table th{vertical-align:middle}.family-business-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;padding:8px}.family-business-card{padding:9px;border:1px solid #5d8192;background:#294f61;display:grid;gap:3px}.caporegime-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px;padding:8px}.caporegime-card{border:1px solid #638596;background:#294f61;border-radius:6px;overflow:hidden}.caporegime-card>header{display:flex;justify-content:space-between;align-items:start;padding:10px;background:#355f73;border-bottom:1px solid #638596}.caporegime-card h3{margin:2px 0}.caporegime-member-list{display:grid}.caporegime-member-list>div{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(99,133,150,.45)}.caporegime-member-list>div>span{display:grid}.caporegime-add-member-box{padding:10px;display:grid;gap:8px}.caporegime-assign-form{display:flex;gap:6px}.caporegime-assign-form select{flex:1;min-width:0}

/* Recruitment Centre */
.recruitment-page-head{align-items:center}.recruitment-wallet{min-width:170px;padding:10px 14px;border:1px solid #638596;border-radius:7px;background:#294f61;display:grid}.recruitment-wallet small{font-size:9px;text-transform:uppercase;color:#c7dbe4}.recruitment-wallet strong{font-size:16px}.family-recruitment-centre{overflow:hidden}.family-recruitment-table-wrap{overflow-x:auto;padding:8px}.family-recruitment-table{width:100%;border-collapse:collapse;min-width:850px}.family-recruitment-table th{padding:8px 10px;text-align:left;background:#294754;border:1px solid #5d7f8e;color:#fff;font-size:11px}.family-recruitment-table td{padding:8px 10px;border:1px solid #5d7f8e;background:#355d70;vertical-align:middle}.family-recruitment-table tbody tr:nth-child(even) td{background:#31586a}.family-recruitment-name>a{display:flex;align-items:center;gap:9px}.family-recruitment-name img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:1px solid #7899a8}.family-recruitment-action{display:flex;align-items:center;gap:5px;justify-content:flex-end}.family-recruitment-action form{margin:0}.recruitment-state{display:inline-block;font-weight:800}.recruitment-state.open{color:#68e49a}.recruitment-state.closed{color:#b9c6cc}.family-recruitment-table td>small{display:block;margin-top:2px;font-size:9px;color:#c9dbe4}.family-recruitment-footer{display:flex;gap:7px;padding:0 8px 8px;justify-content:flex-end}.family-directory-list{display:grid;gap:5px;padding:8px}.family-directory-row{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(110px,.45fr)) minmax(110px,.4fr) auto;gap:6px;align-items:center;padding:7px;border:1px solid #5d8192;background:#31586a}.family-directory-main{display:flex;align-items:center;gap:8px}.family-directory-main>div{display:grid}.family-directory-logo{width:42px;height:42px;object-fit:cover;border-radius:50%}.family-directory-stat{display:grid}.family-directory-stat small{font-size:9px;color:#c9dbe4}.family-directory-actions{display:flex;justify-content:flex-end}

/* Territory / City Map */
.family-territory-head{align-items:center}.family-country-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:5px;margin-bottom:8px}.family-country-tabs a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border:1px solid #638596;background:#294f61;border-radius:5px;text-decoration:none}.family-country-tabs a.active{background:#456f83;border-color:#8db0c0}.family-country-tabs small{font-size:9px;color:#c6dae3}.family-territory-status-grid,.family-map-location-bar,.family-spot-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:1px;background:#638596}.family-territory-status-grid>div,.family-map-location-bar>div,.family-spot-info-grid>div{padding:8px 10px;background:#31586a;display:grid;gap:2px}.family-territory-status-grid small,.family-map-location-bar small,.family-spot-info-grid small{font-size:9px;color:#c7d9e2;text-transform:uppercase}.family-territory-status-grid strong,.family-map-location-bar strong,.family-spot-info-grid strong{font-size:14px}.family-map-box{overflow:hidden}.family-map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:9px 10px;border-top:1px solid #638596;border-bottom:1px solid #638596;background:#294f61}.family-map-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.family-map-legend img{display:block!important;width:28px!important;height:28px!important;max-width:28px!important;max-height:28px!important;object-fit:contain!important;border-radius:50%}.family-map-legend .you{color:#ecd86c}.family-map-legend .free{color:#e4edf1}.family-map-legend .ours{color:#76e697}.family-map-legend .other{color:#e0b581}.family-map-legend .business{color:#75d2ed}.family-real-map-shell{position:relative;overflow:hidden;width:min(100%,1040px);height:clamp(560px,66vh,720px);margin:0 auto;background:#071c27;border:1px solid #638596;border-top:0}.family-real-country-map{position:absolute;inset:0;overflow:hidden}.family-real-map-image,.family-territory-region-svg{position:absolute!important;display:block;max-width:none!important;max-height:none!important;transform:none!important;transform-origin:0 0}.family-real-map-image{z-index:1;user-select:none;pointer-events:none}.family-real-country-map.is-country-only .family-real-map-image{opacity:0!important;visibility:hidden}.family-territory-region-svg{z-index:2;overflow:visible;pointer-events:none}.family-territory-country-base{fill:#566873;stroke:#a5b4bc;stroke-width:2.2;vector-effect:non-scaling-stroke;pointer-events:none}.family-territory-country-outline{fill:none;stroke:#a5b4bc;stroke-width:2.2;vector-effect:non-scaling-stroke;pointer-events:none}.family-territory-region-root{pointer-events:auto}.family-territory-region{stroke:#63bedc;stroke-width:1.35;fill:rgba(94,157,181,.28);cursor:pointer;transition:fill .12s ease,stroke .12s ease}.family-territory-region.is-free{fill:rgba(88,153,180,.30)}.family-territory-region.is-owned{fill:rgba(90,119,130,.24)}.family-territory-region.is-ours{fill:rgba(75,154,104,.22);stroke:#6be097}.family-territory-logo-fill{pointer-events:none}.family-real-marker-layer{position:absolute;inset:0;z-index:4;pointer-events:none}.family-real-map-marker{position:absolute;transform:translate(-50%,-50%);padding:0;border:0;background:transparent!important;box-shadow:none!important;pointer-events:auto;cursor:pointer;z-index:5}.family-real-map-marker>b{display:none}.family-map-free-pin{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#4d91ad;border:3px solid #d5edf6;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.45);font-size:13px}.family-logo-marker,.family-business-icon{display:grid;place-items:center;width:34px;height:34px}.family-logo-marker img,.family-business-icon img{display:block;width:100%!important;height:100%!important;max-width:34px!important;max-height:34px!important;object-fit:contain!important;filter:drop-shadow(0 2px 5px rgba(0,0,0,.55))}.family-real-map-marker.is-current-city::after{content:'';position:absolute;inset:-7px;border:2px solid #efd968;border-radius:50%;pointer-events:none}.family-map-corner-label{position:absolute;right:14px;top:14px;z-index:7;padding:8px 13px;border:1px solid #7899a8;border-radius:7px;background:rgba(25,52,66,.94);font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.25)}.family-map-note{margin:0;padding:9px 12px;background:#31586a;color:#cbdce4}.territory-business-assets{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:7px;padding:8px}.territory-business-asset{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:center;text-align:left}.territory-business-asset img{width:40px;height:40px;object-fit:contain}.territory-business-asset span{display:grid}.territory-asset-popup[hidden]{display:none!important}.territory-asset-popup{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px}.territory-asset-popup-backdrop{position:absolute;inset:0;background:rgba(3,13,19,.72)}.territory-asset-popup-card{position:relative;width:min(92vw,520px);max-height:85vh;overflow:auto;padding:16px;border:1px solid #7899a8;border-radius:8px;background:#31586a;color:#fff;box-shadow:0 20px 55px rgba(0,0,0,.5)}.territory-asset-popup-close{position:absolute;right:8px;top:8px;width:32px;height:32px;padding:0;z-index:2}.territory-popup-head{display:flex;align-items:center;gap:12px;padding-right:34px}.territory-popup-icon,.territory-popup-free-pin{width:58px;height:58px;object-fit:contain;flex:0 0 58px}.territory-popup-free-pin{display:grid;place-items:center;border-radius:50%;background:#4d91ad;border:3px solid #d5edf6}.territory-popup-head h2{margin:2px 0}.territory-popup-head p{margin:0}.territory-popup-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px}.territory-popup-stats>div{padding:8px;border:1px solid #668a9c;background:#294f61;display:grid}.territory-popup-stats small{font-size:9px;color:#c8dae3}.territory-popup-balance,.territory-popup-message{margin-top:8px;padding:8px;border:1px solid #668a9c;background:#294f61}.territory-popup-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;margin-top:12px}.territory-popup-actions form{margin:0}.family-spot-management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:8px}.family-crew-table-wrap{padding:8px;overflow:auto}
@media(max-width:900px){.family-dashboard-grid{grid-template-columns:1fr}.family-profile-form,.family-settings-grid{grid-template-columns:1fr}.family-directory-row{grid-template-columns:1fr 1fr 1fr}.family-directory-main{grid-column:1/-1}.family-directory-actions{justify-content:flex-start}.family-overview-top{grid-template-columns:1fr .9fr}.family-logo-display,.family-quote-box blockquote{min-height:170px;height:170px}}
@media(max-width:700px){.family-overview-top{grid-template-columns:1fr}.family-logo-display{height:180px}.family-quote-box blockquote{min-height:0;height:auto}.family-head-stats{width:100%}.family-head-stats>span{flex:1}.family-real-map-shell{height:520px}.family-map-legend{gap:8px;font-size:11px}.family-map-legend img{width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important}.family-country-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.family-recruitment-footer{justify-content:stretch;flex-direction:column}.family-recruitment-footer .button{text-align:center}.caporegime-grid{grid-template-columns:1fr}.caporegime-assign-form{flex-direction:column}.family-directory-row{grid-template-columns:1fr 1fr}.family-directory-main{grid-column:1/-1}.family-directory-actions{grid-column:1/-1}}
@media(max-width:430px){.family-real-map-shell{height:500px}.family-map-location-bar,.family-territory-status-grid{grid-template-columns:1fr 1fr}.family-map-corner-label{right:8px;top:8px;font-size:11px}.territory-popup-stats{grid-template-columns:1fr}.family-country-tabs{grid-template-columns:1fr}.family-directory-row{grid-template-columns:1fr}.family-directory-stat,.family-directory-actions{grid-column:auto}}

/* Family logo + Recruitment Centre compact refinement */
.family-logo-display{
  height:230px;
  min-height:230px;
  padding:12px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.family-logo-display img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.family-quote-box blockquote{min-height:230px;height:230px}

.recruitment-page-head{margin-bottom:6px!important}
.recruitment-page-head h1{margin-bottom:2px}
.recruitment-page-head p{margin:0;font-size:11px;line-height:1.35}
.recruitment-wallet{min-width:145px;padding:7px 10px}
.recruitment-wallet strong{font-size:14px}
.family-recruitment-centre{margin-bottom:6px!important}
.family-recruitment-table-wrap{padding:6px}
.family-recruitment-table{min-width:790px}
.family-recruitment-table th{padding:6px 8px;font-size:10px}
.family-recruitment-table td{padding:6px 8px;font-size:12px}
.family-recruitment-logo-head{width:58px;padding-left:5px!important;padding-right:5px!important}
.family-recruitment-logo-cell{width:58px;padding:5px!important;text-align:center}
.family-recruitment-logo-cell a{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px}
.family-recruitment-logo-cell img{display:block!important;width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;object-fit:contain!important;border-radius:6px;border:1px solid #7899a8;background:#193645}
.family-recruitment-name{white-space:nowrap;min-width:145px}
.family-recruitment-name strong{font-size:13px}
.family-recruitment-action{gap:4px}
.family-recruitment-action .button,.family-recruitment-action button{padding:6px 10px;min-height:32px;font-size:11px}
.family-recruitment-table td>small{margin-top:1px;font-size:8px}
.family-recruitment-footer{padding:0 6px 6px;gap:5px}
.family-recruitment-footer .button{padding:7px 11px;font-size:11px}

@media(max-width:900px){
  .family-logo-display,.family-quote-box blockquote{height:200px;min-height:200px}
}
@media(max-width:700px){
  .family-logo-display{height:210px;min-height:210px}
  .family-quote-box blockquote{height:auto;min-height:0}
  .recruitment-page-head{gap:6px}
  .recruitment-wallet{width:100%;min-width:0}
}


/* === 2026-08-21 Project X family/map fixes === */
/* Keep promotion amounts inside their own boxes, even for six-figure values. */
.promotion-money-grid{
  grid-template-columns:repeat(auto-fit,minmax(185px,1fr));
}
.promotion-money-grid>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  min-width:0;
  gap:8px;
}
.promotion-money-grid>div>span{
  min-width:0;
  font-size:15px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.promotion-money-grid>div>strong{
  min-width:0;
  justify-self:end;
  white-space:nowrap;
  font-size:15px;
  line-height:1.25;
}

/* Match the thin territory-cell borders from the reference City Map.
   Non-scaling strokes stay thin when the country map is zoomed on mobile. */
.family-territory-region{
  stroke-width:1px;
  vector-effect:non-scaling-stroke;
  shape-rendering:geometricPrecision;
}
.family-territory-region.is-ours{
  stroke-width:1px;
}

@media(max-width:430px){
  .promotion-money-grid{grid-template-columns:1fr;}
}

/* === Jail page + jail result popup fix (2026-08-21) === */
.jail-page-head{margin-bottom:6px}
.jail-page-head h1{font-size:20px;margin-bottom:3px}
.jail-page-head p{font-size:11px;line-height:1.35}
.jail-page-head .online-box{min-width:150px;padding:7px 10px}
.jail-page-head .online-box strong{font-size:18px}
.jail-page-head .online-box small{font-size:10px}

.jail-self-card,.jail-country-list{margin-bottom:6px}
.jail-self-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.jail-self-status,.jail-buyout-box{min-width:0;padding:9px 10px;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:5px 8px;align-items:center}
.jail-self-status{border-right:1px solid #66889a}
.jail-self-status small,.jail-buyout-box small{font-size:8px;letter-spacing:.7px;color:#c7d8e0}
.jail-self-status strong{font-size:18px;color:#fff;white-space:nowrap}
.jail-self-status span,.jail-buyout-box span{font-size:10px;line-height:1.3;color:#d6e2e7;min-width:0}
.jail-buyout-box strong{font-size:18px;color:#69ef7d;white-space:nowrap}
.jail-buyout-box form{grid-column:1/-1;margin:0}
.jail-buyout-box button{padding:6px 11px;font-size:10px}

.jail-prisoner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px}
.jail-prisoner-card{min-width:0;border:1px solid #66899a;background:#31586a}
.jail-prisoner-card.is-self{border-color:#7da0af;background:#365f72}
.jail-prisoner-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-bottom:1px solid #66899a}
.jail-prisoner-head>div{display:flex;align-items:baseline;gap:4px;min-width:0}
.jail-prisoner-head strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jail-prisoner-head small{font-size:9px;color:#c8d8df;white-space:nowrap}
.jail-prisoner-head>span{font-size:12px;font-weight:800;white-space:nowrap;color:#fff}
.jail-prisoner-card>p{margin:0;padding:7px 9px;font-size:10px;line-height:1.3;color:#d9e4e9;min-height:39px}
.jail-prisoner-actions{display:flex;justify-content:flex-end;align-items:center;min-height:34px;padding:5px 8px;border-top:1px solid #55798b}
.jail-prisoner-actions button{padding:5px 9px;font-size:9px}
.jail-self-badge{padding:4px 8px;border:1px solid #5e8799;border-radius:5px;background:#294f61;color:#dce8ed;font-size:9px;font-weight:700}

/* Breakout modal */
.jail-breakout-overlay[hidden]{display:none!important}
.jail-breakout-overlay{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:16px}
.jail-breakout-backdrop{position:absolute;inset:0;background:rgba(4,14,20,.78);backdrop-filter:blur(3px)}
.jail-breakout-card{position:relative;width:min(94vw,520px);padding:16px;border:1px solid #7397a8;border-radius:9px;background:#23495c;color:#fff;box-shadow:0 22px 60px rgba(0,0,0,.55)}
.jail-breakout-x{position:absolute;right:9px;top:9px;width:30px;height:30px;padding:0;border-radius:50%;font-size:18px;line-height:1}
.jail-breakout-card>small{display:block;padding-right:36px;font-size:8px;letter-spacing:1px;color:#bcd1da}
.jail-breakout-card h2{margin:3px 36px 5px 0;font-size:20px}
.jail-breakout-card p{margin:0 0 13px;font-size:10px;line-height:1.4;color:#d1dfe5}
.jail-breakout-track{position:relative;height:34px;border:1px solid #6d91a2;border-radius:5px;background:#152f3c;overflow:hidden;cursor:pointer}
.jail-breakout-track i{position:absolute;top:0;bottom:0;background:#2b8f4a;border-left:1px solid #72f18a;border-right:1px solid #72f18a}
.jail-breakout-track b{position:absolute;top:-1px;bottom:-1px;width:3px;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.8);transform:translateX(-1px)}
.jail-breakout-scale{display:flex;justify-content:space-between;margin-top:3px;color:#abc2cc;font-size:8px}
.jail-breakout-card form{margin-top:11px;text-align:center}
.jail-breakout-card .big{min-width:150px;padding:8px 20px;font-size:13px}

/* Caught-by-police result popup */
.jail-caught-overlay{position:fixed;inset:0;z-index:170;display:flex;align-items:center;justify-content:center;padding:16px}
.jail-caught-backdrop{position:absolute;inset:0;background:rgba(4,13,19,.80);backdrop-filter:blur(4px);transition:opacity .15s ease}
.jail-caught-card{position:relative;width:min(94vw,500px);border:1px solid #8e5551;border-radius:10px;background:#17303e;color:#fff;box-shadow:0 22px 65px rgba(0,0,0,.58);overflow:hidden;animation:jailCaughtIn .16s ease-out;transition:opacity .15s ease,transform .15s ease}
.jail-caught-overlay.closing .jail-caught-card{opacity:0;transform:translateY(6px) scale(.99)}
.jail-caught-overlay.closing .jail-caught-backdrop{opacity:0}
.jail-caught-close{position:absolute;right:9px;top:9px;z-index:3;width:30px;height:30px;padding:0;border-radius:50%;font-size:18px;line-height:1;background:#173444;border-color:#708c9a}
.jail-caught-title{display:flex;align-items:center;gap:9px;padding:13px 48px 10px 13px;border-bottom:1px solid #557889;background:#1d3b4b}
.jail-caught-title>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:5px;background:#7e3734;color:#ffaaa6;font-size:21px;font-weight:900}
.jail-caught-title small{display:block;font-size:8px;letter-spacing:.9px;color:#d6aaa7}
.jail-caught-title h2{margin:1px 0 0;font-size:20px;line-height:1.1}
.jail-caught-main{display:grid;grid-template-columns:175px minmax(0,1fr);min-height:150px;border-bottom:1px solid #557889;background:#193543}
.jail-prisoner-art{min-width:0;overflow:hidden;background:#102936}
.jail-prisoner-art img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:150px!important;object-fit:cover!important;object-position:center 24%!important}
.jail-caught-details{display:flex;flex-direction:column;justify-content:center;padding:13px}
.jail-caught-details small{font-size:8px;letter-spacing:.75px;color:#bfd0d8}
.jail-popup-timer{display:block;margin:3px 0 5px;font-size:29px;line-height:1;color:#ffcf66}
.jail-caught-details p{margin:0;font-size:10px;line-height:1.4;color:#d5e2e7}
.jail-caught-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid #557889}
.jail-caught-stats>div{min-width:0;padding:9px 10px;text-align:center;background:#24495b;border-right:1px solid #557889}
.jail-caught-stats>div:last-child{border-right:0}
.jail-caught-stats small{display:block;font-size:7px;letter-spacing:.6px;text-transform:uppercase;color:#bcd0d8}
.jail-caught-stats strong{display:block;margin-top:2px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jail-caught-actions{display:flex;justify-content:center;gap:6px;padding:9px 11px 11px;background:#17303e}
.jail-caught-actions button{min-width:120px;padding:7px 12px;border-radius:4px;font-size:10px;font-weight:700}
.jail-caught-actions .primary{background:#823a36;border-color:#b35752}
@keyframes jailCaughtIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(max-width:760px){
  .jail-self-grid{grid-template-columns:1fr}
  .jail-self-status{border-right:0;border-bottom:1px solid #66889a}
  .jail-prisoner-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .jail-page-head{align-items:flex-start;gap:7px}
  .jail-page-head .online-box{min-width:0;width:auto;flex:0 0 auto}
  .jail-page-head p{font-size:10px}
  .jail-self-status,.jail-buyout-box{grid-template-columns:auto auto;gap:4px 7px}
  .jail-self-status span,.jail-buyout-box span{grid-column:1/-1}
  .jail-caught-overlay,.jail-breakout-overlay{padding:9px}
  .jail-caught-card{width:min(97vw,430px)}
  .jail-caught-main{grid-template-columns:125px minmax(0,1fr);min-height:126px}
  .jail-prisoner-art img{max-height:126px!important}
  .jail-popup-timer{font-size:24px}
  .jail-caught-stats{grid-template-columns:1fr 1fr 1fr}
  .jail-caught-stats>div{padding:7px 5px}
  .jail-caught-stats strong{font-size:10px}
  .jail-caught-actions button{min-width:0;flex:1}
}
@media(max-width:380px){
  .jail-caught-main{grid-template-columns:105px minmax(0,1fr)}
  .jail-caught-title h2{font-size:18px}
  .jail-prisoner-head{align-items:flex-start}
  .jail-prisoner-head>div{display:grid;gap:1px}
}

/* 2026-08-21 Family public profile + Casino layout repair */
.family-public-top-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);
  gap:6px;
  align-items:stretch;
}
.family-public-top-grid>.classic-dashboard-box{min-width:0;margin-bottom:6px}
.family-public-logo-box{display:flex;flex-direction:column}
.family-public-logo-wrap{
  flex:1;
  min-height:240px;
  padding:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#294f61;
}
.family-public-logo-wrap img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.family-public-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.family-public-info-copy{padding:9px 10px;border-bottom:1px solid #66889a;background:#315568}
.family-public-quote blockquote{margin:0;padding:10px;background:#294f61}
.family-public-join-content{padding:9px 10px}
.family-public-join-content p{margin:0}

.casino-photo-section{padding:0;overflow:hidden}
.casino-photo-section-title{
  padding:7px 10px;
  background:linear-gradient(180deg,#486a7c,#38586a);
  border-bottom:1px solid #7a98a7;
  font-size:15px;
  font-weight:800;
}
.casino-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:8px;
}
.casino-photo-tile{
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #668a9b;
  border-radius:5px;
  background:#31586a;
}
.casino-photo-art{
  width:100%;
  aspect-ratio:16/8;
  min-height:0;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#142f3d;
  border-bottom:1px solid #668a9b;
}
.casino-photo-art img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.casino-photo-art>span{font-size:42px;font-weight:900}
.casino-photo-name-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 9px;
  border-bottom:1px solid #5f8191;
  background:#294f61;
}
.casino-photo-name-row>strong{font-size:15px;line-height:1.2}
.casino-photo-status{
  flex:0 0 auto;
  padding:3px 6px;
  border:1px solid #668a9b;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.casino-photo-status.is-sale{color:#78f590;border-color:#57c96d;background:#285c45}
.casino-photo-status.is-auction{color:#ffd26e;border-color:#c69a43;background:#5b4824}
.casino-photo-status.is-owned{color:#9fddff;border-color:#66a9ca;background:#294f61}
.casino-photo-status.is-neutral{color:#cbd8de}
.casino-photo-details{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#5f8191}
.casino-photo-details>div{
  min-width:0;
  padding:6px 8px;
  display:grid;
  gap:2px;
  background:#355d70;
}
.casino-photo-details span{font-size:9px;color:#c8dbe4;text-transform:uppercase;letter-spacing:.04em}
.casino-photo-details b{font-size:13px;overflow-wrap:anywhere}
.casino-photo-action{
  margin-top:auto;
  min-height:45px;
  padding:6px 8px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  border-top:1px solid #668a9b;
  background:#294f61;
}
.casino-photo-action .button{padding:6px 11px;border-radius:4px;font-size:12px}

@media(max-width:1050px){
  .casino-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .family-public-top-grid{grid-template-columns:1fr}
  .family-public-logo-wrap{min-height:190px;height:220px;flex:none}
}
@media(max-width:620px){
  .casino-photo-grid{grid-template-columns:1fr}
  .casino-photo-art{aspect-ratio:16/7}
  .casino-photo-details{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){
  .casino-photo-details{grid-template-columns:1fr}
  .family-public-actions{width:100%;justify-content:stretch}
  .family-public-actions .button{flex:1;text-align:center}
}

/* === Compact Jail layout + Breakout Experience (2026-08-21) === */
.jail-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:6px;
  margin-bottom:6px;
}
.jail-overview-grid>.classic-dashboard-box,
.jail-self-card,
.jail-country-list{
  min-width:0;
  margin-bottom:0;
  border-radius:0;
}
.jail-experience-content{padding:9px 10px 8px}
.jail-experience-value{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
.jail-experience-value strong{font-size:20px;line-height:1;color:#62ef78;white-space:nowrap}
.jail-experience-value small{font-size:9px;color:#d0dde3;text-align:right}
.jail-experience-track{height:12px;border:1px solid #678b9c;background:#173746;overflow:hidden}
.jail-experience-track>i{display:block;height:100%;min-width:0;background:#2b9a4d;border-right:1px solid #72ef8a}
.jail-experience-content p{margin:5px 0 0;font-size:8px;line-height:1.25;color:#bcd0d9}

.jail-status-list{display:grid}
.jail-status-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:27px;padding:4px 9px;border-bottom:1px solid #587d8f}
.jail-status-list>div:last-child{border-bottom:0}
.jail-status-list span{min-width:0;font-size:9px;color:#d3e0e5}
.jail-status-list strong{font-size:10px;color:#fff;white-space:nowrap}
.jail-status-list strong>span{font-size:10px;color:#ffcf66}

.jail-self-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.jail-self-status,.jail-buyout-box{padding:7px 9px;border-radius:0}
.jail-buyout-box{grid-template-columns:auto auto minmax(0,1fr) auto}
.jail-self-status strong,.jail-buyout-box strong{font-size:16px}
.jail-buyout-box form{grid-column:auto;margin:0}
.jail-buyout-box button{padding:4px 9px}

.jail-list-table{width:100%;overflow:hidden}
.jail-list-row{
  display:grid;
  grid-template-columns:minmax(175px,1.15fr) minmax(145px,.9fr) minmax(260px,2fr) 90px 105px;
  align-items:stretch;
  min-width:0;
  border-bottom:1px solid #587d8f;
  background:#31586a;
}
.jail-list-row:last-child{border-bottom:0}
.jail-list-row.is-self{background:#365f72}
.jail-list-row>*{min-width:0;padding:6px 8px;border-right:1px solid #587d8f}
.jail-list-row>*:last-child{border-right:0}
.jail-list-header{min-height:27px;background:#223f4e;color:#fff;font-size:8px;font-weight:800;letter-spacing:.45px;text-transform:uppercase}
.jail-list-header>span{display:flex;align-items:center;padding-top:5px;padding-bottom:5px}
.jail-list-player{display:grid;align-content:center;gap:1px}
.jail-list-player strong{min-width:0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jail-list-player small{font-size:8px;color:#bdd0d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jail-list-family,.jail-list-reason{display:flex;align-items:center;font-size:9px;line-height:1.2;color:#d8e4e9;overflow:hidden;text-overflow:ellipsis}
.jail-list-time{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;white-space:nowrap}
.jail-list-action{display:flex;align-items:center;justify-content:center;padding:4px 6px}
.jail-list-action button{width:100%;padding:4px 6px;font-size:8px;white-space:nowrap}
.jail-list-action .jail-self-badge{width:100%;padding:4px 5px;border-radius:0;text-align:center;font-size:8px}

.jail-breakout-card{border-radius:3px}

@media(max-width:860px){
  .jail-list-row{grid-template-columns:minmax(150px,1fr) minmax(120px,.8fr) minmax(210px,1.5fr) 82px 95px}
  .jail-list-row>*{padding-left:6px;padding-right:6px}
}
@media(max-width:760px){
  .jail-overview-grid{grid-template-columns:1fr}
  .jail-self-grid{grid-template-columns:1fr}
  .jail-list-header{display:none}
  .jail-list-row{grid-template-columns:minmax(0,1fr) 92px}
  .jail-list-row>*{border-right:0;border-bottom:1px solid #587d8f}
  .jail-list-player{grid-column:1;grid-row:1}
  .jail-list-time{grid-column:2;grid-row:1;border-left:1px solid #587d8f}
  .jail-list-family{grid-column:1/-1;grid-row:2;padding-top:4px;padding-bottom:4px}
  .jail-list-reason{grid-column:1;grid-row:3;border-bottom:0}
  .jail-list-action{grid-column:2;grid-row:3;border-left:1px solid #587d8f;border-bottom:0}
}
@media(max-width:520px){
  .jail-experience-value{align-items:flex-start;flex-direction:column;gap:3px}
  .jail-experience-value small{text-align:left}
  .jail-status-list>div{min-height:25px}
  .jail-self-status,.jail-buyout-box{grid-template-columns:auto minmax(0,1fr);gap:4px 7px}
  .jail-buyout-box form{grid-column:1/-1}
  .jail-list-row{grid-template-columns:minmax(0,1fr) 80px}
  .jail-list-family,.jail-list-reason{font-size:8px}
}

/* === Player avatars (2026-08-21) === */
.px-user-profile-hero{display:flex;align-items:center;gap:14px;margin:0 0 8px;padding:10px;border:1px solid #638697;background:#294f61}
.px-user-profile-avatar{flex:0 0 132px;width:132px;height:132px;display:grid;place-items:center;overflow:hidden;border:1px solid #7597a7;background:#173746}
.px-user-profile-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.px-user-profile-avatar>span{font-size:58px;line-height:1}
.px-user-profile-name{min-width:0}
.px-user-profile-name h1{margin:2px 0 6px}
.px-profile-avatar-edit{display:inline-block;margin-top:8px;padding:6px 10px;font-size:10px}
.account-avatar-settings{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;align-items:start}
.account-avatar-preview{width:132px;height:132px;display:grid;place-items:center;overflow:hidden;border:1px solid #7597a7;background:#173746}
.account-avatar-preview img{width:100%;height:100%;display:block;object-fit:cover}
.account-avatar-preview span{font-size:58px;line-height:1}
.account-avatar-controls h3{margin:0 0 5px}
.account-avatar-controls form{display:grid;gap:8px}
.account-avatar-controls input[type=file]{width:100%;max-width:460px;padding:7px;border:1px solid #638697;background:#203f50;color:#fff}
.account-avatar-actions{display:flex;flex-wrap:wrap;gap:6px}
.account-avatar-actions .danger{background:#8f3434;border-color:#ba5555;color:#fff}
@media(max-width:620px){
 .px-user-profile-hero{align-items:flex-start}
 .px-user-profile-avatar{flex-basis:96px;width:96px;height:96px}
 .px-user-profile-avatar>span{font-size:42px}
 .account-avatar-settings{grid-template-columns:96px minmax(0,1fr)}
 .account-avatar-preview{width:96px;height:96px}
 .account-avatar-preview span{font-size:42px}
}
@media(max-width:430px){
 .px-user-profile-hero{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px}
 .px-user-profile-avatar{width:82px;height:82px;flex-basis:82px}
 .account-avatar-settings{grid-template-columns:1fr}
 .account-avatar-preview{width:110px;height:110px}
}

/* === Compact player profile sheet (2026-08-21) === */
.px-profile-sheet{border:1px solid #638697;background:#315568;overflow:hidden}
.px-profile-sheet-title{min-height:36px;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#294b5d;border-bottom:1px solid #7192a1;font-size:13px}
.px-profile-sheet-title>div{display:flex;align-items:baseline;gap:5px;min-width:0}.px-profile-sheet-title strong{font-size:14px}.px-profile-sheet-title>a{flex:0 0 auto;font-size:11px;font-weight:700}
.px-profile-avatar-stage{min-height:184px;padding:10px;display:grid;place-items:center;background:#3b5f71;border-bottom:1px solid #7192a1}
.px-profile-avatar-large{width:164px;height:164px;display:grid;place-items:center;overflow:hidden;border:1px solid #7d9ead;background:#173746}
.px-profile-avatar-large img{width:100%;height:100%;display:block;object-fit:cover}.px-profile-avatar-large>span{font-size:70px;line-height:1}
.px-profile-detail-table{display:grid}.px-profile-detail-table>div{display:grid;grid-template-columns:minmax(180px,36%) minmax(0,64%);min-height:31px;border-bottom:1px solid #668899}
.px-profile-detail-table>div:last-child{border-bottom:0}.px-profile-detail-table>div>strong,.px-profile-detail-table>div>span{padding:5px 8px;display:flex;align-items:center}
.px-profile-detail-table>div>strong{justify-content:flex-end;text-align:right;background:#3a5d70;border-right:1px solid #668899}.px-profile-detail-table>div>span{background:#315568;min-width:0}.px-profile-detail-table small{color:#c5d7df}
.px-profile-rank-value{gap:8px!important;flex-wrap:wrap}.px-profile-rank-value>b{min-width:95px}.px-profile-rank-value>small{min-width:34px;text-align:right}
.px-profile-rank-track{position:relative;flex:1 1 160px;max-width:300px;height:8px;overflow:hidden;border:1px solid #173746;background:#203f50}.px-profile-rank-track>i{display:block;height:100%;background:#78c6e5}
.px-profile-text-panel{margin:8px;border:1px solid #638697;background:#294f61}.px-profile-text-title{padding:6px 9px;background:#3b5f71;border-bottom:1px solid #7192a1;font-weight:800;font-size:13px}
.px-profile-text-body{min-height:120px;padding:12px 14px;white-space:normal;overflow-wrap:anywhere;line-height:1.5;background:#315568}.px-profile-text-body em{color:#bfd0d8}
.px-profile-sheet>.classic-profile-actions{margin:8px;border:1px solid #668899}
.account-profile-text-settings form{display:grid;gap:8px}.account-profile-text-settings textarea{width:100%;min-height:120px;resize:vertical;background:#203f50;color:#fff;border:1px solid #638697;padding:9px}
.account-profile-text-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.account-profile-text-actions small{color:#b9ced8}
@media(max-width:620px){
 .px-profile-avatar-stage{min-height:142px}.px-profile-avatar-large{width:122px;height:122px}.px-profile-avatar-large>span{font-size:52px}
 .px-profile-detail-table>div{grid-template-columns:38% minmax(0,62%)}.px-profile-detail-table>div>strong,.px-profile-detail-table>div>span{padding:5px 6px}
 .px-profile-rank-value{gap:5px!important}.px-profile-rank-value>b{min-width:80px}.px-profile-rank-track{flex-basis:100px}
}
@media(max-width:430px){
 .px-profile-sheet-title{align-items:flex-start}.px-profile-sheet-title>div{display:grid;gap:1px}
 .px-profile-detail-table>div{grid-template-columns:42% minmax(0,58%)}
 .px-profile-detail-table>div>strong{justify-content:flex-end;text-align:right;border-right:1px solid #668899;border-bottom:0;padding:5px 6px}
 .px-profile-detail-table>div>span{padding:5px 6px;min-width:0}
 .px-profile-text-panel,.px-profile-sheet>.classic-profile-actions{margin:6px}.account-profile-text-actions{align-items:stretch;flex-direction:column}.account-profile-text-actions button{width:100%}
}


/* === Profile BBCode (2026-08-21) === */
.profile-bb-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:6px;border:1px solid #638697;background:#294f61}
.profile-bb-toolbar button{min-width:34px;padding:5px 8px;border-radius:2px;font-size:11px}
.profile-bb-help{margin-top:-2px;color:#b9ced8;font-size:10px;line-height:1.35}
.px-profile-text-body .profile-bb-center{text-align:center}.px-profile-text-body .profile-bb-left{text-align:left}.px-profile-text-body .profile-bb-right{text-align:right}
.px-profile-text-body .profile-bb-quote{margin:8px 0;padding:7px 10px;border-left:3px solid #78c6e5;background:#294f61;color:#dbe8ed}
.px-profile-text-body .profile-bb-link{color:#8edcff;text-decoration:underline;overflow-wrap:anywhere}
.px-profile-text-body .profile-bb-image{display:block;max-width:100%;height:auto;max-height:650px;margin:8px 0;object-fit:contain}
.px-profile-text-body .profile-bb-center .profile-bb-image{margin-left:auto;margin-right:auto}.px-profile-text-body .profile-bb-left .profile-bb-image{margin-left:0;margin-right:auto}.px-profile-text-body .profile-bb-right .profile-bb-image{margin-left:auto;margin-right:0}
.px-profile-text-body .profile-bb-size-small{font-size:.82em}.px-profile-text-body .profile-bb-size-large{font-size:1.3em}.px-profile-text-body .profile-bb-size-xlarge{font-size:1.65em}
.px-profile-text-body .profile-bb-color-red{color:#ff6b6b}.px-profile-text-body .profile-bb-color-green{color:#69ef85}.px-profile-text-body .profile-bb-color-blue{color:#72c8ff}.px-profile-text-body .profile-bb-color-yellow{color:#ffe56b}.px-profile-text-body .profile-bb-color-orange{color:#ffb35c}.px-profile-text-body .profile-bb-color-purple{color:#d798ff}.px-profile-text-body .profile-bb-color-white{color:#fff}.px-profile-text-body .profile-bb-color-gray{color:#b9c5ca}.px-profile-text-body .profile-bb-color-cyan{color:#64edf0}.px-profile-text-body .profile-bb-color-pink{color:#ff9fd1}.px-profile-text-body .profile-bb-color-lime{color:#b7ff67}.px-profile-text-body .profile-bb-color-gold{color:#ffd36b}
@media(max-width:520px){.profile-bb-toolbar button{padding:5px 7px;font-size:10px}}

/* Project X global unread notification bar */
.notification-bar{position:sticky;top:94px;z-index:29;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:5px 10px;border-bottom:1px solid #7a98a7;background:#355b6e;color:#edf6fa;box-shadow:0 3px 10px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06);animation:notification-bar-enter .28s ease-out both}
.notification-bar-main{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.notification-bar-icon{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border:1px solid #7899a8;background:#294d60;font-size:14px}.notification-bar-track{min-width:0;flex:1;overflow:hidden}.notification-bar-copy{display:flex;align-items:baseline;gap:7px;width:max-content;max-width:none;white-space:nowrap;will-change:transform}.notification-bar-copy strong{white-space:nowrap;font-size:12px}.notification-bar-copy span{white-space:nowrap;color:#c9dce5;font-size:11px}.notification-bar-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.notification-bar-actions form{margin:0}.notification-bar-count,.notification-bar-view{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid #6f93a5;background:#294d60;color:#eaf4f8;text-decoration:none;font-size:10px;font-weight:700}.notification-bar-view{background:#416b7f}.notification-bar-dismiss{display:grid;place-items:center;width:27px;height:27px;padding:0;border:1px solid #6f93a5;background:#294d60;color:#dceaf0;font-size:17px;line-height:1}.notification-bar-count:hover,.notification-bar-view:hover,.notification-bar-dismiss:hover{background:#4b7588;color:#fff}
@keyframes notification-bar-enter{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:700px){.notification-bar{top:120px;gap:6px;padding:5px 6px}.notification-bar-main{flex:1}.notification-bar-copy{display:flex}.notification-bar-copy strong{font-size:11px}.notification-bar-copy span{font-size:10px}.notification-bar-count{display:none}.notification-bar-view{padding:4px 6px}.notification-bar-dismiss{width:25px;height:25px}}

/* === Heist crew system + Bank interest (2026-08-21) === */
.heist-rule-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 10px}.heist-rule-strip article{min-width:0;padding:9px 10px;border:1px solid #638697;background:#294f61}.heist-rule-strip small,.heist-panel-head small,.heist-role-card small,.heist-room-main small,.bank-interest-panel small{display:block;color:#b9ced8;font-size:9px;font-weight:800;letter-spacing:.7px}.heist-rule-strip strong{display:block;margin-top:2px;font-size:14px;color:#fff;overflow-wrap:anywhere}
.heist-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.heist-panel-head h2{margin:1px 0 0;font-size:17px}.heist-chance{min-width:110px;padding:6px 9px;border:1px solid #7899a8;background:#203f50;text-align:right}.heist-chance strong{display:block;font-size:22px;color:#9ee2ff}.heist-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.heist-role-card{display:grid;align-content:start;gap:3px;min-height:78px;padding:8px 9px;border:1px solid #638697;background:#294f61}.heist-role-card.open{border-style:dashed;opacity:.82}.heist-role-card strong{font-size:13px}.heist-role-card span{font-size:10px;color:#c6d8e0;line-height:1.35}.heist-leader-check{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:8px 9px;border:1px solid #638697;background:#203f50}.heist-leader-check>div:first-child{display:grid;gap:2px}.heist-leader-check span{font-size:10px;color:#c6d8e0}.heist-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.heist-actions form,.heist-leave-form{margin:0}.heist-leave-form{margin-top:8px}.heist-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.heist-create-card{display:grid;gap:4px;padding:10px;border:1px solid #638697;background:#294f61}.heist-create-card>strong{font-size:15px}.heist-create-card>span,.heist-create-card>small{color:#c6d8e0;font-size:10px}.heist-create-card>b{font-size:12px;color:#9ee2ff}.heist-create-card button{margin-top:4px}.heist-room-list{display:grid;gap:7px}.heist-room-row{display:grid;grid-template-columns:minmax(145px,.34fr) minmax(0,1fr);gap:8px;padding:8px;border:1px solid #638697;background:#294f61}.heist-room-main{display:grid;align-content:start;gap:2px}.heist-room-main strong{font-size:13px}.heist-room-main span{color:#c6d8e0;font-size:10px}.heist-room-joins{display:grid;gap:6px}.heist-inline-join{display:grid;grid-template-columns:minmax(140px,1fr) minmax(90px,.42fr) auto;align-items:end;gap:6px;margin:0}.heist-inline-join label{margin:0;font-size:9px}.heist-inline-join select,.heist-inline-join input{margin-top:2px}.heist-mechanics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.heist-mechanics-grid article{display:grid;gap:3px;padding:8px 9px;border:1px solid #638697;background:#294f61}.heist-mechanics-grid strong{font-size:12px}.heist-mechanics-grid span{font-size:10px;color:#c6d8e0;line-height:1.4}.empty-state{margin:0;padding:10px;border:1px dashed #638697;background:#203f50;color:#c6d8e0}.bank-interest-panel{display:flex;align-items:center;justify-content:space-between;gap:16px}.bank-interest-panel h2{margin:2px 0 4px;font-size:17px}.bank-interest-panel p{margin:0;max-width:680px;color:#c6d8e0;font-size:11px;line-height:1.45}.bank-interest-meta{display:flex;gap:7px;flex:0 0 auto}.bank-interest-meta>span{min-width:130px;padding:7px 9px;border:1px solid #638697;background:#203f50}.bank-interest-meta strong{display:block;margin-top:2px;font-size:12px}
@media(max-width:900px){.heist-rule-strip,.heist-mechanics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heist-role-grid{grid-template-columns:1fr}.heist-room-row{grid-template-columns:1fr}.bank-interest-panel{align-items:stretch;flex-direction:column}.bank-interest-meta{display:grid;grid-template-columns:1fr 1fr}.bank-interest-meta>span{min-width:0}}
@media(max-width:620px){.heist-rule-strip,.heist-create-grid,.heist-mechanics-grid{grid-template-columns:1fr}.heist-panel-head,.heist-leader-check{align-items:stretch;flex-direction:column}.heist-chance{text-align:left}.heist-actions{display:grid;grid-template-columns:1fr 1fr}.heist-actions button{width:100%}.heist-inline-join{grid-template-columns:1fr}.bank-interest-meta{grid-template-columns:1fr}}

/* === Compact Heist layout (2026-08-21) === */
.heist-page-head{margin-bottom:6px}.heist-page-head h1{margin-bottom:1px}.heist-page-head p{margin:0;font-size:11px}
.heist-rule-strip{gap:4px;margin-bottom:6px}.heist-rule-strip article{padding:5px 7px}.heist-rule-strip small{font-size:8px}.heist-rule-strip strong{margin-top:1px;font-size:12px}
.heist-create-panel,.heist-active-panel,.heist-mechanics,.heist-create-panel+section.panel{padding:8px 10px;margin-bottom:7px}.heist-panel-head{align-items:center;gap:8px;margin-bottom:5px}.heist-panel-head h2{font-size:14px}.heist-panel-head>.muted{font-size:10px}
.heist-create-grid{gap:5px}.heist-create-card{gap:2px;padding:6px 8px;min-height:0}.heist-create-card>strong{font-size:13px}.heist-create-card>span,.heist-create-card>small{font-size:9px}.heist-create-card>b{font-size:10px}.heist-create-card button{margin-top:2px;padding:6px 8px}
.heist-room-list{gap:4px}.heist-room-row{gap:5px;padding:5px 6px}.heist-room-main strong{font-size:12px}.heist-room-main span{font-size:9px}.heist-inline-join{gap:4px}.heist-inline-join select,.heist-inline-join input{min-height:31px;padding-top:4px;padding-bottom:4px}.heist-inline-join button{min-height:31px;padding:5px 8px}
.heist-role-grid{gap:5px}.heist-role-card{min-height:62px;padding:5px 7px}.heist-leader-check{gap:8px;margin-top:5px;padding:5px 7px}.heist-leave-form{margin-top:5px}.heist-chance{min-width:94px;padding:4px 7px}.heist-chance strong{font-size:18px}
.heist-mechanics-collapsible{padding:0!important;overflow:hidden}.heist-mechanics-collapsible>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none;padding:6px 9px}.heist-mechanics-collapsible>summary::-webkit-details-marker{display:none}.heist-mechanics-collapsible>summary span{display:flex;align-items:center;gap:8px}.heist-mechanics-collapsible>summary small{display:inline;color:#b9ced8;font-size:8px;letter-spacing:.7px}.heist-mechanics-collapsible>summary strong{font-size:12px}.heist-mechanics-collapsible>summary em{font-size:9px;color:#9eddf7;font-style:normal}.heist-mechanics-collapsible[open]>summary{border-bottom:1px solid #638697}.heist-mechanics-collapsible[open]>summary em{font-size:0}.heist-mechanics-collapsible[open]>summary em:after{content:'Hide details';font-size:9px}.heist-mechanics-collapsible .heist-mechanics-grid{padding:6px}.heist-mechanics-grid{gap:4px}.heist-mechanics-grid article{padding:5px 6px}.heist-mechanics-grid strong{font-size:11px}.heist-mechanics-grid span{font-size:9px;line-height:1.3}
.empty-state{padding:7px 9px;font-size:10px}
@media(max-width:620px){.heist-page-head p{font-size:10px}.heist-rule-strip{grid-template-columns:1fr 1fr}.heist-create-card{padding:7px}.heist-mechanics-collapsible>summary span{display:grid;gap:0}.heist-mechanics-collapsible>summary{align-items:center}}


/* Organised Crime compact layout */
.oc-panel{padding:12px 14px;margin-bottom:12px}
.oc-panel h2{margin:0 0 8px;font-size:28px}
.oc-panel h3{margin:0;font-size:16px;line-height:1.2}
.oc-panel .muted{font-size:12px;line-height:1.35}
.oc-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.oc-header-row p{margin:4px 0 0}
.oc-header-stats{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.oc-header-stats span{display:flex;gap:6px;align-items:baseline;padding:6px 10px;border:1px solid #638697;border-radius:8px;background:rgba(255,255,255,.04)}
.oc-header-stats small{font-size:11px;color:#c7dce5;text-transform:uppercase;letter-spacing:.4px}
.oc-header-stats b{font-size:14px;color:#fff}
.oc-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.oc-slot-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.oc-slot-card,.oc-recruit-card{border:1px solid #638697;border-radius:8px;background:rgba(255,255,255,.03);padding:10px}
.oc-slot-card.mine{box-shadow:inset 0 0 0 1px rgba(110,227,173,.55)}
.oc-slot-card-head,.oc-recruit-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.oc-slot-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid #638697;background:#31586b;color:#d9edf5;white-space:nowrap}
.oc-slot-badge.filled{background:#305d49;border-color:#4da978;color:#eafff2}
.oc-slot-badge.open{background:#355365;border-color:#638697;color:#dcecf2}
.oc-compact-table{display:grid;gap:4px}
.oc-compact-table>div{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:10px;padding:4px 0;border-top:1px solid rgba(140,182,199,.24)}
.oc-compact-table>div:first-child{border-top:0;padding-top:0}
.oc-compact-table strong{font-size:12px;line-height:1.25;color:#f2f7fa}
.oc-compact-table span{font-size:13px;line-height:1.3;min-width:0}
.oc-action-row{display:flex;justify-content:flex-end;margin-top:10px}
.oc-leader-actions,.oc-action-row .inline-form{display:flex;gap:8px;flex-wrap:wrap}
.oc-panel .inline-form button,.oc-join-form button{min-height:36px;padding:8px 12px}
.oc-panel .inline-form .big{min-height:42px;padding:10px 16px;font-size:15px}
.oc-recruit-card{padding:10px;margin-top:10px}
.oc-recruit-top h3{font-size:16px}
.oc-join-form{display:grid;gap:8px}
.oc-join-form label{display:grid;gap:4px;margin:0}
.oc-join-form label span,.oc-free-text{font-size:12px;color:#d4e4ec}
.oc-join-form select,.oc-join-form input{margin:0;min-height:36px}
.oc-free-text{margin:0 0 2px}
.oc-panel table{font-size:13px}
.oc-panel table th,.oc-panel table td{padding:7px 10px}
@media (max-width: 980px){
  .oc-slot-grid,.oc-slot-grid.compact{grid-template-columns:1fr}
}
@media (max-width: 700px){
  .oc-panel{padding:10px}
  .oc-header-row{flex-direction:column;align-items:stretch}
  .oc-header-stats{gap:8px}
  .oc-compact-table>div{grid-template-columns:92px minmax(0,1fr);gap:8px}
}


/* 2026-08-22 OC compact layout */
@media (min-width:1180px){
 .oc-panel{padding:8px 10px;margin-bottom:8px}
 .oc-panel h2{font-size:20px;margin-bottom:5px}
 .oc-header-row{margin-bottom:6px;align-items:center}
 .oc-header-row p{display:none}
 .oc-header-stats span{padding:4px 7px;border-radius:5px}
 .oc-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .oc-slot-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .oc-slot-card,.oc-recruit-card{padding:6px;border-radius:5px}
 .oc-slot-card-head,.oc-recruit-top{margin-bottom:4px;gap:6px}
 .oc-slot-card h3{font-size:14px}
 .oc-slot-badge{padding:2px 6px;font-size:9px}
 .oc-compact-table>div{display:grid;grid-template-columns:72px minmax(0,1fr);min-height:26px}
 .oc-compact-table>div>strong,.oc-compact-table>div>span{padding:4px 6px;font-size:11px;line-height:1.2}
 .oc-action-row{margin-top:6px}
 .oc-panel .inline-form button,.oc-join-form button{min-height:30px;padding:5px 9px;font-size:12px}
 .oc-panel table th,.oc-panel table td{padding:5px 7px;font-size:12px}
}


/* 2026-08-22 garage lock + right-aligned vehicle image */
.garage-vehicle-card .vehicle-main{min-width:0;justify-content:space-between}
.garage-vehicle-card .vehicle-main>div:first-child{min-width:0;display:flex;flex-direction:column;gap:4px}
.garage-vehicle-card .garage-car-thumb,.garage-vehicle-card .vehicle-icon{margin-left:auto;order:2}
.garage-lock-badge{display:inline-block;margin-left:5px;padding:2px 5px;border:1px solid #d5b45b;background:#5f512d;color:#ffe89b;font-size:8px;line-height:1.1;vertical-align:middle}
.garage-lock-button{border-color:#d5b45b}.garage-unlock-button{border-color:#7ba6ba}
.garage-locked-note{max-width:280px}.garage-lock-market{color:#ffe89b;font-size:11px}
@media(max-width:520px){.garage-vehicle-card .garage-car-thumb,.garage-vehicle-card .vehicle-icon{margin-left:auto}}


/* Admin Go to user read-only preview */
.admin-impersonation-bar{position:sticky;top:0;z-index:1200;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:#6a421d;border-bottom:1px solid #b98242;color:#fff}.admin-impersonation-bar>div{display:flex;align-items:baseline;gap:10px;min-width:0}.admin-impersonation-bar strong{font-size:12px;letter-spacing:.7px}.admin-impersonation-bar span{font-size:12px;color:#f5e7d3}.admin-impersonation-bar form{margin:0}.admin-impersonation-bar button{min-height:30px;padding:5px 10px;border:1px solid #d7ad72;background:#2f5364;color:#fff;border-radius:5px;font-weight:700;cursor:pointer}@media(max-width:700px){.admin-impersonation-bar{align-items:flex-start}.admin-impersonation-bar>div{display:grid;gap:2px}.admin-impersonation-bar span{font-size:10px}}

/* === Rank Progress reference-style rebuild (2026-08-22) === */
.rank-reference-head{margin-bottom:7px}
.rank-reference-head .online-box{min-width:155px;padding:7px 10px}
.rank-reference-head .online-box strong{font-size:15px}
.rank-next-panel{padding:10px!important;margin-bottom:8px}
.rank-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:8px}
.rank-section-heading small{display:block;margin-bottom:2px;font-size:8px;letter-spacing:1px;color:#8fd2ee}
.rank-section-heading h2{margin:0;font-size:17px}
.rank-section-heading>span{font-size:10px;color:#c7d9e1;white-space:nowrap}
.rank-section-heading.compact-heading{margin-bottom:5px}
.rank-requirements-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.rank-target-card{min-width:0;border:1px solid #587d8f;background:#284d60;border-radius:5px;overflow:hidden}
.rank-target-card>header{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:30px;padding:5px 8px;border-bottom:1px solid #587d8f;background:#213f4e}
.rank-target-card>header strong{min-width:0;font-size:10px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-target-card>header b{color:#62ef78;font-size:12px}
.rank-target-card.complete{border-color:#4e9d67}
.rank-target-list{display:grid}
.rank-target-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:25px;padding:4px 8px;border-bottom:1px solid rgba(88,125,143,.68)}
.rank-target-row:last-child{border-bottom:0}
.rank-target-row span{min-width:0;font-size:9px;color:#c7d7de;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-target-row strong{font-size:9px;color:#fff;white-space:nowrap}
.rank-target-row.done strong{color:#62ef78}
.rank-empty-state{padding:14px;border:1px dashed #587d8f;text-align:center;color:#c9d9df;font-size:11px}
.rank-bottom-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:8px;margin-top:8px}
.rank-bottom-grid>.panel{margin:0;padding:10px!important}
.rank-updated{margin:0 0 7px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.45px;color:#b6cad3}
.rank-achievement-list,.rank-promotion-list{display:grid;border-top:1px solid #587d8f}
.rank-achievement-list>div,.rank-promotion-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:29px;padding:5px 1px;border-bottom:1px solid #587d8f}
.rank-achievement-list span,.rank-promotion-list span{font-size:11px;font-weight:700;color:#d5e1e6}
.rank-achievement-list strong{font-size:12px;color:#fff}
.rank-promotion-list strong{font-size:10px;color:#fff;white-space:nowrap}
.rank-promotion-list>div.current{background:rgba(100,193,231,.08)}
.rank-promotion-list>div.current span{color:#9bdcf7}
.rank-promotion-list>div.completed span{opacity:.92}
.rank-pending{color:#ffbd3d!important;font-size:15px!important;line-height:1}
@media(max-width:1180px){.rank-requirements-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.rank-requirements-board{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-bottom-grid{grid-template-columns:1fr}}
@media(max-width:580px){.rank-requirements-board{grid-template-columns:1fr}.rank-section-heading{align-items:flex-start;flex-direction:column;gap:4px}.rank-reference-head{align-items:flex-start}}

/* Phase 14: bot verification + global Scrap shipments */
.bot-honeypot-action{display:none!important;visibility:hidden!important;pointer-events:none!important;width:0!important;height:0!important;overflow:hidden!important}
.bot-honeypot-form{position:fixed!important;width:1px!important;height:1px!important;left:-10000px!important;top:-10000px!important;overflow:hidden!important;clip-path:inset(50%)!important;pointer-events:none!important;opacity:0!important}
.bot-challenge-overlay{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:18px}.bot-challenge-backdrop{position:absolute;inset:0;background:rgba(6,14,20,.78);backdrop-filter:blur(3px)}.bot-challenge-card{position:relative;z-index:1;width:min(440px,100%);padding:18px;border:1px solid #6f8f9f;border-radius:5px;background:#294d60;color:#eef5f7;box-shadow:0 20px 55px rgba(0,0,0,.42)}.bot-challenge-card>small{display:block;color:#a8c1cd;font-size:9px;font-weight:800;letter-spacing:.8px}.bot-challenge-card h2{margin:4px 0 7px;font-size:20px}.bot-challenge-card p{margin:0 0 12px;color:#cfdee5;font-size:11px;line-height:1.45}.bot-challenge-code{margin:8px 0 12px;padding:12px;border:1px solid #789aaa;background:#173746;text-align:center;font-size:28px;font-weight:900;letter-spacing:10px}.bot-challenge-card form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.bot-challenge-card label{display:grid;gap:4px;font-size:10px;font-weight:700;text-transform:uppercase}.bot-challenge-card input{width:100%;min-height:38px;border:1px solid #7697a7;border-radius:3px;background:#102f3d;color:#fff;padding:7px 9px;font-size:16px;letter-spacing:4px}.bot-challenge-card button{min-height:38px}.metal-global-table{min-width:1040px}.metal-business-subline{display:block;margin-top:2px;color:#b6cbd5;font-size:9px;line-height:1.25}.metal-shipment-status{display:inline-flex;padding:3px 6px;border:1px solid #6f8f9f;border-radius:3px;font-size:9px;font-weight:800;text-transform:uppercase}.metal-shipment-status.in-transit{background:#4b4027;border-color:#a98649;color:#ffe0a1}.metal-shipment-status.delivered{background:#214735;border-color:#4f956c;color:#c7f4d7}.metal-shipment-table{min-width:760px}
@media(max-width:700px){.bot-challenge-card form{grid-template-columns:1fr}.bot-challenge-code{font-size:23px;letter-spacing:7px}.bot-challenge-card button{width:100%}}

/* 2026-08-22 docked chat viewport containment hotfix */
@media (min-width:901px){
  .chat-panel{
    align-self:start;
    position:sticky;
    top:102px;
    height:calc(100vh - 150px);
    height:calc(100dvh - 150px);
    max-height:calc(100vh - 150px);
    max-height:calc(100dvh - 150px);
    min-height:360px;
    overflow:hidden;
  }
  .chat-feed{
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .chat-compose{
    flex:0 0 auto;
    min-height:58px;
    background:#2b5063;
  }
}

/* 2026-08-22 unread chat badge */
.chat-open-control .chat-unread-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  margin-left:2px;
  border:1px solid #9ab5c2;
  border-radius:999px;
  background:#173c4e;
  color:#fff;
  font-size:11px;
  font-weight:800;
  line-height:1;
}
.chat-open-control .chat-unread-badge[hidden]{display:none!important}

/* v63 — privacy-minimal Players list: names only; green online, blue offline. */
.players-name-only{overflow:hidden}.players-name-list{padding:10px 12px;line-height:1.9;font-size:14px}.players-name{font-weight:400}.players-name a{color:inherit;text-decoration:none}.players-name a:hover{text-decoration:underline}.players-name.is-online{color:#63f181}.players-name.is-offline{color:#75c98a}.players-name-separator{color:#b7c9d2}

/* Dashboard status bars — 2026-08-23 */
.classic-status-bars{display:grid}.classic-status-bar-row{display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:0;align-items:center;min-height:34px;border-bottom:1px solid #66889a;background:#315568;color:inherit;text-decoration:none}.classic-status-bar-row:nth-child(odd){background:#345a6d}.classic-status-bar-row:last-child{border-bottom:0}.classic-status-bar-row>strong{height:100%;display:flex;align-items:center;justify-content:flex-end;padding:6px 8px;background:#3a5d70;text-align:right}.classic-status-track{position:relative;display:block;height:24px;margin:5px 10px;overflow:hidden;border:1px solid #6d93a4;background:#163746;border-radius:2px}.classic-status-fill{display:block;height:100%;min-width:0;background:linear-gradient(90deg,#2d9e52,#61dd7b);transition:width .25s ease;border:0;border-radius:0;box-shadow:none}.classic-status-fill.status-jailbreaking{background:linear-gradient(90deg,#3285aa,#5ab9e2)}.classic-status-fill.status-killskill{background:linear-gradient(90deg,#b57a23,#f1b737)}.classic-status-track b{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.8)}@media(max-width:520px){.classic-status-bar-row{grid-template-columns:1fr}.classic-status-bar-row>strong{justify-content:flex-start;text-align:left;border-bottom:1px solid #5f8192}.classic-status-track{margin:6px 8px}}

/* Heist payout breakdown — compact labels with all values right-aligned. */
.heist-result-breakdown{margin:10px 12px 0;border:1px solid #587a8b;border-radius:5px;overflow:hidden;background:#1d4052}
.heist-result-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:34px;padding:7px 10px;border-bottom:1px solid rgba(104,139,155,.48)}
.heist-result-breakdown>div:last-child{border-bottom:0}
.heist-result-breakdown span{min-width:0;color:#c5d7df;font-size:10px;font-weight:700}
.heist-result-breakdown strong{min-width:108px;text-align:right;justify-self:end;color:#f3f7f9;font-size:12px;font-variant-numeric:tabular-nums}
.heist-result-breakdown .heist-net-row{background:#244d60}
.heist-result-breakdown .heist-net-row strong{color:#69ef83;font-size:15px}
.crime-popup-failure .heist-result-breakdown .heist-net-row strong{color:#ff8f88}
@media(max-width:600px){.heist-result-breakdown>div{gap:10px}.heist-result-breakdown strong{min-width:96px}}

/* Dashboard value alignment — 2026-08-23 */
.classic-info-table > div > span {
  text-align: right;
  justify-self: stretch;
}

.crime-popup-actions{gap:8px;flex-wrap:wrap;}
.crime-popup-actions .secondary{min-width:150px;padding:7px 13px;border-radius:4px;font-size:12px;font-weight:800;background:#24495b;border:1px solid #6c9ab2;color:#eaf4f8;box-shadow:none;}
.crime-popup-actions .secondary:hover{background:#2d596f;transform:translateY(-1px);}
.crime-popup-actions .secondary:disabled{opacity:.72;cursor:wait;transform:none;}
@media(max-width:700px){
  .crime-popup-actions{flex-direction:row;}
  .crime-popup-actions .secondary,.crime-popup-actions .primary{width:auto;flex:1;min-width:0;}
}

/* 2026-08-23 — Dashboard mobile rows stay on one line. */
@media (max-width:900px){
  .classic-info-table>div{
    grid-template-columns:42% 58%;
    align-items:stretch;
  }
  .classic-info-table strong{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    text-align:right;
    border-bottom:0;
  }
  .classic-info-table>div>span{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    min-width:0;
    text-align:right;
  }
  .classic-status-bar-row{
    grid-template-columns:34% 66%;
    align-items:center;
  }
  .classic-status-bar-row>strong{
    justify-content:flex-end;
    text-align:right;
    border-bottom:0;
  }
  .classic-status-track{
    margin:5px 10px;
    min-width:0;
  }
}
@media (max-width:420px){
  .classic-info-table>div{grid-template-columns:44% 56%;}
  .classic-status-bar-row{grid-template-columns:38% 62%;}
  .classic-info-table strong,
  .classic-info-table>div>span,
  .classic-status-bar-row>strong{padding-left:6px;padding-right:6px;}
  .classic-status-track{margin-left:6px;margin-right:6px;}
}

/* Vehicle stolen mobile stat grouping — condition + value in one stacked box. */
@media(max-width:600px){
  .compact-car-result .car-popup-stats{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    margin:10px 12px 0;
    padding:0;
    overflow:hidden;
    border:1px solid #557889;
    border-radius:7px;
    background:#24495b;
  }
  .compact-car-result .car-popup-stats article{
    margin:0;
    padding:10px 8px;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .compact-car-result .car-popup-stats article+article{
    border-top:1px solid rgba(113,149,166,.55);
  }
}


/* 2026-08-23 — Mobile topbar resources: icon + label first, centered value below, full-width cards. */
@media(max-width:900px){
  .topbar{
    height:134px;
    grid-template-rows:64px 58px;
  }
  .resources{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    width:100%;
    min-width:0;
    gap:6px;
    overflow:visible;
  }
  .resources>span.resource-card{
    width:100%;
    min-width:0;
    height:58px;
    padding:6px 4px;
    display:grid;
    grid-template-rows:auto auto;
    align-content:center;
    justify-items:center;
    gap:3px;
    overflow:hidden;
  }
  .resources>span.resource-card>b,
  .resources>span.resource-card>small{
    display:none;
  }
  .resources>span.resource-card::before{
    content:attr(data-mobile-icon) "  " attr(data-mobile-label);
    display:block;
    width:100%;
    text-align:center;
    color:var(--muted);
    font-size:10px;
    font-weight:600;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .resources>span.resource-card::after{
    content:attr(data-mobile-value);
    display:block;
    width:100%;
    text-align:center;
    color:#fff;
    font-size:14px;
    font-weight:800;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
@media(max-width:420px){
  .resources{gap:4px;}
  .resources>span.resource-card{padding-left:2px;padding-right:2px;}
  .resources>span.resource-card::before{font-size:9px;}
  .resources>span.resource-card::after{font-size:12px;}
}


/* 2026-08-23 — Mobile topbar v2: logo/menu row + compact 3x2 resource grid. */
@media(max-width:900px){
  .topbar{
    height:174px;
    min-height:174px;
    padding:6px 10px 8px;
    display:grid;
    grid-template-columns:52px minmax(0,1fr) 52px;
    grid-template-rows:64px 94px;
    column-gap:8px;
    row-gap:2px;
    align-items:center;
  }
  .topbar>.brand{
    grid-column:2;
    grid-row:1;
    align-self:center;
    min-width:0;
  }
  .topbar>.left-toggle{
    grid-column:1;
    grid-row:1;
    justify-self:start;
    align-self:center;
  }
  .topbar>.right-toggle{
    grid-column:3;
    grid-row:1;
    justify-self:end;
    align-self:center;
  }
  .topbar>.resources{
    grid-column:1/-1;
    grid-row:2;
    align-self:stretch;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:5px;
    width:100%;
    min-width:0;
    height:94px;
    overflow:hidden;
  }
  .topbar>.resources>span.resource-card{
    display:grid!important;
    grid-template-rows:auto auto;
    align-content:center;
    justify-items:center;
    width:100%;
    min-width:0;
    height:auto;
    min-height:0;
    padding:3px 4px;
    gap:1px;
    border-radius:6px;
    overflow:hidden;
  }
  .topbar>.resources>span.resource-card>b,
  .topbar>.resources>span.resource-card>small{
    display:none!important;
  }
  .topbar>.resources>span.resource-card::before{
    content:attr(data-mobile-icon) " " attr(data-mobile-label);
    display:block;
    width:100%;
    text-align:center;
    color:var(--muted);
    font-size:9px;
    font-weight:600;
    line-height:1.05;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .topbar>.resources>span.resource-card::after{
    content:attr(data-mobile-value);
    display:block;
    width:100%;
    text-align:center;
    color:#fff;
    font-size:13px;
    font-weight:800;
    line-height:1.05;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
@media(max-width:420px){
  .topbar{
    height:168px;
    min-height:168px;
    grid-template-rows:62px 90px;
  }
  .topbar>.resources{height:90px;gap:4px;}
  .topbar>.resources>span.resource-card::before{font-size:8px;}
  .topbar>.resources>span.resource-card::after{font-size:12px;}
}


/* Required profile completion for Google/new accounts. */
body.profile-required-open{overflow:hidden}
.profile-required-overlay{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:20px;background:rgba(5,18,25,.78);backdrop-filter:blur(5px)}
.profile-required-card{box-sizing:border-box;width:min(520px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:22px;background:#2e596d;border:1px solid #78a1b5;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.48);color:#f3f8fa}
.profile-required-kicker{display:block;margin-bottom:6px;color:#b7d0db;font-size:11px;font-weight:900;letter-spacing:.1em}
.profile-required-card h2{margin:0 0 6px;font-size:27px;color:#fff}
.profile-required-card>p{margin:0 0 18px;color:#d0e0e7;line-height:1.45}
.profile-required-form{display:grid;gap:14px}
.profile-required-form>label,.profile-required-gender{display:grid;gap:6px;margin:0;color:#fff;font-weight:800}
.profile-required-form input[type="text"],.profile-required-form select{box-sizing:border-box;width:100%;min-height:46px;padding:10px 12px;background:#153e51;border:1px solid #83aabd;border-radius:6px;color:#fff;font:inherit}
.profile-required-form input[type="text"]:focus,.profile-required-form select:focus{outline:none;border-color:#b4d3e0;box-shadow:0 0 0 3px rgba(168,208,225,.12)}
.profile-required-gender{padding:0;border:0}
.profile-required-gender legend{margin-bottom:7px;padding:0;color:#fff;font-weight:800}
.profile-required-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.profile-required-options label{position:relative;cursor:pointer}
.profile-required-options input{position:absolute;opacity:0;pointer-events:none}
.profile-required-options span{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:10px;border:1px solid #7399aa;border-radius:7px;background:#1d4658;color:#eaf4f8}
.profile-required-options b{font-size:22px}
.profile-required-options input:checked+span{border-color:#69d68d;background:#245d4a;box-shadow:inset 0 0 0 1px #69d68d}
.profile-required-form button.primary{min-height:48px;margin-top:2px;font-size:16px;font-weight:900}
@media(max-width:600px){.profile-required-overlay{padding:12px}.profile-required-card{max-height:calc(100dvh - 24px);padding:17px}.profile-required-card h2{font-size:23px}.profile-required-options{grid-template-columns:1fr 1fr}}


/* Chat identity, relative timestamps, emoji picker and mentions — 2026-08-24 */
.chat-msg{grid-template-columns:36px minmax(0,1fr)}
.chat-avatar-link{display:block;width:34px;height:34px;border-radius:50%;text-decoration:none}
.chat-msg .mini-avatar{overflow:hidden}
.chat-msg .mini-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.chat-meta{display:flex;align-items:baseline;gap:6px;min-width:0}
.chat-username{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8fd0ef;font-size:12px;font-weight:800;text-decoration:none}
.chat-username:hover{text-decoration:underline;color:#b9e8ff}
.chat-time{flex:0 0 auto;margin-left:0!important;color:#9fb6c1;font-size:9px}
.chat-compose{position:relative;align-items:center}
.chat-compose .chat-emoji-toggle{flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid #7597a7;border-radius:6px;background:#24495b;color:#fff;font-size:20px;line-height:1}
.chat-compose .chat-emoji-toggle:hover{background:#315f75}
.chat-emoji-picker{position:absolute;left:9px;bottom:54px;z-index:30;width:228px;max-height:190px;overflow-y:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:3px;padding:7px;border:1px solid #6f91a1;border-radius:7px;background:#24495b;box-shadow:0 12px 28px rgba(0,0,0,.35)}
.chat-emoji-picker[hidden]{display:none!important}
.chat-emoji-option{min-width:0;width:32px;height:32px;padding:0;border:0;border-radius:5px;background:transparent;font-size:20px;line-height:32px}
.chat-emoji-option:hover{background:#3c667a;transform:none}
@media(max-width:900px){.chat-emoji-picker{position:fixed;left:12px;right:12px;bottom:76px;width:auto;grid-template-columns:repeat(8,1fr)}}

/* Crime outcome popup v1.2.17 — show the complete 1:1 artwork without cropping */
.crime-result-overlay{overflow-y:auto;align-items:flex-start;padding:24px 18px;}
.crime-result-overlay .crime-popup-card.crime-result-compact{margin:auto;overflow:hidden;}
.crime-result-compact .crime-popup-hero{display:block;min-height:0;padding:0;background:none!important;filter:none!important;}
.crime-result-compact .crime-popup-art{width:100%;overflow:hidden;background:#0c1b24;border-bottom:1px solid #557889;}
.crime-result-compact .crime-popup-art img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;object-position:center;background:#0c1b24;}
.crime-result-compact .crime-popup-result-head{display:flex;align-items:center;gap:12px;padding:14px 16px 12px;background:#17303e;}
.crime-result-compact .crime-popup-result-head .crime-popup-badge{flex:0 0 54px;}
.crime-result-compact .crime-popup-result-head .crime-popup-copy{min-width:0;flex:1;}
.crime-result-compact .crime-popup-stats{margin-top:0;padding:0 12px;}
.crime-result-compact .crime-popup-close{position:absolute;top:10px;right:10px;z-index:8;background:rgba(13,34,45,.92);}
@media(max-width:600px){
  .crime-result-overlay{padding:10px;}
  .crime-result-compact .crime-popup-art img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;}
  .crime-result-compact .crime-popup-result-head{align-items:flex-start;padding:12px;gap:10px;}
  .crime-result-compact .crime-popup-result-head .crime-popup-badge{width:46px;height:46px;flex-basis:46px;font-size:22px;}
}

/* Crime outcome popup v1.2.18 — complete artwork at a practical size */
.crime-result-overlay .crime-popup-card.crime-result-compact{
  width:min(94vw,580px);
}
.crime-result-compact .crime-popup-art{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  background:#0c1b24;
}
.crime-result-compact .crime-popup-art img{
  display:block;
  width:auto;
  height:min(360px,48vh);
  max-width:100%;
  max-height:360px;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  background:transparent;
}
@media(max-width:600px){
  .crime-result-overlay .crime-popup-card.crime-result-compact{width:min(96vw,430px);}
  .crime-result-compact .crime-popup-art{padding:8px;}
  .crime-result-compact .crime-popup-art img{
    width:auto;
    height:min(260px,38vh);
    max-width:100%;
    max-height:260px;
    aspect-ratio:auto;
    object-fit:contain;
  }
}

/* v1.2.28 Vehicle theft failure popup polish, based on the latest v1.2.18 stylesheet */
.car-popup-failure .car-fail-result-card{border-color:#8f4845;box-shadow:0 28px 80px rgba(0,0,0,.56),0 0 0 1px rgba(255,97,89,.12) inset}
.car-popup-failure .car-fail-hero{min-height:236px;background:linear-gradient(135deg,#182a35 0%,#10202a 58%,#24191c 100%)}
.car-popup-failure .car-fail-hero .car-popup-art:after{background:linear-gradient(90deg,rgba(39,15,17,.10),rgba(39,15,17,.62))}
.car-popup-failure .car-fail-hero .car-popup-art img{filter:brightness(.72) saturate(.82)}
.car-popup-failure .car-popup-copy{padding:22px 24px 22px 14px}
.car-popup-failure .car-popup-copy small{color:#ff9b95}
.car-popup-failure .car-popup-copy h2{color:#fff;margin-bottom:10px}
.car-popup-failure .car-popup-mission-name{margin:0 0 6px;color:#fff;font-size:17px;line-height:1.25}
.car-popup-failure .car-popup-mission-name strong{font-weight:850}
.car-popup-failure .car-popup-fail-summary{margin:0;color:#d4e1e7;font-size:13px;line-height:1.45;max-width:430px}
.car-popup-failure .car-fail-status{display:inline-flex;margin-top:12px;padding:6px 11px;border:1px solid #9f5551;border-radius:999px;background:#482727;color:#ffd2cf;font-size:10px;font-weight:850;letter-spacing:.55px;text-transform:uppercase}
.car-popup-failure .car-fail-popup-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-10px}
.car-popup-failure .car-fail-popup-stats article:first-child strong{color:#ff7770}
.car-popup-failure .car-fail-popup-stats article:last-child strong{color:#dce8ed;font-size:22px!important}
.car-popup-failure .crime-popup-note{max-width:560px;margin:14px auto 4px;text-align:center;color:#d3dfe5}
.car-popup-failure .car-popup-actions{justify-content:center}
.car-popup-failure .car-popup-actions .primary{background:linear-gradient(180deg,#b84c47,#7d302d);border-color:#cf625d;color:#fff;box-shadow:0 10px 28px rgba(125,48,45,.25)}
.car-popup-failure .car-popup-actions .secondary{background:#173243;border-color:#5d7e8f;color:#dce9ef}
@media(max-width:700px){
  .car-popup-failure .car-fail-hero{min-height:0}
  .car-popup-failure .car-popup-copy{padding:10px 18px 22px}
  .car-popup-failure .car-popup-mission-name{font-size:16px}
  .car-popup-failure .car-fail-popup-stats{grid-template-columns:1fr}
}

/* Compact Top 10 leaderboard */
.top10-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.top10-card{padding:0!important;overflow:hidden;min-width:0}
.top10-card>header{display:flex;align-items:center;gap:9px;padding:9px 11px;border-bottom:1px solid #66899a;background:#2f5569}
.top10-card>header>span{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border:1px solid #6c91a2;border-radius:6px;background:#18394a;font-size:17px}
.top10-card>header div{min-width:0}
.top10-card h2{margin:0;font-size:14px;line-height:1.15;color:#fff}
.top10-card header small{display:block;margin-top:2px;color:#bed1da;font-size:8px;letter-spacing:.65px;text-transform:uppercase}
.top10-list{display:flex;flex-direction:column}
.top10-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:31px;padding:5px 9px;border-bottom:1px solid #55798b;background:#31576a;font-size:11px}
.top10-row:last-child{border-bottom:0}
.top10-row:nth-child(even){background:#2d5265}
.top10-row>b{color:#9ec1d0;font-size:10px;text-align:center}
.top10-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.top10-row>strong{color:#ffd36b;font-size:11px;text-align:right;white-space:nowrap}
.top10-rank-row>strong{max-width:125px;overflow:hidden;text-overflow:ellipsis;color:#dceaf0}
.top10-empty{margin:0;padding:13px 10px;color:#b9cdd6;font-size:10px;text-align:center}
@media(max-width:1100px){.top10-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.top10-grid{grid-template-columns:1fr}.top10-row{grid-template-columns:28px minmax(0,1fr) auto}.top10-rank-row>strong{max-width:150px}}

/* Bullet Factory compact action layout */
.business-action-break{flex-basis:100%;height:0;padding:0;margin:0}
.business-auto-production-note{color:var(--green)!important;max-width:460px;font-weight:600}
.business-auto-production-note strong{color:inherit}
@media(max-width:560px){.business-action-break{display:none}.business-auto-production-note{max-width:none}}


/* v1.2.54 vehicle theft failure actions */
.crime-popup-failure .crime-popup-actions.car-fail-popup-actions{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:10px !important;
  padding:10px 16px 16px;
}
.crime-popup-failure .crime-popup-actions.car-fail-popup-actions .car-fail-main-actions{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
}
.crime-popup-failure .crime-popup-actions.car-fail-popup-actions .car-fail-main-actions .button{
  width:100% !important;
  min-width:0 !important;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:8px;
  font-size:16px;
  font-weight:800;
  text-align:center;
  box-shadow:none;
}
.crime-popup-failure .crime-popup-actions.car-fail-popup-actions .car-fail-dashboard{
  background:linear-gradient(90deg,#f0dc77,#e89b15) !important;
  border:1px solid #f1cc63 !important;
  color:#171717 !important;
}
.crime-popup-failure .crime-popup-actions.car-fail-popup-actions .car-fail-garage{
  background:linear-gradient(180deg,#b84c47,#7d302d) !important;
  border:1px solid #cf625d !important;
  color:#fff !important;
}
.crime-popup-failure .crime-popup-actions.car-fail-popup-actions .car-fail-share-row{
  width:100%;
  display:block;
}
.crime-popup-failure .crime-popup-actions.car-fail-popup-actions .car-fail-share{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:100% !important;
  min-width:0 !important;
  min-height:42px;
  margin:0;
  padding:8px 14px;
  border-radius:8px;
  font-size:14px;
  font-weight:800;
  background:#173243 !important;
  border:1px solid #5d7e8f !important;
  color:#dce9ef !important;
  box-shadow:none;
}
@media(max-width:700px){
  .crime-popup-failure .crime-popup-actions.car-fail-popup-actions .car-fail-main-actions{grid-template-columns:1fr 1fr;gap:8px;}
  .crime-popup-failure .crime-popup-actions.car-fail-popup-actions .car-fail-main-actions .button{font-size:13px;padding:9px 8px;min-height:46px;}
}



/* v1.2.55 vehicle theft success actions */
.car-result-popup .crime-popup-actions.car-success-popup-actions{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:10px !important;
  padding:10px 16px 16px;
}
.car-result-popup .crime-popup-actions.car-success-popup-actions .car-success-main-actions{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
}
.car-result-popup .crime-popup-actions.car-success-popup-actions .car-success-main-actions .button{
  width:100% !important;
  min-width:0 !important;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:8px;
  font-size:16px;
  font-weight:800;
  text-align:center;
  box-shadow:none;
}
.car-result-popup .crime-popup-actions.car-success-popup-actions .car-success-dashboard{
  background:linear-gradient(90deg,#f0dc77,#e89b15) !important;
  border:1px solid #f1cc63 !important;
  color:#171717 !important;
}
.car-result-popup .crime-popup-actions.car-success-popup-actions .car-success-garage{
  background:linear-gradient(180deg,#b84c47,#7d302d) !important;
  border:1px solid #cf625d !important;
  color:#fff !important;
}
.car-result-popup .crime-popup-actions.car-success-popup-actions .car-success-share-row{
  width:100%;
  display:block;
}
.car-result-popup .crime-popup-actions.car-success-popup-actions .car-success-share{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:100% !important;
  min-width:0 !important;
  min-height:42px;
  margin:0;
  padding:8px 14px;
  border-radius:8px;
  font-size:14px;
  font-weight:800;
  background:#173243 !important;
  border:1px solid #5d7e8f !important;
  color:#dce9ef !important;
  box-shadow:none;
}
@media(max-width:700px){
  .car-result-popup .crime-popup-actions.car-success-popup-actions .car-success-main-actions{grid-template-columns:1fr 1fr;gap:8px;}
  .car-result-popup .crime-popup-actions.car-success-popup-actions .car-success-main-actions .button{font-size:13px;padding:9px 8px;min-height:46px;}
}


/* v1.2.57 Travel map country action popup */
.travel-country-choice-overlay{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:18px}
.travel-country-choice-overlay[hidden]{display:none!important}
.travel-country-choice-backdrop{position:absolute;inset:0;background:rgba(6,14,20,.78);backdrop-filter:blur(3px)}
.travel-country-choice-card{position:relative;z-index:1;width:min(430px,100%);padding:22px;border:1px solid #6f8f9f;border-radius:10px;background:#183748;color:#eef5f8;box-shadow:0 22px 60px rgba(0,0,0,.46);text-align:center}
.travel-country-choice-card>small{display:block;color:#a9c6d4;font-size:10px;font-weight:800;letter-spacing:1.6px}
.travel-country-choice-card h2{margin:7px 34px 8px;font-size:25px}
.travel-country-choice-card p{margin:0 0 18px;color:#c8d9e1;font-size:12px;line-height:1.45}
.travel-country-choice-close{position:absolute;top:10px;right:10px;width:36px;height:36px;padding:0;border-radius:50%;display:grid;place-items:center;background:#24495b;border:1px solid #6c9ab2;font-size:21px;line-height:1}
.travel-country-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.travel-country-choice-actions .primary,.travel-country-choice-actions .danger{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;font-weight:800;text-align:center}
.travel-country-choice-actions .primary{background:linear-gradient(90deg,#f0dc77,#e89b15);border-color:#f1cc63;color:#171717}
.travel-country-choice-actions .danger{background:linear-gradient(180deg,#b84c47,#7d302d);border-color:#cf625d;color:#fff}
.travel-country-choice-actions .primary:disabled{background:#294f61;border-color:#5d7e8f;color:#9db3bd;opacity:.72}
@media(max-width:520px){.travel-country-choice-actions{grid-template-columns:1fr}.travel-country-choice-card{padding:20px 16px}.travel-country-choice-card h2{font-size:22px}}


/* Live activity alert: Heists / OC / Jail */
.sidebar nav a.menu-activity-alert{
  border-color:#f2ca62;
  animation:menu-activity-flicker 1.15s steps(2,end) infinite;
}
.sidebar nav a.menu-activity-alert span{color:#fff1a6}
@keyframes menu-activity-flicker{
  0%,49%{background:#456f82;box-shadow:0 0 0 rgba(242,202,98,0)}
  50%,100%{background:#765523;box-shadow:0 0 12px rgba(242,202,98,.55)}
}
@media (prefers-reduced-motion:reduce){
  .sidebar nav a.menu-activity-alert{animation:none;background:#765523;box-shadow:0 0 8px rgba(242,202,98,.45)}
}

/* v79 — restore mobile chat access without changing the desktop docked chat. */
@media(max-width:900px){
  .bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
  .bottom-nav .mobile-chat-toggle{position:relative;width:auto;height:auto}
  .mobile-chat-unread{position:absolute;top:5px;right:calc(50% - 19px);display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#b13d39;border:1px solid #f08b85;color:#fff;font-size:9px;font-weight:900;line-height:1}
  .mobile-chat-unread[hidden]{display:none!important}
  body:not(.chat-closed) .chat-panel{
    display:flex;
    position:fixed;
    left:8px;
    right:8px;
    top:max(8px,env(safe-area-inset-top));
    bottom:calc(72px + env(safe-area-inset-bottom));
    width:auto;
    max-width:none;
    min-width:0;
    min-height:0;
    z-index:95;
    overflow:hidden;
    border-radius:10px;
    background:#264e62;
    box-shadow:0 18px 55px rgba(0,0,0,.58);
  }
  body.chat-closed .chat-panel{display:none!important}
  body:not(.chat-closed) .mobile-chat-toggle{background:#456f82}
  body:not(.chat-closed) .chat-feed{min-height:0;overflow-y:auto}
  body:not(.chat-closed) .chat-compose{flex:0 0 auto;background:#23495c}
}
@media(max-width:380px){
  .bottom-nav small{font-size:8px}
  .bottom-nav a,.bottom-nav button{font-size:18px}
}

.sidebar nav .mobile-logout-form{margin:2px 0}.sidebar nav .mobile-logout-button{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid transparent;border-radius:5px;color:#edf4f7;background:transparent;box-shadow:none;text-align:left}.sidebar nav .mobile-logout-button:hover{background:#456f82;border-color:#66899b;filter:none}.sidebar nav .mobile-logout-button span{width:22px;text-align:center;color:#d9e9f0}

/* Oldschool text-browsergame button pass */
.inline-form button,.page-head .button,.card .button,.classic-dashboard-box button,.classic-dashboard-box .button,.family-country-tabs a,.menu-editor button{border-radius:3px}


/* v1.2.66 oldschool compact result modal actions */
.crime-popup-actions{
  gap:6px!important;
  padding:9px 12px 12px!important;
}
.crime-popup-actions .button,
.crime-popup-actions button{
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:7px 12px!important;
  border-radius:3px!important;
  font-size:13px!important;
  line-height:1.15!important;
  font-weight:700!important;
  box-shadow:none!important;
  transform:none!important;
}
.crime-popup-actions .primary:hover{transform:none!important}

.crime-popup-failure .crime-popup-actions.car-fail-popup-actions,
.car-result-popup .crime-popup-actions.car-success-popup-actions{
  gap:6px!important;
  padding:8px 12px 12px!important;
}
.crime-popup-failure .crime-popup-actions.car-fail-popup-actions .car-fail-main-actions,
.car-result-popup .crime-popup-actions.car-success-popup-actions .car-success-main-actions{
  gap:6px!important;
}
.crime-popup-failure .crime-popup-actions.car-fail-popup-actions .car-fail-main-actions .button,
.car-result-popup .crime-popup-actions.car-success-popup-actions .car-success-main-actions .button{
  min-height:0!important;
  padding:7px 10px!important;
  border-radius:3px!important;
  font-size:13px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
.crime-popup-failure .crime-popup-actions.car-fail-popup-actions .car-fail-share,
.car-result-popup .crime-popup-actions.car-success-popup-actions .car-success-share{
  min-height:0!important;
  padding:6px 10px!important;
  border-radius:3px!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
@media(max-width:700px){
  .crime-popup-actions .button,.crime-popup-actions button{padding:7px 9px!important;font-size:12px!important}
  .crime-popup-failure .crime-popup-actions.car-fail-popup-actions .car-fail-main-actions .button,
  .car-result-popup .crime-popup-actions.car-success-popup-actions .car-success-main-actions .button{
    min-height:0!important;padding:7px 8px!important;font-size:12px!important;
  }
}


/* 2026-08-28 OC row list + menu counts */
.sidebar nav a{justify-content:flex-start}
.sidebar nav a .menu-link-text{display:flex;align-items:center;gap:4px;min-width:0;flex:1;justify-content:space-between;width:auto !important;text-align:left;color:inherit}
.sidebar nav a .menu-link-text .menu-activity-count{font-style:normal;font-size:11px;color:#ffd98a;white-space:nowrap}
.sidebar nav a.menu-activity-has-count{border-color:#8a6a2d;background:#3d5664;box-shadow:none}
.sidebar nav a.menu-activity-has-count:hover{background:#486678;border-color:#a8843e}
.sidebar nav a.menu-activity-has-count>span:first-child{color:#ffe3a3}

.oc-list-shell{display:grid;gap:6px}
.oc-list-shell-single{margin-bottom:10px}
.oc-list-head,.oc-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.oc-list-head{padding:6px 8px;border:1px solid #638697;border-radius:6px;background:rgba(255,255,255,.04);font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#d1e0e7}
.oc-list-grid{display:grid;grid-template-columns:70px minmax(110px,1.15fr) 80px 95px 75px minmax(170px,1.3fr) 110px;gap:10px;align-items:center;min-width:0}
.oc-list-row{padding:7px 8px;border:1px solid #638697;border-radius:6px;background:rgba(255,255,255,.03)}
.oc-list-row.is-selected{border-color:#79b7d0;background:rgba(77,120,143,.18)}
.oc-list-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.oc-col-id{font-weight:800;color:#f1f6f8}
.oc-list-actions{display:flex;justify-content:flex-end}
.oc-list-actions .button{min-height:30px;padding:6px 10px;border-radius:2px}
.oc-list-action-title,.oc-list-actions{justify-self:end}.oc-list-action-title{padding-right:2px;white-space:nowrap}
@media (max-width: 1080px){
  .oc-list-head{display:none}
  .oc-list-row{grid-template-columns:1fr;gap:8px}
  .oc-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .oc-list-row span{background:rgba(255,255,255,.035);border:1px solid rgba(140,182,199,.18);padding:6px 7px;border-radius:4px;white-space:normal}
  .oc-list-actions{justify-content:flex-start}
}
@media (max-width: 640px){
  .oc-list-grid{grid-template-columns:1fr}
  .oc-header-stats{width:100%}
  .oc-header-stats span{flex:1 1 calc(50% - 8px)}
}


/* 2026-08-28 OC active summary cleanup */
.oc-active-summary{display:grid;grid-template-columns:90px minmax(150px,1.2fr) 110px minmax(260px,2.3fr);gap:8px;margin:8px 0 14px;align-items:stretch}
.oc-active-summary-item{padding:8px 10px;border:1px solid #638697;border-radius:6px;background:rgba(255,255,255,.04);min-width:0}
.oc-active-summary-item small{display:block;margin-bottom:4px;font-size:11px;line-height:1.1;text-transform:uppercase;letter-spacing:.6px;color:#c8d9e0}
.oc-active-summary-item strong{display:block;font-size:15px;line-height:1.25;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oc-active-summary-item strong a{color:inherit;text-decoration:none}
.oc-active-summary-item strong a:hover{text-decoration:underline}
.oc-active-summary-roles{grid-column:auto;padding-bottom:10px}
.oc-role-status-list{display:flex;flex-wrap:wrap;gap:6px}
.oc-role-status{display:inline-flex;align-items:center;gap:8px;padding:6px 9px;border:1px solid #638697;border-radius:3px;font-size:12px;line-height:1.2;font-weight:700;white-space:nowrap}
.oc-role-status-name{color:#eef7fa}
.oc-role-status-state{text-transform:uppercase;letter-spacing:.4px;font-size:11px}
.oc-role-status.open{border-color:#5db985;background:rgba(58,121,73,.25)}
.oc-role-status.open .oc-role-status-state{color:#86f0a9}
.oc-role-status.taken{border-color:#c56b6b;background:rgba(135,53,53,.22)}
.oc-role-status.taken .oc-role-status-state{color:#ff8f8f}
@media (max-width: 1180px){.oc-active-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.oc-active-summary-roles{grid-column:1 / -1}}
@media (max-width: 680px){.oc-active-summary{grid-template-columns:1fr}.oc-active-summary-roles{grid-column:auto}.oc-role-status-list{gap:5px}}


/* 2026-08-28 OC recruiting role-status rows */
.oc-recruiting-grid{grid-template-columns:72px minmax(155px,1.2fr) 90px repeat(3,minmax(145px,1fr));gap:12px;align-items:center}
.oc-recruiting-list .oc-list-head,.oc-recruiting-list .oc-list-row{padding-left:12px;padding-right:10px}
.oc-recruiting-list .oc-list-row{min-height:54px}
.oc-recruiting-list .oc-list-head .oc-recruiting-grid>span,.oc-recruiting-list .oc-list-row .oc-recruiting-grid>span{display:flex;align-items:center;min-height:32px}
.oc-recruiting-list .oc-list-head .oc-recruiting-grid>span:nth-child(1),.oc-recruiting-list .oc-list-row .oc-recruiting-grid>span:nth-child(1){justify-content:flex-start;text-align:left}
.oc-recruiting-list .oc-list-head .oc-recruiting-grid>span:nth-child(2),.oc-recruiting-list .oc-list-row .oc-recruiting-grid>span:nth-child(2){justify-content:flex-start;text-align:left}
.oc-recruiting-list .oc-list-head .oc-recruiting-grid>span:nth-child(n+3),.oc-recruiting-list .oc-list-row .oc-recruiting-grid>span:nth-child(n+3){justify-content:center;text-align:center}
.oc-recruiting-list .oc-list-action-title,.oc-recruiting-list .oc-list-actions{display:flex;align-items:center;justify-content:center;min-width:72px;text-align:center}
.oc-recruiting-list .oc-list-actions .button{min-width:66px;text-align:center}
.oc-recruit-leader{display:flex;align-items:center;min-width:0}
.oc-recruit-leader>a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oc-role-cell{display:inline-flex!important;align-items:center;justify-content:center;min-height:30px;padding:5px 8px!important;border:1px solid #638697;border-radius:3px;font-size:11px!important;font-weight:800;letter-spacing:.45px;text-transform:uppercase;text-align:center}
.oc-role-cell.open{border-color:#5db985;background:rgba(58,121,73,.25);color:#86f0a9}
.oc-role-cell.taken{border-color:#c56b6b;background:rgba(135,53,53,.22);color:#ff8f8f}
@media (max-width:1080px){
  .oc-recruiting-grid{grid-template-columns:72px minmax(145px,1.15fr) 80px repeat(3,minmax(120px,1fr));gap:10px}
  .oc-recruiting-list{overflow-x:auto}
  .oc-recruiting-list .oc-list-head,.oc-recruiting-list .oc-list-row{min-width:850px}
  .oc-recruiting-list .oc-list-head{display:grid}
  .oc-recruiting-list .oc-list-row{grid-template-columns:minmax(0,1fr) auto}
  .oc-recruiting-list .oc-list-row span{background:transparent;border-radius:0;padding:0;white-space:nowrap}
  .oc-recruiting-list .oc-role-cell{padding:5px 8px!important;border-radius:3px}
}

/* 2026-08-28 Heist row recruiting + post-create crew-size choice */
.heist-create-single{margin:0}.heist-create-single .primary{min-width:170px}
.heist-size-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.heist-size-choice-card{display:grid;gap:4px;padding:10px;border:1px solid #638697;border-radius:4px;background:#294f61}
.heist-size-choice-card strong{font-size:15px}.heist-size-choice-card span{font-size:11px;color:#c6d8e0}.heist-size-choice-card b{font-size:12px;color:#9ee2ff}.heist-size-choice-card button{margin-top:5px}.heist-size-choice-card .heist-size-fee{color:#f2c84b;font-weight:800}
.heist-size-cancel{display:flex;justify-content:flex-end;margin-top:8px}.heist-size-cancel form{margin:0}
.heist-active-meta{display:grid;grid-template-columns:90px minmax(150px,1.2fr) 100px 110px;gap:7px;margin:0 0 8px}
.heist-active-meta>span{padding:7px 9px;border:1px solid #638697;border-radius:4px;background:rgba(255,255,255,.035);min-width:0}
.heist-active-meta small{display:block;margin-bottom:3px;color:#b9ced8;font-size:9px;font-weight:800;letter-spacing:.7px}
.heist-active-meta strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.heist-recruit-list{display:grid;gap:6px}
.heist-recruit-head,.heist-recruit-row{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:10px;align-items:center}
.heist-recruit-head{padding:6px 10px;border:1px solid #638697;border-radius:5px;background:rgba(255,255,255,.04);font-size:10px;letter-spacing:.55px;color:#d1e0e7}
.heist-recruit-row{min-height:52px;padding:7px 10px;border:1px solid #638697;border-radius:5px;background:rgba(255,255,255,.025)}
.heist-recruit-grid{display:grid;grid-template-columns:72px minmax(150px,1.15fr) 90px 100px minmax(130px,1fr) minmax(130px,1fr);gap:12px;align-items:center;min-width:0}
.heist-recruit-head .heist-recruit-grid>span,.heist-recruit-row .heist-recruit-grid>span{display:flex;align-items:center;min-height:30px}
.heist-recruit-head .heist-recruit-grid>span:nth-child(1),.heist-recruit-row .heist-recruit-grid>span:nth-child(1),.heist-recruit-head .heist-recruit-grid>span:nth-child(2),.heist-recruit-row .heist-recruit-grid>span:nth-child(2){justify-content:flex-start;text-align:left}
.heist-recruit-head .heist-recruit-grid>span:nth-child(n+3),.heist-recruit-row .heist-recruit-grid>span:nth-child(n+3){justify-content:center;text-align:center}
.heist-recruit-id{font-weight:800}.heist-recruit-leader{min-width:0}.heist-recruit-leader>a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.heist-recruit-action{display:flex;align-items:center;justify-content:center}.heist-recruit-action .button{min-width:66px;text-align:center}
.heist-role-cell{display:inline-flex!important;align-items:center;justify-content:center;min-height:30px;padding:5px 8px!important;border:1px solid #638697;border-radius:3px;font-size:11px!important;font-weight:800;letter-spacing:.45px;text-transform:uppercase;text-align:center}
.heist-role-cell.open{border-color:#5db985;background:rgba(58,121,73,.25);color:#86f0a9}.heist-role-cell.taken{border-color:#c56b6b;background:rgba(135,53,53,.22);color:#ff8f8f}.heist-role-cell.unused{border-color:#718793;background:rgba(77,96,107,.24);color:#b9c8cf}
.heist-join-detail{display:grid;gap:10px}.heist-join-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #638697;border-radius:5px;background:#294f61}.heist-join-detail-head h3{margin:2px 0;font-size:16px}.heist-join-detail-head small{display:block;color:#b9ced8;font-size:9px;font-weight:800;letter-spacing:.7px}.heist-join-detail-head span{font-size:10px;color:#c6d8e0}
.heist-join-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.heist-join-role-card{padding:9px;border:1px solid #638697;border-radius:5px;background:#294f61}.heist-join-role-card.open{border-color:#5b9c78}.heist-join-role-card.taken{border-color:#8d6262}.heist-join-role-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.heist-join-role-card p{margin:0;color:#c6d8e0;font-size:11px}.heist-join-form{display:grid;gap:7px}.heist-join-form label{margin:0!important;font-size:10px}.heist-join-form select,.heist-join-form input{margin-top:3px}
@media(max-width:1080px){.heist-recruit-list{overflow-x:auto}.heist-recruit-head,.heist-recruit-row{min-width:850px}.heist-active-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.heist-size-choice-grid,.heist-join-role-grid{grid-template-columns:1fr}.heist-join-detail-head{align-items:stretch;flex-direction:column}.heist-active-meta{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.heist-active-meta{grid-template-columns:1fr}}


/* 2026-08-28 Family directory compact layout */
.family-directory-head{margin-bottom:12px}
.family-directory-head-actions{display:flex;gap:10px;align-items:center}
.family-directory-compact-panel{padding:14px}
.family-directory-compact-list{display:flex;flex-direction:column;gap:10px}
.family-directory-compact-card{display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(320px,1.5fr) 110px;gap:16px;align-items:center;padding:10px 12px;border:1px solid #6f8f9d;border-radius:0;background:rgba(255,255,255,.02)}
.family-directory-compact-card.is-current{border-color:#80b5b1}
.family-directory-identity{display:flex;align-items:center;gap:12px;min-width:0}
.family-directory-logo{width:56px;height:56px;flex:0 0 56px;border:1px solid #6f8f9d;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:rgba(0,0,0,.18);color:#fff;font-weight:800;text-transform:uppercase;text-decoration:none}
.family-directory-logo img{display:block;width:100%;height:100%;object-fit:cover}
.family-directory-main{min-width:0}
.family-directory-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.family-directory-title-row strong{font-size:20px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}
.family-directory-subline{margin-top:2px;font-size:14px;color:#e6eef2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.family-directory-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:center}
.family-directory-stats>div{min-width:0;padding:2px 4px}
.family-directory-stats small{display:block;margin-bottom:2px;font-size:11px;line-height:1.1;text-transform:uppercase;letter-spacing:.5px;color:#d0dde4}
.family-directory-stats strong{display:block;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.family-directory-actions{display:flex;justify-content:flex-end;align-items:center}
.family-directory-actions .button{min-width:86px;text-align:center}
@media (max-width: 1050px){.family-directory-compact-card{grid-template-columns:1fr;gap:10px}.family-directory-actions{justify-content:flex-start}.family-directory-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.family-directory-head{gap:10px}.family-directory-logo{width:48px;height:48px;flex-basis:48px}.family-directory-title-row strong{font-size:18px}.family-directory-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.family-directory-compact-card{padding:10px}.family-directory-subline{white-space:normal}}


/* 2026-08-30 — Topbar resource spread + desktop health bar. */
@media(min-width:901px){
  .topbar{
    gap:14px;
  }
  .topbar>.resources{
    flex:1 1 auto;
    min-width:0;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:8px;
    align-items:stretch;
  }
  .topbar>.resources>.resource-card{
    width:100%;
    min-width:0;
    min-height:58px;
    height:58px;
    padding:7px 12px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:3px;
  }
  .topbar>.resources>.resource-card>b{
    display:block;
    font-size:14px;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .topbar>.resources>.resource-card>small{
    display:block;
    color:var(--muted);
    font-size:10px;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .topbar>.resources>.resource-card.resource-card-health{
    gap:4px;
  }
  .topbar>.resources>.resource-card .resource-healthbar{
    display:block;
    width:100%;
    height:10px;
    border:1px solid #5f7f8e;
    border-radius:999px;
    overflow:hidden;
    background:linear-gradient(180deg,rgba(150,54,54,.95),rgba(104,31,31,.95));
    box-shadow:inset 0 1px 2px rgba(0,0,0,.35);
  }
  .topbar>.resources>.resource-card .resource-healthbar i{
    display:block;
    height:100%;
    background:linear-gradient(90deg,#4fd86a,#7bf08e);
    box-shadow:0 0 10px rgba(89,239,117,.24);
  }
  .topbar>.top-actions{
    flex:0 0 auto;
  }
}
@media(min-width:901px) and (max-width:1250px){
  .topbar>.resources{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .topbar>.resources>.resource-card:nth-child(3),
  .topbar>.resources>.resource-card:nth-child(4){
    display:none;
  }
}
@media(max-width:900px){
  .resource-healthbar{
    display:none!important;
  }
}


/* 2026-08-30 — Topbar centered values + full-card health fill. */
@media(min-width:901px){
  .topbar>.resources>.resource-card{
    position:relative;
    align-items:center;
    text-align:center;
  }
  .topbar>.resources>.resource-card>b,
  .topbar>.resources>.resource-card>small{
    width:100%;
    text-align:center;
  }
  .topbar>.resources>.resource-card.resource-card-health{
    overflow:hidden;
  }
  .topbar>.resources>.resource-card.resource-card-health>b,
  .topbar>.resources>.resource-card.resource-card-health>small{
    position:relative;
    z-index:2;
    text-shadow:0 1px 1px rgba(0,0,0,.35);
  }
  .topbar>.resources>.resource-card.resource-card-health .resource-healthbar{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    border-radius:inherit;
    overflow:hidden;
    background:linear-gradient(180deg,rgba(86,29,29,.96),rgba(126,38,38,.96));
    z-index:0;
  }
  .topbar>.resources>.resource-card.resource-card-health .resource-healthbar i{
    display:block;
    height:100%;
  }
  .topbar>.resources>.resource-card.resource-card-health.health-high .resource-healthbar i{
    background:linear-gradient(180deg,rgba(79,171,94,.98),rgba(43,118,57,.98));
  }
  .topbar>.resources>.resource-card.resource-card-health.health-medium .resource-healthbar i{
    background:linear-gradient(180deg,rgba(224,150,54,.98),rgba(174,103,23,.98));
  }
  .topbar>.resources>.resource-card.resource-card-health.health-low .resource-healthbar i{
    background:linear-gradient(180deg,rgba(214,74,74,.98),rgba(140,37,37,.98));
  }
}
@media(max-width:900px){
  .topbar>.resources>.resource-card{
    text-align:center;
  }
}


/* 2026-08-30 — Topbar cards: icon+label above, value below, solid health tile. */
@media(min-width:901px){
  .topbar>.resources>.resource-card{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    text-align:center;
    padding:8px 12px;
  }
  .topbar>.resources>.resource-card>small{
    order:1;
    display:block;
    width:100%;
    margin:0;
    color:#d7e5eb;
    font-size:11px;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .topbar>.resources>.resource-card>b{
    order:2;
    display:block;
    width:100%;
    margin:0;
    font-size:16px;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .topbar>.resources>.resource-card.resource-card-health{
    background:#365d70;
    border-color:#5f7f8e;
  }
  .topbar>.resources>.resource-card.resource-card-health.health-high{
    background:linear-gradient(180deg,#4aa151,#3d8743);
    border-color:#6dba73;
  }
  .topbar>.resources>.resource-card.resource-card-health.health-medium{
    background:linear-gradient(180deg,#d59233,#ba741d);
    border-color:#e2ac61;
  }
  .topbar>.resources>.resource-card.resource-card-health.health-low{
    background:linear-gradient(180deg,#bd4a4a,#953434);
    border-color:#d56e6e;
  }
  .topbar>.resources>.resource-card.resource-card-health>small,
  .topbar>.resources>.resource-card.resource-card-health>b{
    color:#fff;
    text-shadow:0 1px 1px rgba(0,0,0,.28);
  }
  .topbar>.resources>.resource-card.resource-card-health .resource-healthbar{
    display:none!important;
  }
}


/* 2026-08-30 — Compact Garage layout. */
.main-content:has(.garage-summary-panel) .garage-page-head{
  padding:10px 12px;
  margin-bottom:8px;
  border-radius:4px;
}
.main-content:has(.garage-summary-panel) .garage-page-head h1{
  margin-bottom:3px;
  font-size:18px;
}
.main-content:has(.garage-summary-panel) .garage-page-head p{
  max-width:720px;
  font-size:10px;
  line-height:1.35;
}
.main-content:has(.garage-summary-panel) .garage-page-head .button{
  padding:6px 10px;
  min-height:28px;
  font-size:11px;
  border-radius:3px;
}
.main-content:has(.garage-summary-panel) .garage-summary-panel,
.main-content:has(.garage-summary-panel) .garage-vehicles-panel{
  padding:10px 12px;
  margin-bottom:8px;
  border-radius:4px;
}
.main-content:has(.garage-summary-panel) .garage-summary-panel .section-title-row,
.main-content:has(.garage-summary-panel) .garage-vehicles-panel .section-title-row{
  gap:10px;
}
.main-content:has(.garage-summary-panel) .garage-summary-panel h2,
.main-content:has(.garage-summary-panel) .garage-vehicles-panel h2{
  margin:0 0 3px;
  font-size:16px;
}
.main-content:has(.garage-summary-panel) .garage-summary-panel .muted,
.main-content:has(.garage-summary-panel) .garage-vehicles-panel .muted{
  font-size:10px;
  line-height:1.35;
}
.main-content:has(.garage-summary-panel) .garage-capacity-badge{
  min-width:150px;
  padding:6px 10px;
  border-radius:4px;
}
.main-content:has(.garage-summary-panel) .garage-capacity-badge small{
  font-size:8px;
  letter-spacing:.8px;
}
.main-content:has(.garage-summary-panel) .garage-capacity-badge strong{
  margin:2px 0;
  font-size:18px;
}
.main-content:has(.garage-summary-panel) .garage-capacity-badge span{
  font-size:10px;
}
.main-content:has(.garage-summary-panel) .garage-capacity-bar{
  height:8px;
  margin:8px 0;
}
.main-content:has(.garage-summary-panel) .garage-upgrade-form{
  gap:10px;
  padding:8px 10px;
  border-radius:4px;
}
.main-content:has(.garage-summary-panel) .garage-upgrade-form strong{
  font-size:14px;
  line-height:1.2;
}
.main-content:has(.garage-summary-panel) .garage-upgrade-form small{
  font-size:10px;
  line-height:1.25;
}
.main-content:has(.garage-summary-panel) .garage-upgrade-form button{
  padding:7px 11px;
  min-height:30px;
  font-size:12px;
  border-radius:3px;
}
.main-content:has(.garage-summary-panel) .garage-maxed{
  padding:8px 10px;
  border-radius:4px;
  font-size:11px;
}
.main-content:has(.garage-summary-panel) .garage-total-count{
  padding:6px 10px;
  font-size:11px;
}
.main-content:has(.garage-summary-panel) .garage-vehicle-list{
  gap:6px;
}
.main-content:has(.garage-summary-panel) .garage-vehicle-card{
  gap:8px;
  padding:8px 10px;
  border-radius:4px;
}
.main-content:has(.garage-summary-panel) .vehicle-main{
  gap:8px;
}
.main-content:has(.garage-summary-panel) .vehicle-main strong{
  font-size:13px;
  line-height:1.15;
}
.main-content:has(.garage-summary-panel) .vehicle-main small,
.main-content:has(.garage-summary-panel) .vehicle-value small,
.main-content:has(.garage-summary-panel) .vehicle-condition small{
  font-size:8px;
}
.main-content:has(.garage-summary-panel) .vehicle-condition strong,
.main-content:has(.garage-summary-panel) .vehicle-value strong{
  margin:2px 0;
  font-size:15px;
}
.main-content:has(.garage-summary-panel) .vehicle-value span{
  font-size:9px;
}
.main-content:has(.garage-summary-panel) .vehicle-location{
  padding:5px 8px;
  font-size:10px;
}
.main-content:has(.garage-summary-panel) .vehicle-actions{
  gap:5px;
}
.main-content:has(.garage-summary-panel) .vehicle-actions button,
.main-content:has(.garage-summary-panel) .vehicle-actions .button{
  padding:6px 8px;
  min-height:28px;
  font-size:11px;
}
.main-content:has(.garage-summary-panel) .small-action-note{
  font-size:9px;
  line-height:1.3;
}
@media(max-width:900px){
  .main-content:has(.garage-summary-panel) .garage-page-head{
    padding:8px 10px;
  }
  .main-content:has(.garage-summary-panel) .garage-summary-panel,
  .main-content:has(.garage-summary-panel) .garage-vehicles-panel{
    padding:8px 10px;
  }
  .main-content:has(.garage-summary-panel) .garage-capacity-badge{
    min-width:0;
    width:100%;
  }
  .main-content:has(.garage-summary-panel) .garage-upgrade-form{
    padding:7px 8px;
  }
  .main-content:has(.garage-summary-panel) .garage-vehicle-card{
    padding:7px 8px;
  }
}


/* 2026-08-30 — Mobile health tile styling. */
@media(max-width:900px){
  .topbar>.resources>.resource-card.resource-card-health{
    background:#365d70;
    border-color:#5f7f8e;
  }
  .topbar>.resources>.resource-card.resource-card-health.health-high{
    background:linear-gradient(180deg,#4aa151,#3d8743);
    border-color:#6dba73;
  }
  .topbar>.resources>.resource-card.resource-card-health.health-medium{
    background:linear-gradient(180deg,#d59233,#ba741d);
    border-color:#e2ac61;
  }
  .topbar>.resources>.resource-card.resource-card-health.health-low{
    background:linear-gradient(180deg,#bd4a4a,#953434);
    border-color:#d56e6e;
  }
  .topbar>.resources>.resource-card.resource-card-health::before,
  .topbar>.resources>.resource-card.resource-card-health::after{
    color:#fff;
    text-shadow:0 1px 1px rgba(0,0,0,.28);
  }
}

/* 2026-08-30 — Hire Goons / Auto Jobs compact control panel. */
.goon-page-head{padding:8px 10px;margin-bottom:6px;border-radius:3px}
.goon-page-head h1{font-size:19px;margin:0 0 2px}.goon-page-head p{font-size:10px;line-height:1.35}
.goon-credit-balance{min-width:160px;padding:6px 10px;border:1px solid #708f9e;background:#254b5f;border-radius:3px;text-align:center}
.goon-credit-balance small,.goon-credit-balance span{display:block;color:#bdd0d9;font-size:8px;letter-spacing:.55px}.goon-credit-balance strong{display:block;margin:1px 0;font-size:20px;color:#ffe08b}
.goon-control-box,.goon-config-box,.goon-history-box{margin-bottom:6px}.goon-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:5px}
.goon-picker-item{position:relative;display:grid;grid-template-columns:1fr auto;gap:1px 6px;min-width:0;padding:6px 7px;border:1px solid #5f8192;background:#31576a;border-radius:2px}
.goon-picker-item:hover{background:#3c6477}.goon-picker-item.selected{border-color:#8fb2c3;background:#41697c}.goon-picker-item.active{border-left:3px solid #62e77d}
.goon-picker-item strong{grid-column:1/-1;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goon-picker-item span{font-size:9px;color:#c4d6de}.goon-picker-item em{font-size:8px;font-style:normal;color:#aebfc7}.goon-picker-item.active em{color:#76f28e}
.goon-config-form{margin:0}.goon-current-status{display:grid;grid-template-columns:120px 135px minmax(0,1fr);border-bottom:1px solid #66889a}
.goon-current-status>div{min-width:0;padding:5px 7px;border-right:1px solid #66889a;background:#315568}.goon-current-status>div:last-child{border-right:0}.goon-current-status small{display:block;font-size:8px;color:#bdd0d9;letter-spacing:.5px}.goon-current-status strong{display:block;margin-top:1px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goon-current-status [data-action-countdown]{color:#8fd4f1}.goon-current-status [data-action-countdown].ready{color:#75ef8a}
.goon-config-grid{display:grid;grid-template-columns:minmax(210px,1.5fr) minmax(120px,.7fr) minmax(100px,.55fr) minmax(125px,.65fr);gap:5px;padding:6px}
.goon-config-grid label{display:flex;flex-direction:column;gap:3px;margin:0;min-width:0}.goon-config-grid label>span{font-size:8px;color:#c7d8df;text-transform:uppercase;letter-spacing:.5px}.goon-config-grid input,.goon-config-grid select{height:30px;min-height:30px;padding:4px 6px;border-radius:2px;font-size:11px}
.goon-config-grid .goon-enabled-field{grid-column:auto}.goon-config-footer{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:0 6px 6px}.goon-config-footer p{margin:0;color:#bdd0d9;font-size:9px;line-height:1.35}.goon-config-footer button{min-height:30px;padding:5px 10px;border-radius:2px;font-size:11px}
.goon-shared-timer-note{margin:0 6px 6px;padding:5px 7px;border:1px solid #5f8192;background:#2a5064;color:#c9d9e0;font-size:9px;line-height:1.3}
.goon-history-box>summary{cursor:pointer;list-style:none}.goon-history-box>summary::-webkit-details-marker{display:none}.goon-history-box>summary:after{content:'+';float:right}.goon-history-box[open]>summary:after{content:'−'}
.goon-history-list{display:grid}.goon-history-list>div{display:grid;grid-template-columns:155px minmax(0,1fr) 160px;gap:8px;align-items:center;padding:5px 7px;border-bottom:1px solid #66889a;background:#315568}.goon-history-list>div:nth-child(odd){background:#345a6d}.goon-history-list>div:last-child{border-bottom:0}.goon-history-list strong,.goon-history-list span{font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goon-history-list small{font-size:8px;color:#b8cbd4;text-align:right}
@media(max-width:1050px){.goon-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.goon-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goon-current-status{grid-template-columns:105px 120px minmax(0,1fr)}}
@media(max-width:700px){.goon-page-head{display:grid;grid-template-columns:1fr;gap:6px}.goon-credit-balance{width:100%;min-width:0}.goon-picker{grid-template-columns:1fr 1fr}.goon-current-status{grid-template-columns:1fr 1fr}.goon-current-status>div:nth-child(2){border-right:0}.goon-current-status>div:last-child{grid-column:1/-1;border-top:1px solid #66889a}.goon-config-grid{grid-template-columns:1fr 1fr}.goon-config-footer{grid-template-columns:1fr}.goon-config-footer button{width:100%}.goon-history-list>div{grid-template-columns:1fr}.goon-history-list small{text-align:left}.goon-history-list strong,.goon-history-list span{white-space:normal}}
@media(max-width:430px){.goon-picker{grid-template-columns:1fr}.goon-config-grid{grid-template-columns:1fr}.goon-current-status{grid-template-columns:1fr}.goon-current-status>div{border-right:0;border-bottom:1px solid #66889a}.goon-current-status>div:last-child{grid-column:auto;border-top:0;border-bottom:0}}


/* 2026-09-01 - Mobile bottom nav car icon tidy-up. */
@media(max-width:900px){
  .bottom-nav a,.bottom-nav button{
    line-height:1;
  }
  .bottom-nav .bottom-nav-car-link{
    gap:4px;
  }
  .bottom-nav .bottom-nav-car-icon{
    display:block;
    width:20px;
    height:20px;
    background-repeat:no-repeat;
    background-position:center;
    background-size:18px 18px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M14 40l4-12c1.1-3.1 3.9-5.2 7.2-5.5L41 21c4.8-.4 9.3 2 11.7 6.2L56 34c2.5.6 4 2.9 4 5.4V47c0 1.7-1.3 3-3 3h-4a6 6 0 01-12 0H23a6 6 0 01-12 0H7c-1.7 0-3-1.3-3-3v-6.5c0-2.3 1.5-4.4 3.7-5.1L14 40zm7-2h29l-2.9-6.2c-1.3-2.8-4.2-4.4-7.2-4.1l-14.8 1.3c-1.6.1-3 1.2-3.5 2.8L21 38zm-4 12a3 3 0 100-6 3 3 0 000 6zm30 0a3 3 0 100-6 3 3 0 000 6z' fill='%23eef5f8'/%3E%3C/svg%3E");
  }
  .bottom-nav .bottom-nav-car-link small{
    letter-spacing:.2px;
  }
}
@media(max-width:380px){
  .bottom-nav .bottom-nav-car-icon{
    width:18px;
    height:18px;
    background-size:16px 16px;
  }
}


/* 2026-09-02 - Garage mobile density pass. Keep vehicle data readable without tall stacked cards. */
@media(max-width:520px){
  .main-content:has(.garage-summary-panel) .garage-vehicles-panel{
    padding:6px;
  }
  .main-content:has(.garage-summary-panel) .garage-vehicles-panel>.section-title-row{
    align-items:center;
    margin-bottom:5px;
  }
  .main-content:has(.garage-summary-panel) .garage-vehicles-panel>.section-title-row .muted{
    display:none;
  }
  .main-content:has(.garage-summary-panel) .garage-total-count{
    padding:4px 8px;
    font-size:10px;
  }
  .main-content:has(.garage-summary-panel) .garage-vehicle-list{
    gap:5px;
  }
  .main-content:has(.garage-summary-panel) .recycling-vehicle-card{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px 6px;
    padding:6px 7px;
  }
  .main-content:has(.garage-summary-panel) .recycling-vehicle-card .vehicle-main{
    grid-column:1/-1;
    gap:6px;
    padding-bottom:4px;
    border-bottom:1px solid rgba(139,174,191,.34);
  }
  .main-content:has(.garage-summary-panel) .vehicle-main strong{
    font-size:12px;
  }
  .main-content:has(.garage-summary-panel) .vehicle-main small{
    font-size:8px;
    line-height:1.2;
  }
  .main-content:has(.garage-summary-panel) .garage-car-thumb{
    width:58px;
    height:40px;
    flex-basis:58px;
  }
  .main-content:has(.garage-summary-panel) .vehicle-condition,
  .main-content:has(.garage-summary-panel) .vehicle-value{
    min-width:0;
    padding:2px 0;
  }
  .main-content:has(.garage-summary-panel) .vehicle-condition small,
  .main-content:has(.garage-summary-panel) .vehicle-value small{
    display:block;
    font-size:7px;
    letter-spacing:.45px;
    white-space:nowrap;
  }
  .main-content:has(.garage-summary-panel) .vehicle-condition strong,
  .main-content:has(.garage-summary-panel) .vehicle-value strong{
    margin:1px 0 0;
    font-size:13px;
    line-height:1.1;
  }
  .main-content:has(.garage-summary-panel) .vehicle-value span{
    display:none;
  }
  .main-content:has(.garage-summary-panel) .vehicle-location{
    grid-column:1/-1;
    justify-self:start;
    padding:3px 7px;
    font-size:9px;
  }
  .main-content:has(.garage-summary-panel) .recycling-vehicle-card .recycling-actions{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px;
  }
  .main-content:has(.garage-summary-panel) .recycling-actions form,
  .main-content:has(.garage-summary-panel) .recycling-actions button,
  .main-content:has(.garage-summary-panel) .recycling-actions .button{
    width:100%;
  }
  .main-content:has(.garage-summary-panel) .vehicle-actions button,
  .main-content:has(.garage-summary-panel) .vehicle-actions .button{
    min-height:26px;
    padding:4px 6px;
    font-size:10px;
  }
  .main-content:has(.garage-summary-panel) .recycling-actions .small-action-note{
    grid-column:1/-1;
    max-width:none;
    font-size:8px;
  }
}

/* Chat replies/quotes + multiline composer */
.chat-msg-content{min-width:0}
.chat-meta{position:relative}
.chat-reply-button{flex:0 0 auto;margin-left:auto;min-height:0;padding:1px 5px;border:0;background:transparent;box-shadow:none;color:#a9cbd9;font-size:9px;line-height:1;opacity:.78}
.chat-reply-button:hover{background:#315f75;color:#fff;opacity:1;filter:none}
.bubble{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.chat-message-text{display:block;white-space:pre-wrap}
.chat-quote{display:block;margin:-2px -3px 7px;padding:5px 7px;border-left:3px solid #7dc9ec;border-radius:4px;background:#274b5d;color:#d9eaf1;min-width:0}
.chat-quote strong{display:block;color:#8fd0ef;font-size:10px;line-height:1.2}
.chat-quote span{display:-webkit-box;margin-top:2px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#c8d9e0;font-size:10px;line-height:1.25;white-space:pre-wrap}
.chat-reply-preview{display:flex;align-items:center;gap:8px;padding:6px 9px;border-top:1px solid #5b7e90;background:#294f61}
.chat-reply-preview[hidden]{display:none!important}
.chat-reply-preview>div{display:grid;grid-template-columns:auto 1fr;gap:1px 7px;min-width:0;flex:1}
.chat-reply-preview small{grid-column:1/-1;color:#a9c2cd;font-size:9px;text-transform:uppercase;letter-spacing:.5px}
.chat-reply-preview strong{color:#8fd0ef;font-size:11px;white-space:nowrap}
.chat-reply-preview span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d7e5ea;font-size:11px}
.chat-reply-preview button{flex:0 0 28px;width:28px;height:28px;min-height:28px;padding:0;border:0;background:transparent;box-shadow:none;font-size:18px}
.chat-compose textarea{flex:1;width:100%;min-height:36px;max-height:86px;resize:none;overflow-y:auto;background:#173c4e;color:#fff;border:1px solid #7597a7;border-radius:6px;padding:8px 10px;outline:none;font:inherit;line-height:1.3}
.chat-compose textarea:focus{border-color:#8fd2f0;box-shadow:0 0 0 2px rgba(115,195,230,.2)}
@media(max-width:900px){
 .chat-reply-button{opacity:1;padding:4px 7px;font-size:9px}
 .chat-compose textarea{min-height:38px;max-height:78px}
}



/* Project X VIP name styling */
.vip-player-name{color:#f2c84b!important;font-weight:800!important;text-shadow:0 0 8px rgba(242,200,75,.18)}
.vip-name-crown{display:inline-block;position:relative;top:-.42em;margin-left:3px;color:#f2c84b!important;font-size:.72em;font-weight:800;line-height:1;vertical-align:baseline;text-shadow:0 0 7px rgba(242,200,75,.28)}
.chat-meta .vip-name-crown{font-size:11px;margin-right:2px}

/* VIP Shop */
.vip-premium-shop{--vip-gold:#f2c651;--vip-gold-soft:#d7ae42;--vip-bg:#061b28;--vip-card:#0b2635;--vip-card-2:#0e2c3c;--vip-line:#4f7080;--vip-text:#f4f7f9;--vip-muted:#a7bac4;display:block;max-width:1180px;margin:0 auto;padding:14px 14px 8px;color:var(--vip-text);background:linear-gradient(180deg,#071d2a 0%,#061a26 100%);border:1px solid #274a5b;border-radius:0;box-shadow:0 12px 34px rgba(0,0,0,.28)}
.vip-premium-shop *{box-sizing:border-box}.vip-premium-hero{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr) 205px;align-items:center;min-height:205px;padding:22px 18px;overflow:hidden;border:1px solid #6f7c75;border-radius:8px;background:radial-gradient(circle at 18% 50%,rgba(216,160,39,.18),transparent 31%),linear-gradient(90deg,rgba(32,38,33,.55),rgba(4,24,36,.85) 45%,rgba(3,20,30,.95)),linear-gradient(180deg,#102a34,#061a27);box-shadow:inset 0 0 28px rgba(0,0,0,.32)}
.vip-premium-hero:before{content:'';position:absolute;inset:auto 0 0 0;height:60%;opacity:.17;background:linear-gradient(90deg,transparent 0 18%,#000 18% 20%,transparent 20% 24%,#000 24% 30%,transparent 30% 42%,#000 42% 45%,transparent 45% 58%,#000 58% 66%,transparent 66% 72%,#000 72% 77%,transparent 77% 100%);clip-path:polygon(0 100%,0 78%,7% 78%,7% 53%,11% 53%,11% 70%,15% 70%,15% 40%,19% 40%,19% 68%,24% 68%,24% 48%,29% 48%,29% 74%,35% 74%,35% 34%,39% 34%,39% 70%,44% 70%,44% 48%,48% 48%,48% 72%,54% 72%,54% 40%,58% 40%,58% 61%,64% 61%,64% 31%,68% 31%,68% 66%,74% 66%,74% 46%,79% 46%,79% 70%,84% 70%,84% 37%,89% 37%,89% 63%,94% 63%,94% 48%,100% 48%,100% 100%)}
.vip-premium-star{position:relative;z-index:1;width:104px;height:104px;display:flex;align-items:center;justify-content:center;font-size:94px;line-height:1;color:#f7cc53;text-shadow:0 3px 0 #7a5312,0 0 18px rgba(242,198,81,.4);transform:translateY(-1px)}
.vip-premium-hero-copy{position:relative;z-index:1;min-width:0}.vip-premium-hero h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:48px;line-height:1.04;letter-spacing:.045em;font-weight:800;text-shadow:0 2px 3px #000}.vip-premium-hero h1 span{color:#fff}.vip-premium-hero h1 b{color:var(--vip-gold);font-weight:800}.vip-premium-tagline{margin-top:11px;font-size:14px;letter-spacing:.22em;font-weight:800;color:#c7d3da}.vip-premium-hero-copy p{margin:16px 0 0;font-size:16px;line-height:1.45;color:#dce5e9}.vip-premium-state{position:relative;z-index:2;justify-self:end;width:184px;padding:13px 10px 11px;text-align:center;border:1px solid #ad8b31;border-radius:7px;background:rgba(3,19,29,.9);box-shadow:0 0 0 2px rgba(0,0,0,.35),inset 0 0 22px rgba(242,198,81,.04)}.vip-premium-state small,.vip-premium-state strong{display:block}.vip-premium-state small{font-size:12px;font-weight:900;letter-spacing:.04em;color:var(--vip-gold)}.vip-premium-state strong{margin:8px 0 11px;font-size:20px}.vip-premium-hero-button,.vip-package-button{display:flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #f3ce57;border-radius:6px;background:linear-gradient(180deg,#ffe178 0%,#efbd38 58%,#d49d20 100%);color:#0a1115;font-weight:950;text-shadow:0 1px rgba(255,255,255,.38);box-shadow:inset 0 1px rgba(255,255,255,.55),0 0 14px rgba(242,198,81,.28)}.vip-premium-hero-button{height:43px;font-size:14px}.vip-premium-section-heading{display:grid;grid-template-columns:minmax(20px,1fr) auto minmax(20px,1fr);align-items:center;gap:18px;margin:17px auto 10px;max-width:820px;text-align:center}.vip-premium-section-heading>span{height:1px;background:linear-gradient(90deg,transparent,#d6e2e8)}.vip-premium-section-heading>span:last-child{background:linear-gradient(90deg,#d6e2e8,transparent)}.vip-premium-section-heading h2{margin:0;font-size:24px;line-height:1.1;letter-spacing:.05em}.vip-premium-section-heading small{display:block;margin-top:5px;font-size:10px;letter-spacing:.24em;color:#8db3c4}.vip-premium-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.vip-premium-benefit{min-height:104px;padding:11px 13px;display:grid;grid-template-columns:44px auto;justify-content:center;gap:10px;align-items:center;border:1px solid #527080;border-radius:7px;background:linear-gradient(180deg,#0c2938 0%,#0a2331 100%);box-shadow:inset 0 1px rgba(255,255,255,.02)}.vip-premium-benefit>div:last-child{min-width:0}.vip-premium-benefit-wide{grid-column:span 2;grid-template-columns:54px auto;justify-content:center;align-items:center}.vip-premium-icon{width:42px;height:42px;color:var(--vip-gold)}.vip-premium-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.vip-premium-benefit strong{display:block;margin:0;font-size:23px;line-height:1;color:var(--vip-gold);font-weight:950}.vip-premium-benefit b{display:block;margin-top:5px;font-size:13px;line-height:1.15}.vip-premium-benefit small{display:block;max-width:150px;margin-top:8px;font-size:11px;line-height:1.3;color:var(--vip-muted)}.vip-premium-benefit-wide b{margin:0;font-size:14px}.vip-premium-benefit-wide small{margin-top:6px}.vip-premium-star-small{font-size:50px;line-height:1;color:var(--vip-gold);text-shadow:0 2px 0 #745013}.vip-packages-heading{margin-top:22px;margin-bottom:24px;max-width:900px}.vip-premium-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:stretch}.vip-premium-package{position:relative;min-height:218px;padding:24px 18px 17px;text-align:center;border:1px solid #527080;border-radius:7px;background:linear-gradient(180deg,#0b2735,#09212e);display:flex;flex-direction:column;align-items:center}.vip-premium-package.is-best{border:2px solid var(--vip-gold);box-shadow:0 0 20px rgba(242,198,81,.16),inset 0 0 22px rgba(242,198,81,.04)}.vip-best-value{position:absolute;top:-13px;left:50%;transform:translateX(-50%);min-width:124px;padding:4px 15px 3px;border-radius:0 0 12px 12px;background:linear-gradient(180deg,#ffe675,#eeb837);color:#1b1b12;font-size:10px;font-weight:950;letter-spacing:.08em;box-shadow:0 2px 8px rgba(0,0,0,.35)}.vip-package-days{font-size:17px;font-weight:900;letter-spacing:.13em;color:#c8d8e0}.vip-premium-package>small{margin-top:9px;font-size:10px;letter-spacing:.24em;color:#97afba}.vip-premium-package>strong{margin-top:12px;font-size:30px;line-height:1}.vip-package-button{width:82%;height:39px;margin-top:18px;font-size:14px;cursor:pointer}.vip-premium-package:not(.is-best) .vip-package-button{background:transparent;color:#f6d15f;text-shadow:none;box-shadow:none;border-color:#f2c651}.vip-premium-package p{margin:auto 0 0;padding-top:11px;font-size:11px;color:#c3d0d6}.vip-premium-package.is-best p{color:var(--vip-gold)}.vip-premium-trust{display:grid;grid-template-columns:repeat(3,1fr);margin-top:22px;padding:15px 18px;border:1px solid #456775;border-radius:7px;background:#092330}.vip-premium-trust>div{display:flex;align-items:center;justify-content:center;gap:13px;min-height:58px}.vip-premium-trust>div+div{border-left:1px solid #2b4d5c}.vip-trust-icon{font-size:29px;color:#d6e4ea}.vip-premium-trust b{display:block;font-size:12px}.vip-premium-trust small{display:block;margin-top:5px;font-size:10px;line-height:1.35;color:#a7bac4}.vip-premium-footer{text-align:center;padding:24px 8px 11px;font-size:9px;letter-spacing:.25em;color:#759daf}.vip-premium-shop .vip-package-button:focus-visible,.vip-premium-shop .vip-premium-hero-button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:1050px){.vip-premium-shop{padding:12px}.vip-premium-hero{grid-template-columns:105px minmax(0,1fr) 172px;min-height:185px}.vip-premium-star{font-size:78px;width:86px;height:86px}.vip-premium-hero h1{font-size:39px}.vip-premium-benefit{min-height:94px;padding:10px 9px;grid-template-columns:40px auto;gap:8px}.vip-premium-icon{width:38px;height:38px}.vip-premium-benefit strong{font-size:21px}.vip-premium-benefit small{margin-top:6px}}
@media(max-width:780px){.vip-premium-shop{padding:10px 8px 78px;border-left:0;border-right:0}.vip-premium-hero{display:grid;grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto auto;min-height:0;padding:16px 13px 14px;border-radius:7px}.vip-premium-star{width:56px;height:56px;font-size:53px;align-self:start}.vip-premium-hero-copy{padding-left:2px}.vip-premium-hero h1{font-size:28px;white-space:nowrap;letter-spacing:.035em}.vip-premium-tagline{margin-top:7px;font-size:8px;letter-spacing:.16em;white-space:nowrap}.vip-premium-hero-copy p{margin-top:10px;font-size:12px;line-height:1.4}.vip-desktop-break{display:none}.vip-premium-state{grid-column:1/-1;justify-self:stretch;width:auto;margin-top:12px;padding:10px 11px 9px;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:9px;text-align:left;border-radius:6px}.vip-premium-state small{font-size:11px}.vip-premium-state strong{margin:0;text-align:right;font-size:14px}.vip-premium-hero-button{grid-column:1/-1;width:100%;height:38px;margin-top:9px;font-size:13px}.vip-premium-section-heading{gap:8px;margin:13px auto 8px}.vip-premium-section-heading h2{font-size:18px}.vip-premium-section-heading small{font-size:8px;margin-top:3px;letter-spacing:.16em}.vip-premium-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.vip-premium-benefit{min-height:72px;padding:7px 6px;grid-template-columns:30px auto;justify-content:center;gap:7px;align-items:center;border-radius:6px}.vip-premium-icon{width:29px;height:29px}.vip-premium-benefit strong{font-size:18px}.vip-premium-benefit b{margin-top:3px;font-size:10px;line-height:1.1}.vip-premium-benefit small{display:none}.vip-premium-benefit-wide{grid-column:1/-1;min-height:52px;grid-template-columns:38px auto;justify-content:center;align-items:center;padding:6px 10px}.vip-premium-benefit-wide b{font-size:11px;margin:0}.vip-premium-star-small{font-size:34px}.vip-packages-heading{margin-top:16px;margin-bottom:14px}.vip-packages-heading small{display:none}.vip-premium-packages{grid-template-columns:1fr;gap:8px}.vip-premium-package{min-height:58px;padding:9px 10px;display:grid;grid-template-columns:92px minmax(72px,1fr) 106px;grid-template-rows:auto auto;align-items:center;text-align:left;border-radius:6px}.vip-premium-package .vip-package-days{grid-column:1;grid-row:1/3;font-size:12px;letter-spacing:.07em}.vip-premium-package>small{display:none}.vip-premium-package>strong{grid-column:2;grid-row:1/3;margin:0;font-size:18px;text-align:center}.vip-package-button{grid-column:3;grid-row:1/3;width:100%;height:35px;margin:0;font-size:11px}.vip-premium-package p{display:none}.vip-premium-package.is-best{padding-top:13px}.vip-best-value{top:-9px;min-width:92px;padding:2px 9px;font-size:8px;border-radius:0 0 8px 8px}.vip-premium-trust{grid-template-columns:1fr;margin-top:14px;padding:4px 12px}.vip-premium-trust>div{justify-content:flex-start;min-height:47px}.vip-premium-trust>div+div{border-left:0;border-top:1px solid #2b4d5c}.vip-trust-icon{width:32px;font-size:24px;text-align:center}.vip-premium-trust small{font-size:9px}.vip-premium-footer{padding:18px 6px 2px;font-size:7px}}
@media(max-width:390px){.vip-premium-hero h1{font-size:25px}.vip-premium-tagline{font-size:7px}.vip-premium-benefit{grid-template-columns:28px auto;gap:6px}.vip-premium-icon{width:27px;height:27px}.vip-premium-benefit strong{font-size:17px}.vip-premium-benefit-wide{grid-template-columns:35px auto}.vip-premium-star-small{font-size:32px}.vip-premium-package{grid-template-columns:82px minmax(62px,1fr) 93px}.vip-package-button{font-size:10px}}

/* Crack the Safe */
.crack-safe-head{align-items:center;gap:14px}.crack-safe-prize{min-width:235px;padding:10px 14px;border:1px solid #678b9d;background:#294f61;text-align:center}.crack-safe-prize small{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#b7ccd6}.crack-safe-prize strong{display:block;margin-top:3px;font-size:17px;color:#f0cf72}.crack-safe-panel{overflow:hidden}.crack-safe-statusbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 14px}.crack-safe-statusbar span{padding:9px 11px;border:1px solid #5f8394;background:#294f61}.crack-safe-statusbar small{display:block;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:#afc7d1}.crack-safe-statusbar strong{display:block;margin-top:2px;font-size:13px}.crack-safe-board{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:16px;align-items:stretch}.crack-safe-clues{display:grid;gap:8px}.crack-safe-clue{display:grid;grid-template-columns:190px minmax(0,1fr);gap:15px;align-items:center;padding:10px 12px;border:1px solid #5f8394;background:#315a6d}.crack-safe-clue-code small{display:block;margin-bottom:6px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#c1d4dc}.crack-safe-digits{display:flex;gap:6px}.crack-safe-digits b{display:grid;place-items:center;width:48px;height:52px;border:2px dashed #9eb7c2;border-radius:4px;background:#173c4e;font-size:24px;line-height:1}.crack-safe-clue p{margin:0;font-size:13px;line-height:1.35;color:#e3edf1}.crack-safe-vault{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:390px;padding:20px;border:1px solid #5f8394;background:#294f61}.crack-safe-door{position:relative;width:185px;height:165px;border:8px solid #9eb4bd;border-radius:14px;background:#5f7d8a;box-shadow:inset 0 0 0 5px #294f61,0 9px 22px rgba(0,0,0,.22)}.crack-safe-wheel{position:absolute;left:43px;top:50px;width:70px;height:70px;border:6px solid #c7d4d9;border-radius:50%;background:#23485a;box-shadow:inset 0 0 0 4px #7e9aa7}.crack-safe-wheel:before{content:'';position:absolute;inset:19px;border:4px solid #c7d4d9;border-radius:50%}.crack-safe-wheel span{position:absolute;left:30px;top:-15px;width:4px;height:25px;border-radius:3px;background:#c7d4d9;transform-origin:2px 50px}.crack-safe-wheel span:nth-child(2){transform:rotate(90deg)}.crack-safe-wheel span:nth-child(3){transform:rotate(180deg)}.crack-safe-wheel span:nth-child(4){transform:rotate(270deg)}.crack-safe-handle{position:absolute;right:25px;top:52px;width:12px;height:65px;border:4px solid #c7d4d9;border-radius:5px;background:#23485a}.crack-safe-hinge{position:absolute;left:-15px;width:13px;height:35px;border-radius:4px;background:#9eb4bd}.crack-safe-hinge.hinge-one{top:28px}.crack-safe-hinge.hinge-two{bottom:28px}.crack-safe-form{width:100%;max-width:260px;text-align:center}.crack-safe-form>small{display:block;margin-bottom:7px;text-transform:uppercase;letter-spacing:.07em;color:#b7ccd6}.crack-safe-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.crack-safe-inputs input{width:100%;height:58px;padding:0;text-align:center;font-size:28px;font-weight:800;background:#173c4e;color:#fff;border:2px solid #86a4b1;border-radius:5px}.crack-safe-inputs input:focus{border-color:#d8c06f;box-shadow:0 0 0 2px rgba(216,192,111,.18);outline:none}.crack-safe-form button,.crack-safe-result button{width:100%}.crack-safe-form p{margin:8px 0 0;font-size:10px}.crack-safe-result{width:100%;max-width:280px;padding:15px;border:1px solid #688c9d;background:#315a6d;text-align:center}.crack-safe-result small{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.crack-safe-result h2{margin:5px 0 7px;font-size:19px}.crack-safe-result>strong{display:block;margin-bottom:7px;font-size:25px;color:#f0cf72}.crack-safe-result p{margin:0 0 12px;font-size:12px}.crack-safe-result.is-win{border-color:#97a765}.crack-safe-result.is-loss{border-color:#9d6969}
@media(max-width:900px){.crack-safe-head{align-items:stretch}.crack-safe-prize{min-width:0}.crack-safe-statusbar{grid-template-columns:repeat(3,minmax(0,1fr))}.crack-safe-board{grid-template-columns:1fr}.crack-safe-vault{min-height:0}.crack-safe-clue{grid-template-columns:170px minmax(0,1fr)}.crack-safe-digits b{width:43px;height:48px;font-size:22px}}
@media(max-width:600px){.crack-safe-statusbar{grid-template-columns:repeat(2,minmax(0,1fr))}.crack-safe-statusbar span:last-child{grid-column:1/-1}.crack-safe-clue{grid-template-columns:138px minmax(0,1fr);gap:10px;padding:8px}.crack-safe-digits{gap:4px}.crack-safe-digits b{width:38px;height:43px;font-size:20px}.crack-safe-clue p{font-size:11px}.crack-safe-vault{padding:14px}.crack-safe-door{width:155px;height:140px}.crack-safe-wheel{left:36px;top:41px;transform:scale(.86);transform-origin:center}.crack-safe-handle{top:42px;height:58px}.crack-safe-form{max-width:240px}.crack-safe-inputs input{height:54px;font-size:25px}}

/* 2026-09-04 — boxed chat messages, reply/report/edit actions and KLIPY GIF picker */
.chat-feed{padding:7px}
.chat-msg{
  position:relative;
  grid-template-columns:38px minmax(0,1fr);
  gap:8px;
  margin:0 0 6px;
  padding:8px;
  border:1px solid rgba(114,151,168,.42);
  border-radius:6px;
  background:rgba(19,44,57,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.chat-msg:last-child{margin-bottom:0}
.chat-msg .mini-avatar,.chat-avatar-link{width:36px;height:36px;border-radius:5px}
.chat-msg .mini-avatar{border:1px solid #688b9d;background:#173748}
.chat-meta{display:flex;align-items:center;gap:5px;min-width:0;min-height:20px}
.chat-username{font-size:12px}
.chat-time{margin-left:auto!important;white-space:nowrap}
.chat-edited{margin-left:1px!important;color:#809eac!important;font-size:8px!important;font-style:italic}
.chat-actions{position:relative;flex:0 0 auto;margin-left:2px}
.chat-more-button{display:grid;place-items:center;width:25px;height:25px;min-height:25px;padding:0;border:0;border-radius:4px;background:transparent;box-shadow:none;color:#9cb4c0;font-size:18px;font-weight:800;line-height:1}
.chat-more-button:hover{background:#315b6e;color:#fff;filter:none}
.chat-action-menu{position:absolute;top:27px;right:0;z-index:80;min-width:116px;padding:4px;border:1px solid #617e8d;border-radius:6px;background:#213f4f;box-shadow:0 10px 24px rgba(0,0,0,.38)}
.chat-action-menu[hidden]{display:none!important}
.chat-action-menu button{display:block;width:100%;min-height:30px;padding:6px 8px;border:0;border-radius:4px;background:transparent;box-shadow:none;color:#e6f0f4;text-align:left;font-size:11px;font-weight:700}
.chat-action-menu button:hover{background:#355f73;filter:none}
.chat-action-menu .chat-report-action{color:#ff9a94}
.chat-action-menu button:disabled{opacity:.6}
.chat-msg .bubble{display:block;max-width:100%;margin:1px 0 0;padding:2px 0 0;border-radius:0;background:transparent;color:#f2f7f9;overflow:visible}
.chat-message-text{font-size:12px;line-height:1.35}
.chat-quote{margin:2px 0 6px;padding:5px 7px;background:rgba(44,82,99,.72)}
.chat-gif-media{display:block;width:fit-content;max-width:100%;margin-top:7px}
.chat-message-gif{display:block;max-width:100%;width:auto;height:auto;max-height:340px;object-fit:contain;border:1px solid #5f7f8f;border-radius:7px;background:#173748}
.chat-gif-credit{display:block;margin-top:3px;color:#7f9aa7;font-size:8px;letter-spacing:.02em;text-align:right}
.chat-edit-preview,.chat-gif-preview{display:flex;align-items:center;gap:8px;padding:6px 9px;border-top:1px solid #5b7e90;background:#294f61}
.chat-edit-preview[hidden],.chat-gif-preview[hidden]{display:none!important}
.chat-edit-preview>div{display:flex;flex:1;min-width:0;align-items:center;gap:7px}
.chat-edit-preview small{flex:0 0 auto;color:#d5c477;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.chat-edit-preview span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d7e5ea;font-size:11px}
.chat-edit-preview button,.chat-gif-preview button{flex:0 0 28px;width:28px;height:28px;min-height:28px;padding:0;border:0;background:transparent;box-shadow:none;font-size:18px}
.chat-gif-preview img{width:42px;height:42px;object-fit:cover;border:1px solid #6c8d9d;border-radius:4px;background:#173748}
.chat-gif-preview span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d7e5ea;font-size:10px}
.chat-compose .chat-gif-toggle{flex:0 0 38px;width:38px;height:36px;min-height:36px;padding:0 3px;border:1px solid #7597a7;border-radius:6px;background:#24495b;color:#fff;font-size:10px;font-weight:900;letter-spacing:.03em;line-height:1}
.chat-compose .chat-gif-toggle:hover{background:#315f75}
.chat-compose .chat-gif-toggle:disabled{opacity:.35}
body.chat-gif-modal-open{overflow:hidden}
#chatGifPicker.chat-gif-picker{position:fixed!important;inset:0!important;z-index:100000!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100vw!important;height:100vh!important;height:100dvh!important;margin:0!important;padding:14px!important;overflow:hidden!important;transform:none!important;isolation:isolate}
#chatGifPicker.chat-gif-picker[hidden]{display:none!important}
#chatGifPicker .chat-gif-backdrop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:rgba(5,18,25,.86);backdrop-filter:blur(2px)}
#chatGifPicker .chat-gif-dialog{position:relative!important;z-index:1!important;width:min(560px,calc(100vw - 28px))!important;max-height:min(660px,86vh)!important;max-height:min(660px,86dvh)!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border:1px solid #6c8b9b;border-radius:8px;background:#173748;box-shadow:0 20px 60px rgba(0,0,0,.62)}
.chat-gif-picker-head{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px;align-items:center;padding:10px 11px 8px;border-bottom:1px solid #507183;background:#21475a}
.chat-gif-picker-head>div{display:flex;align-items:baseline;gap:7px;min-width:0}
.chat-gif-picker-head small{color:#8fb0bf;font-size:9px;font-weight:900;letter-spacing:.08em}
.chat-gif-picker-head strong{color:#fff;font-size:13px}
.chat-gif-picker-head button{width:34px;height:34px;min-height:34px;padding:0;border:0;background:transparent;box-shadow:none;font-size:21px}
.chat-gif-search{width:calc(100% - 20px);height:36px;min-height:36px;margin:10px 10px 0;padding:6px 10px;border:1px solid #658696;border-radius:5px;background:#102f3e;color:#fff;font-size:11px}
.chat-gif-status{padding:8px 11px 6px;color:#9eb7c2;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.chat-gif-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-height:120px;max-height:min(430px,58vh);padding:0 10px;overflow-y:auto;overscroll-behavior:contain}
.chat-gif-grid.is-loading{opacity:.55}
.chat-gif-item{display:block;aspect-ratio:1/1;width:100%;min-height:0;padding:0;border:1px solid #496b7b;border-radius:5px;background:#102f3e;box-shadow:none;overflow:hidden}
.chat-gif-item:hover{border-color:#8aaaba;filter:none}
.chat-gif-item img{display:block;width:100%;height:100%;object-fit:cover}
.chat-gif-attribution{padding:9px 10px 10px;color:#89a2ae;font-size:8px;text-align:center;letter-spacing:.03em}
.chat-gif-attribution strong{color:#c9d9df;font-size:9px}
@media(max-width:900px){
  .chat-feed{padding:5px}
  .chat-msg{grid-template-columns:36px minmax(0,1fr);gap:7px;margin-bottom:5px;padding:7px}
  .chat-msg .mini-avatar,.chat-avatar-link{width:34px;height:34px}
  .chat-message-gif{max-height:300px}
  .chat-action-menu{min-width:150px;padding:5px}
  .chat-action-menu button{min-height:38px;font-size:12px}
  .chat-compose{gap:5px;padding:7px}
  .chat-compose .chat-gif-toggle,.chat-compose .chat-emoji-toggle{flex-basis:34px;width:34px;height:36px}
  #chatGifPicker.chat-gif-picker{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))!important}
  #chatGifPicker .chat-gif-dialog{width:calc(100vw - 20px)!important;max-width:520px!important;max-height:78vh!important;max-height:78dvh!important;border-radius:10px}
  #chatGifPicker .chat-gif-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:calc(78vh - 150px);max-height:calc(78dvh - 150px)}
  #chatGifPicker .chat-gif-search{font-size:16px}
  #chatGifPicker .chat-gif-picker-head{flex:0 0 auto}
  #chatGifPicker .chat-gif-attribution{flex:0 0 auto}
}

/* ========================================================================== */
/* 2026-09-04 — Project X premium game-wide theme based on the approved VIP UI */
/* Visual-only overrides. Gameplay structure and page-specific mechanics stay intact. */
/* ========================================================================== */
body.px-vip-theme{
  --bg:#061824;
  --bg2:#04131d;
  --panel:#0b2a39;
  --panel2:#082330;
  --line:#315466;
  --line2:#173746;
  --text:#f3f7f8;
  --muted:#9eb4bf;
  --green:#50d66a;
  --blue:#67c9f4;
  --gold:#f5c34f;
  --gold2:#d89b24;
  --red:#f06b64;
  --shadow:rgba(0,0,0,.45);
  background:
    radial-gradient(circle at 50% -180px,rgba(58,105,130,.30),transparent 40%),
    linear-gradient(180deg,#081e2b 0,#04151f 58%,#031019 100%);
  color:var(--text);
}
body.px-vip-theme .app-shell{
  min-height:100vh;
  background:
    linear-gradient(180deg,rgba(3,16,24,.04),rgba(3,16,24,.48)),
    radial-gradient(circle at 18% 0,rgba(31,84,110,.10),transparent 34%);
}
body.px-vip-theme .topbar{
  height:98px;
  gap:14px;
  padding:9px 16px;
  border-top:1px solid #4f7081;
  border-bottom:1px solid #102f3e;
  background:
    linear-gradient(180deg,rgba(21,58,76,.98),rgba(8,37,51,.98)),
    radial-gradient(circle at 48% 0,rgba(110,158,181,.22),transparent 52%);
  box-shadow:0 10px 32px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.045);
}
body.px-vip-theme .brand{width:270px}
body.px-vip-theme .brand strong{
  color:#f7f8f8;
  font-size:32px;
  letter-spacing:4px;
  text-shadow:0 3px 7px rgba(0,0,0,.72);
}
body.px-vip-theme .brand .hat{filter:drop-shadow(0 3px 5px rgba(0,0,0,.42))}
body.px-vip-theme .brand small{color:#9fb9c6;letter-spacing:3.2px}
body.px-vip-theme .resources{gap:7px}
body.px-vip-theme .resources span{
  min-width:108px;
  height:56px;
  border:1px solid #35596b;
  border-radius:7px;
  background:linear-gradient(180deg,rgba(13,47,63,.95),rgba(8,34,47,.95));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 5px 14px rgba(0,0,0,.12);
}
body.px-vip-theme .resources b{color:#fff;font-size:14px}
body.px-vip-theme .resources small{color:#90aab7}
body.px-vip-theme .resources .resource-card-health{
  border-color:#39794c;
  background:linear-gradient(180deg,#2f9d48,#23813a);
}
body.px-vip-theme .resources .resource-card-health.health-medium{
  border-color:#977437;
  background:linear-gradient(180deg,#8e682d,#6f4f22);
}
body.px-vip-theme .resources .resource-card-health.health-low{
  border-color:#9f4743;
  background:linear-gradient(180deg,#91423f,#6e302e);
}
body.px-vip-theme .top-actions>*{
  border:1px solid #35596b;
  background:#0b2b3a;
  border-radius:6px;
}
body.px-vip-theme .workspace{
  grid-template-columns:238px minmax(460px,1fr) 238px 322px;
  gap:10px;
  padding:10px;
  min-height:calc(100vh - 138px);
}
body.px-vip-theme .sidebar,
body.px-vip-theme .chat-panel,
body.px-vip-theme .main-content{
  border:1px solid #2f5264;
  border-radius:7px;
  background:linear-gradient(180deg,rgba(8,36,49,.98),rgba(5,26,37,.98));
  box-shadow:0 12px 32px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.025);
}
body.px-vip-theme .main-content{
  padding:16px;
  background:
    linear-gradient(180deg,rgba(7,31,43,.99),rgba(4,23,33,.99)),
    radial-gradient(circle at 50% 0,rgba(64,111,133,.07),transparent 38%);
}
body.px-vip-theme .player-card{
  padding:13px;
  border-bottom:1px solid #294959;
  background:linear-gradient(180deg,#0d3041,#092635);
}
body.px-vip-theme .avatar{
  border:1px solid #3b6072;
  border-radius:7px;
  background:#051c29;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body.px-vip-theme .side-title,
body.px-vip-theme .menu-category-heading{
  color:#d7a93c;
  font-weight:900;
  letter-spacing:1.6px;
}
body.px-vip-theme .sidebar nav{padding:8px}
body.px-vip-theme .sidebar nav a{
  min-height:38px;
  margin:3px 0;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:6px;
  color:#eaf1f4;
  background:rgba(11,43,58,.22);
  transition:background .14s ease,border-color .14s ease,transform .14s ease;
}
body.px-vip-theme .sidebar nav a:hover{
  background:linear-gradient(90deg,rgba(22,64,82,.95),rgba(11,43,58,.95));
  border-color:#3e6678;
  transform:translateX(2px);
}
body.px-vip-theme .sidebar nav a>span:first-child{color:var(--gold)}
body.px-vip-theme .menu-activity-count{color:#ffd66f}
body.px-vip-theme .admin-link{
  border:1px solid #ad842a;
  border-radius:6px;
  background:linear-gradient(180deg,rgba(103,72,15,.36),rgba(50,38,14,.38));
  color:#ffd96f;
  text-align:center;
  font-weight:800;
}
body.px-vip-theme .rank-box{border-top:1px solid #294959}
body.px-vip-theme .progress,
body.px-vip-theme .attention-bar{background:#041722;border:1px solid #1e3b49}
body.px-vip-theme .progress i,
body.px-vip-theme .attention-bar i{background:linear-gradient(90deg,#d99b25,#ffd463)}
body.px-vip-theme .page-head{
  margin-bottom:14px;
  padding:16px 18px;
  border:1px solid #385d6e;
  border-radius:8px;
  background:
    linear-gradient(110deg,rgba(14,49,65,.98),rgba(7,30,42,.98)),
    radial-gradient(circle at 85% 0,rgba(232,175,51,.10),transparent 36%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
body.px-vip-theme .page-head h1{
  margin-bottom:5px;
  color:#fff;
  font-size:26px;
  letter-spacing:.2px;
}
body.px-vip-theme .page-head p{color:#a9c0ca}
body.px-vip-theme .panel,
body.px-vip-theme .attention,
body.px-vip-theme .property-card,
body.px-vip-theme .stat-grid article,
body.px-vip-theme .quick-grid a{
  border-color:#315567;
  background:linear-gradient(180deg,rgba(11,43,58,.96),rgba(7,32,44,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body.px-vip-theme .panel{border-radius:7px}
body.px-vip-theme .panel h2,
body.px-vip-theme .panel h3{color:#f5f7f8}
body.px-vip-theme .stat-grid article{border-radius:7px}
body.px-vip-theme .stat-grid small{color:#8faab7}
body.px-vip-theme .stat-grid b{color:#fff}
body.px-vip-theme .quick-grid a:hover{border-color:#b58a2e;background:linear-gradient(180deg,#123c50,#0a2b3b)}
body.px-vip-theme button,
body.px-vip-theme .button{
  border:1px solid #436a7c;
  border-radius:6px;
  background:linear-gradient(180deg,#153e50,#0c2c3b);
  color:#f6f8f9;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 3px 8px rgba(0,0,0,.12);
}
body.px-vip-theme button:hover,
body.px-vip-theme .button:hover{border-color:#63899a;filter:brightness(1.08)}
body.px-vip-theme .primary{
  border-color:#c89c35;
  background:linear-gradient(180deg,#ffd765,#e5a62f 58%,#c7851e);
  color:#191304;
  text-shadow:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 7px 16px rgba(149,98,16,.20);
}
body.px-vip-theme .primary:hover{border-color:#f7d36c;filter:brightness(1.04)}
body.px-vip-theme .danger{
  border-color:#96504c;
  background:linear-gradient(180deg,#8b4541,#632c2a);
  color:#fff;
}
body.px-vip-theme input,
body.px-vip-theme select,
body.px-vip-theme textarea{
  border:1px solid #3d6375;
  border-radius:6px;
  background:#061f2c;
  color:#fff;
}
body.px-vip-theme input:focus,
body.px-vip-theme select:focus,
body.px-vip-theme textarea:focus{
  border-color:#d5ad4a;
  box-shadow:0 0 0 2px rgba(229,174,48,.12);
}
body.px-vip-theme table{background:rgba(4,24,34,.28)}
body.px-vip-theme th{
  color:#f0c65c;
  background:#0a2a39;
  font-size:11px;
  letter-spacing:.55px;
  text-transform:uppercase;
}
body.px-vip-theme th,
body.px-vip-theme td{border-color:#294a5b}
body.px-vip-theme tr:nth-child(even) td{background:rgba(12,43,57,.23)}
body.px-vip-theme .tabs{gap:5px}
body.px-vip-theme .tabs button{background:#092938;border-color:#315567}
body.px-vip-theme .tabs button.active{
  border-color:#b88d2e;
  background:linear-gradient(180deg,#5a4517,#342b12);
  color:#ffd568;
}
body.px-vip-theme .flash{border-radius:6px}
body.px-vip-theme .flash.success{background:#133f2d;border-color:#397957}
body.px-vip-theme .flash.error{background:#4b2625;border-color:#8d4a47}
body.px-vip-theme .notification-bar{
  border-color:#355a6b;
  background:linear-gradient(90deg,#0b2c3b,#071f2c);
}
body.px-vip-theme .chat-tabs{border-color:#294b5c}
body.px-vip-theme .chat-tabs button{background:#082633;border-color:#294b5c}
body.px-vip-theme .chat-tabs button.active{background:#113b4d;color:#ffd05c}
body.px-vip-theme .chat-msg{
  border-color:rgba(67,105,122,.48);
  background:linear-gradient(180deg,rgba(8,35,47,.72),rgba(5,27,38,.72));
}
body.px-vip-theme .chat-more-button:hover{background:#123e50}
body.px-vip-theme .chat-action-menu{border-color:#385d6e;background:#071f2c}
body.px-vip-theme .chat-action-menu button:hover{background:#11394a}
body.px-vip-theme .chat-compose,
body.px-vip-theme .chat-reply-preview,
body.px-vip-theme .chat-edit-preview,
body.px-vip-theme .chat-gif-preview{border-color:#294b5c;background:#082633}
body.px-vip-theme .footer{
  border-color:#294b5c;
  border-radius:6px;
  background:#071f2c;
  color:#8faab6;
}
body.px-vip-theme .bottom-nav{
  background:linear-gradient(180deg,#0d3344,#071f2c);
  border-top:1px solid #416476;
  box-shadow:0 -8px 24px rgba(0,0,0,.30);
}
body.px-vip-theme .bottom-nav a,
body.px-vip-theme .bottom-nav button{color:#e9f0f3}
body.px-vip-theme .bottom-nav a:active,
body.px-vip-theme .bottom-nav button:active{background:#123d4f}
body.px-vip-theme .auth-body{
  background:
    radial-gradient(circle at 50% 10%,rgba(43,98,123,.45),transparent 40%),
    linear-gradient(180deg,#071d29,#03111a);
}
body.px-vip-theme .auth-card{
  border-color:#3a6072;
  background:linear-gradient(180deg,#0d3142,#071f2d);
  box-shadow:0 24px 68px rgba(0,0,0,.52);
}
body.px-vip-theme .auth-brand h1{color:#fff}
body.px-vip-theme .separator:before,
body.px-vip-theme .separator:after{background:#315466}
body.px-vip-theme .menu-editor li{
  border-color:#315567;
  background:#092b3b;
}
body.px-vip-theme .menu-editor li:hover{border-color:#a17b2b}

@media(max-width:1250px){
  body.px-vip-theme .workspace{grid-template-columns:210px minmax(420px,1fr) 210px 286px}
  body.px-vip-theme .brand{width:220px}
}
@media(max-width:900px){
  body.px-vip-theme{padding-bottom:68px}
  body.px-vip-theme .topbar{
    height:126px;
    padding:8px 10px;
    border-top:0;
    background:linear-gradient(180deg,#123d50,#082735);
  }
  body.px-vip-theme .brand strong{font-size:25px;letter-spacing:3px}
  body.px-vip-theme .brand small{font-size:8px;letter-spacing:2.4px}
  body.px-vip-theme .mobile-menu-btn{
    border-color:#547788;
    background:linear-gradient(180deg,#164255,#0c2b39);
  }
  body.px-vip-theme .resources{
    padding-top:2px;
    scrollbar-width:none;
  }
  body.px-vip-theme .resources::-webkit-scrollbar{display:none}
  body.px-vip-theme .resources span{
    min-width:calc((100vw - 28px)/3);
    height:42px;
    padding:3px 6px;
    text-align:center;
    align-items:center;
  }
  body.px-vip-theme .resources b{font-size:11px}
  body.px-vip-theme .resources small{font-size:7px}
  body.px-vip-theme .workspace{padding:6px}
  body.px-vip-theme .main-content{
    min-height:calc(100vh - 202px);
    padding:8px;
    border-radius:6px;
  }
  body.px-vip-theme .left-sidebar,
  body.px-vip-theme .utility-sidebar{
    background:linear-gradient(180deg,#092a39,#051c28);
    border-color:#345a6c;
  }
  body.px-vip-theme .page-head{
    padding:12px 13px;
    margin-bottom:8px;
  }
  body.px-vip-theme .page-head h1{font-size:21px}
  body.px-vip-theme .panel{padding:10px;margin-bottom:8px}
  body.px-vip-theme .stat-grid{gap:6px;margin-bottom:8px}
  body.px-vip-theme .stat-grid article{padding:10px}
  body.px-vip-theme .stat-grid b{font-size:20px}
  body.px-vip-theme .bottom-nav{height:64px}
  body.px-vip-theme .bottom-nav a,
  body.px-vip-theme .bottom-nav button{font-size:18px}
  body.px-vip-theme .bottom-nav small{font-size:8px;font-weight:800}
}
@media(max-width:520px){
  body.px-vip-theme .brand .hat{font-size:25px}
  body.px-vip-theme .brand strong{font-size:21px;letter-spacing:2.6px}
  body.px-vip-theme .main-content{padding:6px}
  body.px-vip-theme .page-head{padding:10px 11px}
  body.px-vip-theme .panel{padding:8px}
  body.px-vip-theme .stat-grid article{padding:8px}
}


/* Gambino premium shell + dashboard refinement */
body.px-vip-theme .brand{
  width:252px;
  min-width:252px;
  height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
body.px-vip-theme .brand-logo{
  display:block;
  width:236px;
  max-width:100%;
  height:78px;
  object-fit:contain;
  object-position:center;
}

@media(min-width:901px){
  body.px-vip-theme .workspace{
    grid-template-columns:198px minmax(500px,1fr) 198px 300px;
    gap:8px;
    padding:8px;
  }
  body.px-vip-theme.chat-closed .workspace{
    grid-template-columns:198px minmax(500px,1fr) 198px;
  }
  body.px-vip-theme.chat-closed .utility-sidebar{grid-column:3}
  body.px-vip-theme.chat-closed .chat-panel{display:none!important}
  body.px-vip-theme.chat-closed .chat-open-control{display:flex}

  body.px-vip-theme .sidebar nav{padding:5px 6px 7px}
  body.px-vip-theme .sidebar nav a{
    min-height:30px;
    margin:1px 0;
    padding:5px 7px;
    gap:7px;
    border-radius:4px;
    font-size:11px;
    line-height:1.15;
  }
  body.px-vip-theme .sidebar nav a>span:first-child{
    width:23px;
    min-width:23px;
    flex:0 0 23px;
    font-size:17px;
    line-height:1;
  }
  body.px-vip-theme .menu-link-text{min-width:0}
  body.px-vip-theme .player-card{
    gap:8px;
    padding:9px 10px;
  }
  body.px-vip-theme .avatar{
    width:42px;
    height:42px;
    min-width:42px;
    font-size:22px;
  }
  body.px-vip-theme .player-card div:last-child{gap:2px}
  body.px-vip-theme .player-card strong{font-size:11px}
  body.px-vip-theme .player-card small{font-size:8px;line-height:1.2}
  body.px-vip-theme .online-dot{width:7px;height:7px}
  body.px-vip-theme .side-title{
    padding:7px 8px 3px;
    font-size:8px;
    letter-spacing:1.5px;
  }
  body.px-vip-theme .menu-category-heading{
    margin:5px 0 3px;
    padding:6px 8px;
    font-size:8px;
    letter-spacing:1.4px;
  }
  body.px-vip-theme .rank-box{
    margin:6px;
    padding:8px;
    font-size:9px;
  }
  body.px-vip-theme .rank-box strong{margin:3px 0;font-size:11px}
  body.px-vip-theme .admin-link{
    margin:5px 6px 7px;
    padding:7px 8px;
    font-size:9px;
  }
  body.px-vip-theme .chat-open-control{
    min-height:34px;
    width:calc(100% - 12px);
    margin:6px;
    padding:6px 8px;
    font-size:11px;
  }
}

@media(max-width:1250px) and (min-width:901px){
  body.px-vip-theme .brand{width:218px;min-width:218px}
  body.px-vip-theme .brand-logo{width:205px;height:72px}
  body.px-vip-theme .workspace{grid-template-columns:178px minmax(430px,1fr) 178px 270px}
  body.px-vip-theme.chat-closed .workspace{grid-template-columns:178px minmax(430px,1fr) 178px}
}

/* Dashboard cards: replace the legacy table-box appearance with the premium VIP visual language. */
body.px-vip-theme .classic-dashboard-grid{
  gap:9px;
}
body.px-vip-theme .classic-dashboard-box{
  margin:0;
  border:1px solid #31586a;
  border-radius:8px;
  background:
    linear-gradient(180deg,rgba(9,39,53,.98),rgba(5,28,39,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 8px 22px rgba(0,0,0,.16);
  overflow:hidden;
}
body.px-vip-theme .classic-box-title{
  margin:0;
  padding:9px 12px;
  border:0;
  border-bottom:1px solid #2c4f60;
  background:linear-gradient(180deg,rgba(15,54,70,.98),rgba(9,39,53,.98));
  color:#f0c85b;
  font-size:11px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:1.05px;
  text-transform:uppercase;
  text-shadow:none;
}
body.px-vip-theme .classic-info-table{padding:7px}
body.px-vip-theme .classic-info-table>div{
  min-height:35px;
  margin-bottom:5px;
  border:1px solid #254758;
  border-radius:5px;
  background:#082633;
  overflow:hidden;
}
body.px-vip-theme .classic-info-table>div:last-child{margin-bottom:0;border-bottom:1px solid #254758}
body.px-vip-theme .classic-info-table strong,
body.px-vip-theme .classic-info-table span{
  display:flex;
  align-items:center;
  padding:6px 9px;
  background:transparent;
}
body.px-vip-theme .classic-info-table strong{
  justify-content:flex-start;
  color:#9bb2bd;
  text-align:left;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.45px;
}
body.px-vip-theme .classic-info-table span{
  justify-content:flex-end;
  color:#f6f8f9;
  font-size:12px;
  font-weight:800;
}

body.px-vip-theme .classic-status-bars{
  gap:5px;
  padding:7px;
}
body.px-vip-theme .classic-status-bar-row,
body.px-vip-theme .classic-status-bar-row:nth-child(odd){
  min-height:35px;
  border:1px solid #254758;
  border-radius:5px;
  background:#082633;
  overflow:hidden;
}
body.px-vip-theme .classic-status-bar-row>strong{
  padding:6px 8px;
  border:0;
  background:transparent;
  color:#dbe5e9;
  font-size:10px;
}
body.px-vip-theme .classic-status-track{
  height:19px;
  margin:6px 8px;
  border:1px solid #31596b;
  border-radius:4px;
  background:#041923;
}
body.px-vip-theme .classic-status-fill{
  background:linear-gradient(90deg,#22984c,#58d871);
}
body.px-vip-theme .classic-status-fill.status-rank-progress{
  background:linear-gradient(90deg,#c88b22,#f3c957);
}
body.px-vip-theme .classic-status-fill.status-jailbreaking{
  background:linear-gradient(90deg,#317fa2,#5db9dc);
}
body.px-vip-theme .classic-status-fill.status-killskill{
  background:linear-gradient(90deg,#b27a24,#edb63f);
}
body.px-vip-theme .classic-status-track b{font-size:10px}

body.px-vip-theme .dashboard-stat-table{
  margin:0;
  border-collapse:separate;
  border-spacing:0;
  background:transparent;
}
body.px-vip-theme .dashboard-stat-table th{
  padding:7px 10px;
  border-bottom:1px solid #2a4d5e;
  background:#071f2b;
  color:#f0c85b;
  font-size:9px;
  letter-spacing:.6px;
}
body.px-vip-theme .dashboard-stat-table td,
body.px-vip-theme .dashboard-stat-table tbody tr:nth-child(odd) td{
  padding:7px 10px;
  border-bottom:1px solid #1f4050;
  background:#082633;
  color:#e8f0f3;
  font-size:11px;
}
body.px-vip-theme .dashboard-stat-table tbody tr:nth-child(even) td{background:#092a38}
body.px-vip-theme .dashboard-stat-table tbody tr:last-child td{border-bottom:0}
body.px-vip-theme .dashboard-stat-table td:first-child{font-weight:800}
body.px-vip-theme .dashboard-stat-success{color:#59e57a!important;font-weight:900}

body.px-vip-theme .classic-waiting-list{
  gap:0;
  padding:5px 7px 7px;
}
body.px-vip-theme .classic-waiting-list a,
body.px-vip-theme .classic-waiting-list a:nth-child(odd){
  min-height:31px;
  padding:5px 7px;
  border:0;
  border-bottom:1px solid #1f4050;
  background:transparent;
  font-size:11px;
}
body.px-vip-theme .classic-waiting-list a:last-child{border-bottom:0}
body.px-vip-theme .classic-waiting-list a:hover{background:#0c3141}
body.px-vip-theme .classic-waiting-list strong{
  padding:2px 7px;
  border:1px solid #2b5870;
  border-radius:999px;
  background:#0d3446;
  color:#69c9f4;
  font-size:9px;
  line-height:1.25;
}

body.px-vip-theme .dashboard-money-info{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  padding:7px;
}
body.px-vip-theme .dashboard-money-info>div,
body.px-vip-theme .dashboard-money-info>div:nth-child(odd),
body.px-vip-theme .dashboard-money-info>div:nth-child(2n),
body.px-vip-theme .dashboard-money-info>div:nth-child(3n){
  min-height:58px;
  margin:0;
  padding:8px 9px;
  flex-direction:column;
  align-items:flex-start!important;
  justify-content:center;
  gap:3px;
  border:1px solid #254758;
  border-radius:6px;
  background:linear-gradient(180deg,#0b2c3b,#082532);
}
body.px-vip-theme .dashboard-money-info strong,
body.px-vip-theme .dashboard-money-info>div>span{
  padding:0!important;
  margin:0!important;
  text-align:left!important;
  white-space:normal;
}
body.px-vip-theme .dashboard-money-info strong{
  color:#90a9b5;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.45px;
}
body.px-vip-theme .dashboard-money-info>div>span{
  color:#fff;
  font-size:13px;
  font-weight:900;
}
body.px-vip-theme .dashboard-money-info .green-text{color:#62e681}

body.px-vip-theme .classic-rp-meter{
  grid-template-columns:150px 1fr 54px;
  padding:10px 12px;
}
body.px-vip-theme .classic-rp-meter span{
  color:#9db3bd;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.5px;
}
body.px-vip-theme .classic-rp-meter .progress{
  height:9px;
  border:1px solid #2b4d5d;
  background:#041923;
}
body.px-vip-theme .classic-rp-meter .progress i{background:linear-gradient(90deg,#c78b20,#f0c857)}
body.px-vip-theme .classic-rp-meter strong{color:#f0c85b}

body.px-vip-theme .classic-notification-list{padding:5px 7px 7px}
body.px-vip-theme .classic-notification-list>div{
  padding:7px 8px;
  border-bottom:1px solid #1f4050;
  background:transparent;
}
body.px-vip-theme .classic-notification-list>div:last-child{border-bottom:0}
body.px-vip-theme .classic-notification-list strong{color:#f3f6f7}
body.px-vip-theme .classic-notification-list span{color:#b5c7cf}

body.px-vip-theme .dashboard-spot-table th{
  background:#071f2b;
  color:#f0c85b;
}
body.px-vip-theme .dashboard-spot-table td,
body.px-vip-theme .dashboard-spot-table tbody tr:nth-child(odd) td{
  background:#082633;
  border-color:#1f4050;
}
body.px-vip-theme .dashboard-spot-table tbody tr:nth-child(even) td{background:#092a38}
body.px-vip-theme .dashboard-spot-table tfoot td{background:#0b3040}

@media(max-width:900px){
  body.px-vip-theme .brand{
    width:auto;
    min-width:0;
    height:60px;
  }
  body.px-vip-theme .brand-logo{
    width:190px;
    height:58px;
  }
  body.px-vip-theme .classic-dashboard-grid{gap:7px}
  body.px-vip-theme .classic-box-title{padding:8px 10px;font-size:10px}
  body.px-vip-theme .dashboard-money-info{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  body.px-vip-theme .brand-logo{width:172px;height:54px}
  body.px-vip-theme .classic-info-table>div{grid-template-columns:40% 60%}
  body.px-vip-theme .classic-status-bar-row{grid-template-columns:38% 62%}
  body.px-vip-theme .classic-status-bar-row>strong{justify-content:flex-end;text-align:right;border-bottom:0}
  body.px-vip-theme .dashboard-money-info{grid-template-columns:1fr 1fr}
  body.px-vip-theme .dashboard-money-info>div{min-height:54px}
  body.px-vip-theme .classic-rp-meter{grid-template-columns:1fr;gap:6px}
}

/* === Gambino page refinement pass: RLD / Rank / Family / Territory / Airport / Hospital / Leaderboard === */
body.px-vip-theme{
  --gambino-panel:#082633;
  --gambino-panel-2:#0a2c3b;
  --gambino-panel-3:#0d3445;
  --gambino-line:#294d5e;
  --gambino-line-strong:#3c6778;
  --gambino-gold:#f0c85b;
  --gambino-muted:#9eb6c1;
}

/* Rank Progress */
body.px-vip-theme .rank-next-panel,
body.px-vip-theme .rank-achievements-panel,
body.px-vip-theme .rank-promotions-panel{
  background:linear-gradient(180deg,#082633,#061f2b);
  border-color:var(--gambino-line);
}
body.px-vip-theme .rank-section-heading{padding:1px 2px 4px}
body.px-vip-theme .rank-section-heading small{color:var(--gambino-gold);letter-spacing:1.25px}
body.px-vip-theme .rank-section-heading h2{color:#fff;font-size:18px}
body.px-vip-theme .rank-target-card{
  border-color:var(--gambino-line);
  border-radius:7px;
  background:linear-gradient(180deg,#0b2d3c,#082532);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body.px-vip-theme .rank-target-card>header{
  min-height:34px;
  border-color:#234554;
  background:linear-gradient(180deg,#10394a,#0a2a39);
}
body.px-vip-theme .rank-target-card>header strong{color:#f3f6f8;letter-spacing:.35px}
body.px-vip-theme .rank-target-card>header b{color:#65e784}
body.px-vip-theme .rank-target-row{min-height:28px;border-color:#1f4050;background:transparent}
body.px-vip-theme .rank-target-row:nth-child(even){background:rgba(255,255,255,.012)}
body.px-vip-theme .rank-target-row span{color:#9fb7c1}
body.px-vip-theme .rank-achievement-list,
body.px-vip-theme .rank-promotion-list{border-color:#234554}
body.px-vip-theme .rank-achievement-list>div,
body.px-vip-theme .rank-promotion-list>div{border-color:#1f4050;padding:7px 5px}

/* Family */
body.px-vip-theme .family-tabs{
  gap:5px;
  padding:6px;
  border:1px solid var(--gambino-line);
  border-radius:7px;
  background:#061f2b;
}
body.px-vip-theme .family-tabs a{
  min-height:34px;
  padding:7px 12px;
  border:1px solid transparent;
  border-radius:5px;
  color:#b9cbd3;
  background:transparent;
}
body.px-vip-theme .family-tabs a:hover,
body.px-vip-theme .family-tabs a.active{
  border-color:#8a6b2a;
  background:linear-gradient(180deg,rgba(93,67,16,.55),rgba(45,34,12,.58));
  color:#ffd66f;
}
body.px-vip-theme .family-page-head{margin-bottom:8px}
body.px-vip-theme .family-dashboard-grid{gap:9px}
body.px-vip-theme .family-dashboard-grid .classic-dashboard-box,
body.px-vip-theme .family-settings-grid .classic-dashboard-box,
body.px-vip-theme .caporegime-card{
  border-color:var(--gambino-line);
  border-radius:7px;
  background:linear-gradient(180deg,#082633,#061f2b);
}
body.px-vip-theme .family-dashboard-grid .classic-box-title,
body.px-vip-theme .family-settings-grid .classic-box-title,
body.px-vip-theme .family-log-box .classic-box-title,
body.px-vip-theme .family-members-box .classic-box-title{
  color:var(--gambino-gold);
  background:linear-gradient(180deg,#10394a,#092a38);
  border-color:#294b5b;
}
body.px-vip-theme .classic-info-table.family-profile-info>div,
body.px-vip-theme .family-dashboard-grid .classic-info-table>div{
  border-color:#244554;
  background:#082633;
}
body.px-vip-theme .family-dashboard-grid .classic-info-table strong{color:#91aab5}
body.px-vip-theme .family-dashboard-grid .classic-info-table span{color:#f5f8f9}
body.px-vip-theme .family-logo-display{background:radial-gradient(circle at 50% 40%,rgba(240,200,91,.08),transparent 52%),#061f2b}
body.px-vip-theme .promotion-money-grid>div,
body.px-vip-theme .caporegime-card,
body.px-vip-theme .territory-building-card{
  border-color:#2b5061;
  background:linear-gradient(180deg,#0b2d3c,#082532);
  border-radius:6px;
}

/* Territory / City Map */
body.px-vip-theme .family-country-tabs{gap:7px}
body.px-vip-theme .family-country-tabs a{
  min-height:54px;
  padding:10px 12px;
  border-color:#31596a;
  border-radius:6px;
  background:linear-gradient(180deg,#0c3040,#082633);
  color:#f0f4f6;
}
body.px-vip-theme .family-country-tabs a:hover{border-color:#6f8d9b;background:#10394a}
body.px-vip-theme .family-country-tabs a.active{
  border-color:#bd9336;
  background:linear-gradient(180deg,#183f4d,#102f3c);
  box-shadow:inset 0 0 0 1px rgba(240,200,91,.12);
}
body.px-vip-theme .family-country-tabs small{color:#90a9b5}
body.px-vip-theme .family-territory-status,
body.px-vip-theme .family-map-box,
body.px-vip-theme .family-spot-detail,
body.px-vip-theme .territory-buildings-box{
  border-color:var(--gambino-line)!important;
  background:#061f2b!important;
}
body.px-vip-theme .family-territory-status-grid,
body.px-vip-theme .family-map-location-bar,
body.px-vip-theme .family-spot-info-grid{gap:1px;background:#244756}
body.px-vip-theme .family-territory-status-grid>div,
body.px-vip-theme .family-map-location-bar>div,
body.px-vip-theme .family-spot-info-grid>div{background:#0a2b39;padding:9px 11px}
body.px-vip-theme .family-territory-status-grid small,
body.px-vip-theme .family-map-location-bar small,
body.px-vip-theme .family-spot-info-grid small{color:#8fa8b4}
body.px-vip-theme .family-map-legend{
  border-color:#294b5b;
  background:#071f2b;
  padding:8px 11px;
}
body.px-vip-theme .family-real-map-shell{border-color:#294b5b;background:#041923}
body.px-vip-theme .family-map-note{background:#092a38;color:#a9bec8}
body.px-vip-theme .family-map-corner-label{
  border-color:#9b782c;
  background:rgba(5,28,39,.95);
  color:#ffd66f;
}
body.px-vip-theme .territory-asset-popup-card{
  border-color:#385f70;
  background:linear-gradient(180deg,#0c3040,#071f2b);
}
body.px-vip-theme .territory-popup-stats>div,
body.px-vip-theme .territory-popup-balance,
body.px-vip-theme .territory-popup-message{border-color:#294d5e;background:#082633}

/* Airport / Travel */
body.px-vip-theme .airport-page-head{margin-bottom:8px}
body.px-vip-theme .airport-board,
body.px-vip-theme .airport-destinations-panel,
body.px-vip-theme .airport-booking-panel{
  border-color:var(--gambino-line);
  background:linear-gradient(180deg,#082633,#061f2b);
  overflow:hidden;
}
body.px-vip-theme .airport-board-head{background:#071f2b;border-color:#294b5b}
body.px-vip-theme .airport-board-head>div{border-color:#294b5b;background:linear-gradient(180deg,#0b2d3c,#082633)}
body.px-vip-theme .airport-board-head small{color:#8ea7b2}
body.px-vip-theme .airport-board-head strong{color:#fff}
body.px-vip-theme .airport-ready{color:#63e681!important}
body.px-vip-theme .airport-waiting{color:#f0c85b!important}
body.px-vip-theme .airport-real-map-shell{border-color:#294b5b;background:#041923}
body.px-vip-theme .airport-map-legend{background:rgba(5,28,39,.95);border-color:#294b5b}
body.px-vip-theme .airport-destination-row,
body.px-vip-theme .airport-equipped-plane-row{
  border-color:#244554;
  background:#082633;
}
body.px-vip-theme .airport-destination-row:nth-child(even){background:#092a38}
body.px-vip-theme .airport-route-preview-card{border-color:#31586a;background:#082633}
body.px-vip-theme .travel-flight-card,
body.px-vip-theme .travel-country-choice-card{
  border-color:#3b6273;
  background:linear-gradient(180deg,#0d3445,#071f2b);
  box-shadow:0 24px 65px rgba(0,0,0,.58);
}

/* Hospital */
body.px-vip-theme .compact-info-table{
  gap:8px;
  padding:8px;
  border:0;
  background:transparent;
}
body.px-vip-theme .compact-info-table>div{
  min-height:72px;
  padding:11px 13px;
  border:1px solid #294d5e!important;
  border-radius:6px;
  background:linear-gradient(180deg,#0b2d3c,#082633)!important;
}
body.px-vip-theme .compact-info-table span{color:#8fa9b4;letter-spacing:.7px}
body.px-vip-theme .compact-info-table strong{margin-top:5px;color:#fff;font-size:17px}
body.px-vip-theme .compact-info-table+P.muted{color:#a7bdc7!important}

/* Leaderboard */
body.px-vip-theme .top10-grid{gap:9px}
body.px-vip-theme .top10-card{
  border-color:#31586a;
  border-radius:7px;
  background:linear-gradient(180deg,#082633,#061f2b);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
body.px-vip-theme .top10-card>header{
  padding:9px 10px;
  border-color:#294b5b;
  background:linear-gradient(180deg,#10394a,#092a38);
}
body.px-vip-theme .top10-card>header>span{
  border-color:#8f6e2b;
  background:#0a2937;
  color:#f0c85b;
}
body.px-vip-theme .top10-card h2{color:#fff}
body.px-vip-theme .top10-card header small{color:#8faab6}
body.px-vip-theme .top10-row,
body.px-vip-theme .top10-row:nth-child(even){
  min-height:33px;
  border-color:#1f4050;
  background:#082633;
}
body.px-vip-theme .top10-row:nth-child(even){background:#092a38}
body.px-vip-theme .top10-row>b{color:#7599a9}
body.px-vip-theme .top10-row>strong{color:#f0c85b}

@media(max-width:900px){
  body.px-vip-theme .rank-requirements-board{gap:7px}
  body.px-vip-theme .family-country-tabs a{min-height:48px}
  body.px-vip-theme .compact-info-table>div{min-height:62px}
}
@media(max-width:560px){
  body.px-vip-theme .rank-target-card>header{min-height:31px}
  body.px-vip-theme .rank-target-row{min-height:26px}
  body.px-vip-theme .family-tabs{display:grid;grid-template-columns:1fr 1fr}
  body.px-vip-theme .family-tabs a{text-align:center;justify-content:center;padding:7px 6px}
  body.px-vip-theme .compact-info-table{grid-template-columns:1fr 1fr}
  body.px-vip-theme .compact-info-table>div{min-height:58px;padding:9px 10px}
}

/* === v84 · Theme consistency + VIP navigation === */
/* VIP Shop is intentionally highlighted in both selectable layouts. */
.sidebar nav a.vip-menu-link,
.sidebar nav a.vip-menu-link .menu-link-text,
.sidebar nav a.vip-menu-link > span:first-child{
  color:#f6c84f!important;
}
.sidebar nav a.vip-menu-link{
  font-weight:900;
  text-shadow:0 0 9px rgba(246,200,79,.16);
}
body.px-vip-theme .sidebar nav a.vip-menu-link{
  border-color:rgba(218,168,54,.16);
  background:linear-gradient(90deg,rgba(104,73,15,.18),rgba(11,43,58,.18));
}
body.px-vip-theme .sidebar nav a.vip-menu-link:hover{
  border-color:#b98b2e;
  background:linear-gradient(90deg,rgba(105,76,20,.44),rgba(20,52,62,.88));
}

/* Gambino theme: remove leftover Classic grey/blue surfaces from gameplay pages. */
body.px-vip-theme .main-content .px-crime-status,
body.px-vip-theme .main-content .vehicle-theft-status,
body.px-vip-theme .main-content .px-police-box,
body.px-vip-theme .main-content .px-crime-jobs,
body.px-vip-theme .main-content .heist-create-panel,
body.px-vip-theme .main-content .heist-recruit-panel,
body.px-vip-theme .main-content .heist-active-panel,
body.px-vip-theme .main-content .heist-mechanics,
body.px-vip-theme .main-content .heist-mechanics-collapsible,
body.px-vip-theme .main-content .garage-summary-panel,
body.px-vip-theme .main-content .garage-vehicles-panel,
body.px-vip-theme .main-content .business-classic-panel,
body.px-vip-theme .main-content .safehouse-note,
body.px-vip-theme .main-content .goon-control-box,
body.px-vip-theme .main-content .goon-config-box,
body.px-vip-theme .main-content .goon-history-box{
  border-color:#2d5263!important;
  background:linear-gradient(180deg,#082734,#061f2b)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme .main-content .px-crime-status-row,
body.px-vip-theme .main-content .vehicle-theft-status-row,
body.px-vip-theme .main-content .px-police-row,
body.px-vip-theme .main-content .heist-rule-strip,
body.px-vip-theme .main-content .heist-recruit-head,
body.px-vip-theme .main-content .heist-recruit-row,
body.px-vip-theme .main-content .heist-role-cell,
body.px-vip-theme .main-content .heist-join-role-card,
body.px-vip-theme .main-content .heist-size-choice-card,
body.px-vip-theme .main-content .garage-capacity-badge,
body.px-vip-theme .main-content .garage-vehicle-card,
body.px-vip-theme .main-content .business-horizontal-card,
body.px-vip-theme .main-content .business-sale-row,
body.px-vip-theme .main-content .safehouse-card,
body.px-vip-theme .main-content .goon-picker-item,
body.px-vip-theme .main-content .goon-current-status,
body.px-vip-theme .main-content .goon-config-grid > *,
body.px-vip-theme .main-content .goon-history-list > div{
  border-color:#294d5e!important;
  background:#082633!important;
}
body.px-vip-theme .main-content .px-crime-status-row > *,
body.px-vip-theme .main-content .vehicle-theft-status-row > *,
body.px-vip-theme .main-content .px-police-row > *,
body.px-vip-theme .main-content .heist-rule-strip > *,
body.px-vip-theme .main-content .heist-recruit-head > *,
body.px-vip-theme .main-content .heist-recruit-row > *,
body.px-vip-theme .main-content .business-horizontal-stats > *{
  border-color:#294d5e!important;
  background:transparent!important;
}
body.px-vip-theme .main-content .px-crime-card{
  border-color:#355e70!important;
  background:#082633!important;
  box-shadow:0 6px 16px rgba(0,0,0,.16)!important;
}
body.px-vip-theme .main-content .px-crime-copy{
  background:linear-gradient(180deg,rgba(4,23,32,.10),rgba(4,23,32,.62));
}
body.px-vip-theme .main-content .px-crime-footer{
  border-color:#294d5e!important;
  background:#092a38!important;
}
body.px-vip-theme .main-content .business-horizontal-title,
body.px-vip-theme .main-content .business-horizontal-actions{
  border-color:#294d5e!important;
  background:#071f2b!important;
}
body.px-vip-theme .main-content .business-horizontal-stats > div:nth-child(even),
body.px-vip-theme .main-content .business-sale-row:nth-child(even){background:#092a38!important}
body.px-vip-theme .main-content .business-limit-notice{
  border-color:#7e6427!important;
  background:linear-gradient(180deg,rgba(83,64,20,.42),rgba(42,35,17,.42))!important;
  color:#f2d681!important;
}
body.px-vip-theme .main-content .safehouse-card{
  border-radius:7px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body.px-vip-theme .main-content .safehouse-card h2{color:#fff}
body.px-vip-theme .main-content .safehouse-card .rent{color:#62e681}
body.px-vip-theme .main-content .goon-picker-item.active,
body.px-vip-theme .main-content .goon-picker-item.selected{
  border-color:#ba8c31!important;
  box-shadow:inset 0 0 0 1px rgba(240,200,91,.14);
}

/* Casino hub + every Casino game page: Gambino Premium. Classic stays untouched. */
body.px-vip-theme .main-content .casino-photo-section,
body.px-vip-theme .main-content .casino-board,
body.px-vip-theme .main-content .lottery-buy-panel,
body.px-vip-theme .main-content .lottery-prize-panel,
body.px-vip-theme .main-content .scratch-game-panel,
body.px-vip-theme .main-content .scratch-prize-panel{
  border-color:#31586a!important;
  background:linear-gradient(180deg,#082633,#061f2b)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme .main-content .casino-photo-section-title,
body.px-vip-theme .main-content .casino-board > .classic-box-title{
  border-color:#2d5061!important;
  background:linear-gradient(180deg,#10394a,#092a38)!important;
  color:#f0c85b!important;
  letter-spacing:.75px;
  text-transform:uppercase;
}
body.px-vip-theme .main-content .casino-photo-tile{
  border-color:#365f70!important;
  background:#061f2b!important;
  box-shadow:0 10px 24px rgba(0,0,0,.24)!important;
}
body.px-vip-theme .main-content .casino-photo-name-row{
  border-color:rgba(240,200,91,.20)!important;
  background:rgba(5,29,40,.76)!important;
}
body.px-vip-theme .main-content .casino-photo-details > div{
  border-color:rgba(73,113,130,.52)!important;
  background:rgba(5,29,40,.82)!important;
}
body.px-vip-theme .main-content .casino-photo-action .button{
  border-color:#8c6b28!important;
  background:linear-gradient(180deg,#173e4c,#0a2b38)!important;
}
body.px-vip-theme .main-content .casino-photo-action .button.primary{
  border-color:#c89c35!important;
  background:linear-gradient(180deg,#ffd765,#e5a62f 58%,#c7851e)!important;
  color:#191304!important;
}
body.px-vip-theme .main-content .casino-owner-line{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:1px;
  margin:8px!important;
  border:1px solid #294d5e!important;
  border-radius:6px;
  overflow:hidden;
  background:#294d5e!important;
}
body.px-vip-theme .main-content .casino-owner-line > div{
  min-height:58px;
  padding:9px 10px!important;
  border:0!important;
  background:#082633!important;
}
body.px-vip-theme .main-content .casino-owner-line small{color:#8fa8b4!important}
body.px-vip-theme .main-content .casino-owner-line strong{color:#fff!important}
body.px-vip-theme .main-content .casino-rule-copy{
  margin:8px!important;
  padding:9px 11px;
  border:1px solid #294d5e;
  border-radius:6px;
  background:#071f2b;
  color:#aac0ca!important;
}
body.px-vip-theme .main-content .casino-bet{
  margin:8px!important;
  padding:10px;
  border:1px solid #294d5e;
  border-radius:7px;
  background:#071f2b;
}
body.px-vip-theme .main-content .casino-bet .classic-dashboard-box,
body.px-vip-theme .main-content .casino-board .classic-dashboard-box{
  border-color:#294d5e!important;
  background:#082633!important;
}
body.px-vip-theme .main-content .casino-bet-grid > *,
body.px-vip-theme .main-content .lottery-number-card,
body.px-vip-theme .main-content .lottery-card-number,
body.px-vip-theme .main-content .scratch-prize-grid > *,
body.px-vip-theme .main-content .scratch-ticket-shell,
body.px-vip-theme .main-content .scratch-ticket-preview{
  border-color:#31586a!important;
  background:#082633!important;
}
body.px-vip-theme .main-content .lottery-hero,
body.px-vip-theme .main-content .scratch-stage,
body.px-vip-theme .main-content .roulette-wheel{
  border-color:#8f6d2a!important;
  background-color:#071f2b!important;
  box-shadow:inset 0 0 0 1px rgba(240,200,91,.06),0 10px 24px rgba(0,0,0,.18)!important;
}

/* Player profile: premium theme version; Classic keeps the original profile sheet. */
body.px-vip-theme .px-profile-sheet{
  border:1px solid #31586a;
  border-radius:8px;
  background:linear-gradient(180deg,#082633,#061f2b);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  overflow:hidden;
}
body.px-vip-theme .px-profile-sheet-title{
  min-height:48px;
  padding:10px 13px;
  border-color:#31586a;
  background:linear-gradient(180deg,#10394a,#092a38);
}
body.px-vip-theme .px-profile-sheet-title > div > span{
  color:#8faab6;
  font-size:9px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
}
body.px-vip-theme .px-profile-sheet-title strong{font-size:16px;color:#fff}
body.px-vip-theme .px-profile-sheet-title > a{
  padding:6px 9px;
  border:1px solid #8e6b2a;
  border-radius:5px;
  background:rgba(99,70,18,.28);
  color:#f3ce68;
}
body.px-vip-theme .px-profile-avatar-stage{
  min-height:155px;
  padding:16px;
  border-color:#294d5e;
  background:radial-gradient(circle at 50% 42%,rgba(240,200,91,.13),transparent 33%),#061f2b;
}
body.px-vip-theme .px-profile-avatar-large{
  border-color:#8c6b2a;
  background:#041923;
  box-shadow:0 0 0 4px rgba(240,200,91,.05),0 12px 28px rgba(0,0,0,.28);
}
body.px-vip-theme .px-profile-detail-table{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  padding:10px;
  border:0;
  background:transparent;
}
body.px-vip-theme .px-profile-detail-table > div{
  display:grid;
  grid-template-columns:minmax(105px,36%) minmax(0,1fr);
  min-height:42px;
  border:1px solid #294d5e!important;
  border-radius:6px;
  background:#082633!important;
  overflow:hidden;
}
body.px-vip-theme .px-profile-detail-table > div > strong,
body.px-vip-theme .px-profile-detail-table > div > span{
  display:flex;
  align-items:center;
  min-width:0;
  padding:7px 9px!important;
  border:0!important;
  background:transparent!important;
}
body.px-vip-theme .px-profile-detail-table > div > strong{
  color:#91aab5;
  font-size:9px;
  letter-spacing:.45px;
  text-transform:uppercase;
}
body.px-vip-theme .px-profile-detail-table > div > span{color:#f5f8f9;font-size:12px}
body.px-vip-theme .px-profile-text-panel{
  margin:0 10px 10px;
  border-color:#294d5e;
  border-radius:7px;
  background:#071f2b;
  overflow:hidden;
}
body.px-vip-theme .px-profile-text-title{
  border-color:#294d5e;
  background:#092a38;
  color:#f0c85b;
  letter-spacing:.8px;
  text-transform:uppercase;
}
body.px-vip-theme .px-profile-text-body{color:#dbe6ea}
body.px-vip-theme .px-profile-sheet > .classic-profile-actions{
  border-color:#294d5e!important;
  border-radius:7px;
  background:#071f2b!important;
}

/* Crack Safe Gambino surface, while the Classic theme keeps the original look. */
body.px-vip-theme .crack-safe-panel,
body.px-vip-theme .crack-safe-vault,
body.px-vip-theme .crack-safe-clue,
body.px-vip-theme .crack-safe-attempt-row{
  border-color:#31586a!important;
  background:#082633!important;
}
body.px-vip-theme .crack-safe-statusbar span,
body.px-vip-theme .crack-safe-inputs input{
  border-color:#31586a!important;
  background:#061f2b!important;
}
body.px-vip-theme .crack-safe-door{
  border-color:#6d8b97!important;
  background:linear-gradient(145deg,#2c4d5b,#183746)!important;
}
body.px-vip-theme .crack-safe-attempt-row.is-next{border-color:#af8730!important}

@media(max-width:760px){
  body.px-vip-theme .px-profile-detail-table{grid-template-columns:1fr;gap:5px;padding:7px}
  body.px-vip-theme .px-profile-detail-table > div{grid-template-columns:minmax(92px,38%) minmax(0,1fr);min-height:36px}
  body.px-vip-theme .px-profile-detail-table > div > strong,
  body.px-vip-theme .px-profile-detail-table > div > span{padding:6px 7px!important}
  body.px-vip-theme .px-profile-avatar-stage{min-height:125px;padding:10px}
  body.px-vip-theme .casino-owner-line{grid-template-columns:1fr 1fr}
}
@media(max-width:440px){
  body.px-vip-theme .casino-owner-line{grid-template-columns:1fr}
}

/* === v86 · Full premium page consistency audit ===
   Classic is intentionally untouched. These rules only normalize remaining
   gameplay modules in Gambino Premium / Night geometry. Night colors are
   overridden again in theme-night.css. */
body.px-vip-theme .main-content .bank-overview-strip,
body.px-vip-theme .main-content .bank-transfer-panel,
body.px-vip-theme .main-content .detective-panel,
body.px-vip-theme .main-content .detective-findings-panel,
body.px-vip-theme .main-content .family-directory-compact-panel,
body.px-vip-theme .main-content .capo-members-panel,
body.px-vip-theme .main-content .metal-market-panel,
body.px-vip-theme .main-content .smuggling-market-panel,
body.px-vip-theme .main-content .smuggling-info-panel,
body.px-vip-theme .main-content .smuggling-prices-panel,
body.px-vip-theme .main-content .oc-panel,
body.px-vip-theme .main-content .jail-experience-box,
body.px-vip-theme .main-content .jail-status-box,
body.px-vip-theme .main-content .jail-self-card,
body.px-vip-theme .main-content .jail-country-list,
body.px-vip-theme .main-content .attack-ready-strip,
body.px-vip-theme .main-content .attack-preview,
body.px-vip-theme .main-content .combat-target-card,
body.px-vip-theme .main-content .combat-stat-cards > *,
body.px-vip-theme .main-content .combat-report-list,
body.px-vip-theme .main-content .family-public-info,
body.px-vip-theme .main-content .family-public-logo-box,
body.px-vip-theme .main-content .family-public-join-box,
body.px-vip-theme .main-content .family-businesses-bottom,
body.px-vip-theme .main-content .family-actions-box,
body.px-vip-theme .main-content .family-bank-payout-box,
body.px-vip-theme .main-content .settings-tab-panel,
body.px-vip-theme .main-content .menu-settings-panel{
  border-color:#31586a!important;
  background:linear-gradient(180deg,#082633,#061f2b)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.022)!important;
}

body.px-vip-theme .main-content .classic-box-title,
body.px-vip-theme .main-content .section-title-row,
body.px-vip-theme .main-content .heist-panel-head,
body.px-vip-theme .main-content .smuggling-market-panel > .classic-box-title,
body.px-vip-theme .main-content .smuggling-info-panel > .classic-box-title,
body.px-vip-theme .main-content .smuggling-prices-panel > .classic-box-title{
  border-color:#2d5061!important;
  background:linear-gradient(180deg,#10394a,#092a38)!important;
  color:#f0c85b!important;
  letter-spacing:.72px;
}

/* Crimes + vehicle theft: premium status cards rather than legacy flat strips. */
body.px-vip-theme .main-content .px-crime-status,
body.px-vip-theme .main-content .vehicle-theft-status,
body.px-vip-theme .main-content .px-police-box,
body.px-vip-theme .main-content .px-crime-jobs{
  border-radius:8px!important;
  overflow:hidden;
}
body.px-vip-theme .main-content .px-crime-status-row,
body.px-vip-theme .main-content .vehicle-theft-status-row{
  gap:1px;
  background:#294d5e!important;
}
body.px-vip-theme .main-content .px-crime-status-row > div,
body.px-vip-theme .main-content .vehicle-theft-status-row > div,
body.px-vip-theme .main-content .px-crime-status-row > p,
body.px-vip-theme .main-content .vehicle-theft-status-row > p{
  background:#082633!important;
}
body.px-vip-theme .main-content .px-crime-tabs button{
  border-radius:6px;
  border-color:#31586a;
  background:#071f2b;
}
body.px-vip-theme .main-content .px-crime-tabs button.active{
  border-color:#b88b31;
  background:linear-gradient(180deg,#6d5018,#3c2e12);
  color:#ffd66b;
}
body.px-vip-theme .main-content .px-police-row{
  background:#082633!important;
}
body.px-vip-theme .main-content .px-police-meter{
  border-color:#294d5e!important;
  background:#041923!important;
}
body.px-vip-theme .main-content .px-crime-card-grid{gap:9px}
body.px-vip-theme .main-content .px-crime-card{
  border-radius:8px!important;
  overflow:hidden;
}
body.px-vip-theme .main-content .px-crime-note,
body.px-vip-theme .main-content .vehicle-garage-warning{
  border:1px solid #294d5e;
  border-radius:6px;
  background:#071f2b;
  color:#a9bec8;
  padding:7px 10px;
}

/* Heists / Organised Crime. */
body.px-vip-theme .main-content .heist-rule-strip,
body.px-vip-theme .main-content .heist-size-choice-card,
body.px-vip-theme .main-content .heist-recruit-head,
body.px-vip-theme .main-content .heist-recruit-row,
body.px-vip-theme .main-content .heist-role-cell,
body.px-vip-theme .main-content .heist-join-role-card,
body.px-vip-theme .main-content .oc-header-row,
body.px-vip-theme .main-content .oc-slot-grid > *,
body.px-vip-theme .main-content .oc-list-head,
body.px-vip-theme .main-content .oc-list-row{
  border-color:#294d5e!important;
  background:#082633!important;
}
body.px-vip-theme .main-content .heist-recruit-row:nth-child(even),
body.px-vip-theme .main-content .oc-list-row:nth-child(even){background:#092a38!important}
body.px-vip-theme .main-content .heist-recruit-list,
body.px-vip-theme .main-content .oc-recruiting-list,
body.px-vip-theme .main-content .oc-list-shell{
  border-color:#294d5e!important;
  background:#061f2b!important;
}

/* Jail: this page still used the old flat blue table after the first theme pass. */
body.px-vip-theme .main-content .jail-overview-grid{gap:8px}
body.px-vip-theme .main-content .jail-experience-content,
body.px-vip-theme .main-content .jail-status-list > div,
body.px-vip-theme .main-content .jail-self-status,
body.px-vip-theme .main-content .jail-buyout-box{
  border-color:#294d5e!important;
  background:#082633!important;
}
body.px-vip-theme .main-content .jail-experience-track{
  border-color:#294d5e!important;
  background:#041923!important;
}
body.px-vip-theme .main-content .jail-list-table{
  border:1px solid #31586a;
  border-radius:7px;
  overflow:hidden;
  background:#061f2b;
}
body.px-vip-theme .main-content .jail-list-row,
body.px-vip-theme .main-content .jail-list-row:nth-child(even){
  border-color:#294d5e!important;
  background:#082633!important;
}
body.px-vip-theme .main-content .jail-list-row:nth-child(even){background:#092a38!important}
body.px-vip-theme .main-content .jail-list-header{
  background:#071f2b!important;
  color:#f0c85b!important;
}
body.px-vip-theme .main-content .jail-list-row > *{border-color:#294d5e!important}
body.px-vip-theme .main-content .jail-self-badge{border-color:#5a7280;background:#0b3140;color:#d8e5ea}

/* Bank, detective, smuggling and markets. */
body.px-vip-theme .main-content .bank-mini-stat,
body.px-vip-theme .main-content .bank-transfer-row,
body.px-vip-theme .main-content .detective-note,
body.px-vip-theme .main-content .detective-finding-list > *,
body.px-vip-theme .main-content .smuggling-status-grid > *,
body.px-vip-theme .main-content .smuggling-market-grid > *,
body.px-vip-theme .main-content .smuggling-info-grid > *,
body.px-vip-theme .main-content .metal-supplier-row,
body.px-vip-theme .main-content .metal-shipment-table tr,
body.px-vip-theme .main-content .business-info-strip > *{
  border-color:#294d5e!important;
  background:#082633!important;
}
body.px-vip-theme .main-content .bank-mini-stat:nth-child(even),
body.px-vip-theme .main-content .detective-finding-list > *:nth-child(even),
body.px-vip-theme .main-content .metal-supplier-row:nth-child(even){background:#092a38!important}

/* Combat, families, lists and utility pages. */
body.px-vip-theme .main-content .combat-target-head,
body.px-vip-theme .main-content .combat-status-grid > *,
body.px-vip-theme .main-content .family-directory-compact-list > *,
body.px-vip-theme .main-content .capo-member-card,
body.px-vip-theme .main-content .family-invite-row,
body.px-vip-theme .main-content .players-name-list,
body.px-vip-theme .main-content .players-name,
body.px-vip-theme .main-content .notice{
  border-color:#294d5e!important;
  background:#082633!important;
}
body.px-vip-theme .main-content .combat-meter{border-color:#294d5e!important;background:#041923!important}

/* Safehouses / garage / goons get the same premium depth. */
body.px-vip-theme .main-content .safehouse-current,
body.px-vip-theme .main-content .safehouse-note,
body.px-vip-theme .main-content .garage-summary-panel,
body.px-vip-theme .main-content .garage-vehicles-panel,
body.px-vip-theme .main-content .goon-control-box,
body.px-vip-theme .main-content .goon-config-box,
body.px-vip-theme .main-content .goon-history-box{
  border-color:#31586a!important;
  background:linear-gradient(180deg,#082633,#061f2b)!important;
}
body.px-vip-theme .main-content .safehouse-current-stats > *,
body.px-vip-theme .main-content .safehouse-chip,
body.px-vip-theme .main-content .garage-capacity-badge,
body.px-vip-theme .main-content .garage-vehicle-card,
body.px-vip-theme .main-content .goon-current-status,
body.px-vip-theme .main-content .goon-config-grid > *,
body.px-vip-theme .main-content .goon-history-list > *{
  border-color:#294d5e!important;
  background:#082633!important;
}

/* Settings/list pages and generic tables keep the same visual language. */
body.px-vip-theme .main-content .settings-tabs{
  border-color:#31586a!important;
  background:#061f2b!important;
}
body.px-vip-theme .main-content .settings-tab{
  border-color:#294d5e!important;
  background:#071f2b!important;
}
body.px-vip-theme .main-content .settings-tab.active{background:#10394a!important;color:#f0c85b!important}

@media(max-width:760px){
  body.px-vip-theme .main-content .px-crime-card-grid{gap:6px}
  body.px-vip-theme .main-content .jail-overview-grid{gap:6px}
}

/* === Combat reports compact table === */
.combat-reports-head{margin-bottom:8px}
.combat-reports-panel{padding:0;overflow:hidden}
.combat-reports-empty{padding:14px 16px;margin:0}
.combat-report-table-wrap{width:100%;overflow-x:auto}
.combat-report-table{width:100%;min-width:790px;border-collapse:collapse;table-layout:auto}
.combat-report-table th,
.combat-report-table td{padding:7px 10px;border-bottom:1px solid rgba(101,137,154,.42);vertical-align:middle}
.combat-report-table th{font-size:10px;letter-spacing:.65px;text-transform:uppercase;white-space:nowrap}
.combat-report-table tbody tr:last-child td{border-bottom:0}
.combat-report-table tbody tr{transition:background .12s ease}
.combat-report-table tbody tr:hover{background:rgba(255,255,255,.035)}
.combat-report-table .num{text-align:right;white-space:nowrap}
.combat-report-table td.num strong{font-size:12px}
.combat-report-opponent{min-width:145px}
.combat-report-opponent strong{display:block;font-size:12px;line-height:1.2}
.combat-report-opponent small{display:block;margin-top:2px;font-size:9px;color:#aebfc8}
.combat-report-date{font-size:11px;white-space:nowrap;color:#d7e2e7}
.combat-table-direction{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:14px;font-weight:800;border:1px solid #54798b;background:#173b4d}
.combat-table-direction.outgoing{color:#7bd9ff;border-color:#4183a0}
.combat-table-direction.incoming{color:#ff8a83;border-color:#9b5551}
.combat-table-direction-label{margin-left:5px;font-size:10px;text-transform:uppercase;letter-spacing:.45px;color:#b9cbd3}
.combat-report-action-head{text-align:right!important}
.combat-report-action{text-align:right;white-space:nowrap}
.combat-report-action .killed-badge{margin-right:6px;padding:3px 6px;font-size:9px}
.combat-report-view{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 8px;border:1px solid #527789;border-radius:4px;background:#183c4d;color:#f1f5f7;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.35px}
.combat-report-view:hover{border-color:#e0b949;color:#ffd86d;background:#213b42}
.combat-report-tr.outgoing td:first-child{box-shadow:inset 3px 0 0 #5fc9f1}
.combat-report-tr.incoming td:first-child{box-shadow:inset 3px 0 0 #e96b65}
.combat-report-tr.combat-kill-row{background:rgba(121,42,39,.12)}

body.px-vip-theme .combat-report-table thead th{background:#071f2b;color:#f0c85b;border-color:#254756}
body.px-vip-theme .combat-report-table tbody td{background:#082633;border-color:#1f4050}
body.px-vip-theme .combat-report-table tbody tr:nth-child(even) td{background:#092a38}
body.px-vip-theme .combat-report-table tbody tr:hover td{background:#0d3444}
body.px-vip-theme .combat-report-view{border-color:#31596a;background:#0a2b39}

@media(max-width:900px){
  .combat-reports-panel{overflow:hidden}
  .combat-report-table{min-width:720px}
  .combat-report-table th,.combat-report-table td{padding:6px 8px}
}


/* ========================================================================
   GAMBINO PREMIUM 1.5.0 — exhaustive Classic-layout leak sweep
   Full user-facing scan parity with the Night audit. Only Gambino Premium is
   targeted here; Classic Project X and Night Mode are explicitly excluded.
   ======================================================================== */

/* Module palettes loaded after app.css are normalized through higher-specificity theme variables. */
body.px-vip-theme:not(.px-night-theme) .forge-page{
  --forge-bg:#061f2b!important;--forge-panel:#082633!important;--forge-panel-2:#0b2d3c!important;--forge-panel-3:#071f2b!important;
  --forge-line:#31586a!important;--forge-line-soft:#294d5e!important;--forge-muted:#9eb6c1!important;--forge-text:#eef4f6!important;
}
/* === Gambino Premium full page polish (Goons / Invites / VIP / Hospital / Airport / Forge / Family / Bank / Dashboard) === */
body.px-vip-theme:not(.px-night-theme) .main-content .goon-credit-balance,
body.px-vip-theme:not(.px-night-theme) .main-content .goon-current-status,
body.px-vip-theme:not(.px-night-theme) .main-content .goon-config-grid > *,
body.px-vip-theme:not(.px-night-theme) .main-content .invite-stat-grid > article,
body.px-vip-theme:not(.px-night-theme) .main-content .invite-reward-row,
body.px-vip-theme:not(.px-night-theme) .main-content .family-head-stats > span,
body.px-vip-theme:not(.px-night-theme) .main-content .bank-interest-meta > *,
body.px-vip-theme:not(.px-night-theme) .main-content .compact-info-table > div{
  border-color:#294d5e!important;
  background:#082633!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .goon-current-status,
body.px-vip-theme:not(.px-night-theme) .main-content .compact-info-table,
body.px-vip-theme:not(.px-night-theme) .main-content .invite-reward-row + .invite-reward-row{border-color:#294d5e!important}
body.px-vip-theme:not(.px-night-theme) .main-content .goon-picker-item{
  border-color:#294d5e!important;
  background:linear-gradient(180deg,#082633,#061f2b)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .goon-picker-item:hover{border-color:#547889!important;background:#0a2c3b!important}
body.px-vip-theme:not(.px-night-theme) .main-content .goon-picker-item.active,
body.px-vip-theme:not(.px-night-theme) .main-content .goon-picker-item.selected{
  border-color:#6f8d9b!important;
  background:#0d3445!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .goon-config-form,
body.px-vip-theme:not(.px-night-theme) .main-content .goon-config-footer,
body.px-vip-theme:not(.px-night-theme) .main-content .goon-shared-timer-note{background:transparent!important}
body.px-vip-theme:not(.px-night-theme) .main-content .goon-credit-balance small,
body.px-vip-theme:not(.px-night-theme) .main-content .invite-stat-grid small,
body.px-vip-theme:not(.px-night-theme) .main-content .family-head-stats small{color:#9eb6c1!important}
body.px-vip-theme:not(.px-night-theme) .main-content .goon-credit-balance strong{color:#f0c85b!important}

/* Invites: remove remaining blue blocks while preserving the configured artwork itself. */
body.px-vip-theme:not(.px-night-theme) .main-content .invite-rewards-box,
body.px-vip-theme:not(.px-night-theme) .main-content .invite-link-box,
body.px-vip-theme:not(.px-night-theme) .main-content .invite-list-box{border-color:#31586a!important;background:#061f2b!important}
body.px-vip-theme:not(.px-night-theme) .main-content .invite-reward-row > strong{
  border-color:#547889!important;
  background:#10394a!important;
  color:#eef4f6!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .invite-reward-row > span{border-color:#547889!important;background:#082633!important;color:#dbe6ea!important}
body.px-vip-theme:not(.px-night-theme) .main-content .invite-preview{border-color:#31586a!important;background-color:#061f2b!important}
body.px-vip-theme:not(.px-night-theme) .main-content .invite-copy-row input{border-color:#31586a!important;background:#041923!important}
body.px-vip-theme:not(.px-night-theme) .main-content .invite-share-row a,
body.px-vip-theme:not(.px-night-theme) .main-content .invite-share-row button{border-color:#31586a!important;background:#071f2b!important;color:#eef4f6!important}
body.px-vip-theme:not(.px-night-theme) .main-content .invite-share-row a:hover,
body.px-vip-theme:not(.px-night-theme) .main-content .invite-share-row button:hover{border-color:#63899a!important;background:#10394a!important}

/* VIP Shop keeps its premium gold, but the actual surfaces become Gambino instead of Gambino teal. */
body.px-vip-theme:not(.px-night-theme) .vip-premium-shop{color:#eef4f6!important}
body.px-vip-theme:not(.px-night-theme) .vip-premium-hero{
  border-color:#7d642b!important;
  background:
    radial-gradient(circle at 13% 50%,rgba(216,177,75,.10),transparent 23%),
    linear-gradient(115deg,#0a2b2f 0,#071f2b 45%,#061f2b 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .vip-premium-state,
body.px-vip-theme:not(.px-night-theme) .vip-premium-benefit,
body.px-vip-theme:not(.px-night-theme) .vip-premium-package,
body.px-vip-theme:not(.px-night-theme) .vip-premium-trust{
  border-color:#31586a!important;
  background:linear-gradient(180deg,#082633,#061f2b)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .vip-premium-package.is-best{border-color:#b99134!important;background:linear-gradient(180deg,#172b2f,#071f2b)!important;box-shadow:0 0 0 1px rgba(211,170,65,.14)!important}
body.px-vip-theme:not(.px-night-theme) .vip-premium-benefit small,
body.px-vip-theme:not(.px-night-theme) .vip-premium-trust small{color:#9eb6c1!important}
body.px-vip-theme:not(.px-night-theme) .vip-premium-section-heading span{background:#31586a!important}
body.px-vip-theme:not(.px-night-theme) .vip-premium-footer{color:#759daf!important}

/* Hospital / Bank: remove the remaining blue summary strips. */
body.px-vip-theme:not(.px-night-theme) .main-content .compact-info-table{border-color:#294d5e!important;background:#061f2b!important}
body.px-vip-theme:not(.px-night-theme) .main-content .compact-info-table > div:nth-child(even){background:#092a38!important}
body.px-vip-theme:not(.px-night-theme) .main-content .bank-interest-line,
body.px-vip-theme:not(.px-night-theme) .main-content .bank-overview-strip,
body.px-vip-theme:not(.px-night-theme) .main-content .bank-transfer-panel{border-color:#31586a!important;background:#071f2b!important}
body.px-vip-theme:not(.px-night-theme) .main-content .bank-interest-meta > *{color:#dbe6ea!important}
body.px-vip-theme:not(.px-night-theme) .main-content .bank-transfer-row{border-color:#294d5e!important;background:#082633!important}

/* Family / Caporegimes: Gambino cards rather than the old steel-blue blocks. */
body.px-vip-theme:not(.px-night-theme) .main-content .family-head-stats > span,
body.px-vip-theme:not(.px-night-theme) .main-content .caporegime-card,
body.px-vip-theme:not(.px-night-theme) .main-content .family-business-card,
body.px-vip-theme:not(.px-night-theme) .main-content .promotion-money-grid > div{border-color:#31586a!important;background:#082633!important}
body.px-vip-theme:not(.px-night-theme) .main-content .caporegime-card > header{
  border-bottom-color:#31586a!important;
  background:#10394a!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .caporegime-member-list > div{border-color:#294d5e!important;background:#071f2b!important}
body.px-vip-theme:not(.px-night-theme) .main-content .caporegime-add-member-box{background:#061f2b!important}

/* Dashboard: all core tiles and rows use the low-glare palette. */
body.px-vip-theme:not(.px-night-theme) .main-content .classic-dashboard-grid{gap:10px}
body.px-vip-theme:not(.px-night-theme) .main-content .classic-box-title{background:#10394a!important;border-color:#31586a!important;color:#dbe6ea!important}
body.px-vip-theme:not(.px-night-theme) .main-content .dashboard-stat-table th{background:#071f2b!important;color:#f0c85b!important}
body.px-vip-theme:not(.px-night-theme) .main-content .dashboard-stat-table td,
body.px-vip-theme:not(.px-night-theme) .main-content .classic-waiting-list a,
body.px-vip-theme:not(.px-night-theme) .main-content .classic-info-table > div{border-color:#294d5e!important;background:#071f2b!important}
body.px-vip-theme:not(.px-night-theme) .main-content .dashboard-stat-table tr:nth-child(even) td,
body.px-vip-theme:not(.px-night-theme) .main-content .classic-waiting-list a:nth-child(odd){background:#092a38!important}
body.px-vip-theme:not(.px-night-theme) .main-content .classic-status-track{background:#041923!important;border-color:#294d5e!important}
body.px-vip-theme:not(.px-night-theme) .main-content .classic-status-fill.status-health{background:linear-gradient(90deg,#22984c,#58d871)!important}
body.px-vip-theme:not(.px-night-theme) .main-content .classic-status-fill.status-rank-progress,
body.px-vip-theme:not(.px-night-theme) .main-content .classic-status-fill.status-jailbreaking,
body.px-vip-theme:not(.px-night-theme) .main-content .classic-status-fill.status-killskill{background:linear-gradient(90deg,#c78b20,#f0c857)!important}

/* Airport / world map: darken the SVG map only; markers, flags and routes stay crisp above it. */
body.px-vip-theme:not(.px-night-theme) .main-content .airport-real-map-shell,
body.px-vip-theme:not(.px-night-theme) .main-content .airport-real-map,
body.px-vip-theme:not(.px-night-theme) .main-content .airport-local-map{background:#041923!important;border-color:#294d5e!important}
body.px-vip-theme:not(.px-night-theme) .main-content .airport-local-map-image{
  filter:brightness(.72) saturate(.72) contrast(1.10)!important;
  opacity:.92!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .airport-local-route-layer{opacity:.82}
body.px-vip-theme:not(.px-night-theme) .main-content .airport-map-legend,
body.px-vip-theme:not(.px-night-theme) .main-content .real-map-legend{border-color:#31586a!important;background:rgba(8,11,15,.94)!important;color:#dbe6ea!important}
body.px-vip-theme:not(.px-night-theme) .main-content .airport-board-head{background:#082633!important;border-color:#294d5e!important}

/* Forge: keep rarity colours, remove teal from the structural surfaces and tone down schematics. */
body.px-vip-theme:not(.px-night-theme) .forge-page{
  --forge-bg:#061f2b!important;
  --forge-panel:#082633!important;
  --forge-panel-2:#061f2b!important;
  --forge-panel-3:#061f2b!important;
  --forge-line:#31586a!important;
  --forge-line-soft:#294d5e!important;
  --forge-muted:#9eb6c1!important;
}
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-hero,
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-card,
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-component-card,
body.px-vip-theme:not(.px-night-theme) .forge-page .factory-blueprint-card,
body.px-vip-theme:not(.px-night-theme) .forge-page .factory-control-card,
body.px-vip-theme:not(.px-night-theme) .forge-page .gear-slot{border-color:#31586a!important;background:#082633!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important}
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-hero{background:linear-gradient(110deg,#071f2b,#061f2b)!important}
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-component-visual{border-color:#31586a!important;background:#041923!important}
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-component-visual img{filter:brightness(.92) saturate(.90) contrast(1.05)}
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-tabs a,
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-subtabs a{border-color:#31586a!important;background:#082633!important;color:#b9cbd3!important}
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-tabs a:hover,
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-subtabs a:hover,
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-tabs a.active,
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-subtabs a.active{border-color:#8a6b2a!important;background:#3a2d11!important;color:#f0c85b!important}

/* Red Light District: remove residual blue table blocks in Night. */
body.px-vip-theme:not(.px-night-theme) .rld-page .rld-panel,
body.px-vip-theme:not(.px-night-theme) .rld-page .rld-summary-card,
body.px-vip-theme:not(.px-night-theme) .rld-page .rld-worker-card,
body.px-vip-theme:not(.px-night-theme) .rld-page .rld-district-card{border-color:#31586a!important;background:#082633!important}
body.px-vip-theme:not(.px-night-theme) .rld-page .rld-stat,
body.px-vip-theme:not(.px-night-theme) .rld-page .rld-table-row{border-color:#294d5e!important;background:#082633!important}

@media(max-width:900px){
  body.px-vip-theme:not(.px-night-theme) .main-content .airport-local-map-image{filter:brightness(.76) saturate(.76) contrast(1.08)!important}
}

/* ========================================================================
   GAMBINO PREMIUM 1.3.1 PARITY — hard overrides for pages that still inherited teal
   ======================================================================== */

/* Smuggling: remove the remaining teal/steel-blue surfaces. */
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-head,
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-market-panel,
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-info-panel,
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-prices-panel{
  background:#061f2b!important;
  border-color:#31586a!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-status-grid .metric-card{
  background:#082633!important;
  border-color:#31586a!important;
  color:#eef4f6!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-market-panel > .classic-box-title,
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-info-panel > .classic-box-title,
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-prices-panel > .classic-box-title{
  background:#10394a!important;
  border-color:#31586a!important;
  color:#eef4f6!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-table{
  background:#061f2b!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-table th{
  background:#061f2b!important;
  border-color:#294d5e!important;
  color:#b9cbd3!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-table td{
  background:#082633!important;
  border-color:#294d5e!important;
  color:#eef4f6!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-table tbody tr:nth-child(even) td{
  background:#092a38!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-table input[type=number],
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-form input,
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-form select{
  background:#041923!important;
  border-color:#3c6778!important;
  color:#f5f8fa!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-info-grid > *{
  background:#082633!important;
  border-color:#294d5e!important;
}

/* Territory / City Map: use a true Night palette for the base map as well. */
body.px-vip-theme:not(.px-night-theme) .main-content .family-map-box,
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-status,
body.px-vip-theme:not(.px-night-theme) .main-content .family-spot-detail,
body.px-vip-theme:not(.px-night-theme) .main-content .territory-buildings-box{
  background:#061f2b!important;
  border-color:#31586a!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-map-location-bar,
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-status-grid,
body.px-vip-theme:not(.px-night-theme) .main-content .family-spot-info-grid{
  background:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-map-location-bar > div,
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-status-grid > div,
body.px-vip-theme:not(.px-night-theme) .main-content .family-spot-info-grid > div{
  background:#082633!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-map-legend{
  background:#061f2b!important;
  border-color:#31586a!important;
  color:#dbe6ea!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-real-map-shell,
body.px-vip-theme:not(.px-night-theme) .main-content .family-real-country-map{
  background:#041923!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-real-map-image{
  filter:brightness(.74) saturate(.72) contrast(1.12)!important;
  opacity:.90!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-real-country-map.is-country-only .family-real-map-image{
  opacity:0!important;
  visibility:hidden!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-country-base{
  fill:#53636c!important;
  stroke:#8a9ca5!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-country-outline{
  stroke:#8a9ca5!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-region{
  stroke:#5b7d8c!important;
  fill:rgba(55,64,72,.34)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-region.is-free{
  fill:rgba(62,72,80,.40)!important;
  stroke:#6f8d9b!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-region.is-owned{
  fill:rgba(48,56,63,.42)!important;
  stroke:#547889!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-region.is-ours{
  fill:rgba(47,104,66,.28)!important;
  stroke:#5cc77a!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-map-corner-label{
  background:rgba(8,11,15,.96)!important;
  border-color:#8a6b2a!important;
  color:#f0c85b!important;
  box-shadow:0 5px 18px rgba(0,0,0,.42)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-map-note{
  background:#061f2b!important;
  border-color:#294d5e!important;
  color:#9eb6c1!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .territory-asset-popup-card,
body.px-vip-theme:not(.px-night-theme) .main-content .territory-popup-stats > div,
body.px-vip-theme:not(.px-night-theme) .main-content .territory-popup-balance,
body.px-vip-theme:not(.px-night-theme) .main-content .territory-popup-message{
  background:#082633!important;
  border-color:#31586a!important;
}

/* Red Light District: the module stylesheet uses !important, so override every
   structural surface after it with higher-specificity Night selectors. */
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-district{
  background:#061f2b!important;
  border-color:#31586a!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-building{
  background:radial-gradient(circle at 50% 45%,rgba(180,77,152,.035),transparent 58%),#041923!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-titlebar,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-box > h2,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-earnings-head{
  background:#10394a!important;
  border-color:#31586a!important;
  color:#eef4f6!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-owner > span,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-owner > b,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-stats article,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-assignment-row,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-assignment-empty,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-table > div,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-cooldown,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-upgrade,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-earnings-summary > span{
  background:#082633!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-box,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-rule{
  background:#061f2b!important;
  border-color:#31586a!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-meter{
  background:#041923!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-assignment-row > span{
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-titlebar small,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-stats small,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-table span,
body.px-vip-theme:not(.px-night-theme) .main-content .rld-modern-page .rld-modern-rule span{
  color:#9eb6c1!important;
}

/* ========================================================================
   GAMBINO PREMIUM 1.4.0 PARITY — exhaustive user-facing legacy palette sweep
   Audited against every public template + module stylesheet. This final block
   intentionally uses !important because several legacy templates define
   inline <style> rules after the theme stylesheet.
   ======================================================================== */

/* Family public profile / My Family overview */
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-logo-wrap,
body.px-vip-theme:not(.px-night-theme) .main-content .family-logo-display,
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-info-copy,
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-quote blockquote,
body.px-vip-theme:not(.px-night-theme) .main-content .family-quote-box blockquote,
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-join-content,
body.px-vip-theme:not(.px-night-theme) .main-content .family-action-content,
body.px-vip-theme:not(.px-night-theme) .main-content .family-profile-settings,
body.px-vip-theme:not(.px-night-theme) .main-content .family-settings-box,
body.px-vip-theme:not(.px-night-theme) .main-content .family-log-box,
body.px-vip-theme:not(.px-night-theme) .main-content .family-members-box,
body.px-vip-theme:not(.px-night-theme) .main-content .family-level-box{
  background:#082633!important;
  border-color:#31586a!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-logo-wrap,
body.px-vip-theme:not(.px-night-theme) .main-content .family-logo-display{
  background:radial-gradient(circle at 50% 42%,rgba(230,198,107,.035),transparent 55%),#061f2b!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-info-copy,
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-quote blockquote,
body.px-vip-theme:not(.px-night-theme) .main-content .family-quote-box blockquote{
  color:#dbe6ea!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-info-table > div,
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-info-table > div > strong,
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-info-table > div > span{
  background:#082633!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-info-table > div:nth-child(even),
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-info-table > div:nth-child(even) > strong,
body.px-vip-theme:not(.px-night-theme) .main-content .family-public-info-table > div:nth-child(even) > span{
  background:#092a38!important;
}

/* Player profile: remove the final steel-blue body area. */
body.px-vip-theme:not(.px-night-theme) .main-content .px-profile-text-body,
body.px-vip-theme:not(.px-night-theme) .main-content .px-profile-detail-table > div > strong,
body.px-vip-theme:not(.px-night-theme) .main-content .px-profile-detail-table > div > span,
body.px-vip-theme:not(.px-night-theme) .main-content .classic-profile-actions{
  background:#082633!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .px-profile-detail-table > div:nth-child(even) > strong,
body.px-vip-theme:not(.px-night-theme) .main-content .px-profile-detail-table > div:nth-child(even) > span{
  background:#092a38!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .px-profile-text-body .profile-bb-quote{
  background:#071f2b!important;
  border-left-color:#6f8d9b!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .px-profile-rank-track{
  background:#041923!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .px-profile-rank-track > i{
  background:linear-gradient(90deg,#c78b20,#f0c857)!important;
}

/* Dashboard legacy strips still present on secondary dashboard sections. */
body.px-vip-theme:not(.px-night-theme) .main-content .dashboard-money-info > div,
body.px-vip-theme:not(.px-night-theme) .main-content .dashboard-spot-table td,
body.px-vip-theme:not(.px-night-theme) .main-content .dashboard-spot-table tfoot td{
  background:#082633!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .dashboard-money-info > div:nth-child(odd),
body.px-vip-theme:not(.px-night-theme) .main-content .dashboard-spot-table tbody tr:nth-child(odd) td{
  background:#092a38!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .dashboard-spot-table th{
  background:#10394a!important;
  color:#c3d8e0!important;
  border-color:#294d5e!important;
}

/* Capo page */
body.px-vip-theme:not(.px-night-theme) .main-content .capo-member-card{
  background:#294d5e!important;
  border-color:#31586a!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .capo-member-identity,
body.px-vip-theme:not(.px-night-theme) .main-content .capo-member-stat{
  background:#082633!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .capo-member-card:nth-child(even) .capo-member-identity,
body.px-vip-theme:not(.px-night-theme) .main-content .capo-member-card:nth-child(even) .capo-member-stat{
  background:#092a38!important;
}

/* Attack / detective / combat helper surfaces */
body.px-vip-theme:not(.px-night-theme) .main-content .attack-ready-pill,
body.px-vip-theme:not(.px-night-theme) .main-content .finding-row,
body.px-vip-theme:not(.px-night-theme) .main-content .combat-report-row,
body.px-vip-theme:not(.px-night-theme) .main-content .combat-direction{
  background:#082633!important;
  border-color:#31586a!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .attack-ready-pill.ok{
  background:#132219!important;
  border-color:#397957!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .attack-ready-pill.bad,
body.px-vip-theme:not(.px-night-theme) .main-content .attack-weapon-warning{
  background:#4b2625!important;
  border-color:#8d4a47!important;
}

/* Settings: menu builder and mobile placement popup. */
body.px-vip-theme:not(.px-night-theme) .main-content .menu-builder-column,
body.px-vip-theme:not(.px-night-theme) .main-content .menu-builder-column.selection-column,
body.px-vip-theme:not(.px-night-theme) .main-content .menu-category-creator,
body.px-vip-theme:not(.px-night-theme) .main-content .menu-drop-list,
body.px-vip-theme:not(.px-night-theme) .main-content .menu-selection-list,
body.px-vip-theme:not(.px-night-theme) .menu-mobile-picker-card{
  background:#082633!important;
  border-color:#31586a!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .menu-drop-list li,
body.px-vip-theme:not(.px-night-theme) .main-content .menu-selection-list li,
body.px-vip-theme:not(.px-night-theme) .main-content .menu-drop-list li.is-category{
  background:#071f2b!important;
  border-color:#31596a!important;
  color:#eef4f6!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .menu-selection-list li:hover,
body.px-vip-theme:not(.px-night-theme) .main-content .menu-drop-list.is-drop-target{
  background:#10394a!important;
  border-color:#63899a!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .menu-builder-title small{
  background:#061f2b!important;
  color:#c3d8e0!important;
}
body.px-vip-theme:not(.px-night-theme) .menu-mobile-picker-backdrop{background:rgba(0,0,0,.78)!important}

/* Goons: one remaining inline cycle/timer box. */
body.px-vip-theme:not(.px-night-theme) .main-content .goon-auto-cycle-field{
  background:#082633!important;
  border-color:#31586a!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .goon-auto-cycle-field small,
body.px-vip-theme:not(.px-night-theme) .main-content .goon-auto-cycle-field span{color:#9eb6c1!important}

/* Safehouse + garage leftovers. */
body.px-vip-theme:not(.px-night-theme) .main-content .safehouse-chip,
body.px-vip-theme:not(.px-night-theme) .main-content .garage-upgrade-form,
body.px-vip-theme:not(.px-night-theme) .main-content .garage-total-count,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-icon,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-location-card,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-location-meta,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-location-copy{
  background:#082633!important;
  border-color:#31586a!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-location.abroad{
  background:#071f2b!important;
  border-color:#547889!important;
  color:#c3d8e0!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .garage-maxed,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-location.here{
  background:#132219!important;
  border-color:#397957!important;
}

/* Crimes / Cars legacy status and result UI. */
body.px-vip-theme:not(.px-night-theme) .main-content .crime-classic-status > div,
body.px-vip-theme:not(.px-night-theme) .main-content .crime-attention-row,
body.px-vip-theme:not(.px-night-theme) .main-content .crime-head-copy,
body.px-vip-theme:not(.px-night-theme) .main-content .crime-rect-chance,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-mission-chance,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-mission-body,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-mission-icon,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-catalogue,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-catalogue summary,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-catalogue-grid,
body.px-vip-theme:not(.px-night-theme) .main-content .status-table > div,
body.px-vip-theme:not(.px-night-theme) .main-content .status-list-grid > div,
body.px-vip-theme:not(.px-night-theme) .main-content .status-meter-row{
  background:#082633!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .status-meter{
  background:#041923!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .crime-popup-card,
body.px-vip-theme:not(.px-night-theme) .crime-popup-card.crime-result-compact{
  background:linear-gradient(180deg,#082633,#061f2b)!important;
  border-color:#3c6778!important;
}
body.px-vip-theme:not(.px-night-theme) .crime-result-compact .crime-popup-art{background:#041923!important;border-color:#31586a!important}
body.px-vip-theme:not(.px-night-theme) .crime-result-compact .crime-popup-close,
body.px-vip-theme:not(.px-night-theme) .compact-car-result .crime-popup-close{background:#071f2b!important;border-color:#3c6778!important}
body.px-vip-theme:not(.px-night-theme) .crime-popup-stats article{background:#082633!important;border-color:#31586a!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important}
body.px-vip-theme:not(.px-night-theme) .crime-popup-actions .secondary{background:#071f2b!important;border-color:#547889!important;color:#eef4f6!important}

/* OC / Heist status badges that otherwise retain steel-blue. */
body.px-vip-theme:not(.px-night-theme) .main-content .oc-slot-badge,
body.px-vip-theme:not(.px-night-theme) .main-content .oc-role-status,
body.px-vip-theme:not(.px-night-theme) .main-content .oc-role-cell{
  background:#071f2b!important;
  border-color:#3c6778!important;
  color:#dbe6ea!important;
}

/* Smuggling sticky first column is more specific than the generic table rule. */
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-prices-table th:first-child{
  background:#10394a!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-prices-table td:first-child{
  background:#082633!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-prices-table tbody tr:nth-child(even) td:first-child{
  background:#092a38!important;
}

/* Casino tile internals + Lottery / Scratch compact stats. */
body.px-vip-theme:not(.px-night-theme) .main-content .casino-photo-art,
body.px-vip-theme:not(.px-night-theme) .main-content .casino-photo-action,
body.px-vip-theme:not(.px-night-theme) .main-content .casino-photo-status,
body.px-vip-theme:not(.px-night-theme) .main-content .lottery-top-stats > div,
body.px-vip-theme:not(.px-night-theme) .main-content .lottery-split-note,
body.px-vip-theme:not(.px-night-theme) .main-content .lottery-card-counter,
body.px-vip-theme:not(.px-night-theme) .main-content .lottery-purchase-summary > div,
body.px-vip-theme:not(.px-night-theme) .main-content .lottery-card-head,
body.px-vip-theme:not(.px-night-theme) .main-content .scratch-fixed-price{
  background:#082633!important;
  border-color:#31586a!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .lottery-number span{
  background:#061f2b!important;
  border-color:#31596a!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .lottery-number input:checked + span{
  background:#10394a!important;
  border-color:#9db6c2!important;
  box-shadow:0 0 0 1px rgba(126,141,154,.14)!important;
}

/* Family territory: buildings / transfers / modal internals. */
body.px-vip-theme:not(.px-night-theme) .main-content .territory-building-summary,
body.px-vip-theme:not(.px-night-theme) .main-content .territory-building-built,
body.px-vip-theme:not(.px-night-theme) .main-content .territory-building-unbuilt,
body.px-vip-theme:not(.px-night-theme) .main-content .territory-transfer-row,
body.px-vip-theme:not(.px-night-theme) .main-content .territory-transfer-limit{
  background:#082633!important;
  border-color:#31586a!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .territory-popup-actions .secondary,
body.px-vip-theme:not(.px-night-theme) .main-content .territory-defense-actions .secondary,
body.px-vip-theme:not(.px-night-theme) .main-content .territory-transfer-actions button,
body.px-vip-theme:not(.px-night-theme) .main-content .territory-change-owner button{
  background:linear-gradient(180deg,#0d3445,#092a38)!important;
  border-color:#547889!important;
  color:#eef4f6!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .territory-owner-fallback{
  background:#0d3445!important;
  border-color:#6d8b97!important;
}

/* Family Forge: public character, gear and plane pages. Rarity colours remain. */
body.px-vip-theme:not(.px-night-theme) .forge-page .character-test-head,
body.px-vip-theme:not(.px-night-theme) .forge-page .character-test-summary span,
body.px-vip-theme:not(.px-night-theme) .forge-page .character-slot,
body.px-vip-theme:not(.px-night-theme) .forge-page .character-slot-head,
body.px-vip-theme:not(.px-night-theme) .forge-page .character-slot-art,
body.px-vip-theme:not(.px-night-theme) .forge-page .character-slot-stats span,
body.px-vip-theme:not(.px-night-theme) .forge-page .character-avatar-card,
body.px-vip-theme:not(.px-night-theme) .forge-page .character-avatar-frame,
body.px-vip-theme:not(.px-night-theme) .forge-page .gear-equipped-summary,
body.px-vip-theme:not(.px-night-theme) .forge-page .blueprint-catalogue-stats span,
body.px-vip-theme:not(.px-night-theme) .forge-page .blueprint-catalogue-visual,
body.px-vip-theme:not(.px-night-theme) .forge-page .factory-weapon-visual,
body.px-vip-theme:not(.px-night-theme) .forge-page .gear-slot-tile,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .plane-shop-head,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .cash-box,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .plane-card-art,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .plane-card-stats > *,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .plane-quantity-field,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .owned-plane-art,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .owned-plane-meta,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .plane-workshop-art,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .plane-workshop-stats span,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .plane-recipe > div,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .shop-hub-art{
  background:#082633!important;
  border-color:#31586a!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .forge-page .character-avatar-card{
  background:radial-gradient(circle at 50% 32%,#0b2d3c 0,#082633 52%,#061f2b 100%)!important;
}
body.px-vip-theme:not(.px-night-theme) .forge-page .character-avatar-frame,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .plane-card-art,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .owned-plane-art,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .plane-workshop-art{
  background:#041923!important;
}
body.px-vip-theme:not(.px-night-theme) .forge-page .blueprint-import-action button,
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-action-row button,
body.px-vip-theme:not(.px-night-theme) .forge-page .vault-actions button,
body.px-vip-theme:not(.px-night-theme) .forge-page .factory-action button,
body.px-vip-theme:not(.px-night-theme) .forge-page .gear-inventory-row button{
  background:linear-gradient(180deg,#0d3445,#092a38)!important;
  border-color:#547889!important;
  color:#eef4f6!important;
}

/* Invite Crew external module generic surfaces. */
body.px-vip-theme:not(.px-night-theme) .main-content .invite-status,
body.px-vip-theme:not(.px-night-theme) .main-content .invite-admin-stats,
body.px-vip-theme:not(.px-night-theme) .main-content .invite-admin-previews,
body.px-vip-theme:not(.px-night-theme) .main-content .invite-admin-reward-list{
  border-color:#31586a!important;
  background:#082633!important;
}

/* Human verification can appear on any public page. */
body.px-vip-theme:not(.px-night-theme) .hv-backdrop{background:rgba(0,0,0,.82)!important}
body.px-vip-theme:not(.px-night-theme) .hv-card,
body.px-vip-theme:not(.px-night-theme) .hv-code{
  background:#082633!important;
  border-color:#31586a!important;
  color:#eef4f6!important;
}

/* Generic safety net for legacy classic blocks nested inside public game pages.
   Explicit semantic success/error/gold elements above remain more specific. */
body.px-vip-theme:not(.px-night-theme) .main-content .classic-dashboard-box .classic-info-table > div,
body.px-vip-theme:not(.px-night-theme) .main-content .classic-dashboard-box .classic-info-table > div > strong,
body.px-vip-theme:not(.px-night-theme) .main-content .classic-dashboard-box .classic-info-table > div > span,
body.px-vip-theme:not(.px-night-theme) .main-content .classic-dashboard-box .classic-action-list > a,
body.px-vip-theme:not(.px-night-theme) .main-content .classic-dashboard-box .classic-notification-list > div,
body.px-vip-theme:not(.px-night-theme) .main-content .classic-dashboard-box .classic-empty-row{
  background:#082633!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .classic-dashboard-box .classic-action-list > a:nth-child(odd),
body.px-vip-theme:not(.px-night-theme) .main-content .classic-dashboard-box .classic-notification-list > div:nth-child(even){
  background:#092a38!important;
}

/* Forge / planes public leftovers found by the exhaustive scan. */
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-personal article,
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-table-wrap,
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-table td,
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-vault-rarity-title,
body.px-vip-theme:not(.px-night-theme) .forge-page .factory-part,
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-flow-next,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .character-plane-meta span,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .plane-bulk-total,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .craft-only{
  background:#082633!important;
  border-color:#31586a!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-table th{
  background:#10394a!important;
  border-color:#31586a!important;
  color:#c3d8e0!important;
}
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-progress{
  background:#041923!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .forge-page .forge-quality-warning{
  background:#3a2d11!important;
  border-color:#8a6b2a!important;
  color:#e9d8a8!important;
}
body.px-vip-theme:not(.px-night-theme) .forge-page .factory-part:hover{
  background:#0d3445!important;
  border-color:#63899a!important;
}
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .owned-plane-actions button,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .plane-card-action button,
body.px-vip-theme:not(.px-night-theme) .plane-shop-page .plane-card-action .button{
  background:linear-gradient(180deg,#0d3445,#092a38)!important;
  border-color:#547889!important;
  color:#eef4f6!important;
}

/* Runtime panels, popups and secondary widgets found in the full app.css scan. */
body.px-vip-theme:not(.px-night-theme) .main-content .action-cooldown,
body.px-vip-theme:not(.px-night-theme) .main-content .combat-stat-cards,
body.px-vip-theme:not(.px-night-theme) .main-content .heist-chance,
body.px-vip-theme:not(.px-night-theme) .main-content .heist-role-card,
body.px-vip-theme:not(.px-night-theme) .main-content .heist-leader-check,
body.px-vip-theme:not(.px-night-theme) .main-content .heist-mechanics-grid,
body.px-vip-theme:not(.px-night-theme) .main-content .heist-active-meta,
body.px-vip-theme:not(.px-night-theme) .main-content .heist-join-detail-head,
body.px-vip-theme:not(.px-night-theme) .main-content .oc-header-stats,
body.px-vip-theme:not(.px-night-theme) .main-content .oc-slot-card,
body.px-vip-theme:not(.px-night-theme) .main-content .empty-state,
body.px-vip-theme:not(.px-night-theme) .main-content .rank-empty-state,
body.px-vip-theme:not(.px-night-theme) .main-content .rank-achievements-panel,
body.px-vip-theme:not(.px-night-theme) .main-content .rank-promotions-panel,
body.px-vip-theme:not(.px-night-theme) .main-content .rank-next-panel,
body.px-vip-theme:not(.px-night-theme) .main-content .casino-bet-grid,
body.px-vip-theme:not(.px-night-theme) .main-content .metal-shipment-table{
  background:#082633!important;
  border-color:#31586a!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .garage-capacity-bar,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-condition,
body.px-vip-theme:not(.px-night-theme) .main-content .scratch-progress{
  background:#041923!important;
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .heist-result-breakdown,
body.px-vip-theme:not(.px-night-theme) .main-content .heist-net-row{
  background:#082633!important;
  border-color:#31586a!important;
}

/* Crack the Safe internal controls. */
body.px-vip-theme:not(.px-night-theme) .main-content .crack-safe-prize,
body.px-vip-theme:not(.px-night-theme) .main-content .crack-safe-result,
body.px-vip-theme:not(.px-night-theme) .main-content .crack-safe-digits{
  background:#082633!important;
  border-color:#3c6778!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .crack-safe-wheel,
body.px-vip-theme:not(.px-night-theme) .main-content .crack-safe-handle{
  background:#183746!important;
  border-color:#c7d4d9!important;
  box-shadow:inset 0 0 0 4px #4b6f7f!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .crack-safe-hinge{background:#6d8b97!important}

/* Notification bar / profile settings / chat utility controls. */
body.px-vip-theme:not(.px-night-theme) .notification-bar-count,
body.px-vip-theme:not(.px-night-theme) .notification-bar-view,
body.px-vip-theme:not(.px-night-theme) .notification-bar-dismiss,
body.px-vip-theme:not(.px-night-theme) .notification-bar-icon,
body.px-vip-theme:not(.px-night-theme) .chat-emoji-toggle,
body.px-vip-theme:not(.px-night-theme) .chat-gif-toggle,
body.px-vip-theme:not(.px-night-theme) .chat-emoji-picker,
body.px-vip-theme:not(.px-night-theme) .account-avatar-preview,
body.px-vip-theme:not(.px-night-theme) .account-avatar-controls,
body.px-vip-theme:not(.px-night-theme) .account-profile-text-settings,
body.px-vip-theme:not(.px-night-theme) .profile-bb-toolbar{
  background:#082633!important;
  border-color:#31586a!important;
  color:#eef4f6!important;
}
body.px-vip-theme:not(.px-night-theme) .chat-gif-backdrop{background:rgba(0,0,0,.86)!important}
body.px-vip-theme:not(.px-night-theme) .chat-gif-dialog,
body.px-vip-theme:not(.px-night-theme) .chat-gif-picker-head,
body.px-vip-theme:not(.px-night-theme) .chat-gif-search,
body.px-vip-theme:not(.px-night-theme) .chat-gif-item{
  background:#082633!important;
  border-color:#31586a!important;
  color:#eef4f6!important;
}

/* Jail breakout + caught popup. */
body.px-vip-theme:not(.px-night-theme) .main-content .jail-breakout-track{
  background:#041923!important;
  border-color:#3c6778!important;
}
body.px-vip-theme:not(.px-night-theme) .jail-caught-card,
body.px-vip-theme:not(.px-night-theme) .jail-caught-title,
body.px-vip-theme:not(.px-night-theme) .jail-caught-main,
body.px-vip-theme:not(.px-night-theme) .jail-caught-actions,
body.px-vip-theme:not(.px-night-theme) .jail-prisoner-art{
  background:#082633!important;
  border-color:#31586a!important;
}
body.px-vip-theme:not(.px-night-theme) .jail-caught-close{background:#071f2b!important;border-color:#547889!important}
body.px-vip-theme:not(.px-night-theme) .jail-list-time,
body.px-vip-theme:not(.px-night-theme) .jail-list-action{border-color:#294d5e!important}

/* Travel / airport modals. */
body.px-vip-theme:not(.px-night-theme) .travel-country-choice-card,
body.px-vip-theme:not(.px-night-theme) .travel-flight-card,
body.px-vip-theme:not(.px-night-theme) .travel-flight-header,
body.px-vip-theme:not(.px-night-theme) .travel-flight-stats{
  background:#082633!important;
  border-color:#31586a!important;
  color:#eef4f6!important;
}
body.px-vip-theme:not(.px-night-theme) .travel-country-choice-close,
body.px-vip-theme:not(.px-night-theme) .travel-flight-close{background:#071f2b!important;border-color:#547889!important}
body.px-vip-theme:not(.px-night-theme) .travel-country-choice-backdrop,
body.px-vip-theme:not(.px-night-theme) .travel-flight-backdrop{background:rgba(0,0,0,.84)!important}
body.px-vip-theme:not(.px-night-theme) .travel-flight-map,
body.px-vip-theme:not(.px-night-theme) .travel-flight-real-map{background:#041923!important}

/* Misc public rows/cards. */
body.px-vip-theme:not(.px-night-theme) .main-content .family-directory-compact-card,
body.px-vip-theme:not(.px-night-theme) .main-content .compact-player-search,
body.px-vip-theme:not(.px-night-theme) .main-content .compact-player-title,
body.px-vip-theme:not(.px-night-theme) .main-content .metal-shipment-status{
  background:#082633!important;
  border-color:#31586a!important;
}

/* Final non-semantic candidates from the used-class scan. */
body.px-vip-theme:not(.px-night-theme) .main-content .family-dashboard-grid .classic-dashboard-box,
body.px-vip-theme:not(.px-night-theme) .main-content .family-settings-grid .classic-dashboard-box,
body.px-vip-theme:not(.px-night-theme) .main-content .classic-rp-meter,
body.px-vip-theme:not(.px-night-theme) .main-content .smuggling-price-refresh,
body.px-vip-theme:not(.px-night-theme) .main-content .scratch-result-summary,
body.px-vip-theme:not(.px-night-theme) .main-content .jail-breakout-card,
body.px-vip-theme:not(.px-night-theme) .crime-popup-result-head,
body.px-vip-theme:not(.px-night-theme) .car-result-card,
body.px-vip-theme:not(.px-night-theme) .car-popup-stats,
body.px-vip-theme:not(.px-night-theme) .car-popup-number{
  background:#082633!important;
  border-color:#31586a!important;
  color:#eef4f6!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .jail-breakout-backdrop,
body.px-vip-theme:not(.px-night-theme) .jail-caught-backdrop,
body.px-vip-theme:not(.px-night-theme) .territory-asset-popup-backdrop{background:rgba(0,0,0,.82)!important}
body.px-vip-theme:not(.px-night-theme) .main-content .jail-caught-stats,
body.px-vip-theme:not(.px-night-theme) .main-content .oc-compact-table,
body.px-vip-theme:not(.px-night-theme) .main-content .combat-result-title,
body.px-vip-theme:not(.px-night-theme) .main-content .vehicle-main,
body.px-vip-theme:not(.px-night-theme) .main-content .recycling-vehicle-card,
body.px-vip-theme:not(.px-night-theme) .main-content .airport-route-arrow,
body.px-vip-theme:not(.px-night-theme) .main-content .airport-takeoff{
  border-color:#294d5e!important;
}
body.px-vip-theme:not(.px-night-theme) .chat-unread-badge,
body.px-vip-theme:not(.px-night-theme) .chat-open-control,
body.px-vip-theme:not(.px-night-theme) .mobile-chat-toggle{
  background:#071f2b!important;
  border-color:#3c6778!important;
  color:#eef4f6!important;
}
body.px-vip-theme:not(.px-night-theme) .sr-countdown{
  background:#082633!important;
  border-color:#31586a!important;
  color:#eef4f6!important;
}



/* Gambino utility sidebar cleanup: no legacy blue rank box. */
body.px-vip-theme:not(.px-night-theme) .utility-sidebar .rank-box{
  margin:8px;
  padding:10px 11px;
  border:1px solid #294d5e!important;
  border-radius:6px;
  background:linear-gradient(180deg,#082633,#061f2b)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  color:#eef4f6;
}
body.px-vip-theme:not(.px-night-theme) .utility-sidebar .rank-box small{
  color:#9eb6c1;
}
body.px-vip-theme:not(.px-night-theme) .utility-sidebar .rank-box strong{
  color:#ffffff;
}
body.px-vip-theme:not(.px-night-theme) .utility-sidebar .rank-box .progress{
  height:6px;
  margin:5px 0 4px;
  border:1px solid #294d5e!important;
  background:#041923!important;
}
body.px-vip-theme:not(.px-night-theme) .utility-sidebar .rank-box .progress i{
  background:linear-gradient(90deg,#c78b20,#f0c857)!important;
}

/* 2026-09-06 — Keep the shared Gambino header logo constrained in Classic too. */
body.px-classic-theme .brand{
  width:280px;
  min-width:280px;
  height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
body.px-classic-theme .brand-logo{
  display:block;
  width:236px;
  max-width:100%;
  height:78px;
  max-height:78px;
  object-fit:contain;
  object-position:center;
}
@media(max-width:900px){
  body.px-classic-theme .brand{
    width:auto;
    min-width:0;
    height:60px;
  }
  body.px-classic-theme .brand-logo{
    width:190px;
    height:58px;
    max-height:58px;
  }
}
@media(max-width:520px){
  body.px-classic-theme .brand-logo{
    width:172px;
    height:54px;
    max-height:54px;
  }
}

/* === Profile summary: stacked info left + full-height avatar right (2026-09-08) === */
@media (min-width:761px){
  body .px-profile-sheet{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,38%);
    align-items:stretch;
  }
  body .px-profile-sheet > .px-profile-sheet-title{
    grid-column:1 / -1;
    grid-row:1;
  }
  body .px-profile-sheet > .px-profile-detail-table{
    grid-column:1;
    grid-row:2;
    grid-template-columns:1fr!important;
    align-self:stretch;
  }
  body .px-profile-sheet > .px-profile-avatar-stage{
    grid-column:2;
    grid-row:2;
    min-height:0!important;
    height:auto;
    align-self:stretch;
    padding:10px!important;
    border-left:1px solid #668899;
    border-bottom:0;
  }
  body .px-profile-sheet > .px-profile-avatar-stage .px-profile-avatar-large{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 1;
    min-width:0;
    min-height:0;
    max-width:100%!important;
    max-height:none!important;
    align-self:center;
    justify-self:center;
    box-sizing:border-box;
  }
  body .px-profile-sheet > .px-profile-avatar-stage .px-profile-avatar-large img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }
  body .px-profile-sheet > .px-profile-avatar-stage .px-profile-avatar-large > span{
    font-size:clamp(72px,10vw,180px);
  }
  body .px-profile-sheet > .px-profile-text-panel,
  body .px-profile-sheet > .classic-profile-actions{
    grid-column:1 / -1;
  }

  /* Gambino / Night: keep every profile field on its own full-width row. */
  body.px-vip-theme .px-profile-sheet > .px-profile-detail-table{
    grid-template-columns:1fr!important;
  }
  body.px-vip-theme .px-profile-sheet > .px-profile-avatar-stage{
    border-left-color:#294d5e;
  }
  body.px-night-theme .px-profile-sheet > .px-profile-avatar-stage{
    border-left-color:#303943;
  }
}

@media (max-width:760px){
  body .px-profile-sheet{
    display:block;
  }
  body .px-profile-sheet > .px-profile-detail-table{
    grid-template-columns:1fr!important;
  }
  body .px-profile-sheet > .px-profile-avatar-stage{
    min-height:150px!important;
    padding:10px!important;
    border-left:0;
  }
  body .px-profile-sheet > .px-profile-avatar-stage .px-profile-avatar-large{
    width:min(210px,62vw)!important;
    height:auto!important;
    aspect-ratio:1 / 1;
    max-width:100%!important;
  }
  body .px-profile-sheet > .px-profile-avatar-stage .px-profile-avatar-large img{
    object-fit:contain;
  }
}

/* ================================================================
   Inbox / private mail
   ================================================================ */
.mail-page{display:grid;gap:14px;min-width:0}.mail-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #294d5e;border-radius:10px;background:linear-gradient(145deg,#092533,#071d29)}.mail-page-header small,.mail-section-title small{display:block;margin-bottom:4px;color:#7aa8bd;font-size:11px;font-weight:800;letter-spacing:.13em}.mail-page-header h1,.mail-section-title h2{margin:0;color:#f4f7f8}.mail-page-header h1{font-size:25px}.mail-page-header p{margin:7px 0 0;color:#a9bec8;max-width:760px}.mail-unread-summary{min-width:150px;padding:10px 14px;border:1px solid #365f70;border-radius:8px;background:#0a2b39;text-align:right}.mail-unread-summary span{display:block;color:#8eb0be;font-size:11px;text-transform:uppercase;letter-spacing:.07em}.mail-unread-summary strong{display:block;color:#f5c842;font-size:25px;line-height:1.05}.mail-shell{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;align-items:start}.mail-nav{display:grid;gap:6px;padding:8px;border:1px solid #294d5e;border-radius:9px;background:#082330;position:sticky;top:98px}.mail-nav a{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:0 10px;border:1px solid transparent;border-radius:7px;color:#d8e4e9;text-decoration:none}.mail-nav a:hover,.mail-nav a.active{border-color:#4b7180;background:#103746;color:#fff}.mail-nav a.active{box-shadow:inset 3px 0 0 #e5b72e}.mail-nav a>span{font-size:16px;text-align:center}.mail-nav a>b{font-size:13px}.mail-nav a>em{min-width:20px;padding:2px 6px;border-radius:20px;background:#d2a229;color:#081720;font-size:10px;font-style:normal;font-weight:900;text-align:center}.mail-content{min-width:0;border:1px solid #294d5e;border-radius:9px;background:#082330;overflow:hidden}.mail-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:12px 16px;border-bottom:1px solid #294d5e;background:#0b2a38}.mail-section-title h2{font-size:18px}.mail-section-actions,.mail-compose-actions,.mail-message-actions,.mail-list-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mail-section-actions form,.mail-message-actions form{margin:0}.mail-primary-button,.mail-secondary-button,.mail-danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border-radius:7px;font:inherit;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer}.mail-primary-button{border:1px solid #d7ad32;background:#c99722;color:#071923}.mail-primary-button:hover{filter:brightness(1.08)}.mail-secondary-button{border:1px solid #406776;background:#0c2f3e;color:#e7f0f3}.mail-danger-button{border:1px solid #8c4c4c;background:#442427;color:#ffdede}.mail-security-note{margin:12px 14px;padding:9px 11px;border:1px solid #695a2b;border-radius:7px;background:#302a17;color:#e5d69a;font-size:12px}.mail-list-form{display:block}.mail-table-wrap{width:100%;overflow-x:auto}.mail-table{width:100%;border-collapse:collapse;table-layout:fixed}.mail-table th,.mail-table td{padding:10px 12px;border-bottom:1px solid #254756;text-align:left;vertical-align:middle}.mail-table th{background:#071d29;color:#e7ba37;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.mail-table td{color:#d9e5ea;font-size:13px}.mail-table th.mail-check,.mail-table td.mail-check{width:38px;padding-left:12px;padding-right:4px}.mail-table th:nth-last-child(1),.mail-table td:nth-last-child(1){width:168px}.mail-table tbody tr:hover{background:#0c2b39}.mail-table tbody tr.mail-row-unread{background:#0d3140}.mail-table tbody tr.mail-row-unread td{font-weight:700}.mail-table-empty{text-align:center!important;color:#8ba7b3!important;padding:34px 12px!important}.mail-subject{display:inline-flex;align-items:center;gap:8px;color:#f2f6f7;text-decoration:none}.mail-subject:hover{text-decoration:underline}.mail-unread-dot{width:7px;height:7px;border-radius:50%;background:#e8b92e;box-shadow:0 0 8px rgba(232,185,46,.45);flex:0 0 auto}.mail-type-pill,.mail-status{display:inline-flex;align-items:center;min-height:23px;padding:2px 8px;border:1px solid #3b6170;border-radius:20px;background:#0b2a38;color:#c7d8df;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.mail-status.unread{border-color:#886b1f;color:#f2ce59}.mail-status.read{color:#87caa8}.mail-list-actions{justify-content:flex-start;padding:11px 13px;background:#071d29}.mail-compose-form{display:grid;gap:14px;padding:16px}.mail-compose-form label{display:grid;gap:6px}.mail-compose-form label>span{color:#8fb1c0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.mail-compose-form input,.mail-compose-form textarea,.mail-ignore-add input{width:100%;box-sizing:border-box;border:1px solid #365c6b;border-radius:7px;background:#061d28;color:#f4f7f8;padding:10px 11px;font:inherit;outline:none}.mail-compose-form textarea{resize:vertical;min-height:210px;line-height:1.5}.mail-compose-form input:focus,.mail-compose-form textarea:focus,.mail-ignore-add input:focus{border-color:#d0a536;box-shadow:0 0 0 2px rgba(208,165,54,.12)}.mail-compose-form label>small{color:#7797a4;font-size:11px}.mail-message-card{padding:16px}.mail-message-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px}.mail-message-meta>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;padding:9px 10px;border:1px solid #294d5e;border-radius:7px;background:#092735}.mail-message-meta dt{color:#7fa3b2;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.mail-message-meta dd{margin:0;color:#e8f0f3;font-size:12px}.mail-message-body{min-height:150px;padding:16px;border:1px solid #315563;border-radius:8px;background:#061d28;color:#e8eff2;line-height:1.6;white-space:normal;overflow-wrap:anywhere}.mail-message-actions{margin-top:12px}.mail-ignore-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:14px 16px;border-bottom:1px solid #294d5e}.mail-ignore-list{display:grid}.mail-ignore-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid #254756}.mail-ignore-row>div{display:grid;gap:3px}.mail-ignore-row small{color:#7d9ca9}.mail-empty-state{display:grid;gap:5px;padding:32px 16px;text-align:center;color:#8faab5}.mail-empty-state strong{color:#e1eaed}

body.px-night-theme .mail-page-header,body.px-night-theme .mail-content,body.px-night-theme .mail-nav{border-color:#303943;background:#11171d}.px-night-theme .mail-page-header{background:linear-gradient(145deg,#151b21,#0d1115)}body.px-night-theme .mail-section-title,body.px-night-theme .mail-list-actions{border-color:#303943;background:#141b21}body.px-night-theme .mail-table th{background:#0e1317}body.px-night-theme .mail-table th,body.px-night-theme .mail-table td{border-color:#2c353d}body.px-night-theme .mail-table tbody tr:hover,body.px-night-theme .mail-table tbody tr.mail-row-unread{background:#171f25}body.px-night-theme .mail-compose-form input,body.px-night-theme .mail-compose-form textarea,body.px-night-theme .mail-ignore-add input,body.px-night-theme .mail-message-body{background:#0d1216;border-color:#343e46}body.px-night-theme .mail-message-meta>div{background:#141b20;border-color:#303943}

body.px-classic-theme .mail-page-header,body.px-classic-theme .mail-content,body.px-classic-theme .mail-nav{border-color:#668899;background:#294f61}body.px-classic-theme .mail-page-header{background:#315b6d}body.px-classic-theme .mail-section-title,body.px-classic-theme .mail-list-actions{border-color:#668899;background:#24495a}body.px-classic-theme .mail-table th{background:#1e4253}body.px-classic-theme .mail-table th,body.px-classic-theme .mail-table td{border-color:#557888}body.px-classic-theme .mail-table tbody tr:hover,body.px-classic-theme .mail-table tbody tr.mail-row-unread{background:#315b6d}body.px-classic-theme .mail-compose-form input,body.px-classic-theme .mail-compose-form textarea,body.px-classic-theme .mail-ignore-add input,body.px-classic-theme .mail-message-body{background:#173b4c;border-color:#668899}

@media (max-width:900px){.mail-shell{grid-template-columns:1fr}.mail-nav{position:static;grid-template-columns:repeat(4,minmax(0,1fr))}.mail-nav a{grid-template-columns:1fr;justify-items:center;gap:2px;padding:7px 4px;text-align:center}.mail-nav a>em{position:absolute;transform:translate(16px,-10px)}.mail-page-header{align-items:center}.mail-message-meta{grid-template-columns:1fr}}
@media (max-width:650px){.mail-page-header{align-items:flex-start;padding:14px;flex-direction:column}.mail-page-header h1{font-size:21px}.mail-unread-summary{width:100%;box-sizing:border-box;text-align:left;display:flex;align-items:center;justify-content:space-between}.mail-unread-summary strong{font-size:20px}.mail-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.mail-section-title{align-items:flex-start;flex-direction:column}.mail-section-actions{width:100%}.mail-section-actions>*{flex:1}.mail-table,.mail-table tbody,.mail-table tr,.mail-table td{display:block;width:100%}.mail-table thead{display:none}.mail-table tbody{padding:7px;box-sizing:border-box}.mail-table tr{box-sizing:border-box;margin-bottom:8px;border:1px solid #2c5362;border-radius:7px;overflow:hidden}.mail-table td{box-sizing:border-box;display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;border:0;border-bottom:1px solid #234654;padding:8px 10px}.mail-table td:last-child{border-bottom:0}.mail-table td::before{content:attr(data-label);color:#799dab;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.mail-table td.mail-check{width:100%;display:flex;justify-content:flex-end;background:#071d29}.mail-table td.mail-check::before{display:none}.mail-table-empty{display:block!important}.mail-table-empty::before{display:none}.mail-ignore-add{grid-template-columns:1fr}.mail-ignore-row{align-items:flex-start;flex-direction:column}.mail-ignore-row form,.mail-ignore-row button{width:100%}.mail-compose-actions>*{flex:1}.mail-message-card{padding:12px}.mail-message-meta>div{grid-template-columns:64px minmax(0,1fr)}}

/* Profile honour actions */
.px-honour-give-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.px-honour-give-form label{display:flex;align-items:center;gap:5px;margin:0}.px-honour-give-form label>span{font-size:10px;font-weight:800;text-transform:uppercase;color:#b9ccd4}.px-honour-give-form input[type=number]{width:74px;min-height:30px;box-sizing:border-box;border:1px solid #668899;border-radius:3px;background:#173b4c;color:#fff;padding:5px 7px;font:inherit}.px-honour-give-form small{font-size:10px;color:#a9c0ca}.px-honour-give-form button:disabled,.px-honour-give-form input:disabled{opacity:.55;cursor:not-allowed}
body.px-night-theme .px-honour-give-form input[type=number]{background:#0d1216;border-color:#3b4650}
@media(max-width:650px){.px-honour-give-form{width:100%}.px-honour-give-form label{flex:1 1 120px}.px-honour-give-form input[type=number]{width:80px}.px-honour-give-form small{flex:1 0 100%;width:100%}}

/* Weekly honour reference */
.honour-weekly-panel{padding:10px!important;margin-bottom:8px}.honour-weekly-copy,.honour-weekly-note{margin:6px 0;color:#c7d7de;font-size:11px;line-height:1.45}.honour-weekly-note{margin-bottom:0;color:#a9c0ca;font-size:9px}.honour-rank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin-top:8px}.honour-rank-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:28px;padding:4px 9px;border:1px solid rgba(88,125,143,.55);border-radius:4px;background:rgba(18,49,63,.38)}.honour-rank-row span{min-width:0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.honour-rank-row strong{color:#f2c438;font-size:12px}.honour-weekly-panel .rank-section-heading>span strong{color:#f2c438;font-size:13px}
body.px-night-theme .honour-rank-row{border-color:#303943;background:#141b20}
@media(max-width:650px){.honour-rank-grid{grid-template-columns:1fr}}

/* Mail bulk selection + recipient autocomplete */
.mail-select-all-control{display:inline-flex!important;align-items:center;gap:7px;color:#c5d6dd;font-size:11px;font-weight:800;cursor:pointer}.mail-select-all-control input,.mail-table .mail-check input{accent-color:auto}.mail-compose-field{display:grid;gap:6px}.mail-compose-field>label{display:block}.mail-compose-field>label>span{color:#8fb1c0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.mail-recipient-autocomplete{position:relative;z-index:8}.mail-recipient-suggestions{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow:auto;border:1px solid #446c7c;border-radius:7px;background:#082633;box-shadow:0 12px 28px rgba(0,0,0,.35)}.mail-recipient-suggestions[hidden]{display:none}.mail-recipient-suggestions button{display:block;width:100%;padding:9px 11px;border:0;border-bottom:1px solid #294d5e;background:transparent;color:#edf4f6;text-align:left;font:inherit;font-size:12px;cursor:pointer}.mail-recipient-suggestions button:last-child{border-bottom:0}.mail-recipient-suggestions button:hover,.mail-recipient-suggestions button.active{background:#174253;color:#fff}.mail-table th.mail-check input{vertical-align:middle}
body.px-night-theme .mail-recipient-suggestions{border-color:#3b4650;background:#10161b}body.px-night-theme .mail-recipient-suggestions button{border-color:#303943}body.px-night-theme .mail-recipient-suggestions button:hover,body.px-night-theme .mail-recipient-suggestions button.active{background:#1c252c}
body.px-classic-theme .mail-recipient-suggestions{border-color:#668899;background:#24495a}body.px-classic-theme .mail-recipient-suggestions button{border-color:#557888}body.px-classic-theme .mail-recipient-suggestions button:hover,body.px-classic-theme .mail-recipient-suggestions button.active{background:#315b6d}
@media(max-width:650px){.mail-list-actions{align-items:stretch}.mail-select-all-control{min-height:36px;padding:0 4px}.mail-list-actions .mail-danger-button{margin-left:auto}.mail-recipient-suggestions{max-height:190px}}

/* Honour page */
.px-honour-page,.px-marriage-page{display:grid;gap:12px;min-width:0}.px-honour-hero,.px-marriage-hero{border:1px solid #2b4b58;border-radius:12px;background:linear-gradient(145deg,#181b1d,#0d1114);box-shadow:0 8px 22px rgba(0,0,0,.18);overflow:hidden}.px-honour-hero{padding:16px 18px}.px-honour-title{display:flex;align-items:center;gap:12px}.px-honour-medal{width:46px;height:46px;display:grid;place-items:center;border:1px solid #403b29;border-radius:10px;background:linear-gradient(#2a2a28,#171715);font-size:24px;box-shadow:0 4px 12px rgba(0,0,0,.28)}.px-honour-title small,.px-marriage-hero small,.px-honour-card-title small,.px-marriage-card-title small{display:block;color:#e6b82c;font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.px-honour-title h1,.px-marriage-hero h1,.px-honour-card-title h2,.px-marriage-card-title h2{margin:2px 0 0;color:#f7f8f8}.px-honour-title h1,.px-marriage-hero h1{font-size:25px;letter-spacing:.04em}.px-honour-hero>p,.px-marriage-card>p,.px-honour-card>p{margin:12px 0 0;color:#cbd2d5;line-height:1.55}.px-honour-statbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:-42px}.px-honour-statbar>span{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 10px;border:1px solid #3a4144;border-radius:20px;background:#222628;color:#c8cdcf;font-size:11px}.px-honour-statbar b{color:#f4c62e}.px-honour-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #30383b;border-radius:10px;overflow:hidden;background:#111416}.px-honour-tabs button{min-height:58px;border:0;border-right:1px solid #30383b;border-radius:0;background:linear-gradient(#1b1f21,#121516);color:#c9ced0;font:inherit;font-weight:800;cursor:pointer}.px-honour-tabs button:last-child{border-right:0}.px-honour-tabs button.active{background:linear-gradient(#2b2a24,#171715);color:#f0c22d;box-shadow:inset 0 -2px 0 #e5b72e}.px-honour-tabs button span{margin-left:6px}.px-honour-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);gap:12px}.px-honour-card,.px-marriage-card{border:1px solid #30383b;border-radius:11px;background:linear-gradient(145deg,#1c1f20,#111416);box-shadow:0 7px 18px rgba(0,0,0,.16);overflow:hidden}.px-honour-card{padding:16px}.px-honour-card-title,.px-marriage-card-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px dotted #4f4422}.px-honour-card-title h2,.px-marriage-card-title h2{font-size:18px}.px-honour-card-title>strong,.px-honour-card-title>span{color:#f0c32c;font-size:11px}.px-honour-form{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:10px;align-items:end;margin-top:14px}.px-honour-form label,.px-marriage-propose-form label{display:grid;gap:6px;margin:0}.px-honour-form label>span,.px-marriage-propose-form label>span{color:#c7ced1;font-size:11px;font-weight:800}.px-honour-form input,.px-marriage-propose-form input{box-sizing:border-box;border:1px solid #3d4548;background:#0f1214;color:#fff}.px-honour-primary,.px-marriage-primary,.px-marriage-danger{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:8px 14px;border-radius:7px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.px-honour-primary,.px-marriage-primary{border:1px solid #e0b52b;background:linear-gradient(#f2c843,#c79a17);color:#1b1707}.px-honour-primary:disabled{opacity:.5;cursor:not-allowed}.px-marriage-danger{border:1px solid #87494e;background:#462326;color:#ffd9dc}.px-honour-prestige{text-align:center}.px-honour-prestige .px-honour-card-title{text-align:left}.px-honour-prestige-mark{width:76px;height:76px;margin:14px auto;display:grid;place-items:center;border:2px solid #7e6421;border-radius:50%;background:radial-gradient(circle,#403519,#191914 68%);font-size:38px;box-shadow:0 0 0 5px rgba(208,165,36,.08)}.px-honour-prestige dl{display:grid;gap:7px;margin:0}.px-honour-prestige dl>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #373d3f;border-radius:7px;background:#141719}.px-honour-prestige dt{color:#aeb7bb}.px-honour-prestige dd{margin:0;color:#f4c62e;font-weight:900}.px-honour-register-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}.px-honour-register-grid h3{margin:0 0 7px;color:#f1c430;font-size:14px}.px-honour-table-wrap,.px-marriage-history-table{overflow-x:auto}.px-honour-table-wrap table,.px-marriage-history-table table{width:100%;border-collapse:collapse}.px-honour-table-wrap th,.px-honour-table-wrap td,.px-marriage-history-table th,.px-marriage-history-table td{padding:9px 10px;border-bottom:1px solid #303638}.px-honour-table-wrap th,.px-marriage-history-table th{color:#d9b12e;background:#101315;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.px-honour-table-wrap td,.px-marriage-history-table td{color:#d4dadd;font-size:12px}.px-honour-table-wrap td strong{color:#f4c62e}.px-honour-empty{text-align:center!important;color:#8e9a9f!important;padding:24px 10px!important}.px-honour-rank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-top:12px}.px-honour-rank-grid>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #303638;border-radius:7px;background:#141719}.px-honour-rank-grid strong{color:#f0c22d}
.px-player-autocomplete{position:relative}.px-player-suggestions{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow:auto;border:1px solid #4a4f50;border-radius:7px;background:#111416;box-shadow:0 12px 28px rgba(0,0,0,.38)}.px-player-suggestions[hidden]{display:none}.px-player-suggestions button{display:block;width:100%;padding:9px 11px;border:0;border-bottom:1px solid #303638;border-radius:0;background:transparent;color:#edf0f1;text-align:left;font:inherit;font-size:12px;cursor:pointer}.px-player-suggestions button:last-child{border-bottom:0}.px-player-suggestions button:hover,.px-player-suggestions button.active{background:#2e3028;color:#f4c62e}

/* Marriage page */
.px-marriage-hero{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px}.px-marriage-rings{width:64px;height:64px;display:grid;place-items:center;border:1px solid #705622;border-radius:50%;background:radial-gradient(circle,#41351a,#181714 70%);color:#efc033;font-size:30px;box-shadow:0 0 0 5px rgba(214,172,42,.06)}.px-marriage-hero p{margin:6px 0 0;color:#bbc4c7;line-height:1.5}.px-marriage-cost{min-width:190px;padding:10px 12px;border:1px solid #4a432c;border-radius:9px;background:#1d1b14;text-align:right}.px-marriage-cost span,.px-marriage-cost small{display:block;color:#aaa690;font-size:10px}.px-marriage-cost strong{display:block;margin:2px 0;color:#f0c22d;font-size:22px}.px-marriage-card{padding:16px}.px-marriage-propose-form{display:grid;grid-template-columns:minmax(220px,480px) auto;gap:10px;align-items:end;margin:18px auto 8px;max-width:760px}.px-marriage-note{display:block;margin-top:10px;color:#aeb6b9;font-size:11px;text-align:center}.px-marriage-current-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.px-marriage-current-grid>div{display:grid;gap:4px;padding:11px;border:1px solid #373d3f;border-radius:8px;background:#141719}.px-marriage-current-grid span{color:#9ca8ac;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.px-marriage-current-grid strong{color:#f4c62e}.px-marriage-divorce-form{display:flex;justify-content:flex-end;margin-top:10px}.px-marriage-request-list{display:grid;margin-top:8px}.px-marriage-request{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 2px;border-bottom:1px solid #303638}.px-marriage-request:last-child{border-bottom:0}.px-marriage-request>div:first-child{display:grid;gap:3px}.px-marriage-request small{color:#8f9ba0}.px-marriage-request-actions{display:flex;gap:7px}.px-marriage-request-actions form{margin:0}.px-marriage-waiting{padding:5px 9px;border:1px solid #5d512b;border-radius:20px;color:#e1bd4d;font-size:10px}.px-marriage-empty{padding:24px 8px;color:#8e9a9f;text-align:center}
body.px-classic-theme .px-honour-hero,body.px-classic-theme .px-marriage-hero,body.px-classic-theme .px-honour-card,body.px-classic-theme .px-marriage-card,body.px-classic-theme .px-honour-tabs{border-color:#668899;background:linear-gradient(#355b6d,#294d5f)}body.px-classic-theme .px-honour-tabs button{background:#315568;border-color:#668899}body.px-classic-theme .px-honour-tabs button.active{background:#3b6274}body.px-classic-theme .px-honour-form input,body.px-classic-theme .px-marriage-propose-form input{background:#24495a;border-color:#668899}
@media(max-width:900px){.px-honour-statbar{margin:12px 0 0;justify-content:flex-start}.px-honour-grid{grid-template-columns:1fr}.px-honour-register-grid{grid-template-columns:1fr}.px-marriage-hero{grid-template-columns:58px minmax(0,1fr)}.px-marriage-rings{width:50px;height:50px}.px-marriage-cost{grid-column:1/-1;min-width:0;text-align:left}.px-marriage-current-grid{grid-template-columns:1fr}}
@media(max-width:650px){.px-honour-hero,.px-honour-card,.px-marriage-card,.px-marriage-hero{padding:12px}.px-honour-tabs button{min-height:50px;font-size:11px}.px-honour-tabs button span{display:block;margin:2px 0 0}.px-honour-form,.px-marriage-propose-form{grid-template-columns:1fr}.px-honour-rank-grid{grid-template-columns:1fr}.px-marriage-request{align-items:flex-start;flex-direction:column}.px-marriage-request-actions{width:100%}.px-marriage-request-actions form{flex:1}.px-marriage-request-actions button{width:100%}}


/* Official game notifications */
.notifications-page{display:grid;gap:14px}.notification-list-panel{padding:0;overflow:hidden}.notification-table th:first-child,.notification-table td:first-child{width:150px}.notification-table th:nth-child(3),.notification-table td:nth-child(3){width:150px}.notification-title-cell{display:grid;gap:5px}.notification-title-cell strong{display:flex;align-items:center;gap:8px;color:#f2f6f7}.notification-title-cell small{display:block;color:#96adb7;font-weight:400;line-height:1.45;white-space:normal}.notification-table tr.mail-row-unread .notification-title-cell small{color:#bfd0d7}@media(max-width:700px){.notification-table th:first-child,.notification-table td:first-child,.notification-table th:nth-child(3),.notification-table td:nth-child(3){width:auto}}
@media(max-width:650px){.notifications-page .notification-table tbody{padding:5px}.notifications-page .notification-table tr{margin-bottom:5px}.notifications-page .notification-table td:first-child,.notifications-page .notification-table td:nth-child(3),.notifications-page .notification-table td:nth-child(4){display:none}.notifications-page .notification-table td:nth-child(2){display:block;width:100%;padding:9px 11px;border:0}.notifications-page .notification-table td:nth-child(2)::before{display:none}.notifications-page .notification-table .mail-table-empty{display:block!important;padding:20px 10px!important}.notifications-page .notification-table .mail-table-empty::before{display:none}}


/* === City Map country-only territory render fix (2026-09-08) === */
.family-real-country-map{background:radial-gradient(circle at 50% 46%,#0a2836 0,#061b26 54%,#03141d 100%)}
.family-territory-country-base{fill:#1a313a;stroke:#d2aa4f;stroke-width:2.4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(225,178,74,.24))}
.family-territory-country-outline{fill:none;stroke:#d7b45a;stroke-width:2.4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px rgba(225,178,74,.28))}
.family-territory-region{fill:rgba(24,44,52,.72);stroke:#80949d;stroke-width:1.15;vector-effect:non-scaling-stroke}
.family-territory-region.is-free{fill:rgba(35,49,55,.82);stroke:#9aa9af}
.family-territory-region.is-owned{fill:hsl(var(--family-region-hue,205) 46% 26% / .58);stroke:hsl(var(--family-region-hue,205) 58% 66% / .86)}
.family-territory-region.is-ours{fill:hsl(var(--family-region-hue,132) 48% 26% / .62);stroke:hsl(var(--family-region-hue,132) 70% 63% / .95)}
.family-territory-cluster-logo{filter:drop-shadow(0 4px 7px rgba(0,0,0,.6));}
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-country-base{fill:#1a313a!important;stroke:#d2aa4f!important}
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-country-outline{stroke:#d7b45a!important}
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-region{fill:rgba(24,44,52,.72)!important;stroke:#80949d!important}
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-region.is-free{fill:rgba(35,49,55,.82)!important;stroke:#9aa9af!important}
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-region.is-owned{fill:hsl(var(--family-region-hue,205) 46% 26% / .58)!important;stroke:hsl(var(--family-region-hue,205) 58% 66% / .86)!important}
body.px-vip-theme:not(.px-night-theme) .main-content .family-territory-region.is-ours{fill:hsl(var(--family-region-hue,132) 48% 26% / .62)!important;stroke:hsl(var(--family-region-hue,132) 70% 63% / .95)!important}
@media(max-width:700px){.family-real-map-shell{height:clamp(540px,67vh,760px)}.family-map-corner-label{right:10px;top:10px}}


/* 2026-09-08 City Map render stability + country-only presentation.
   The selected country is rendered through an SVG viewBox at the size of the
   actual map container. This avoids giant off-screen SVG surfaces on mobile. */
.family-real-country-map.is-country-only.is-country-map-ready .family-real-map-image{
  opacity:0!important;
  visibility:hidden!important;
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region-svg{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  left:0!important;
  top:0!important;
  overflow:visible!important;
}
.family-real-country-map.is-country-only.is-country-map-ready{
  background:radial-gradient(circle at 50% 46%,#0a2836 0,#061b26 54%,#03141d 100%)!important;
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-country-base{
  fill:#172d36!important;
  stroke:#d6ad4c!important;
  stroke-width:2.4!important;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 4px rgba(225,178,74,.28));
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-country-outline{
  fill:none!important;
  stroke:#e0bb5a!important;
  stroke-width:2.5!important;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 3px rgba(225,178,74,.28));
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region{
  stroke:#8ba3ae!important;
  stroke-width:1.25!important;
  vector-effect:non-scaling-stroke;
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region.is-free{
  fill:rgba(42,58,65,.62)!important;
  stroke:#879ca5!important;
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region.is-owned{
  fill:hsla(var(--family-region-hue,210),58%,38%,.20)!important;
  stroke:hsla(var(--family-region-hue,210),75%,67%,.92)!important;
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region.is-ours{
  fill:rgba(38,121,74,.20)!important;
  stroke:#62d68a!important;
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-cluster-logo{
  opacity:.88!important;
}
@media(max-width:700px){
  .family-real-map-shell{height:clamp(620px,68vh,860px)}
}

/* 2026-09-08 City Map visual fit: compact country canvas + centred Family crests. */
.family-real-map-shell{
  height:auto;
  min-height:0;
  transition:height .16s ease;
}
.family-real-country-map.is-country-only.is-country-map-ready{
  background:radial-gradient(circle at 50% 50%,#0a2a37 0,#061c27 58%,#03151e 100%)!important;
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-country-base{
  fill:#142a33!important;
  stroke:#d7ae4e!important;
  stroke-width:2.7!important;
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-country-outline{
  stroke:#e4bc58!important;
  stroke-width:2.8!important;
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region.is-free{
  fill:rgba(46,61,68,.82)!important;
  stroke:#a6b2b7!important;
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region.is-owned{
  fill:hsl(var(--family-region-hue,210) 56% 33% / .62)!important;
  stroke:hsl(var(--family-region-hue,210) 78% 69% / .98)!important;
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region.is-ours{
  fill:hsl(var(--family-region-hue,132) 58% 34% / .68)!important;
  stroke:#7cf0a2!important;
}
.family-real-country-map.is-country-only.is-country-map-ready .family-territory-cluster-logo{
  opacity:.96!important;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.72)) drop-shadow(0 0 2px rgba(255,221,127,.18));
}
@media(max-width:700px){
  .family-real-map-shell{height:auto;min-height:300px}
}
@media(max-width:430px){
  .family-real-map-shell{height:auto;min-height:290px}
}

\n\n/* === City Map approved-reference styling v2 (2026-09-08) ===\n   Script/SVG only: no generated map images. */\n.family-real-map-shell{\n  width:min(100%,1040px);\n  height:auto;\n  min-height:0!important;\n  margin:0 auto;\n  background:#031722!important;\n  border-color:#315b6d!important;\n}\n.family-real-country-map.is-country-only.is-country-map-ready{\n  background:\n    radial-gradient(circle at 50% 42%,rgba(21,63,76,.42),rgba(5,29,40,.18) 44%,rgba(2,17,25,.96) 100%)!important;\n}\n.family-real-country-map.is-country-only.is-country-map-ready .family-territory-country-base{\n  fill:#102831!important;\n  stroke:#e2b64f!important;\n  stroke-width:3.4!important;\n  filter:drop-shadow(0 0 4px rgba(236,183,60,.48)) drop-shadow(0 0 10px rgba(223,165,39,.16))!important;\n}\n.family-real-country-map.is-country-only.is-country-map-ready .family-territory-country-outline{\n  stroke:#f0c75e!important;\n  stroke-width:3.0!important;\n  filter:drop-shadow(0 0 3px rgba(240,194,74,.48))!important;\n}\n.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region{\n  stroke:#d1d7d8!important;\n  stroke-width:1.30!important;\n  vector-effect:non-scaling-stroke;\n  transition:filter .12s ease,fill .12s ease,stroke .12s ease;\n}\n.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region.is-free{\n  fill:rgba(39,48,53,.88)!important;\n  stroke:#aeb7ba!important;\n}\n.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region.is-owned{\n  fill:hsl(var(--family-region-hue,214) 64% 30% / .86)!important;\n  stroke:hsl(var(--family-region-hue,214) 82% 70% / .98)!important;\n}\n.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region.is-ours{\n  fill:hsl(var(--family-region-hue,214) 67% 32% / .90)!important;\n  stroke:#f0d77c!important;\n  stroke-width:1.65!important;\n}\n.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region:hover,\n.family-real-country-map.is-country-only.is-country-map-ready .family-territory-region:focus{\n  filter:brightness(1.18) saturate(1.12);\n  outline:none;\n}\n.family-real-country-map.is-country-only.is-country-map-ready .family-territory-cluster-logo{\n  opacity:.98!important;\n  filter:drop-shadow(0 4px 8px rgba(0,0,0,.82)) drop-shadow(0 0 2px rgba(255,220,122,.25))!important;\n}\n.family-map-corner-label{\n  border-color:#9a762c!important;\n  background:rgba(8,18,23,.92)!important;\n  color:#e7c165!important;\n}\n@media(max-width:700px){\n  .family-real-map-shell{min-height:260px!important}\n}\n@media(max-width:430px){\n  .family-real-map-shell{min-height:250px!important}\n}\n
/* Gambino/VIP theme must not override the approved City Map territory colours. */
body.px-vip-theme:not(.px-night-theme) .main-content .family-real-map-shell{
  background:#031722!important;
  border-color:#315b6d!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-real-country-map.is-country-only.is-country-map-ready{
  background:radial-gradient(circle at 50% 42%,rgba(21,63,76,.42),rgba(5,29,40,.18) 44%,rgba(2,17,25,.96) 100%)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-real-country-map.is-country-only.is-country-map-ready .family-territory-country-base{
  fill:#102831!important;
  stroke:#e2b64f!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-real-country-map.is-country-only.is-country-map-ready .family-territory-country-outline{
  stroke:#f0c75e!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-real-country-map.is-country-only.is-country-map-ready .family-territory-region.is-free{
  fill:rgba(39,48,53,.88)!important;
  stroke:#aeb7ba!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-real-country-map.is-country-only.is-country-map-ready .family-territory-region.is-owned{
  fill:hsl(var(--family-region-hue,214) 64% 30% / .86)!important;
  stroke:hsl(var(--family-region-hue,214) 82% 70% / .98)!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-real-country-map.is-country-only.is-country-map-ready .family-territory-region.is-ours{
  fill:hsl(var(--family-region-hue,214) 67% 32% / .90)!important;
  stroke:#f0d77c!important;
}
body.px-vip-theme:not(.px-night-theme) .main-content .family-real-country-map.is-country-only.is-country-map-ready .family-territory-cluster-logo{
  opacity:.98!important;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.82)) drop-shadow(0 0 2px rgba(255,220,122,.25))!important;
}


/* === City Map Family colour legend (2026-09-08) ===
   Family crests are intentionally not rendered on the map. Ownership is shown
   by the same deterministic Family colour used by the territory polygons. */
.family-map-family-legend{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 10px;
  padding:7px 10px;
  border-bottom:1px solid #315b6d;
  background:#0a2532;
  color:#dbe8ed;
  font-size:12px;
}
.family-map-family-legend[hidden]{display:none!important}
.family-color-legend-title{
  color:#e7c165;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-right:2px;
}
.family-color-legend-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
  padding:3px 7px 3px 5px;
  border:1px solid rgba(135,167,180,.34);
  border-radius:999px;
  background:rgba(2,18,26,.55);
  white-space:nowrap;
}
.family-color-legend-swatch{
  width:13px;
  height:13px;
  flex:0 0 13px;
  border-radius:3px;
  background:hsl(var(--family-legend-hue,214) 64% 34%);
  border:1px solid hsl(var(--family-legend-hue,214) 82% 72%);
  box-shadow:0 0 5px hsl(var(--family-legend-hue,214) 70% 45% / .28);
}
.family-real-country-map .family-territory-cluster-logo,
.family-real-country-map .family-territory-logo-layer{display:none!important}
@media(max-width:700px){
  .family-map-family-legend{gap:6px;padding:6px 8px;font-size:10px}
  .family-color-legend-title{width:100%;font-size:10px;margin-bottom:1px}
  .family-color-legend-item{padding:3px 6px 3px 4px}
  .family-color-legend-swatch{width:11px;height:11px;flex-basis:11px}
}


/* === Inbox Heist / Organised Crime result cards (2026-09-08) === */
.mail-game-result{
  overflow:hidden;
  border:1px solid #315563;
  border-radius:10px;
  background:#061d28;
  color:#e8eff2;
}
.mail-game-result-status{
  display:flex;
  align-items:center;
  gap:11px;
  padding:13px 15px;
  border-bottom:1px solid #315563;
  background:linear-gradient(135deg,rgba(30,112,77,.22),rgba(6,29,40,.92));
}
.mail-game-result.is-failed .mail-game-result-status{
  background:linear-gradient(135deg,rgba(143,48,48,.26),rgba(6,29,40,.92));
}
.mail-game-result-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid #4e9d75;
  border-radius:50%;
  background:#123c2c;
  color:#9ee0ba;
  font-size:23px;
  font-weight:900;
}
.mail-game-result.is-failed .mail-game-result-icon{
  border-color:#a95959;
  background:#482426;
  color:#ffc1c1;
}
.mail-game-result-status small{
  display:block;
  margin-bottom:2px;
  color:#7fa3b2;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.mail-game-result-status strong{
  display:block;
  color:#a9e4c1;
  font-size:18px;
}
.mail-game-result.is-failed .mail-game-result-status strong{color:#ffb8b8}
.mail-game-result-grid{display:grid;padding:6px 14px 10px}
.mail-game-result-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-height:42px;
  padding:7px 2px;
  border-bottom:1px solid rgba(72,107,120,.38);
}
.mail-game-result-row:last-child{border-bottom:0}
.mail-game-result-row span{color:#8eacb8;font-size:12px}
.mail-game-result-row strong{color:#f2f6f7;font-size:13px;text-align:right}
.mail-game-result-note{padding:11px 15px;color:#b8cbd3;font-size:12px;line-height:1.5;border-bottom:1px solid rgba(72,107,120,.38)}
body.px-night-theme .mail-game-result{background:#0d1216;border-color:#343e46}
body.px-night-theme .mail-game-result-status{border-color:#343e46}
body.px-classic-theme .mail-game-result{background:#173b4c;border-color:#668899}
body.px-classic-theme .mail-game-result-status{border-color:#668899}
@media(max-width:650px){
  .mail-game-result-status{padding:11px 12px}
  .mail-game-result-icon{width:34px;height:34px;flex-basis:34px;font-size:20px}
  .mail-game-result-status strong{font-size:16px}
  .mail-game-result-grid{padding:5px 11px 8px}
  .mail-game-result-row{min-height:39px;gap:10px}
  .mail-game-result-row span{font-size:11px}
  .mail-game-result-row strong{font-size:12px}
}


/* ================================================================
   Mail mobile compact navigation
   2026-09-08: keep all four mailbox actions on one row and avoid
   duplicating the Compose action inside the Inbox panel.
   ================================================================ */
@media (max-width:650px){
  .mail-nav{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    padding:5px;
  }
  .mail-nav a{
    min-width:0;
    min-height:54px;
    padding:5px 2px;
    gap:2px;
    border-radius:6px;
    line-height:1.08;
  }
  .mail-nav a>span{
    font-size:14px;
    line-height:1;
  }
  .mail-nav a>b{
    width:100%;
    min-width:0;
    font-size:10px;
    line-height:1.08;
    white-space:normal;
    overflow-wrap:anywhere;
    text-align:center;
  }
  .mail-nav a>em{
    min-width:16px;
    padding:1px 4px;
    font-size:8px;
    transform:translate(12px,-8px);
  }
  .mail-section-actions{
    width:auto;
  }
  .mail-section-actions>*{
    flex:0 0 auto;
  }
  .mail-section-actions .mail-secondary-button{
    min-height:30px;
    padding:5px 9px;
    font-size:10px;
  }
}

/* Unread Inbox alert: top-right mail button flashes while direct mail is unread. */
.top-actions .top-mail-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
}
.top-actions .top-mail-link .top-mail-count{
  min-width:16px;
  text-align:center;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.top-actions .top-mail-link.top-mail-unread{
  border-color:#e5c35e;
  color:#fff4be;
  animation:px-top-mail-flash .9s steps(2,end) infinite;
}
@keyframes px-top-mail-flash{
  0%,100%{
    background:rgba(28,59,75,.55);
    border-color:#6f8e9d;
    box-shadow:none;
    transform:translateY(0);
  }
  50%{
    background:rgba(203,157,42,.34);
    border-color:#ffe07a;
    box-shadow:0 0 0 2px rgba(255,217,92,.18),0 0 14px rgba(255,207,74,.55);
    transform:translateY(-1px);
  }
}
@media (prefers-reduced-motion:reduce){
  .top-actions .top-mail-link.top-mail-unread{
    animation:none;
    background:rgba(203,157,42,.22);
    border-color:#ffe07a;
    box-shadow:0 0 10px rgba(255,207,74,.35);
  }
}

/* 2026-09-12 - Heist start emphasis + compact VIP star spacing in chat */
.heist-role-card .heist-start-cost{color:#f2c84b;font-weight:800}
.heist-actions button.primary:not(:disabled){border-color:#d7ad32;background:#c99722;color:#071923}
.chat-username .vip-name-crown{margin-left:2px;margin-right:0}
.chat-meta>.vip-name-crown{margin-left:0}


/* 2026-09-13 — Clickable topbar resource cards. */
.topbar>.resources>.resource-card.resource-card-clickable{position:relative;cursor:pointer}
.topbar>.resources>.resource-card.resource-card-clickable .resource-card-hitbox{position:absolute;inset:0;z-index:5;border-radius:inherit}
.topbar>.resources>.resource-card.resource-card-clickable:hover{filter:brightness(1.08);border-color:#8fb2c3}
.topbar>.resources>.resource-card.resource-card-clickable:has(.resource-card-hitbox:focus-visible){outline:2px solid #9bdcff;outline-offset:2px}


/* Daily Login */
.daily-login-page-head{align-items:center}.daily-login-cycle-badge{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:rgba(7,27,39,.55)}.daily-login-cycle-badge strong{color:#f3c84b;font-size:1rem}.daily-login-cycle-badge small{color:var(--muted)}
.daily-login-current{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;margin-bottom:14px}.daily-login-current>div:first-child small{color:#f3c84b;font-weight:900;letter-spacing:.08em}.daily-login-current h2{margin:4px 0 5px}.daily-login-current>div:first-child>strong{font-size:1.35rem;color:#fff}.daily-login-current p{margin:7px 0 0;color:var(--muted);font-size:.8rem}.daily-login-current-action{min-width:220px;text-align:right}.daily-login-current-action form{margin:0}.daily-login-big-state{display:inline-block;padding:10px 14px;border-radius:7px;font-weight:900}.daily-login-big-state.claimed{background:rgba(64,161,75,.18);border:1px solid rgba(64,161,75,.55);color:#8ee59a}.daily-login-final-missed{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.daily-login-final-missed strong{color:#efb14a}.daily-login-final-missed small{max-width:360px;color:var(--muted)}
.daily-login-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.daily-login-tier{padding:0;overflow:hidden}.daily-login-tier>header{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-bottom:1px solid var(--border);background:rgba(10,42,56,.72)}.daily-login-tier>header small{font-weight:900;letter-spacing:.08em;color:var(--muted)}.daily-login-tier>header h2{margin:2px 0 0;font-size:1.05rem}.daily-login-tier>header>span{font-size:.68rem;font-weight:900;color:#f3c84b;border:1px solid rgba(243,200,75,.45);border-radius:999px;padding:4px 8px}.daily-login-tier.vip-tier>header{background:linear-gradient(90deg,rgba(120,85,14,.3),rgba(10,42,56,.72))}.daily-login-tier.active-tier{box-shadow:inset 0 0 0 1px rgba(243,200,75,.4)}
.daily-login-days{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border)}.daily-login-day{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:10px 12px;background:var(--panel);border:0}.daily-login-day>div{display:flex;flex-direction:column;gap:2px}.daily-login-day b{font-size:.72rem}.daily-login-day small{font-size:.58rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.daily-login-day>strong{text-align:right;font-size:.76rem}.daily-login-day em{position:absolute;right:6px;top:4px;font-size:.52rem;font-style:normal;color:#f3c84b}.daily-login-day.claimed{background:rgba(38,107,64,.3)}.daily-login-day.claimed small{color:#8ee59a}.daily-login-day.missed{opacity:.55}.daily-login-day.missed small{color:#e07b7b}.daily-login-day.locked{opacity:.62}.daily-login-day.current-day{z-index:1;box-shadow:inset 0 0 0 2px #f3c84b;background:rgba(243,200,75,.08)}.daily-login-day.current-day b,.daily-login-day.current-day>strong{color:#f3c84b}
.daily-login-popup-overlay{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,9,14,.72);backdrop-filter:blur(3px)}.daily-login-popup{position:relative;width:min(460px,100%);padding:24px;border:1px solid rgba(243,200,75,.5);border-radius:12px;background:linear-gradient(180deg,#10384a,#071f2b);box-shadow:0 22px 70px rgba(0,0,0,.55);text-align:center}.daily-login-popup-close{position:absolute;right:10px;top:8px;width:32px;height:32px;border:0;background:transparent;color:var(--muted);font-size:1.55rem;cursor:pointer}.daily-login-popup-kicker{color:#f3c84b;font-weight:900;letter-spacing:.09em}.daily-login-popup h2{margin:7px 0 5px}.daily-login-popup p{margin:0 auto 13px;color:var(--muted);max-width:370px}.daily-login-popup-reward{display:block;margin:12px 0 15px;font-size:1.55rem;color:#fff}.daily-login-popup-warning{display:block;margin:-5px auto 14px;color:#efb14a}.daily-login-popup-actions{display:flex;justify-content:center;align-items:center;gap:8px}.daily-login-popup-actions form{margin:0}.daily-login-popup-actions .button,.daily-login-popup-actions button{min-width:145px}
@media(max-width:760px){.daily-login-columns{grid-template-columns:1fr}.daily-login-days{grid-template-columns:1fr}.daily-login-current{align-items:flex-start;flex-direction:column}.daily-login-current-action{min-width:0;width:100%;text-align:left}.daily-login-final-missed{align-items:flex-start}.daily-login-cycle-badge{align-items:flex-start;width:100%}.daily-login-popup-actions{flex-direction:column}.daily-login-popup-actions .button,.daily-login-popup-actions form,.daily-login-popup-actions button{width:100%}}

/* Daily Login — single 3-column reward table */
.daily-login-board{padding:0;overflow:hidden}.daily-login-board-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,rgba(10,42,56,.88),rgba(7,31,43,.92))}.daily-login-board-head h1{margin:0;font-size:1.65rem}.daily-login-board-head p{margin:5px 0 0;color:var(--muted);font-size:.82rem}.daily-login-board-cycle{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}.daily-login-board-cycle strong{color:#f3c84b;font-size:1rem}.daily-login-board-cycle small{color:var(--muted);font-size:.68rem}.daily-login-table-wrap{width:100%;overflow-x:auto}.daily-login-table{width:100%;border-collapse:collapse;table-layout:fixed}.daily-login-col-reward{width:40%}.daily-login-col-day{width:20%}.daily-login-table th{padding:13px 12px;border-bottom:1px solid var(--border);background:#0d3445;text-align:center;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.daily-login-table th span{display:block}.daily-login-table th small{display:inline-block;margin-top:4px;padding:2px 7px;border:1px solid rgba(243,200,75,.42);border-radius:999px;color:#f3c84b;font-size:.55rem;letter-spacing:.04em}.daily-login-table th.is-player-tier{background:linear-gradient(180deg,rgba(167,118,18,.34),rgba(13,52,69,.96));box-shadow:inset 0 -2px 0 #f3c84b}.daily-login-vip-head{color:#f3c84b}.daily-login-row td{height:56px;padding:9px 14px;border-bottom:1px solid rgba(90,142,163,.28);background:rgba(7,31,43,.46);vertical-align:middle}.daily-login-row:last-child td{border-bottom:0}.daily-login-reward-cell{text-align:center;font-size:.84rem}.daily-login-reward-cell strong{font-weight:850}.daily-login-day-cell{text-align:center;border-left:1px solid rgba(90,142,163,.3);border-right:1px solid rgba(90,142,163,.3)}.daily-login-day-cell b{display:block;font-size:1.1rem;color:#fff}.daily-login-day-cell>small{display:block;margin-top:1px;color:var(--muted);font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.daily-login-row.claimed td{background:rgba(35,101,59,.25)}.daily-login-row.claimed .daily-login-day-cell>small{color:#8ee59a}.daily-login-row.missed{opacity:.52}.daily-login-row.missed .daily-login-day-cell>small{color:#e07b7b}.daily-login-row.locked{opacity:.66}.daily-login-row.current-day{opacity:1}.daily-login-row.current-day td{background:rgba(243,200,75,.085);box-shadow:inset 0 1px 0 rgba(243,200,75,.45),inset 0 -1px 0 rgba(243,200,75,.45)}.daily-login-row.current-day .daily-login-day-cell{background:rgba(243,200,75,.16)}.daily-login-row.current-day .daily-login-day-cell b,.daily-login-row.current-day .daily-login-reward-cell strong{color:#f3c84b}.daily-login-inline-state{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:5px;border-radius:50%;font-weight:900}.daily-login-inline-state.claimed{background:rgba(64,161,75,.2);border:1px solid rgba(64,161,75,.55);color:#8ee59a}.daily-login-inline-claim{margin:6px 0 0}.daily-login-inline-claim button{min-width:82px;padding:6px 12px;font-size:.68rem}.daily-login-inline-warning{display:block;margin-top:5px;color:#efb14a;font-size:.58rem;font-weight:800;line-height:1.2}.daily-login-board-note{padding:11px 16px;border-top:1px solid var(--border);background:rgba(120,85,14,.13);color:#d7c585;text-align:center;font-size:.7rem}
@media(max-width:760px){.daily-login-board-head{align-items:flex-start;flex-direction:column;padding:15px}.daily-login-board-head h1{font-size:1.35rem}.daily-login-board-cycle{align-items:flex-start}.daily-login-col-reward{width:38%}.daily-login-col-day{width:24%}.daily-login-table th{padding:10px 5px;font-size:.62rem}.daily-login-row td{height:54px;padding:7px 5px}.daily-login-reward-cell{font-size:.68rem;line-height:1.2}.daily-login-day-cell b{font-size:.95rem}.daily-login-inline-claim button{min-width:64px;padding:5px 7px;font-size:.59rem}.daily-login-inline-warning{font-size:.52rem}}

/* Daily Login: keep the 3-column reward table fully inside narrow mobile screens. */
@media(max-width:760px){
  .daily-login-table-wrap{overflow-x:hidden}
  .daily-login-table{width:100%;min-width:0;table-layout:fixed}
  .daily-login-col-reward{width:42%}
  .daily-login-col-day{width:16%}
  .daily-login-table th,.daily-login-table td{min-width:0;max-width:none}
  .daily-login-table th{padding-left:3px;padding-right:3px}
  .daily-login-row td{padding-left:4px;padding-right:4px}
  .daily-login-reward-cell strong{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;hyphens:auto;line-height:1.15}
  .daily-login-day-cell{padding-left:2px!important;padding-right:2px!important}
}
@media(max-width:430px){
  .daily-login-reward-cell{font-size:.62rem}
  .daily-login-table th{font-size:.57rem;letter-spacing:.035em}
  .daily-login-day-cell b{font-size:.9rem}
  .daily-login-day-cell>small{font-size:.49rem;letter-spacing:.035em}
}

/* Daily Quests */
.dq-shell{padding:18px}.dq-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:4px 2px 16px}.dq-head small{display:block;color:#f0bd37;font-size:.66rem;font-weight:900;letter-spacing:.08em}.dq-head h1{margin:3px 0 5px;font-size:1.65rem}.dq-head p{max-width:780px;margin:0;color:var(--muted);line-height:1.45}.dq-reset{min-width:155px;padding:10px 13px;border:1px solid var(--border);border-radius:9px;background:rgba(0,0,0,.12);text-align:right}.dq-reset span{display:block;color:var(--muted);font-size:.67rem;text-transform:uppercase}.dq-reset strong{display:block;margin-top:2px;color:#f0bd37;font-size:1.15rem;font-variant-numeric:tabular-nums}.dq-summary{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:rgba(0,0,0,.11)}.dq-summary>div:first-child{display:flex;align-items:baseline;gap:7px}.dq-summary>div:first-child strong{font-size:1.15rem;color:#f0bd37}.dq-summary>div:first-child span,.dq-summary>b{color:var(--muted);font-size:.72rem}.dq-summary-bar{height:8px;overflow:hidden;border-radius:99px;background:rgba(0,0,0,.28)}.dq-summary-bar i{display:block;height:100%;border-radius:inherit;background:#d7a827}.dq-summary.is-complete{border-color:rgba(77,190,107,.55)}.dq-summary.is-complete .dq-summary-bar i{background:#48a85f}.dq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.dq-card{position:relative;padding:14px;border:1px solid var(--border);border-radius:10px;background:rgba(0,0,0,.12);overflow:hidden}.dq-card header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px}.dq-card header .dq-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.04);font-size:1.1rem}.dq-card header small{display:block;color:var(--muted);font-size:.6rem;font-weight:800;letter-spacing:.06em}.dq-card header h2{margin:1px 0 0;font-size:1rem}.dq-card header em{padding:5px 7px;border:1px solid rgba(240,189,55,.45);border-radius:6px;color:#f0bd37;font-size:.67rem;font-style:normal;font-weight:900}.dq-card p{min-height:42px;margin:12px 0 10px;color:#c7d2d7;font-size:.78rem;line-height:1.42}.dq-progress{height:9px;overflow:hidden;border-radius:99px;background:rgba(0,0,0,.3)}.dq-progress i{display:block;height:100%;border-radius:inherit;background:#d7a827}.dq-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}.dq-card footer strong{font-size:.88rem;font-variant-numeric:tabular-nums}.dq-card footer .button{padding:7px 9px;font-size:.68rem}.dq-card.is-complete{border-color:rgba(77,190,107,.55);background:rgba(42,115,62,.12)}.dq-card.is-complete .dq-progress i{background:#48a85f}.dq-done{position:absolute;right:10px;bottom:52px;color:#6ed783;font-size:.65rem;font-weight:900;text-transform:uppercase}.dq-note{margin-top:12px;padding:9px 11px;border-left:3px solid #c79728;background:rgba(0,0,0,.1);color:var(--muted);font-size:.67rem;line-height:1.45}
@media(max-width:900px){.dq-grid{grid-template-columns:1fr}.dq-card p{min-height:0}.dq-summary{grid-template-columns:auto 1fr}.dq-summary>b{grid-column:1/-1}.dq-done{bottom:50px}}
@media(max-width:600px){.dq-shell{padding:12px}.dq-head{display:grid;gap:10px}.dq-reset{width:100%;box-sizing:border-box;text-align:left}.dq-summary{grid-template-columns:1fr;gap:8px}.dq-summary>b{grid-column:auto}.dq-card{padding:12px}.dq-card header{grid-template-columns:34px minmax(0,1fr) auto}.dq-card header .dq-icon{width:32px;height:32px}.dq-card footer{align-items:center}.dq-card footer .button{white-space:nowrap}.dq-done{position:static;display:block;margin-top:8px}}

/* Daily Login hub + Monthly Event */
.daily-hub-tabs{display:flex;gap:8px;margin:0 0 12px;padding:6px;border:1px solid var(--border);border-radius:10px;background:rgba(0,0,0,.12)}.daily-hub-tabs a{flex:1;display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid transparent;border-radius:7px;color:var(--muted);font-weight:900;text-decoration:none}.daily-hub-tabs a:hover{color:#fff;background:rgba(255,255,255,.04)}.daily-hub-tabs a.is-active{border-color:rgba(240,189,55,.55);background:linear-gradient(180deg,rgba(190,135,25,.26),rgba(12,48,63,.9));color:#f0bd37;box-shadow:inset 0 -2px 0 rgba(240,189,55,.75)}
.monthly-event-shell{padding:18px;overflow:hidden}.monthly-event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.monthly-event-head small{display:block;color:#f0bd37;font-size:.64rem;font-weight:900;letter-spacing:.09em}.monthly-event-head h1{margin:2px 0 5px;font-size:1.65rem}.monthly-event-head p{max-width:760px;margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.monthly-event-reset{min-width:145px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:rgba(0,0,0,.13);text-align:right}.monthly-event-reset span{display:block;color:var(--muted);font-size:.6rem;text-transform:uppercase}.monthly-event-reset strong{display:block;margin-top:2px;color:#f0bd37;font-size:1rem;font-variant-numeric:tabular-nums}
.monthly-event-reward{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid rgba(240,189,55,.35);border-radius:12px;background:linear-gradient(100deg,rgba(117,76,8,.25),rgba(7,31,43,.7));box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)}.monthly-event-reward.is-ready{border-color:#f0bd37;box-shadow:0 0 18px rgba(240,189,55,.13),inset 0 0 0 1px rgba(240,189,55,.18)}.monthly-event-reward.is-claimed{border-color:rgba(76,184,100,.55);background:linear-gradient(100deg,rgba(35,104,56,.22),rgba(7,31,43,.7))}.monthly-event-chest{display:grid;place-items:center;width:66px;height:66px;border:1px solid rgba(240,189,55,.45);border-radius:12px;background:rgba(240,189,55,.1);font-size:2.1rem}.monthly-event-reward-copy>small{display:block;color:#f0bd37;font-size:.6rem;font-weight:900;letter-spacing:.08em}.monthly-event-reward-copy>strong{display:block;margin:3px 0 9px;font-size:1rem}.monthly-event-points{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;color:#d5e0e4;font-size:.7rem}.monthly-event-points b{color:#f0bd37}.monthly-event-bar{height:10px;overflow:hidden;border-radius:99px;background:rgba(0,0,0,.3)}.monthly-event-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9d7415,#f0bd37)}.monthly-event-reward.is-claimed .monthly-event-bar i{background:#48a85f}.monthly-event-claim{min-width:120px;text-align:center}.monthly-event-claim form{margin:0}.monthly-event-claim button{white-space:nowrap}.monthly-event-claimed{color:#75dc8a;font-weight:900}.monthly-event-locked{display:block;color:var(--muted);font-size:.7rem;font-weight:800}
.monthly-event-missions-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0 8px;padding:0 2px}.monthly-event-missions-head div{display:flex;align-items:baseline;gap:8px}.monthly-event-missions-head strong{font-size:1rem}.monthly-event-missions-head span{color:var(--muted);font-size:.66rem}.monthly-event-missions-head>b{padding:4px 9px;border:1px solid var(--border);border-radius:999px;color:#f0bd37;font-size:.72rem}.monthly-event-missions{display:grid;gap:8px}.monthly-mission-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto 34px;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--border);border-radius:9px;background:rgba(0,0,0,.1);color:inherit;text-decoration:none}.monthly-mission-row:hover{border-color:rgba(240,189,55,.42);background:rgba(255,255,255,.025)}.monthly-mission-row.is-complete{border-color:rgba(74,178,96,.48);background:rgba(34,107,55,.13)}.monthly-mission-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.035);font-size:1.05rem}.monthly-mission-copy{min-width:0}.monthly-mission-copy small{display:block;color:#f0bd37;font-size:.58rem;font-weight:900;text-transform:uppercase}.monthly-mission-copy strong{display:block;margin:2px 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.monthly-mission-progress{display:block;height:6px;overflow:hidden;border-radius:99px;background:rgba(0,0,0,.3)}.monthly-mission-progress i{display:block;height:100%;border-radius:inherit;background:#d7a827}.monthly-mission-row.is-complete .monthly-mission-progress i{background:#48a85f}.monthly-mission-count{min-width:54px;text-align:right;font-size:.74rem;font-weight:900;font-variant-numeric:tabular-nums}.monthly-mission-state{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.04);color:#f0bd37;font-weight:900}.monthly-mission-row.is-complete .monthly-mission-state{background:rgba(72,168,95,.18);color:#75dc8a}.monthly-event-note{margin-top:11px;padding:8px 10px;border-left:3px solid #c79728;background:rgba(0,0,0,.08);color:var(--muted);font-size:.64rem;line-height:1.45}
@media(max-width:700px){.daily-hub-tabs{margin-bottom:9px}.daily-hub-tabs a{min-height:36px;padding:6px 8px;font-size:.76rem}.monthly-event-shell{padding:12px}.monthly-event-head{display:grid;gap:10px}.monthly-event-head h1{font-size:1.35rem}.monthly-event-reset{width:100%;box-sizing:border-box;text-align:left}.monthly-event-reward{grid-template-columns:54px minmax(0,1fr);gap:10px;padding:11px}.monthly-event-chest{width:50px;height:50px;font-size:1.6rem}.monthly-event-reward-copy>strong{font-size:.78rem;line-height:1.3}.monthly-event-claim{grid-column:1/-1;min-width:0}.monthly-event-claim button{width:100%}.monthly-event-missions-head{align-items:flex-start}.monthly-event-missions-head div{display:block}.monthly-mission-row{grid-template-columns:36px minmax(0,1fr) auto 28px;gap:7px;padding:9px 8px}.monthly-mission-icon{width:32px;height:32px}.monthly-mission-copy strong{font-size:.68rem}.monthly-mission-count{min-width:42px;font-size:.66rem}.monthly-mission-state{width:24px;height:24px}.monthly-event-note{font-size:.6rem}}
