/* Underworld v0.1 — inspired by the visual language of ParkPulse Dark Mode */
:root{--bg:#0c1420;--surface:#151f2e;--surface2:#182a40;--header:#081d37;--line:#2a384b;--text:#e9eef5;--muted:#aeb9c8;--blue:#58a8f3;--yellow:#ffc928;--green:#22a06b;--red:#d74747}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:150px;background:var(--header);display:flex;align-items:center;justify-content:center}.brand{display:flex;gap:18px;align-items:center}.mark{width:72px;height:72px;border:3px solid var(--yellow);border-radius:18px;display:grid;place-items:center;color:var(--yellow);font-size:42px;font-weight:900;box-shadow:0 0 35px #ffc92822}.brand strong{font-size:30px;letter-spacing:.12em}.brand small{display:block;color:var(--muted);font-weight:800;letter-spacing:.15em;margin-top:5px}.main-nav{background:var(--yellow);color:#0a2447;position:sticky;top:0;z-index:10;box-shadow:0 3px 12px #0005}.nav-inner{max-width:1180px;margin:auto;min-height:58px;display:flex;align-items:center;gap:4px;padding:0 18px;overflow:auto}.nav-inner a,.welcome{font-weight:900;font-size:12px;letter-spacing:.04em;padding:20px 10px;white-space:nowrap}.nav-inner a:hover{background:#ffffff22}.spacer{flex:1}.register{background:#0a2447!important;color:white;border-radius:8px;padding:11px 15px!important}.page-shell{max-width:1180px;margin:auto;padding:42px 20px 70px}.hero{margin-bottom:26px}.eyebrow{color:var(--yellow);font-weight:900;font-size:12px;letter-spacing:.14em}.hero h1{margin:7px 0;font-size:34px}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 8px 24px #0003}.stat b{font-size:25px;display:block;margin-top:7px}.stat small{color:var(--muted);font-weight:700}.two{display:grid;grid-template-columns:2fr 1fr;gap:22px;margin-top:22px}.panel h2{margin-top:0}.progress{height:10px;background:#0b121c;border-radius:20px;overflow:hidden;margin:10px 0}.progress i{display:block;height:100%;background:var(--yellow)}.button,button{border:0;border-radius:8px;background:var(--yellow);color:#0a2447;font-weight:900;padding:11px 15px;cursor:pointer}.button.secondary{background:var(--surface2);color:var(--text);border:1px solid var(--line)}input,select{width:100%;background:#0e1724;border:1px solid var(--line);border-radius:8px;color:var(--text);padding:12px;margin:6px 0 14px}label{font-size:13px;font-weight:800;color:var(--muted)}.auth{max-width:520px;margin:25px auto}.flash{padding:14px 16px;border-radius:9px;margin-bottom:20px;background:#163826;border:1px solid #245f40}.flash.err{background:#3b191d;border-color:#713039}.crime{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.crime:last-child{border:0}.crime h3{margin:0 0 5px}.tag{font-size:11px;font-weight:900;border-radius:20px;padding:5px 8px;background:var(--surface2);color:var(--yellow)}table{width:100%;border-collapse:collapse}th{text-align:left;background:#0a2447;color:var(--yellow);padding:12px}td{padding:12px;border-bottom:1px solid var(--line)}footer{text-align:center;padding:30px;color:var(--muted);border-top:1px solid var(--line)}.danger{color:#ff7b7b}.good{color:#5bd39b}@media(max-width:800px){.grid{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.site-header{height:120px}.brand strong{font-size:23px}}@media(max-width:480px){.grid{grid-template-columns:1fr}.brand small{font-size:9px}.brand .mark{width:56px;height:56px}.page-shell{padding:28px 14px}}
/* ProCrime v0.2 — Criminal Life */
.garage-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.garage-item:last-child{border:0}.garage-item small{display:block;color:var(--muted);margin-top:4px}button:disabled{opacity:.45;cursor:not-allowed}.status-strip{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.status-pill{background:var(--surface2);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.status-pill.alert{border-color:var(--red);color:#ff9292}
/* ProCrime v0.3 — Rank Progression */
.rank-panel{margin-top:22px}.rank-line{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.rank-line h2{margin:5px 0 0}.rank-line small,.cooldown-box small{color:var(--yellow);font-weight:900;letter-spacing:.1em}.cooldown-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface2);border:1px solid var(--yellow);border-radius:12px;padding:14px 18px;margin:0 0 18px}.cooldown-box b{font-size:24px;color:var(--yellow);font-variant-numeric:tabular-nums}.cooldown-box span{color:var(--muted)}.cooldown-box.ready{border-color:var(--green)}.cooldown-box.ready b{color:#5bd39b}@media(max-width:480px){.rank-line{align-items:flex-start;flex-direction:column}.cooldown-box{align-items:flex-start;flex-direction:column;gap:5px}}
/* ProCrime v0.4 — Rank Unlocks & Admin Control */
.crime.locked{opacity:.58}.crime.locked h3{color:var(--muted)}.lock-tag{color:#d5dce6;background:#263140}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.admin-tabs a{padding:11px 15px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-weight:900;font-size:12px}.admin-tabs a.active{background:var(--yellow);color:#0a2447;border-color:var(--yellow)}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.field-note{display:flex;gap:8px;align-items:center;font-weight:700;margin-top:-7px;margin-bottom:14px}.field-note input{width:auto;margin:0}.table-wrap{overflow-x:auto}.table-wrap table{min-width:780px}.admin-editor{margin-bottom:22px}@media(max-width:650px){.admin-form-grid{grid-template-columns:1fr}}
/* ProCrime v0.5 — Crime Expansion, Objectives & Mailbox */
textarea{width:100%;min-height:130px;resize:vertical;background:#0e1724;border:1px solid var(--line);border-radius:8px;color:var(--text);padding:12px;margin:6px 0 14px;font:inherit}.nav-badge{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:20px;background:#0a2447;color:var(--yellow);font-size:10px}.mail-list{display:flex;flex-direction:column}.mail-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.mail-row small{display:block;color:var(--muted);margin-top:4px}.mail-row.unread b{color:var(--yellow)}.mail-view{margin-top:22px}.mail-view>small{color:var(--yellow);font-weight:900}.objective-grid{grid-template-columns:repeat(2,1fr)}.admin-content-row{padding:20px 0;border-bottom:1px solid var(--line)}.admin-content-row:last-child{border:0}@media(max-width:650px){.objective-grid{grid-template-columns:1fr}}
/* ProCrime v0.6 — Two-sided navigation, Slots & Economy */
.menu-frame{height:10px;background:var(--yellow);box-shadow:0 3px 12px #0005}.app-layout{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:210px minmax(0,1fr) 210px;align-items:start}.app-layout .page-shell{width:100%;max-width:none;min-width:0}.side-nav{position:sticky;top:18px;margin-top:28px;background:var(--surface);border:1px solid var(--line);overflow:hidden;box-shadow:0 8px 24px #0003}.left-nav{border-radius:0 14px 14px 0;border-left:4px solid var(--yellow)}.right-nav{border-radius:14px 0 0 14px;border-right:4px solid var(--yellow)}.side-nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 16px;border-bottom:1px solid var(--line);font-size:12px;font-weight:900;letter-spacing:.04em}.side-nav a:hover{background:var(--surface2);color:var(--yellow)}.side-title{padding:10px 16px;background:#0a2447;color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.13em}.side-user{padding:18px 16px;background:var(--surface2);display:flex;flex-direction:column;gap:3px}.side-user small{color:var(--yellow);font-weight:900;font-size:9px;letter-spacing:.12em}.side-user b{font-size:17px}.side-user span{font-size:12px;color:var(--muted)}.guest-nav{background:var(--yellow);color:#0a2447}.guest-nav>div{max-width:1180px;margin:auto;min-height:52px;display:flex;align-items:center;gap:8px;padding:0 18px}.guest-nav span{flex:1}.guest-nav a{font-weight:900;font-size:12px;padding:15px 10px}.casino-layout{grid-template-columns:2fr 1fr}.slot-machine{border-color:#7d6720}.slot-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:var(--muted);font-weight:900}.slot-top b{color:var(--yellow);font-size:22px}.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.reel{min-height:100px;display:grid;place-items:center;background:#09111b;border:2px solid var(--yellow);border-radius:12px;font-size:18px;font-weight:1000;letter-spacing:.04em;box-shadow:inset 0 0 25px #0008}.slot-result{text-align:center;font-size:17px;font-weight:900;padding:10px 0 18px}.spin-button{width:100%;font-size:16px;letter-spacing:.12em}.economy-grid{margin-bottom:22px}@media(max-width:1100px){.app-layout{grid-template-columns:175px minmax(0,1fr) 175px}.page-shell{padding-left:16px;padding-right:16px}.side-nav a{padding:12px 11px}}@media(max-width:850px){.menu-frame{height:7px}.app-layout{display:block}.side-nav{position:static;margin:0;border-radius:0;border-left:0;border-right:0;display:flex;overflow-x:auto;background:var(--surface)}.side-nav .side-title,.side-user{display:none}.side-nav a{flex:0 0 auto;border-bottom:0;border-right:1px solid var(--line);padding:13px 15px}.right-nav{border-top:1px solid var(--yellow);margin-top:0}.left-nav{border-bottom:1px solid var(--yellow)}.app-layout .page-shell{padding-top:28px}.casino-layout{grid-template-columns:1fr}}@media(max-width:480px){.reel{min-height:78px;font-size:14px}.economy-grid{grid-template-columns:1fr 1fr}}
/* v0.7 collapsible side navigation */
.nav-toggle{width:100%;border:0;border-radius:0;margin:0;text-align:left;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:inherit}.nav-toggle b{font-size:15px}.nav-group.collapsed .nav-items{display:none}.nav-items{display:block}.family-badge{display:inline-flex;padding:5px 9px;border:1px solid var(--yellow);border-radius:999px;color:var(--yellow);font-size:11px;font-weight:900}.family-actions{display:flex;gap:8px;flex-wrap:wrap}.family-member{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.family-member:last-child{border-bottom:0}.family-member form{display:flex;gap:6px;align-items:center}.family-member select{margin:0}.oc-card{border-left:4px solid var(--yellow)}
@media(max-width:850px){.side-nav{display:block;overflow:visible}.side-nav .side-title{display:flex}.side-user{display:none}.nav-items{display:flex;overflow-x:auto}.nav-group.collapsed .nav-items{display:none}.nav-toggle{min-height:36px}.right-nav{margin-top:0}}
/* ProCrime v0.7.1 — Jail & translation polish */
.jail-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.jail-status-grid .panel{padding:16px}.jail-status-grid .jail-clock{font-size:30px}.jail-status-grid .jail-status h2,.jail-status-grid .jail-action h2{font-size:20px}.jail-status-grid .jail-action p,.jail-status-grid .jail-status p{font-size:12px}.jail-status{border-top:3px solid var(--green)}.jail-status.jailed{border-top-color:var(--red)}.jail-status small,.jail-action small,.jail-heading small{color:var(--yellow);font-weight:900;letter-spacing:.11em;font-size:10px}.jail-status h2,.jail-action h2{margin:8px 0}.jail-clock{font-size:42px;font-weight:1000;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:#ff7b7b;margin:10px 0}.jail-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.jail-heading h2{margin:5px 0 0}.jail-heading>b{color:var(--yellow)}.sentence-timer{display:inline-block;min-width:62px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--yellow)}.jail-table form{margin:0}.jail-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 15px;background:var(--surface2);border:1px dashed var(--line);border-radius:10px}.jail-empty span{color:var(--muted);margin-top:5px}@media(max-width:900px){.jail-status-grid{grid-template-columns:1fr 1fr}.jail-clock{font-size:34px}}@media(max-width:560px){.jail-status-grid{grid-template-columns:1fr}.jail-status-grid .panel{padding:18px}}

/* v0.7.2 — restore prominent crime/car-theft cooldown cards */
.cooldown-card{position:relative;display:grid;grid-template-columns:52px 1fr;align-items:center;gap:14px;overflow:hidden;padding:16px 18px 20px;border:1px solid rgba(255,210,0,.75);border-left:5px solid var(--yellow);background:linear-gradient(135deg,var(--surface2),rgba(255,210,0,.055));box-shadow:0 8px 24px rgba(0,0,0,.18)}
.cooldown-card .cooldown-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:var(--yellow);color:#0b1b2c;font-size:23px;box-shadow:0 0 0 4px rgba(255,210,0,.08)}
.cooldown-card .cooldown-copy{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:14px;row-gap:2px}
.cooldown-card .cooldown-copy small{grid-column:1/-1}.cooldown-card .cooldown-time{font-size:30px;line-height:1.05;letter-spacing:.07em}.cooldown-card .cooldown-copy span{font-size:13px}
.cooldown-card .cooldown-meter{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.06)}
.cooldown-card .cooldown-meter i{display:block;width:100%;height:100%;background:var(--yellow);animation:pcCooldownPulse 1.8s ease-in-out infinite;transform-origin:left}
@keyframes pcCooldownPulse{0%,100%{opacity:.55}50%{opacity:1}}
@media(max-width:560px){.cooldown-card{grid-template-columns:42px 1fr}.cooldown-card .cooldown-icon{width:38px;height:38px;font-size:19px}.cooldown-card .cooldown-copy{grid-template-columns:1fr}.cooldown-card .cooldown-time{font-size:26px}}

/* ProCrime v0.7.6 — Garage & gameplay polish */
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head h2{margin:0 0 5px}.garage-stats{grid-template-columns:repeat(3,1fr);margin-bottom:22px}.garage-tools{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:14px;background:var(--surface2);border:1px solid var(--line);border-radius:10px;margin-bottom:18px}.garage-tools label{margin:0;min-width:180px}.garage-tools select{margin-bottom:0}.garage-list-head{display:flex;justify-content:space-between;align-items:center;padding:10px 0 14px;border-bottom:1px solid var(--line)}.garage-list-head label{margin:0;display:flex;align-items:center;gap:8px}.garage-list-head input,.garage-check input{width:auto;margin:0}.garage-vehicle{display:grid;grid-template-columns:28px 52px minmax(0,1fr) 150px auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.garage-car-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:10px;background:#0a2447;border:1px solid #29415e;font-size:24px}.garage-car-main{display:flex;flex-direction:column;gap:4px}.garage-car-main span,.garage-value small{color:var(--muted);font-size:11px}.garage-value{text-align:right}.garage-value b{display:block;color:var(--yellow);font-size:17px}.garage-empty{text-align:center;padding:38px 15px;border:1px dashed var(--line);border-radius:10px;background:var(--surface2);display:flex;flex-direction:column;align-items:center;gap:9px}.garage-empty span{color:var(--muted)}.slot-symbol{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 5px 8px #0008)}.reel-idle{color:var(--yellow);font-size:42px}.slot-payline{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.slot-payline span{display:flex;align-items:center;gap:10px;font-weight:900}.slot-payline .slot-symbol{width:30px;height:30px}.slot-payline b{color:var(--yellow)}@media(max-width:700px){.garage-stats{grid-template-columns:1fr}.garage-vehicle{grid-template-columns:24px 44px 1fr auto}.garage-value{grid-column:3/5;text-align:left}.section-head{align-items:flex-start;flex-direction:column}.slot-symbol{width:54px;height:54px}}

/* v0.7.8 Slots, Jail & Mailbox polish */
.slot-bet-input{font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}.slot-bet-hint{margin:-7px 0 14px;color:var(--muted);font-size:11px}.reel.spinning{animation:slotShake .14s linear infinite;box-shadow:inset 0 0 30px #000b,0 0 18px #f4c54233}.reel.landed{animation:slotLand .28s ease-out}.slot-result{transition:opacity .2s ease,transform .2s ease}.slot-result.slot-result-wait{opacity:.15;transform:translateY(4px)}@keyframes slotShake{0%{transform:translateY(-3px)}50%{transform:translateY(3px)}100%{transform:translateY(-3px)}}@keyframes slotLand{0%{transform:scale(1.08)}60%{transform:scale(.97)}100%{transform:scale(1)}}
.side-nav a.mailbox-alert{background:#260d12;border-left:3px solid #7f2633;box-shadow:inset 0 0 18px #7f26331c}.side-nav a.mailbox-alert:hover{background:#321017}.mailbox-notice{display:inline-flex;align-items:center;gap:5px;margin-left:auto}.mailbox-notice i{width:9px;height:9px;border-radius:50%;background:#e43d4f;box-shadow:0 0 0 3px #e43d4f20,0 0 9px #e43d4f88}.mailbox-notice b{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#6e1825;color:#fff;font-size:10px}
.jail-hero{position:relative;overflow:hidden}.jail-hero:after{content:' ';position:absolute;right:28px;top:18px;width:74px;height:74px;border:8px solid #ffffff08;border-top-color:#f4c54220;border-radius:50%}.jail-status-grid .panel{position:relative;overflow:hidden}.jail-status-grid .panel:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--yellow),transparent)}.jail-status.jailed{background:linear-gradient(145deg,#211015,var(--surface) 62%)}.jail-status.free{background:linear-gradient(145deg,#102019,var(--surface) 62%)}.jail-action button{width:100%}.jail-population-panel{border-top:2px solid #263b53}.jail-table tr:not(:first-child):hover{background:#ffffff03}.jail-info-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:18px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.jail-info-strip>div{background:var(--surface);padding:16px;text-align:center;display:flex;flex-direction:column;gap:4px}.jail-info-strip b{color:var(--yellow);font-size:17px}.jail-info-strip span{font-size:10px;color:var(--muted);font-weight:800}@media(max-width:700px){.jail-info-strip{grid-template-columns:1fr 1fr}}

/* ProCrime v0.7.9 — reusable status/progress bars */
.pc-status-panel{margin-bottom:22px;border-top:2px solid var(--yellow)}.pc-status-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.pc-status-head small{color:var(--yellow);font-weight:900;letter-spacing:.12em;font-size:10px}.pc-status-head h2{margin:5px 0 0}.pc-status-head>span{padding:6px 10px;border-radius:999px;background:#0a2447;border:1px solid #29415e;color:var(--yellow);font-size:11px;font-weight:900}.pc-progress-row{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:15px;padding:12px 0;border-top:1px solid var(--line)}.pc-progress-label{display:flex;justify-content:space-between;gap:10px;align-items:center}.pc-progress-label b{font-size:13px}.pc-progress-label span{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.pc-progress-track{height:24px;position:relative;overflow:hidden;border-radius:5px;background:#09111b;border:1px solid #34445a;box-shadow:inset 0 2px 7px #0009}.pc-progress-track i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#b78a08,var(--yellow));box-shadow:inset 0 1px #fff4;transition:width .35s ease}.pc-progress-track i:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,#ffffff12 0 7px,transparent 7px 14px)}.pc-progress-track.health i{background:linear-gradient(90deg,#16704c,#28b779)}.pc-progress-track strong{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;letter-spacing:.03em;text-shadow:0 1px 3px #000;font-variant-numeric:tabular-nums}.slot-symbol{display:block}.slot-reel-result .slot-symbol{will-change:transform}.reel.spinning .slot-symbol{transform:translateZ(0)}@media(max-width:650px){.pc-progress-row{grid-template-columns:1fr;gap:7px}}

/* v0.7.10: slot reels keep every graphic mounted; animation only switches visibility. */
.slot-symbol-stack{position:relative;width:68px;height:68px;display:block}.slot-stack-item{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none}.slot-stack-item.is-active{opacity:1;visibility:visible}.slot-symbol-stack .slot-symbol{width:68px;height:68px}.reel.spinning .slot-stack-item.is-active{animation:slotSymbolPulse .12s linear}.reel-idle .slot-symbol-stack{width:68px;height:68px}@keyframes slotSymbolPulse{0%{transform:translateY(-5px);opacity:.55}100%{transform:translateY(0);opacity:1}}@media(max-width:700px){.slot-symbol-stack,.reel-idle .slot-symbol-stack{width:54px;height:54px}.slot-symbol-stack .slot-symbol{width:54px;height:54px}}

/* v0.7.11 Dashboard spacing & Slots reveal fix */
.grid + .pc-status-panel{margin-top:22px}.slot-result.slot-result-wait{visibility:hidden;opacity:0;transform:translateY(4px)}

/* v0.8 — Driving, rank meaning & Families 2.0 */
.pc-progress-track.driving i{background:linear-gradient(90deg,#176a8c,#35bce8)}.driving-panel{border-top:2px solid #35bce8}.theft-main-button{width:100%;min-height:58px;font-size:16px;letter-spacing:.06em}.driving-levels{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.driving-level{padding:14px;border:1px solid var(--line);border-radius:9px;background:#0a1420;display:flex;flex-direction:column;gap:5px}.driving-level b{color:var(--yellow);font-size:12px}.driving-level span{font-size:10px;color:var(--muted)}.driving-level.locked{opacity:.45;filter:grayscale(.6)}.rank-unlocks{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.rank-unlocks span{padding:6px 9px;border:1px solid #34445a;border-radius:999px;background:#0a1420;font-size:10px;font-weight:800}.family-profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.family-activity{display:grid;gap:8px}.family-activity-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.family-activity-item small{color:var(--muted)}.family-activity-item strong{color:var(--yellow)}@media(max-width:800px){.driving-levels{grid-template-columns:1fr 1fr}.family-profile-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.driving-levels,.family-profile-grid{grid-template-columns:1fr}}

/* v0.8.2 — Car Theft Expansion */
.theft-result{margin-bottom:22px;overflow:hidden}.theft-result-grid{display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(260px,.75fr);gap:24px;align-items:center}.theft-car-image{width:100%;display:block;border-radius:14px;border:1px solid rgba(241,194,50,.25);background:#06101a}.theft-result h2{font-size:2rem;margin:.25rem 0 .6rem}.rarity{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:.75rem;font-weight:900;letter-spacing:.08em;border:1px solid #56616a}.rarity-rare{border-color:#3999ff}.rarity-epic{border-color:#b565ff}.rarity-legendary,.rarity-master{border-color:#f1c232;color:#f1c232;box-shadow:0 0 18px rgba(241,194,50,.12)}.theft-details{display:grid;gap:8px;margin:18px 0}.theft-details span{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)}.garage-car-thumb{width:116px;height:66px;object-fit:cover;border-radius:9px;border:1px solid rgba(241,194,50,.2)}@media(max-width:760px){.theft-result-grid{grid-template-columns:1fr}.garage-car-thumb{width:82px;height:52px}}

/* v0.8.2.2 — Car Theft UI & Cooldown Polish */
.theft-action-panel{margin-top:22px}
.theft-result.theft-fail{background:#260d12;border-color:#7f2633;border-left:4px solid #7f2633;box-shadow:inset 0 0 22px #7f26331c,0 8px 24px rgba(0,0,0,.18)}
.theft-result.theft-fail small,.theft-result.theft-fail h2{color:#fff}
.theft-result.theft-fail .muted{color:#d6aab1}
.cooldown-theft{margin:18px 0 0}

/* v0.8.3 Crime Progression */
.crime-overview-grid + .crime-action-panel{margin-top:22px}.crime-main-button{width:100%;min-height:58px;font-size:16px;letter-spacing:.06em}.crime-result{margin-bottom:22px;overflow:hidden}.crime-result h2{font-size:2rem;margin:.25rem 0 .6rem}.crime-result-details{display:grid;gap:8px;margin-top:18px}.crime-result-details span{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)}.crime-result.crime-fail{background:#260d12;border-color:#7f2633;border-left:4px solid #7f2633;box-shadow:inset 0 0 22px #7f26331c,0 8px 24px rgba(0,0,0,.18)}.crime-result.crime-fail small,.crime-result.crime-fail h2{color:#fff}.crime-result.crime-fail .muted{color:#d6aab1}.criminal-skill-panel{margin-top:22px;border-top:2px solid #a86df0}.pc-progress-track.criminal i{background:linear-gradient(90deg,#6d36a3,#a86df0)}

/* v0.8.4 — Percentage Rank Progression & Driving Lesson Polish */
.driving-lesson-panel,.driving-panel,.driving-levels-panel{margin-bottom:22px}
.driving-levels-panel{margin-bottom:0}
.cooldown-driving{margin:22px 0 0}
.crime-action-panel .cooldown-crime{margin-top:22px}

/* v0.8.5 — Dynamic progress colours & Garage polish */
.pc-progress-track.progress-red i,.garage-condition-track.progress-red i{background:linear-gradient(90deg,#7f2633,#c33b4d)}
.pc-progress-track.progress-orange i,.garage-condition-track.progress-orange i{background:linear-gradient(90deg,#a95513,#e98324)}
.pc-progress-track.progress-yellow i,.garage-condition-track.progress-yellow i{background:linear-gradient(90deg,#b78a08,var(--yellow))}
.pc-progress-track.progress-green i,.garage-condition-track.progress-green i{background:linear-gradient(90deg,#16704c,#28b779)}
.garage-stats+.panel{margin-top:0}.garage-list{display:grid;gap:12px;margin-top:14px}.garage-list-head{padding:0 0 14px}.garage-vehicle{grid-template-columns:28px 150px minmax(220px,1fr) 170px auto;gap:18px;padding:14px;background:#0a1420;border:1px solid var(--line);border-radius:12px;transition:border-color .18s ease,transform .18s ease}.garage-vehicle:hover{border-color:#465a73;transform:translateY(-1px)}.garage-media{width:150px;height:88px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#06101a}.garage-car-thumb{width:150px;height:88px;object-fit:cover;border-radius:10px;border:1px solid rgba(241,194,50,.2)}.garage-car-icon{width:100%;height:100%;border-radius:10px}.garage-car-main{gap:8px}.garage-car-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.garage-car-title>b{font-size:16px}.garage-car-main>small{color:var(--muted);font-size:10px}.garage-condition{display:grid;gap:5px;max-width:330px}.garage-condition>span{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.garage-condition>span b{color:#fff}.garage-condition-track{height:8px;overflow:hidden;border-radius:999px;background:#07101a;border:1px solid #34445a}.garage-condition-track i{display:block;height:100%}.garage-value span{display:block;margin-top:4px;color:var(--muted);font-size:10px}.garage-sell{min-width:92px}.garage-tools{margin-top:4px}.garage-empty{margin-top:14px}@media(max-width:900px){.garage-vehicle{grid-template-columns:26px 120px minmax(0,1fr) auto}.garage-media,.garage-car-thumb{width:120px;height:72px}.garage-value{grid-column:3/4;text-align:left}.garage-sell{grid-column:4;grid-row:2}}@media(max-width:620px){.garage-vehicle{grid-template-columns:24px 1fr auto}.garage-media{grid-column:2/4;width:100%;height:auto;aspect-ratio:16/7}.garage-car-thumb{width:100%;height:100%}.garage-car-main{grid-column:2/4}.garage-value{grid-column:2/3}.garage-sell{grid-column:3;grid-row:auto}.garage-check{grid-row:1/4;align-self:start}}

/* v0.8.6 — Progress & Crime Result Polish */
.pc-progress-track strong{z-index:2;color:#fff;font-weight:900;text-shadow:0 1px 4px #000,0 0 3px #000;font-size:11px}
.theft-result.theft-win,.crime-result.crime-win{background:#10291e;border-color:#245f40;border-left:4px solid #2c8a5c;box-shadow:inset 0 0 22px rgba(34,160,107,.10),0 8px 24px rgba(0,0,0,.18)}
.theft-result.theft-win small,.crime-result.crime-win small{color:#5bd39b}
.action-page-hero{margin-top:0;padding-top:0}

/* ProCrime v0.8.7 — page alignment & mailbox polish */
.mailbox-shell .hero{margin-bottom:22px}.mailbox-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.mailbox-tabs a{padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:12px;font-weight:900}.mailbox-tabs a.active{background:var(--yellow);border-color:var(--yellow);color:#0a2447}.mailbox-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);gap:22px}.mailbox-panel{padding:0;overflow:hidden}.mailbox-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);background:#101c2b}.mailbox-panel-head h2{margin:0}.mailbox-panel-head span{font-size:11px;color:var(--muted);font-weight:800}.mail-list{display:flex;flex-direction:column}.mail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid var(--line);transition:background .16s ease,border-color .16s ease}.mail-row:last-child{border-bottom:0}.mail-row:hover{background:var(--surface2)}.mail-row.unread{background:#260d12;border-left:4px solid #7f2633;padding-left:16px}.mail-row.unread:hover{background:#321017}.mail-row-title{display:flex;align-items:center;gap:8px;min-width:0}.mail-row-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-row.unread .mail-row-title b{color:#fff}.mail-row-meta{display:flex;gap:7px;align-items:center;margin-top:5px;color:var(--muted);font-size:11px}.mail-new-dot{width:8px;height:8px;border-radius:50%;background:#e43d4f;box-shadow:0 0 8px #e43d4f88;flex:0 0 auto}.mail-date{font-size:10px;color:var(--muted);white-space:nowrap}.mail-empty{padding:38px 20px;text-align:center;color:var(--muted)}.mail-compose h2{margin-bottom:5px}.mail-compose>p{margin-top:0}.mail-compose button{width:100%;min-height:44px}.mail-view{margin-top:22px;border-left:4px solid var(--yellow)}.mail-view-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:16px}.mail-view-head small{color:var(--yellow);font-weight:900;letter-spacing:.08em}.mail-view-head h2{margin:5px 0 0}.mail-view-body{line-height:1.65;overflow-wrap:anywhere}.mail-system{display:inline-flex;padding:4px 8px;border:1px solid rgba(255,201,40,.35);border-radius:999px;color:var(--yellow);font-size:9px;font-weight:900;letter-spacing:.08em}.mailbox-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--surface2);color:var(--yellow);font-size:10px;font-weight:900}@media(max-width:850px){.mailbox-layout{grid-template-columns:1fr}.mailbox-compose{order:-1}}@media(max-width:520px){.mail-row{grid-template-columns:1fr}.mail-date{justify-self:start}.mailbox-panel-head{align-items:flex-start;flex-direction:column}}

/* v0.8.7.2 — Dashboard-exact action page alignment + Driving progress */
.dashboard-aligned-page{padding-top:42px}
.dashboard-aligned-page>.hero{margin-top:0;padding-top:0;transform:none}.dashboard-aligned-page>.hero>.eyebrow{margin-top:0;padding-top:0;display:block;line-height:1.2}
.dashboard-aligned-page>.flash{position:fixed;z-index:50;top:18px;left:50%;transform:translateX(-50%);width:min(620px,calc(100vw - 28px));margin:0;box-shadow:0 12px 35px #0008}
.driving-progress-panel{margin-top:22px;border-top:2px solid #35bce8}
.driving-progress-panel .pc-progress-label{margin-bottom:9px}
@media(max-width:850px){.dashboard-aligned-page{padding-top:28px}}
@media(max-width:480px){.dashboard-aligned-page{padding-top:28px}}
/* v0.9 — Profiles & Admin Overhaul */
.admin-kpis{margin-bottom:22px}.admin-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}.admin-section-head small,.profile-about>small,.profile-side>small{color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.12em}.admin-section-head h2{margin:4px 0 0}.admin-feed-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--line)}a.admin-feed-row:hover b,.admin-player-link:hover{color:var(--yellow)}.admin-feed-row span{display:grid;gap:3px}.admin-feed-row small,.admin-feed-row time{color:var(--muted);font-size:10px}.admin-head-actions{display:flex;gap:8px;flex-wrap:wrap}.danger-button{background:#40171c;color:#ff9ba5;border:1px solid #713039}.profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:22px;border-top:3px solid var(--yellow)}.profile-avatar{width:88px;height:88px;border-radius:18px;display:grid;place-items:center;background:#0a2447;border:2px solid var(--yellow);color:var(--yellow);font-size:38px;font-weight:900;box-shadow:0 0 28px #ffc92818}.profile-identity h1{margin:5px 0 7px;font-size:34px}.profile-identity p{margin:0 0 9px;color:var(--muted)}.profile-admin-badge{display:inline-flex;vertical-align:middle;margin-left:8px;padding:4px 7px;border-radius:999px;background:var(--yellow);color:#0a2447;font-size:9px;letter-spacing:.08em}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.profile-about{margin-bottom:22px}.profile-about h2,.profile-side h2{margin:5px 0 12px}.profile-about p{line-height:1.65;margin-bottom:0}.profile-stats{margin-bottom:22px}.profile-side{align-self:start}.profile-detail,.profile-skill-row{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.profile-detail span,.profile-skill-row span{color:var(--muted);font-size:12px}.profile-detail b,.profile-skill-row b{font-size:12px;text-align:right}.profile-private{margin-top:22px;border-left:4px solid var(--line)}.profile-edit{margin-top:22px}.profile-edit form{max-width:720px}.profile-privacy{display:flex;align-items:flex-start;gap:10px;margin:4px 0 18px;padding:13px;border:1px solid var(--line);border-radius:9px;background:#0e1724}.profile-privacy input{width:auto;margin:2px 0 0}.profile-privacy span{display:grid;gap:4px}.profile-privacy small{font-weight:500;color:var(--muted)}@media(max-width:900px){.admin-dashboard-grid,.profile-layout{grid-template-columns:1fr}.profile-side{order:-1}.profile-hero{grid-template-columns:auto 1fr}.profile-actions{grid-column:1/-1}.profile-actions .button{display:block;text-align:center}}@media(max-width:600px){.profile-hero{grid-template-columns:1fr;text-align:center}.profile-avatar{margin:auto}.profile-identity h1{font-size:28px}.admin-section-head{align-items:flex-start;flex-direction:column}}


/* ProCrime v0.9.4 — Objectives, Hospital & Travel Polish */
.objectives-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:0;overflow:hidden;margin-bottom:28px;background:var(--line)}.objectives-overview>div{background:var(--surface);padding:18px 20px;display:grid;gap:4px}.objectives-overview small,.objective-section .section-head small,.hospital-main small,.hospital-treatment>small,.travel-current small,.travel-section-head small,.travel-price small{color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.11em}.objectives-overview b{font-size:25px}.objectives-overview span{color:var(--muted);font-size:11px}.objective-section{margin-bottom:28px}.objective-section .section-head{padding-bottom:12px;border-bottom:1px solid var(--line)}.objective-section .section-head h2{margin:4px 0 0}.objective-reset{font-size:10px;color:var(--muted);font-weight:800}.objective-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.objective-card{position:relative;display:flex;flex-direction:column;border-top:3px solid #38506a}.objective-card.ready{border-top-color:var(--yellow);box-shadow:inset 0 18px 35px rgba(255,201,40,.025)}.objective-card.completed{border-top-color:#28b779}.objective-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.objective-type,.objective-state{font-size:9px;font-weight:900;letter-spacing:.09em}.objective-type{color:var(--yellow)}.objective-state{padding:5px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.objective-card.ready .objective-state{color:var(--yellow);border-color:rgba(255,201,40,.35)}.objective-card.completed .objective-state{color:#5bd39b;border-color:rgba(91,211,155,.3)}.objective-card h3{margin:12px 0 5px}.objective-progress-copy{display:flex;justify-content:space-between;margin-top:auto;padding-top:10px;font-size:11px}.objective-progress-copy span{color:var(--muted)}.objective-progress{margin:7px 0 15px}.objective-reward{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:baseline;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--surface2);margin-bottom:14px}.objective-reward small{grid-column:1/-1;color:var(--muted);font-size:9px;font-weight:900}.objective-reward b{color:var(--yellow);font-size:19px}.objective-reward span{font-size:11px;color:var(--muted)}.objective-card button{width:100%}
.hospital-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:22px}.hospital-main{border-top:3px solid #28b779}.hospital-status-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.hospital-status-head h2{margin:5px 0 0}.hospital-health-number{font-size:38px;font-weight:1000;color:#5bd39b;font-variant-numeric:tabular-nums}.hospital-condition-copy{display:grid;gap:4px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.hospital-condition-copy span{color:var(--muted);font-size:12px}.hospital-treatment{border-top:3px solid var(--yellow)}.hospital-treatment h2{font-size:30px;color:var(--yellow);margin:7px 0}.hospital-treatment-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line);margin-top:15px;font-size:12px}.hospital-treatment-row span{color:var(--muted)}.hospital-treatment form,.hospital-treatment button{width:100%}.hospital-note{display:flex;align-items:center;gap:14px;margin-top:18px;padding:13px 16px;border-left:3px solid #38506a;background:var(--surface2);font-size:11px}.hospital-note b{color:var(--yellow);font-size:9px;letter-spacing:.1em}.hospital-note span{color:var(--muted)}
.travel-current{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;border-left:4px solid var(--yellow);background:linear-gradient(120deg,var(--surface),rgba(255,201,40,.035))}.travel-current h2{margin:5px 0}.travel-current p{margin:0}.travel-current-mark{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(255,201,40,.35);border-radius:999px;color:var(--yellow);font-size:10px;font-weight:900}.travel-current-mark span{font-size:12px}.travel-section-head{margin-top:0}.travel-section-head h2{margin:4px 0 0}.travel-section-head>span{color:var(--muted);font-size:11px}.travel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-card{display:flex;flex-direction:column;min-height:260px;position:relative;overflow:hidden}.travel-card.current{border-color:rgba(255,201,40,.5);background:linear-gradient(145deg,var(--surface),rgba(255,201,40,.04))}.travel-card-top{display:flex;justify-content:space-between;align-items:center}.travel-pin{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#0a2447;color:var(--yellow);font-size:14px}.travel-badge{font-size:9px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.travel-card.current .travel-badge{color:var(--yellow)}.travel-card h3{font-size:22px;margin:14px 0 5px}.travel-card>p{margin:0 0 18px}.travel-price{display:grid;grid-template-columns:1fr auto;align-items:end;margin-top:auto;padding:13px 0;border-top:1px solid var(--line)}.travel-price small{grid-column:1/-1}.travel-price b{font-size:22px;color:var(--yellow)}.travel-price span{color:var(--muted);font-size:10px}.travel-price.current b{color:#5bd39b}.travel-card form,.travel-card button{width:100%}
@media(max-width:800px){.objectives-overview,.objective-grid,.hospital-layout,.travel-grid{grid-template-columns:1fr}.travel-current{align-items:flex-start;flex-direction:column}.hospital-note{align-items:flex-start;flex-direction:column;gap:5px}}@media(max-width:520px){.hospital-status-head{align-items:flex-start}.hospital-health-number{font-size:30px}.objectives-overview>div{padding:15px}.objective-card-head{align-items:flex-start;flex-direction:column}.travel-card{min-height:0}}
/* v0.9.5 Garage repair & individual market polish */
.garage-repair-card{align-items:center}.garage-market-note{font-size:.76rem;color:var(--muted);margin-top:7px}.garage-after-repair{display:block;color:#8ee7a7!important;margin-top:4px;font-weight:700}.garage-actions{display:flex;flex-direction:column;gap:8px;min-width:190px}.garage-actions button{width:100%;white-space:nowrap}.garage-repair{font-size:.78rem}.garage-repaired-tag{display:block;text-align:center;padding:8px 10px;border:1px solid rgba(92,211,122,.35);border-radius:8px;color:#8ee7a7;font-size:.75rem;font-weight:800}.garage-value b{font-size:1rem}.garage-value{min-width:205px}@media(max-width:900px){.garage-actions,.garage-value{min-width:0;width:100%}.garage-repair-card{align-items:stretch}.garage-actions{flex-direction:row;flex-wrap:wrap}.garage-actions button{flex:1 1 160px}}

/* v0.9.5.1 — Garage value/action spacing fix */
.garage-vehicle.garage-repair-card{
  grid-template-columns:28px 150px minmax(250px,1fr) minmax(235px,270px) minmax(220px,250px);
  gap:20px;
}
.garage-repair-card .garage-value{
  min-width:0;
  width:100%;
  text-align:left;
  padding-right:4px;
  overflow:visible;
}
.garage-repair-card .garage-value small,
.garage-repair-card .garage-value b,
.garage-repair-card .garage-value span{
  white-space:normal;
  overflow-wrap:anywhere;
}
.garage-repair-card .garage-value b{font-size:1rem;line-height:1.25;margin-top:2px}
.garage-repair-card .garage-after-repair{line-height:1.35;margin-top:6px}
.garage-repair-card .garage-actions{min-width:0;width:100%;align-self:center}
.garage-repair-card .garage-actions button{min-height:42px;padding:10px 12px;line-height:1.2}
@media(max-width:1180px){
 .garage-vehicle.garage-repair-card{grid-template-columns:28px 135px minmax(220px,1fr) minmax(220px,1fr)}
 .garage-repair-card .garage-media,.garage-repair-card .garage-car-thumb{width:135px;height:80px}
 .garage-repair-card .garage-actions{grid-column:3/5;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .garage-repair-card .garage-repaired-tag{align-self:center}
}
@media(max-width:820px){
 .garage-vehicle.garage-repair-card{grid-template-columns:24px 110px minmax(0,1fr)}
 .garage-repair-card .garage-media,.garage-repair-card .garage-car-thumb{width:110px;height:68px}
 .garage-repair-card .garage-car-main{grid-column:3}
 .garage-repair-card .garage-value{grid-column:2/4;padding:12px 0 0;border-top:1px solid var(--line)}
 .garage-repair-card .garage-actions{grid-column:2/4}
 .garage-repair-card .garage-check{grid-row:1/4;align-self:start}
}
@media(max-width:560px){
 .garage-vehicle.garage-repair-card{grid-template-columns:24px minmax(0,1fr)}
 .garage-repair-card .garage-media{grid-column:2;width:100%;height:auto;aspect-ratio:16/7}
 .garage-repair-card .garage-car-thumb{width:100%;height:100%}
 .garage-repair-card .garage-car-main,.garage-repair-card .garage-value,.garage-repair-card .garage-actions{grid-column:2}
 .garage-repair-card .garage-actions{grid-template-columns:1fr}
 .garage-repair-card .garage-actions button{white-space:normal}
}

/* v0.9.5.2 repair profitability indicator */
.garage-repair-benefit{display:block;margin-top:5px;font-weight:800;font-size:.78rem;line-height:1.25}
.garage-repair-benefit.positive{color:#6ee7a0}
.garage-repair-benefit.negative{color:#ff6b6b}
.garage-repair-benefit.neutral{color:#aeb9c8}

/* v0.10 — Black Market */
.market-hero{border-bottom:2px solid var(--yellow)}.market-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:22px}.market-summary>div{background:var(--surface);padding:16px 18px;display:flex;flex-direction:column;gap:5px}.market-summary small,.market-card small{font-size:10px;font-weight:900;letter-spacing:.1em;color:var(--muted)}.market-summary b{color:var(--yellow);font-size:18px}.market-event{border-left:4px solid var(--yellow);margin-bottom:22px}.market-event small{color:var(--yellow);font-weight:900}.market-event h2{margin:5px 0}.market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}.market-card{display:flex;flex-direction:column;gap:15px}.market-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.market-card h3{margin:3px 0 0;font-size:20px}.market-trend{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#0a1420;border:1px solid var(--line);font-weight:900}.market-trend.up{color:#36c783}.market-trend.down{color:#ef6573}.market-trend.flat{color:var(--muted)}.market-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.market-prices>div{padding:10px;background:#09131f;border:1px solid var(--line);border-radius:8px}.market-prices b{display:block;margin-top:4px;color:var(--yellow);font-size:16px}.market-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.market-actions form{display:grid;grid-template-columns:74px 1fr;gap:7px}.market-actions input{min-width:0}.market-actions button{width:100%}.market-cost{margin:0}.market-info{margin-top:8px}@media(max-width:760px){.market-grid{grid-template-columns:1fr}.market-summary{grid-template-columns:1fr}.market-actions{grid-template-columns:1fr}.market-prices{grid-template-columns:1fr 1fr 1fr}}


/* v0.10.1 — split Drugs/Alcohol markets, one-price trading & city matrix overlay */
.market-toolbar{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:0 0 22px}.market-prices-single{grid-template-columns:2fr 1fr}.market-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:28px}.market-overlay.open{display:flex}.market-overlay-backdrop{position:absolute;inset:0;background:rgba(2,7,13,.88);backdrop-filter:blur(5px)}.market-overlay-panel{position:relative;z-index:1;width:min(1180px,96vw);max-height:88vh;overflow:auto;background:var(--surface);border:1px solid #3c5069;border-top:3px solid var(--yellow);border-radius:14px;padding:22px;box-shadow:0 28px 80px #000b}.market-overlay-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.market-overlay-head small{color:var(--yellow);font-weight:900;letter-spacing:.1em}.market-overlay-head h2{margin:5px 0 0}.market-overlay-close{width:42px;height:42px;padding:0;border-radius:50%;font-size:26px;line-height:1}.market-matrix-wrap{overflow:auto;margin-top:18px;border:1px solid var(--line);border-radius:10px}.market-matrix{width:100%;min-width:760px;border-collapse:collapse}.market-matrix th,.market-matrix td{padding:13px 14px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}.market-matrix th:first-child{text-align:left;position:sticky;left:0;background:#0a1420;z-index:2}.market-matrix thead th{background:#09131f;color:var(--yellow);font-size:11px}.market-matrix thead th small{display:block;margin-top:4px;font-size:8px;color:#fff}.market-matrix .current-city{background:rgba(255,201,40,.08);box-shadow:inset 2px 0 rgba(255,201,40,.35),inset -2px 0 rgba(255,201,40,.35)}.market-matrix td b{color:#fff}.market-matrix-trend{display:inline-block;margin-left:6px;font-size:10px}.market-matrix-trend.up{color:#36c783}.market-matrix-trend.down{color:#ef6573}.market-matrix-trend.flat{color:var(--muted)}body.market-overlay-open{overflow:hidden}@media(max-width:760px){.market-toolbar{align-items:stretch;flex-direction:column}.market-overlay{padding:10px}.market-overlay-panel{padding:15px;max-height:94vh}.market-prices-single{grid-template-columns:1fr 1fr}}


/* ProCrime v0.10.2 — Anti-Bot Check */
.antibot-backdrop{position:fixed;inset:0;z-index:99999;background:rgba(3,7,12,.86);display:grid;place-items:center;padding:20px;backdrop-filter:blur(5px)}
.antibot-modal{width:min(560px,100%);background:#101923;border:1px solid #2c3b49;border-top:4px solid #e5b72e;border-radius:14px;padding:28px;box-shadow:0 22px 70px rgba(0,0,0,.55);color:#f4f6f8}
.antibot-kicker{font-size:12px;letter-spacing:.16em;font-weight:900;color:#e5b72e;margin-bottom:7px}.antibot-modal h2{margin:0 0 8px}.antibot-modal p{color:#aeb9c3}.antibot-form{display:grid;gap:12px;margin-top:20px}.antibot-question{font-size:28px}.antibot-form input{font-size:20px;padding:13px 14px;border-radius:8px;border:1px solid #394b5b;background:#0a1118;color:#fff}.antibot-form button{min-height:46px}
.antibot-slider-wrap{width:min(var(--challenge-width),100%);margin-top:22px}.antibot-slider{height:58px;position:relative;overflow:hidden;border:1px solid #394b5b;border-radius:10px;background:#0a1118;user-select:none;touch-action:pan-y}.antibot-slider>span{position:absolute;inset:0;display:grid;place-items:center;color:#8997a3;font-size:13px;font-weight:800;pointer-events:none}.antibot-slider-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(229,183,46,.13);pointer-events:none}.antibot-handle{position:absolute;z-index:2;left:3px;top:3px;width:50px;height:50px;border:0;border-radius:8px;background:#e5b72e;color:#10151b;font-size:31px;font-weight:900;cursor:grab;touch-action:none}.antibot-handle:active{cursor:grabbing}.antibot-handle:focus-visible{outline:3px solid #fff;outline-offset:2px}.antibot-hint{font-size:12px!important;margin:8px 0 0!important}.antibot-status{min-height:22px;margin-top:12px;font-size:13px;font-weight:800;color:#e5b72e}
@media(max-width:600px){.antibot-modal{padding:20px}.antibot-slider-wrap{width:100%!important}}

/* v0.10.7 — Crimes & Rank Progression finetune */
.crime-rank-summary{display:flex;gap:12px 22px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--border,#243a55);font-size:.92rem}.crime-rank-summary span{color:var(--muted,#9fb0c5)}.crime-rank-summary b{color:inherit;margin-left:4px}

/* v0.10.11 - Car Theft driving licence level blocks */
.theft-driving-levels{margin-top:16px}
.theft-driving-levels .driving-level{border-color:rgba(53,188,232,.48)}.theft-driving-levels .driving-level.current{outline:2px solid rgba(53,188,232,.7);outline-offset:-2px}

/* v0.10.14 — rebuilt full player editor */
.admin-editor-section{margin:28px 0 12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);color:var(--accent,#f2c94c)}
.admin-editor-section:first-of-type{margin-top:18px}
.admin-form-grid .admin-wide{grid-column:1/-1}
.admin-form-grid textarea{width:100%;resize:vertical;min-height:100px}
.admin-check{justify-content:center;min-height:74px}
.admin-check>span{display:flex;align-items:center;gap:9px;font-weight:700}
.admin-check input[type=checkbox]{width:auto;margin:0}
.admin-savebar{position:sticky;bottom:0;margin:28px -22px -22px;padding:16px 22px;background:rgba(7,17,29,.96);border-top:1px solid rgba(255,255,255,.1);z-index:5}
.admin-savebar button{width:100%}

/* v0.10.15 Garage bulk actions + pagination */
.garage-quick-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:-8px 0 18px}.garage-quick-actions form{margin:0}.garage-quick-actions button{min-width:210px}.garage-sell-all{border-color:rgba(255,107,107,.45)}
.garage-pagination{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.garage-page-numbers{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.garage-page{min-width:38px;height:38px;padding:0 10px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface2);color:#fff;text-decoration:none;font-weight:800}.garage-page:hover,.garage-page.active{border-color:var(--yellow);color:var(--yellow)}.garage-page.active{background:rgba(241,194,50,.08)}.garage-pagination .disabled{pointer-events:none;opacity:.4}
@media(max-width:620px){.garage-quick-actions{justify-content:stretch}.garage-quick-actions form,.garage-quick-actions button{width:100%}.garage-pagination{gap:8px}.garage-page-numbers{order:3;width:100%}}

/* v0.10.16 — Criminal Skill progression mirrors Driving Licence */
.criminal-levels-panel{margin-top:22px}.criminal-levels{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.criminal-level{padding:14px;border:1px solid var(--line);border-radius:9px;background:#0a1420;display:flex;flex-direction:column;gap:5px}.criminal-level b{color:var(--yellow);font-size:12px}.criminal-level span{font-size:10px;color:var(--muted)}.criminal-level.locked{opacity:.45;filter:grayscale(.6)}.criminal-level.current{outline:2px solid rgba(168,109,240,.65);outline-offset:-2px}@media(max-width:800px){.criminal-levels{grid-template-columns:1fr 1fr}}@media(max-width:480px){.criminal-levels{grid-template-columns:1fr}}

/* v0.10.17 - active navigation + Help */
.side-nav a.active{background:rgba(255,201,40,.12);color:var(--yellow);border-left:3px solid var(--yellow);padding-left:13px}.right-nav a.active{border-left:0;border-right:3px solid var(--yellow);padding-left:16px;padding-right:13px}.side-nav a.active.mailbox-alert{background:#321017;color:var(--yellow)}
.help-toc{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.help-toc a{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface2);font-size:11px;font-weight:900}.help-toc a:hover{border-color:var(--yellow);color:var(--yellow)}.help-section{scroll-margin-top:18px;margin-bottom:18px}.help-section h2{margin-bottom:8px}.help-section h3{margin:20px 0 7px;color:var(--yellow);font-size:15px}.help-section p,.help-section li{line-height:1.65}.help-section ul{margin:8px 0 0;padding-left:20px}.help-note{padding:13px 15px;border-left:3px solid var(--yellow);background:var(--surface2);border-radius:0 9px 9px 0;color:var(--muted);margin-top:14px}
/* v0.10.21 Mailbox polish */
.mail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:-8px 0 20px}.mail-stats>div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:15px 18px}.mail-stats b{display:block;color:var(--yellow);font-size:22px}.mail-stats span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.mail-tools{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;padding:12px}.mail-tools form{display:flex;gap:8px;align-items:center;margin:0;flex-wrap:wrap}.mail-tools input,.mail-tools select{margin:0;min-height:38px}.mail-tools input{min-width:260px}.mail-tools button{min-height:38px}.mail-quick{margin-left:auto!important}.mail-bulkbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;background:#0d1724;border-bottom:1px solid var(--line);font-size:11px}.mail-bulkbar>div{display:flex;gap:6px;flex-wrap:wrap}.mail-bulkbar button,.mail-view-actions button{min-height:32px;padding:7px 10px;font-size:10px}.mail-row-wrap{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:stretch;border-bottom:1px solid var(--line)}.mail-row-wrap:last-child{border-bottom:0}.mail-row-wrap>.mail-check{align-self:center;justify-self:center;width:15px;height:15px}.mail-row-wrap .mail-row{border-bottom:0}.mail-star{color:var(--yellow);font-size:14px}.mail-pagination{display:flex;gap:7px;justify-content:center;align-items:center;margin:16px 0 4px;flex-wrap:wrap}.mail-pagination a{padding:8px 11px;border:1px solid var(--line);background:var(--surface);border-radius:8px;font-size:11px;font-weight:900}.mail-pagination a.active{background:var(--yellow);border-color:var(--yellow);color:#0a2447}.mail-view-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.mail-view-actions form{display:flex;gap:7px;flex-wrap:wrap;margin:0}.mail-view-actions .button{min-height:32px;padding:7px 12px}.danger{border-color:#7f2633!important;color:#ff9ba8!important}.mail-compose{scroll-margin-top:20px}@media(max-width:700px){.mail-stats{grid-template-columns:1fr}.mail-tools,.mail-bulkbar{align-items:stretch;flex-direction:column}.mail-tools form,.mail-tools input,.mail-tools select{width:100%}.mail-tools input{min-width:0}.mail-quick{margin-left:0!important}.mail-bulkbar>div{width:100%}}

/* v0.10.23 mailbox destructive actions */
.mailbox-panel button.danger,.mail-quick button.danger,.mail-view-actions button.danger{color:#6f1010!important;font-weight:800}
.side-user span strong{color:inherit}

/* v0.10.25 Hard Account Reset */
.admin-danger-zone{margin-top:28px;padding:20px;border:1px solid #713039;border-left:4px solid #b43a47;border-radius:10px;background:#220f13;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:24px;align-items:end}.admin-danger-zone small{color:#ff9ba5;font-size:10px;font-weight:900;letter-spacing:.12em}.admin-danger-zone h3{margin:5px 0 8px;color:#ffd5d9}.admin-danger-zone p{margin:0;color:#d9aeb3;line-height:1.55}.admin-danger-zone form{display:grid;gap:10px}.admin-danger-zone label{color:#ffd5d9}.admin-danger-zone .danger-button{width:100%;font-weight:900}.admin-danger-zone input{border-color:#713039}@media(max-width:850px){.admin-danger-zone{grid-template-columns:1fr}}

/* v0.10.29 — Help Game Guide calculations */
.help-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.help-section-head small,.help-formula-card>small{color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.12em}.help-section-head h2{margin:4px 0 8px}.help-formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.help-formula-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:11px;background:var(--surface2)}.help-formula-card h3{margin:5px 0 12px;font-size:21px;color:#fff}.help-formula-card p{margin:10px 0 0}.help-equation{padding:11px 13px;border-left:3px solid var(--yellow);background:rgba(255,201,40,.06);border-radius:0 8px 8px 0;color:#fff;font-weight:900;font-size:13px}.help-formula-card ul{margin-top:13px}.help-level-gains{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:12px 0}.help-level-gains span{display:flex;flex-direction:column;gap:3px;text-align:center;padding:10px 5px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.help-level-gains b{color:var(--yellow);font-size:11px}.help-level-gains span{font-size:12px;font-weight:800}.help-example{margin-top:14px;padding:15px 17px;border:1px solid rgba(255,201,40,.28);border-radius:10px;background:rgba(255,201,40,.05);line-height:1.6}.help-example b{color:var(--yellow)}@media(max-width:800px){.help-formula-grid{grid-template-columns:1fr}}@media(max-width:520px){.help-section-head{display:block}.help-section-head .tag{display:inline-block;margin-top:5px}.help-level-gains{grid-template-columns:repeat(2,1fr)}.help-level-gains span:last-child{grid-column:1/-1}}

/* v0.10.31 — Jail skill spacing */
.jail-bust-skill-panel .criminal-levels{margin-top:24px}

/* v0.10.33 — unified skill progress blocks */
.unified-skill-levels{margin-top:16px}
.driving-panel .driving-level.current{outline:2px solid rgba(53,188,232,.7);outline-offset:-2px}

/* v0.10.36 — Crimes / Car Theft true top alignment
   .page-shell has margin:auto globally. Inside the desktop CSS grid that turns
   vertical auto margins into free-space distribution on short pages, which
   visually centers Crimes/Car Theft. Cancel only the vertical auto margins
   for these action pages so their hero starts at the same top line as Drugs. */
.app-layout .dashboard-aligned-page{margin-top:0;margin-bottom:0}


/* v0.10.37 — Information section polish */
.information-hero{margin-bottom:20px}
.info-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.info-stat-grid .stat{min-width:0}.card.stat>span{display:block;margin-top:6px;color:var(--muted);font-size:10px;font-weight:800;line-height:1.35}.bank-actions{align-items:stretch}.bank-action-card{height:100%}.bank-action-card .section-head{margin-bottom:14px}.bank-action-card form{margin:0}.bank-button-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.bank-button-row button{width:100%}.transaction-panel .section-head,.ranking-panel .section-head{margin-bottom:14px}.transaction-type{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface2);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.transaction-type.deposit,.transaction-type.transfer_in,.transaction-type.savings_interest{border-color:rgba(91,211,155,.35);color:#8ce4ba}.transaction-type.withdraw,.transaction-type.transfer_out,.transaction-type.hospital{border-color:rgba(255,107,107,.35);color:#ff9ba8}.info-empty{display:flex;flex-direction:column;gap:4px;padding:22px;border:1px dashed var(--line);border-radius:10px;background:var(--surface2)}.info-empty span{color:var(--muted);font-size:12px}.hospital-stats{margin-bottom:20px}.travel-card.current{border-color:var(--yellow);box-shadow:inset 0 0 0 1px rgba(255,201,40,.16)}.travel-card button:disabled{cursor:not-allowed;opacity:.52}.objective-card.completed{order:3;opacity:.72}.objective-card.ready{border-color:rgba(91,211,155,.48)}.ranking-panel .table-wrap table{min-width:680px}.ranking-position{font-weight:900;color:var(--yellow)}.ranking-me td{background:rgba(255,201,40,.07);border-top:1px solid rgba(255,201,40,.22);border-bottom:1px solid rgba(255,201,40,.22)}.ranking-me td:first-child{box-shadow:inset 3px 0 0 var(--yellow)}.ranking-note{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:11px}.ranking-note b{color:var(--yellow)}.ranking-note span{color:var(--muted)}.help-search{margin:0 0 14px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:12px;align-items:center}.help-search label{margin:0;color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.1em}.help-search input{margin:0;min-width:0}.help-search span{font-size:10px;font-weight:800}.help-section[hidden]{display:none!important}
@media(max-width:900px){.info-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.info-stat-grid{grid-template-columns:1fr 1fr}.help-search{grid-template-columns:1fr}.bank-button-row{grid-template-columns:1fr}}
@media(max-width:420px){.info-stat-grid{grid-template-columns:1fr}}

/* v0.10.38 — top-align Hospital, Ranking, Organized Crime and Family
   These pages use the same dashboard-aligned shell fix as Crimes / Car Theft. */

/* v0.10.39: Casino Slots + Family visual polish */
.casino-page .hero,.family-page .hero{margin-bottom:22px}
.casino-page .slot-machine{position:relative;overflow:hidden;border-top:2px solid var(--yellow);background:linear-gradient(180deg,#111b28 0%,var(--surface) 42%)}
.casino-page .slot-machine:before{content:'';position:absolute;inset:0 0 auto;height:76px;background:linear-gradient(90deg,transparent,#f4c5420d,transparent);pointer-events:none}
.casino-page .slot-top{position:relative;padding:12px 14px;margin:-2px -2px 18px;background:#09131f;border-bottom:1px solid #7d6720;border-radius:9px 9px 0 0;letter-spacing:.08em;font-size:11px}
.casino-page .slot-top b{font-variant-numeric:tabular-nums;letter-spacing:0}
.casino-page .reels{gap:14px;margin:18px 0 16px}
.casino-page .reel{min-height:118px;border-width:1px;background:linear-gradient(180deg,#07101a,#0d1825);box-shadow:inset 0 0 28px #000b,0 8px 20px #0003}
.casino-page #slot-form{padding-top:4px}
.casino-page #slot-form label{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.casino-page .slot-bet-input{background:#09131f;border-color:#405064}
.casino-page .spin-button{min-height:52px;margin-top:3px;box-shadow:0 7px 18px #0004}
.casino-page .slot-result{margin:0 0 14px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#09131f;letter-spacing:.04em}
.casino-page .slot-payout-panel{border-top:2px solid #7d6720}
.casino-page .slot-payout-panel h2,.casino-page .slot-history-panel h2{margin-bottom:15px}
.casino-page .slot-payline{padding:10px 4px}
.casino-page .slot-payline:last-of-type{border-bottom:0}
.casino-page .slot-payline b{min-width:48px;text-align:right;font-size:15px}
.casino-page .slot-rules-note{margin:15px 0 0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface2);font-size:11px;line-height:1.6}
.casino-page .slot-history-panel{margin-top:22px;border-top:2px solid #34445a}
.casino-page .slot-history-panel td:first-child{font-weight:800;letter-spacing:.02em}

.family-page .family-profile-grid{margin-bottom:22px}
.family-page .family-profile-grid .stat{position:relative;overflow:hidden;border-top:2px solid var(--yellow)}
.family-page .family-profile-grid .stat small{letter-spacing:.1em}
.family-page .family-profile-grid .stat b{font-variant-numeric:tabular-nums}
.family-page .family-main-panel,.family-page .family-bank-panel,.family-page .family-invite-panel,.family-page .family-activity-panel,.family-page .family-create-panel,.family-page .family-invitations-panel{border-top:2px solid #34445a}
.family-page .family-main-panel{border-top-color:var(--yellow)}
.family-page .family-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:15px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.family-page .family-panel-head h2{margin:0 0 4px}
.family-page .family-panel-head p{margin:0}
.family-page .family-role-badge{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid #7d6720;border-radius:999px;background:#151b20;color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.family-page .family-section-title{margin:20px 0 5px;font-size:11px;color:var(--yellow);letter-spacing:.12em;text-transform:uppercase}
.family-page .family-member{min-height:62px;padding:12px 4px}
.family-page .family-member>div:first-child b{font-size:13px}
.family-page .family-member .muted{margin-top:3px;font-size:10px}
.family-page .family-member form{flex-wrap:wrap;justify-content:flex-end}
.family-page .family-member form select{min-width:120px}
.family-page .family-member form button{min-height:36px;padding:8px 11px}
.family-page .family-bank-panel form,.family-page .family-invite-panel form,.family-page .family-create-panel form{margin-top:14px}
.family-page .family-bank-balance{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface2)}
.family-page .family-bank-balance span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.family-page .family-bank-balance b{color:var(--yellow);font-size:19px;font-variant-numeric:tabular-nums}
.family-page .family-activity-item{padding:13px 4px}
.family-page .family-activity-item b{font-size:12px}
.family-page .family-activity-item strong{align-self:center;padding:5px 8px;border:1px solid #2b6048;border-radius:999px;background:#10271d;font-size:10px;white-space:nowrap}
.family-page .family-create-requirements{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}
.family-page .family-requirement{padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface2)}
.family-page .family-requirement small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.family-page .family-requirement b{display:block;margin-top:4px;color:var(--yellow);font-size:13px}
.family-page .family-invitations-panel{margin-bottom:22px}
@media(max-width:700px){.casino-page .reel{min-height:94px}.family-page .family-panel-head{flex-direction:column}.family-page .family-member{align-items:flex-start;flex-direction:column}.family-page .family-member form{width:100%;justify-content:flex-start}.family-page .family-create-requirements{grid-template-columns:1fr}}

/* ProCrime v0.10.40 — Anti-Bot / Anti-Cheat visual polish */
.antibot-backdrop{background:rgba(2,6,10,.91);backdrop-filter:blur(8px);animation:antibotFade .16s ease-out}
.antibot-modal{position:relative;overflow:hidden;width:min(570px,100%);padding:30px;background:linear-gradient(180deg,#111d29 0%,#0d1721 100%);border:1px solid #314354;border-top:0;border-radius:12px;box-shadow:0 28px 90px rgba(0,0,0,.68),0 0 0 1px rgba(229,183,46,.05)}
.antibot-modal:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--yellow)}
.antibot-modal:after{content:"";position:absolute;right:-70px;top:-90px;width:220px;height:220px;border:1px solid rgba(229,183,46,.08);border-radius:50%;pointer-events:none}
.antibot-kicker{display:flex;align-items:center;gap:9px;margin:0 0 9px;font-size:10px;letter-spacing:.18em}.antibot-kicker:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--yellow);box-shadow:0 0 14px rgba(229,183,46,.35)}
.antibot-modal h2{font-size:27px;letter-spacing:-.02em;margin:0 0 8px}.antibot-modal>p:first-of-type{max-width:460px;margin:0;line-height:1.6;font-size:13px}
.antibot-security-note{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;padding:11px 13px;background:rgba(229,183,46,.055);border:1px solid rgba(229,183,46,.15);border-radius:8px;color:#aeb9c3;font-size:11px;line-height:1.5}.antibot-security-note b{color:var(--yellow);white-space:nowrap;font-size:10px;letter-spacing:.08em}
.antibot-form{margin-top:18px;padding-top:18px;border-top:1px solid #263746}.antibot-question{display:block;padding:16px;text-align:center;border:1px solid #314354;border-radius:8px;background:#09131c;color:#fff;font-size:30px;letter-spacing:.04em}.antibot-form input{text-align:center;font-weight:900}.antibot-form button{font-weight:900;letter-spacing:.06em}
.antibot-slider-wrap{margin-top:20px;padding-top:18px;border-top:1px solid #263746}.antibot-slider{height:60px;border-color:#34495a;background:#08121b;box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)}.antibot-slider>span{letter-spacing:.04em;color:#81909d}.antibot-slider-fill{background:linear-gradient(90deg,rgba(229,183,46,.08),rgba(229,183,46,.2))}.antibot-handle{box-shadow:0 4px 16px rgba(0,0,0,.28);transition:box-shadow .15s ease}.antibot-handle:hover{box-shadow:0 4px 18px rgba(229,183,46,.18)}.antibot-hint{display:flex;align-items:center;gap:7px;color:#8998a5!important}.antibot-hint:before{content:"↳";color:var(--yellow);font-weight:900}.antibot-status{display:flex;align-items:center;min-height:24px;margin-top:13px;padding-top:10px;border-top:1px solid #22313e;font-size:12px}
.antibot-status.is-working{color:#aeb9c3}.antibot-status.is-success{color:#7ed49a}.antibot-status.is-error{color:#ff8d8d}
@keyframes antibotFade{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.antibot-modal{padding:23px 19px}.antibot-modal h2{font-size:24px}.antibot-question{font-size:26px}.antibot-security-note{display:block}.antibot-security-note b{display:block;margin-bottom:4px}}

/* ProCrime v0.10.41 — public landing + login polish */
.guest-shell{width:min(1180px,calc(100% - 32px));padding-top:42px;padding-bottom:64px}
.landing-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:46px;align-items:center;min-height:470px;padding:48px;border:1px solid #263746;border-top:4px solid var(--yellow);border-radius:12px;background:radial-gradient(circle at 78% 30%,rgba(229,183,46,.08),transparent 28%),linear-gradient(135deg,#101c27,#0b141d);overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.landing-copy h1{max-width:700px;margin:9px 0 18px;font-size:clamp(42px,6vw,76px);line-height:.96;letter-spacing:-.045em}.landing-copy h1 span{color:var(--yellow)}.landing-copy>p{max-width:650px;color:#aeb9c3;font-size:15px;line-height:1.75}.landing-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.landing-actions .button{min-width:170px;text-align:center}.landing-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:36px;padding-top:20px;border-top:1px solid #263746;color:#7f909e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.landing-meta b{margin-right:6px;color:#fff;font-size:16px}.landing-visual{position:relative;display:flex;min-height:300px;align-items:center;justify-content:center;flex-direction:column;border:1px solid #2b3b49;border-radius:10px;background:#08121a;overflow:hidden}.landing-emblem{display:grid;width:104px;height:104px;place-items:center;margin-bottom:20px;border:2px solid var(--yellow);border-radius:18px;color:var(--yellow);font-size:62px;font-weight:950;box-shadow:0 0 45px rgba(229,183,46,.08);transform:rotate(-3deg)}.landing-visual small{color:#718391;font-size:10px;font-weight:900;letter-spacing:.24em}.landing-visual strong{margin-top:4px;color:#fff;font-size:22px;letter-spacing:.08em}.landing-scan{position:absolute;left:10%;right:10%;bottom:26px;height:1px;background:linear-gradient(90deg,transparent,var(--yellow),transparent);opacity:.35}.landing-section{margin-top:26px;padding:30px;border:1px solid #263746;border-radius:10px;background:#0d1721}.landing-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.landing-feature{padding:22px;border:1px solid #283a49;border-radius:8px;background:#0a141d}.landing-feature>b{color:var(--yellow);font-size:10px;letter-spacing:.12em}.landing-feature h3{margin:11px 0 8px}.landing-feature p{margin:0;color:#8998a5;font-size:12px;line-height:1.6}.landing-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:30px 34px;border:1px solid rgba(229,183,46,.22);border-radius:10px;background:rgba(229,183,46,.045)}.landing-cta small{color:var(--yellow);font-weight:900;letter-spacing:.12em}.landing-cta h2{margin:5px 0}.landing-cta p{margin:0;color:#8c9aa6}.landing-cta .button{white-space:nowrap}
.guest-auth-wrap{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:54px;align-items:center;min-height:560px}.guest-auth-copy h1{max-width:560px;margin:8px 0 16px;font-size:clamp(42px,5vw,64px);line-height:1;letter-spacing:-.04em}.guest-auth-copy>p{max-width:520px;font-size:14px;line-height:1.7}.guest-auth-points{display:grid;gap:9px;margin-top:28px}.guest-auth-points span{display:flex;align-items:center;gap:12px;color:#9aa8b4;font-size:12px}.guest-auth-points b{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(229,183,46,.25);border-radius:6px;color:var(--yellow);font-size:9px}.guest-auth-card{width:100%;margin:0;padding:28px;border-top:4px solid var(--yellow);border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.auth-card-head{margin-bottom:20px}.auth-card-head small{color:var(--yellow);font-size:9px;font-weight:900;letter-spacing:.14em}.auth-card-head h2{margin:5px 0 4px}.guest-auth-card form{display:grid;gap:8px}.guest-auth-card label:not(.remember-row){margin-top:5px;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.remember-row{display:flex!important;align-items:flex-start;gap:10px;margin:10px 0 6px;padding:12px;border:1px solid #293b49;border-radius:7px;background:#0a141d;cursor:pointer}.remember-row input{width:16px!important;height:16px!important;margin:2px 0 0;accent-color:var(--yellow)}.remember-row span{display:block}.remember-row b{display:block;color:#e7edf2;font-size:12px}.remember-row small{display:block;margin-top:3px;color:#7f909e;font-size:10px;line-height:1.4}.auth-submit{margin-top:3px}.auth-register-note{display:flex;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #263746;color:#7f909e;font-size:11px}.auth-register-note a{color:var(--yellow);font-weight:900}
@media(max-width:900px){.landing-hero,.guest-auth-wrap{grid-template-columns:1fr}.landing-visual{min-height:230px}.landing-feature-grid{grid-template-columns:repeat(2,1fr)}.guest-auth-wrap{gap:28px;min-height:0}.guest-auth-copy{padding-top:12px}}
@media(max-width:600px){.guest-shell{width:min(100% - 20px,1180px);padding-top:22px}.landing-hero{padding:28px 20px;gap:28px}.landing-copy h1,.guest-auth-copy h1{font-size:40px}.landing-meta{gap:12px}.landing-feature-grid{grid-template-columns:1fr}.landing-section{padding:20px}.landing-cta{align-items:flex-start;flex-direction:column;padding:24px}.guest-auth-card{padding:22px 18px}.auth-register-note{flex-direction:column}}

/* ProCrime v0.10.44 — full mobile CSS polish */
@media(max-width:850px){
 html,body{max-width:100%;overflow-x:hidden}
 body{-webkit-text-size-adjust:100%}
 .site-header{height:96px;padding:0 14px}.brand{gap:12px;min-width:0}.brand strong{font-size:20px;letter-spacing:.09em}.brand small{font-size:8px;letter-spacing:.11em}.mark{width:52px;height:52px;border-radius:13px;font-size:30px;flex:0 0 auto}
 .page-shell,.app-layout .page-shell{padding:24px 14px 52px}.hero{margin-bottom:20px}.hero h1{font-size:clamp(27px,8vw,34px);line-height:1.08;overflow-wrap:anywhere}.hero p{line-height:1.55}
 .card,.panel{padding:17px;border-radius:11px}.grid{gap:12px}.two{gap:14px;margin-top:14px}
 .nav-items{-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-items::-webkit-scrollbar{display:none}.side-nav a{min-height:46px;padding:13px 14px}.side-title{padding:9px 14px}
 input,select,textarea{font-size:16px;min-height:44px}button,.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2}
 .table-wrap,.market-matrix-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:680px}th,td{padding:11px 10px}
 .rank-line{align-items:flex-start}.rank-line h2{line-height:1.2}.cooldown-box{padding:13px 14px}
 .crime{gap:14px}.crime>div:first-child{min-width:0}.crime h3,.crime p{overflow-wrap:anywhere}
 .mail-row{align-items:flex-start}.mail-row>div{min-width:0}.mail-row b,.mail-row small{overflow-wrap:anywhere}
 .admin-tabs{gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs a{flex:0 0 auto;min-height:42px;padding:10px 13px}
 .admin-head-actions{width:100%}.admin-head-actions .button,.admin-head-actions button{flex:1 1 150px}
 .profile-hero{gap:15px;padding:18px}.profile-avatar{width:72px;height:72px;font-size:30px}.profile-identity h1{font-size:28px}
 .market-card,.objective-card,.travel-card{min-width:0}.market-card-head h3{overflow-wrap:anywhere}
 .garage-actions button{min-height:44px}
}
@media(max-width:600px){
 .site-header{height:84px}.brand strong{font-size:18px}.brand small{display:none}.mark{width:46px;height:46px;font-size:27px}
 .page-shell,.app-layout .page-shell{padding:20px 11px 44px}.hero{margin-bottom:17px}.hero h1{font-size:28px}.eyebrow{font-size:10px;letter-spacing:.12em}
 .grid,.objective-grid,.economy-grid{grid-template-columns:1fr}.card,.panel{padding:15px}
 .stat b{font-size:22px}.panel h2{font-size:20px}
 .crime{align-items:stretch;flex-direction:column;padding:15px 0}.crime .button,.crime button,.crime form{width:100%}.crime form button{width:100%}
 .rank-line{flex-direction:column;gap:8px}.cooldown-box{width:100%;flex-direction:column;align-items:flex-start;gap:4px}.cooldown-box b{font-size:22px}
 .mail-row{flex-direction:column}.mail-row>small,.mail-row>time{align-self:flex-start}
 .admin-section-head{align-items:flex-start;flex-direction:column}.admin-feed-row{align-items:flex-start;flex-direction:column}.admin-feed-row time{align-self:flex-start}
 .profile-hero{grid-template-columns:1fr;text-align:center}.profile-avatar{margin:auto}.profile-actions{width:100%}.profile-actions .button{width:100%}.profile-detail,.profile-skill-row{gap:8px}.profile-detail span,.profile-detail b,.profile-skill-row span,.profile-skill-row b{overflow-wrap:anywhere}
 .market-summary{grid-template-columns:1fr}.market-prices,.market-prices-single{grid-template-columns:1fr}.market-actions form{grid-template-columns:70px minmax(0,1fr)}
 .market-overlay-panel{width:100%;border-radius:10px}.market-overlay-head h2{font-size:20px}.market-overlay-close{flex:0 0 42px}
 .landing-copy h1,.guest-auth-copy h1{font-size:36px}.landing-actions{display:grid;grid-template-columns:1fr}.landing-actions .button{width:100%}.landing-meta{display:grid;grid-template-columns:1fr 1fr}.landing-visual{min-height:200px}.landing-emblem{width:82px;height:82px;font-size:48px}.landing-cta .button{width:100%}
 .guest-nav>div{padding:0 10px;overflow-x:auto}.guest-nav a{flex:0 0 auto}
 footer{padding:24px 14px;font-size:12px}
}
@media(max-width:420px){
 .page-shell,.app-layout .page-shell{padding-left:9px;padding-right:9px}.card,.panel{padding:14px}.hero h1{font-size:26px}
 .side-nav a{padding:12px 11px;font-size:11px}.side-title{font-size:9px}
 .landing-copy h1,.guest-auth-copy h1{font-size:32px}.landing-meta{grid-template-columns:1fr}.landing-hero{padding:23px 16px}.landing-section{padding:16px}.landing-cta{padding:19px}.guest-auth-card{padding:19px 15px}
 .reels{gap:6px}.reel{min-height:72px;font-size:13px}.slot-top{align-items:flex-start;gap:8px;flex-direction:column}
 .market-actions form{grid-template-columns:62px minmax(0,1fr)}
}
/* Touch-only devices: avoid hover-only feedback sticking after taps. */
@media(hover:none){.side-nav a:hover,.nav-inner a:hover{background:inherit;color:inherit}.button:active,button:active,.side-nav a:active{transform:translateY(1px)}}

/* v0.10.45 — Missions */
.missions-hero{margin-bottom:18px}.mission-card{position:relative;overflow:hidden}.mission-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent,#f3c623)}.mission-top,.mission-progress-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.mission-top h2{margin:4px 0 0}.mission-type{font-size:.72rem;font-weight:900;letter-spacing:.08em;padding:7px 10px;border-radius:999px;background:rgba(243,198,35,.12);border:1px solid rgba(243,198,35,.3)}.mission-brief{max-width:760px}.mission-target{display:flex;align-items:baseline;gap:12px;margin:22px 0}.mission-target strong{font-size:3rem;line-height:1}.mission-target span{font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}.mission-progress-head{margin:18px 0 8px}.mission-clock,.mission-cooldown-clock{font-variant-numeric:tabular-nums}.mission-clock{font-size:1.35rem}.mission-progress{height:14px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);margin-bottom:20px}.mission-progress i{display:block;height:100%;background:var(--accent,#f3c623);border-radius:inherit}.mission-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.mission-rewards>div,.mission-stats>div{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025)}.mission-rewards small,.mission-stats small{display:block;font-weight:900;letter-spacing:.06em;margin-bottom:5px}.mission-rewards b{font-size:1.15rem}.mission-note{margin:14px 0;padding:12px 14px;border-radius:8px;background:rgba(255,255,255,.04)}.mission-note.warning{border-left:3px solid #c88}.mission-accept,.mission-cancel{width:100%;margin-top:4px}.mission-cancel{background:#4a2026;border-color:#6d3039}.mission-cooldown{text-align:center;padding:34px}.mission-cooldown-clock{font-size:3rem;font-weight:900;margin:18px 0}.mission-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.mission-info-grid h3{margin:5px 0 8px}.mission-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.mission-stats b{font-size:1.3rem}
@media(max-width:760px){.mission-top{align-items:flex-start}.mission-target strong{font-size:2.4rem}.mission-rewards{grid-template-columns:1fr}.mission-info-grid{grid-template-columns:1fr}.mission-stats{grid-template-columns:1fr 1fr}.mission-cooldown{padding:24px 16px}.mission-cooldown-clock{font-size:2.2rem}.mission-progress-head{align-items:flex-end}.mission-progress-head b:first-child{font-size:.88rem}}
@media(max-width:420px){.mission-top{display:block}.mission-type{display:inline-block;margin-top:10px}.mission-target{align-items:flex-start;flex-direction:column;gap:5px}.mission-stats{grid-template-columns:1fr}.mission-progress-head{gap:8px}.mission-clock{font-size:1.15rem}}

/* v0.10.49 — Missions/Jail balance polish */
.mission-progress.pc-progress-track{margin-bottom:20px;height:18px}.mission-progress.pc-progress-track strong{font-size:11px}.jail-table .tag{margin-left:6px}

/* v0.10.50 — Jail action consolidation */
.jail-population-panel.jail-view-free{border-top:3px solid var(--green);box-shadow:inset 0 1px 0 rgba(46,204,113,.08)}
.jail-population-panel.jail-view-jailed{border-top:3px solid var(--red);box-shadow:inset 0 1px 0 rgba(231,76,60,.08)}
.jail-population-panel.jail-view-free .jail-heading>b{color:var(--green)}
.jail-population-panel.jail-view-jailed .jail-heading>b{color:var(--red)}
.jail-self-row{background:rgba(231,76,60,.055)}
.jail-self-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.jail-self-actions form{margin:0}
.jail-self-actions button{white-space:nowrap}
@media(max-width:700px){.jail-self-actions{align-items:stretch;flex-direction:column}.jail-self-actions form,.jail-self-actions button{width:100%}}

/* v0.10.55 — gameplay HUD + Quick Actions */
.quick-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:-18px 0 26px;padding:9px;background:#0a2447;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #0003}
.quick-actions a{min-width:0;padding:10px 11px;border:1px solid #ffffff12;border-radius:8px;background:var(--surface2);display:flex;flex-direction:column;gap:3px;transition:.15s ease}
.quick-actions a:hover{border-color:var(--yellow);transform:translateY(-1px)}.quick-actions small{font-size:9px;letter-spacing:.09em;font-weight:900;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-actions b{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}/* Quick Actions status glow: v0.10.59 */
.quick-actions .quick-ready{border-color:rgba(42,155,91,.72);background:linear-gradient(180deg,rgba(25,92,54,.34),rgba(13,48,31,.24));box-shadow:inset 0 0 18px rgba(31,132,73,.12),0 0 13px rgba(24,111,61,.28)}
.quick-actions .quick-ready b{color:#8ee0ae;text-shadow:0 0 8px rgba(64,190,111,.28)}
.quick-actions .quick-danger{border-color:rgba(166,52,52,.78);background:linear-gradient(180deg,rgba(100,30,30,.35),rgba(52,18,18,.25));box-shadow:inset 0 0 18px rgba(145,40,40,.13),0 0 13px rgba(125,31,31,.28)}
.quick-actions .quick-danger b{color:#f29a9a;text-shadow:0 0 8px rgba(210,73,73,.24)}
.quick-actions .quick-mission-active{border-color:rgba(190,145,34,.82);background:linear-gradient(180deg,rgba(113,83,20,.38),rgba(59,44,14,.26));box-shadow:inset 0 0 18px rgba(184,136,28,.14),0 0 14px rgba(166,122,25,.3)}
.quick-actions .quick-mission-active b{color:#f0cd66;text-shadow:0 0 8px rgba(221,174,55,.28)}
.quick-actions .quick-ready:hover{border-color:#58c983;box-shadow:inset 0 0 20px rgba(31,132,73,.16),0 0 18px rgba(35,145,77,.36)}
.quick-actions .quick-danger:hover{border-color:#d45e5e;box-shadow:inset 0 0 20px rgba(145,40,40,.16),0 0 18px rgba(151,42,42,.36)}
.quick-actions .quick-mission-active:hover{border-color:#e0b644;box-shadow:inset 0 0 20px rgba(184,136,28,.17),0 0 18px rgba(181,137,32,.38)}
.side-user-hud{gap:7px}.side-user-hud .hud-rank{color:var(--text);padding-bottom:5px;border-bottom:1px solid var(--line)}.side-user-hud .hud-rank strong{color:var(--yellow)}.hud-skill{display:grid;grid-template-columns:1fr 34px;gap:4px 7px;align-items:center}.hud-skill em{font-style:normal;font-size:9px;font-weight:900;letter-spacing:.05em;color:var(--muted)}.hud-skill>strong{font-size:9px;text-align:right;color:var(--text)}.hud-track{grid-column:1/-1;height:5px;background:#0b121c;border-radius:999px;overflow:hidden}.hud-track i{display:block;height:100%;background:var(--yellow);border-radius:inherit}.side-user-hud .hud-family{padding-top:4px;border-top:1px solid var(--line)}.side-user-hud .hud-mission{margin-top:2px;padding:7px 8px;border-radius:7px;background:#0a2447;color:var(--muted)}.side-user-hud .hud-mission strong{color:var(--yellow)}
@media(max-width:1100px){.quick-actions{gap:5px;padding:7px}.quick-actions a{padding:9px 7px}.quick-actions small{font-size:8px}.quick-actions b{font-size:10px}}
@media(max-width:850px){.quick-actions{display:flex;overflow-x:auto;margin:-10px -16px 22px;padding:8px 16px;border-radius:0;border-left:0;border-right:0;scrollbar-width:none}.quick-actions::-webkit-scrollbar{display:none}.quick-actions a{flex:0 0 128px;min-height:54px;justify-content:center}.quick-actions small{font-size:9px}.quick-actions b{font-size:11px}}
@media(max-width:480px){.quick-actions{margin:-8px -14px 20px;padding-left:14px;padding-right:14px}.quick-actions a{flex-basis:116px}}

/* v0.10.60 — Mobile 75% slide-out navigation drawers */
.mobile-drawer-toggle,.mobile-drawer-backdrop{display:none}
@media(max-width:850px){
 body.mobile-drawer-open{overflow:hidden}
 .app-layout{display:block}
 .side-nav.left-nav,.side-nav.right-nav{position:fixed;top:0;bottom:0;width:75vw;max-width:75vw;height:100dvh;margin:0;z-index:1002;display:block;overflow-y:auto;overflow-x:hidden;background:var(--surface);border-top:0;border-bottom:0;box-shadow:0 0 34px #0009;transition:transform .24s ease;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .side-nav.left-nav{left:0;right:auto;border-left:0;border-right:2px solid var(--yellow);border-radius:0 14px 14px 0;transform:translateX(-102%)}
 .side-nav.right-nav{right:0;left:auto;border-right:0;border-left:2px solid var(--yellow);border-radius:14px 0 0 14px;transform:translateX(102%)}
 .side-nav.left-nav.mobile-drawer-active,.side-nav.right-nav.mobile-drawer-active{transform:translateX(0)}
 .side-nav .side-title{display:flex}.side-nav .side-user{display:flex}
 .side-nav .nav-items{display:flex;flex-direction:column;overflow:visible}
 .side-nav .nav-group.collapsed .nav-items{display:none}
 .side-nav a{flex:none;width:100%;min-height:46px;border-right:0;border-bottom:1px solid var(--line);padding:13px 16px}
 .side-nav a.active,.right-nav a.active{border-left:3px solid var(--yellow);border-right:0;padding-left:13px;padding-right:16px}
 .side-nav .side-title{position:sticky;top:0;z-index:1}
 .right-nav .side-user-hud{display:flex;padding-top:22px}
 .mobile-drawer-toggle{display:grid;position:fixed;top:32%;z-index:1003;width:38px;height:58px;place-items:center;padding:0;background:#0a2447;color:var(--yellow);border:1px solid var(--yellow);box-shadow:0 5px 18px #0008;font-size:19px;line-height:1;transition:.2s ease}
 .mobile-drawer-toggle.left{left:0;border-left:0;border-radius:0 10px 10px 0}
 .mobile-drawer-toggle.right{right:0;border-right:0;border-radius:10px 0 0 10px}
 .mobile-drawer-toggle.active{background:var(--yellow);color:#0a2447}
 .mobile-drawer-backdrop{display:block;position:fixed;inset:0;z-index:1001;background:rgba(3,8,15,.68);opacity:0;pointer-events:none;transition:opacity .2s ease}
 .mobile-drawer-backdrop.active{opacity:1;pointer-events:auto}
}
@media(min-width:851px){.mobile-drawer-toggle,.mobile-drawer-backdrop{display:none!important}}
