* { box-sizing: border-box; }
:root {
    --bg: #2b1d14;
    --bg2: #5e3922;
    --panel: #26190f;
    --panel2: #3b2819;
    --leather: #1d130c;
    --wood: #7a4828;
    --gold: #f7b72a;
    --gold2: #ffd56a;
    --cream: #fff0ce;
    --text: #fff5df;
    --muted: #d5b98c;
    --line: rgba(255, 207, 116, .26);
    --green: #8ac847;
    --green-dark: #5a9726;
    --danger: #d94a31;
    --warning: #ffc04b;
    --shadow: 0 22px 60px rgba(0,0,0,.35);
    --radius: 22px;
}
html, body { min-height: 100%; }
body {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:
        radial-gradient(circle at 20% 12%, rgba(255,203,91,.22), transparent 32rem),
        radial-gradient(circle at 78% 24%, rgba(173,84,28,.25), transparent 26rem),
        linear-gradient(135deg, #2a1a12 0%, #6e3f22 48%, #21140d 100%);
    color: var(--text);
}
a { color: inherit; text-decoration: none; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.tiny-muted { color: var(--muted); font-size: .8rem; }
.brand-pill {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .45rem;
    padding: .42rem .72rem;
    border-radius: 999px;
    background: linear-gradient(#f7c95f, #bb7624);
    color: #2a1608;
    border: 1px solid rgba(255,236,166,.65);
    box-shadow: inset 0 2px 0 rgba(255,255,255,.35), 0 8px 18px rgba(0,0,0,.22);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.button, .nav-btn, .icon-button, .app-back {
    border: 1px solid rgba(255,219,137,.45);
    border-radius: 16px;
    padding: .78rem 1rem;
    background: linear-gradient(#4b3220, #1b110a);
    color: var(--cream);
    font-weight: 900;
    cursor: pointer;
    transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: .45rem;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.12), inset 0 -3px 0 rgba(0,0,0,.35), 0 8px 18px rgba(0,0,0,.24);
}
.button:hover, .nav-btn:hover, .icon-button:hover, .app-back:hover { transform: translateY(-1px); filter: brightness(1.06); }
.button:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.button.primary, .nav-btn.active {
    background: linear-gradient(#ffd96a 0%, #f5aa20 46%, #cf7b16 100%);
    color: #211205;
    border-color: #ffe39a;
    text-shadow: 0 1px 0 rgba(255,255,255,.3);
}
.button.ghost { background: linear-gradient(#4b3220, #1b110a); }
.button.small { padding: .55rem .78rem; font-size: .86rem; }
.button.full { width: 100%; }
.notice { padding: .85rem 1rem; border-radius: 16px; margin: 1rem 0; font-weight: 800; border: 1px solid var(--line); }
.notice.success { background: rgba(138,200,71,.16); color: #c9ff92; }
.notice.error { background: rgba(217,74,49,.16); color: #ffd0c9; }
.notice.warning { background: rgba(255,192,75,.16); color: #ffe1a0; }
input, select, textarea {
    width: 100%;
    border: 1px solid rgba(255,219,137,.35);
    border-radius: 16px;
    padding: .85rem .95rem;
    background: rgba(26,17,10,.82);
    color: var(--text);
    font: inherit;
    outline: none;
}
input:focus { border-color: var(--gold2); box-shadow: 0 0 0 4px rgba(247,183,42,.16); }
label { display: grid; gap: .4rem; color: var(--muted); font-size: .92rem; font-weight: 800; }
.auth-wrap { min-height: 100vh; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 2rem; max-width: 1120px; margin: 0 auto; padding: 2rem; }
.auth-hero h1 { font-size: clamp(2.8rem, 7vw, 6rem); letter-spacing: -.08em; line-height: .92; margin: 1rem 0; color: var(--gold2); text-shadow: 0 5px 22px rgba(0,0,0,.45); }
.auth-hero p { font-size: 1.2rem; color: var(--cream); max-width: 38rem; line-height: 1.6; }
.auth-card, .install-card { background: rgba(35,22,13,.88); border: 1px solid rgba(255,213,106,.35); border-radius: 32px; padding: 1.4rem; box-shadow: var(--shadow); }
.tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; background: rgba(0,0,0,.24); border-radius: 999px; padding: .35rem; margin-bottom: 1rem; }
.tab { border: 0; border-radius: 999px; padding: .75rem; background: transparent; font-weight: 900; cursor: pointer; color: var(--muted); }
.tab.active { background: linear-gradient(#ffd96a, #c77d19); color: #231306; box-shadow: 0 8px 18px rgba(0,0,0,.25); }
.auth-form, .form-grid { display: grid; gap: 1rem; }
.install-body { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem; }
.install-card { width: min(760px, 100%); }
.update-list { display: grid; gap: .5rem; margin: 1rem 0 1.2rem; }
.update-list div { padding: .75rem .9rem; border: 1px solid var(--line); border-radius: 14px; background: rgba(0,0,0,.18); }
.intro-screen { min-height: 100vh; display: grid; place-items: center; padding: 1.3rem; }
.intro-card { width: min(780px, 100%); background: rgba(35,22,13,.92); border: 1px solid rgba(255,213,106,.38); border-radius: 34px; padding: clamp(1.2rem, 4vw, 2rem); box-shadow: var(--shadow); }
.intro-card h2 { font-size: clamp(2rem, 5vw, 3.5rem); margin: .8rem 0 .4rem; color: var(--gold2); }
.intro-card p { color: var(--cream); line-height: 1.55; }
.intro-steps { display: flex; gap: .5rem; flex-wrap: wrap; margin: 1rem 0; }
.intro-steps span { padding: .5rem .75rem; border-radius: 999px; background: rgba(247,183,42,.14); border: 1px solid var(--line); color: var(--gold2); font-weight: 900; }
.place-form { display: grid; grid-template-columns: 1fr auto; gap: .75rem; align-items: end; }
.place-results { display: grid; gap: .65rem; margin-top: 1rem; }
.place-result { text-align: left; border: 1px solid var(--line); border-radius: 18px; padding: .8rem .9rem; background: rgba(0,0,0,.18); color: var(--text); cursor: pointer; display: grid; gap: .25rem; }
.place-result span, .place-empty { color: var(--muted); }
.selected-place { display: grid; gap: .75rem; margin-top: 1rem; padding: 1rem; border-radius: 22px; background: rgba(247,183,42,.12); border: 1px solid var(--line); }
.dashboard-shell { width: min(1720px, calc(100% - 24px)); margin: 12px auto; min-height: calc(100vh - 24px); border: 1px solid rgba(255,232,166,.35); border-radius: 28px; padding: 1rem; background: linear-gradient(145deg, rgba(255,205,130,.16), rgba(69,39,22,.56)), rgba(34,21,13,.9); box-shadow: var(--shadow); position: relative; overflow: hidden; }
.dashboard-shell::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 75% 15%, rgba(255,191,82,.16), transparent 28rem), linear-gradient(90deg, rgba(255,255,255,.04), transparent 30%); pointer-events:none; }
.game-topbar, .playfield, .taximeter-bar, .events-dock, .bottom-nav { position: relative; z-index: 1; }
.game-topbar { display: flex; align-items: center; gap: 1rem; justify-content: space-between; padding: .2rem .15rem 1rem; }
.game-logo { min-width: 210px; display: grid; justify-items: center; padding: .4rem 1rem .35rem; border-radius: 18px; border: 1px solid rgba(255,226,141,.45); background: linear-gradient(#613a20, #20130b); box-shadow: inset 0 2px 0 rgba(255,255,255,.14), 0 10px 24px rgba(0,0,0,.28); }
.logo-taxi { font-size: 2.3rem; font-weight: 1000; letter-spacing: .04em; line-height: .85; color: var(--gold2); text-shadow: 0 3px 0 #6d3b0c; }
.logo-manager { color: var(--gold); font-weight: 1000; letter-spacing: .25em; font-size: .7rem; }
.xp-widget { display: flex; align-items: center; gap: .5rem; flex: 1; min-width: 210px; }
.level-star { width: 58px; height: 58px; display: grid; place-items: center; font-weight: 1000; color: #2b1707; background: radial-gradient(circle, #fff1a7, #f3ac21 70%); clip-path: polygon(50% 0%, 61% 34%, 98% 35%, 68% 56%, 79% 91%, 50% 70%, 21% 91%, 32% 56%, 2% 35%, 39% 34%); }
.xp-bar { height: 24px; flex: 1; border: 1px solid rgba(255,226,141,.35); border-radius: 999px; background: #1b1009; position: relative; overflow: hidden; box-shadow: inset 0 2px 6px rgba(0,0,0,.7); }
.xp-bar i { position: absolute; inset: 3px auto 3px 3px; width: 61%; border-radius: 999px; background: linear-gradient(90deg, #cb7c16, #ffd35e); }
.xp-bar b { position: absolute; inset: 0; display: grid; place-items: center; font-size: .78rem; color: var(--cream); text-shadow: 0 1px 4px #000; }
.top-resources { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; justify-content: flex-end; }
.resource-pill { min-height: 48px; display: inline-flex; align-items: center; gap: .6rem; padding: .45rem .55rem .45rem .75rem; border-radius: 16px; background: linear-gradient(#472f1e, #1a100a); border: 1px solid rgba(255,226,141,.38); box-shadow: inset 0 2px 0 rgba(255,255,255,.1), 0 9px 20px rgba(0,0,0,.26); }
.resource-pill span { font-size: 1.5rem; }
.resource-pill strong { font-size: 1.05rem; white-space: nowrap; }
.mini-plus { width: 34px; height: 34px; border-radius: 10px; border: 1px solid rgba(255,226,141,.45); background: linear-gradient(#d48b24, #6d3b0c); color: var(--gold2); font-size: 1.4rem; font-weight: 1000; cursor: pointer; }
.icon-button { width: 48px; height: 48px; padding: 0; border-radius: 14px; position: relative; font-size: 1.25rem; }
.icon-button em { position: absolute; right: -6px; top: -8px; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 999px; background: #db4a25; color: #fff; font-style: normal; font-size: .78rem; display: grid; place-items: center; }
.playfield { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(330px, .58fr); gap: 1rem; align-items: stretch; }
.map-panel { min-height: 520px; border-radius: 24px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,.34); background: #22150d; border: 3px solid #1a0f08; position: relative; }
.game-map-panel { height: min(58vh, 640px); }
.map-title { position: absolute; left: .85rem; top: .8rem; z-index: 700; padding: .48rem .85rem; border-radius: 12px; background: linear-gradient(#4b3220, #1b110a); color: var(--cream); border: 1px solid var(--line); font-weight: 1000; text-transform: uppercase; box-shadow: 0 6px 14px rgba(0,0,0,.35); }
#map { width: 100%; height: 100%; min-height: 520px; background: #d8c8a1; }
.leaflet-tile { filter: sepia(.45) saturate(1.2) brightness(.92) contrast(1.05); }
.leaflet-container { background: #d8c8a1; font-family: inherit; }
.leaflet-pane, .leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-tile-container, .leaflet-pane > svg, .leaflet-pane > canvas, .leaflet-zoom-box, .leaflet-image-layer, .leaflet-layer { position: absolute; left: 0; top: 0; }
.leaflet-container { overflow: hidden; }
.map-icon { display: grid; place-items: center; border-radius: 999px; border: 2px solid #1b1009; background: linear-gradient(#ffd969, #d38316); box-shadow: 0 5px 10px rgba(0,0,0,.35); font-size: 1.15rem; }
.hq-icon { background: linear-gradient(#ebf4ff, #5f88a8); }
.job-icon { background: linear-gradient(#ffc977, #d4521c); }
.active-route-line { stroke: #ffbf34; stroke-dasharray: 9 8; }
.smartphone-wrap { display: grid; place-items: center; min-height: 520px; }
.phone-frame { width: min(100%, 378px); height: min(58vh, 640px); min-height: 520px; border-radius: 46px; padding: 16px 13px; background: linear-gradient(145deg, #0c0b0b, #39302b 45%, #0a0908); border: 3px solid #17100c; box-shadow: 0 24px 50px rgba(0,0,0,.48); position: relative; }
.phone-notch { position: absolute; left: 50%; top: 18px; transform: translateX(-50%); width: 112px; height: 24px; border-radius: 0 0 16px 16px; background: #0a0908; z-index: 3; }
.phone-screen { height: 100%; overflow: hidden; border-radius: 34px; background: radial-gradient(circle at 50% 0%, rgba(255,216,130,.34), transparent 45%), linear-gradient(160deg, #c76836 0%, #814022 38%, #2f1c13 100%); color: #fff; padding: 1rem; position: relative; }
.phone-status { display: flex; justify-content: space-between; align-items: center; font-size: .75rem; font-weight: 900; opacity: .9; margin-bottom: .7rem; }
.phone-view { height: calc(100% - 25px); overflow: auto; padding-bottom: .2rem; }
.phone-view h2 { margin: .4rem 0 1rem; text-align: center; font-size: 1.25rem; text-shadow: 0 2px 12px rgba(0,0,0,.45); }
.app-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.app-icon { border: 0; background: transparent; color: #fff; display: grid; justify-items: center; gap: .3rem; cursor: pointer; font: inherit; }
.app-icon span { width: 68px; height: 68px; border-radius: 18px; display: grid; place-items: center; font-size: 2rem; border: 1px solid rgba(255,255,255,.38); box-shadow: inset 0 2px 0 rgba(255,255,255,.26), 0 10px 16px rgba(0,0,0,.28); }
.app-icon b { font-size: .74rem; text-shadow: 0 2px 7px #000; }
.app-icon.yellow span { background: linear-gradient(#ffe27a, #d8891c); }
.app-icon.red span { background: linear-gradient(#e77648, #a9321d); }
.app-icon.blue span { background: linear-gradient(#62aee6, #23619d); }
.app-icon.green span { background: linear-gradient(#96ce5d, #3d7b2d); }
.app-icon.purple span { background: linear-gradient(#a46ee2, #6036a0); }
.app-icon.orange span { background: linear-gradient(#ffb35b, #d86818); }
.app-icon.brown span { background: linear-gradient(#8b7964, #3f3429); }
.app-icon.gray span { background: linear-gradient(#bbb2a6, #62594f); }
.phone-hint { margin: 1rem 0 0; font-size: .82rem; color: rgba(255,255,255,.75); text-align: center; }
.app-header { display: flex; align-items: center; gap: .7rem; margin: .2rem 0 1rem; }
.app-header div { display: grid; }
.app-header strong { font-size: 1.05rem; }
.app-header span { font-size: .78rem; color: rgba(255,255,255,.72); }
.app-back { width: 42px; height: 42px; padding: 0; border-radius: 14px; }
.phone-list { display: grid; gap: .7rem; }
.phone-card, .store-card { border: 1px solid rgba(255,224,150,.34); background: rgba(25,15,9,.72); border-radius: 18px; padding: .8rem; box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 10px 20px rgba(0,0,0,.23); }
.phone-card { display: grid; gap: .4rem; }
.job-top { display: flex; justify-content: space-between; gap: .5rem; align-items: start; }
.job-route { color: var(--gold2); font-weight: 900; }
.badge { display: inline-flex; align-items: center; padding: .2rem .48rem; border-radius: 999px; background: rgba(138,200,71,.16); color: #c7ff86; font-size: .72rem; font-weight: 1000; white-space: nowrap; }
.badge.busy { background: rgba(255,191,52,.16); color: #ffe198; }
.progress-row { display: grid; grid-template-columns: 1fr auto; gap: .55rem; align-items: center; margin-top: .55rem; }
.progress-shell { height: 8px; background: rgba(0,0,0,.38); border-radius: 999px; overflow: hidden; box-shadow: inset 0 2px 5px rgba(0,0,0,.5); }
.progress-bar { height: 100%; width: 0%; background: linear-gradient(90deg, #79bd3b, #f7d45b); border-radius: 999px; transition: width .3s ease; }
.countdown-pill { min-width: 58px; padding: .18rem .4rem; border-radius: 999px; background: #111; border: 1px solid rgba(255,224,150,.35); color: var(--gold2); font-weight: 1000; font-size: .75rem; text-align: center; }
.store-card { display: grid; gap: .5rem; }
.store-card img { width: 100%; height: 145px; object-fit: contain; border-radius: 14px; background: radial-gradient(circle, rgba(255,227,150,.18), rgba(0,0,0,.2)); border: 1px solid rgba(255,224,150,.26); }
.store-card h3 { margin: .2rem 0 0; font-size: 1.35rem; }
.store-card > strong { color: var(--gold2); }
.store-price { font-size: 2rem; font-weight: 1000; letter-spacing: -.04em; }
.price-row { display: flex; justify-content: space-between; gap: .5rem; padding: .45rem .55rem; border-radius: 12px; background: rgba(0,0,0,.24); color: var(--muted); }
.price-row b { color: var(--gold2); }
.taximeter-bar { margin-top: 1rem; padding: 1.1rem; border-radius: 26px; background: linear-gradient(#3c2718, #140d08); border: 2px solid #0e0905; box-shadow: inset 0 2px 0 rgba(255,255,255,.1), 0 20px 44px rgba(0,0,0,.36); display: grid; grid-template-columns: 1fr 1fr 1fr minmax(280px, 2.1fr) auto; gap: .8rem; align-items: stretch; position: relative; }
.taximeter-label { position: absolute; left: 50%; top: -18px; transform: translateX(-50%); border-radius: 14px; padding: .28rem 2.2rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 1000; color: #1d1006; background: linear-gradient(#ffd86a, #c87916); border: 1px solid #ffe39a; box-shadow: 0 6px 14px rgba(0,0,0,.32); }
.meter-box { min-height: 96px; padding: .9rem; border-radius: 18px; background: rgba(0,0,0,.28); border: 1px solid var(--line); display: grid; gap: .2rem; align-content: center; }
.meter-box span { color: var(--gold2); text-transform: uppercase; font-weight: 1000; }
.meter-box strong { font-size: clamp(1.5rem, 3vw, 2.25rem); letter-spacing: -.05em; }
.meter-box small { color: var(--muted); font-weight: 800; }
.fleet-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 1fr); gap: .7rem; overflow-x: auto; }
.fleet-card { text-align: left; min-width: 150px; color: var(--text); border: 1px solid var(--line); border-radius: 18px; padding: .55rem; background: rgba(0,0,0,.25); cursor: pointer; display: grid; gap: .25rem; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.fleet-card.selected { outline: 3px solid rgba(247,183,42,.45); }
.fleet-card img { width: 100%; height: 58px; object-fit: contain; }
.fleet-card strong { font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fleet-card small { color: var(--muted); font-size: .7rem; }
.fleet-status { width: fit-content; padding: .14rem .4rem; border-radius: 999px; font-size: .68rem; font-weight: 1000; }
.fleet-status.free { background: rgba(138,200,71,.18); color: #c7ff86; }
.fleet-status.busy { background: rgba(255,191,52,.16); color: #ffe198; }
.buy-big { min-width: 142px; font-size: 1rem; }
.events-dock { margin-top: .9rem; display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .8rem; }
.events-dock h2 { margin: 0; font-size: 1rem; color: var(--gold2); }
.event-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; }
.event-line { font-size: .8rem; color: var(--muted); padding: .55rem .65rem; border-radius: 14px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,224,150,.16); }
.bottom-nav { margin-top: .8rem; display: grid; grid-template-columns: repeat(6, 1fr); gap: .55rem; }
.nav-btn { min-height: 52px; text-transform: uppercase; }
.toast { position: fixed; z-index: 2000; right: 1rem; bottom: 1rem; max-width: 360px; background: linear-gradient(#4b3220, #1b110a); color: var(--cream); border: 1px solid var(--line); border-radius: 18px; padding: .85rem 1rem; box-shadow: var(--shadow); font-weight: 900; }
/* Admin */
.admin-wrap { max-width: 1500px; margin: 0 auto; padding: 1.2rem; }
.admin-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-header h1 { margin: .35rem 0 0; font-size: clamp(1.8rem, 4vw, 3.2rem); color: var(--gold2); }
.admin-actions { display: flex; align-items: center; gap: .75rem; }
.admin-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; margin: 1rem 0; }
.admin-card, .admin-table-card { background: rgba(35,22,13,.88); border: 1px solid var(--line); border-radius: 22px; padding: 1rem; box-shadow: 0 14px 36px rgba(0,0,0,.24); }
.admin-card span { color: var(--muted); display: block; font-size: .82rem; font-weight: 900; }
.admin-card strong { font-size: 1.55rem; }
.admin-table-card { overflow: auto; }
.admin-filter, .admin-form { display: grid; gap: 1rem; }
.admin-filter { grid-template-columns: 1fr auto auto; align-items: end; margin-bottom: 1rem; }
.admin-table { width: 100%; min-width: 980px; border-collapse: collapse; }
.admin-table th, .admin-table td { padding: .75rem; border-bottom: 1px solid rgba(255,224,150,.14); text-align: left; vertical-align: top; }
.admin-table th { color: var(--gold2); font-size: .8rem; text-transform: uppercase; }
.admin-row-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.inline-form { display: inline; }
.admin-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.admin-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.check-row { display: flex; align-items: center; gap: .55rem; }
.check-row input { width: auto; }
.danger-zone { border-color: rgba(217,74,49,.45); }
@media (max-width: 1200px) {
    .playfield { grid-template-columns: 1fr; }
    .phone-frame { width: min(100%, 460px); height: 620px; }
    .taximeter-bar { grid-template-columns: 1fr 1fr; }
    .fleet-strip { grid-column: 1 / -1; }
    .buy-big { grid-column: 1 / -1; }
    .event-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
    .auth-wrap { grid-template-columns: 1fr; padding: 1rem; }
    .dashboard-shell { width: calc(100% - 12px); margin: 6px auto; padding: .65rem; border-radius: 22px; }
    .game-topbar { align-items: stretch; flex-direction: column; }
    .top-resources { justify-content: flex-start; }
    .resource-pill { flex: 1; }
    .map-panel, #map { min-height: 420px; }
    .game-map-panel { height: 420px; }
    .phone-frame { height: 600px; min-height: 560px; }
    .taximeter-bar { grid-template-columns: 1fr; }
    .bottom-nav { grid-template-columns: 1fr 1fr; }
    .events-dock { grid-template-columns: 1fr; }
    .event-list { grid-template-columns: 1fr; }
    .place-form { grid-template-columns: 1fr; }
    .admin-grid, .admin-detail-grid, .admin-form-row, .admin-filter { grid-template-columns: 1fr; }
    .admin-header { flex-direction: column; align-items: stretch; }
}

/* v0.7 map, XP and streamlined dashboard updates */
.map-focus-button {
    position: absolute;
    right: .85rem;
    top: .8rem;
    z-index: 701;
    border: 1px solid rgba(255,219,137,.45);
    border-radius: 12px;
    padding: .5rem .75rem;
    background: linear-gradient(#4b3220, #1b110a);
    color: var(--cream);
    font-weight: 1000;
    cursor: pointer;
    box-shadow: 0 6px 14px rgba(0,0,0,.35);
}
.map-focus-button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.taximeter-bar { grid-template-columns: 1fr 1fr minmax(330px, 2.5fr) auto; }
.taximeter-label { min-width: min(520px, 70%); text-align: center; }
.fleet-card.following { outline: 3px solid rgba(107,188,255,.48); }
.active-route-line { stroke: #ffbf34; stroke-width: 5px; stroke-dasharray: 9 8; }
.route-line-pickup { stroke: #ffbf34; stroke-width: 5px; stroke-dasharray: 10 8; }
.route-line-trip { stroke: #72d44d; stroke-width: 5px; stroke-dasharray: none; }
.leaflet-interactive.route-line-trip { filter: drop-shadow(0 2px 4px rgba(0,0,0,.35)); }
.leaflet-interactive.route-line-pickup { filter: drop-shadow(0 2px 4px rgba(0,0,0,.35)); }
@media (max-width: 1200px) {
    .taximeter-bar { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 780px) {
    .map-focus-button { top: 3.6rem; left: .85rem; right: auto; }
    .taximeter-bar { grid-template-columns: 1fr; }
}

/* v0.9 Ereignis-Popup, Werkstatt und Stadt-Hintergrund */
body {
    background:
        linear-gradient(180deg, rgba(20,12,7,.18), rgba(20,12,7,.72)),
        url('../img/background_city.png') center/cover fixed no-repeat,
        linear-gradient(135deg, #2a1a12 0%, #6e3f22 48%, #21140d 100%);
}
.dashboard-shell {
    background:
        linear-gradient(145deg, rgba(255,205,130,.12), rgba(38,22,12,.78)),
        rgba(34,21,13,.86);
    backdrop-filter: blur(2px);
}
.event-popup {
    position: absolute;
    right: 1rem;
    top: 5.6rem;
    width: min(420px, calc(100% - 2rem));
    z-index: 1200;
    border-radius: 22px;
    border: 1px solid rgba(255,219,137,.42);
    background: linear-gradient(#3a2415, #150c07);
    box-shadow: var(--shadow);
    overflow: hidden;
}
.event-popup-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .85rem 1rem;
    border-bottom: 1px solid rgba(255,224,150,.16);
    color: var(--gold2);
}
.event-popup-head button {
    border: 0;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: rgba(0,0,0,.25);
    color: var(--cream);
    font-size: 1.3rem;
    cursor: pointer;
}
.event-list-popup {
    display: grid;
    gap: .55rem;
    max-height: 430px;
    overflow: auto;
    padding: .9rem;
}
.event-line.unread {
    color: var(--cream);
    border-color: rgba(255,213,106,.45);
    background: rgba(247,183,42,.16);
}
.bell-ring { animation: bell-ring .85s ease both; }
@keyframes bell-ring {
    0%, 100% { transform: rotate(0deg); }
    10% { transform: rotate(18deg); }
    25% { transform: rotate(-16deg); }
    40% { transform: rotate(12deg); }
    55% { transform: rotate(-8deg); }
    70% { transform: rotate(5deg); }
}
.workshop-icon {
    background: linear-gradient(#ffd96a, #b96d16);
    border: 3px solid #201207;
    border-radius: 999px;
    display: grid;
    place-items: center;
    box-shadow: 0 8px 18px rgba(0,0,0,.35);
}
.popup-button {
    margin-top: .35rem;
    border: 0;
    border-radius: 10px;
    padding: .4rem .55rem;
    background: #f5aa20;
    color: #211205;
    font-weight: 900;
    cursor: pointer;
}
.route-line-active-red { stroke: #e53935; stroke-width: 6px; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 2px 5px rgba(0,0,0,.45)); }
.route-line-preview { stroke-dasharray: 10 8; }
.repair-warning { color: #ffb0a8 !important; font-weight: 1000; }
.workshop-card span, .enrico-phone span { color: var(--muted); line-height: 1.35; }
.enrico-phone { gap: .35rem; }
.enrico-phone strong { color: var(--gold2); }
.repair-options { display: grid; gap: .6rem; }
.repair-options .button { display: grid; gap: .15rem; line-height: 1.15; white-space: normal; }
.repair-options small { opacity: .82; }
.workshop-scene {
    position: fixed;
    inset: clamp(.6rem, 2vw, 1.2rem);
    z-index: 1800;
    border-radius: 30px;
    border: 2px solid rgba(255,219,137,.5);
    background: url('../img/werkstatt.png') center/cover no-repeat;
    box-shadow: 0 30px 90px rgba(0,0,0,.72);
    overflow: hidden;
}
.workshop-scene::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.16), rgba(0,0,0,.04) 42%, rgba(0,0,0,.52));
}
.workshop-close {
    position: absolute;
    z-index: 4;
    right: 1rem;
    top: 1rem;
    width: 46px;
    height: 46px;
    border-radius: 999px;
    border: 1px solid rgba(255,219,137,.42);
    background: rgba(20,12,7,.72);
    color: var(--cream);
    font-size: 1.5rem;
    cursor: pointer;
}
.workshop-stage {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: end;
    justify-content: flex-end;
    padding: 2rem;
    gap: 1.2rem;
}
.enrico-figure {
    position: relative;
    z-index: 2;
    height: min(82vh, 780px);
    max-width: 38vw;
    object-fit: contain;
    filter: drop-shadow(0 18px 28px rgba(0,0,0,.55));
    animation: enrico-slide .55s cubic-bezier(.17,.84,.44,1) both;
}
.enrico-dialogue {
    position: relative;
    z-index: 3;
    width: min(520px, 92vw);
    margin-bottom: min(10vh, 90px);
    border: 1px solid rgba(255,219,137,.5);
    border-radius: 24px;
    padding: 1rem 1.1rem;
    background: rgba(29,19,12,.88);
    box-shadow: var(--shadow);
}
.enrico-dialogue strong { color: var(--gold2); font-size: 1.2rem; }
.enrico-dialogue p { margin: .4rem 0 0; line-height: 1.5; color: var(--cream); }
@keyframes enrico-slide {
    from { transform: translateX(120px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
@media (max-width: 780px) {
    .event-popup { top: 10rem; right: .5rem; width: calc(100% - 1rem); }
    .workshop-stage { justify-content: center; padding: 1rem; }
    .enrico-figure { max-width: 58vw; height: 62vh; }
    .enrico-dialogue { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; width: auto; margin: 0; }
}

/* v1.0 Smartphone-Wallpaper, Ruf oben, Werkstatt-Popup und reduzierter Unterbereich */
body {
    background:
        linear-gradient(180deg, rgba(20,12,7,.08), rgba(20,12,7,.38)),
        url('../img/background_city.png') center/cover fixed no-repeat,
        linear-gradient(135deg, #2a1a12 0%, #6e3f22 48%, #21140d 100%);
}
.dashboard-shell {
    background:
        linear-gradient(145deg, rgba(255,205,130,.08), rgba(38,22,12,.54)),
        rgba(34,21,13,.68);
    backdrop-filter: blur(1.4px);
}
.game-map-panel, .taximeter-bar, .phone-frame, .event-popup {
    background-color: rgba(22,13,8,.72);
}
.reputation-top {
    min-width: 168px;
    min-height: 50px;
    position: relative;
    display: grid;
    align-content: center;
    gap: .08rem;
    padding: .46rem .78rem;
    border-radius: 16px;
    background: linear-gradient(#472f1e, #1a100a);
    border: 1px solid rgba(255,226,141,.38);
    box-shadow: inset 0 2px 0 rgba(255,255,255,.1), 0 9px 20px rgba(0,0,0,.26);
    cursor: help;
}
.reputation-top span {
    color: var(--gold2);
    text-transform: uppercase;
    font-size: .68rem;
    font-weight: 1000;
    letter-spacing: .06em;
}
.reputation-top strong {
    color: #ffd65b;
    font-size: 1.18rem;
    letter-spacing: .05em;
    text-shadow: 0 2px 8px rgba(0,0,0,.55);
}
.reputation-preview {
    position: absolute;
    right: 0;
    top: calc(100% + .6rem);
    width: 260px;
    display: none;
    z-index: 1300;
    padding: .75rem;
    border-radius: 16px;
    background: linear-gradient(#3a2415, #150c07);
    border: 1px solid rgba(255,219,137,.42);
    box-shadow: var(--shadow);
}
.reputation-preview b { color: var(--gold2); display: block; margin-bottom: .18rem; }
.reputation-preview small { color: var(--muted); }
.reputation-top:hover .reputation-preview { display: block; }
.logout-button {
    font-size: 1.38rem;
    color: #ffd96a;
}
.phone-frame {
    border-radius: 52px;
    padding: 13px 11px 15px;
    border: 3px solid #050505;
    background: linear-gradient(145deg, #050505, #3b3738 42%, #070707);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 28px 58px rgba(0,0,0,.55);
}
.phone-notch {
    top: 18px;
    width: 118px;
    height: 30px;
    border-radius: 0 0 18px 18px;
    background: #050505;
    box-shadow: 0 3px 8px rgba(0,0,0,.35);
}
.phone-screen {
    padding: 1rem .92rem;
    background:
        linear-gradient(180deg, rgba(4,5,20,.08), rgba(5,4,14,.16)),
        url('../img/smartphone_wallpaper.png') center/cover no-repeat;
    color: #fff;
}
.phone-screen::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 34px;
    background: radial-gradient(circle at 50% 12%, rgba(255,255,255,.18), transparent 34%), linear-gradient(180deg, transparent 40%, rgba(0,0,0,.22));
    pointer-events: none;
}
.phone-status, .phone-view { position: relative; z-index: 1; }
.phone-status {
    margin: .1rem .25rem 1.45rem;
    padding: 0 .35rem;
}
.phone-view { height: calc(100% - 38px); }
.phone-view h2, .phone-hint { display: none !important; }
.app-grid { padding-top: 1.2rem; }
.app-icon span { backdrop-filter: blur(5px); }
.store-card { position: relative; }
.store-condition-badge {
    position: absolute;
    right: .7rem;
    top: .7rem;
    z-index: 2;
    padding: .18rem .5rem;
    border-radius: 999px;
    background: rgba(0,0,0,.52);
    border: 1px solid rgba(255,224,150,.42);
    color: var(--gold2);
    font-size: .72rem;
    font-weight: 1000;
}
.store-card.new-offer .store-condition-badge { color: #d8ff9d; }
.compact-meter.taximeter-bar {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    background: linear-gradient(#3c2718cc, #140d08cc);
}
.compact-meter .fleet-strip { min-height: 120px; }
.compact-meter .buy-big { min-height: 110px; }
.workshop-scene {
    inset: clamp(1rem, 4vw, 3rem);
    border-radius: 32px;
}
.workshop-scene::before {
    background: linear-gradient(90deg, rgba(0,0,0,.12), rgba(0,0,0,.02) 44%, rgba(0,0,0,.58));
}
.workshop-popup-controls {
    display: grid;
    gap: .75rem;
    margin-top: .9rem;
}
.workshop-popup-controls label { color: var(--muted); }
.scene-repair-options { grid-template-columns: 1fr; }
.enrico-dialogue {
    width: min(590px, 94vw);
    max-height: min(76vh, 720px);
    overflow: auto;
}
.enrico-dialogue em {
    color: var(--gold2);
    font-style: normal;
}
@media (max-width: 1200px) {
    .compact-meter.taximeter-bar { grid-template-columns: 1fr; }
    .compact-meter .buy-big { min-height: 82px; }
}
@media (max-width: 780px) {
    .reputation-top { min-width: 140px; }
    .reputation-preview { left: 0; right: auto; }
    .phone-status { margin-bottom: 1.2rem; }
    .workshop-scene { inset: .55rem; }
}

/* v1.1 Karten-Fix, echte Vollbild-Leitstelle und iPhone-artiges Swipen */
html, body { height: 100%; }
body.game-body { overflow: hidden; }
body.game-body #game { height: 100vh; overflow: hidden; }
body.game-body .dashboard-shell {
    width: calc(100vw - 20px);
    height: calc(100vh - 20px);
    min-height: 0;
    max-width: none;
    margin: 10px auto;
    padding: .72rem;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: .62rem;
    overflow: visible;
}
body.game-body .dashboard-shell::before { opacity: .78; }
body.game-body .game-topbar {
    z-index: 1600;
    min-height: 0;
    padding: 0;
    gap: .62rem;
    flex-wrap: nowrap;
}
body.game-body .game-logo {
    min-width: 168px;
    padding: .32rem .75rem .28rem;
}
body.game-body .logo-taxi { font-size: clamp(1.55rem, 2.15vw, 2.2rem); }
body.game-body .logo-manager { font-size: .62rem; }
body.game-body .xp-widget { min-width: 260px; max-width: 520px; }
body.game-body .level-star { width: 50px; height: 50px; }
body.game-body .top-resources { flex-wrap: nowrap; gap: .46rem; }
body.game-body .resource-pill { min-height: 44px; padding: .38rem .48rem .38rem .62rem; }
body.game-body .icon-button { width: 44px; height: 44px; }
body.game-body .playfield {
    min-height: 0;
    height: 100%;
    overflow: visible;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    align-items: stretch;
    z-index: 2;
}
body.game-body .map-panel,
body.game-body .game-map-panel,
body.game-body #map,
body.game-body .smartphone-wrap,
body.game-body .phone-frame {
    min-height: 0 !important;
    height: 100% !important;
}
body.game-body .map-panel {
    overflow: hidden;
    contain: layout paint;
    z-index: 1;
}
body.game-body #map {
    min-width: 0;
    background: #d8c8a1;
    cursor: grab;
}
body.game-body #map:active { cursor: grabbing; }
body.game-body .smartphone-wrap {
    align-items: stretch;
    justify-items: center;
    overflow: visible;
}
body.game-body .phone-frame {
    width: min(100%, 380px);
    max-height: none;
    padding: 12px 10px 14px;
}
body.game-body .phone-screen {
    height: 100%;
    padding: .86rem .76rem;
    overflow: hidden;
}
body.game-body .phone-status { margin-bottom: 1.05rem; }
body.game-body .phone-view {
    height: calc(100% - 33px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    scrollbar-width: none;
    scroll-behavior: smooth;
}
body.game-body .phone-view::-webkit-scrollbar { display: none; }
body.game-body #phoneHome.phone-view { overflow: hidden; }
body.game-body .app-grid {
    height: 100%;
    align-content: start;
    gap: clamp(.45rem, 1vh, .75rem);
    padding-top: clamp(.15rem, 1vh, .75rem);
}
body.game-body .app-icon span {
    width: clamp(50px, 7.8vh, 68px);
    height: clamp(50px, 7.8vh, 68px);
    font-size: clamp(1.45rem, 3.5vh, 2rem);
}
body.game-body .app-icon b { font-size: clamp(.62rem, 1.35vh, .74rem); }
body.game-body .phone-list,
body.game-body .store-offer { padding-bottom: .75rem; }
body.game-body .phone-card,
body.game-body .store-card { padding: .68rem; }
body.game-body .store-card img { height: clamp(86px, 17vh, 145px); }
body.game-body .store-price { font-size: clamp(1.35rem, 3vh, 2rem); }
body.game-body .compact-meter.taximeter-bar {
    margin-top: 0;
    z-index: 5;
    min-height: 128px;
    max-height: 23vh;
    padding: .85rem;
    grid-template-columns: minmax(0, 1fr) auto;
    overflow: visible;
}
body.game-body .compact-meter .fleet-strip {
    min-height: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}
body.game-body .fleet-card {
    min-width: 138px;
    align-content: start;
}
body.game-body .fleet-card img { height: clamp(46px, 7vh, 62px); }
body.game-body .compact-meter .buy-big {
    min-height: 92px;
    align-self: stretch;
}
/* Leaflet-Layer-Reparatur: Routen liegen sicher über Kacheln und unter den Markern. */
body.game-body .leaflet-container { z-index: 1; }
body.game-body .leaflet-tile-pane { z-index: 200 !important; }
body.game-body .leaflet-overlay-pane { z-index: 400 !important; }
body.game-body .leaflet-route-pane { z-index: 520 !important; pointer-events: none; }
body.game-body .leaflet-marker-pane { z-index: 650 !important; }
body.game-body .leaflet-tooltip-pane { z-index: 760 !important; }
body.game-body .leaflet-popup-pane { z-index: 900 !important; }
body.game-body .leaflet-control-container { position: relative; z-index: 950; }
body.game-body .route-line-active-red {
    stroke: #ff2525 !important;
    stroke-width: 7px !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    filter: drop-shadow(0 1px 0 #fff2) drop-shadow(0 3px 6px rgba(0,0,0,.55));
}
body.game-body .route-line-preview {
    stroke: #ff4b4b !important;
    stroke-width: 5px !important;
    stroke-dasharray: 10 8 !important;
    opacity: .62 !important;
}
/* Ruf-Popup darf nicht mehr hinter der Karte verschwinden. */
body.game-body .reputation-top { z-index: 2200; }
body.game-body .reputation-preview { z-index: 2600; pointer-events: auto; }
body.game-body .event-popup { z-index: 2300; }
@media (max-width: 1180px) {
    body.game-body { overflow: auto; }
    body.game-body #game { height: auto; min-height: 100vh; overflow: visible; }
    body.game-body .dashboard-shell {
        height: auto;
        min-height: calc(100vh - 12px);
        width: calc(100% - 12px);
        margin: 6px auto;
        overflow: visible;
    }
    body.game-body .game-topbar { flex-wrap: wrap; }
    body.game-body .playfield { grid-template-columns: 1fr; height: auto; }
    body.game-body .map-panel,
    body.game-body .game-map-panel,
    body.game-body #map { height: 52vh !important; min-height: 380px !important; }
    body.game-body .smartphone-wrap { height: 620px !important; min-height: 560px !important; }
    body.game-body .phone-frame { height: 100% !important; max-width: 430px; }
}
@media (max-width: 780px) {
    body.game-body .top-resources { flex-wrap: wrap; }
    body.game-body .xp-widget { min-width: 100%; }
    body.game-body .compact-meter.taximeter-bar { max-height: none; grid-template-columns: 1fr; }
    body.game-body .compact-meter .buy-big { min-height: 72px; }
}

/* v1.2: Fuhrpark-Parkplätze, Autohändler und kompaktere Hofleiste */
.button.danger {
    background: linear-gradient(#8c2f20, #35100a);
    color: #ffe6d8;
    border-color: rgba(255, 169, 120, .55);
}
.app-icon.navy span { background: linear-gradient(145deg, #193f6a, #0c1f35); }

body.game-body .compact-meter.taximeter-bar {
    min-height: 92px;
    max-height: 16vh;
    padding: .45rem .6rem;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem;
}
.fleet-wrap {
    min-width: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: .28rem;
}
.fleet-pagebar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .4rem;
    min-height: 26px;
    color: var(--gold2);
    font-weight: 1000;
    font-size: .82rem;
    letter-spacing: .02em;
}
.fleet-page-btn {
    width: 32px;
    height: 26px;
    border: 1px solid rgba(255,219,137,.42);
    border-radius: 10px;
    background: linear-gradient(#4b3220, #1b110a);
    color: var(--gold2);
    font-size: 1.25rem;
    font-weight: 1000;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
}
.fleet-page-btn:disabled { opacity: .35; cursor: default; }
.paged-fleet {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(90px, 1fr));
    gap: .38rem;
    overflow: hidden !important;
}
body.game-body .fleet-card {
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding: .34rem;
    border-radius: 12px;
    gap: .12rem;
}
body.game-body .fleet-card img {
    height: clamp(30px, 4.8vh, 42px);
    margin-top: -.08rem;
}
body.game-body .fleet-card strong { font-size: .72rem; line-height: 1.02; }
body.game-body .fleet-card small { font-size: .58rem; line-height: 1.05; }
body.game-body .fleet-status { font-size: .54rem; padding: .1rem .32rem; }
.parking-empty {
    border-style: dashed !important;
    opacity: .82;
    display: grid;
    place-items: center;
    text-align: center;
    background: linear-gradient(#2f2116aa, #120b07aa) !important;
}
.empty-parking-icon { font-size: 1.4rem; opacity: .72; }
.meter-actions {
    display: grid;
    gap: .45rem;
    width: min(190px, 18vw);
    min-width: 150px;
}
body.game-body .compact-meter .buy-big,
body.game-body .compact-meter .buy-parking {
    min-height: 0;
    height: 100%;
    padding: .55rem .65rem;
    font-size: .86rem;
}
.buy-parking { color: var(--cream); }

.dealer-scene {
    position: fixed;
    inset: clamp(1rem, 4vw, 3rem);
    z-index: 2400;
    border-radius: 32px;
    overflow: hidden;
    border: 1px solid rgba(255,219,137,.52);
    background: #120b07 url('../img/autohandel.png') center/cover no-repeat;
    box-shadow: var(--shadow);
}
.dealer-scene::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.04) 42%, rgba(0,0,0,.64));
}
.dealer-close {
    position: absolute;
    right: 1rem;
    top: 1rem;
    z-index: 5;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,219,137,.55);
    border-radius: 14px;
    background: linear-gradient(#4b3220, #1b110a);
    color: var(--cream);
    font-size: 1.55rem;
    cursor: pointer;
}
.dealer-stage {
    position: relative;
    z-index: 2;
    min-height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding: 2rem clamp(1rem, 4vw, 3rem);
}
.dealer-figure {
    max-height: min(92vh, 980px);
    max-width: min(46vw, 620px);
    object-fit: contain;
    align-self: end;
    transform: translate(-34px, 34px) scale(1.08);
    transform-origin: bottom left;
    filter: drop-shadow(0 24px 34px rgba(0,0,0,.65));
    animation: dealerSlideIn .42s ease-out both;
}
@keyframes dealerSlideIn {
    from { transform: translate(48px, 34px) scale(1.02); opacity: 0; }
    to { transform: translate(-34px, 34px) scale(1.08); opacity: 1; }
}
.dealer-dialogue {
    width: min(620px, 96vw);
    max-height: min(72vh, 720px);
    overflow: auto;
    padding: 1.05rem;
    margin-bottom: clamp(3rem, 10vh, 7rem);
    border-radius: 24px;
    background: linear-gradient(#3a2415e8, #150c07ee);
    border: 1px solid rgba(255,219,137,.5);
    box-shadow: var(--shadow);
}
.dealer-dialogue > strong { color: var(--gold2); font-size: 1.2rem; }
.dealer-dialogue p { color: var(--cream); line-height: 1.45; }
.dealer-popup-controls { display: grid; gap: .75rem; }
.dealer-offer-box,
.wheel-result {
    display: grid;
    gap: .25rem;
    padding: .75rem;
    border-radius: 16px;
    border: 1px solid rgba(255,219,137,.32);
    background: rgba(0,0,0,.28);
}
.dealer-offer-box strong,
.wheel-result strong { color: var(--gold2); }
.mini-wheel {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(255,219,137,.42);
    box-shadow: inset 0 2px 0 rgba(255,255,255,.12);
}
.mini-wheel span {
    padding: .62rem .35rem;
    text-align: center;
    font-weight: 1000;
    color: #211205;
    background: linear-gradient(#ffe07a, #cb7c16);
    border-right: 1px solid rgba(0,0,0,.22);
    transition: transform .15s ease, filter .15s ease, background .15s ease;
}
.mini-wheel span:last-child { border-right: 0; }
.mini-wheel.spinning span.active,
.mini-wheel span.final,
.mini-wheel span.active {
    background: linear-gradient(#fff4b4, #f4a01a);
    filter: brightness(1.08) drop-shadow(0 0 8px rgba(255,226,125,.45));
    transform: scale(1.02);
}
.mini-wheel.spinning { animation: wheelPulse .6s linear infinite; }
@keyframes wheelPulse {
    0%,100% { box-shadow: inset 0 2px 0 rgba(255,255,255,.12), 0 0 0 rgba(255,189,73,0); }
    50% { box-shadow: inset 0 2px 0 rgba(255,255,255,.12), 0 0 18px rgba(255,189,73,.32); }
}
.wheel-result.caught { border-color: rgba(255,90,70,.55); background: rgba(130,20,10,.34); }

body.game-body .app-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(.34rem, .82vh, .62rem);
}
body.game-body .app-icon span {
    width: clamp(45px, 6.8vh, 62px);
    height: clamp(45px, 6.8vh, 62px);
}
body.game-body .app-icon b { font-size: clamp(.58rem, 1.2vh, .7rem); }

@media (max-width: 1180px) {
    .paged-fleet { grid-template-columns: repeat(5, minmax(86px, 1fr)); }
    .meter-actions { width: 100%; grid-template-columns: 1fr 1fr; }
    .dealer-stage { justify-content: center; }
    .dealer-figure { max-width: 38vw; transform: translate(-18px, 26px) scale(1.05); }
}
@media (max-width: 780px) {
    .paged-fleet { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dealer-stage { display: grid; align-content: end; }
    .dealer-figure { max-width: 64vw; max-height: 46vh; justify-self: start; transform: translate(-10px, 18px) scale(1.02); }
    .dealer-dialogue { max-height: 46vh; margin-bottom: 0; }
}

/* v1.4: Viewport-Fix, Tankstelle, Sauberkeit */
body.game-body .dashboard-shell {
    grid-template-rows: auto minmax(0, 1fr) clamp(92px, 15.5vh, 124px);
    overflow: hidden;
}
body.game-body .compact-meter.taximeter-bar {
    height: 100%;
    min-height: 0;
    max-height: none;
    overflow: hidden;
    align-self: stretch;
}
body.game-body .fleet-wrap { min-height: 0; overflow: hidden; }
body.game-body .fleet-pagebar { min-height: 20px; font-size: .72rem; }
body.game-body .fleet-page-btn { width: 28px; height: 22px; font-size: 1rem; }
body.game-body .paged-fleet { min-height: 0; height: 100%; }
body.game-body .fleet-card { overflow: hidden; }
body.game-body .fleet-card .progress-row { margin-top: .05rem; }
body.game-body .meter-actions { min-height: 0; height: 100%; }
body.game-body .compact-meter .buy-big,
body.game-body .compact-meter .buy-parking { padding: .36rem .5rem; font-size: .78rem; }
.app-icon.dark span { background: linear-gradient(145deg, #2d2a2b, #111); color: #ffc233; }
.map-icon.gas-icon { background: linear-gradient(#ffd961, #c47a11); border-color: #4b2d09; }
.gas-scene {
    position: fixed;
    inset: clamp(1rem, 4vw, 3rem);
    z-index: 2400;
    border-radius: 32px;
    overflow: hidden;
    border: 1px solid rgba(255,219,137,.52);
    background: #120b07 url('../img/tankstelle.png') center/cover no-repeat;
    box-shadow: var(--shadow);
}
.gas-scene::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.1), rgba(0,0,0,.08) 45%, rgba(0,0,0,.68));
}
.gas-close {
    position: absolute;
    right: 1rem;
    top: 1rem;
    z-index: 5;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,219,137,.55);
    border-radius: 14px;
    background: linear-gradient(#4b3220, #1b110a);
    color: var(--cream);
    font-size: 1.55rem;
    cursor: pointer;
}
.gas-stage {
    position: relative;
    z-index: 2;
    min-height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding: 2rem clamp(1rem, 4vw, 3rem);
}
.pauline-figure {
    max-height: min(90vh, 940px);
    max-width: min(38vw, 520px);
    object-fit: contain;
    align-self: end;
    transform: translate(-20px, 38px) scale(1.05);
    transform-origin: bottom left;
    filter: drop-shadow(0 24px 34px rgba(0,0,0,.65));
    animation: paulineSlideIn .42s ease-out both;
}
@keyframes paulineSlideIn {
    from { transform: translate(-120px, 38px) scale(1); opacity: 0; }
    to { transform: translate(-20px, 38px) scale(1.05); opacity: 1; }
}
.pauline-dialogue {
    width: min(620px, 96vw);
    max-height: min(72vh, 720px);
    overflow: auto;
    padding: 1.05rem;
    margin-bottom: clamp(2rem, 8vh, 5rem);
    border-radius: 24px;
    background: linear-gradient(#3a2415e8, #150c07ee);
    border: 1px solid rgba(255,219,137,.5);
    box-shadow: var(--shadow);
}
.pauline-dialogue > strong { color: var(--gold2); font-size: 1.2rem; }
.pauline-dialogue p { color: var(--cream); line-height: 1.45; }
.gas-popup-controls { display: grid; gap: .75rem; }
.pauline-offer-box {
    display: grid;
    gap: .25rem;
    padding: .75rem;
    border-radius: 16px;
    border: 1px solid rgba(255,219,137,.32);
    background: rgba(0,0,0,.28);
}
.pauline-offer-box strong { color: var(--gold2); }
@media (max-width: 1180px) {
    body.game-body .dashboard-shell { grid-template-rows: auto auto auto; overflow: visible; }
    .gas-stage { justify-content: center; }
    .pauline-figure { max-width: 38vw; }
}
@media (max-width: 780px) {
    .gas-stage { display: grid; align-content: end; }
    .pauline-figure { max-width: 64vw; max-height: 46vh; justify-self: start; transform: translate(-10px, 18px) scale(1.02); }
    .pauline-dialogue { max-height: 46vh; margin-bottom: 0; }
}

/* v1.4.3: Grafik-/Überlappungs-Hotfix */
body.game-body .dashboard-shell {
    grid-template-rows: auto minmax(0, 1fr) clamp(88px, 12.8vh, 110px);
    gap: .5rem;
    padding-bottom: .58rem;
}
body.game-body .playfield {
    min-height: 0;
}
body.game-body .compact-meter.taximeter-bar {
    min-width: 0;
    padding: .45rem .55rem .42rem;
    padding-top: .78rem;
    overflow: hidden;
    border-radius: 22px;
}
body.game-body .taximeter-label {
    top: -15px;
    max-width: min(520px, 46vw);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding: .22rem 1.6rem;
    font-size: clamp(.72rem, 1.25vw, .92rem);
    line-height: 1.1;
    z-index: 6;
    pointer-events: none;
}
body.game-body .fleet-wrap {
    min-width: 0;
    padding-top: .18rem;
}
body.game-body .fleet-pagebar {
    min-height: 18px;
    height: 18px;
    line-height: 1;
    font-size: .68rem;
    margin-top: .05rem;
}
body.game-body .fleet-page-btn {
    width: 25px;
    height: 20px;
    line-height: 18px;
    border-radius: 8px;
}
body.game-body .paged-fleet {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .34rem;
    min-width: 0;
}
body.game-body .fleet-card {
    padding: .28rem .34rem;
    border-radius: 12px;
    gap: .08rem;
    min-width: 0;
}
body.game-body .fleet-card img {
    height: clamp(24px, 4.1vh, 36px);
}
body.game-body .fleet-card strong {
    font-size: .66rem;
    line-height: 1;
}
body.game-body .fleet-card small {
    font-size: .54rem;
    line-height: 1.02;
}
body.game-body .fleet-status {
    font-size: .5rem;
    padding: .08rem .28rem;
}
body.game-body .fleet-card .progress-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .2rem;
}
body.game-body .fleet-card .countdown-pill {
    font-size: .56rem;
    padding: .06rem .24rem;
}
body.game-body .meter-actions {
    width: clamp(145px, 10.6vw, 184px);
    min-width: 135px;
    gap: .35rem;
    align-self: stretch;
}
body.game-body .compact-meter .buy-big,
body.game-body .compact-meter .buy-parking {
    min-height: 0;
    height: 100%;
    padding: .28rem .42rem;
    font-size: clamp(.68rem, .86vw, .82rem);
    border-radius: 15px;
}
body.game-body .empty-parking-icon {
    font-size: 1rem;
}

/* Leaflet-Popups im Spiel-Look: kein weißer/geisterhafter Text mehr direkt auf der Karte */
body.game-body .leaflet-popup-pane {
    z-index: 1200 !important;
}
body.game-body .leaflet-popup {
    margin-bottom: 18px;
}
body.game-body .leaflet-popup-content-wrapper {
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(61, 38, 22, .96), rgba(19, 11, 7, .98));
    color: var(--cream);
    border: 1px solid rgba(255, 219, 137, .55);
    box-shadow: 0 18px 38px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.12);
    overflow: hidden;
}
body.game-body .leaflet-popup-content {
    margin: .72rem .82rem;
    min-width: 190px;
    max-width: min(270px, 68vw);
    color: var(--cream);
    font-size: .82rem;
    line-height: 1.3;
}
body.game-body .leaflet-popup-content .game-map-popup {
    display: grid;
    gap: .18rem;
}
body.game-body .leaflet-popup-content strong {
    color: var(--gold2);
    font-weight: 1000;
    font-size: .92rem;
}
body.game-body .leaflet-popup-content small {
    color: var(--muted);
}
body.game-body .leaflet-popup-tip {
    background: rgba(32, 19, 11, .98);
    border: 1px solid rgba(255, 219, 137, .42);
    box-shadow: 0 8px 18px rgba(0,0,0,.38);
}
body.game-body .leaflet-container a.leaflet-popup-close-button {
    top: .18rem;
    right: .2rem;
    width: 24px;
    height: 24px;
    line-height: 22px;
    border-radius: 999px;
    color: #251406;
    background: linear-gradient(#ffe083, #d58518);
    border: 1px solid rgba(255,232,166,.8);
    font-size: 16px;
    font-weight: 900;
    box-shadow: 0 3px 9px rgba(0,0,0,.35);
}
body.game-body .leaflet-container a.leaflet-popup-close-button:hover {
    color: #120804;
    background: linear-gradient(#fff0a8, #f2a51f);
}
body.game-body .popup-button {
    margin-top: .42rem;
    border-radius: 12px;
    border: 1px solid rgba(255,226,141,.55);
    background: linear-gradient(#ffd762, #d8891b);
    color: #1d1006;
    font-weight: 1000;
    padding: .38rem .58rem;
    cursor: pointer;
}

@media (max-width: 1380px) {
    body.game-body .dashboard-shell {
        grid-template-rows: auto minmax(0, 1fr) clamp(84px, 12.4vh, 104px);
    }
    body.game-body .game-logo { min-width: 150px; }
    body.game-body .playfield { grid-template-columns: minmax(0, 1fr) minmax(285px, 350px); }
    body.game-body .meter-actions { width: clamp(136px, 10.5vw, 170px); min-width: 128px; }
}

/* v1.5: Kartenhandling, Mockup-Look, Smartphone-Aufräumung und Admin-Errorlog */
body.game-body::before {
    opacity: .72;
    filter: saturate(1.12) contrast(1.04);
}
body.game-body::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 12%, rgba(255, 203, 87, .18), transparent 34%),
        radial-gradient(circle at 88% 20%, rgba(126, 71, 41, .24), transparent 38%),
        linear-gradient(180deg, rgba(20,12,7,.1), rgba(0,0,0,.28));
    z-index: -1;
}
body.game-body .dashboard-shell {
    background: linear-gradient(180deg, rgba(42, 27, 17, .74), rgba(12, 8, 5, .82));
    border-color: rgba(255, 219, 137, .42);
    box-shadow: 0 22px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.13);
    backdrop-filter: blur(5px) saturate(1.1);
}
body.game-body .game-topbar,
body.game-body .compact-meter.taximeter-bar,
body.game-body .phone-card,
body.game-body .store-card {
    background: linear-gradient(145deg, rgba(50,31,19,.84), rgba(14,9,6,.82));
}
body.game-body .game-map-panel,
body.game-body .map-panel {
    box-shadow: inset 0 0 0 1px rgba(255,219,137,.3), 0 12px 32px rgba(0,0,0,.3);
}
body.game-body .leaflet-container {
    cursor: grab;
}
body.game-body .leaflet-container:active {
    cursor: grabbing;
}
body.game-body .app-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-content: start;
    justify-content: center;
    gap: clamp(.62rem, 1.25vh, .9rem);
}
body.game-body .app-icon:nth-child(4),
body.game-body .app-icon:nth-child(5) {
    transform: translateX(54%);
}
body.game-body .app-icon.app-launch-flash span {
    animation: appLaunchFlash .85s ease-out both;
}
@keyframes appLaunchFlash {
    0% { transform: scale(1); filter: brightness(1); }
    22% { transform: scale(1.14); filter: brightness(1.35) drop-shadow(0 0 14px rgba(255,205,84,.75)); }
    55% { transform: scale(.98); }
    100% { transform: scale(1); filter: brightness(1); }
}
body.game-body .pauline-figure {
    transform: translate(58px, 38px) scale(1.05);
}
@keyframes paulineSlideIn {
    from { transform: translate(-30px, 38px) scale(1); opacity: 0; }
    to { transform: translate(58px, 38px) scale(1.05); opacity: 1; }
}
body.game-body .leaflet-tooltip {
    border: 1px solid rgba(255,219,137,.45);
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(54,34,20,.96), rgba(16,10,6,.98));
    color: var(--cream);
    box-shadow: 0 10px 24px rgba(0,0,0,.4);
    font-weight: 900;
}
body.game-body .leaflet-tooltip-top:before {
    border-top-color: rgba(30, 18, 10, .98);
}
.error-log-box {
    max-height: 260px;
    overflow: auto;
    display: grid;
    gap: .35rem;
    padding: .75rem;
    border-radius: 16px;
    background: rgba(0,0,0,.35);
    border: 1px solid rgba(255, 123, 97, .35);
    color: #ffd7cd;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .78rem;
    line-height: 1.35;
}
.admin-error-log h2 { color: #ffd0c7; }

@media (max-width: 1380px) {
    body.game-body .app-icon:nth-child(4),
    body.game-body .app-icon:nth-child(5) { transform: none; }
}

/* v1.6: Dashboard vor Karte, Vanessa weiter rechts, Account-App und iPhone-App-Animationen */
body.game-body .dashboard-shell {
    grid-template-rows: auto minmax(0, 1fr) clamp(112px, 14.8vh, 136px) !important;
    overflow: hidden;
}
body.game-body .playfield {
    z-index: 2;
    overflow: hidden;
}
body.game-body .map-panel,
body.game-body .game-map-panel {
    z-index: 1;
    isolation: isolate;
    overflow: hidden !important;
}
body.game-body .leaflet-container {
    z-index: 0 !important;
}
body.game-body .compact-meter.taximeter-bar {
    position: relative;
    z-index: 3000 !important;
    min-height: 112px;
    max-height: 136px;
    isolation: isolate;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 -4px 22px rgba(0,0,0,.32), 0 18px 40px rgba(0,0,0,.4);
}
body.game-body .compact-meter .fleet-card img {
    height: clamp(30px, 4.6vh, 44px);
}
body.game-body .pauline-figure {
    transform: translate(136px, 38px) scale(1.05) !important;
}
@keyframes paulineSlideIn {
    from { transform: translate(42px, 38px) scale(1); opacity: 0; }
    to { transform: translate(136px, 38px) scale(1.05); opacity: 1; }
}
body.game-body .phone-screen.phone-app-open {
    background:
        linear-gradient(180deg, rgba(4,5,20,.08), rgba(5,4,14,.16)),
        url('../img/wallpaper_open.png') center/cover no-repeat;
}
body.game-body .app-view.app-zoom-in {
    animation: appZoomIn .28s cubic-bezier(.18,.85,.24,1) both;
    transform-origin: center center;
}
body.game-body #phoneHome.home-swipe-in {
    animation: phoneHomeSwipeIn .32s cubic-bezier(.18,.85,.24,1) both;
}
@keyframes appZoomIn {
    from { opacity: 0; transform: scale(.86) translateY(18px); filter: blur(2px); }
    to { opacity: 1; transform: scale(1) translateY(0); filter: blur(0); }
}
@keyframes phoneHomeSwipeIn {
    from { opacity: .1; transform: translateX(-26px) scale(.98); }
    to { opacity: 1; transform: translateX(0) scale(1); }
}
body.game-body .app-icon:nth-child(4),
body.game-body .app-icon:nth-child(5) {
    transform: none !important;
}
body.game-body .app-icon.gray span {
    background: linear-gradient(145deg, #a9a29a, #4b4743);
}
.settings-form {
    gap: .62rem;
}
.settings-form label {
    display: grid;
    gap: .24rem;
    color: rgba(255,255,255,.78);
    font-size: .78rem;
    font-weight: 900;
}
.settings-form input {
    width: 100%;
    min-height: 39px;
    border-radius: 12px;
    border: 1px solid rgba(255,224,150,.32);
    background: rgba(0,0,0,.34);
    color: #fff;
    padding: .55rem .65rem;
    outline: none;
}
.settings-form input:focus {
    border-color: rgba(255,216,110,.72);
    box-shadow: 0 0 0 3px rgba(255,202,73,.15);
}
.settings-danger {
    border-color: rgba(255,116,92,.42) !important;
}
.settings-danger strong {
    color: #ffd0c7;
}
.store-daily-offer {
    color: var(--gold2);
    font-weight: 1000;
    letter-spacing: .01em;
}
.map-icon.gas-icon {
    box-shadow: 0 0 0 3px rgba(255,211,83,.28), 0 10px 22px rgba(0,0,0,.42);
}

@media (max-width: 1180px) {
    body.game-body .dashboard-shell {
        overflow: visible;
        grid-template-rows: auto auto auto !important;
    }
    body.game-body .compact-meter.taximeter-bar {
        max-height: none;
    }
    body.game-body .pauline-figure {
        transform: translate(84px, 28px) scale(1.03) !important;
    }
}
@media (max-width: 780px) {
    body.game-body .pauline-figure {
        transform: translate(24px, 18px) scale(1.02) !important;
    }
}

/* v1.7: Dashboard-/Service-Hotfix, feste Pins, Feuerwehr-Feedback */
body.game-body .dashboard-shell {
    grid-template-rows: auto minmax(0, 1fr) clamp(152px, 19vh, 184px) !important;
    gap: .58rem !important;
    overflow: hidden !important;
}
body.game-body .playfield {
    z-index: 5 !important;
    min-height: 0 !important;
}
body.game-body .map-panel,
body.game-body .game-map-panel {
    z-index: 1 !important;
}
body.game-body .taximeter-bar.compact-meter {
    position: relative !important;
    z-index: 9999 !important;
    min-height: clamp(152px, 19vh, 184px) !important;
    max-height: clamp(152px, 19vh, 184px) !important;
    padding: .78rem .78rem .68rem !important;
    padding-top: 1.95rem !important;
    overflow: visible !important;
    transform: translateZ(0);
}
body.game-body .taximeter-label {
    top: .42rem !important;
    z-index: 10002 !important;
    max-width: min(720px, 58vw) !important;
    padding: .3rem 1.65rem !important;
    font-size: clamp(.82rem, 1.28vw, 1.06rem) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.42) !important;
}
body.game-body .fleet-wrap {
    padding-top: .1rem !important;
    min-height: 0 !important;
    overflow: hidden !important;
}
body.game-body .fleet-pagebar {
    min-height: 25px !important;
    height: 25px !important;
    font-size: .82rem !important;
    margin-bottom: .18rem !important;
}
body.game-body .paged-fleet {
    height: calc(100% - 29px) !important;
    gap: .48rem !important;
}
body.game-body .fleet-card {
    padding: .44rem .5rem !important;
    border-radius: 15px !important;
    gap: .12rem !important;
}
body.game-body .fleet-card img {
    height: clamp(34px, 5.4vh, 52px) !important;
}
body.game-body .fleet-card strong {
    font-size: .78rem !important;
}
body.game-body .fleet-card small {
    font-size: .61rem !important;
}
body.game-body .meter-actions {
    width: clamp(170px, 12vw, 215px) !important;
    min-width: 165px !important;
    gap: .55rem !important;
}
body.game-body .compact-meter .buy-big,
body.game-body .compact-meter .buy-parking {
    font-size: clamp(.78rem, .92vw, .94rem) !important;
    padding: .48rem .66rem !important;
}
body.game-body .pauline-figure {
    transform: translate(186px, 38px) scale(1.05) !important;
}
@keyframes paulineSlideIn {
    from { transform: translate(92px, 38px) scale(1); opacity: 0; }
    to { transform: translate(186px, 38px) scale(1.05); opacity: 1; }
}
body.game-body .map-icon.workshop-icon,
body.game-body .map-icon.gas-icon {
    z-index: 750 !important;
    filter: drop-shadow(0 9px 15px rgba(0,0,0,.55));
}
body.game-body .map-icon.workshop-icon {
    background: linear-gradient(#ffce62, #9b5a13) !important;
    border-color: #2b1606 !important;
}
body.game-body .map-icon.gas-icon {
    background: linear-gradient(#ffd961, #c47a11) !important;
    border-color: #2b1606 !important;
}
.active-service-card {
    display: grid;
    gap: .62rem;
    padding: .85rem;
    border-radius: 18px;
    border: 1px solid rgba(255,219,137,.38);
    background: rgba(0,0,0,.32);
}
.active-service-card strong { color: var(--gold2); }
.service-countdown {
    display: grid;
    gap: .4rem;
    padding: .62rem;
    border-radius: 15px;
    background: rgba(255,190,62,.11);
    border: 1px solid rgba(255,219,137,.26);
}
.service-countdown strong {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    color: #fff3cb;
}
.mini-fireworks {
    position: absolute;
    left: 50%;
    top: 34%;
    width: 1px;
    height: 1px;
    z-index: 10020;
    pointer-events: none;
}
.mini-fireworks i {
    position: absolute;
    left: 0;
    top: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: radial-gradient(circle, #fff8c5, #ffd451 45%, #ff8a1f 78%, transparent 82%);
    animation: miniFirework .9s cubic-bezier(.18,.76,.22,1) var(--delay, 0ms) both;
    box-shadow: 0 0 16px rgba(255,209,78,.82);
}
@keyframes miniFirework {
    from { opacity: 1; transform: translate(0,0) scale(.35); }
    70% { opacity: 1; }
    to { opacity: 0; transform: translate(var(--x), var(--y)) scale(1.12); }
}
@media (max-width: 1180px) {
    body.game-body .dashboard-shell { grid-template-rows: auto auto auto !important; overflow: auto !important; }
    body.game-body .taximeter-bar.compact-meter { max-height: none !important; min-height: 160px !important; }
    body.game-body .pauline-figure { transform: translate(115px, 28px) scale(1.03) !important; }
}
@media (max-width: 780px) {
    body.game-body .pauline-figure { transform: translate(42px, 18px) scale(1.02) !important; }
}

/* v1.8: Popup-/Dashboard-Z-Index-Fix, dunkler Backdrop und Vanessa-Feinschliff */
body.game-body .dashboard-shell {
    grid-template-rows: auto minmax(0, 1fr) clamp(184px, 22vh, 230px) !important;
    gap: .65rem !important;
    overflow: hidden !important;
}
body.game-body .playfield {
    z-index: 2 !important;
    min-height: 0 !important;
}
body.game-body .map-panel,
body.game-body .game-map-panel,
body.game-body .smartphone-wrap {
    z-index: 1 !important;
}
body.game-body .taximeter-bar.compact-meter {
    position: relative !important;
    z-index: 1800 !important;
    min-height: clamp(184px, 22vh, 230px) !important;
    max-height: clamp(184px, 22vh, 230px) !important;
    padding: 2.2rem .95rem .86rem !important;
    overflow: hidden !important;
    border-width: 2px !important;
    background: linear-gradient(180deg, rgba(62,40,24,.94), rgba(17,10,6,.94)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 -6px 24px rgba(0,0,0,.45), 0 18px 44px rgba(0,0,0,.48) !important;
}
body.game-body .taximeter-label {
    top: .52rem !important;
    z-index: 1810 !important;
    min-width: min(560px, 52vw) !important;
    max-width: min(760px, 62vw) !important;
    padding: .36rem 1.8rem !important;
    font-size: clamp(.92rem, 1.35vw, 1.16rem) !important;
    letter-spacing: .08em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
body.game-body .fleet-wrap {
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    padding-top: .18rem !important;
}
body.game-body .fleet-pagebar {
    min-height: 29px !important;
    height: 29px !important;
    font-size: .9rem !important;
    line-height: 1 !important;
    margin-bottom: .28rem !important;
}
body.game-body .paged-fleet {
    height: calc(100% - 34px) !important;
    min-height: 0 !important;
    gap: .62rem !important;
}
body.game-body .fleet-card {
    padding: .58rem .66rem !important;
    border-radius: 17px !important;
    gap: .18rem !important;
    align-content: center !important;
}
body.game-body .fleet-card img {
    height: clamp(42px, 6.4vh, 66px) !important;
}
body.game-body .fleet-card strong {
    font-size: .88rem !important;
    line-height: 1.08 !important;
}
body.game-body .fleet-card small {
    font-size: .69rem !important;
    line-height: 1.16 !important;
}
body.game-body .fleet-status {
    font-size: .64rem !important;
}
body.game-body .meter-actions {
    width: clamp(190px, 13.5vw, 235px) !important;
    min-width: 185px !important;
    gap: .68rem !important;
}
body.game-body .compact-meter .buy-big,
body.game-body .compact-meter .buy-parking {
    font-size: clamp(.88rem, 1.04vw, 1rem) !important;
    padding: .62rem .75rem !important;
    border-radius: 16px !important;
}
body.game-body .compact-meter .buy-big {
    min-height: 70px !important;
}
body.game-body .compact-meter .buy-parking {
    min-height: 58px !important;
}

/* Szenen-Popups stehen immer über Dashboard, Karte und Smartphone. */
body.game-body .workshop-scene,
body.game-body .dealer-scene,
body.game-body .gas-scene {
    z-index: 90000 !important;
    box-shadow: 0 0 0 100vmax rgba(0,0,0,.72), 0 34px 100px rgba(0,0,0,.82) !important;
}
body.game-body .workshop-scene::before,
body.game-body .dealer-scene::before,
body.game-body .gas-scene::before {
    background: linear-gradient(90deg, rgba(0,0,0,.12), rgba(0,0,0,.1) 44%, rgba(0,0,0,.7)) !important;
}
body.game-body .workshop-close,
body.game-body .dealer-close,
body.game-body .gas-close {
    z-index: 90010 !important;
}
body.game-body .enrico-dialogue,
body.game-body .dealer-dialogue,
body.game-body .pauline-dialogue {
    z-index: 90005 !important;
}
body.game-body .gas-scene {
    inset: clamp(.7rem, 2.4vw, 1.6rem) !important;
}
body.game-body .gas-stage {
    padding-left: clamp(1rem, 3vw, 3.2rem) !important;
    padding-right: clamp(1rem, 3vw, 3.2rem) !important;
}
body.game-body .pauline-figure {
    max-height: min(91vh, 980px) !important;
    max-width: min(42vw, 590px) !important;
    transform: translate(285px, 38px) scale(1.05) !important;
}
@keyframes paulineSlideIn {
    from { transform: translate(170px, 38px) scale(1); opacity: 0; }
    to { transform: translate(285px, 38px) scale(1.05); opacity: 1; }
}

/* Map-Pins wieder deutlich sichtbar über Routen und Kartenkacheln. */
body.game-body .leaflet-marker-pane { z-index: 1200 !important; }
body.game-body .leaflet-tooltip-pane { z-index: 1300 !important; }
body.game-body .leaflet-popup-pane { z-index: 1400 !important; }
body.game-body .map-icon.workshop-icon,
body.game-body .map-icon.gas-icon {
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    border: 3px solid #1b1009 !important;
    border-radius: 999px !important;
    font-size: 1.22rem !important;
    transform: translate(-2px, -2px);
    box-shadow: 0 0 0 3px rgba(255,217,97,.26), 0 10px 24px rgba(0,0,0,.58) !important;
}
body.game-body .map-icon.gas-icon { background: linear-gradient(#ffd961, #c47a11) !important; }
body.game-body .map-icon.workshop-icon { background: linear-gradient(#ffce62, #9b5a13) !important; }

@media (max-width: 1180px) {
    body.game-body .dashboard-shell { grid-template-rows: auto auto auto !important; overflow: auto !important; }
    body.game-body .taximeter-bar.compact-meter { min-height: 190px !important; max-height: none !important; }
    body.game-body .pauline-figure { transform: translate(130px, 28px) scale(1.03) !important; }
}
@media (max-width: 780px) {
    body.game-body .taximeter-bar.compact-meter { min-height: 210px !important; grid-template-columns: 1fr !important; }
    body.game-body .meter-actions { width: 100% !important; min-width: 0 !important; grid-template-columns: 1fr 1fr !important; }
    body.game-body .pauline-figure { transform: translate(58px, 18px) scale(1.02) !important; max-width: 62vw !important; }
}

/* v1.9: Fuhrpark-Karten lesbarer, Auto links + Zustands-/Service-Balken */
body.game-body .dashboard-shell {
    grid-template-rows: auto minmax(0, 1fr) clamp(238px, 26vh, 305px) !important;
    gap: .72rem !important;
}
body.game-body .taximeter-bar.compact-meter {
    min-height: clamp(238px, 26vh, 305px) !important;
    max-height: clamp(238px, 26vh, 305px) !important;
    padding: 2.35rem 1.05rem .98rem !important;
    grid-template-columns: minmax(0, 1fr) clamp(190px, 13vw, 240px) !important;
    gap: .9rem !important;
}
body.game-body .taximeter-label {
    top: .56rem !important;
    min-width: min(610px, 56vw) !important;
    max-width: min(820px, 66vw) !important;
}
body.game-body .fleet-wrap {
    min-width: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
}
body.game-body .fleet-pagebar {
    min-height: 31px !important;
    height: 31px !important;
    margin-bottom: .32rem !important;
}
body.game-body .paged-fleet {
    height: calc(100% - 38px) !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: .72rem !important;
    align-items: stretch !important;
}
body.game-body .fleet-card {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    height: 100% !important;
    padding: .78rem .76rem .66rem !important;
    padding-top: 1.25rem !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: linear-gradient(145deg, rgba(33,21,13,.78), rgba(7,5,3,.68)) !important;
    border: 1px solid rgba(255,219,137,.24) !important;
}
body.game-body .fleet-card.selected,
body.game-body .fleet-card.following {
    overflow: hidden !important;
}
body.game-body .fleet-card-main {
    display: grid !important;
    grid-template-columns: clamp(54px, 5.4vw, 88px) minmax(0, 1fr) !important;
    gap: .66rem !important;
    align-items: center !important;
    height: 100% !important;
    min-width: 0 !important;
}
body.game-body .fleet-car-thumb {
    display: grid !important;
    place-items: center !important;
    min-width: 0 !important;
    height: 100% !important;
    border-radius: 14px !important;
    background: radial-gradient(circle at 50% 45%, rgba(255,208,89,.2), rgba(0,0,0,.13) 62%, rgba(0,0,0,.25)) !important;
    border: 1px solid rgba(255,219,137,.12) !important;
}
body.game-body .fleet-car-thumb img,
body.game-body .fleet-card .fleet-car-thumb img {
    width: 100% !important;
    height: auto !important;
    max-height: clamp(54px, 8.8vh, 96px) !important;
    object-fit: contain !important;
    margin: 0 !important;
    filter: drop-shadow(0 8px 10px rgba(0,0,0,.35));
}
body.game-body .fleet-card-info {
    display: grid !important;
    gap: .24rem !important;
    align-content: center !important;
    min-width: 0 !important;
}
body.game-body .fleet-card strong {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: clamp(.78rem, .82vw, .95rem) !important;
    line-height: 1.05 !important;
    color: #fff3c7 !important;
}
body.game-body .fleet-card small,
body.game-body .fleet-card .fleet-meta {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: clamp(.58rem, .62vw, .7rem) !important;
    line-height: 1.08 !important;
    color: rgba(255,241,209,.72) !important;
}
body.game-body .fleet-status {
    position: absolute !important;
    left: .58rem !important;
    top: .42rem !important;
    z-index: 3 !important;
    font-size: .58rem !important;
    padding: .12rem .38rem !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.3) !important;
}
body.game-body .fleet-meter {
    display: grid !important;
    gap: .12rem !important;
    min-width: 0 !important;
}
body.game-body .fleet-meter-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .5rem !important;
    font-size: clamp(.58rem, .62vw, .7rem) !important;
    line-height: 1 !important;
    color: rgba(255,241,209,.86) !important;
    text-transform: uppercase !important;
    letter-spacing: .035em !important;
    font-weight: 900 !important;
}
body.game-body .fleet-meter-top b {
    font-size: .95em !important;
    color: #fff6d7 !important;
}
body.game-body .fleet-meter-track {
    display: block !important;
    height: clamp(5px, .58vh, 8px) !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    background: rgba(0,0,0,.46) !important;
    box-shadow: inset 0 1px 3px rgba(0,0,0,.62), 0 1px 0 rgba(255,255,255,.08) !important;
}
body.game-body .fleet-meter-track i {
    display: block !important;
    height: 100% !important;
    border-radius: inherit !important;
    min-width: 2px !important;
    transition: width .35s ease !important;
}
body.game-body .fleet-meter-green .fleet-meter-track i {
    background: linear-gradient(90deg, #4fc45d, #8be96a) !important;
}
body.game-body .fleet-meter-soft-yellow .fleet-meter-track i {
    background: linear-gradient(90deg, #a9c93f, #e2e866) !important;
}
body.game-body .fleet-meter-yellow .fleet-meter-track i {
    background: linear-gradient(90deg, #e3b52e, #ffe066) !important;
}
body.game-body .fleet-meter-orange .fleet-meter-track i {
    background: linear-gradient(90deg, #f07b1f, #ffb347) !important;
}
body.game-body .fleet-meter-red .fleet-meter-track i {
    background: linear-gradient(90deg, #d92c2c, #ff5a49) !important;
}
body.game-body .fleet-card .progress-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .35rem !important;
    margin-top: .05rem !important;
}
body.game-body .repair-warning {
    color: #ff7b5d !important;
    font-weight: 900 !important;
}
body.game-body .parking-empty {
    display: grid !important;
    place-items: center !important;
    text-align: center !important;
    padding-top: 1.25rem !important;
}
body.game-body .meter-actions {
    min-width: 0 !important;
    width: auto !important;
    gap: .72rem !important;
}
body.game-body .compact-meter .buy-big,
body.game-body .compact-meter .buy-parking {
    min-height: 0 !important;
}
@media (max-width: 1180px) {
    body.game-body .taximeter-bar.compact-meter { min-height: 260px !important; max-height: none !important; }
    body.game-body .paged-fleet { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 780px) {
    body.game-body .taximeter-bar.compact-meter { grid-template-columns: 1fr !important; min-height: 340px !important; }
    body.game-body .paged-fleet { grid-template-columns: 1fr !important; }
    body.game-body .fleet-card-main { grid-template-columns: 76px minmax(0, 1fr) !important; }
}

/* v2.0: Kauf-Popup und luftigeres Fleet-Dashboard */
body.game-body .store-purchase-scene {
    position: fixed;
    inset: clamp(.7rem, 2.4vw, 1.6rem);
    z-index: 92000 !important;
    border-radius: 32px;
    overflow: hidden;
    border: 1px solid rgba(255,219,137,.56);
    background: #120b07 url('../img/autohandel.png') center/cover no-repeat;
    box-shadow: 0 0 0 100vmax rgba(0,0,0,.76), 0 34px 100px rgba(0,0,0,.86) !important;
}
body.game-body .store-purchase-scene::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.24) 42%, rgba(0,0,0,.78));
    z-index: 1;
}
body.game-body .store-purchase-close {
    position: absolute;
    right: 1rem;
    top: 1rem;
    z-index: 92010 !important;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255,219,137,.58);
    border-radius: 15px;
    background: linear-gradient(#4b3220, #1b110a);
    color: var(--cream);
    font-size: 1.55rem;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0,0,0,.38);
}
body.game-body .store-purchase-stage {
    position: relative;
    z-index: 2;
    min-height: 100%;
    display: grid;
    grid-template-columns: minmax(230px, .55fr) minmax(420px, 1fr);
    align-items: end;
    gap: clamp(1rem, 3vw, 3rem);
    padding: clamp(1.1rem, 4vw, 3.2rem);
}
body.game-body .store-dealer-figure {
    align-self: end;
    justify-self: start;
    max-height: min(86vh, 880px);
    max-width: min(40vw, 500px);
    object-fit: contain;
    transform: translate(-10px, 34px) scale(1.03);
    filter: drop-shadow(0 26px 34px rgba(0,0,0,.62));
    animation: dealerSlideIn .42s ease-out both;
}
body.game-body .store-purchase-dialogue {
    align-self: center;
    width: min(760px, 96%);
    max-height: min(82vh, 820px);
    overflow: auto;
    display: grid;
    gap: .85rem;
    padding: clamp(.9rem, 2vw, 1.25rem);
    border-radius: 26px;
    background: linear-gradient(145deg, rgba(58,36,21,.92), rgba(15,9,6,.94));
    border: 1px solid rgba(255,219,137,.52);
    box-shadow: 0 18px 55px rgba(0,0,0,.56), inset 0 1px 0 rgba(255,255,255,.12);
}
body.game-body .store-dealer-line {
    display: grid;
    gap: .16rem;
    padding: .8rem .95rem;
    border-radius: 18px;
    background: rgba(0,0,0,.22);
    border: 1px solid rgba(255,219,137,.2);
}
body.game-body .store-dealer-line strong { color: var(--gold2); font-size: 1.05rem; }
body.game-body .store-dealer-line p { margin: 0; color: var(--cream); }
body.game-body .store-purchase-content { display: grid; gap: .9rem; }
body.game-body .store-purchase-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .8rem;
    align-items: start;
}
body.game-body .store-purchase-head h2 {
    margin: .2rem 0 .15rem;
    font-size: clamp(1.5rem, 3vw, 2.35rem);
    line-height: .95;
    letter-spacing: -.04em;
}
body.game-body .store-purchase-head p { margin: 0; color: rgba(255,241,209,.76); line-height: 1.35; }
body.game-body .store-purchase-price {
    min-width: 150px;
    text-align: center;
    padding: .7rem .9rem;
    border-radius: 18px;
    font-weight: 1000;
    font-size: clamp(1.35rem, 2.4vw, 2.1rem);
    color: #1a0f04;
    background: linear-gradient(#ffe477, #f0a11c 56%, #bf6d0d);
    border: 1px solid rgba(255,232,148,.65);
    box-shadow: inset 0 2px 0 rgba(255,255,255,.28), 0 10px 24px rgba(0,0,0,.35);
}
body.game-body .inline-badge { position: static !important; display: inline-flex; width: fit-content; }
body.game-body .store-purchase-body {
    display: grid;
    grid-template-columns: minmax(220px, .75fr) minmax(260px, 1fr);
    gap: .9rem;
    align-items: stretch;
}
body.game-body .store-purchase-image-wrap {
    display: grid;
    place-items: center;
    min-height: 250px;
    border-radius: 22px;
    background: radial-gradient(circle at 50% 44%, rgba(255,221,112,.18), rgba(0,0,0,.22) 62%, rgba(0,0,0,.38));
    border: 1px solid rgba(255,219,137,.24);
    overflow: hidden;
}
body.game-body .store-purchase-image-wrap img {
    width: 100%;
    max-height: min(42vh, 360px);
    object-fit: contain;
    filter: drop-shadow(0 14px 18px rgba(0,0,0,.42));
}
body.game-body .store-purchase-specs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}
body.game-body .offer-feature {
    display: grid;
    gap: .12rem;
    padding: .56rem .64rem;
    border-radius: 15px;
    background: rgba(0,0,0,.24);
    border: 1px solid rgba(255,219,137,.17);
}
body.game-body .offer-feature b {
    color: rgba(255,241,209,.62);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .045em;
}
body.game-body .offer-feature strong {
    color: #fff4c8;
    font-size: .95rem;
    line-height: 1.08;
}
body.game-body .store-purchase-actions {
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: .7rem;
}

body.game-body .dashboard-shell {
    grid-template-rows: auto minmax(0, 1fr) clamp(290px, 31vh, 360px) !important;
}
body.game-body .taximeter-bar.compact-meter {
    min-height: clamp(290px, 31vh, 360px) !important;
    max-height: clamp(290px, 31vh, 360px) !important;
    padding: 2.55rem 1.15rem 1.1rem !important;
    grid-template-columns: minmax(0, 1fr) clamp(190px, 13vw, 240px) !important;
    gap: 1rem !important;
}
body.game-body .taximeter-label {
    top: .62rem !important;
    min-width: min(650px, 58vw) !important;
    font-size: clamp(.92rem, 1.35vw, 1.16rem) !important;
}
body.game-body .paged-fleet {
    height: calc(100% - 42px) !important;
    grid-template-columns: repeat(var(--fleet-visible-count, 5), minmax(0, 1fr)) !important;
    gap: .9rem !important;
}
body.game-body .fleet-card {
    padding: .92rem .9rem .82rem !important;
    padding-top: 1.46rem !important;
    min-height: 0 !important;
}
body.game-body .fleet-card-main {
    grid-template-columns: clamp(86px, 8vw, 138px) minmax(0, 1fr) !important;
    gap: .9rem !important;
    align-items: stretch !important;
}
body.game-body .fleet-car-thumb img,
body.game-body .fleet-card .fleet-car-thumb img {
    max-height: clamp(74px, 10.5vh, 126px) !important;
}
body.game-body .fleet-card-info {
    gap: .34rem !important;
    align-content: center !important;
}
body.game-body .fleet-card strong {
    font-size: clamp(.98rem, 1.18vw, 1.38rem) !important;
    line-height: 1.05 !important;
}
body.game-body .fleet-card small,
body.game-body .fleet-card .fleet-meta {
    font-size: clamp(.68rem, .74vw, .84rem) !important;
    line-height: 1.16 !important;
}
body.game-body .fleet-meter-top {
    font-size: clamp(.72rem, .78vw, .92rem) !important;
}
body.game-body .fleet-meter-track {
    height: clamp(7px, .8vh, 11px) !important;
}
body.game-body .meter-actions {
    gap: .86rem !important;
}
body.game-body .compact-meter .buy-big {
    min-height: 86px !important;
    font-size: .98rem !important;
}
body.game-body .compact-meter .buy-parking {
    min-height: 68px !important;
    font-size: .9rem !important;
}
@media (max-width: 1180px) {
    body.game-body .store-purchase-stage { grid-template-columns: 1fr; align-items: end; }
    body.game-body .store-dealer-figure { display: none; }
    body.game-body .store-purchase-dialogue { justify-self: center; width: min(760px, 100%); }
    body.game-body .taximeter-bar.compact-meter { min-height: 310px !important; max-height: none !important; }
}
@media (max-width: 780px) {
    body.game-body .store-purchase-body { grid-template-columns: 1fr; }
    body.game-body .store-purchase-head { grid-template-columns: 1fr; }
    body.game-body .store-purchase-specs { grid-template-columns: 1fr; }
    body.game-body .store-purchase-actions { grid-template-columns: 1fr; }
    body.game-body .paged-fleet { grid-template-columns: 1fr !important; }
    body.game-body .fleet-card-main { grid-template-columns: 96px minmax(0,1fr) !important; }
}

/* v2.1 assistance + fleet polish */
body.game-body .leaflet-tooltip {
    font-size: .72rem !important;
    line-height: 1.05 !important;
    padding: .28rem .45rem !important;
    white-space: nowrap !important;
    border-radius: 10px !important;
}
body.game-body .paged-fleet {
    grid-template-columns: repeat(var(--fleet-visible-count, 3), minmax(0, 1fr)) !important;
}
body.game-body .fleet-card {
    padding-bottom: 1rem !important;
    min-height: 210px !important;
}
body.game-body .fleet-card small,
body.game-body .fleet-card .fleet-meta {
    font-size: clamp(.65rem, .7vw, .8rem) !important;
}
body.game-body .fleet-card .fleet-meta.compact {
    letter-spacing: -.01em;
}
.dealer-app-choice-grid {
    display: grid;
    gap: .65rem;
}
.assistance-scene {
    position: absolute;
    inset: 0;
    z-index: 960;
    display: grid;
    align-items: end;
    padding: 2rem;
}
.assistance-scene.hidden { display: none; }
.assistance-scene::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(16,11,8,.55), rgba(16,11,8,.84)), url('../img/daniel_yard.png') center/cover no-repeat;
    filter: saturate(.95) brightness(.85);
}
.assistance-stage,
.assistance-dialogue,
.assistance-figure { position: relative; z-index: 2; }
.assistance-figure {
    max-height: min(76vh, 720px);
    justify-self: start;
}
.assistance-dialogue {
    max-width: min(560px, 48vw);
}
.event-line {
    width: 100%;
    text-align: left;
    cursor: pointer;
    font: inherit;
}

/* v2.2 map/fleet/follow hotfix */
body.game-body .map-taxi-image-icon,
.map-taxi-image-icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
body.game-body .map-taxi-image-icon img,
.map-taxi-image-icon img {
    display: block;
    width: 62px;
    height: 44px;
    object-fit: contain;
    filter: drop-shadow(0 6px 7px rgba(0,0,0,.48));
    transform: translateZ(0);
    will-change: transform;
}
body.game-body .leaflet-popup-close-button,
.leaflet-container a.leaflet-popup-close-button {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    bottom: auto !important;
    width: 34px !important;
    height: 28px !important;
    line-height: 26px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(#654025, #24140b) !important;
    color: #fff4cf !important;
    border: 1px solid rgba(255,218,128,.55) !important;
    font: 900 18px/1 Arial, sans-serif !important;
    text-decoration: none !important;
    box-shadow: 0 8px 16px rgba(0,0,0,.28) !important;
}
body.game-body .leaflet-popup-content-wrapper {
    padding-top: 22px !important;
}
body.game-body .fleet-page-btn {
    display: inline-grid !important;
    place-items: center !important;
    text-align: center !important;
    line-height: 1 !important;
    padding: 0 !important;
    width: 28px !important;
    height: 28px !important;
    font-size: 1.25rem !important;
}
body.game-body .paged-fleet {
    grid-template-columns: repeat(var(--fleet-visible-count, 3), minmax(0, 1fr)) !important;
}

/* v2.4 pannenhilfe-popup + live-follow stabilization */
body.game-body .assistance-scene {
    position: absolute !important;
    inset: 0 !important;
    z-index: 120000 !important;
    display: grid !important;
    align-items: stretch !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #130b06 !important;
}
body.game-body .assistance-scene.hidden { display: none !important; }
body.game-body .assistance-scene::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background:
        linear-gradient(90deg, rgba(12,7,4,.22), rgba(12,7,4,.55) 45%, rgba(12,7,4,.86)),
        linear-gradient(0deg, rgba(12,7,4,.42), rgba(12,7,4,.08) 42%, rgba(12,7,4,.45)),
        url('../img/daniel_yard.png') center/cover no-repeat !important;
    filter: saturate(.92) brightness(.88) !important;
}
body.game-body .assistance-scene::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: radial-gradient(circle at 28% 50%, rgba(255,190,80,.11), transparent 34%), rgba(0,0,0,.16);
}
body.game-body .assistance-scene .dealer-close,
body.game-body #closeAssistanceScene {
    position: absolute !important;
    top: clamp(1rem, 2.2vh, 1.7rem) !important;
    right: clamp(1rem, 2.2vw, 2rem) !important;
    z-index: 8 !important;
}
body.game-body .assistance-stage,
body.game-body .assistance-scene .dealer-stage {
    position: relative !important;
    z-index: 3 !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(260px, 42%) minmax(420px, 560px) !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: clamp(1rem, 3vw, 3rem) !important;
    padding: clamp(3rem, 6vh, 5rem) clamp(2rem, 5vw, 5rem) clamp(2rem, 5vh, 4rem) !important;
    transform: none !important;
}
body.game-body .assistance-figure,
body.game-body .assistance-scene .dealer-figure {
    position: relative !important;
    z-index: 3 !important;
    display: block !important;
    align-self: end !important;
    justify-self: start !important;
    width: auto !important;
    max-width: min(34vw, 420px) !important;
    max-height: min(76vh, 760px) !important;
    object-fit: contain !important;
    transform: translateX(2vw) translateY(3vh) !important;
    filter: drop-shadow(0 24px 34px rgba(0,0,0,.7)) !important;
    animation: assistanceDanielIn .32s ease-out both !important;
}
@keyframes assistanceDanielIn {
    from { opacity: 0; transform: translateX(-4vw) translateY(3vh) scale(.98); }
    to { opacity: 1; transform: translateX(2vw) translateY(3vh) scale(1); }
}
body.game-body .assistance-dialogue,
body.game-body .assistance-scene .dealer-dialogue {
    position: relative !important;
    z-index: 4 !important;
    justify-self: end !important;
    align-self: center !important;
    width: min(560px, 42vw) !important;
    max-width: min(560px, 42vw) !important;
    max-height: min(72vh, 720px) !important;
    overflow: auto !important;
    margin: 0 !important;
    padding: clamp(1rem, 1.6vw, 1.35rem) !important;
    border-radius: 26px !important;
    background: linear-gradient(180deg, rgba(74,45,24,.94), rgba(18,10,6,.96)) !important;
    border: 1px solid rgba(255,219,137,.58) !important;
    box-shadow: 0 26px 60px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.11) !important;
}
body.game-body .assistance-dialogue strong { color: #ffe28a !important; }
body.game-body .leaflet-marker-icon.map-taxi-image-icon {
    transition: transform .08s linear !important;
    will-change: transform !important;
}

@media (max-width: 1100px) {
    body.game-body .assistance-stage,
    body.game-body .assistance-scene .dealer-stage {
        grid-template-columns: 1fr !important;
        align-content: end !important;
        padding: 4rem 1rem 1rem !important;
    }
    body.game-body .assistance-figure,
    body.game-body .assistance-scene .dealer-figure {
        max-height: 38vh !important;
        max-width: 46vw !important;
        transform: translateY(2vh) !important;
    }
    body.game-body .assistance-dialogue,
    body.game-body .assistance-scene .dealer-dialogue {
        width: min(94vw, 620px) !important;
        max-width: 94vw !important;
        justify-self: center !important;
        max-height: 46vh !important;
    }
}

/* v2.5 Pannenhilfe scene + Abschlepper */
body.game-body .assistance-scene::before {
    background:
        linear-gradient(90deg, rgba(12,7,4,.20), rgba(12,7,4,.48) 48%, rgba(12,7,4,.86)),
        linear-gradient(0deg, rgba(12,7,4,.44), rgba(12,7,4,.10) 42%, rgba(12,7,4,.40)),
        url('../img/pannenhilfe.png') center/cover no-repeat !important;
    filter: saturate(.96) brightness(.82) !important;
}
body.game-body .assistance-stage,
body.game-body .assistance-scene .dealer-stage {
    grid-template-columns: minmax(360px, 48%) minmax(420px, 560px) !important;
    align-items: end !important;
    padding: clamp(3rem, 6vh, 5rem) clamp(2rem, 5vw, 5rem) clamp(2rem, 5vh, 4rem) !important;
}
body.game-body .assistance-figure,
body.game-body .assistance-scene .dealer-figure {
    max-width: min(30vw, 430px) !important;
    max-height: min(74vh, 720px) !important;
    transform: translateX(8vw) translateY(3vh) scale(.96) !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    filter: drop-shadow(0 24px 34px rgba(0,0,0,.72)) !important;
}
@keyframes assistanceDanielIn {
    from { opacity: 0; transform: translateX(3vw) translateY(3vh) scale(.92); }
    to { opacity: 1; transform: translateX(8vw) translateY(3vh) scale(.96); }
}
body.game-body .assistance-dialogue,
body.game-body .assistance-scene .dealer-dialogue {
    justify-self: end !important;
    align-self: center !important;
    margin-right: clamp(1rem, 3vw, 4rem) !important;
}
.map-towtruck-image-icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: auto !important;
}
.map-towtruck-image-icon img {
    display: block;
    width: 78px;
    height: 54px;
    object-fit: contain;
    filter: drop-shadow(0 8px 9px rgba(0,0,0,.55));
    transform: translateZ(0);
    will-change: transform;
}
@media (max-width: 1100px) {
    body.game-body .assistance-stage,
    body.game-body .assistance-scene .dealer-stage {
        grid-template-columns: 1fr !important;
    }
    body.game-body .assistance-figure,
    body.game-body .assistance-scene .dealer-figure {
        max-height: 40vh !important;
        max-width: 48vw !important;
        transform: translateX(3vw) translateY(2vh) scale(.92) !important;
    }
}

/* v2.6 stable Pannenhilfe scene + visible tow truck */
body.game-body .assistance-scene::before {
    background:
        linear-gradient(90deg, rgba(12,7,4,.18), rgba(12,7,4,.42) 45%, rgba(12,7,4,.82)),
        linear-gradient(0deg, rgba(12,7,4,.34), rgba(12,7,4,.04) 44%, rgba(12,7,4,.34)),
        url('../img/pannenhilfe.png') center center / cover no-repeat !important;
    filter: saturate(1.02) brightness(.9) !important;
}
body.game-body .assistance-scene .dealer-stage,
body.game-body .assistance-stage {
    grid-template-columns: minmax(480px, 52%) minmax(420px, 580px) !important;
    align-items: end !important;
    justify-content: space-between !important;
}
body.game-body .assistance-scene .dealer-figure,
body.game-body .assistance-figure {
    max-width: min(27vw, 390px) !important;
    max-height: min(83vh, 780px) !important;
    transform: translateX(20vw) translateY(3vh) scale(1) !important;
    object-fit: contain !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
    filter: drop-shadow(0 28px 36px rgba(0,0,0,.72)) !important;
}
@keyframes assistanceDanielIn {
    from { opacity: 0; transform: translateX(14vw) translateY(3vh) scale(.96); }
    to { opacity: 1; transform: translateX(20vw) translateY(3vh) scale(1); }
}
body.game-body .assistance-scene .dealer-dialogue,
body.game-body .assistance-dialogue {
    align-self: center !important;
    justify-self: end !important;
    margin-right: clamp(1rem, 3vw, 4rem) !important;
}
body.game-body .map-towtruck-image-icon,
body.game-body .leaflet-marker-icon.map-towtruck-image-icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 99999 !important;
}
body.game-body .map-towtruck-image-icon img,
.map-towtruck-image-icon img {
    width: 104px !important;
    height: 74px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 10px 12px rgba(0,0,0,.72)) !important;
}
.leaflet-overlay-pane .route-line-tow {
    stroke: #ffb22d !important;
    stroke-width: 8px !important;
    filter: drop-shadow(0 0 7px rgba(255,178,45,.5));
}
@media (max-width: 1100px) {
    body.game-body .assistance-scene .dealer-stage,
    body.game-body .assistance-stage {
        grid-template-columns: 1fr !important;
    }
    body.game-body .assistance-scene .dealer-figure,
    body.game-body .assistance-figure {
        max-height: 42vh !important;
        max-width: 50vw !important;
        transform: translateX(5vw) translateY(2vh) scale(.94) !important;
    }
}

/* v2.7 final fleet-card layout + corrected pannenhilfe graphics */
body.game-body .taximeter-bar.compact-meter {
    min-height: 390px !important;
    max-height: none !important;
    grid-template-columns: minmax(0, 1fr) clamp(210px, 14vw, 275px) !important;
    align-items: start !important;
    gap: 1.1rem !important;
    padding: 2.55rem 1.15rem 1.2rem !important;
    overflow: visible !important;
}
body.game-body .fleet-wrap {
    min-width: 0 !important;
    height: auto !important;
    min-height: 320px !important;
    overflow: visible !important;
}
body.game-body .fleet-pagebar {
    min-height: 34px !important;
    height: 34px !important;
    margin-bottom: .55rem !important;
}
body.game-body .paged-fleet {
    height: auto !important;
    min-height: 320px !important;
    grid-template-columns: repeat(var(--fleet-visible-count, 3), minmax(0, 1fr)) !important;
    gap: .95rem !important;
    align-items: stretch !important;
    overflow: visible !important;
}
body.game-body .fleet-card {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    min-height: 320px !important;
    height: auto !important;
    padding: 1rem .95rem .95rem !important;
    padding-top: 1.5rem !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}
body.game-body .fleet-card-main {
    display: grid !important;
    grid-template-columns: clamp(120px, 10vw, 150px) minmax(0, 1fr) !important;
    gap: 1rem !important;
    align-items: stretch !important;
    min-height: 286px !important;
    height: auto !important;
}
body.game-body .fleet-car-thumb {
    min-height: 100% !important;
    padding: .35rem !important;
}
body.game-body .fleet-car-thumb img,
body.game-body .fleet-card .fleet-car-thumb img {
    width: 100% !important;
    max-height: 145px !important;
    height: auto !important;
    object-fit: contain !important;
}
body.game-body .fleet-card-info {
    display: grid !important;
    align-content: start !important;
    gap: .42rem !important;
    padding-top: .15rem !important;
}
body.game-body .fleet-card strong {
    font-size: clamp(1.08rem, 1.3vw, 1.7rem) !important;
    line-height: 1.08 !important;
}
body.game-body .fleet-card small,
body.game-body .fleet-card .fleet-meta {
    font-size: clamp(.8rem, .85vw, .95rem) !important;
    line-height: 1.2 !important;
}
body.game-body .fleet-meter { gap: .2rem !important; }
body.game-body .fleet-meter-top {
    font-size: clamp(.86rem, .88vw, 1rem) !important;
    line-height: 1.1 !important;
}
body.game-body .fleet-meter-track { height: 10px !important; }
body.game-body .fleet-card .progress-row { margin-top: .25rem !important; }
body.game-body .meter-actions {
    height: 100% !important;
    align-self: stretch !important;
}
body.game-body .compact-meter .buy-big {
    min-height: 120px !important;
    font-size: 1.02rem !important;
}
body.game-body .compact-meter .buy-parking {
    min-height: 96px !important;
    font-size: .96rem !important;
}
body.game-body .fleet-quick-fuel {
    position: absolute !important;
    top: .7rem !important;
    right: .72rem !important;
    z-index: 5 !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(255,219,137,.42) !important;
    border-radius: 12px !important;
    display: grid !important;
    place-items: center !important;
    background: linear-gradient(180deg, rgba(255,202,77,.96), rgba(206,123,18,.96)) !important;
    color: #2b1708 !important;
    font-size: 1.15rem !important;
    box-shadow: 0 10px 18px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.28) !important;
    cursor: pointer !important;
}
body.game-body .fleet-quick-fuel:hover {
    filter: brightness(1.04);
    transform: translateY(-1px);
}
body.game-body .fleet-quick-fuel:disabled {
    opacity: .55 !important;
    cursor: wait !important;
}

body.game-body .assistance-scene {
    background: #120a06 !important;
}
body.game-body .assistance-scene::before {
    background:
        linear-gradient(90deg, rgba(12,7,4,.12), rgba(12,7,4,.34) 44%, rgba(12,7,4,.78)),
        linear-gradient(0deg, rgba(12,7,4,.28), rgba(12,7,4,.03) 44%, rgba(12,7,4,.28)),
        url('../img/pannenhilfe.png') center center / cover no-repeat !important;
    filter: saturate(1.01) brightness(.94) !important;
}
body.game-body .assistance-stage,
body.game-body .assistance-scene .dealer-stage {
    grid-template-columns: minmax(420px, 50%) minmax(430px, 580px) !important;
    justify-content: space-between !important;
    align-items: end !important;
    gap: clamp(1rem, 2.4vw, 2.2rem) !important;
    padding: clamp(2.8rem, 6vh, 4.6rem) clamp(2rem, 4.4vw, 4.4rem) clamp(2rem, 4vh, 3rem) !important;
}
body.game-body .assistance-figure,
body.game-body .assistance-scene .dealer-figure {
    max-width: min(26vw, 380px) !important;
    max-height: min(80vh, 770px) !important;
    width: auto !important;
    object-fit: contain !important;
    transform: translateX(7vw) translateY(3vh) scale(1) !important;
    filter: drop-shadow(0 26px 34px rgba(0,0,0,.75)) !important;
}
body.game-body .assistance-dialogue,
body.game-body .assistance-scene .dealer-dialogue {
    width: min(580px, 42vw) !important;
    max-width: min(580px, 42vw) !important;
    align-self: center !important;
    justify-self: end !important;
    margin-right: clamp(.4rem, 1.8vw, 2rem) !important;
}
@keyframes assistanceDanielIn {
    from { opacity: 0; transform: translateX(3vw) translateY(3vh) scale(.98); }
    to { opacity: 1; transform: translateX(7vw) translateY(3vh) scale(1); }
}
@media (max-width: 1250px) {
    body.game-body .taximeter-bar.compact-meter {
        min-height: 430px !important;
        grid-template-columns: 1fr !important;
    }
    body.game-body .meter-actions {
        grid-template-columns: 1fr 1fr !important;
    }
}
@media (max-width: 1100px) {
    body.game-body .assistance-stage,
    body.game-body .assistance-scene .dealer-stage {
        grid-template-columns: 1fr !important;
        padding: 4rem 1rem 1.2rem !important;
    }
    body.game-body .assistance-figure,
    body.game-body .assistance-scene .dealer-figure {
        max-height: 40vh !important;
        max-width: 42vw !important;
        transform: translateX(0) translateY(2vh) scale(.96) !important;
        justify-self: start !important;
    }
    body.game-body .assistance-dialogue,
    body.game-body .assistance-scene .dealer-dialogue {
        width: min(94vw, 620px) !important;
        max-width: 94vw !important;
        justify-self: center !important;
        margin-right: 0 !important;
    }
}


/* v2.8: Character slide animations + compact fleet-card content */
body.game-body .gas-scene .pauline-figure,
body.game-body .pauline-figure {
    animation: paulineSlideInV28 .42s cubic-bezier(.18,.85,.24,1.02) both !important;
    transform-origin: bottom center !important;
    will-change: transform, opacity !important;
}
@keyframes paulineSlideInV28 {
    from { opacity: 0; transform: translateX(7vw) translateY(4vh) scale(.96); }
    to   { opacity: 1; transform: translateX(0) translateY(0) scale(1); }
}

/* Daniel: größer, tiefer und mit sauberer Slide-In-Bewegung */
body.game-body .assistance-stage,
body.game-body .assistance-scene .dealer-stage {
    grid-template-columns: minmax(480px, 54%) minmax(430px, 580px) !important;
    align-items: end !important;
}
body.game-body .assistance-figure,
body.game-body .assistance-scene .dealer-figure {
    align-self: end !important;
    justify-self: start !important;
    max-width: min(36vw, 560px) !important;
    max-height: min(94vh, 930px) !important;
    transform: translateX(4.5vw) translateY(8vh) scale(1.18) !important;
    transform-origin: bottom center !important;
    animation: danielSlideInV28 .46s cubic-bezier(.18,.85,.24,1.02) both !important;
    will-change: transform, opacity !important;
}
@keyframes danielSlideInV28 {
    from { opacity: 0; transform: translateX(-5vw) translateY(10vh) scale(1.08); }
    to   { opacity: 1; transform: translateX(4.5vw) translateY(8vh) scale(1.18); }
}

/* Fleet-Cards: Inhalte ca. 15–20% kompakter, damit nichts unten verschwindet */
body.game-body .taximeter-bar.compact-meter {
    min-height: 390px !important;
    max-height: none !important;
    overflow: visible !important;
}
body.game-body .fleet-wrap {
    min-height: 312px !important;
    overflow: visible !important;
}
body.game-body .paged-fleet {
    min-height: 312px !important;
    height: auto !important;
    overflow: visible !important;
    grid-template-columns: repeat(var(--fleet-visible-count, 3), minmax(0, 1fr)) !important;
}
body.game-body .fleet-card {
    min-height: 312px !important;
    padding: .82rem .78rem .72rem !important;
    padding-top: 1.34rem !important;
    overflow: hidden !important;
}
body.game-body .fleet-card-main {
    grid-template-columns: clamp(92px, 8.2vw, 122px) minmax(0, 1fr) !important;
    gap: .76rem !important;
    min-height: 264px !important;
    align-items: stretch !important;
}
body.game-body .fleet-car-thumb {
    min-height: 0 !important;
    padding: .22rem !important;
}
body.game-body .fleet-car-thumb img,
body.game-body .fleet-card .fleet-car-thumb img {
    max-height: 116px !important;
    width: 100% !important;
    object-fit: contain !important;
}
body.game-body .fleet-card-info {
    gap: .26rem !important;
    align-content: start !important;
    padding-top: .08rem !important;
}
body.game-body .fleet-card strong {
    font-size: clamp(.9rem, 1.02vw, 1.28rem) !important;
    line-height: 1.04 !important;
}
body.game-body .fleet-card small,
body.game-body .fleet-card .fleet-meta {
    font-size: clamp(.65rem, .7vw, .8rem) !important;
    line-height: 1.12 !important;
}
body.game-body .fleet-meter {
    gap: .13rem !important;
}
body.game-body .fleet-meter-top {
    font-size: clamp(.68rem, .72vw, .84rem) !important;
    line-height: 1.02 !important;
}
body.game-body .fleet-meter-track {
    height: 8px !important;
}
body.game-body .fleet-card .progress-row {
    margin-top: .1rem !important;
    gap: .28rem !important;
}
body.game-body .fleet-status {
    font-size: .58rem !important;
    padding: .12rem .38rem !important;
}
body.game-body .fleet-quick-fuel {
    width: 34px !important;
    height: 34px !important;
    font-size: 1rem !important;
    top: .55rem !important;
    right: .55rem !important;
}
body.game-body .compact-meter .buy-big {
    min-height: 105px !important;
}
body.game-body .compact-meter .buy-parking {
    min-height: 84px !important;
}

@media (max-width: 1100px) {
    body.game-body .assistance-figure,
    body.game-body .assistance-scene .dealer-figure {
        max-height: 46vh !important;
        max-width: 52vw !important;
        transform: translateX(2vw) translateY(4vh) scale(1.06) !important;
    }
    @keyframes danielSlideInV28 {
        from { opacity: 0; transform: translateX(-6vw) translateY(5vh) scale(.98); }
        to   { opacity: 1; transform: translateX(2vw) translateY(4vh) scale(1.06); }
    }
}

/* v2.9: Fleet-Cards nochmals kompakter + Taximeter/Fleet-Bereich auf 280px gesetzt */
body.game-body .dashboard-shell {
    grid-template-rows: auto minmax(0, 1fr) 280px !important;
    gap: .55rem !important;
}
body.game-body .taximeter-bar.compact-meter {
    min-height: 280px !important;
    max-height: 280px !important;
    padding: 2.05rem .9rem .72rem !important;
    grid-template-columns: minmax(0, 1fr) clamp(168px, 11.6vw, 218px) !important;
    gap: .72rem !important;
    overflow: hidden !important;
}
body.game-body .taximeter-label {
    top: .46rem !important;
    padding: .28rem 1.5rem !important;
    font-size: clamp(.82rem, 1.12vw, 1rem) !important;
    min-width: min(540px, 52vw) !important;
}
body.game-body .fleet-wrap {
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    padding-top: 0 !important;
}
body.game-body .fleet-pagebar {
    min-height: 26px !important;
    height: 26px !important;
    margin-bottom: .18rem !important;
    font-size: .78rem !important;
}
body.game-body .paged-fleet {
    height: calc(100% - 30px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    gap: .58rem !important;
    grid-template-columns: repeat(var(--fleet-visible-count, 3), minmax(0, 1fr)) !important;
}
body.game-body .fleet-card {
    height: 100% !important;
    min-height: 0 !important;
    padding: .56rem .58rem .48rem !important;
    padding-top: .98rem !important;
    border-radius: 15px !important;
    overflow: hidden !important;
}
body.game-body .fleet-card-main {
    grid-template-columns: clamp(66px, 6.2vw, 92px) minmax(0, 1fr) !important;
    gap: .5rem !important;
    height: 100% !important;
    min-height: 0 !important;
    align-items: stretch !important;
}
body.game-body .fleet-car-thumb {
    border-radius: 11px !important;
    padding: .12rem !important;
    min-height: 0 !important;
}
body.game-body .fleet-car-thumb img,
body.game-body .fleet-card .fleet-car-thumb img {
    max-height: 82px !important;
    width: 100% !important;
    object-fit: contain !important;
    filter: drop-shadow(0 5px 7px rgba(0,0,0,.32)) !important;
}
body.game-body .fleet-card-info {
    gap: .16rem !important;
    align-content: start !important;
    padding-top: 0 !important;
    min-height: 0 !important;
}
body.game-body .fleet-card strong {
    font-size: clamp(.72rem, .86vw, 1.02rem) !important;
    line-height: 1.02 !important;
}
body.game-body .fleet-card small,
body.game-body .fleet-card .fleet-meta {
    font-size: clamp(.5rem, .56vw, .64rem) !important;
    line-height: 1.04 !important;
}
body.game-body .fleet-card .fleet-meta.compact {
    letter-spacing: -.025em !important;
}
body.game-body .fleet-meter {
    gap: .06rem !important;
}
body.game-body .fleet-meter-top {
    font-size: clamp(.5rem, .55vw, .64rem) !important;
    line-height: .98 !important;
    letter-spacing: .02em !important;
}
body.game-body .fleet-meter-track {
    height: 5px !important;
}
body.game-body .fleet-card .progress-row {
    margin-top: .03rem !important;
    gap: .18rem !important;
}
body.game-body .fleet-card .progress-shell {
    height: 7px !important;
}
body.game-body .fleet-card .countdown-pill {
    font-size: .48rem !important;
    padding: .06rem .24rem !important;
    min-width: 0 !important;
}
body.game-body .fleet-status {
    left: .42rem !important;
    top: .32rem !important;
    font-size: .48rem !important;
    padding: .08rem .28rem !important;
}
body.game-body .fleet-quick-fuel {
    width: 27px !important;
    height: 27px !important;
    font-size: .82rem !important;
    top: .36rem !important;
    right: .36rem !important;
    border-radius: 9px !important;
}
body.game-body .parking-empty {
    padding-top: .9rem !important;
}
body.game-body .empty-parking-icon {
    font-size: 1.05rem !important;
}
body.game-body .meter-actions {
    gap: .55rem !important;
}
body.game-body .compact-meter .buy-big,
body.game-body .compact-meter .buy-parking {
    border-radius: 14px !important;
    font-size: .78rem !important;
    padding: .46rem .55rem !important;
}
body.game-body .compact-meter .buy-big {
    min-height: 70px !important;
}
body.game-body .compact-meter .buy-parking {
    min-height: 54px !important;
}
@media (max-width: 1250px) {
    body.game-body .taximeter-bar.compact-meter {
        min-height: 280px !important;
        max-height: none !important;
        grid-template-columns: 1fr !important;
    }
    body.game-body .meter-actions {
        grid-template-columns: 1fr 1fr !important;
    }
}
@media (max-width: 780px) {
    body.game-body .dashboard-shell {
        grid-template-rows: auto minmax(0, 1fr) auto !important;
    }
    body.game-body .taximeter-bar.compact-meter {
        min-height: 280px !important;
        max-height: none !important;
        grid-template-columns: 1fr !important;
    }
    body.game-body .paged-fleet {
        grid-template-columns: 1fr !important;
    }
    body.game-body .fleet-card-main {
        grid-template-columns: 70px minmax(0,1fr) !important;
    }
}

/* v3.0: Fleet 300px + 5% larger content + sticky taxi map popup */
body.game-body .dashboard-shell {
    grid-template-rows: auto minmax(0, 1fr) 300px !important;
}
body.game-body .taximeter-bar.compact-meter {
    min-height: 300px !important;
    max-height: 300px !important;
    padding: 2.12rem .92rem .78rem !important;
}
body.game-body .fleet-pagebar {
    min-height: 28px !important;
    height: 28px !important;
    margin-bottom: .2rem !important;
    font-size: .82rem !important;
}
body.game-body .paged-fleet {
    height: calc(100% - 32px) !important;
    gap: .62rem !important;
}
body.game-body .fleet-card {
    padding: .6rem .62rem .52rem !important;
    padding-top: 1.04rem !important;
    border-radius: 16px !important;
}
body.game-body .fleet-card-main {
    grid-template-columns: clamp(69px, 6.5vw, 97px) minmax(0, 1fr) !important;
    gap: .53rem !important;
}
body.game-body .fleet-car-thumb img,
body.game-body .fleet-card .fleet-car-thumb img {
    max-height: 86px !important;
}
body.game-body .fleet-card-info {
    gap: .18rem !important;
}
body.game-body .fleet-card strong {
    font-size: clamp(.76rem, .9vw, 1.07rem) !important;
}
body.game-body .fleet-card small,
body.game-body .fleet-card .fleet-meta {
    font-size: clamp(.53rem, .59vw, .67rem) !important;
    line-height: 1.08 !important;
}
body.game-body .fleet-meter-top {
    font-size: clamp(.53rem, .58vw, .67rem) !important;
}
body.game-body .fleet-meter-track {
    height: 6px !important;
}
body.game-body .fleet-card .progress-shell {
    height: 8px !important;
}
body.game-body .fleet-card .countdown-pill {
    font-size: .5rem !important;
    padding: .07rem .26rem !important;
}
body.game-body .fleet-status {
    font-size: .5rem !important;
    padding: .09rem .3rem !important;
}
body.game-body .fleet-quick-fuel {
    width: 29px !important;
    height: 29px !important;
    font-size: .86rem !important;
}
body.game-body .compact-meter .buy-big {
    min-height: 76px !important;
}
body.game-body .compact-meter .buy-parking {
    min-height: 60px !important;
}

body.game-body #map {
    position: relative !important;
}
body.game-body .sticky-map-popup {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 1800;
    width: min(340px, calc(100% - 28px));
    max-height: calc(100% - 28px);
    padding: 1.05rem .95rem .9rem;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(65,38,20,.95), rgba(20,11,6,.96));
    border: 1px solid rgba(255,218,136,.55);
    box-shadow: 0 18px 38px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.12);
    color: #fff3d0;
    pointer-events: auto;
    overflow: auto;
}
body.game-body .sticky-map-popup.hidden {
    display: none !important;
}
body.game-body .sticky-map-popup .game-map-popup {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: inherit !important;
}
body.game-body .sticky-map-popup-close {
    position: absolute;
    top: .42rem;
    right: .42rem;
    min-width: 38px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    border: 1px solid rgba(255,218,136,.5);
    background: rgba(32,17,8,.82);
    color: #ffe49a;
    font-size: 1.15rem;
    font-weight: 1000;
    line-height: 1;
    cursor: pointer;
}
body.game-body .sticky-map-popup-close:hover {
    filter: brightness(1.08);
}
body.game-body .sticky-map-popup-content {
    padding-right: 2.15rem;
}
@media (max-width: 1250px) {
    body.game-body .taximeter-bar.compact-meter {
        min-height: 300px !important;
        max-height: none !important;
    }
}
@media (max-width: 780px) {
    body.game-body .taximeter-bar.compact-meter {
        min-height: 300px !important;
        max-height: none !important;
    }
}

/* v3.1: fleet fuel action no longer shifts card layout */
body.game-body .fleet-card {
    cursor: pointer;
}
body.game-body .fleet-card .fleet-quick-fuel {
    position: absolute !important;
    top: .55rem !important;
    right: .55rem !important;
    z-index: 8 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    line-height: 1 !important;
    font-size: 1rem !important;
    border-radius: 10px !important;
    transform: none !important;
}
body.game-body .fleet-card .fleet-quick-fuel:hover {
    transform: translateY(-1px) !important;
}
body.game-body .fleet-card-main {
    padding-right: 0 !important;
}

/* v3.2: SoundFX, Economy-Feedback und einheitliche Szenenanimationen */
body.game-body .sound-toggle {
    transition: transform .18s ease, filter .18s ease, opacity .18s ease;
}
body.game-body .sound-toggle.muted {
    opacity: .62;
    filter: grayscale(.8) brightness(.82);
}
body.game-body .sound-toggle:not(.muted):hover {
    transform: translateY(-1px) scale(1.04);
}

body.game-body .resource-pill.money {
    transition: color .18s ease, transform .18s ease, filter .18s ease;
}
body.game-body .resource-pill.money.money-income {
    animation: moneyBounceUp .85s cubic-bezier(.2,.9,.25,1.08) both;
    filter: drop-shadow(0 0 12px rgba(94,255,91,.35));
}
body.game-body .resource-pill.money.money-expense {
    animation: moneyBounceDown .85s cubic-bezier(.2,.9,.25,1.08) both;
    filter: drop-shadow(0 0 12px rgba(255,80,68,.35));
}
body.game-body .resource-pill.money.money-income strong {
    color: #8dff75 !important;
    text-shadow: 0 0 14px rgba(94,255,91,.55);
}
body.game-body .resource-pill.money.money-expense strong {
    color: #ff6b5d !important;
    text-shadow: 0 0 14px rgba(255,80,68,.55);
}
@keyframes moneyBounceUp {
    0% { transform: translateY(0) scale(1); }
    32% { transform: translateY(-10px) scale(1.075); }
    66% { transform: translateY(2px) scale(.99); }
    100% { transform: translateY(0) scale(1); }
}
@keyframes moneyBounceDown {
    0% { transform: translateY(0) scale(1); }
    32% { transform: translateY(9px) scale(.965); }
    66% { transform: translateY(-1px) scale(1.01); }
    100% { transform: translateY(0) scale(1); }
}

body.game-body .mini-fireworks.cursor-fireworks,
.mini-fireworks.cursor-fireworks {
    position: fixed !important;
    left: 0;
    top: 0;
    width: 1px;
    height: 1px;
    z-index: 99999 !important;
    pointer-events: none !important;
}

body.game-body .workshop-scene.scene-opening,
body.game-body .dealer-scene.scene-opening,
body.game-body .gas-scene.scene-opening,
body.game-body .assistance-scene.scene-opening,
body.game-body .store-purchase-scene.scene-opening {
    animation: sceneOpenZoom .46s cubic-bezier(.2,.9,.2,1.06) both;
}
body.game-body .workshop-scene.scene-closing-down,
body.game-body .dealer-scene.scene-closing-down,
body.game-body .gas-scene.scene-closing-down,
body.game-body .assistance-scene.scene-closing-down,
body.game-body .store-purchase-scene.scene-closing-down {
    animation: sceneFadeDown .42s ease-in both;
    pointer-events: none !important;
}
@keyframes sceneOpenZoom {
    from { opacity: 0; transform: translateY(28px) scale(.965); filter: blur(2px); }
    to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
@keyframes sceneFadeDown {
    from { opacity: 1; transform: translateY(0) scale(1); }
    to { opacity: 0; transform: translateY(92px) scale(.985); }
}

body.game-body .workshop-scene.scene-opening .enrico-figure,
body.game-body .dealer-scene.scene-opening .dealer-figure,
body.game-body .store-purchase-scene.scene-opening .store-dealer-figure {
    animation: sceneCharacterSlideIn .58s cubic-bezier(.2,.9,.2,1.06) both;
}
@keyframes sceneCharacterSlideIn {
    from { opacity: 0; transform: translateX(-70px) translateY(18px) scale(.97); }
    to { opacity: 1; }
}

body.game-body .gas-scene.scene-opening .pauline-figure,
body.game-body .pauline-figure.scene-slide-in {
    animation: paulineSlideInV32 .62s cubic-bezier(.2,.9,.2,1.06) both;
}
@keyframes paulineSlideInV32 {
    from { opacity: 0; transform: translate(230px, 40px) scale(.98); }
    to { opacity: 1; }
}

body.game-body .assistance-scene .dealer-figure,
body.game-body .assistance-figure {
    transform: translate(calc(7vw + 100px), calc(3vh + 150px)) scale(1.08) !important;
    transform-origin: bottom center !important;
}
body.game-body .assistance-scene.scene-opening .dealer-figure,
body.game-body .assistance-scene.scene-opening .assistance-figure {
    animation: assistanceDanielInV32 .64s cubic-bezier(.2,.9,.2,1.06) both;
}
@keyframes assistanceDanielInV32 {
    from { opacity: 0; transform: translate(calc(7vw + 155px), calc(3vh + 190px)) scale(1.02); }
    to { opacity: 1; transform: translate(calc(7vw + 100px), calc(3vh + 150px)) scale(1.08); }
}
@media (max-width: 1100px) {
    body.game-body .assistance-scene .dealer-figure,
    body.game-body .assistance-figure {
        transform: translate(100px, 150px) scale(1.02) !important;
        max-height: 46vh !important;
    }
}

/* v3.3: Taxameter-Balken, Soundstatus, Fokusbutton und Geldfeedback */
body.game-body .map-panel,
body.game-body .game-map-panel {
    position: relative !important;
}
body.game-body #focusCity.map-focus-button,
body.game-body .map-focus-button {
    top: auto !important;
    left: auto !important;
    right: clamp(.85rem, 1.2vw, 1.25rem) !important;
    bottom: clamp(.85rem, 1.2vw, 1.25rem) !important;
    z-index: 760 !important;
}
body.game-body .sound-toggle {
    min-width: 76px !important;
    padding-inline: .5rem !important;
    font-size: .88rem !important;
    font-weight: 950 !important;
    letter-spacing: .02em !important;
    gap: .25rem !important;
}
body.game-body .sound-toggle.sound-on {
    color: #1b1208 !important;
    background: linear-gradient(180deg, #ffe37b, #f2a014) !important;
    border-color: rgba(255,230,139,.75) !important;
    box-shadow: 0 0 0 2px rgba(255,205,69,.12), 0 10px 20px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.35) !important;
    filter: saturate(1.1) brightness(1.04) !important;
    opacity: 1 !important;
}
body.game-body .sound-toggle.sound-off,
body.game-body .sound-toggle.muted {
    color: rgba(255,238,194,.72) !important;
    background: linear-gradient(180deg, rgba(54,40,30,.88), rgba(20,13,9,.95)) !important;
    border-color: rgba(255,226,141,.22) !important;
    opacity: .78 !important;
    filter: grayscale(.65) brightness(.82) !important;
}
body.game-body .resource-pill.money.money-income,
body.game-body .resource-pill.money.money-expense {
    will-change: transform, filter;
}
body.game-body .resource-pill.money.money-income strong,
body.game-body .resource-pill.money.money-income #cash {
    color: #79ff66 !important;
    text-shadow: 0 0 18px rgba(121,255,102,.72), 0 1px 0 rgba(0,0,0,.35) !important;
}
body.game-body .resource-pill.money.money-expense strong,
body.game-body .resource-pill.money.money-expense #cash {
    color: #ff5b4f !important;
    text-shadow: 0 0 18px rgba(255,91,79,.68), 0 1px 0 rgba(0,0,0,.35) !important;
}
body.game-body .fleet-card-info {
    gap: .29rem !important;
    align-content: start !important;
}
body.game-body .fleet-card .fleet-meta.compact {
    margin-block: -.04rem !important;
}
body.game-body .fleet-card .fleet-meter {
    gap: .12rem !important;
}
body.game-body .fleet-card .fleet-meter-top {
    font-size: clamp(.68rem, .68vw, .84rem) !important;
    line-height: .98 !important;
    letter-spacing: .015em !important;
}
body.game-body .fleet-card .fleet-meter-track {
    height: 7px !important;
}
body.game-body .fleet-card .fleet-meter-track i {
    min-width: 2px !important;
}
body.game-body .fleet-card strong {
    line-height: 1.02 !important;
}
body.game-body .fleet-card-main {
    align-items: center !important;
}
@media (max-height: 860px) {
    body.game-body .fleet-card .fleet-meter-top {
        font-size: clamp(.64rem, .62vw, .78rem) !important;
    }
    body.game-body .fleet-card .fleet-meter-track {
        height: 6px !important;
    }
}

/* v3.4: Bank-App und kompaktere Taxameter-Meta */
body.game-body .bank-balance-card {
    background: linear-gradient(180deg, rgba(255,225,148,.25), rgba(48,31,17,.92)) !important;
    border-color: rgba(255,224,139,.35) !important;
}
body.game-body .bank-balance-card > span {
    color: rgba(255,239,204,.75);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .09em;
}
body.game-body .bank-balance-card strong {
    display: block;
    margin-top: .2rem;
    font-size: clamp(1.35rem, 3.8vw, 2.1rem);
    color: #ffe88e;
}
body.game-body .bank-period-card {
    display: grid;
    gap: .45rem;
}
body.game-body .bank-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .38rem .52rem;
    border-radius: 12px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.07);
}
body.game-body .bank-row span { color: rgba(255,239,204,.78); }
body.game-body .bank-row.income b { color: #85ff6e; }
body.game-body .bank-row.expense b { color: #ff796f; }
body.game-body .bank-row.result b { color: #ffe88e; }
body.game-body .bank-note small { color: rgba(255,239,204,.7); }

/* v3.6: Auftrags-Badges, Dispatch-Feedback, Smartphone-SFX, Daniel-Position */
body.game-body .app-icon {
    position: relative;
}
body.game-body .app-notification-badge {
    position: absolute;
    top: -5px;
    right: calc(50% - 39px);
    z-index: 8;
    min-width: 22px;
    height: 22px;
    padding: 0 .38rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, #ff5a4c, #b71111);
    border: 2px solid rgba(255,255,255,.92);
    color: #fff;
    font-size: .72rem;
    font-weight: 1000;
    line-height: 1;
    box-shadow: 0 9px 18px rgba(0,0,0,.35), 0 0 0 3px rgba(255,40,40,.18);
}
body.game-body .app-notification-badge.hidden {
    display: none !important;
}
body.game-body .app-icon.app-bounce-alert span {
    animation: appOrderBounceV36 .78s cubic-bezier(.18,.9,.24,1.25) both;
}
@keyframes appOrderBounceV36 {
    0% { transform: translateY(0) scale(1); }
    18% { transform: translateY(-9px) scale(1.08); }
    36% { transform: translateY(2px) scale(.98); }
    54% { transform: translateY(-5px) scale(1.04); }
    76% { transform: translateY(1px) scale(1.01); }
    100% { transform: translateY(0) scale(1); }
}
body.game-body .phone-tabs.job-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .35rem;
    padding: .32rem;
    margin: -.2rem 0 .72rem;
    border-radius: 999px;
    background: rgba(0,0,0,.32);
    border: 1px solid rgba(255,224,150,.16);
}
body.game-body .phone-tab {
    border: 0;
    border-radius: 999px;
    min-height: 36px;
    padding: .45rem .42rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .32rem;
    color: rgba(255,239,204,.78);
    background: transparent;
    font: inherit;
    font-size: .72rem;
    font-weight: 1000;
    cursor: pointer;
}
body.game-body .phone-tab span {
    min-width: 20px;
    height: 20px;
    padding: 0 .28rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.12);
    color: #fff3c8;
    font-size: .66rem;
}
body.game-body .phone-tab.active {
    color: #241307;
    background: linear-gradient(180deg, #ffe17c, #c77714);
    box-shadow: 0 10px 20px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.28);
}
body.game-body .phone-tab.active span {
    background: rgba(36,19,7,.17);
    color: #241307;
}
body.game-body .job-card {
    transform-origin: center right;
    transition: transform .34s cubic-bezier(.22,.9,.22,1), opacity .28s ease, filter .28s ease;
}
body.game-body .job-card.job-dispatching-start {
    outline: 2px solid rgba(255,218,104,.48);
    box-shadow: 0 0 0 4px rgba(255,190,46,.12), 0 14px 24px rgba(0,0,0,.3);
    filter: brightness(1.08);
}
body.game-body .job-card.job-dispatching-start .dispatch-button {
    animation: dispatchButtonPulseV36 .7s ease-in-out infinite alternate;
}
body.game-body .job-card.job-slide-out-right {
    transform: translateX(122%) scale(.96);
    opacity: 0;
    filter: blur(1px) brightness(1.08);
    pointer-events: none;
}
@keyframes dispatchButtonPulseV36 {
    from { transform: scale(1); }
    to { transform: scale(1.025); }
}
body.game-body .assistance-scene .dealer-figure,
body.game-body .assistance-figure {
    max-width: min(34.5vw, 555px) !important;
    max-height: min(97vh, 980px) !important;
    transform: translateX(calc(10.5vw + 100px)) translateY(18vh) scale(1.15) !important;
}
body.game-body .assistance-scene.scene-opening .dealer-figure,
body.game-body .assistance-scene.scene-opening .assistance-figure {
    animation: assistanceDanielInV36 .68s cubic-bezier(.2,.9,.2,1.08) both !important;
}
@keyframes assistanceDanielInV36 {
    from { opacity: 0; transform: translateX(calc(2vw + 100px)) translateY(20vh) scale(1.06); }
    to { opacity: 1; transform: translateX(calc(10.5vw + 100px)) translateY(18vh) scale(1.15); }
}
@media (max-width: 1100px) {
    body.game-body .assistance-scene .dealer-figure,
    body.game-body .assistance-figure {
        max-width: 48vw !important;
        max-height: 48vh !important;
        transform: translateX(4vw) translateY(4vh) scale(1.05) !important;
    }
}

/* v3.7: smaller order badge + breakdown alert */
body.game-body .app-notification-badge {
    top: -2px !important;
    right: calc(50% - 30px) !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 .24rem !important;
    border-width: 1.5px !important;
    font-size: .56rem !important;
    box-shadow: 0 5px 10px rgba(0,0,0,.35), 0 0 0 2px rgba(255,40,40,.16) !important;
}
.breakdown-alert-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 1.25rem;
    background: rgba(10,5,3,.58);
    backdrop-filter: blur(5px);
    animation: breakdownOverlayIn .22s ease both;
}
.breakdown-alert-overlay.closing { animation: breakdownOverlayOut .22s ease both; }
.breakdown-alert-card {
    width: min(640px, 92vw);
    display: grid;
    grid-template-columns: 128px 1fr;
    align-items: center;
    gap: 1.15rem;
    padding: 1.15rem 1.25rem;
    border-radius: 26px;
    border: 1px solid rgba(255,220,132,.42);
    background: linear-gradient(180deg, rgba(58,31,14,.96), rgba(30,15,8,.98));
    color: #fff5d7;
    box-shadow: 0 34px 90px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.1);
    animation: breakdownCardIn .34s cubic-bezier(.2,.9,.2,1.08) both;
}
.breakdown-alert-icon {
    width: 128px;
    height: 128px;
    object-fit: contain;
    filter: drop-shadow(0 16px 20px rgba(0,0,0,.35));
}
.breakdown-alert-copy { display: grid; gap: .55rem; }
.breakdown-alert-copy strong {
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    color: #ffd65c;
    letter-spacing: .02em;
}
.breakdown-alert-copy p { margin: 0; font-size: 1.08rem; line-height: 1.35; }
.breakdown-alert-copy small { color: rgba(255,245,215,.78); font-size: .94rem; }
.breakdown-alert-copy .button { justify-self: start; min-width: 130px; }
@keyframes breakdownOverlayIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes breakdownOverlayOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes breakdownCardIn { from { opacity: 0; transform: translateY(22px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 620px) {
    .breakdown-alert-card { grid-template-columns: 1fr; text-align: center; justify-items: center; }
    .breakdown-alert-copy .button { justify-self: center; }
}

/* v3.8: Charakter-Feinpositionen und iPhone-artiges Auftragsbadge */
body.game-body .gas-scene .pauline-figure,
body.game-body .pauline-figure {
    transform: translate(80px, 150px) scale(1.15) !important;
    transform-origin: bottom center !important;
    max-height: min(96vh, 980px) !important;
    animation: paulineSlideInV38 .55s cubic-bezier(.18,.85,.24,1.02) both !important;
}
@keyframes paulineSlideInV38 {
    from { opacity: 0; transform: translate(-90px, 150px) scale(1.08); }
    to   { opacity: 1; transform: translate(80px, 150px) scale(1.15); }
}
body.game-body .workshop-scene .enrico-figure,
body.game-body .enrico-figure {
    transform: translate(-80px, 100px) scale(1) !important;
    transform-origin: bottom center !important;
    animation: enricoSlideInV38 .55s cubic-bezier(.18,.85,.24,1.02) both !important;
}
body.game-body .workshop-scene.scene-opening .enrico-figure {
    animation: enricoSlideInV38 .55s cubic-bezier(.18,.85,.24,1.02) both !important;
}
@keyframes enricoSlideInV38 {
    from { opacity: 0; transform: translate(70px, 100px) scale(.98); }
    to   { opacity: 1; transform: translate(-80px, 100px) scale(1); }
}
body.game-body .app-icon[data-open-app="orders"] {
    position: relative !important;
}
body.game-body .app-icon[data-open-app="orders"] .app-notification-badge,
body.game-body .app-notification-badge {
    top: -7px !important;
    left: calc(50% + 17px) !important;
    right: auto !important;
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    font-size: .68rem !important;
    line-height: 1 !important;
    font-weight: 1000 !important;
    background: linear-gradient(180deg, #ff554b 0%, #ef2929 58%, #a80d0d 100%) !important;
    border: 2px solid rgba(255,255,255,.9) !important;
    box-shadow: 0 8px 16px rgba(0,0,0,.35), 0 0 0 2px rgba(255,40,40,.12) !important;
    color: #fff !important;
}
body.game-body .app-icon[data-open-app="orders"] .app-notification-badge:not(:empty) {
    transform: translateZ(0) !important;
}
body.game-body .app-icon[data-open-app="orders"] .app-notification-badge.hidden,
body.game-body .app-notification-badge.hidden {
    display: none !important;
}
@media (max-width: 1100px) {
    body.game-body .gas-scene .pauline-figure,
    body.game-body .pauline-figure {
        transform: translate(34px, 90px) scale(1.08) !important;
        max-height: 54vh !important;
    }
    body.game-body .workshop-scene .enrico-figure,
    body.game-body .enrico-figure {
        transform: translate(-30px, 62px) scale(.96) !important;
    }
    body.game-body .app-icon[data-open-app="orders"] .app-notification-badge,
    body.game-body .app-notification-badge {
        left: calc(50% + 13px) !important;
        top: -6px !important;
        width: 20px !important;
        min-width: 20px !important;
        height: 20px !important;
        min-height: 20px !important;
        font-size: .62rem !important;
    }
}

/* v4.0 – Monitor, Maik, dynamische Szenen und Pannenwarnung */
body.game-body .monitor-map-panel {
    padding: 30px 32px 58px !important;
    border-radius: 24px !important;
    background: linear-gradient(145deg, #181615, #050504 58%, #26211b) !important;
    border: 2px solid rgba(255, 215, 115, .28) !important;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.08), inset 0 -12px 28px rgba(0,0,0,.72), 0 22px 44px rgba(0,0,0,.48) !important;
    overflow: visible !important;
}
body.game-body .monitor-map-panel .monitor-top {
    position: absolute;
    top: 7px;
    left: 28px;
    right: 28px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: rgba(255, 232, 174, .72);
    font-size: 10px;
    letter-spacing: .16em;
    text-transform: uppercase;
    z-index: 12;
    pointer-events: none;
}
body.game-body .monitor-map-panel .monitor-top span {
    width: 8px;
    height: 8px;
    border-radius: 99px;
    background: radial-gradient(circle at 35% 35%, #ffe59b, #805116 70%);
    box-shadow: 0 0 12px rgba(255,195,63,.35);
}
body.game-body .monitor-map-panel .monitor-screen {
    position: relative;
    height: 100%;
    min-height: 0;
    border-radius: 18px;
    overflow: hidden;
    background: #15100b;
    border: 3px solid rgba(0,0,0,.84);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), inset 0 0 26px rgba(0,0,0,.45);
}
body.game-body .monitor-map-panel #map {
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 14px !important;
}
body.game-body .monitor-map-panel .monitor-foot {
    position: absolute;
    left: 50%;
    bottom: 13px;
    width: 76px;
    height: 12px;
    transform: translateX(-50%);
    border-radius: 0 0 14px 14px;
    background: linear-gradient(#0d0b09, #2d241a);
    box-shadow: 0 10px 20px rgba(0,0,0,.42);
    pointer-events: none;
}
body.game-body .monitor-map-panel .map-title { top: 42px !important; left: 42px !important; z-index: 25 !important; }
body.game-body .monitor-map-panel .map-focus-button { right: 46px !important; bottom: 74px !important; top: auto !important; z-index: 25 !important; }

body.game-body .scene-popup::before {
    background-image: linear-gradient(90deg, rgba(0,0,0,.70), rgba(0,0,0,.24) 48%, rgba(0,0,0,.70)), var(--scene-bg) !important;
    background-size: cover !important;
    background-position: center !important;
}
body.game-body .workshop-scene { --scene-bg: url('../img/werkstatt.png'); }
body.game-body .gas-scene { --scene-bg: url('../img/tankstelle.png'); }
body.game-body .dealer-scene { --scene-bg: url('../img/autohandel.png'); }
body.game-body .assistance-scene { --scene-bg: url('../img/pannenhilfe.png'); }
body.game-body .rick-scene { --scene-bg: url('../img/taxizentrale.png'); }

body.game-body .rick-scene {
    position: fixed;
    inset: 1.1rem;
    z-index: 13000;
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(255, 211, 121, .7);
    box-shadow: 0 26px 70px rgba(0,0,0,.72), inset 0 1px 0 rgba(255,255,255,.12);
    background: #160d08;
}
body.game-body .rick-scene.hidden { display: none !important; }
body.game-body .rick-scene::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.36) 50%, rgba(0,0,0,.80)), var(--scene-bg);
    background-size: cover;
    background-position: center;
    transform: scale(1.02);
}
body.game-body .rick-stage {
    position: relative;
    z-index: 2;
    height: 100%;
    display: grid;
    grid-template-columns: minmax(330px, .9fr) minmax(420px, .75fr);
    align-items: end;
    gap: 2rem;
    padding: 2rem 4rem 3rem;
}
body.game-body .rick-figure {
    max-height: 92vh;
    max-width: min(480px, 45vw);
    object-fit: contain;
    align-self: end;
    justify-self: center;
    filter: drop-shadow(0 28px 28px rgba(0,0,0,.72));
    animation: characterSlideIn .62s cubic-bezier(.2,.82,.2,1) both;
}
body.game-body .rick-dialogue {
    align-self: center;
    width: min(620px, 100%);
    max-height: 74vh;
    overflow: auto;
    border-radius: 24px;
    padding: 1.25rem;
    color: var(--cream);
    background: linear-gradient(145deg, rgba(92,46,20,.78), rgba(26,13,7,.88));
    border: 1px solid rgba(255, 211, 121, .58);
    box-shadow: 0 20px 42px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.10);
    animation: dialogueSlideIn .56s .12s cubic-bezier(.2,.82,.2,1) both;
}
body.game-body .rick-dialogue > strong { color: #ffe28a; font-size: 1.25rem; }
body.game-body .rick-dialogue p { line-height: 1.5; margin: .55rem 0 1rem; }
body.game-body .rick-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 5;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    border: 1px solid rgba(255, 226, 138, .65);
    background: rgba(42,22,11,.86);
    color: #fff0c0;
    font-size: 1.6rem;
    font-weight: 900;
    cursor: pointer;
}
body.game-body .rick-report-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .65rem;
    margin: 1rem 0;
}
body.game-body .rick-report-grid span {
    display: grid;
    gap: .2rem;
    padding: .8rem;
    border-radius: 16px;
    background: rgba(0,0,0,.28);
    border: 1px solid rgba(255,215,128,.25);
    text-align: center;
}
body.game-body .rick-report-grid b { color: #ffdc65; font-size: 1.08rem; }
body.game-body .rick-report-grid small,
body.game-body .rick-report-lines small { color: rgba(255,244,214,.78); }
body.game-body .rick-report-lines { display: grid; gap: .35rem; margin: .75rem 0 1rem; }

@keyframes taxiBrokenBlink {
    0%, 100% {
        border-color: rgba(255, 143, 0, .98);
        outline: 4px solid rgba(255, 143, 0, .42);
        box-shadow:
            inset 0 0 0 3px rgba(255, 143, 0, .55),
            0 0 0 3px rgba(255, 143, 0, .24),
            0 0 24px rgba(255, 143, 0, .58);
        background: linear-gradient(145deg, rgba(82,34,5,.72), rgba(18,7,1,.95));
    }
    50% {
        border-color: rgba(255, 220, 96, 1);
        outline: 7px solid rgba(255, 111, 0, .82);
        box-shadow:
            inset 0 0 0 5px rgba(255, 179, 0, .82),
            0 0 0 7px rgba(255, 112, 0, .36),
            0 0 44px rgba(255, 112, 0, .95),
            0 0 76px rgba(255, 170, 0, .42);
        background: linear-gradient(145deg, rgba(128,55,6,.88), rgba(31,10,1,.98));
    }
}
body.game-body .fleet-card.fleet-broken-blink {
    position: relative;
    isolation: isolate;
    animation: taxiBrokenBlink .62s ease-in-out infinite;
}
body.game-body .fleet-card.fleet-broken-blink::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    border: 4px solid rgba(255, 149, 0, .9);
    box-shadow: inset 0 0 0 2px rgba(255, 229, 128, .55);
    pointer-events: none;
    z-index: 8;
}
body.game-body .fleet-warning-triangle {
    position: absolute;
    left: 16px;
    top: 34px;
    z-index: 7;
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    filter: drop-shadow(0 8px 10px rgba(0,0,0,.65));
    pointer-events: none;
}
body.game-body .fleet-warning-triangle img { width: 100%; height: 100%; object-fit: contain; }
body.game-body .fleet-card.fleet-broken-blink .fleet-car-thumb img { opacity: .72; }

@media (max-width: 980px) {
    body.game-body .rick-stage { grid-template-columns: 1fr; padding: 2.8rem 1rem 1rem; align-items: end; }
    body.game-body .rick-figure { display: none; }
    body.game-body .rick-dialogue { align-self: end; }
    body.game-body .rick-report-grid { grid-template-columns: repeat(2, 1fr); }
    body.game-body .monitor-map-panel { padding: 24px 20px 44px !important; }
}

/* v4.2: Tageszeit-Hintergründe, schlankerer Monitor, Fleet-Abstand */
body.game-body.city-bg-morning {
    background:
        linear-gradient(180deg, rgba(20,12,7,.06), rgba(20,12,7,.32)),
        url('../img/background_city_morning.png') center/cover fixed no-repeat,
        linear-gradient(135deg, #2a1a12 0%, #6e3f22 48%, #21140d 100%) !important;
}
body.game-body.city-bg-day {
    background:
        linear-gradient(180deg, rgba(20,12,7,.04), rgba(20,12,7,.28)),
        url('../img/background_city_day.png') center/cover fixed no-repeat,
        linear-gradient(135deg, #2a1a12 0%, #6e3f22 48%, #21140d 100%) !important;
}
body.game-body.city-bg-rainyday {
    background:
        linear-gradient(180deg, rgba(20,12,7,.10), rgba(20,12,7,.42)),
        url('../img/background_city_rainyday.png') center/cover fixed no-repeat,
        linear-gradient(135deg, #2a1a12 0%, #6e3f22 48%, #21140d 100%) !important;
}
body.game-body.city-bg-evening {
    background:
        linear-gradient(180deg, rgba(20,12,7,.08), rgba(20,12,7,.38)),
        url('../img/background_city.png') center/cover fixed no-repeat,
        linear-gradient(135deg, #2a1a12 0%, #6e3f22 48%, #21140d 100%) !important;
}
body.game-body.city-bg-night {
    background:
        linear-gradient(180deg, rgba(4,7,16,.06), rgba(5,8,18,.40)),
        url('../img/background_city_night.png') center/cover fixed no-repeat,
        linear-gradient(135deg, #0d101d 0%, #261528 48%, #090a10 100%) !important;
}
body.game-body .monitor-map-panel {
    padding: 16px 16px 30px !important;
    border-radius: 5px !important;
    border-width: 2px !important;
}
body.game-body .monitor-map-panel .monitor-screen {
    border-radius: 5px !important;
    border-width: 2px !important;
}
body.game-body .monitor-map-panel #map {
    border-radius: 3px !important;
}
body.game-body .monitor-map-panel .monitor-top {
    top: 3px !important;
    left: 16px !important;
    right: 16px !important;
    height: 13px !important;
    font-size: 8px !important;
}
body.game-body .monitor-map-panel .monitor-top span {
    width: 5px !important;
    height: 5px !important;
}
body.game-body .monitor-map-panel .monitor-foot {
    bottom: 7px !important;
    height: 7px !important;
    width: 56px !important;
    border-radius: 0 0 5px 5px !important;
}
body.game-body .monitor-map-panel .map-title {
    top: 27px !important;
    left: 28px !important;
}
body.game-body .monitor-map-panel .map-focus-button {
    right: 28px !important;
    bottom: 42px !important;
}
body.game-body .fleet-wrap {
    transform: translateY(15px) !important;
}
body.game-body .meter-actions {
    align-content: start !important;
    padding-top: 2.1rem !important;
}
body.game-body .meter-actions .buy-parking {
    min-height: 92px !important;
}

/* v4.3: Login-Hintergrund, Smartphone-Sperre, Ladeübergang, Szene-Sync */
body.auth-body.city-bg-morning,
body.city-bg-morning:not(.game-body) {
    background:
        linear-gradient(180deg, rgba(20,12,7,.06), rgba(20,12,7,.32)),
        url('../img/background_city_morning.png') center/cover fixed no-repeat,
        linear-gradient(135deg, #2a1a12 0%, #6e3f22 48%, #21140d 100%) !important;
}
body.auth-body.city-bg-day,
body.city-bg-day:not(.game-body) {
    background:
        linear-gradient(180deg, rgba(20,12,7,.04), rgba(20,12,7,.28)),
        url('../img/background_city_day.png') center/cover fixed no-repeat,
        linear-gradient(135deg, #2a1a12 0%, #6e3f22 48%, #21140d 100%) !important;
}
body.auth-body.city-bg-rainyday,
body.city-bg-rainyday:not(.game-body) {
    background:
        linear-gradient(180deg, rgba(20,12,7,.10), rgba(20,12,7,.42)),
        url('../img/background_city_rainyday.png') center/cover fixed no-repeat,
        linear-gradient(135deg, #2a1a12 0%, #6e3f22 48%, #21140d 100%) !important;
}
body.auth-body.city-bg-evening,
body.city-bg-evening:not(.game-body) {
    background:
        linear-gradient(180deg, rgba(20,12,7,.08), rgba(20,12,7,.38)),
        url('../img/background_city.png') center/cover fixed no-repeat,
        linear-gradient(135deg, #2a1a12 0%, #6e3f22 48%, #21140d 100%) !important;
}
body.auth-body.city-bg-night,
body.city-bg-night:not(.game-body) {
    background:
        linear-gradient(180deg, rgba(4,7,16,.06), rgba(5,8,18,.40)),
        url('../img/background_city_night.png') center/cover fixed no-repeat,
        linear-gradient(135deg, #0d101d 0%, #261528 48%, #090a10 100%) !important;
}
.auth-wrap {
    transition: filter .35s ease, opacity .35s ease, transform .35s ease;
}
.auth-wrap.auth-is-loading {
    filter: blur(8px) brightness(.72);
    opacity: .72;
    transform: scale(.985);
    pointer-events: none;
}
.auth-loading-overlay {
    position: fixed;
    inset: 0;
    z-index: 50000;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 50% 42%, rgba(255,196,64,.14), transparent 34rem), rgba(10,6,4,.42);
    backdrop-filter: blur(4px);
}
.auth-loading-overlay.hidden { display: none !important; }
.auth-loading-box {
    width: min(420px, calc(100vw - 2rem));
    padding: 1.35rem;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(55,31,14,.92), rgba(18,10,6,.96));
    border: 1px solid rgba(255, 213, 106, .58);
    color: var(--cream);
    box-shadow: 0 26px 70px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.12);
    text-align: center;
    animation: authLoaderIn .35s cubic-bezier(.2,.9,.2,1.05) both;
}
.auth-loading-box strong { color: var(--gold2); font-size: 1.25rem; }
.auth-loading-box p { margin: .75rem 0 0; color: rgba(255,240,206,.84); font-weight: 800; }
.auth-loading-bar {
    height: 14px;
    margin: 1rem 0 .25rem;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(0,0,0,.45);
    border: 1px solid rgba(255,213,106,.36);
}
.auth-loading-bar i {
    display: block;
    height: 100%;
    width: 42%;
    border-radius: inherit;
    background: linear-gradient(90deg, #ffd96a, #f5a51d, #ffd96a);
    box-shadow: 0 0 20px rgba(255,194,49,.35);
    animation: authLoadBar 1.15s ease-in-out infinite;
}
@keyframes authLoaderIn { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes authLoadBar { 0% { transform: translateX(-105%); } 60%,100% { transform: translateX(240%); } }

.nophone-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 90000;
    padding: 1.2rem;
    place-items: center;
    background: radial-gradient(circle at 50% 25%, rgba(255,205,94,.12), transparent 20rem), #120b07;
    color: var(--cream);
}
.nophone-card {
    width: min(500px, 96vw);
    display: grid;
    justify-items: center;
    gap: 1rem;
    text-align: center;
    padding: 1.4rem;
    border-radius: 28px;
    border: 1px solid rgba(255,213,106,.42);
    background: rgba(42,24,13,.82);
    box-shadow: 0 28px 80px rgba(0,0,0,.55);
}
.nophone-card img { width: min(230px, 62vw); height: auto; object-fit: contain; }
.nophone-card strong { color: var(--gold2); font-size: clamp(1.25rem, 4.5vw, 2rem); line-height: 1.08; }
.nophone-card p { margin: 0; color: rgba(255,240,206,.86); line-height: 1.45; font-weight: 800; }
@media (max-width: 820px), (max-height: 540px) and (max-width: 980px) {
    body.auth-body .nophone-overlay, body.game-body .nophone-overlay { display: grid; }
    body.auth-body > *:not(.nophone-overlay), body.game-body > *:not(.nophone-overlay) { filter: blur(2px); }
}
body.game-body .store-app-icon span {
    overflow: hidden;
    background: linear-gradient(145deg, #111, #2a2118) !important;
}
body.game-body .app-icon span img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 18px;
}
.rick-popup-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
}
@media (max-width: 860px) { .rick-popup-actions { grid-template-columns: 1fr; } }

/* Admin-Szeneneditor: Vorschau stärker an Frontend-Layout angleichen */
.scene-editor-card .scene-preview {
    border-radius: 10px !important;
    min-height: auto !important;
}
.scene-editor-card .scene-preview-character {
    left: 6%;
    bottom: -2%;
    max-height: 92%;
    max-width: 42%;
    transform-origin: center bottom;
}
.scene-editor-card .scene-preview-dialog {
    right: 4%;
    top: 31%;
    width: min(620px, 48%);
    max-height: 62%;
    overflow: auto;
}


/* v4.4: Fahrtaufträge-Appsymbol, App-Wallpaper und Scene-Sync-Fix */
body.game-body .orders-app-icon span {
    overflow: hidden;
    background: linear-gradient(145deg, #f8fbff, #dceeff) !important;
}
body.game-body .scene-popup .scene-preview-character,
body.game-body .scene-popup .scene-preview-dialog {
    will-change: transform;
}

/* v4.5: Robuste Szenen-Hintergründe und einheitliches App-Wallpaper */
body.game-body .scene-popup::before {
    background-image: linear-gradient(90deg, rgba(0,0,0,.70), rgba(0,0,0,.24) 48%, rgba(0,0,0,.70)), var(--scene-bg, url('../img/background_city.png')) !important;
}
body.game-body .phone-screen.phone-app-open.phone-orders-open {
    background: var(--phone-wallpaper, url('../img/smartphone_wallpaper.png')) center/cover no-repeat !important;
}

/* v4.6: Szenen-Fallbacks und Fahrtaufträge-Wallpaper sauber repariert */
body.game-body .scene-popup {
    background-image: var(--scene-bg, url('../img/background_city.png')) !important;
    background-size: cover !important;
    background-position: center !important;
}
body.game-body .workshop-scene::before {
    background-image: linear-gradient(90deg, rgba(0,0,0,.70), rgba(0,0,0,.24) 48%, rgba(0,0,0,.70)), var(--scene-bg, url('../img/werkstatt.png')) !important;
}
body.game-body .gas-scene::before {
    background-image: linear-gradient(90deg, rgba(0,0,0,.70), rgba(0,0,0,.24) 48%, rgba(0,0,0,.70)), var(--scene-bg, url('../img/tankstelle.png')) !important;
}
body.game-body .dealer-scene::before {
    background-image: linear-gradient(90deg, rgba(0,0,0,.70), rgba(0,0,0,.24) 48%, rgba(0,0,0,.70)), var(--scene-bg, url('../img/autohandel.png')) !important;
}
body.game-body .assistance-scene::before {
    background-image: linear-gradient(90deg, rgba(0,0,0,.70), rgba(0,0,0,.24) 48%, rgba(0,0,0,.70)), var(--scene-bg, url('../img/pannenhilfe.png')) !important;
    background-size: cover !important;
    background-position: center !important;
}
body.game-body .rick-scene::before {
    background-image: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.36) 50%, rgba(0,0,0,.80)), var(--scene-bg, url('../img/taxizentrale.png')) !important;
    background-size: cover !important;
    background-position: center !important;
}
body.game-body .phone-screen.phone-app-open.phone-orders-open {
    background:
        linear-gradient(180deg, rgba(4,5,20,.08), rgba(5,4,14,.16)),
        url('../img/wallpaper_open.png') center/cover no-repeat !important;
}

/* v4.7: Frontend-Szenen exakt nach Admin-16:9-Vorschau rendern.
   Der Fehler war eine Mischung aus alten Flex/Grid-Szenenlayouts, transform-Animationen
   und relativen CSS-URL-Pfaden in --scene-bg. Diese Regeln geben allen Szenen einen
   einheitlichen absoluten 16:9-Bühnenaufbau wie in /admin/scenes.php. */
body.game-body .scene-popup {
    background: #120907 !important;
    background-image: var(--scene-bg, url('../img/background_city.png')) !important;
    background-size: cover !important;
    background-position: center !important;
    isolation: isolate !important;
}
body.game-body .scene-popup::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background-image: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.20) 48%, rgba(0,0,0,.72)), var(--scene-bg, url('../img/background_city.png')) !important;
    background-size: cover !important;
    background-position: center !important;
    transform: none !important;
    pointer-events: none !important;
}
body.game-body .workshop-scene { --scene-bg: url('../img/werkstatt.png'); }
body.game-body .gas-scene { --scene-bg: url('../img/tankstelle.png'); }
body.game-body .dealer-scene { --scene-bg: url('../img/autohandel.png'); }
body.game-body .assistance-scene { --scene-bg: url('../img/pannenhilfe.png'); }
body.game-body .rick-scene { --scene-bg: url('../img/taxizentrale.png'); }

body.game-body .scene-popup .workshop-stage,
body.game-body .scene-popup .gas-stage,
body.game-body .scene-popup .dealer-stage,
body.game-body .scene-popup .assistance-stage,
body.game-body .rick-stage {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: block !important;
    height: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    transform: none !important;
}
body.game-body .scene-popup .scene-character,
body.game-body .scene-popup .enrico-figure,
body.game-body .scene-popup .pauline-figure,
body.game-body .scene-popup .dealer-figure,
body.game-body .scene-popup .assistance-figure,
body.game-body .rick-figure {
    position: absolute !important;
    left: 6% !important;
    right: auto !important;
    top: auto !important;
    bottom: -4% !important;
    z-index: 2 !important;
    width: auto !important;
    height: auto !important;
    max-height: 92% !important;
    max-width: 42% !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    transform-origin: center bottom !important;
    filter: drop-shadow(0 22px 22px rgba(0,0,0,.55)) !important;
}
body.game-body .scene-popup .scene-dialogue,
body.game-body .scene-popup .enrico-dialogue,
body.game-body .scene-popup .pauline-dialogue,
body.game-body .scene-popup .dealer-dialogue,
body.game-body .scene-popup .assistance-dialogue,
body.game-body .rick-dialogue {
    position: absolute !important;
    right: 4% !important;
    left: auto !important;
    top: 30% !important;
    bottom: auto !important;
    z-index: 3 !important;
    width: min(620px, 52%) !important;
    max-width: 52% !important;
    max-height: 74vh !important;
    overflow: auto !important;
    transform-origin: center center !important;
    padding: 1.1rem 1.25rem !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255,211,121,.45) !important;
    background: rgba(45,22,10,.78) !important;
    color: #fff4d6 !important;
    box-shadow: 0 22px 40px rgba(0,0,0,.35) !important;
    align-self: auto !important;
    justify-self: auto !important;
    margin: 0 !important;
}
body.game-body .scene-popup.scene-opening .scene-character,
body.game-body .scene-popup.scene-opening .enrico-figure,
body.game-body .scene-popup.scene-opening .pauline-figure,
body.game-body .scene-popup.scene-opening .dealer-figure,
body.game-body .scene-popup.scene-opening .assistance-figure,
body.game-body .rick-scene.scene-opening .rick-figure {
    animation: sceneCharacterFadeOnlyV47 .42s ease both !important;
}
@keyframes sceneCharacterFadeOnlyV47 {
    from { opacity: 0; filter: blur(1px) drop-shadow(0 22px 22px rgba(0,0,0,.55)); }
    to { opacity: 1; filter: blur(0) drop-shadow(0 22px 22px rgba(0,0,0,.55)); }
}
body.game-body .scene-popup .workshop-close,
body.game-body .scene-popup .dealer-close,
body.game-body .scene-popup .gas-close,
body.game-body .rick-close {
    z-index: 10 !important;
}
body.game-body .phone-screen.phone-app-open.phone-orders-open {
    background:
        linear-gradient(180deg, rgba(4,5,20,.08), rgba(5,4,14,.16)),
        url('../img/wallpaper_open.png') center/cover no-repeat !important;
}

/* v4.8: Autohaus Nordland nutzt zwei bearbeitbare Szenen:
   dealer_buy = Kaufbestätigung / dealer_sell = Verkauf-Verhandlung. */
body.game-body .store-purchase-scene {
    --scene-bg: url('../img/autohandel.png');
    background-color: #120907 !important;
    background-image: var(--scene-bg, url('../img/autohandel.png')) !important;
    background-size: cover !important;
    background-position: center !important;
    isolation: isolate !important;
}
body.game-body .store-purchase-scene::before {
    background-image: linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.24) 42%, rgba(0,0,0,.78)), var(--scene-bg, url('../img/autohandel.png')) !important;
    background-size: cover !important;
    background-position: center !important;
}
body.game-body .store-purchase-scene .store-dealer-figure {
    transform-origin: center bottom !important;
}
body.game-body .store-purchase-scene .store-purchase-dialogue {
    transform-origin: center center !important;
}
body.game-body .store-purchase-scene .store-dealer-figure {
    animation: none !important;
}
body.game-body .store-purchase-scene.scene-opening .store-dealer-figure {
    animation: sceneCharacterFadeOnlyV47 .42s ease both !important;
}

/* v4.9 Kupferbank-Szene und Bankdialog */
body.game-body .bank-scene { --scene-bg: url('../img/bank.png'); }
body.game-body .bank-scene::before {
    background-image: linear-gradient(90deg, rgba(0,0,0,.74), rgba(0,0,0,.22) 48%, rgba(0,0,0,.66)), var(--scene-bg, url('../img/bank.png')) !important;
}
body.game-body .bank-stage {
    position: relative;
    z-index: 2;
    height: 100%;
    min-height: 100%;
}
body.game-body .bank-figure {
    position: absolute !important;
    right: 4.2rem !important;
    bottom: -3.5rem !important;
    max-height: 96% !important;
    max-width: 43% !important;
    object-fit: contain;
    filter: drop-shadow(0 28px 48px rgba(0,0,0,.44));
}
body.game-body .bank-dialogue {
    position: absolute !important;
    left: 2.6rem !important;
    right: auto !important;
    bottom: 2.4rem !important;
    width: min(560px, 47vw) !important;
    max-width: 560px !important;
    background: rgba(8, 20, 35, .86) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,.42) !important;
    backdrop-filter: blur(14px);
}
.bank-popup-controls { display: grid; gap: .75rem; margin-top: .8rem; }
.bank-dialogue-actions { display: flex; gap: .7rem; align-items: stretch; flex-wrap: wrap; }
.bank-dialogue-actions.stacked { display: grid; grid-template-columns: 1fr; }
.bank-offer-box { margin: .2rem 0 .35rem; }
.bank-offer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.bank-loan-offer {
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.09);
    color: #fff;
    border-radius: 18px;
    padding: .85rem;
    text-align: left;
    display: grid;
    gap: .18rem;
    cursor: pointer;
}
.bank-loan-offer:hover { background: rgba(255,255,255,.15); transform: translateY(-1px); }
.bank-loan-offer strong { font-size: 1.1rem; }
.bank-loan-offer span { color: rgba(255,255,255,.86); }
.bank-loan-offer small { color: rgba(255,255,255,.62); }
.bank-loan-slider {
    display: grid;
    gap: .65rem;
    padding: .85rem;
    border-radius: 20px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
}
.bank-loan-slider label { display: grid; gap: .55rem; color: #fff; font-weight: 700; }
.bank-loan-slider input[type="range"] { width: 100%; accent-color: #d89d41; }
.bank-warning {
    display: grid;
    gap: .25rem;
    border-radius: 16px;
    padding: .72rem .8rem;
    background: rgba(160, 55, 39, .28);
    border: 1px solid rgba(255, 160, 130, .28);
    color: rgba(255,255,255,.92);
}
.bank-warning.soft {
    background: rgba(216, 157, 65, .16);
    border-color: rgba(216, 157, 65, .36);
}
.bank-warning span { color: rgba(255,255,255,.78); font-size: .9rem; line-height: 1.35; }
.bank-balance-card .button { margin-top: .75rem; }

@media (max-width: 900px) {
    body.game-body .bank-figure { right: -1.2rem !important; max-width: 48% !important; opacity: .88; }
    body.game-body .bank-dialogue { left: 1rem !important; bottom: 1rem !important; width: calc(100% - 2rem) !important; max-width: none !important; }
    .bank-offer-grid { grid-template-columns: 1fr; }
}

/* v4.10: feste 16:9-Popup-Bühne, Online-Adminfilter und Bank-Z-Index-Fix */
body.game-body .scene-popup,
body.game-body .store-purchase-scene.scene-popup,
body.game-body .bank-scene.scene-popup,
body.game-body .rick-scene.scene-popup,
body.game-body .workshop-scene.scene-popup,
body.game-body .dealer-scene.scene-popup,
body.game-body .gas-scene.scene-popup,
body.game-body .assistance-scene.scene-popup {
    position: fixed !important;
    inset: auto !important;
    left: 50% !important;
    top: 50% !important;
    width: var(--scene-frame-width, min(96vw, 1360px)) !important;
    height: var(--scene-frame-height, auto) !important;
    aspect-ratio: 16 / 9 !important;
    max-height: 96vh !important;
    overflow: hidden !important;
    border-radius: clamp(18px, 2.2vw, 34px) !important;
    border: 1px solid rgba(255, 222, 150, .28) !important;
    z-index: 95000 !important;
    transform: translate(-50%, -50%) !important;
    transform-origin: center center !important;
    box-shadow: 0 0 0 100vmax rgba(0,0,0,.76), 0 34px 110px rgba(0,0,0,.82) !important;
    background-color: #120907 !important;
    background-image: var(--scene-bg, url('../img/background_city.png')) !important;
    background-size: cover !important;
    background-position: center !important;
    isolation: isolate !important;
}
body.game-body .scene-popup.hidden,
body.game-body .store-purchase-scene.scene-popup.hidden {
    display: none !important;
}
body.game-body .scene-popup.scene-opening,
body.game-body .store-purchase-scene.scene-popup.scene-opening {
    animation: sceneOpenFixedV410 .36s cubic-bezier(.2,.9,.2,1.06) both !important;
}
body.game-body .scene-popup.scene-closing-down,
body.game-body .store-purchase-scene.scene-popup.scene-closing-down {
    animation: sceneCloseFixedV410 .32s ease-in both !important;
    pointer-events: none !important;
}
@keyframes sceneOpenFixedV410 {
    from { opacity: 0; transform: translate(-50%, calc(-50% + 28px)) scale(.965); filter: blur(2px); }
    to { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: blur(0); }
}
@keyframes sceneCloseFixedV410 {
    from { opacity: 1; transform: translate(-50%, -50%) scale(1); }
    to { opacity: 0; transform: translate(-50%, calc(-50% + 72px)) scale(.985); }
}
body.game-body .scene-popup::before,
body.game-body .store-purchase-scene.scene-popup::before,
body.game-body .bank-scene.scene-popup::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background-image: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.20) 48%, rgba(0,0,0,.72)), var(--scene-bg, url('../img/background_city.png')) !important;
    background-size: cover !important;
    background-position: center !important;
    pointer-events: none !important;
}
body.game-body .bank-scene.scene-popup::before {
    background-image: linear-gradient(90deg, rgba(0,0,0,.74), rgba(0,0,0,.22) 48%, rgba(0,0,0,.66)), var(--scene-bg, url('../img/bank.png')) !important;
}
body.game-body .scene-popup .workshop-stage,
body.game-body .scene-popup .gas-stage,
body.game-body .scene-popup .dealer-stage,
body.game-body .scene-popup .assistance-stage,
body.game-body .scene-popup .bank-stage,
body.game-body .scene-popup .rick-stage,
body.game-body .store-purchase-scene.scene-popup .store-purchase-stage {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: block !important;
    height: 100% !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    transform: none !important;
}
body.game-body .scene-popup .scene-character,
body.game-body .scene-popup .enrico-figure,
body.game-body .scene-popup .pauline-figure,
body.game-body .scene-popup .dealer-figure,
body.game-body .scene-popup .assistance-figure,
body.game-body .scene-popup .rick-figure,
body.game-body .scene-popup .bank-figure,
body.game-body .store-purchase-scene.scene-popup .store-dealer-figure {
    position: absolute !important;
    left: 6% !important;
    right: auto !important;
    top: auto !important;
    bottom: -4% !important;
    z-index: 2 !important;
    width: auto !important;
    height: auto !important;
    max-height: 92% !important;
    max-width: 42% !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    transform-origin: center bottom !important;
    filter: drop-shadow(0 22px 22px rgba(0,0,0,.55)) !important;
}
body.game-body .scene-popup .scene-dialogue,
body.game-body .scene-popup .enrico-dialogue,
body.game-body .scene-popup .pauline-dialogue,
body.game-body .scene-popup .dealer-dialogue,
body.game-body .scene-popup .assistance-dialogue,
body.game-body .scene-popup .rick-dialogue,
body.game-body .scene-popup .bank-dialogue,
body.game-body .store-purchase-scene.scene-popup .store-purchase-dialogue {
    position: absolute !important;
    right: 4% !important;
    left: auto !important;
    top: 30% !important;
    bottom: auto !important;
    z-index: 3 !important;
    width: min(620px, 52%) !important;
    max-width: 52% !important;
    max-height: calc(100% - 2rem) !important;
    overflow: auto !important;
    transform-origin: center center !important;
    padding: 1.1rem 1.25rem !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255,211,121,.45) !important;
    background: rgba(45,22,10,.78) !important;
    color: #fff4d6 !important;
    box-shadow: 0 22px 40px rgba(0,0,0,.35) !important;
    backdrop-filter: blur(12px);
    align-self: auto !important;
    justify-self: auto !important;
    margin: 0 !important;
}
body.game-body .scene-popup .bank-dialogue {
    background: rgba(8,20,35,.86) !important;
    border-color: rgba(255,255,255,.18) !important;
}
body.game-body .scene-popup .workshop-close,
body.game-body .scene-popup .dealer-close,
body.game-body .scene-popup .gas-close,
body.game-body .scene-popup .bank-close,
body.game-body .rick-close,
body.game-body .store-purchase-close {
    position: absolute !important;
    right: 1.05rem !important;
    top: 1.05rem !important;
    z-index: 10 !important;
}
body.game-body .scene-popup.scene-opening .scene-character,
body.game-body .scene-popup.scene-opening .enrico-figure,
body.game-body .scene-popup.scene-opening .pauline-figure,
body.game-body .scene-popup.scene-opening .dealer-figure,
body.game-body .scene-popup.scene-opening .assistance-figure,
body.game-body .scene-popup.scene-opening .rick-figure,
body.game-body .scene-popup.scene-opening .bank-figure,
body.game-body .store-purchase-scene.scene-popup.scene-opening .store-dealer-figure {
    animation: sceneCharacterFadeOnlyV47 .42s ease both !important;
}
@media (max-width: 920px) {
    body.game-body .scene-popup,
    body.game-body .store-purchase-scene.scene-popup {
        width: var(--scene-frame-width, min(98vw, 1360px)) !important;
        height: var(--scene-frame-height, auto) !important;
        max-height: 96vh !important;
        border-radius: 20px !important;
    }
    body.game-body .scene-popup .scene-dialogue,
    body.game-body .scene-popup .enrico-dialogue,
    body.game-body .scene-popup .pauline-dialogue,
    body.game-body .scene-popup .dealer-dialogue,
    body.game-body .scene-popup .assistance-dialogue,
    body.game-body .scene-popup .rick-dialogue,
    body.game-body .scene-popup .bank-dialogue,
    body.game-body .store-purchase-scene.scene-popup .store-purchase-dialogue {
        top: 34% !important;
        width: min(620px, 58%) !important;
        max-width: 58% !important;
        padding: .86rem .92rem !important;
    }
}
.admin-grid.admin-grid-wide { grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); }
.admin-filter.admin-filter-extended { grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, .8fr)) auto auto; align-items: end; }
.admin-filter select { width: 100%; min-height: 42px; border-radius: 14px; border: 1px solid rgba(255,224,150,.18); background: rgba(0,0,0,.2); color: #fff4d6; padding: .58rem .75rem; }
.admin-player-table { min-width: 1160px; }
.badge.offline-badge { background: rgba(255,255,255,.10); color: rgba(255,244,214,.70); }
.badge.online-badge { background: rgba(93, 236, 118, .18); color: #baffc5; box-shadow: 0 0 0 1px rgba(93,236,118,.22); }
.badge.danger { background: rgba(255,96,72,.18); color: #ffb5aa; }
.admin-card small { display:block; margin-top:.16rem; }
@media (max-width: 1100px) { .admin-filter.admin-filter-extended { grid-template-columns: 1fr 1fr; } }
@media (max-width: 680px) { .admin-filter.admin-filter-extended { grid-template-columns: 1fr; } }


/* v4.11 Symbol-Refresh: Logout, App-Icons und Karten-Grafiken */
body.game-body .topbar-icon-img {
    display: block;
    width: 26px;
    height: 26px;
    object-fit: contain;
}
body.game-body .logout-button {
    padding: .55rem !important;
}
body.game-body .logout-icon-img {
    width: 24px;
    height: 24px;
    filter: drop-shadow(0 1px 0 rgba(0,0,0,.25));
}
body.game-body .image-app-icon span {
    overflow: hidden;
    background: linear-gradient(145deg, rgba(18,18,18,.4), rgba(18,18,18,.12)) !important;
}
body.game-body .image-app-icon span img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 18px;
}
body.game-body .map-asset-icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
body.game-body .map-asset-icon img {
    display: block;
    width: 92px;
    height: 92px;
    object-fit: contain;
    filter: drop-shadow(0 14px 16px rgba(0,0,0,.30));
    pointer-events: none;
}
body.game-body .leaflet-marker-icon.map-asset-icon {
    margin-left: 0 !important;
    margin-top: 0 !important;
}
body.game-body .gas-map-asset-icon,
body.game-body .assistance-map-asset-icon {
    z-index: 620 !important;
}


/* v4.12 Fleet-Breite, neue App-Icons, adaptive Kartenmarker und Schnell-Tanken */
body.game-body .taximeter-bar.compact-meter {
    grid-template-columns: minmax(0, 1fr) !important;
}
body.game-body .meter-actions {
    display: none !important;
}
body.game-body .fleet-wrap {
    transform: none !important;
    width: 100% !important;
    height: 100% !important;
}
body.game-body .paged-fleet {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    height: calc(100% - 38px) !important;
}
@media (max-width: 1180px) {
    body.game-body .paged-fleet { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 780px) {
    body.game-body .paged-fleet { grid-template-columns: 1fr !important; }
}
body.game-body .map-app-icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
body.game-body .map-app-icon img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 8px 16px rgba(0,0,0,.28);
    pointer-events: none;
}
body.game-body .map-asset-icon img {
    transition: transform .18s ease, filter .18s ease;
}
body.game-body .leaflet-marker-icon.map-asset-icon:hover img,
body.game-body .leaflet-marker-icon.map-app-icon:hover img {
    transform: translateY(-1px);
    filter: drop-shadow(0 16px 18px rgba(0,0,0,.35));
}
body.game-body .fleet-card .fleet-quick-fuel {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(145deg, rgba(19,19,19,.96), rgba(34,20,6,.92)) !important;
    border: 1px solid rgba(255,191,52,.45) !important;
    box-shadow: 0 8px 16px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08) !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
body.game-body .fleet-card .fleet-quick-fuel img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
    margin: 0 !important;
    filter: drop-shadow(0 1px 0 rgba(0,0,0,.35));
}
body.game-body .fleet-card .fleet-quick-fuel:hover {
    transform: translateY(-2px) scale(1.03) !important;
    box-shadow: 0 12px 18px rgba(0,0,0,.38), 0 0 0 1px rgba(255,191,52,.22) !important;
    filter: brightness(1.06) !important;
}
body.game-body .fleet-card .fleet-quick-fuel.is-disabled,
body.game-body .fleet-card .fleet-quick-fuel:disabled {
    opacity: .42 !important;
    filter: grayscale(.15) !important;
    box-shadow: 0 6px 12px rgba(0,0,0,.18) !important;
}


/* v4.14: schöner Top-Menübalken, Personal, Jobcenter und Soundverwaltung */
body.game-body .game-topbar {
    margin: .15rem .1rem 1rem !important;
    padding: .78rem .95rem !important;
    border-radius: 26px !important;
    border: 1px solid rgba(255,226,141,.28) !important;
    background: linear-gradient(135deg, rgba(75,46,28,.82), rgba(28,18,12,.92) 46%, rgba(10,8,6,.86)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 16px 38px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(12px);
}
body.game-body .top-menu-button {
    min-height: 48px;
    border: 1px solid rgba(255,226,141,.38);
    border-radius: 16px;
    padding: .55rem .85rem;
    background: linear-gradient(#4b3220, #1b110a);
    color: var(--gold2);
    font-weight: 1000;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 9px 20px rgba(0,0,0,.22);
}
body.game-body .top-menu-button:hover { transform: translateY(-1px); filter: brightness(1.06); }
body.game-body .jobcenter-scene { --scene-bg: url('../img/jobcenter_background.png'); }
body.game-body .jobcenter-scene::before { background-image: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.18) 48%, rgba(0,0,0,.62)), var(--scene-bg, url('../img/jobcenter_background.png')) !important; }
body.game-body .jobcenter-stage, body.game-body .hq-office-stage { position:absolute!important; inset:0!important; z-index:2!important; }
body.game-body .jobcenter-figure { left: 7% !important; bottom: -6% !important; max-height: 92% !important; max-width: 36% !important; }
body.game-body .jobcenter-dialogue { background: rgba(8,27,50,.86) !important; border-color: rgba(155,205,255,.28) !important; }
body.game-body .hq-office-scene { --scene-bg: url('../img/taxizentrale.png'); }
body.game-body .hq-office-dialogue { width: min(980px, 76%) !important; max-width: 76% !important; top: 8% !important; right: 4% !important; background: rgba(28,18,11,.88) !important; }
.hq-office-grid { display:grid; grid-template-columns: 1.25fr .75fr; gap: .8rem; }
.hq-office-grid h3 { margin: 0 0 .45rem; color: #ffd96a; }
.staff-card, .staff-candidate-card, .hq-staff-row { border: 1px solid rgba(255,226,141,.24); background: rgba(0,0,0,.22); border-radius: 18px; padding: .72rem; }
.staff-card { display:grid; grid-template-columns: 82px 1fr; gap:.7rem; align-items:center; }
.staff-card img, .staff-candidate-card img { width:82px; height:82px; object-fit:cover; border-radius:16px; background:rgba(255,255,255,.08); }
.staff-card-main { display:grid; gap:.22rem; min-width:0; }
.staff-stat { display:grid; grid-template-columns: 1fr auto; gap:.4rem; font-size:.72rem; color:rgba(255,241,209,.82); align-items:center; }
.staff-stat i { grid-column:1/-1; height:6px; border-radius:999px; background:rgba(0,0,0,.42); overflow:hidden; }
.staff-stat em { display:block; height:100%; background:linear-gradient(90deg,#4fc45d,#ffd96a); }
.staff-warning, .driver-missing { color:#ffbd7a!important; font-weight:900!important; }
.hq-staff-row { display:grid; gap:.6rem; margin-bottom:.65rem; }
.hq-staff-actions { display:grid; gap:.5rem; }
.staff-candidate-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:.7rem; }
.staff-candidate-card { display:grid; gap:.4rem; }
.staff-candidate-card img { width:100%; height:130px; object-fit:contain; }
.sound-admin-grid { display:grid; gap:.75rem; }
.sound-admin-row { display:grid; grid-template-columns: 180px 1fr auto; gap:.75rem; align-items:center; }
@media (max-width: 920px) { .hq-office-grid, .staff-candidate-grid { grid-template-columns:1fr; } body.game-body .hq-office-dialogue { width:92%!important; max-width:92%!important; right:4%!important; } }


/* v4.15 Fahrerpflicht-Hinweis im Taxameter/Fuhrpark */
body.game-body .fleet-card.no-driver {
    filter: grayscale(.92);
    opacity: .66;
    background: linear-gradient(135deg, rgba(48,48,48,.92), rgba(24,24,24,.92)) !important;
    border-color: rgba(255,255,255,.18) !important;
}
body.game-body .fleet-card.no-driver.selected {
    outline: 2px solid rgba(255,221,115,.45);
}
body.game-body .no-driver-banner {
    position: absolute;
    left: .65rem;
    right: .65rem;
    top: 2.45rem;
    z-index: 4;
    display: block;
    padding: .25rem .45rem;
    border-radius: .65rem;
    background: rgba(30,30,30,.88);
    border: 1px solid rgba(255,221,115,.5);
    color: #ffde73;
    font-size: .68rem;
    font-weight: 950;
    text-align: center;
    letter-spacing: .04em;
}
body.game-body .driver-missing {
    color: #ffde73 !important;
    font-weight: 950 !important;
    text-transform: uppercase;
}
body.game-body .dispatch-warning {
    margin: .55rem 0;
    padding: .55rem .7rem;
    border-radius: .75rem;
    background: rgba(50,50,50,.78);
    border: 1px solid rgba(255,221,115,.45);
    color: #ffde73;
    font-weight: 950;
    text-align: center;
    letter-spacing: .04em;
}


/* v4.16: feste Taxi-Liste, roter Fahrer-Hinweis und Drag-&-Drop-Taxizentrale */
body.game-body #taxiList,
body.game-body .paged-fleet#taxiList {
    height: 200px !important;
    max-height: 200px !important;
    min-height: 200px !important;
}
body.game-body .taximeter-bar.compact-meter {
    grid-template-rows: auto 200px !important;
    min-height: 254px !important;
}
body.game-body .fleet-wrap {
    min-height: 236px !important;
}
body.game-body .fleet-card.no-driver {
    position: relative !important;
    filter: grayscale(.88) brightness(.74) !important;
    opacity: .76 !important;
    background: linear-gradient(135deg, rgba(62,44,44,.9), rgba(26,24,24,.94)) !important;
    border-color: rgba(255,118,118,.32) !important;
}
body.game-body .no-driver-banner {
    position: absolute !important;
    left: -18% !important;
    right: -18% !important;
    top: 46% !important;
    transform: rotate(-10deg) !important;
    z-index: 9 !important;
    padding: .38rem .65rem !important;
    border-radius: 0 !important;
    background: rgba(126, 31, 31, .84) !important;
    border-top: 1px solid rgba(255,166,166,.65) !important;
    border-bottom: 1px solid rgba(255,166,166,.65) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    color: #ffd4d4 !important;
    font-size: clamp(.68rem, .82vw, .9rem) !important;
    font-weight: 1000 !important;
    text-align: center !important;
    letter-spacing: .08em !important;
    text-shadow: 0 2px 3px rgba(0,0,0,.55) !important;
    box-shadow: 0 8px 18px rgba(70,0,0,.28) !important;
}
body.game-body .driver-missing,
body.game-body .dispatch-warning {
    color: #ffb6b6 !important;
}
body.game-body .hq-office-dialogue {
    width: min(1180px, 92%) !important;
    max-width: 92% !important;
    top: 5% !important;
    right: 4% !important;
    bottom: auto !important;
}
body.game-body .hq-office-controls {
    max-height: min(68vh, 720px) !important;
    overflow: auto !important;
    padding-right: .25rem;
}
body.game-body .hq-dispo-board {
    display: grid;
    grid-template-columns: minmax(190px, .75fr) minmax(300px, 1.25fr) minmax(300px, 1.1fr);
    gap: .85rem;
    align-items: start;
}
body.game-body .hq-dispo-board h3 {
    margin: 0 0 .55rem;
    color: #ffd96a;
    letter-spacing: .02em;
}
body.game-body .hq-vehicle-panel,
body.game-body .hq-assignment-panel,
body.game-body .hq-personal-panel {
    border: 1px solid rgba(255,226,141,.2);
    border-radius: 20px;
    background: rgba(0,0,0,.22);
    padding: .75rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
body.game-body .hq-taxi-pool {
    min-height: 220px;
    display: grid;
    gap: .55rem;
    align-content: start;
    border: 1px dashed rgba(255,226,141,.22);
    border-radius: 16px;
    padding: .55rem;
    background: rgba(0,0,0,.18);
}
body.game-body .hq-taxi-tile,
body.game-body .hq-assignment-taxi {
    display: grid;
    grid-template-columns: 62px minmax(0,1fr);
    gap: .55rem;
    align-items: center;
    border: 1px solid rgba(255,226,141,.2);
    border-radius: 16px;
    background: rgba(255,255,255,.055);
    padding: .45rem;
    cursor: grab;
}
body.game-body .hq-taxi-tile img,
body.game-body .hq-assignment-taxi img {
    width: 62px;
    height: 44px;
    object-fit: contain;
}
body.game-body .hq-taxi-tile span,
body.game-body .hq-assignment-taxi span,
body.game-body .hq-driver-slot {
    min-width: 0;
    display: grid;
    gap: .12rem;
}
body.game-body .hq-taxi-tile small,
body.game-body .hq-assignment-taxi small,
body.game-body .hq-driver-slot small,
body.game-body .hq-vehicle-panel > small {
    color: rgba(255,241,209,.68);
    font-size: .72rem;
}
body.game-body .hq-assignment-table {
    display: grid;
    gap: .55rem;
}
body.game-body .hq-assignment-row {
    display: grid;
    grid-template-columns: minmax(150px, .95fr) minmax(160px, 1fr) auto;
    gap: .55rem;
    align-items: stretch;
    border: 1px solid rgba(255,226,141,.18);
    border-radius: 18px;
    padding: .55rem;
    background: rgba(0,0,0,.2);
}
body.game-body .hq-assignment-row.needs-driver {
    border-color: rgba(255,128,128,.3);
    background: rgba(80,18,18,.18);
}
body.game-body .hq-driver-slot {
    justify-content: center;
    border: 1px dashed rgba(255,226,141,.25);
    border-radius: 14px;
    padding: .5rem .6rem;
    background: rgba(0,0,0,.16);
}
body.game-body .hq-driver-slot.filled {
    border-style: solid;
    border-color: rgba(111,255,125,.25);
    background: rgba(32,92,42,.18);
}
body.game-body .staff-accordion-list {
    display: grid;
    gap: .55rem;
}
body.game-body .staff-accordion {
    border: 1px solid rgba(255,226,141,.22);
    border-radius: 18px;
    overflow: hidden;
    background: rgba(0,0,0,.2);
}
body.game-body .staff-accordion[open] {
    background: rgba(12,10,8,.42);
    border-color: rgba(255,226,141,.34);
}
body.game-body .staff-summary {
    display: grid;
    grid-template-columns: 54px minmax(0,1fr) auto;
    gap: .55rem;
    align-items: center;
    padding: .55rem;
    cursor: pointer;
    list-style: none;
}
body.game-body .staff-summary::-webkit-details-marker { display: none; }
body.game-body .staff-summary img {
    width: 54px;
    height: 54px;
    object-fit: cover;
    border-radius: 14px;
    background: rgba(255,255,255,.08);
}
body.game-body .staff-summary-main {
    min-width: 0;
    display: grid;
    gap: .1rem;
}
body.game-body .staff-summary-main small {
    color: rgba(255,241,209,.68);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.game-body .staff-mood-pill {
    border-radius: 999px;
    padding: .32rem .48rem;
    color: #1e1408;
    background: linear-gradient(#ffe69a, #f4a11a);
    font-size: .78rem;
}
body.game-body .staff-details {
    display: grid;
    gap: .45rem;
    padding: 0 .65rem .65rem;
}
body.game-body .staff-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: .32rem .55rem;
}
body.game-body .compact-actions {
    gap: .45rem !important;
}
body.game-body .compact-actions label {
    display: grid;
    gap: .22rem;
}
body.game-body .drag-over {
    outline: 2px solid rgba(255,217,106,.75) !important;
    box-shadow: 0 0 0 6px rgba(255,217,106,.12), inset 0 0 22px rgba(255,217,106,.16) !important;
}
body.game-body .is-dragging {
    opacity: .48 !important;
    filter: saturate(.8) brightness(.92) !important;
}
body.game-body .hq-empty-note {
    display: grid;
    gap: .25rem;
    padding: .8rem;
    border-radius: 14px;
    color: rgba(255,241,209,.74);
    background: rgba(255,255,255,.05);
}
@media (max-width: 1120px) {
    body.game-body .hq-dispo-board { grid-template-columns: 1fr; }
    body.game-body .hq-office-dialogue { width: 94% !important; max-width: 94% !important; }
}
@media (max-width: 780px) {
    body.game-body .hq-assignment-row { grid-template-columns: 1fr; }
    body.game-body .staff-detail-grid { grid-template-columns: 1fr; }
}


/* v4.17: Taxizentrale-Dialog respektiert Backend-Breite */
body.game-body .hq-office-scene.scene-popup .hq-office-dialogue,
body.game-body .scene-popup .hq-office-dialogue {
    width: min(1100px, calc(100% - 2rem)) !important;
    max-width: calc(100% - 2rem) !important;
    min-width: min(760px, calc(100% - 2rem)) !important;
    left: auto !important;
    right: clamp(1rem, 4%, 3.2rem) !important;
    top: clamp(1rem, 5%, 3rem) !important;
}
body.game-body .hq-office-controls {
    overflow: auto !important;
}
body.game-body .hq-dispo-board {
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.22fr) minmax(0, 1.04fr) !important;
    min-width: 0 !important;
}
body.game-body .hq-vehicle-panel,
body.game-body .hq-assignment-panel,
body.game-body .hq-personal-panel,
body.game-body .hq-assignment-row,
body.game-body .staff-accordion,
body.game-body .staff-summary-main {
    min-width: 0 !important;
}
body.game-body .staff-summary {
    grid-template-columns: 54px minmax(0,1fr) !important;
}
body.game-body .staff-mood-pill {
    justify-self: start !important;
    margin-left: 54px !important;
}
@media (max-width: 1120px) {
    body.game-body .hq-office-scene.scene-popup .hq-office-dialogue,
    body.game-body .scene-popup .hq-office-dialogue {
        width: calc(100% - 2rem) !important;
        max-width: calc(100% - 2rem) !important;
        min-width: 0 !important;
        right: 1rem !important;
    }
    body.game-body .hq-dispo-board { grid-template-columns: 1fr !important; }
}


/* v4.18: Taxizentrale aufräumen, Ladekreis bei Zuordnung, taxiList 225px */
body.game-body #taxiList,
body.game-body .paged-fleet#taxiList {
    height: 225px !important;
    max-height: 225px !important;
    min-height: 225px !important;
}
body.game-body .taximeter-bar.compact-meter {
    grid-template-rows: auto 225px !important;
    min-height: 279px !important;
}
body.game-body .fleet-wrap {
    min-height: 261px !important;
}
body.game-body .hq-office-controls {
    position: relative !important;
}
body.game-body .hq-dispo-board.hq-dispo-board-compact,
body.game-body .hq-dispo-board {
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, .85fr) !important;
    gap: .9rem !important;
}
body.game-body .hq-vehicle-panel {
    display: none !important;
}
body.game-body .hq-assignment-panel,
body.game-body .hq-personal-panel {
    min-width: 0 !important;
}
body.game-body .hq-assignment-row {
    grid-template-columns: minmax(155px, .9fr) minmax(170px, 1fr) auto !important;
}
body.game-body .hq-personal-panel .staff-accordion-list {
    max-height: min(58vh, 620px);
    overflow: auto;
    padding-right: .15rem;
}
body.game-body .hq-action-loading-overlay {
    position: absolute;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(18, 9, 4, .52);
    backdrop-filter: blur(2px);
}
body.game-body .hq-action-loading-box {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    padding: .85rem 1.05rem;
    border-radius: 999px;
    background: linear-gradient(145deg, rgba(52,25,10,.96), rgba(22,12,6,.96));
    border: 1px solid rgba(255,218,122,.38);
    color: #ffe69a;
    font-weight: 1000;
    box-shadow: 0 18px 38px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08);
}
body.game-body .hq-action-loading-box i {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    border: 3px solid rgba(255,218,122,.24);
    border-top-color: #ffe69a;
    animation: hqSpin .72s linear infinite;
}
@keyframes hqSpin { to { transform: rotate(360deg); } }
@media (max-width: 1120px) {
    body.game-body .hq-dispo-board.hq-dispo-board-compact,
    body.game-body .hq-dispo-board { grid-template-columns: 1fr !important; }
}
@media (max-width: 780px) {
    body.game-body .hq-assignment-row { grid-template-columns: 1fr !important; }
}


/* v4.19: Fahrerbilder, Grafik-Preloading UI, Soundseite, Glocken-Icon und Maik-Startdialog */
body.game-body .bell .bell-icon-img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 2px 2px rgba(0,0,0,.28));
}
.intro-story-card { overflow: hidden; }
.intro-choice-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:.8rem; margin-top:1rem; }
.intro-rick-box { display:grid; grid-template-columns: minmax(160px, 230px) minmax(0, 1fr); gap:1.2rem; align-items:center; }
.intro-rick-portrait { align-self: stretch; display:flex; align-items:flex-end; justify-content:center; border-radius:28px; background:linear-gradient(180deg, rgba(255,218,122,.12), rgba(0,0,0,.18)); border:1px solid rgba(255,218,122,.22); overflow:hidden; min-height:280px; }
.intro-rick-portrait img { max-height:360px; width:auto; max-width:100%; object-fit:contain; transform:translateY(18px); }
.intro-rick-dialogue { border:1px solid rgba(255,218,122,.28); border-radius:26px; padding:1.1rem; background:rgba(18,9,4,.34); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.intro-rick-dialogue p { font-size:1.08rem; }
.intro-place-block.hidden,
.intro-rick-box.hidden,
.intro-sound-prompt.hidden { display:none!important; }
body.game-body .fleet-car-thumb { position: relative !important; overflow: visible !important; }
body.game-body .fleet-car-thumb .fleet-car-image { width:100% !important; height:100% !important; object-fit:contain !important; }
body.game-body .fleet-driver-avatar,
body.game-body .hq-taxi-driver-avatar {
    position:absolute;
    right:-5px;
    bottom:-5px;
    width:32px;
    height:32px;
    border-radius:999px;
    overflow:hidden;
    border:2px solid rgba(255,226,154,.95);
    background:#1b1209;
    box-shadow:0 5px 12px rgba(0,0,0,.42);
    z-index:5;
}
body.game-body .fleet-driver-avatar img,
body.game-body .hq-taxi-driver-avatar img,
body.game-body .hq-driver-avatar img {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block;
}
body.game-body .hq-taxi-image-wrap {
    position:relative;
    display:grid;
    place-items:center;
    width:70px;
    min-width:70px;
}
body.game-body .hq-taxi-driver-avatar { width:30px; height:30px; right:-7px; bottom:2px; }
body.game-body .hq-driver-slot.with-avatar {
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr);
    align-items:center;
    text-align:left;
    gap:.7rem;
}
body.game-body .hq-driver-avatar {
    width:44px;
    height:44px;
    border-radius:14px;
    overflow:hidden;
    border:1px solid rgba(255,226,154,.45);
    background:rgba(255,255,255,.08);
    box-shadow:0 6px 14px rgba(0,0,0,.30);
}
.sound-admin-page-card { max-width: 1050px; }
.sound-admin-grid-page .sound-admin-row { grid-template-columns: 220px minmax(240px,1fr) 64px auto; }
.sound-admin-value { color: var(--gold2); font-weight: 1000; text-align:right; }
@media (max-width: 820px) {
    .intro-choice-grid, .intro-rick-box { grid-template-columns:1fr; }
    .intro-rick-portrait { min-height:220px; }
    .sound-admin-grid-page .sound-admin-row { grid-template-columns:1fr; }
}


/* v4.20: Ladescreen, Intro-Musik-Stimmung und Maik näher am Bild */
body.game-body .game-loading-overlay {
    display: grid;
    place-items: center;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background:
        radial-gradient(circle at 50% 30%, rgba(255,218,122,.18), transparent 30rem),
        linear-gradient(135deg, rgba(17,8,3,.94), rgba(49,25,10,.96));
    transition: opacity .24s ease, visibility .24s ease;
}
body.game-body .game-loading-overlay.is-fading {
    opacity: 0;
    visibility: hidden;
}
body.game-body .intro-screen {
    min-height: 100vh;
    background:
        linear-gradient(90deg, rgba(14,7,3,.88), rgba(42,19,7,.64)),
        url('../img/taxizentrale.png') center/cover fixed no-repeat;
}
body.game-body .intro-card.intro-story-card {
    width: min(980px, 100%);
    background: linear-gradient(145deg, rgba(42,18,7,.94), rgba(19,9,4,.90));
    backdrop-filter: blur(4px);
}
body.game-body .intro-rick-box {
    grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
}
body.game-body .intro-rick-portrait {
    min-height: 430px;
    align-items: flex-start;
    justify-content: center;
    background:
        linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.42)),
        url('../img/taxizentrale.png') center/cover no-repeat;
}
body.game-body .intro-rick-portrait img {
    width: 50%;
    max-width: none;
    max-height: none;
    height: auto;
    object-fit: contain;
    transform: translateY(96px) scale(2.15);
    transform-origin: 47% 7%;
    filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .45));
}
@media (max-width: 860px) {
    body.game-body .intro-rick-box { grid-template-columns: 1fr; }
    body.game-body .intro-rick-portrait { min-height: 300px; }
    body.game-body .intro-rick-portrait img { transform: translateY(76px) scale(1.85); }
}


/* v4.21: Maik-Tutorial mit Symbolen */
body.game-body .rick-tutorial-line {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
}
body.game-body .rick-tutorial-icon {
    width: 74px;
    height: 74px;
    border-radius: 22px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, rgba(255,213,106,.18), rgba(18,9,4,.56));
    border: 1px solid rgba(255,213,106,.32);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 12px 20px rgba(0,0,0,.28);
    overflow: hidden;
}
body.game-body .rick-tutorial-icon img {
    width: 58px;
    height: 58px;
    object-fit: contain;
    display: block;
}
body.game-body .rick-tutorial-icon.is-wide img {
    width: 66px;
    height: 48px;
}
body.game-body .rick-tutorial-copy strong {
    display: block;
    color: var(--gold2);
    font-size: 1.06rem;
    margin-bottom: .25rem;
}
body.game-body .rick-tutorial-copy span {
    display: block;
    white-space: pre-line;
}
@media (max-width: 620px) {
    body.game-body .rick-tutorial-line {
        grid-template-columns: 1fr;
    }
}

/* v4.22: Personalbilder, Personalakte-Tabs und Tutorial-Start-Fix */
body.game-body .intro-heading-hidden {
    display: none !important;
}
body.game-body .employee-avatar-button {
    appearance: none;
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    cursor: pointer;
    display: inline-grid;
    place-items: center;
}
body.game-body .employee-avatar-button:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}
body.game-body .fleet-driver-avatar.employee-avatar-button {
    width: 42px !important;
    height: 42px !important;
    right: -10px !important;
    bottom: -8px !important;
    border-radius: 999px !important;
    border: 3px solid rgba(255,226,154,.96) !important;
    background: rgba(25,13,6,.96) !important;
    box-shadow: 0 8px 16px rgba(0,0,0,.46) !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
body.game-body .hq-driver-avatar.employee-avatar-button {
    width: 52px !important;
    height: 52px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,226,154,.55) !important;
    background: rgba(255,255,255,.08) !important;
    overflow: hidden !important;
    box-shadow: 0 8px 16px rgba(0,0,0,.34) !important;
}
body.game-body .hq-driver-slot.with-avatar {
    grid-template-columns: 56px minmax(0,1fr) !important;
}
body.game-body .staff-avatar-button {
    width: 62px !important;
    height: 62px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,226,154,.45) !important;
    background: rgba(255,255,255,.08) !important;
}
body.game-body .staff-avatar-button img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
body.game-body .staff-summary {
    grid-template-columns: 62px minmax(0,1fr) auto !important;
}
body.game-body .staff-mood-pill {
    margin-left: 0 !important;
    justify-self: end !important;
}
body.game-body .hq-office-tabs {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    margin: 0 0 .8rem;
    padding: .35rem;
    border: 1px solid rgba(255,226,141,.2);
    border-radius: 999px;
    background: rgba(0,0,0,.22);
}
body.game-body .hq-office-tabs button {
    border: 1px solid rgba(255,226,141,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.05);
    color: rgba(255,241,209,.82);
    font-weight: 1000;
    padding: .55rem .85rem;
    cursor: pointer;
}
body.game-body .hq-office-tabs button.active {
    color: #1f1408;
    background: linear-gradient(#ffe69a, #f4a11a);
    border-color: rgba(255,226,141,.75);
    box-shadow: 0 8px 18px rgba(0,0,0,.28);
}
body.game-body .hq-personal-record-layout {
    display: grid;
    grid-template-columns: 1fr;
}
body.game-body .hq-personal-panel.full-width {
    width: 100%;
}
body.game-body .personal-record-list {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    max-height: min(58vh, 660px);
    overflow: auto;
    padding-right: .2rem;
}
body.game-body .personal-record-list .staff-accordion[open] {
    grid-column: span 2;
}
body.game-body .hq-taxi-driver-avatar {
    display: none !important;
}
@media (max-width: 860px) {
    body.game-body .personal-record-list .staff-accordion[open] { grid-column: span 1; }
    body.game-body .hq-office-tabs { border-radius: 20px; }
    body.game-body .hq-office-tabs button { flex: 1 1 180px; }
}


/* v4.23: Personalakte 30/70, Urlaubs-Stempel, Pausen-Timer und Intro-Heading-Fix */
body.game-body .split-record-layout {
    display: grid !important;
    grid-template-columns: minmax(240px, 30%) minmax(0, 70%) !important;
    gap: 1rem !important;
    align-items: stretch !important;
}
body.game-body .personal-record-list-panel,
body.game-body .personal-record-detail-panel {
    min-width: 0;
    border: 1px solid rgba(255,226,141,.20);
    border-radius: 24px;
    background: rgba(0,0,0,.18);
    padding: .85rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
body.game-body .personal-record-list-panel h3 {
    margin: 0 0 .7rem;
    color: var(--gold2);
}
body.game-body .personal-record-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .65rem !important;
    max-height: min(62vh, 690px) !important;
    overflow: auto !important;
    padding-right: .25rem !important;
}
body.game-body .personal-record-item {
    appearance: none;
    width: 100%;
    text-align: left;
    position: relative;
    display: grid;
    grid-template-columns: 54px minmax(0,1fr);
    gap: .7rem;
    align-items: center;
    border: 1px solid rgba(255,226,141,.20);
    border-radius: 20px;
    background: rgba(35,18,8,.72);
    color: var(--cream);
    padding: .65rem;
    cursor: pointer;
    overflow: hidden;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
body.game-body .personal-record-item:hover {
    transform: translateY(-1px);
    border-color: rgba(255,226,141,.48);
    background: rgba(55,28,12,.86);
}
body.game-body .personal-record-item.selected {
    border-color: rgba(255,220,117,.95);
    background: linear-gradient(145deg, rgba(112,74,17,.86), rgba(53,27,10,.88));
    box-shadow: 0 0 0 2px rgba(255,210,92,.18), 0 10px 22px rgba(0,0,0,.28);
}
body.game-body .personal-record-avatar {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(255,226,141,.38);
    background: rgba(255,255,255,.08);
}
body.game-body .personal-record-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
body.game-body .personal-record-item-main {
    min-width: 0;
    display: grid;
    gap: .1rem;
}
body.game-body .personal-record-item-main strong {
    font-size: 1rem;
    line-height: 1.05;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.game-body .personal-record-item-main small,
body.game-body .personal-record-item-main i {
    color: rgba(255,241,209,.72);
    font-style: normal;
    font-size: .77rem;
}
body.game-body .personal-record-detail {
    display: grid;
    gap: .95rem;
}
body.game-body .personal-record-hero {
    display: grid;
    grid-template-columns: 150px minmax(0,1fr);
    gap: 1rem;
    align-items: center;
}
body.game-body .personal-record-portrait {
    position: relative;
    width: 150px;
    height: 178px;
    border-radius: 24px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(0,0,0,.20));
    border: 1px solid rgba(255,226,141,.28);
}
body.game-body .personal-record-portrait img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
body.game-body .personal-record-headline h3 {
    margin: .15rem 0 .15rem;
    color: var(--gold2);
    font-size: clamp(1.8rem, 3.2vw, 2.8rem);
    line-height: .96;
}
body.game-body .personal-record-headline p {
    margin: 0;
    color: rgba(255,241,209,.78);
}
body.game-body .personal-record-stats {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
}
body.game-body .personal-record-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: .65rem;
}
body.game-body .personal-record-facts span {
    border: 1px solid rgba(255,226,141,.18);
    border-radius: 18px;
    background: rgba(0,0,0,.18);
    padding: .65rem;
    display: grid;
    gap: .15rem;
}
body.game-body .personal-record-facts b {
    color: var(--gold2);
    font-size: 1.06rem;
}
body.game-body .personal-record-facts small {
    color: rgba(255,241,209,.68);
}
body.game-body .employee-status-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: center;
}
body.game-body .personal-record-item .employee-status-badges {
    grid-column: 1/-1;
    padding-left: calc(54px + .7rem);
}
body.game-body .employee-countdown {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    width: fit-content;
    font-weight: 1000;
    font-size: .78rem;
    border-radius: 999px;
    padding: .26rem .52rem;
    border: 1px solid transparent;
}
body.game-body .pause-countdown {
    color: #dff3ff;
    background: rgba(33,141,255,.22);
    border-color: rgba(83,172,255,.48);
    box-shadow: 0 0 0 1px rgba(83,172,255,.10) inset;
}
body.game-body .vacation-countdown {
    color: #fff0d2;
    background: rgba(255,136,34,.22);
    border-color: rgba(255,161,60,.52);
}
body.game-body .employee-vacation-stamp {
    display: inline-grid;
    place-items: center;
    width: fit-content;
    color: #ffb14d;
    border: 2px solid rgba(255,136,34,.85);
    border-radius: 8px;
    padding: .12rem .45rem;
    font-weight: 1000;
    letter-spacing: .08em;
    transform: rotate(-8deg);
    background: rgba(55,20,3,.68);
    text-shadow: 0 1px 0 rgba(0,0,0,.5);
}
body.game-body .employee-vacation-stamp.big {
    position: absolute;
    inset: auto 8px 12px auto;
    font-size: 1rem;
    background: rgba(46,17,2,.78);
}
body.game-body .personal-record-item.is-vacation,
body.game-body .personal-record-detail.is-vacation,
body.game-body .staff-accordion.is-vacation {
    filter: grayscale(.45);
    opacity: .68;
}
body.game-body .personal-record-locked {
    border: 1px dashed rgba(255,145,45,.62);
    background: rgba(255,128,28,.12);
    color: #ffd5a2;
    border-radius: 18px;
    padding: .75rem;
    font-weight: 900;
}
body.game-body .personal-record-actions button:disabled,
body.game-body .personal-record-actions input:disabled,
body.game-body .staff-accordion.is-vacation button:disabled,
body.game-body .staff-accordion.is-vacation input:disabled {
    opacity: .52;
    cursor: not-allowed;
    filter: grayscale(.4);
}
body.game-body #rickIntroHeading.intro-heading-hidden {
    display: none !important;
}
@media (max-width: 980px) {
    body.game-body .split-record-layout { grid-template-columns: 1fr !important; }
    body.game-body .personal-record-list { max-height: 260px !important; }
    body.game-body .personal-record-hero { grid-template-columns: 110px minmax(0,1fr); }
    body.game-body .personal-record-portrait { width: 110px; height: 138px; }
    body.game-body .personal-record-facts { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
    body.game-body .personal-record-stats,
    body.game-body .personal-record-facts { grid-template-columns: 1fr !important; }
    body.game-body .personal-record-hero { grid-template-columns: 1fr; }
}


/* v4.24: Arbeitsmarkt-Rotation, Ort-Vorschläge und Startführung */
body.game-body .guided-first-steps-overlay {
    position: fixed;
    inset: 0;
    z-index: 9998;
    pointer-events: none;
}
body.game-body .guided-first-steps-backdrop {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 50%, rgba(255,215,111,.08), rgba(0,0,0,.46));
    pointer-events: none;
}
body.game-body .guided-first-steps-card {
    position: absolute;
    width: min(340px, calc(100vw - 36px));
    padding: 1rem;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(55,27,12,.98), rgba(27,14,7,.98));
    border: 1px solid rgba(255,215,111,.48);
    box-shadow: 0 18px 42px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.06) inset;
    color: var(--cream);
    pointer-events: auto;
    animation: guidedFirstStepIn .26s ease both;
}
body.game-body .guided-first-steps-card strong { display: block; color: var(--gold2); font-size: 1.12rem; margin-bottom: .35rem; }
body.game-body .guided-first-steps-card span { display: block; line-height: 1.35; color: rgba(255,244,214,.92); }
body.game-body .guided-first-steps-actions { display: grid; grid-template-columns: 1fr auto; gap: .55rem; margin-top: .85rem; }

body.game-body .guided-first-steps-actions .button.ghost:only-child {
    justify-self: start;
}

body.game-body .guided-first-steps-arrow {
    position: absolute;
    width: 0;
    height: 0;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-bottom: 30px solid rgba(255,215,111,.92);
    filter: drop-shadow(0 8px 12px rgba(0,0,0,.45));
    transform: translateX(-50%) rotate(180deg);
    animation: guidedArrowBounce 1s ease-in-out infinite;
}
body.game-body .guided-first-step-target {
    position: relative !important;
    z-index: 9999 !important;
    outline: 3px solid rgba(255,215,111,.95) !important;
    box-shadow: 0 0 0 8px rgba(255,215,111,.18), 0 0 28px rgba(255,215,111,.42) !important;
}
@keyframes guidedFirstStepIn { from { opacity: 0; transform: translateY(12px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes guidedArrowBounce { 0%,100% { transform: translateX(-50%) rotate(180deg) translateY(0); } 50% { transform: translateX(-50%) rotate(180deg) translateY(8px); } }


/* v4.25: stabile Startführung ohne Flackern */
body.game-body .guided-first-steps-overlay {
    z-index: 130000 !important;
}
body.game-body .guided-first-steps-card {
    width: min(360px, calc(100vw - 36px)) !important;
    animation: none !important;
}
body.game-body .guided-first-step-target {
    z-index: 130001 !important;
}
body.game-body .guided-pulse-once {
    animation: guidedTargetPulse 1.1s ease both;
}
@keyframes guidedTargetPulse {
    0%, 100% { transform: scale(1); }
    45% { transform: scale(1.035); }
}


/* v4.27: Startführung zwingt den Jobcenter-Schritt vor der Fahrer-Zuordnung */


/* v4.27 Geldsymbol, Jobcenter-Lader und Startführungs-Fix */
body.game-body .resource-pill.money .money-icon {
    width: 34px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: .2rem;
}
body.game-body .resource-pill.money .money-icon img {
    width: 42px;
    height: 34px;
    object-fit: contain;
    filter: drop-shadow(0 4px 7px rgba(0,0,0,.32));
}
body.game-body .button.is-loading {
    opacity: .88;
    cursor: progress !important;
}
body.game-body .mini-spinner {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: .45rem;
    border-radius: 999px;
    border: 2px solid rgba(255,255,255,.34);
    border-top-color: #fff4bf;
    vertical-align: -0.16em;
    animation: miniSpinner .72s linear infinite;
}
@keyframes miniSpinner { to { transform: rotate(360deg); } }

body.game-body .guided-first-steps-actions:empty {
    display: none;
}
body.game-body .guided-first-steps-card {
    pointer-events: auto;
}


/* v4.28 Startführungs-Position und Maik-Offline-Rückkehr */
body.game-body .guided-first-steps-overlay[data-placement="left"] .guided-first-steps-arrow {
    width: 0 !important;
    height: 0 !important;
    border-top: 17px solid transparent !important;
    border-bottom: 17px solid transparent !important;
    border-left: 28px solid rgba(255,215,111,.94) !important;
    border-right: 0 !important;
    transform: translate(-100%, -50%) !important;
    animation: guidedArrowRightBounce 1s ease-in-out infinite !important;
}
body.game-body .guided-first-steps-overlay[data-placement="top"] .guided-first-steps-arrow {
    transform: translateX(-50%) rotate(0deg) !important;
    animation: guidedArrowDownBounce 1s ease-in-out infinite !important;
}
body.game-body .guided-first-steps-overlay[data-placement="bottom"] .guided-first-steps-arrow {
    transform: translateX(-50%) rotate(180deg) !important;
    animation: guidedArrowBounce 1s ease-in-out infinite !important;
}
body.game-body .guided-first-steps-actions:empty {
    display: none !important;
}
@keyframes guidedArrowRightBounce {
    0%,100% { transform: translate(-100%, -50%) translateX(0); }
    50% { transform: translate(-100%, -50%) translateX(-8px); }
}
@keyframes guidedArrowDownBounce {
    0%,100% { transform: translateX(-50%) rotate(0deg) translateY(0); }
    50% { transform: translateX(-50%) rotate(0deg) translateY(-8px); }
}


/* v4.29: Startführung - Fahrten-App-Schritt stabil neben dem Smartphone */
body.game-body .guided-first-steps-overlay[data-placement="left"] .guided-first-steps-card {
    max-width: min(360px, calc(100vw - 42px));
}
body.game-body .guided-first-steps-overlay[data-placement="left"] .guided-first-steps-arrow {
    filter: drop-shadow(0 8px 10px rgba(0,0,0,.35));
}


/* v4.32 Logo-Update und Begriffsfix */
.auth-logo-img {
    display:block;
    width:min(520px, 96%);
    max-height:260px;
    object-fit:contain;
    margin:.2rem 0 1rem;
    filter:drop-shadow(0 14px 24px rgba(0,0,0,.45));
}
body.game-body .game-logo.image-logo {
    min-width: clamp(170px, 13vw, 250px);
    max-width: 280px;
    padding: .28rem .8rem;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow: visible;
}
body.game-body .game-logo.image-logo img {
    display:block;
    width:100%;
    height:50px;
    object-fit:contain;
    filter:drop-shadow(0 8px 12px rgba(0,0,0,.36));
}
@media (max-width: 1100px) {
    body.game-body .game-logo.image-logo { min-width: 145px; }
    body.game-body .game-logo.image-logo img { height: 42px; }
}


/* v4.33: Taxizentrale-Fahrerzuordnung und Tutorial-Schließen-Fix */
body.game-body #hqOfficeScene #closeHqOfficeScene.rick-close,
body.game-body #hqOfficeScene #closeHqOfficeScene.rick-close.guided-first-step-target {
    position: absolute !important;
    left: auto !important;
    right: 1.05rem !important;
    top: 1.05rem !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 130002 !important;
}
body.game-body #hqOfficeScene #closeHqOfficeScene.rick-close.guided-first-step-target {
    outline: 3px solid rgba(255,215,111,.95) !important;
    box-shadow: 0 0 0 8px rgba(255,215,111,.18), 0 0 28px rgba(255,215,111,.42) !important;
}
body.game-body .hq-driver-slot.filled.with-avatar {
    display: grid !important;
    grid-template-columns: 58px minmax(0,1fr) !important;
    align-items: center !important;
    justify-content: stretch !important;
}
body.game-body .hq-driver-slot.filled.with-avatar > span {
    min-width: 0 !important;
}
body.game-body .hq-driver-slot.filled.with-avatar strong,
body.game-body .hq-driver-slot.filled.with-avatar small {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* v4.34: freistehendes Logo, Sonderaufträge und Auftragsstatus-Fix */
body.game-body .game-logo.image-logo {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: .08rem .2rem !important;
}
body.game-body .game-logo.image-logo img {
    filter: drop-shadow(0 9px 12px rgba(0,0,0,.55)) !important;
}
body.game-body .job-card.job-special {
    background: linear-gradient(145deg, rgba(37, 82, 26, .72), rgba(34, 21, 13, .92)) !important;
    border-color: rgba(126, 222, 90, .55) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 24px rgba(0,0,0,.28), 0 0 0 1px rgba(126,222,90,.12) !important;
}
body.game-body .job-card.job-special .job-route,
body.game-body .job-card.job-special .job-top strong {
    color: #dfff9f !important;
}
body.game-body .badge.special {
    background: rgba(58, 129, 36, .78) !important;
    color: #efffd4 !important;
}
body.game-body .special-job-description {
    margin: .35rem 0;
    font-size: .86rem;
    color: rgba(244,255,225,.86);
    line-height: 1.3;
}
body.game-body .special-job-timer {
    display: inline-flex;
    width: fit-content;
    margin: .55rem 0 .65rem;
    padding: .32rem .55rem;
    border-radius: 999px;
    background: rgba(5, 18, 8, .72);
    border: 1px solid rgba(176, 255, 118, .45);
    color: #dfff9f;
    font-weight: 900;
    font-size: .82rem;
}
body.game-body .special-job-popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 9800;
    display: grid;
    place-items: center;
    padding: 1.2rem;
    background: radial-gradient(circle at center, rgba(54,98,28,.18), transparent 36rem), rgba(0,0,0,.52);
    backdrop-filter: blur(3px);
}
body.game-body .special-job-popup-overlay.closing { opacity: 0; transition: opacity .18s ease; }
body.game-body .special-job-popup-card {
    width: min(560px, calc(100vw - 2rem));
    position: relative;
    padding: 1.25rem;
    border-radius: 28px;
    border: 1px solid rgba(191,255,115,.5);
    background: linear-gradient(145deg, rgba(43,88,30,.94), rgba(42,24,12,.96));
    color: #fff6d7;
    box-shadow: 0 24px 70px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.12);
}
body.game-body .special-job-popup-card h2 { margin: .25rem 0 .55rem; color: #dfff9f; font-size: clamp(1.7rem, 3vw, 2.35rem); }
body.game-body .special-job-popup-card p { line-height: 1.42; margin: 0 0 .8rem; }
body.game-body .special-job-kicker {
    display: inline-flex;
    padding: .3rem .55rem;
    border-radius: 999px;
    background: rgba(209,255,120,.14);
    border: 1px solid rgba(209,255,120,.38);
    color: #dfff9f;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: .75rem;
}
body.game-body .special-job-facts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .55rem; margin: .8rem 0; }
body.game-body .special-job-facts span { padding: .65rem; border-radius: 16px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.12); display: grid; gap: .15rem; }
body.game-body .special-job-facts b { color: #dfff9f; font-size: 1.05rem; }
body.game-body .special-job-actions { display: grid; grid-template-columns: 1fr auto; gap: .6rem; margin-top: 1rem; }
body.game-body .special-job-close { right: .8rem !important; top: .8rem !important; left: auto !important; }
@media (max-width: 620px) {
    body.game-body .special-job-facts,
    body.game-body .special-job-actions { grid-template-columns: 1fr; }
}


/* v4.36: Taxizentrale-Button kompakter darstellen */
body.game-body .top-menu-button.top-menu-button-image {
    padding: .24rem .42rem;
    min-width: 0;
    width: auto;
    max-width: 170px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(81,52,30,.98), rgba(28,17,10,.96));
    overflow: hidden;
}
body.game-body .top-menu-button.top-menu-button-image .top-menu-button-img {
    display: block;
    width: 300px;
    max-width: 140px;
    height: 38px;
    object-fit: contain;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .32));
}
@media (max-width: 900px) {
    body.game-body .top-menu-button.top-menu-button-image {
        max-width: 142px;
        padding: .2rem .34rem;
    }
    body.game-body .top-menu-button.top-menu-button-image .top-menu-button-img {
        width: 300px;
        max-width: 140px;
        height: 38px;
    }
}


/* v4.42: Fleet-Abstände, ruhiges Pannenblinken und aufgeräumtes Admin-Dashboard */
body.game-body .taximeter-bar.compact-meter {
    padding-left: 1.35rem !important;
    padding-right: 1.35rem !important;
    overflow: visible !important;
}
body.game-body .fleet-wrap {
    padding-left: .28rem !important;
    padding-right: .28rem !important;
    overflow: visible !important;
}
body.game-body #taxiList,
body.game-body .paged-fleet#taxiList {
    gap: 1rem !important;
    padding: .18rem .18rem .32rem !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
body.game-body .fleet-card {
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
body.game-body .fleet-card::after { box-sizing: border-box !important; }

@keyframes taxiBrokenBlinkV442 {
    0%, 100% {
        border-color: rgba(255, 134, 0, .98);
        outline: 4px solid rgba(255, 128, 0, .42);
        box-shadow:
            inset 0 0 0 3px rgba(255, 151, 0, .50),
            0 0 0 3px rgba(255, 129, 0, .22),
            0 0 22px rgba(255, 131, 0, .54);
        background: linear-gradient(145deg, rgba(82,34,5,.72), rgba(18,7,1,.95));
    }
    50% {
        border-color: rgba(255, 220, 96, 1);
        outline: 7px solid rgba(255, 112, 0, .78);
        box-shadow:
            inset 0 0 0 5px rgba(255, 179, 0, .78),
            0 0 0 7px rgba(255, 112, 0, .34),
            0 0 42px rgba(255, 112, 0, .90),
            0 0 72px rgba(255, 170, 0, .38);
        background: linear-gradient(145deg, rgba(128,55,6,.88), rgba(31,10,1,.98));
    }
}
body.game-body .fleet-card.fleet-broken-blink {
    animation: taxiBrokenBlinkV442 1.05s linear infinite !important;
    will-change: outline-color, box-shadow, border-color;
}
body.game-body .fleet-card.fleet-broken-blink::after {
    inset: -1px !important;
    animation: none !important;
}

.admin-header-clean {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .95rem;
}
.admin-header-subtitle { margin: .35rem 0 0; }
.admin-top-actions {
    display: flex;
    gap: .55rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.admin-backoffice-search-box {
    display: grid;
    gap: .35rem;
    margin: -.25rem 0 .85rem;
    padding: .85rem 1rem;
    border-radius: 20px;
    border: 1px solid rgba(255,226,141,.20);
    background: linear-gradient(145deg, rgba(45,25,12,.72), rgba(18,10,6,.68));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 22px rgba(0,0,0,.14);
}
.admin-backoffice-search-box label {
    color: rgba(255,241,209,.78);
    font-weight: 800;
    letter-spacing: .02em;
}
.admin-backoffice-search-box input {
    width: 100%;
    border-radius: 14px;
    border: 1px solid rgba(255,226,141,.24);
    background: rgba(5,7,10,.62);
    color: var(--cream);
    padding: .75rem .9rem;
}
.admin-backoffice-search-box input:focus {
    outline: none;
    border-color: rgba(255,214,99,.72);
    box-shadow: 0 0 0 3px rgba(255,214,99,.14);
}
.admin-search-empty { color: rgba(255,241,209,.64); }
.admin-dashboard-tile.admin-search-hidden { display: none !important; }

.admin-dashboard-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
    gap: .75rem;
    margin: 0 0 1rem;
}
.admin-dashboard-tile {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    grid-template-rows: auto auto;
    gap: .12rem .65rem;
    align-items: center;
    padding: .78rem .85rem;
    border-radius: 20px;
    border: 1px solid rgba(255,226,141,.20);
    background: linear-gradient(145deg, rgba(45,25,12,.82), rgba(18,10,6,.78));
    color: var(--cream);
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 22px rgba(0,0,0,.18);
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.admin-dashboard-tile:hover {
    transform: translateY(-1px);
    border-color: rgba(255,226,141,.46);
    background: linear-gradient(145deg, rgba(60,32,14,.90), rgba(24,13,7,.86));
}
.admin-dashboard-tile.active {
    border-color: rgba(255,214,99,.78);
    box-shadow: 0 0 0 2px rgba(255,214,99,.12), inset 0 1px 0 rgba(255,255,255,.08), 0 12px 28px rgba(0,0,0,.24);
}
.admin-dashboard-icon {
    grid-row: 1 / span 2;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: rgba(255,226,141,.12);
    border: 1px solid rgba(255,226,141,.16);
    font-size: 1.35rem;
}
.admin-dashboard-tile strong {
    min-width: 0;
    color: var(--gold2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.admin-dashboard-tile small {
    min-width: 0;
    color: rgba(255,241,209,.68);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.admin-sticky-leitstelle {
    position: fixed;
    right: 1.15rem;
    bottom: 1.15rem;
    z-index: 99990;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .78rem 1rem;
    border-radius: 999px;
    background: linear-gradient(#ffe69a, #f3a51f 58%, #b96a10);
    color: #1b0f05;
    text-decoration: none;
    font-weight: 1000;
    letter-spacing: .02em;
    border: 1px solid rgba(255,232,148,.74);
    box-shadow: 0 18px 34px rgba(0,0,0,.34), inset 0 2px 0 rgba(255,255,255,.22);
}
.admin-sticky-leitstelle:hover { transform: translateY(-2px); filter: brightness(1.04); }
.admin-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
}
.admin-section-head h2 { margin-bottom: .15rem; }
.admin-mini-filter {
    display: flex;
    align-items: end;
    gap: .55rem;
    flex-wrap: wrap;
}
.admin-mini-filter label {
    display: grid;
    gap: .25rem;
    min-width: 210px;
    color: rgba(255,244,214,.82);
    font-size: .86rem;
    font-weight: 900;
}
.admin-mini-filter select,
.admin-compact-field input {
    width: 100%;
    min-height: 38px;
    border-radius: 12px;
    border: 1px solid rgba(255,224,150,.18);
    background: rgba(0,0,0,.24);
    color: #fff4d6;
    padding: .5rem .65rem;
}
.admin-compact-field {
    display: grid;
    gap: .22rem;
    color: rgba(255,244,214,.80);
    font-size: .78rem;
    font-weight: 900;
    min-width: 120px;
}
.admin-table-card {
    overflow: auto;
}
@media (max-width: 760px) {
    .admin-header-clean,
    .admin-section-head { align-items: stretch; flex-direction: column; }
    .admin-top-actions { justify-content: flex-start; }
    .admin-dashboard-nav { grid-template-columns: 1fr; }
    .admin-sticky-leitstelle { right: .75rem; bottom: .75rem; }
}

/* v4.43: Storyaufträge, Jobcenter-Refresh und Belohnungs-Popup */
body.game-body .job-card.job-story {
    background: linear-gradient(145deg, rgba(58, 31, 94, .78), rgba(33, 18, 15, .94)) !important;
    border-color: rgba(205, 145, 255, .58) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 12px 26px rgba(0,0,0,.3), 0 0 0 1px rgba(205,145,255,.16) !important;
}
body.game-body .badge.story {
    background: linear-gradient(135deg, rgba(160,74,255,.9), rgba(255,190,78,.8)) !important;
    color: #fff8df !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.16), 0 8px 14px rgba(0,0,0,.22) !important;
}
body.game-body .story-job-popup-overlay {
    background: radial-gradient(circle at 50% 35%, rgba(135,82,255,.28), transparent 34rem), rgba(0,0,0,.64) !important;
}
body.game-body .story-job-popup-card {
    overflow: hidden;
    border-color: rgba(255,210,105,.62) !important;
    background: linear-gradient(145deg, rgba(57,27,92,.96), rgba(31,16,12,.98)) !important;
}
body.game-body .story-job-popup-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: var(--story-bg);
    background-size: cover;
    background-position: center;
    opacity: .18;
    pointer-events: none;
}
body.game-body .story-job-popup-card > * {
    position: relative;
    z-index: 1;
}
body.game-body .story-character {
    width: 118px;
    height: 118px;
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid rgba(255,226,141,.42);
    background: rgba(0,0,0,.22);
    box-shadow: 0 18px 32px rgba(0,0,0,.32);
    margin-bottom: .8rem;
}
body.game-body .story-character img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
body.game-body .story-effect-pill {
    margin: .75rem 0;
    padding: .55rem .7rem;
    border-radius: 16px;
    background: rgba(255,177,52,.14);
    border: 1px solid rgba(255,204,105,.32);
    color: #ffe9a7;
    font-weight: 900;
    font-size: .86rem;
}
body.game-body .story-reward-preview {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: .65rem 0 .75rem;
}
body.game-body .story-reward-preview span {
    display: inline-flex;
    gap: .35rem;
    align-items: center;
    padding: .42rem .58rem;
    border-radius: 999px;
    background: rgba(0,0,0,.25);
    border: 1px solid rgba(255,255,255,.14);
    color: #fff4cd;
}
body.game-body .story-reward-popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 9900;
    display: grid;
    place-items: center;
    padding: 1.2rem;
    background: radial-gradient(circle at center, rgba(255,188,64,.22), transparent 36rem), rgba(0,0,0,.62);
    backdrop-filter: blur(4px);
}
body.game-body .story-reward-popup-overlay.closing { opacity: 0; transition: opacity .18s ease; }
body.game-body .story-reward-popup-card {
    width: min(560px, calc(100vw - 2rem));
    position: relative;
    padding: 1.3rem;
    border-radius: 30px;
    border: 1px solid rgba(255,213,95,.62);
    background: linear-gradient(145deg, rgba(72,42,15,.98), rgba(31,17,12,.98));
    color: #fff7db;
    box-shadow: 0 26px 74px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.13);
    overflow: hidden;
}
body.game-body .story-reward-popup-card h2 { margin: .35rem 0 .45rem; color: #ffe69a; font-size: clamp(1.65rem, 3vw, 2.35rem); }
body.game-body .story-reward-popup-card p { margin: 0 0 1rem; color: rgba(255,247,219,.88); }
body.game-body .story-reward-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin: 1rem 0 1.1rem;
}
body.game-body .story-reward-grid span {
    display: grid;
    gap: .16rem;
    place-items: center;
    padding: .78rem .55rem;
    border-radius: 20px;
    background: rgba(0,0,0,.24);
    border: 1px solid rgba(255,255,255,.13);
    text-align: center;
}
body.game-body .story-reward-grid b { color: #ffe69a; font-size: 1.05rem; }
body.game-body .story-reward-grid small { color: rgba(255,247,219,.68); }
body.game-body .story-reward-fireworks {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}
body.game-body .story-reward-fireworks i {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #ffd76d;
    box-shadow: 0 0 18px #ffd76d, 18px 4px 0 rgba(255,255,255,.7), -14px 11px 0 rgba(179,119,255,.8), 4px -18px 0 rgba(255,132,66,.8);
    animation: storyRewardSpark 1.55s ease-in-out infinite;
}
body.game-body .story-reward-fireworks i:nth-child(1) { left: 12%; top: 18%; animation-delay: 0s; }
body.game-body .story-reward-fireworks i:nth-child(2) { right: 18%; top: 14%; animation-delay: .28s; }
body.game-body .story-reward-fireworks i:nth-child(3) { left: 30%; bottom: 18%; animation-delay: .55s; }
body.game-body .story-reward-fireworks i:nth-child(4) { right: 24%; bottom: 20%; animation-delay: .8s; }
body.game-body .story-reward-fireworks i:nth-child(5) { left: 50%; top: 10%; animation-delay: 1.08s; }
@keyframes storyRewardSpark {
    0%, 100% { transform: scale(.35); opacity: 0; }
    34% { transform: scale(1.05); opacity: 1; }
    70% { transform: scale(.65); opacity: .35; }
}
@media (max-width: 620px) {
    body.game-body .story-reward-grid { grid-template-columns: 1fr; }
    body.game-body .story-character { width: 92px; height: 92px; border-radius: 22px; }
}


/* v4.48: Backoffice Import / Export */
.admin-transfer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}
.admin-transfer-card {
    min-height: 270px;
}
.admin-transfer-card code,
.admin-table-card code {
    color: var(--gold2);
    background: rgba(0,0,0,.28);
    padding: .08rem .32rem;
    border-radius: 8px;
}
.admin-transfer-stats .admin-card strong {
    line-height: 1.05;
}
.admin-transfer-table-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: .6rem;
}
.admin-transfer-table-pill {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    padding: .7rem .8rem;
    border-radius: 16px;
    border: 1px solid rgba(255,224,150,.16);
    background: rgba(0,0,0,.22);
}
.admin-transfer-table-pill strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgba(255,244,214,.92);
}
.admin-transfer-table-pill span {
    color: var(--gold2);
    font-weight: 1000;
}
.admin-transfer-report {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .55rem;
}
.admin-transfer-report div {
    display: grid;
    gap: .15rem;
    padding: .65rem .75rem;
    border-radius: 14px;
    background: rgba(0,0,0,.22);
    border: 1px solid rgba(255,224,150,.14);
}
.admin-transfer-report span {
    color: rgba(255,244,214,.70);
    font-size: .84rem;
    font-weight: 800;
}
@media (max-width: 920px) {
    .admin-transfer-grid { grid-template-columns: 1fr; }
}

/* v4.48: Story-Postfach, split Story-Popup und Mail-App */
body.game-body .mail-app-icon span {
    background: transparent !important;
    box-shadow: 0 10px 22px rgba(0,174,221,.22) !important;
}
body.game-body .mail-app-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 22px !important;
}
body.game-body .mail-story-card {
    display: grid;
    gap: .65rem;
    border: 1px solid rgba(130,224,255,.28) !important;
    background: linear-gradient(145deg, rgba(15,52,78,.86), rgba(12,22,34,.96)) !important;
}
body.game-body .mail-story-head {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .55rem;
}
body.game-body .mail-story-head strong { color: #eafaff; }
body.game-body .mail-story-head small { display: block; color: rgba(234,250,255,.58); margin-top: .1rem; }
body.game-body .mail-story-head > b {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #102b3a;
    background: #9defff;
    border-radius: 999px;
    padding: .2rem .42rem;
}
body.game-body .mail-dot {
    width: .72rem;
    height: .72rem;
    border-radius: 999px;
    background: #47dcff;
    box-shadow: 0 0 0 4px rgba(71,220,255,.16), 0 0 18px rgba(71,220,255,.72);
}
body.game-body .mail-story-thumb {
    width: 100%;
    aspect-ratio: 1080 / 520;
    object-fit: cover;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 12px 22px rgba(0,0,0,.28);
}
body.game-body .mail-story-card p {
    margin: 0;
    color: rgba(245,252,255,.88);
    line-height: 1.35;
}
body.game-body .story-reward-preview.compact { margin: .1rem 0; }
body.game-body .story-reward-preview.compact span { font-size: .76rem; padding: .32rem .45rem; }
body.game-body .story-effect-pill.compact { margin: .15rem 0; font-size: .74rem; padding: .42rem .52rem; }
body.game-body .story-job-popup-card.story-job-popup-split {
    width: min(920px, calc(100vw - 32px)) !important;
    max-width: 920px !important;
    padding: 0 !important;
    min-height: min(620px, calc(100vh - 42px));
    background: linear-gradient(135deg, rgba(28,15,12,.98), rgba(55,28,82,.98)) !important;
}
body.game-body .story-job-popup-card.story-job-popup-split::before { display: none !important; }
body.game-body .story-dialog-layout {
    display: grid;
    grid-template-columns: minmax(280px, .95fr) minmax(320px, 1.05fr);
    min-height: min(620px, calc(100vh - 42px));
}
body.game-body .story-visual-panel {
    position: relative;
    overflow: hidden;
    min-height: 460px;
    background: radial-gradient(circle at 35% 20%, rgba(255,217,112,.22), transparent 38%), linear-gradient(145deg, #21120b, #4b245e);
}
body.game-body .story-visual-panel::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 54%, rgba(43,22,51,.34) 74%, rgba(43,22,51,.96) 100%);
    pointer-events: none;
}
body.game-body .story-visual-panel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
body.game-body .story-visual-placeholder {
    height: 100%;
    display: grid;
    place-items: center;
    font-size: 5rem;
    opacity: .82;
}
body.game-body .story-dialog-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.1rem, 2.6vw, 2rem);
    color: #fff8dc;
    background: linear-gradient(90deg, rgba(43,22,51,.96), rgba(20,11,10,.98));
}
body.game-body .story-dialog-panel h2 {
    margin: .25rem 0 .75rem;
    color: #ffe69a;
    font-size: clamp(1.55rem, 3vw, 2.35rem);
    line-height: 1.03;
}
body.game-body .story-dialog-panel p {
    margin: 0 0 .85rem;
    color: rgba(255,248,220,.9);
    line-height: 1.45;
    font-size: .98rem;
}
@media (max-width: 760px) {
    body.game-body .story-dialog-layout { grid-template-columns: 1fr; }
    body.game-body .story-visual-panel { min-height: 260px; max-height: 38vh; }
    body.game-body .story-visual-panel::after { background: linear-gradient(180deg, transparent 50%, rgba(43,22,51,.96) 100%); }
    body.game-body .story-dialog-panel { padding: 1rem; }
}
body.game-body .app-icon.has-app-badge { position: relative !important; }

/* v4.48: Mail-App sichtbar, Story-Popup-Button und Medienanzeige stabilisiert */
body.game-body #phoneHome.phone-view {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-bottom: 1rem !important;
}
body.game-body #phoneHome .app-grid {
    min-height: auto !important;
    height: auto !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-content: start !important;
    justify-content: center !important;
    gap: clamp(.48rem, 1vh, .72rem) !important;
    padding: .35rem .15rem 1.1rem !important;
}
body.game-body #phoneHome .app-icon:nth-child(4),
body.game-body #phoneHome .app-icon:nth-child(5) {
    transform: none !important;
}
body.game-body #phoneHome .app-icon span {
    width: clamp(46px, 6.45vh, 58px) !important;
    height: clamp(46px, 6.45vh, 58px) !important;
}
body.game-body #phoneHome .app-icon b {
    max-width: 78px;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.08;
}
body.game-body .mail-app-icon {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
}
body.game-body .mail-app-icon .app-notification-badge,
body.game-body .app-icon[data-open-app="mail"] .app-notification-badge {
    display: grid;
}
body.game-body .mail-app-icon .app-notification-badge.hidden,
body.game-body .app-icon[data-open-app="mail"] .app-notification-badge.hidden {
    display: none !important;
}
body.game-body .story-job-popup-card.story-job-popup-split {
    position: relative !important;
    overflow: hidden !important;
}
body.game-body .story-job-popup-card.story-job-popup-split .special-job-close,
body.game-body .story-job-popup-card .special-job-close {
    position: absolute !important;
    top: .85rem !important;
    right: .85rem !important;
    left: auto !important;
    z-index: 40 !important;
    transform: none !important;
    border-radius: 15px !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
body.game-body .story-visual-panel img {
    object-position: center center;
}
body.game-body .story-dialog-panel h2 {
    word-break: normal;
    overflow-wrap: anywhere;
}

/* v4.48: Smartphone-Seiten, Story-Popup-Fix und Abschlussbild */
body.game-body #phoneHome.phone-view {
    overflow: hidden !important;
    padding-bottom: 0 !important;
    position: relative;
}
body.game-body .phone-home-slider {
    display: flex;
    width: 100%;
    height: calc(100% - 22px);
    transition: transform .32s cubic-bezier(.18,.82,.24,1);
    will-change: transform;
    touch-action: pan-y;
}
body.game-body .phone-home-slider.no-anim { transition: none !important; }
body.game-body .phone-home-page {
    min-width: 100%;
    width: 100%;
    height: 100% !important;
    padding: .35rem .15rem .35rem !important;
    overflow: hidden;
}
body.game-body #phoneHome .phone-home-page.app-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(82px, 1fr);
    align-content: start !important;
}
body.game-body .phone-home-dots {
    position: absolute;
    left: 50%;
    bottom: .1rem;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    z-index: 5;
    pointer-events: auto;
}
body.game-body .phone-home-dots button {
    width: .42rem;
    height: .42rem;
    border-radius: 999px;
    border: 0;
    padding: 0;
    cursor: pointer;
    background: rgba(255,255,255,.48);
    box-shadow: 0 1px 4px rgba(0,0,0,.42);
    transition: width .18s ease, background .18s ease;
}
body.game-body .phone-home-dots button.active {
    width: 1.05rem;
    background: #fff;
}
body.game-body .reward-money-icon {
    width: 1.15em;
    height: 1.15em;
    object-fit: contain;
    display: inline-block;
    vertical-align: -0.18em;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,.28));
}
body.game-body .reward-money-icon.large {
    width: 2.1rem;
    height: 2.1rem;
}
body.game-body .story-job-popup-overlay {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: clamp(.7rem, 2vw, 1.4rem) !important;
}
body.game-body .story-job-popup-card.story-job-popup-split {
    width: min(1120px, calc(100vw - 2rem)) !important;
    max-width: 1120px !important;
    min-height: auto !important;
    height: min(650px, calc(100vh - 2rem)) !important;
    max-height: calc(100vh - 2rem) !important;
    margin: 0 auto !important;
    transform: none !important;
}
body.game-body .story-dialog-layout {
    height: 100% !important;
    min-height: 0 !important;
    grid-template-columns: minmax(300px, .95fr) minmax(340px, 1.05fr) !important;
}
body.game-body .story-visual-panel {
    min-height: 0 !important;
    height: 100% !important;
}
body.game-body .story-dialog-panel {
    min-width: 0;
    overflow-y: auto;
}
body.game-body .story-popup-close,
body.game-body .story-job-popup-card.story-job-popup-split .story-popup-close,
body.game-body .story-reward-popup-card .story-popup-close {
    position: absolute !important;
    right: .9rem !important;
    top: .9rem !important;
    left: auto !important;
    transform: none !important;
    z-index: 80 !important;
    width: 46px !important;
    height: 46px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(255,219,137,.58) !important;
    border-radius: 16px !important;
    background: linear-gradient(#4b3220, #1b110a) !important;
    color: #fff3c7 !important;
    font-size: 1.65rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
body.game-body .story-job-facts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.game-body .story-reward-popup-card.story-reward-popup-split {
    width: min(920px, calc(100vw - 2rem)) !important;
    max-height: calc(100vh - 2rem);
    padding: 0 !important;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(260px, .9fr) minmax(320px, 1.1fr);
    gap: 0;
}
body.game-body .story-reward-popup-card.story-reward-popup-split:not(:has(.story-reward-visual)) {
    display: block;
    padding: 1.3rem !important;
}
body.game-body .story-reward-visual {
    min-height: 430px;
    background: #180d0b;
    position: relative;
    overflow: hidden;
}
body.game-body .story-reward-visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 55%, rgba(43,22,51,.92) 100%);
    pointer-events: none;
}
body.game-body .story-reward-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
body.game-body .story-reward-content {
    padding: clamp(1.1rem, 2.6vw, 1.75rem);
    align-self: center;
    min-width: 0;
}
@media (max-width: 760px) {
    body.game-body .story-job-popup-card.story-job-popup-split { height: calc(100vh - 1.2rem) !important; width: calc(100vw - 1.2rem) !important; }
    body.game-body .story-dialog-layout { grid-template-columns: 1fr !important; grid-template-rows: 38% 62%; }
    body.game-body .story-reward-popup-card.story-reward-popup-split { grid-template-columns: 1fr; }
    body.game-body .story-reward-visual { min-height: 240px; max-height: 38vh; }
    body.game-body .story-reward-visual::after { background: linear-gradient(180deg, transparent 50%, rgba(43,22,51,.92) 100%); }
}

/* v4.49: Story-Mail bereinigt, Smartphone-Swipe und Pin-UX */
body.game-body .app-icon .app-notification-badge,
body.game-body .app-icon[data-open-app="orders"] .app-notification-badge,
body.game-body .app-icon[data-open-app="mail"] .app-notification-badge,
body.game-body .mail-app-icon .app-notification-badge {
    top: -4px !important;
    left: calc(50% + 14px) !important;
    right: auto !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
    border-width: 1.5px !important;
    font-size: .58rem !important;
    line-height: 1 !important;
    box-shadow: 0 5px 12px rgba(0,0,0,.32), 0 0 0 1.5px rgba(255,40,40,.12) !important;
}
body.game-body #phoneHome.phone-view {
    touch-action: pan-y pinch-zoom;
    user-select: none;
}
body.game-body .phone-home-slider {
    touch-action: pan-y pinch-zoom !important;
    cursor: grab;
}
body.game-body .phone-home-slider:active { cursor: grabbing; }
body.game-body .phone-job-pin-bounce {
    animation: phoneJobPinBounceV49 .9s cubic-bezier(.16,.85,.22,1.22) both !important;
    outline: 2px solid rgba(255,217,99,.72) !important;
    box-shadow: 0 0 0 5px rgba(255,184,28,.18), 0 16px 28px rgba(0,0,0,.34) !important;
}
@keyframes phoneJobPinBounceV49 {
    0% { transform: translateY(0) scale(1); filter: brightness(1); }
    18% { transform: translateY(-11px) scale(1.035); filter: brightness(1.12); }
    36% { transform: translateY(3px) scale(.99); }
    56% { transform: translateY(-5px) scale(1.018); }
    78% { transform: translateY(1px) scale(1.006); }
    100% { transform: translateY(0) scale(1); filter: brightness(1); }
}
body.game-body .story-job-popup-overlay,
body.game-body .story-reward-popup-overlay {
    position: fixed !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    padding: clamp(.8rem, 2vw, 1.4rem) !important;
    z-index: 99980 !important;
}
body.game-body .story-job-popup-card.story-job-popup-split,
body.game-body .story-reward-popup-card.story-reward-popup-split {
    margin: 0 !important;
    transform: none !important;
}
body.game-body .story-popup-close,
body.game-body .story-job-popup-card.story-job-popup-split .story-popup-close,
body.game-body .story-reward-popup-card .story-popup-close,
body.game-body .story-reward-close {
    top: .9rem !important;
    right: .9rem !important;
    left: auto !important;
    transform: none !important;
    z-index: 120 !important;
}
body.game-body .mail-story-card .mail-story-thumb,
body.game-body .mail-story-card > small:empty {
    display: none !important;
}


/* v4.68: Werkstatt-Sound, saubere Badges und Smartphone-Blätterbuttons */
body.game-body #phoneHome .app-icon,
body.game-body #phoneHome .app-icon.has-app-badge {
    position: relative !important;
}
body.game-body #phoneHome .app-icon > .app-notification-badge,
body.game-body #phoneHome .app-icon[data-open-app="orders"] > .app-notification-badge,
body.game-body #phoneHome .app-icon[data-open-app="mail"] > .app-notification-badge,
body.game-body #phoneHome .mail-app-icon > .app-notification-badge,
body.game-body .phone-screen .app-icon > .app-notification-badge {
    box-sizing: border-box !important;
    position: absolute !important;
    top: -6px !important;
    right: auto !important;
    bottom: auto !important;
    left: calc(50% + 19px) !important;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    transform: none !important;
    background: linear-gradient(180deg, #ff4c4c, #c30f18) !important;
    border: 2px solid rgba(255,255,255,.94) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-indent: 0 !important;
    box-shadow: 0 5px 10px rgba(0,0,0,.32), 0 0 0 1px rgba(255,40,40,.15) !important;
    z-index: 25 !important;
}
body.game-body #phoneHome .app-icon > .app-notification-badge.hidden,
body.game-body .phone-screen .app-icon > .app-notification-badge.hidden {
    display: none !important;
}
body.game-body .phone-home-nav {
    position: absolute;
    bottom: .18rem;
    z-index: 8;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    padding: 0;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.34);
    background: rgba(20,16,28,.56);
    color: #fff8dd;
    font-size: 1.65rem;
    font-weight: 1000;
    line-height: 1;
    cursor: pointer;
    backdrop-filter: blur(8px);
    box-shadow: 0 7px 16px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.16);
}
body.game-body .phone-home-nav-prev { left: 1rem; }
body.game-body .phone-home-nav-next { right: 1rem; }
body.game-body .phone-home-nav:hover,
body.game-body .phone-home-nav:focus-visible {
    background: rgba(255,255,255,.2);
    outline: 2px solid rgba(255,232,142,.52);
}
body.game-body .phone-home-dots { bottom: .55rem !important; }


/* v4.68: Gewünschte 8px-Rundung fuer Topbar und kompaktes Taximeter */
body.game-body .game-topbar,
body.game-body .taximeter-bar.compact-meter,
body.game-body .compact-meter.taximeter-bar {
    border-radius: 8px !important;
}

/* v4.68 Passwort-Reset / Mail */
.auth-help { margin: .25rem 0 0; text-align: center; font-weight: 800; }
.auth-help a { color: var(--gold); text-decoration: none; }
.auth-help a:hover { text-decoration: underline; }

/* v4.55: Fleet-Banner sauber innerhalb der Karte + Swipe-Hinweis in der Taxizentrale */
body.game-body .fleet-card.no-driver {
    overflow: hidden !important;
}
body.game-body .fleet-card.no-driver .no-driver-banner,
body.game-body .no-driver-banner {
    left: .45rem !important;
    right: .45rem !important;
    top: 50% !important;
    transform: translateY(-50%) rotate(-10deg) !important;
    border-radius: 10px !important;
    padding: .34rem .5rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}
body.game-body .guided-first-steps-overlay[data-placement="swipe-under"] .guided-first-steps-arrow {
    display: none !important;
}
body.game-body .guided-first-steps-overlay[data-placement="swipe-under"] .guided-first-steps-card {
    width: min(390px, calc(100vw - 36px)) !important;
}
body.game-body .guided-first-steps-card.guided-first-steps-card-swipe {
    padding-bottom: .9rem !important;
}
body.game-body .guided-first-drag-demo {
    margin-top: .85rem;
    display: grid;
    grid-template-columns: 42px 92px minmax(0,1fr);
    align-items: center;
    gap: .65rem;
    padding: .7rem .8rem;
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(255,214,105,.14), rgba(24,11,5,.64));
    border: 1px solid rgba(255,214,105,.28);
    overflow: hidden;
}
body.game-body .guided-first-drag-cursor {
    display: grid;
    place-items: center;
    font-size: 1.35rem;
    line-height: 1;
    filter: drop-shadow(0 6px 8px rgba(0,0,0,.35));
    animation: guidedDragSlide 1.55s cubic-bezier(.2,.82,.2,1) infinite;
}
body.game-body .guided-first-drag-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: .4rem .7rem;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(112,74,17,.88), rgba(53,27,10,.88));
    border: 1px solid rgba(255,214,105,.42);
    color: var(--cream);
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(0,0,0,.25);
    animation: guidedDragSlide 1.55s cubic-bezier(.2,.82,.2,1) infinite;
}
body.game-body .guided-first-drag-arrow {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #ffd96a;
    font-weight: 900;
    letter-spacing: .01em;
    animation: guidedDragTextPulse 1.55s ease-in-out infinite;
}
body.game-body .guided-first-drag-arrow::before {
    content: '⟵';
    font-size: 1.15rem;
    line-height: 1;
}
@keyframes guidedDragSlide {
    0% { transform: translateX(46px); opacity: .28; }
    22% { opacity: 1; }
    68% { transform: translateX(-26px); opacity: 1; }
    100% { transform: translateX(-26px); opacity: .44; }
}
@keyframes guidedDragTextPulse {
    0%,100% { transform: translateX(0); opacity: .88; }
    50% { transform: translateX(-6px); opacity: 1; }
}
@media (max-width: 720px) {
    body.game-body .guided-first-drag-demo {
        grid-template-columns: 1fr;
        justify-items: start;
    }
}


/* v4.56: Story-Popup/Musik ohne Reload und robustere Audio-Pfadbehandlung */


/* v4.57: API-Bootstrap-Hotfix fuer state.php und special_job.php */

/* v4.58: Fahrerpause sichtbar auf Fleet-Card + Erst-Hinweis */
body.game-body .fleet-card.driver-paused {
    box-shadow: 0 0 0 2px rgba(82, 166, 255, .40), 0 14px 34px rgba(0,0,0,.38) !important;
}
body.game-body .fleet-pause-stamp {
    position: absolute;
    z-index: 8;
    top: .42rem;
    left: 50%;
    transform: translateX(-50%) rotate(-7deg);
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: .38rem;
    min-width: 112px;
    max-width: calc(100% - 5.9rem);
    padding: .32rem .62rem .34rem;
    border-radius: 12px;
    border: 2px solid rgba(205, 235, 255, .92);
    background: linear-gradient(145deg, rgba(14, 117, 235, .94), rgba(5, 46, 128, .92));
    color: #eaf8ff;
    box-shadow: 0 0 0 2px rgba(42, 151, 255, .22), 0 11px 22px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.28);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 1000;
    font-size: .72rem;
    line-height: 1;
    cursor: pointer;
    text-shadow: 0 1px 0 rgba(0,0,0,.42);
}
body.game-body .fleet-pause-stamp:hover,
body.game-body .fleet-pause-stamp:focus-visible {
    transform: translateX(-50%) rotate(-4deg) scale(1.035);
    border-color: rgba(255,255,255,.98);
    outline: none;
}
body.game-body .fleet-pause-stamp b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    padding: .2rem .32rem;
    border-radius: 999px;
    background: rgba(0, 14, 45, .38);
    color: #fff;
    letter-spacing: .02em;
    font-size: .74rem;
}
body.game-body .fleet-card.driver-paused .fleet-status {
    background: linear-gradient(145deg, #6bbdff, #0a4ba8) !important;
    color: #fff !important;
}
body.game-body .driver-pause-tutorial-overlay {
    position: fixed;
    inset: 0;
    z-index: 120000;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: radial-gradient(circle at 50% 35%, rgba(37,122,255,.22), rgba(0,0,0,.78) 58%, rgba(0,0,0,.88));
    animation: driverPauseOverlayIn .22s ease-out both;
}
body.game-body .driver-pause-tutorial-overlay.closing {
    animation: driverPauseOverlayOut .22s ease-in both;
}
body.game-body .driver-pause-tutorial-card {
    position: relative;
    width: min(720px, calc(100vw - 2rem));
    border-radius: 30px;
    border: 1px solid rgba(112, 184, 255, .62);
    padding: clamp(1.2rem, 3vw, 2rem);
    background: linear-gradient(145deg, rgba(21, 49, 91, .96), rgba(26, 12, 8, .96));
    color: var(--cream);
    box-shadow: 0 32px 88px rgba(0,0,0,.72), inset 0 1px 0 rgba(255,255,255,.10);
    overflow: hidden;
}
body.game-body .driver-pause-tutorial-card::before {
    content: '';
    position: absolute;
    inset: -40% auto auto -12%;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(67,159,255,.30), transparent 66%);
    pointer-events: none;
}
body.game-body .driver-pause-tutorial-close {
    position: absolute;
    top: .85rem;
    right: .85rem;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(255,226,141,.36);
    background: rgba(0,0,0,.30);
    color: var(--cream);
    font-size: 1.8rem;
    font-weight: 900;
    cursor: pointer;
    z-index: 2;
}
body.game-body .driver-pause-tutorial-stamp {
    display: inline-grid;
    place-items: center;
    width: fit-content;
    padding: .42rem 1.15rem;
    border-radius: 14px;
    border: 2px solid rgba(215,239,255,.92);
    background: linear-gradient(145deg, rgba(17,127,238,.96), rgba(5,55,145,.96));
    color: #fff;
    text-transform: uppercase;
    font-weight: 1000;
    letter-spacing: .1em;
    transform: rotate(-5deg);
    box-shadow: 0 10px 22px rgba(0,0,0,.35);
}
body.game-body .driver-pause-tutorial-copy {
    position: relative;
    z-index: 1;
    margin-top: 1rem;
    display: grid;
    gap: .75rem;
}
body.game-body .driver-pause-tutorial-copy small {
    color: #a9d8ff;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .09em;
}
body.game-body .driver-pause-tutorial-copy h2 {
    margin: 0;
    color: var(--gold2);
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: .95;
}
body.game-body .driver-pause-tutorial-copy p {
    margin: 0;
    font-size: clamp(1rem, 1.45vw, 1.22rem);
    line-height: 1.45;
    max-width: 62ch;
}
body.game-body .driver-pause-tutorial-actions {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: flex-end;
    gap: .75rem;
    margin-top: 1.4rem;
    flex-wrap: wrap;
}
@keyframes driverPauseOverlayIn {
    from { opacity: 0; transform: scale(1.015); }
    to { opacity: 1; transform: scale(1); }
}
@keyframes driverPauseOverlayOut {
    from { opacity: 1; transform: scale(1); }
    to { opacity: 0; transform: scale(.985); }
}
@media (max-width: 760px) {
    body.game-body .fleet-pause-stamp {
        left: auto;
        right: 3.5rem;
        transform: rotate(-5deg);
        min-width: 92px;
        max-width: calc(100% - 6.5rem);
        font-size: .64rem;
        padding: .28rem .48rem;
    }
    body.game-body .fleet-pause-stamp:hover,
    body.game-body .fleet-pause-stamp:focus-visible {
        transform: rotate(-3deg) scale(1.03);
    }
    body.game-body .driver-pause-tutorial-actions {
        justify-content: stretch;
    }
    body.game-body .driver-pause-tutorial-actions .button {
        flex: 1 1 210px;
    }
}

/* v4.59: Smartphone-App-Layout stabilisiert fuer unterschiedliche Monitorhoehen */
body.game-body #phoneHome.phone-view {
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
}
body.game-body #phoneHome .phone-home-slider {
    height: calc(100% - 36px) !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: stretch !important;
}
body.game-body #phoneHome .phone-home-page,
body.game-body #phoneHome .phone-home-page.app-grid {
    box-sizing: border-box !important;
    min-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: clamp(.28rem, 1vh, .58rem) clamp(.12rem, .7vw, .42rem) .7rem !important;
    overflow: hidden !important;
}
body.game-body #phoneHome .phone-home-page.app-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, minmax(82px, 108px)) !important;
    grid-auto-rows: minmax(82px, 108px) !important;
    align-content: start !important;
    justify-content: center !important;
    align-items: start !important;
    justify-items: stretch !important;
    column-gap: clamp(.28rem, 1.2vw, .82rem) !important;
    row-gap: clamp(.58rem, 2.15vh, 1.1rem) !important;
}
body.game-body #phoneHome .app-icon,
body.game-body #phoneHome .app-icon.has-app-badge,
body.game-body #phoneHome .phone-home-page .app-icon {
    box-sizing: border-box !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    align-self: start !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: clamp(.28rem, .9vh, .45rem) !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    line-height: 1.1 !important;
}
body.game-body #phoneHome .app-icon span,
body.game-body #phoneHome .phone-home-page .app-icon span {
    flex: 0 0 auto !important;
    width: clamp(50px, 6.9vh, 66px) !important;
    height: clamp(50px, 6.9vh, 66px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 66px !important;
    max-height: 66px !important;
    margin: 0 !important;
    transform: none !important;
}
body.game-body #phoneHome .app-icon b,
body.game-body #phoneHome .phone-home-page .app-icon b {
    position: static !important;
    flex: 0 0 auto !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    width: 100% !important;
    max-width: 88px !important;
    min-height: 2.18em !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    font-size: clamp(.66rem, 1.35vh, .78rem) !important;
    line-height: 1.09 !important;
    transform: none !important;
}
body.game-body #phoneHome .app-icon img,
body.game-body #phoneHome .app-icon span img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
body.game-body #phoneHome .phone-home-dots {
    bottom: .55rem !important;
}
body.game-body #phoneHome .phone-home-nav {
    bottom: .18rem !important;
}
@media (max-height: 720px) {
    body.game-body #phoneHome .phone-home-page.app-grid {
        grid-template-rows: repeat(3, minmax(76px, 92px)) !important;
        grid-auto-rows: minmax(76px, 92px) !important;
        row-gap: clamp(.38rem, 1.2vh, .75rem) !important;
    }
    body.game-body #phoneHome .app-icon span,
    body.game-body #phoneHome .phone-home-page .app-icon span {
        width: clamp(46px, 6.4vh, 58px) !important;
        height: clamp(46px, 6.4vh, 58px) !important;
    }
    body.game-body #phoneHome .app-icon b,
    body.game-body #phoneHome .phone-home-page .app-icon b {
        font-size: clamp(.58rem, 1.22vh, .69rem) !important;
    }
}

/* v4.68: Dispatch-Logik, Personal-Zuweisung und responsives Smartphone final stabilisiert */
body.game-body #phoneHome.phone-view {
    container-type: size !important;
    overflow: hidden !important;
    padding: 0 !important;
}
body.game-body #phoneHome .phone-home-slider {
    height: calc(100% - clamp(28px, 5.8cqh, 42px)) !important;
    min-height: 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: stretch !important;
}
body.game-body #phoneHome .phone-home-page,
body.game-body #phoneHome .phone-home-page.app-grid {
    min-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: clamp(4px, 1.25cqh, 10px) clamp(4px, 1.6cqw, 10px) clamp(8px, 2.2cqh, 14px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
body.game-body #phoneHome .phone-home-page.app-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(0, 1fr) !important;
    column-gap: clamp(4px, 2.2cqw, 14px) !important;
    row-gap: clamp(2px, 1.45cqh, 12px) !important;
    align-content: stretch !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    justify-items: stretch !important;
}
body.game-body #phoneHome .app-icon,
body.game-body #phoneHome .app-icon.has-app-badge,
body.game-body #phoneHome .phone-home-page .app-icon {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(2px, .8cqh, 7px) !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    overflow: visible !important;
}
body.game-body #phoneHome .app-icon span,
body.game-body #phoneHome .phone-home-page .app-icon span {
    width: clamp(38px, min(17cqw, 10.4cqh), 66px) !important;
    height: clamp(38px, min(17cqw, 10.4cqh), 66px) !important;
    max-width: none !important;
    max-height: none !important;
    flex: 0 0 auto !important;
}
body.game-body #phoneHome .app-icon b,
body.game-body #phoneHome .phone-home-page .app-icon b {
    width: min(96%, 92px) !important;
    max-width: 92px !important;
    min-height: 2.1em !important;
    max-height: 2.22em !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-align: center !important;
    white-space: normal !important;
    text-overflow: ellipsis !important;
    overflow-wrap: anywhere !important;
    font-size: clamp(.52rem, min(3.25cqw, 1.55cqh), .78rem) !important;
    line-height: 1.08 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
}
body.game-body #phoneHome .phone-home-dots {
    bottom: clamp(6px, 1.6cqh, 12px) !important;
}
body.game-body #phoneHome .phone-home-nav {
    bottom: clamp(4px, 1.25cqh, 10px) !important;
    width: clamp(26px, 7.2cqw, 32px) !important;
    height: clamp(26px, 7.2cqw, 32px) !important;
    font-size: clamp(1.25rem, 5cqw, 1.7rem) !important;
}
body.game-body .hq-assignment-panel .hq-assignment-table,
body.game-body .hq-personal-panel .staff-accordion-list {
    max-height: min(58vh, 640px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding-right: .2rem !important;
}
body.game-body .hq-quick-assign {
    margin-top: .45rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .45rem;
    align-items: center;
    width: 100%;
}
body.game-body .hq-quick-assign select {
    min-width: 0;
    width: 100%;
    border: 1px solid rgba(255,226,141,.34);
    border-radius: 12px;
    background: rgba(16,9,5,.82);
    color: var(--cream);
    padding: .45rem .55rem;
    font-weight: 800;
}
body.game-body .hq-driver-slot:not(.filled) {
    align-content: center;
}
body.game-body .dispatch-warning {
    margin: .45rem 0;
    border-radius: 12px;
    padding: .45rem .55rem;
    background: rgba(0,90,190,.16);
    border: 1px solid rgba(110,185,255,.32);
    color: #dceeff;
    font-size: .76rem;
    font-weight: 850;
}
@media (max-width: 880px) {
    body.game-body .hq-quick-assign { grid-template-columns: 1fr; }
}

/* v4.68: dynamische Smartphone-Seiten, App-Optik und mobile Leitstelle */
body.game-body #phoneHome.phone-view {
    --phone-page-rows: 3;
    container-type: size !important;
    overflow: hidden !important;
    padding: 0 !important;
}
body.game-body #phoneHome .phone-home-slider {
    height: calc(100% - clamp(28px, 5.8cqh, 42px)) !important;
    min-height: 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: stretch !important;
    transition: transform .28s cubic-bezier(.2,.78,.22,1) !important;
    will-change: transform;
}
body.game-body #phoneHome .phone-home-page,
body.game-body #phoneHome .phone-home-page.app-grid {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--phone-page-rows, 3), minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(0, 1fr) !important;
    column-gap: clamp(8px, 3.2cqw, 18px) !important;
    row-gap: clamp(8px, 2.2cqh, 18px) !important;
    padding: clamp(6px, 1.8cqh, 14px) clamp(8px, 2.4cqw, 14px) clamp(10px, 2.2cqh, 16px) !important;
    overflow: hidden !important;
    align-content: stretch !important;
    justify-content: stretch !important;
    align-items: center !important;
    justify-items: center !important;
}
body.game-body #phoneHome .app-icon,
body.game-body #phoneHome .phone-home-page .app-icon,
body.game-body #phoneHome .app-icon.has-app-badge {
    position: relative !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    gap: clamp(4px, .95cqh, 8px) !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    overflow: visible !important;
}
body.game-body #phoneHome .app-icon span,
body.game-body #phoneHome .phone-home-page .app-icon span {
    width: clamp(46px, min(20cqw, 12cqh), 72px) !important;
    height: clamp(46px, min(20cqw, 12cqh), 72px) !important;
    flex: 0 0 auto !important;
    display: grid !important;
    place-items: center !important;
    border-radius: clamp(14px, 4.8cqw, 22px) !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.05)) !important;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.36), inset 0 -10px 22px rgba(0,0,0,.16), 0 10px 18px rgba(0,0,0,.34) !important;
    transform: none !important;
}
body.game-body #phoneHome .app-icon span img,
body.game-body #phoneHome .phone-home-page .app-icon span img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: inherit !important;
}
body.game-body #phoneHome .app-icon b,
body.game-body #phoneHome .phone-home-page .app-icon b {
    position: static !important;
    flex: 0 0 auto !important;
    width: min(100%, 104px) !important;
    max-width: 104px !important;
    min-height: 2.05em !important;
    max-height: 2.2em !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-align: center !important;
    white-space: normal !important;
    text-overflow: ellipsis !important;
    overflow-wrap: anywhere !important;
    font-size: clamp(.58rem, min(3.2cqw, 1.55cqh), .8rem) !important;
    line-height: 1.08 !important;
    text-shadow: 0 2px 7px rgba(0,0,0,.86), 0 0 8px rgba(0,0,0,.38) !important;
    transform: none !important;
}
body.game-body #phoneHome[style*="--phone-page-rows: 1"] .app-icon span {
    width: clamp(48px, min(21cqw, 18cqh), 76px) !important;
    height: clamp(48px, min(21cqw, 18cqh), 76px) !important;
}
body.game-body #phoneHome .phone-home-dots {
    bottom: clamp(6px, 1.6cqh, 12px) !important;
    max-width: calc(100% - 92px);
    overflow: hidden;
}
body.game-body #phoneHome .phone-home-dots button {
    width: clamp(7px, 2.2cqw, 10px) !important;
    height: clamp(7px, 2.2cqw, 10px) !important;
}
body.game-body #phoneHome .phone-home-nav {
    bottom: clamp(4px, 1.25cqh, 10px) !important;
    width: clamp(28px, 7.2cqw, 34px) !important;
    height: clamp(28px, 7.2cqw, 34px) !important;
}
body.game-body #phoneHome .app-icon > .app-notification-badge,
body.game-body #phoneHome .app-icon[data-open-app="orders"] > .app-notification-badge,
body.game-body #phoneHome .app-icon[data-open-app="mail"] > .app-notification-badge,
body.game-body .phone-screen .app-icon > .app-notification-badge {
    top: max(-5px, -1.1cqh) !important;
    left: calc(50% + min(24px, 7cqw)) !important;
}

@media (max-width: 1180px) {
    body.game-body { overflow: auto !important; }
    body.game-body #game { min-height: 100svh !important; height: auto !important; overflow: visible !important; }
    body.game-body .dashboard-shell {
        width: min(100%, calc(100vw - 10px)) !important;
        min-height: calc(100svh - 10px) !important;
        height: auto !important;
        margin: 5px auto !important;
        grid-template-rows: auto auto auto !important;
        overflow: visible !important;
        padding: clamp(.45rem, 1.7vw, .8rem) !important;
    }
    body.game-body .game-topbar { flex-wrap: wrap !important; align-items: stretch !important; }
    body.game-body .playfield { grid-template-columns: 1fr !important; height: auto !important; overflow: visible !important; gap: .7rem !important; }
    body.game-body .map-panel,
    body.game-body .game-map-panel,
    body.game-body #map { height: min(52svh, 520px) !important; min-height: 340px !important; }
    body.game-body .smartphone-wrap { height: min(72svh, 680px) !important; min-height: 520px !important; }
    body.game-body .phone-frame { width: min(100%, 430px) !important; height: 100% !important; margin-inline: auto !important; }
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        max-height: none !important;
        min-height: 300px !important;
        height: auto !important;
        overflow: hidden !important;
    }
    body.game-body .paged-fleet,
    body.game-body #taxiList.paged-fleet {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        height: auto !important;
        min-height: 220px !important;
        overflow: visible !important;
    }
}
@media (max-width: 680px) {
    body.game-body .dashboard-shell { border-radius: 18px !important; gap: .52rem !important; }
    body.game-body .game-topbar { display: grid !important; grid-template-columns: 1fr !important; gap: .45rem !important; }
    body.game-body .game-logo { min-width: 0 !important; width: 100% !important; justify-self: stretch !important; }
    body.game-body .top-resources { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .4rem !important; }
    body.game-body .resource-pill { min-width: 0 !important; width: 100% !important; }
    body.game-body .resource-pill small { font-size: .62rem !important; }
    body.game-body .resource-pill strong { font-size: .8rem !important; }
    body.game-body .icon-button { width: 40px !important; height: 40px !important; }
    body.game-body .map-panel,
    body.game-body .game-map-panel,
    body.game-body #map { height: 43svh !important; min-height: 300px !important; }
    body.game-body .smartphone-wrap { height: min(76svh, 640px) !important; min-height: 500px !important; }
    body.game-body .phone-frame { width: min(100%, 390px) !important; padding: 10px 8px 12px !important; border-radius: 42px !important; }
    body.game-body .phone-screen { border-radius: 30px !important; padding: .72rem .62rem !important; }
    body.game-body .phone-notch { width: 108px !important; height: 28px !important; }
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        min-height: 430px !important;
        padding: 2rem .58rem .7rem !important;
    }
    body.game-body .taximeter-label {
        min-width: calc(100% - 1rem) !important;
        max-width: calc(100% - 1rem) !important;
        font-size: .78rem !important;
        padding-inline: .8rem !important;
    }
    body.game-body .paged-fleet,
    body.game-body #taxiList.paged-fleet {
        grid-template-columns: 1fr !important;
        min-height: 350px !important;
        gap: .7rem !important;
    }
    body.game-body .fleet-card { min-width: 0 !important; }
    body.game-body .event-popup,
    body.game-body .rick-scene.scene-popup,
    body.game-body .hq-office-scene,
    body.game-body .workshop-scene { inset: .35rem !important; }
}

/* v4.68: Smartphone-Homescreen kompakter und echte Mobile-Freigabe */
body.auth-body .nophone-overlay,
body.game-body .nophone-overlay {
    display: none !important;
}
@media (max-width: 760px) {
    body.auth-body > *:not(.nophone-overlay),
    body.game-body > *:not(.nophone-overlay) {
        filter: none !important;
    }
}
body.game-body #phoneHome.phone-view {
    --phone-page-rows: 3;
}
body.game-body #phoneHome .phone-home-slider {
    height: calc(100% - clamp(24px, 4.8cqh, 34px)) !important;
}
body.game-body #phoneHome .phone-home-page,
body.game-body #phoneHome .phone-home-page.app-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--phone-page-rows, 3), minmax(0, 1fr)) !important;
    column-gap: clamp(6px, 2.1cqw, 14px) !important;
    row-gap: clamp(4px, 1.15cqh, 10px) !important;
    padding: clamp(3px, .95cqh, 9px) clamp(7px, 1.9cqw, 12px) clamp(6px, 1.25cqh, 11px) !important;
}
body.game-body #phoneHome .app-icon,
body.game-body #phoneHome .phone-home-page .app-icon {
    gap: clamp(3px, .65cqh, 6px) !important;
    justify-content: center !important;
}
body.game-body #phoneHome .app-icon span,
body.game-body #phoneHome .phone-home-page .app-icon span {
    width: clamp(42px, min(18cqw, 11cqh), 70px) !important;
    height: clamp(42px, min(18cqw, 11cqh), 70px) !important;
    border-radius: clamp(13px, 4.1cqw, 21px) !important;
}
body.game-body #phoneHome .app-icon b,
body.game-body #phoneHome .phone-home-page .app-icon b {
    min-height: 1.15em !important;
    max-height: 2.15em !important;
    font-size: clamp(.54rem, min(2.9cqw, 1.45cqh), .76rem) !important;
    line-height: 1.06 !important;
}
body.game-body #phoneHome[style*="--phone-page-rows: 2"] .app-icon span {
    width: clamp(48px, min(19cqw, 15cqh), 74px) !important;
    height: clamp(48px, min(19cqw, 15cqh), 74px) !important;
}
body.game-body #phoneHome[style*="--phone-page-rows: 1"] .app-icon span {
    width: clamp(54px, min(21cqw, 22cqh), 82px) !important;
    height: clamp(54px, min(21cqw, 22cqh), 82px) !important;
}
body.game-body #phoneHome .phone-home-dots {
    bottom: clamp(4px, 1.1cqh, 9px) !important;
}
body.game-body #phoneHome .phone-home-nav {
    bottom: clamp(3px, .95cqh, 8px) !important;
}
@media (max-width: 680px) {
    body.game-body .smartphone-wrap {
        height: min(82svh, 690px) !important;
        min-height: 500px !important;
    }
}

/* v4.68: Mobile Leitstelle sauberer: Topbar als Cockpit, Taximeter ohne Überlappung */
@media (max-width: 1180px) {
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        grid-template-columns: 1fr !important;
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
    }
    body.game-body .fleet-wrap {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }
    body.game-body .paged-fleet,
    body.game-body #taxiList.paged-fleet {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        align-items: stretch !important;
    }
    body.game-body .fleet-card {
        height: auto !important;
        min-height: 158px !important;
        max-height: none !important;
        overflow: hidden !important;
        align-content: stretch !important;
    }
    body.game-body .fleet-card-main {
        height: 100% !important;
        align-items: center !important;
    }
}

@media (max-width: 680px) {
    body.game-body .dashboard-shell {
        padding: .45rem !important;
        gap: .62rem !important;
        border-radius: 16px !important;
    }
    body.game-body .game-topbar {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .55rem !important;
        padding: .65rem !important;
        border-radius: 18px !important;
        background: linear-gradient(180deg, rgba(71,44,25,.96), rgba(20,12,7,.96)) !important;
        border: 1px solid rgba(255,219,137,.34) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 12px 26px rgba(0,0,0,.28) !important;
    }
    body.game-body .game-logo.image-logo {
        width: 100% !important;
        min-width: 0 !important;
        height: 58px !important;
        padding: .25rem !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 16px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }
    body.game-body .game-logo.image-logo img {
        max-height: 54px !important;
        max-width: 180px !important;
        object-fit: contain !important;
    }
    body.game-body .xp-widget {
        min-width: 0 !important;
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 48px minmax(0,1fr) !important;
        align-items: center !important;
        gap: .45rem !important;
        padding: .34rem .45rem !important;
        border-radius: 15px !important;
        background: rgba(0,0,0,.2) !important;
        border: 1px solid rgba(255,219,137,.18) !important;
    }
    body.game-body .level-star {
        width: 46px !important;
        height: 46px !important;
        font-size: .9rem !important;
    }
    body.game-body .xp-bar {
        height: 22px !important;
        min-width: 0 !important;
    }
    body.game-body #topReputation,
    body.game-body .reputation-top {
        width: 100% !important;
        min-height: 48px !important;
        padding: .42rem .7rem !important;
        border-radius: 16px !important;
        justify-content: flex-start !important;
        gap: .38rem !important;
    }
    body.game-body .top-resources {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: .45rem !important;
        align-items: stretch !important;
    }
    body.game-body .top-resources .resource-pill.money,
    body.game-body .top-resources .top-menu-button-image {
        grid-column: span 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 48px !important;
        min-height: 48px !important;
        border-radius: 14px !important;
    }
    body.game-body .top-resources .resource-pill.money {
        padding: .35rem .45rem !important;
        justify-content: center !important;
    }
    body.game-body .top-resources .resource-pill.money .money-icon {
        width: 30px !important;
        height: 30px !important;
        font-size: 0 !important;
    }
    body.game-body .top-resources .resource-pill.money .money-icon img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }
    body.game-body .top-resources .resource-pill.money strong {
        font-size: .86rem !important;
    }
    body.game-body .top-resources .mini-plus {
        width: 30px !important;
        height: 30px !important;
        border-radius: 10px !important;
    }
    body.game-body .top-resources .top-menu-button-image {
        display: grid !important;
        place-items: center !important;
        padding: .35rem !important;
    }
    body.game-body .top-resources .top-menu-button-image .top-menu-button-img {
        width: min(132px, 100%) !important;
        max-width: 132px !important;
        height: 34px !important;
        object-fit: contain !important;
    }
    body.game-body .top-resources .icon-button,
    body.game-body .top-resources a.icon-button,
    body.game-body .top-resources button.icon-button {
        width: 100% !important;
        height: 44px !important;
        min-width: 0 !important;
        border-radius: 14px !important;
        display: grid !important;
        place-items: center !important;
        font-size: 1rem !important;
    }
    body.game-body .icon-button em {
        right: -4px !important;
        top: -7px !important;
        transform: scale(.92) !important;
    }

    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        display: block !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        padding: 2.25rem .6rem .72rem !important;
        overflow: visible !important;
        border-radius: 18px !important;
    }
    body.game-body .taximeter-label {
        top: .5rem !important;
        min-width: calc(100% - 1.1rem) !important;
        max-width: calc(100% - 1.1rem) !important;
        padding: .32rem .55rem !important;
        border-radius: 999px !important;
        font-size: .76rem !important;
        line-height: 1 !important;
        letter-spacing: .08em !important;
    }
    body.game-body .fleet-wrap {
        height: auto !important;
        min-height: 0 !important;
        padding-top: 0 !important;
        overflow: visible !important;
    }
    body.game-body .fleet-pagebar {
        height: 26px !important;
        min-height: 26px !important;
        margin: 0 0 .45rem !important;
        font-size: .78rem !important;
    }
    body.game-body .fleet-page-btn {
        width: 30px !important;
        height: 25px !important;
    }
    body.game-body .paged-fleet,
    body.game-body #taxiList.paged-fleet {
        grid-template-columns: 1fr !important;
        grid-auto-rows: auto !important;
        gap: .58rem !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }
    body.game-body .fleet-card,
    body.game-body #taxiList.paged-fleet .fleet-card {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 146px !important;
        max-height: none !important;
        padding: .62rem !important;
        border-radius: 16px !important;
        display: grid !important;
        align-content: stretch !important;
        overflow: hidden !important;
    }
    body.game-body .fleet-card.parking-empty {
        min-height: 118px !important;
        place-items: center !important;
    }
    body.game-body .fleet-card-main {
        display: grid !important;
        grid-template-columns: 88px minmax(0,1fr) !important;
        gap: .58rem !important;
        align-items: center !important;
        height: auto !important;
        min-height: 110px !important;
    }
    body.game-body .fleet-card .fleet-car-thumb {
        min-width: 0 !important;
        width: 88px !important;
        min-height: 96px !important;
        display: grid !important;
        place-items: center !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img,
    body.game-body .fleet-card img.fleet-car-image {
        height: 58px !important;
        max-width: 82px !important;
        object-fit: contain !important;
    }
    body.game-body .fleet-card-info {
        min-width: 0 !important;
        overflow: hidden !important;
    }
    body.game-body .fleet-card strong {
        font-size: .88rem !important;
        line-height: 1.05 !important;
    }
    body.game-body .fleet-card small,
    body.game-body .fleet-card .fleet-meta {
        font-size: .62rem !important;
        line-height: 1.12 !important;
    }
    body.game-body .fleet-card .progress-row {
        grid-template-columns: minmax(0,1fr) auto !important;
        margin-top: .22rem !important;
    }
    body.game-body .fleet-card .countdown-pill {
        min-width: 52px !important;
        font-size: .66rem !important;
        padding-inline: .22rem !important;
    }
}

@media (max-width: 390px) {
    body.game-body .fleet-card-main {
        grid-template-columns: 74px minmax(0,1fr) !important;
        gap: .45rem !important;
    }
    body.game-body .fleet-card .fleet-car-thumb {
        width: 74px !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img,
    body.game-body .fleet-card img.fleet-car-image {
        max-width: 70px !important;
        height: 52px !important;
    }
    body.game-body .fleet-card strong { font-size: .8rem !important; }
    body.game-body .fleet-card small,
    body.game-body .fleet-card .fleet-meta { font-size: .58rem !important; }
}

/* v4.68: Handy-Taxameter 1 Karte, mobile Popups, LevelUp und XP-Flug */
body.game-body .xp-widget.xp-widget-glow {
    animation: xpWidgetGlowV464 1.15s ease both;
}
@keyframes xpWidgetGlowV464 {
    0% { filter: brightness(1); box-shadow: inherit; }
    28% { filter: brightness(1.2); box-shadow: 0 0 0 2px rgba(255,222,102,.20), 0 0 34px rgba(255,204,65,.54), inset 0 1px 0 rgba(255,255,255,.18); }
    100% { filter: brightness(1); box-shadow: inherit; }
}
body.game-body .xp-fly-particle {
    position: fixed;
    z-index: 99999;
    pointer-events: none;
    padding: .34rem .56rem;
    border-radius: 999px;
    background: linear-gradient(#fff0a8, #f4af25 62%, #ad6412);
    border: 1px solid rgba(255,244,183,.82);
    color: #1b0d03;
    font-weight: 1000;
    font-size: .78rem;
    white-space: nowrap;
    box-shadow: 0 10px 24px rgba(0,0,0,.34), 0 0 22px rgba(255,205,70,.38);
    transform: translate(-50%, -50%);
    animation: xpFlyToBarV464 .9s cubic-bezier(.2,.82,.2,1) forwards;
}
@keyframes xpFlyToBarV464 {
    0% { opacity: 0; transform: translate(-50%, -50%) scale(.78); }
    14% { opacity: 1; transform: translate(-50%, -80%) scale(1.08); }
    100% { opacity: 0; transform: translate(calc(-50% + var(--xp-target-x)), calc(-50% + var(--xp-target-y))) scale(.62); }
}
body.game-body .levelup-popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 99000;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: radial-gradient(circle at 50% 34%, rgba(255,206,72,.28), transparent 35rem), rgba(0,0,0,.68);
    backdrop-filter: blur(5px);
}
body.game-body .levelup-popup-overlay.closing { opacity: 0; transition: opacity .18s ease; }
body.game-body .levelup-popup-card {
    position: relative;
    width: min(620px, calc(100vw - 2rem));
    overflow: hidden;
    padding: 1.35rem;
    border-radius: 32px;
    border: 1px solid rgba(255,222,122,.72);
    background: radial-gradient(circle at 20% 10%, rgba(255,233,130,.20), transparent 16rem), linear-gradient(145deg, rgba(82,42,12,.98), rgba(29,13,8,.98));
    color: #fff5d7;
    box-shadow: 0 28px 82px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.14);
    text-align: center;
}
body.game-body .levelup-badge {
    width: 86px;
    height: 86px;
    margin: 0 auto .65rem;
    display: grid;
    place-items: center;
    border-radius: 28px;
    background: linear-gradient(#ffe99f, #f7a91f 60%, #9e5d11);
    box-shadow: 0 20px 38px rgba(0,0,0,.35), 0 0 36px rgba(255,204,70,.36);
    font-size: 2.5rem;
    transform: rotate(-5deg);
}
body.game-body .levelup-popup-card h2 {
    margin: .25rem 0 .45rem;
    color: #ffe89a;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: .96;
}
body.game-body .levelup-popup-card p { margin: 0 auto 1rem; max-width: 46rem; color: rgba(255,247,220,.88); }
body.game-body .levelup-reward-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
body.game-body .levelup-close { right: .85rem !important; top: .85rem !important; }

@media (max-width: 680px) {
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        padding: 2.15rem .5rem .62rem !important;
    }
    body.game-body .paged-fleet,
    body.game-body #taxiList.paged-fleet {
        grid-template-columns: 1fr !important;
        gap: .5rem !important;
    }
    body.game-body .fleet-card,
    body.game-body #taxiList.paged-fleet .fleet-card {
        min-height: 160px !important;
        margin: 0 !important;
    }
    body.game-body .fleet-card-main {
        grid-template-columns: 94px minmax(0,1fr) !important;
        min-height: 122px !important;
    }
    body.game-body .fleet-pagebar {
        margin-bottom: .38rem !important;
    }

    body.game-body .scene-popup,
    body.game-body .store-purchase-scene.scene-popup,
    body.game-body .bank-scene.scene-popup,
    body.game-body .rick-scene.scene-popup,
    body.game-body .workshop-scene.scene-popup,
    body.game-body .dealer-scene.scene-popup,
    body.game-body .gas-scene.scene-popup,
    body.game-body .assistance-scene.scene-popup {
        width: calc(100vw - 18px) !important;
        height: min(78svh, 720px) !important;
        max-height: 78svh !important;
        aspect-ratio: auto !important;
        border-radius: 24px !important;
    }
    body.game-body .scene-popup .scene-character,
    body.game-body .scene-popup .enrico-figure,
    body.game-body .scene-popup .pauline-figure,
    body.game-body .scene-popup .dealer-figure,
    body.game-body .scene-popup .assistance-figure,
    body.game-body .scene-popup .rick-figure,
    body.game-body .scene-popup .bank-figure,
    body.game-body .store-purchase-scene.scene-popup .store-dealer-figure {
        display: none !important;
    }
    body.game-body .scene-popup::before,
    body.game-body .store-purchase-scene.scene-popup::before,
    body.game-body .bank-scene.scene-popup::before {
        background-image: linear-gradient(180deg, rgba(0,0,0,.38), rgba(0,0,0,.78)), var(--scene-bg, url('../img/background_city.png')) !important;
    }
    body.game-body .scene-popup .scene-dialogue,
    body.game-body .scene-popup .enrico-dialogue,
    body.game-body .scene-popup .pauline-dialogue,
    body.game-body .scene-popup .dealer-dialogue,
    body.game-body .scene-popup .assistance-dialogue,
    body.game-body .scene-popup .rick-dialogue,
    body.game-body .scene-popup .bank-dialogue,
    body.game-body .store-purchase-scene.scene-popup .store-purchase-dialogue {
        left: 50% !important;
        right: auto !important;
        top: 50% !important;
        bottom: auto !important;
        width: calc(100% - 1.4rem) !important;
        max-width: calc(100% - 1.4rem) !important;
        max-height: calc(100% - 6rem) !important;
        transform: translate(-50%, -50%) !important;
        padding: 1rem !important;
        border-radius: 24px !important;
        font-size: clamp(.95rem, 3.5vw, 1.08rem) !important;
        text-align: left !important;
        background: rgba(45,22,10,.88) !important;
        backdrop-filter: blur(14px) !important;
    }
    body.game-body .scene-popup .scene-dialogue > strong,
    body.game-body .scene-popup .enrico-dialogue > strong,
    body.game-body .scene-popup .pauline-dialogue > strong,
    body.game-body .scene-popup .dealer-dialogue > strong,
    body.game-body .scene-popup .assistance-dialogue > strong,
    body.game-body .scene-popup .rick-dialogue > strong,
    body.game-body .scene-popup .bank-dialogue > strong {
        font-size: clamp(1.45rem, 6vw, 2rem) !important;
        line-height: 1.04 !important;
    }
    body.game-body .scene-popup .workshop-close,
    body.game-body .scene-popup .dealer-close,
    body.game-body .scene-popup .gas-close,
    body.game-body .scene-popup .bank-close,
    body.game-body .rick-close,
    body.game-body .store-purchase-close {
        right: .75rem !important;
        top: .75rem !important;
        width: 48px !important;
        height: 48px !important;
        border-radius: 18px !important;
    }
    body.game-body .levelup-popup-card { padding: 1.05rem; border-radius: 26px; }
    body.game-body .levelup-badge { width: 72px; height: 72px; border-radius: 24px; font-size: 2rem; }
}

/* v4.68: Vanessa, größere Smartphone-Apps, saubere Badges und mobile Dialog-Popups */
body.game-body #phoneHome .phone-home-page,
body.game-body #phoneHome .phone-home-page.app-grid {
    column-gap: clamp(10px, 2.5cqw, 18px) !important;
    row-gap: clamp(8px, 1.55cqh, 14px) !important;
}
body.game-body #phoneHome .app-icon span,
body.game-body #phoneHome .phone-home-page .app-icon span {
    width: clamp(56px, min(19.5cqw, 13.2cqh), 82px) !important;
    height: clamp(56px, min(19.5cqw, 13.2cqh), 82px) !important;
    border-radius: clamp(17px, 4.4cqw, 24px) !important;
}
body.game-body #phoneHome[style*="--phone-page-rows: 2"] .app-icon span,
body.game-body #phoneHome[style*="--phone-page-rows: 1"] .app-icon span {
    width: clamp(62px, min(21cqw, 19cqh), 88px) !important;
    height: clamp(62px, min(21cqw, 19cqh), 88px) !important;
}
body.game-body #phoneHome .app-icon b,
body.game-body #phoneHome .phone-home-page .app-icon b {
    margin-top: clamp(2px, .45cqh, 5px) !important;
    font-size: clamp(.62rem, min(3.15cqw, 1.55cqh), .86rem) !important;
    line-height: 1.05 !important;
}
body.game-body #phoneHome .app-icon > .app-notification-badge,
body.game-body #phoneHome .app-icon[data-open-app="orders"] > .app-notification-badge,
body.game-body #phoneHome .app-icon[data-open-app="mail"] > .app-notification-badge,
body.game-body #phoneHome .mail-app-icon > .app-notification-badge,
body.game-body .phone-screen .app-icon > .app-notification-badge {
    top: clamp(-9px, -1.6cqh, -5px) !important;
    left: calc(50% + clamp(16px, 5.7cqw, 28px)) !important;
    width: clamp(18px, 5.4cqw, 23px) !important;
    min-width: clamp(18px, 5.4cqw, 23px) !important;
    max-width: clamp(18px, 5.4cqw, 23px) !important;
    height: clamp(18px, 5.4cqw, 23px) !important;
    min-height: clamp(18px, 5.4cqw, 23px) !important;
    max-height: clamp(18px, 5.4cqw, 23px) !important;
    font-size: clamp(9px, 2.45cqw, 11px) !important;
    transform: translate(-50%, 0) !important;
}

@media (max-width: 900px) {
    body.game-body .scene-popup,
    body.game-body .store-purchase-scene.scene-popup,
    body.game-body .bank-scene.scene-popup,
    body.game-body .rick-scene.scene-popup,
    body.game-body .workshop-scene.scene-popup,
    body.game-body .dealer-scene.scene-popup,
    body.game-body .gas-scene.scene-popup,
    body.game-body .assistance-scene.scene-popup,
    body.game-body .jobcenter-scene.scene-popup {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        border: 0 !important;
        z-index: 99970 !important;
        background: #120807 !important;
    }
    body.game-body .scene-popup::before,
    body.game-body .store-purchase-scene.scene-popup::before,
    body.game-body .bank-scene.scene-popup::before,
    body.game-body .rick-scene.scene-popup::before,
    body.game-body .workshop-scene.scene-popup::before,
    body.game-body .dealer-scene.scene-popup::before,
    body.game-body .gas-scene.scene-popup::before,
    body.game-body .assistance-scene.scene-popup::before,
    body.game-body .jobcenter-scene.scene-popup::before {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background-image: linear-gradient(180deg, rgba(0,0,0,.14) 0%, rgba(0,0,0,.10) 38%, rgba(0,0,0,.54) 100%), var(--scene-bg, url('../img/background_city.png')) !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: none !important;
    }
    body.game-body .scene-popup .workshop-stage,
    body.game-body .scene-popup .dealer-stage,
    body.game-body .scene-popup .gas-stage,
    body.game-body .scene-popup .assistance-stage,
    body.game-body .scene-popup .bank-stage,
    body.game-body .scene-popup .jobcenter-stage,
    body.game-body .scene-popup .store-purchase-stage {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        overflow: hidden !important;
        transform: none !important;
        pointer-events: none !important;
    }
    body.game-body .scene-popup .scene-character,
    body.game-body .scene-popup .enrico-figure,
    body.game-body .scene-popup .pauline-figure,
    body.game-body .scene-popup .dealer-figure,
    body.game-body .scene-popup .assistance-figure,
    body.game-body .scene-popup .rick-figure,
    body.game-body .scene-popup .bank-figure,
    body.game-body .scene-popup .jobcenter-figure,
    body.game-body .store-purchase-scene.scene-popup .store-dealer-figure {
        display: block !important;
        position: absolute !important;
        z-index: 3 !important;
        top: max(54px, env(safe-area-inset-top)) !important;
        right: clamp(6px, 2.8vw, 28px) !important;
        left: auto !important;
        bottom: auto !important;
        width: min(45vw, 255px) !important;
        max-width: 48vw !important;
        height: auto !important;
        max-height: 38dvh !important;
        object-fit: contain !important;
        object-position: right top !important;
        opacity: .98 !important;
        transform: none !important;
        filter: drop-shadow(0 22px 28px rgba(0,0,0,.45)) !important;
        pointer-events: none !important;
    }
    body.game-body .gas-scene .pauline-figure {
        width: min(48vw, 285px) !important;
        max-height: 42dvh !important;
        top: max(42px, env(safe-area-inset-top)) !important;
    }
    body.game-body .scene-popup .scene-dialogue,
    body.game-body .scene-popup .enrico-dialogue,
    body.game-body .scene-popup .pauline-dialogue,
    body.game-body .scene-popup .dealer-dialogue,
    body.game-body .scene-popup .assistance-dialogue,
    body.game-body .scene-popup .rick-dialogue,
    body.game-body .scene-popup .bank-dialogue,
    body.game-body .scene-popup .jobcenter-dialogue,
    body.game-body .store-purchase-scene.scene-popup .store-purchase-dialogue {
        position: absolute !important;
        z-index: 5 !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: max(18px, calc(env(safe-area-inset-bottom) + 14px)) !important;
        width: min(92vw, 620px) !important;
        max-width: min(92vw, 620px) !important;
        min-height: min(34dvh, 260px) !important;
        max-height: min(58dvh, 560px) !important;
        overflow-y: auto !important;
        transform: translateX(-50%) !important;
        margin: 0 !important;
        padding: clamp(1.2rem, 4.2vw, 2rem) !important;
        border-radius: clamp(28px, 7vw, 44px) !important;
        border: 2px solid rgba(255,154,60,.45) !important;
        background: linear-gradient(180deg, #ff8a20 0%, #ff6f18 52%, #f35d0f 100%) !important;
        color: #1d0901 !important;
        box-shadow: 0 26px 80px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.25) !important;
        backdrop-filter: none !important;
        pointer-events: auto !important;
    }
    body.game-body .scene-popup .scene-dialogue > strong,
    body.game-body .scene-popup .enrico-dialogue > strong,
    body.game-body .scene-popup .pauline-dialogue > strong,
    body.game-body .scene-popup .dealer-dialogue > strong,
    body.game-body .scene-popup .assistance-dialogue > strong,
    body.game-body .scene-popup .rick-dialogue > strong,
    body.game-body .scene-popup .bank-dialogue > strong,
    body.game-body .scene-popup .jobcenter-dialogue > strong {
        display: block !important;
        margin: 0 0 .55rem !important;
        color: #1d0901 !important;
        font-size: clamp(1.55rem, 7vw, 2.45rem) !important;
        line-height: .98 !important;
        text-shadow: none !important;
    }
    body.game-body .scene-popup .scene-dialogue p,
    body.game-body .scene-popup .enrico-dialogue p,
    body.game-body .scene-popup .pauline-dialogue p,
    body.game-body .scene-popup .dealer-dialogue p,
    body.game-body .scene-popup .assistance-dialogue p,
    body.game-body .scene-popup .rick-dialogue p,
    body.game-body .scene-popup .bank-dialogue p,
    body.game-body .scene-popup .jobcenter-dialogue p {
        color: #2b0f02 !important;
        font-size: clamp(1rem, 4.2vw, 1.25rem) !important;
        line-height: 1.28 !important;
        text-shadow: none !important;
    }
    body.game-body .scene-popup .button,
    body.game-body .scene-popup button:not(.workshop-close):not(.dealer-close):not(.gas-close):not(.bank-close):not(.rick-close):not(.store-purchase-close) {
        min-height: 44px !important;
        border-radius: 18px !important;
    }
    body.game-body .scene-popup .workshop-close,
    body.game-body .scene-popup .dealer-close,
    body.game-body .scene-popup .gas-close,
    body.game-body .scene-popup .bank-close,
    body.game-body .rick-close,
    body.game-body .store-purchase-close,
    body.game-body #closeWorkshopScene,
    body.game-body #closeDealerScene,
    body.game-body #closeGasScene,
    body.game-body #closeAssistanceScene,
    body.game-body #closeBankScene,
    body.game-body #closeStorePurchaseScene,
    body.game-body #closeJobcenterScene {
        position: absolute !important;
        top: max(14px, env(safe-area-inset-top)) !important;
        right: max(14px, env(safe-area-inset-right)) !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 20 !important;
        width: 64px !important;
        height: 64px !important;
        border-radius: 22px !important;
        display: grid !important;
        place-items: center !important;
        background: #ff7417 !important;
        color: #160700 !important;
        border: 0 !important;
        box-shadow: 0 16px 34px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.26) !important;
        font-size: 2rem !important;
        line-height: 1 !important;
        transform: none !important;
        pointer-events: auto !important;
    }
}

@media (max-width: 420px) {
    body.game-body #phoneHome .app-icon span,
    body.game-body #phoneHome .phone-home-page .app-icon span {
        width: clamp(54px, 20cqw, 76px) !important;
        height: clamp(54px, 20cqw, 76px) !important;
    }
    body.game-body #phoneHome .app-icon > .app-notification-badge,
    body.game-body .phone-screen .app-icon > .app-notification-badge {
        left: calc(50% + clamp(15px, 6.2cqw, 25px)) !important;
    }
}

/* v4.68: Mobile Dialog-Popups repariert – Vollbild ohne Verschiebung, normale Dialogfarben statt Orange */
@media (max-width: 900px) {
    body.game-body .scene-popup,
    body.game-body .store-purchase-scene.scene-popup,
    body.game-body .bank-scene.scene-popup,
    body.game-body .rick-scene.scene-popup,
    body.game-body .workshop-scene.scene-popup,
    body.game-body .dealer-scene.scene-popup,
    body.game-body .gas-scene.scene-popup,
    body.game-body .assistance-scene.scene-popup,
    body.game-body .jobcenter-scene.scene-popup,
    body.game-body .hq-office-scene.scene-popup {
        position: fixed !important;
        left: 0 !important;
        top: 0 !important;
        right: auto !important;
        bottom: auto !important;
        inset: 0 auto auto 0 !important;
        width: 100vw !important;
        min-width: 100vw !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        aspect-ratio: auto !important;
        transform: none !important;
        translate: none !important;
        scale: none !important;
        border-radius: 0 !important;
        border: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        box-shadow: 0 0 0 100vmax rgba(0,0,0,.78) !important;
        background: #120907 !important;
        z-index: 99980 !important;
    }
    body.game-body .scene-popup.scene-opening,
    body.game-body .store-purchase-scene.scene-popup.scene-opening,
    body.game-body .bank-scene.scene-popup.scene-opening,
    body.game-body .rick-scene.scene-popup.scene-opening,
    body.game-body .workshop-scene.scene-popup.scene-opening,
    body.game-body .dealer-scene.scene-popup.scene-opening,
    body.game-body .gas-scene.scene-popup.scene-opening,
    body.game-body .assistance-scene.scene-popup.scene-opening,
    body.game-body .jobcenter-scene.scene-popup.scene-opening {
        animation: mobileSceneFadeInV466 .22s ease-out both !important;
        transform: none !important;
    }
    body.game-body .scene-popup.scene-closing-down,
    body.game-body .store-purchase-scene.scene-popup.scene-closing-down {
        animation: mobileSceneFadeOutV466 .18s ease-in both !important;
        transform: none !important;
    }
    @keyframes mobileSceneFadeInV466 {
        from { opacity: 0; }
        to { opacity: 1; }
    }
    @keyframes mobileSceneFadeOutV466 {
        from { opacity: 1; }
        to { opacity: 0; }
    }
    body.game-body .scene-popup::before,
    body.game-body .store-purchase-scene.scene-popup::before,
    body.game-body .bank-scene.scene-popup::before,
    body.game-body .rick-scene.scene-popup::before,
    body.game-body .workshop-scene.scene-popup::before,
    body.game-body .dealer-scene.scene-popup::before,
    body.game-body .gas-scene.scene-popup::before,
    body.game-body .assistance-scene.scene-popup::before,
    body.game-body .jobcenter-scene.scene-popup::before,
    body.game-body .hq-office-scene.scene-popup::before {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 0 !important;
        background-image: linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.12) 42%, rgba(0,0,0,.70) 100%), var(--scene-bg, url('../img/background_city.png')) !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: none !important;
    }
    body.game-body .scene-popup .workshop-stage,
    body.game-body .scene-popup .dealer-stage,
    body.game-body .scene-popup .gas-stage,
    body.game-body .scene-popup .assistance-stage,
    body.game-body .scene-popup .bank-stage,
    body.game-body .scene-popup .rick-stage,
    body.game-body .scene-popup .jobcenter-stage,
    body.game-body .scene-popup .hq-office-stage,
    body.game-body .scene-popup .store-purchase-stage,
    body.game-body .store-purchase-scene.scene-popup .store-purchase-stage {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        display: block !important;
        overflow: hidden !important;
        transform: none !important;
        pointer-events: none !important;
        z-index: 2 !important;
    }
    body.game-body .scene-popup .scene-character,
    body.game-body .scene-popup .enrico-figure,
    body.game-body .scene-popup .pauline-figure,
    body.game-body .scene-popup .dealer-figure,
    body.game-body .scene-popup .assistance-figure,
    body.game-body .scene-popup .rick-figure,
    body.game-body .scene-popup .bank-figure,
    body.game-body .scene-popup .jobcenter-figure,
    body.game-body .store-purchase-scene.scene-popup .store-dealer-figure {
        display: block !important;
        position: absolute !important;
        z-index: 3 !important;
        top: max(58px, calc(env(safe-area-inset-top) + 40px)) !important;
        right: clamp(8px, 4vw, 28px) !important;
        left: auto !important;
        bottom: auto !important;
        width: min(44vw, 245px) !important;
        max-width: 46vw !important;
        height: auto !important;
        max-height: 38dvh !important;
        object-fit: contain !important;
        object-position: right top !important;
        opacity: .98 !important;
        transform: none !important;
        filter: drop-shadow(0 22px 28px rgba(0,0,0,.48)) !important;
        pointer-events: none !important;
    }
    body.game-body .gas-scene .pauline-figure {
        width: min(48vw, 285px) !important;
        max-height: 42dvh !important;
        top: max(46px, calc(env(safe-area-inset-top) + 32px)) !important;
    }
    body.game-body .scene-popup .scene-dialogue,
    body.game-body .scene-popup .enrico-dialogue,
    body.game-body .scene-popup .pauline-dialogue,
    body.game-body .scene-popup .dealer-dialogue,
    body.game-body .scene-popup .assistance-dialogue,
    body.game-body .scene-popup .rick-dialogue,
    body.game-body .scene-popup .bank-dialogue,
    body.game-body .scene-popup .jobcenter-dialogue,
    body.game-body .scene-popup .hq-office-dialogue,
    body.game-body .store-purchase-scene.scene-popup .store-purchase-dialogue {
        position: absolute !important;
        z-index: 5 !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: max(18px, calc(env(safe-area-inset-bottom) + 16px)) !important;
        width: min(92vw, 620px) !important;
        min-width: 0 !important;
        max-width: min(92vw, 620px) !important;
        min-height: min(30dvh, 240px) !important;
        max-height: min(56dvh, 540px) !important;
        overflow-y: auto !important;
        transform: translateX(-50%) !important;
        margin: 0 !important;
        padding: clamp(1.05rem, 4vw, 1.75rem) !important;
        border-radius: clamp(24px, 6vw, 38px) !important;
        border: 1px solid rgba(255,218,122,.36) !important;
        background: linear-gradient(180deg, rgba(53,28,13,.94), rgba(24,10,5,.94)) !important;
        color: #fff4d6 !important;
        box-shadow: 0 26px 80px rgba(0,0,0,.56), inset 0 1px 0 rgba(255,255,255,.08) !important;
        backdrop-filter: blur(16px) !important;
        pointer-events: auto !important;
    }
    body.game-body .scene-popup .scene-dialogue > strong,
    body.game-body .scene-popup .enrico-dialogue > strong,
    body.game-body .scene-popup .pauline-dialogue > strong,
    body.game-body .scene-popup .dealer-dialogue > strong,
    body.game-body .scene-popup .assistance-dialogue > strong,
    body.game-body .scene-popup .rick-dialogue > strong,
    body.game-body .scene-popup .bank-dialogue > strong,
    body.game-body .scene-popup .jobcenter-dialogue > strong,
    body.game-body .scene-popup .hq-office-dialogue > strong,
    body.game-body .store-purchase-scene.scene-popup .store-dealer-line > strong {
        display: block !important;
        margin: 0 0 .55rem !important;
        color: #ffe28a !important;
        font-size: clamp(1.45rem, 6.3vw, 2.35rem) !important;
        line-height: 1.02 !important;
        text-shadow: 0 3px 12px rgba(0,0,0,.4) !important;
    }
    body.game-body .scene-popup .scene-dialogue p,
    body.game-body .scene-popup .enrico-dialogue p,
    body.game-body .scene-popup .pauline-dialogue p,
    body.game-body .scene-popup .dealer-dialogue p,
    body.game-body .scene-popup .assistance-dialogue p,
    body.game-body .scene-popup .rick-dialogue p,
    body.game-body .scene-popup .bank-dialogue p,
    body.game-body .scene-popup .jobcenter-dialogue p,
    body.game-body .store-purchase-scene.scene-popup .store-dealer-line p {
        color: #fff1d0 !important;
        font-size: clamp(.98rem, 4vw, 1.22rem) !important;
        line-height: 1.32 !important;
        text-shadow: 0 2px 10px rgba(0,0,0,.34) !important;
    }
    body.game-body .scene-popup .button,
    body.game-body .scene-popup button:not(.workshop-close):not(.dealer-close):not(.gas-close):not(.bank-close):not(.rick-close):not(.store-purchase-close):not(.jobcenter-close),
    body.game-body .store-purchase-scene.scene-popup .button {
        min-height: 44px !important;
        border-radius: 18px !important;
    }
    body.game-body .scene-popup .workshop-close,
    body.game-body .scene-popup .dealer-close,
    body.game-body .scene-popup .gas-close,
    body.game-body .scene-popup .bank-close,
    body.game-body .scene-popup .jobcenter-close,
    body.game-body .rick-close,
    body.game-body .store-purchase-close,
    body.game-body #closeWorkshopScene,
    body.game-body #closeDealerScene,
    body.game-body #closeGasScene,
    body.game-body #closeAssistanceScene,
    body.game-body #closeBankScene,
    body.game-body #closeStorePurchaseScene,
    body.game-body #closeJobcenterScene {
        position: absolute !important;
        top: max(14px, env(safe-area-inset-top)) !important;
        right: max(14px, env(safe-area-inset-right)) !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 20 !important;
        width: 58px !important;
        height: 58px !important;
        border-radius: 20px !important;
        display: grid !important;
        place-items: center !important;
        background: linear-gradient(180deg, rgba(72,42,18,.96), rgba(38,20,8,.96)) !important;
        color: #fff1c8 !important;
        border: 1px solid rgba(255,218,122,.42) !important;
        box-shadow: 0 16px 34px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08) !important;
        font-size: 2rem !important;
        line-height: 1 !important;
        transform: none !important;
        pointer-events: auto !important;
    }
}

/* v4.68: Rechtliches/Cookie-Banner, Vanessa-Migration-Fix und Smartphone-Badges */
.auth-legal-footer {
    width: min(960px, calc(100vw - 2rem));
    margin: 0 auto 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .55rem .85rem;
    color: rgba(255,239,204,.76);
    font-size: .88rem;
}
.auth-legal-footer a,
.auth-legal-footer button {
    color: rgba(255,239,204,.86);
    text-decoration: none;
    background: rgba(42,24,12,.72);
    border: 1px solid rgba(255,217,129,.18);
    border-radius: 999px;
    padding: .48rem .72rem;
    font: inherit;
    cursor: pointer;
}
.auth-legal-footer a:hover,
.auth-legal-footer button:hover { color: #ffe28a; border-color: rgba(255,217,129,.44); }
.legal-public-wrap {
    width: min(980px, calc(100vw - 2rem));
    margin: clamp(1rem, 4vw, 3rem) auto 1rem;
}
.legal-public-card,
.legal-admin-card {
    border: 1px solid rgba(255,217,129,.22);
    background: linear-gradient(145deg, rgba(55,31,16,.94), rgba(20,12,7,.96));
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08);
    padding: clamp(1rem, 3vw, 1.75rem);
    color: #fff1d0;
}
.legal-public-card h1 { margin: 1rem 0; color: #ffe28a; }
.legal-public-content { line-height: 1.65; color: rgba(255,244,219,.92); }
.legal-public-content a { color: #ffe28a; }
.legal-admin-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.legal-editor-form textarea {
    width: 100%;
    min-height: 420px;
    resize: vertical;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    line-height: 1.45;
}
.legal-editor-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: .4rem 0 .6rem;
}
.legal-editor-toolbar button {
    border: 1px solid rgba(255,217,129,.26);
    border-radius: 12px;
    padding: .44rem .65rem;
    background: rgba(255,255,255,.07);
    color: #fff1d0;
    cursor: pointer;
}
.cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100000;
    padding: .9rem;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, transparent, rgba(0,0,0,.68));
}
.cookie-banner.hidden { display: none !important; }
.cookie-card {
    width: min(760px, calc(100vw - 1rem));
    border: 1px solid rgba(255,217,129,.35);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(58,32,15,.98), rgba(18,10,6,.98));
    box-shadow: 0 18px 60px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.1);
    color: #fff0cc;
    padding: 1rem;
}
.cookie-card strong { display: block; color: #ffe28a; font-size: 1.08rem; margin-bottom: .35rem; }
.cookie-card p { margin: 0 0 .75rem; color: rgba(255,239,204,.86); line-height: 1.45; }
.cookie-card small { color: rgba(255,239,204,.72); }
.cookie-card small a { color: #ffe28a; }
.cookie-options {
    display: grid;
    gap: .45rem;
    margin: .7rem 0;
    padding: .7rem;
    border-radius: 16px;
    background: rgba(255,255,255,.06);
}
.cookie-options.hidden { display: none !important; }
.cookie-options label { display: flex; gap: .5rem; align-items: center; color: rgba(255,239,204,.9); }
.cookie-options span { opacity: .7; font-size: .82em; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; margin-top: .75rem; }

@media (max-width: 900px) {
    body.game-body .scene-popup .scene-dialogue,
    body.game-body .scene-popup .enrico-dialogue,
    body.game-body .scene-popup .pauline-dialogue,
    body.game-body .scene-popup .dealer-dialogue,
    body.game-body .scene-popup .assistance-dialogue,
    body.game-body .scene-popup .rick-dialogue,
    body.game-body .scene-popup .bank-dialogue,
    body.game-body .scene-popup .jobcenter-dialogue,
    body.game-body .store-purchase-scene.scene-popup .store-purchase-dialogue {
        border: 1px solid rgba(255,214,105,.50) !important;
        background: linear-gradient(145deg, rgba(58,30,13,.92), rgba(20,10,6,.94)) !important;
        color: #fff1d0 !important;
        box-shadow: 0 26px 80px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.12) !important;
        backdrop-filter: blur(14px) !important;
    }
    body.game-body .scene-popup .scene-dialogue > strong,
    body.game-body .scene-popup .enrico-dialogue > strong,
    body.game-body .scene-popup .pauline-dialogue > strong,
    body.game-body .scene-popup .dealer-dialogue > strong,
    body.game-body .scene-popup .assistance-dialogue > strong,
    body.game-body .scene-popup .rick-dialogue > strong,
    body.game-body .scene-popup .bank-dialogue > strong,
    body.game-body .scene-popup .jobcenter-dialogue > strong {
        color: #ffe78b !important;
        text-shadow: 0 3px 13px rgba(0,0,0,.5) !important;
    }
    body.game-body .scene-popup .scene-dialogue p,
    body.game-body .scene-popup .enrico-dialogue p,
    body.game-body .scene-popup .pauline-dialogue p,
    body.game-body .scene-popup .dealer-dialogue p,
    body.game-body .scene-popup .assistance-dialogue p,
    body.game-body .scene-popup .rick-dialogue p,
    body.game-body .scene-popup .bank-dialogue p,
    body.game-body .scene-popup .jobcenter-dialogue p {
        color: rgba(255,245,219,.92) !important;
        text-shadow: 0 2px 8px rgba(0,0,0,.42) !important;
    }
    body.game-body .scene-popup .workshop-close,
    body.game-body .scene-popup .dealer-close,
    body.game-body .scene-popup .gas-close,
    body.game-body .scene-popup .bank-close,
    body.game-body .rick-close,
    body.game-body .store-purchase-close,
    body.game-body #closeWorkshopScene,
    body.game-body #closeDealerScene,
    body.game-body #closeGasScene,
    body.game-body #closeAssistanceScene,
    body.game-body #closeBankScene,
    body.game-body #closeStorePurchaseScene,
    body.game-body #closeJobcenterScene {
        background: linear-gradient(#4b3220, #1b110a) !important;
        color: #fff3c7 !important;
        border: 1px solid rgba(255,219,137,.58) !important;
    }
}

body.game-body #phoneHome .app-icon,
body.game-body #phoneHome .phone-home-page .app-icon,
body.game-body #phoneHome .app-icon.has-app-badge {
    --tg-phone-icon-size: clamp(58px, min(21cqw, 13.8cqh), 84px);
}
body.game-body #phoneHome .app-icon span,
body.game-body #phoneHome .phone-home-page .app-icon span {
    width: var(--tg-phone-icon-size) !important;
    height: var(--tg-phone-icon-size) !important;
    border-radius: clamp(17px, 4.8cqw, 25px) !important;
}
body.game-body #phoneHome .app-icon > .app-notification-badge,
body.game-body #phoneHome .app-icon[data-open-app="orders"] > .app-notification-badge,
body.game-body #phoneHome .app-icon[data-open-app="mail"] > .app-notification-badge,
body.game-body #phoneHome .mail-app-icon > .app-notification-badge,
body.game-body .phone-screen .app-icon > .app-notification-badge {
    top: calc(50% - (var(--tg-phone-icon-size) / 2) - 7px) !important;
    left: calc(50% + (var(--tg-phone-icon-size) / 2) - 6px) !important;
    right: auto !important;
    transform: translate(-50%, 0) !important;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    padding: 0 !important;
    font-size: 10px !important;
    border-width: 2px !important;
}
@media (max-width: 520px) {
    .cookie-actions { justify-content: stretch; }
    .cookie-actions .button { flex: 1 1 100%; }
}

/* v4.68: werblichere Login-Startseite mit Screenshots und schickerem Footer */
body.auth-body {
    min-height: 100vh;
    overflow-x: hidden;
}
body.auth-body::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 20% 8%, rgba(255,214,97,.18), transparent 34rem),
        radial-gradient(circle at 82% 12%, rgba(255,165,55,.14), transparent 30rem),
        linear-gradient(180deg, rgba(8,5,3,.28), rgba(8,5,3,.76));
    z-index: 0;
}
body.auth-body .landing-auth,
body.auth-body .landing-footer,
body.auth-body .cookie-banner {
    position: relative;
    z-index: 1;
}
body.auth-body .landing-auth {
    width: min(1440px, calc(100vw - 2.4rem));
    max-width: 1440px;
    min-height: calc(100vh - 96px);
    grid-template-columns: minmax(360px, .9fr) minmax(520px, 1.15fr);
    align-items: center;
    gap: clamp(1.2rem, 3vw, 3rem);
    padding: clamp(1.2rem, 3vw, 2.6rem) 0 1rem;
}
body.auth-body .landing-hero {
    display: grid;
    gap: .9rem;
    align-content: center;
    padding: clamp(1rem, 2.2vw, 1.6rem);
    border-radius: 34px;
    background: linear-gradient(145deg, rgba(54,31,14,.72), rgba(14,8,5,.48));
    border: 1px solid rgba(255,221,137,.22);
    box-shadow: 0 24px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(5px);
}
body.auth-body .landing-kicker {
    width: fit-content;
    padding: .46rem .78rem;
    border-radius: 999px;
    color: #281506;
    background: linear-gradient(#ffe48a, #e69b20);
    border: 1px solid rgba(255,236,166,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 12px 26px rgba(0,0,0,.22);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .82rem;
    font-weight: 1000;
}
body.auth-body .landing-logo {
    width: min(420px, 92%);
    max-height: 190px;
    margin: .1rem 0 .25rem;
}
body.auth-body .landing-hero h1 {
    margin: 0;
    max-width: 760px;
    font-size: clamp(2.35rem, 5.4vw, 5.6rem);
    line-height: .93;
    letter-spacing: -.075em;
    color: #ffe58a;
    text-shadow: 0 6px 26px rgba(0,0,0,.48);
}
body.auth-body .landing-hero p {
    margin: 0;
    max-width: 680px;
    color: rgba(255,242,213,.92);
    font-size: clamp(1.02rem, 1.35vw, 1.28rem);
    line-height: 1.58;
    text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
body.auth-body .landing-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: .25rem;
}
body.auth-body .landing-actions .button {
    min-height: 50px;
    padding-inline: 1.1rem;
}
body.auth-body .landing-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
    margin-top: .35rem;
}
body.auth-body .landing-feature-grid div {
    display: grid;
    gap: .28rem;
    min-height: 112px;
    align-content: start;
    padding: .85rem;
    border-radius: 22px;
    background: rgba(13,8,5,.46);
    border: 1px solid rgba(255,221,137,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
body.auth-body .landing-feature-grid strong {
    color: #ffe28a;
    font-weight: 1000;
}
body.auth-body .landing-feature-grid span {
    color: rgba(255,239,204,.78);
    line-height: 1.36;
    font-size: .92rem;
}
body.auth-body .landing-side {
    display: grid;
    gap: 1rem;
    align-content: center;
}
body.auth-body .landing-screens {
    position: relative;
    min-height: 470px;
    display: grid;
    grid-template-columns: 1.22fr .78fr;
    grid-template-rows: 1fr 1fr;
    gap: .85rem;
}
body.auth-body .landing-shot {
    margin: 0;
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    border: 1px solid rgba(255,221,137,.28);
    background: rgba(21,13,7,.76);
    box-shadow: 0 24px 58px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08);
    min-height: 0;
}
body.auth-body .landing-shot-main {
    grid-row: 1 / span 2;
}
body.auth-body .landing-shot img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: saturate(1.04) contrast(1.04) brightness(.92);
    transform: scale(1.01);
}
body.auth-body .landing-shot::after {
    content: '';
    position: absolute;
    inset: auto 0 0;
    height: 45%;
    background: linear-gradient(0deg, rgba(8,5,3,.82), transparent);
    pointer-events: none;
}
body.auth-body .landing-shot figcaption {
    position: absolute;
    left: .9rem;
    right: .9rem;
    bottom: .75rem;
    z-index: 1;
    color: #fff0ce;
    font-weight: 1000;
    letter-spacing: .01em;
    text-shadow: 0 3px 10px rgba(0,0,0,.6);
}
body.auth-body .landing-auth-card {
    width: min(520px, 100%);
    justify-self: end;
    background: linear-gradient(145deg, rgba(52,30,14,.94), rgba(18,10,6,.94));
    border-color: rgba(255,221,137,.42);
    box-shadow: 0 30px 80px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08);
}
body.auth-body .landing-footer {
    width: min(1440px, calc(100vw - 2.4rem));
    margin: .2rem auto 1.15rem;
    justify-content: space-between;
    padding: .65rem .85rem;
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(53,31,16,.76), rgba(15,9,5,.78));
    border: 1px solid rgba(255,221,137,.22);
    box-shadow: 0 18px 42px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter: blur(6px);
}
body.auth-body .landing-footer > span {
    color: #ffe28a;
    font-weight: 1000;
    letter-spacing: .04em;
    text-transform: uppercase;
}
body.auth-body .landing-footer nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .5rem;
}
body.auth-body .landing-footer a,
body.auth-body .landing-footer button {
    background: rgba(0,0,0,.22);
    border-color: rgba(255,221,137,.24);
    box-shadow: none;
}
body.auth-body .landing-footer a:hover,
body.auth-body .landing-footer button:hover {
    background: rgba(255,221,137,.1);
    color: #fff0ce;
}
@media (max-width: 1180px) {
    body.auth-body .landing-auth {
        grid-template-columns: 1fr;
        width: min(860px, calc(100vw - 1.6rem));
    }
    body.auth-body .landing-side { align-content: start; }
    body.auth-body .landing-auth-card { justify-self: stretch; width: 100%; }
    body.auth-body .landing-screens { min-height: 430px; }
    body.auth-body .landing-footer { width: min(860px, calc(100vw - 1.6rem)); }
}
@media (max-width: 720px) {
    body.auth-body .landing-auth {
        width: calc(100vw - 1rem);
        padding-top: .6rem;
    }
    body.auth-body .landing-hero { padding: 1rem; border-radius: 26px; }
    body.auth-body .landing-feature-grid { grid-template-columns: 1fr; }
    body.auth-body .landing-screens {
        min-height: auto;
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }
    body.auth-body .landing-shot,
    body.auth-body .landing-shot-main {
        grid-row: auto;
        aspect-ratio: 16 / 8.7;
    }
    body.auth-body .landing-footer {
        width: calc(100vw - 1rem);
        justify-content: center;
        text-align: center;
    }
    body.auth-body .landing-footer nav { justify-content: center; }
}

/* v4.69: ruhigere Login-Startseite, dezenter Footer und kein Screenshot-Overlay */
body.auth-body::before {
    background:
        radial-gradient(circle at 18% 8%, rgba(255,214,97,.10), transparent 30rem),
        linear-gradient(180deg, rgba(8,5,3,.18), rgba(8,5,3,.62)) !important;
}
body.auth-body .landing-auth {
    width: min(1240px, calc(100vw - 2.2rem)) !important;
    max-width: 1240px !important;
    min-height: calc(100vh - 84px) !important;
    grid-template-columns: minmax(320px,.82fr) minmax(500px,1fr) !important;
    gap: clamp(1rem, 2.2vw, 2.1rem) !important;
    padding-top: clamp(.9rem, 2vw, 1.6rem) !important;
}
body.auth-body .landing-hero {
    padding: clamp(1rem, 2vw, 1.35rem) !important;
    border-radius: 26px !important;
    background: linear-gradient(145deg, rgba(42,25,13,.62), rgba(12,8,5,.40)) !important;
    box-shadow: 0 18px 46px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06) !important;
    gap: .75rem !important;
}
body.auth-body .landing-kicker,
body.auth-body .landing-feature-grid {
    display: none !important;
}
body.auth-body .landing-logo {
    width: min(270px, 78%) !important;
    max-height: 128px !important;
    margin: 0 0 .15rem !important;
}
body.auth-body .landing-hero h1 {
    font-size: clamp(2rem, 4.2vw, 4.15rem) !important;
    letter-spacing: -.055em !important;
    line-height: .98 !important;
}
body.auth-body .landing-hero p {
    max-width: 620px !important;
    font-size: clamp(.98rem, 1.12vw, 1.13rem) !important;
    line-height: 1.52 !important;
}
body.auth-body .landing-actions {
    margin-top: .15rem !important;
}
body.auth-body .landing-actions .button {
    min-height: 46px !important;
}
body.auth-body .landing-side {
    gap: .85rem !important;
}
body.auth-body .landing-screens {
    min-height: 380px !important;
    gap: .65rem !important;
}
body.auth-body .landing-shot {
    border-radius: 20px !important;
    box-shadow: 0 16px 38px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.06) !important;
    border-color: rgba(255,221,137,.20) !important;
}
body.auth-body .landing-shot img {
    filter: saturate(.98) contrast(.98) brightness(.96) !important;
    transform: none !important;
}
body.auth-body .landing-shot::after {
    display: none !important;
}
body.auth-body .landing-shot figcaption {
    left: .65rem !important;
    right: .65rem !important;
    bottom: .55rem !important;
    width: fit-content !important;
    max-width: calc(100% - 1.3rem) !important;
    padding: .34rem .52rem !important;
    border-radius: 999px !important;
    background: rgba(13,8,5,.62) !important;
    border: 1px solid rgba(255,221,137,.18) !important;
    color: rgba(255,240,206,.92) !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}
body.auth-body .landing-auth-card {
    background: linear-gradient(145deg, rgba(42,25,13,.92), rgba(15,9,5,.92)) !important;
    border-color: rgba(255,221,137,.28) !important;
    box-shadow: 0 20px 55px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
body.auth-body .landing-footer {
    width: min(1240px, calc(100vw - 2.2rem)) !important;
    margin: .1rem auto 1rem !important;
    padding: .35rem .25rem !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    justify-content: center !important;
    gap: .8rem !important;
}
body.auth-body .landing-footer > span {
    color: rgba(255,226,138,.72) !important;
    font-size: .82rem !important;
    letter-spacing: .06em !important;
}
body.auth-body .landing-footer nav {
    justify-content: center !important;
    gap: .35rem !important;
}
body.auth-body .landing-footer a,
body.auth-body .landing-footer button {
    background: rgba(0,0,0,.18) !important;
    border: 1px solid rgba(255,221,137,.16) !important;
    border-radius: 999px !important;
    padding: .34rem .64rem !important;
    font-size: .78rem !important;
    color: rgba(255,240,206,.76) !important;
    box-shadow: none !important;
}
body.auth-body .landing-footer a:hover,
body.auth-body .landing-footer button:hover {
    background: rgba(255,221,137,.08) !important;
    color: #fff0ce !important;
}
@media (max-width: 1180px) {
    body.auth-body .landing-auth {
        grid-template-columns: 1fr !important;
        width: min(820px, calc(100vw - 1.4rem)) !important;
    }
    body.auth-body .landing-screens { min-height: 360px !important; }
    body.auth-body .landing-footer { width: min(820px, calc(100vw - 1.4rem)) !important; }
}
@media (max-width: 720px) {
    body.auth-body .landing-auth { width: calc(100vw - 1rem) !important; }
    body.auth-body .landing-screens { gap: .55rem !important; }
    body.auth-body .landing-shot,
    body.auth-body .landing-shot-main { aspect-ratio: 16 / 8.9 !important; }
    body.auth-body .landing-footer {
        width: calc(100vw - 1rem) !important;
        flex-direction: column !important;
        gap: .35rem !important;
    }
}

/* v4.73: Cookie-Banner sicher sichtbar, Taxi-Visual und Screenshot-Lightbox */
body.auth-body .cookie-banner {
    top: auto !important;
    bottom: max(.75rem, env(safe-area-inset-bottom)) !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 .85rem !important;
    place-items: end center !important;
    background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.34) 52%, rgba(0,0,0,.72) 100%) !important;
    pointer-events: none;
}
body.auth-body .cookie-banner.hidden { display: none !important; }
body.auth-body .cookie-card {
    pointer-events: auto;
    width: min(840px, calc(100vw - 1.2rem)) !important;
    max-height: calc(100dvh - 1.5rem) !important;
    overflow: auto !important;
    display: grid !important;
    grid-template-columns: 150px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .9rem !important;
    padding: .85rem .95rem !important;
    border-radius: 24px !important;
    background: linear-gradient(145deg, rgba(58,32,15,.98), rgba(17,10,6,.98)) !important;
    box-shadow: 0 22px 70px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
body.auth-body .cookie-taxi-visual {
    min-height: 96px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 50% 35%, rgba(255,210,82,.22), rgba(255,210,82,.05) 45%, rgba(0,0,0,.16));
    border: 1px solid rgba(255,221,137,.14);
    overflow: hidden;
}
body.auth-body .cookie-taxi-visual img {
    width: 150px;
    max-width: 112%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 12px 18px rgba(0,0,0,.42));
    transform: translateY(6px) scale(1.08);
}
body.auth-body .cookie-content {
    min-width: 0;
}
body.auth-body .cookie-card strong {
    font-size: clamp(1rem, 1.5vw, 1.18rem) !important;
    margin-bottom: .28rem !important;
}
body.auth-body .cookie-card p {
    margin-bottom: .6rem !important;
    line-height: 1.4 !important;
}
body.auth-body .cookie-actions {
    margin-top: .6rem !important;
}
body.auth-body .landing-shot {
    appearance: none !important;
    border-style: solid !important;
    padding: 0 !important;
    text-align: left !important;
    cursor: zoom-in !important;
    overflow: hidden !important;
    position: relative !important;
    color: inherit !important;
    font: inherit !important;
}
body.auth-body .landing-shot span {
    position: absolute;
    left: .65rem;
    right: .65rem;
    bottom: .55rem;
    width: fit-content;
    max-width: calc(100% - 1.3rem);
    padding: .34rem .52rem;
    border-radius: 999px;
    background: rgba(13,8,5,.66);
    border: 1px solid rgba(255,221,137,.18);
    color: rgba(255,240,206,.94);
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.15;
    z-index: 2;
}
body.auth-body .landing-shot em {
    position: absolute;
    top: .55rem;
    right: .55rem;
    z-index: 2;
    padding: .26rem .45rem;
    border-radius: 999px;
    background: rgba(255,214,82,.86);
    color: #231407;
    font-size: .7rem;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .02em;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity .18s ease, transform .18s ease;
}
body.auth-body .landing-shot:hover em,
body.auth-body .landing-shot:focus-visible em {
    opacity: 1;
    transform: translateY(0);
}
body.auth-body .landing-shot:hover img,
body.auth-body .landing-shot:focus-visible img {
    transform: scale(1.025) !important;
    filter: saturate(1.03) contrast(1.02) brightness(1) !important;
}
body.auth-body .landing-shot-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100200;
    display: grid;
    place-items: center;
    padding: clamp(.8rem, 3vw, 2rem);
    background: rgba(0,0,0,.84);
    backdrop-filter: blur(10px);
}
body.auth-body .landing-shot-lightbox.hidden { display: none !important; }
body.auth-body .landing-shot-lightbox figure {
    width: min(1480px, 96vw);
    margin: 0;
    border: 1px solid rgba(255,221,137,.34);
    border-radius: 24px;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(42,25,13,.96), rgba(10,6,4,.96));
    box-shadow: 0 34px 100px rgba(0,0,0,.65);
}
body.auth-body .landing-shot-lightbox img {
    display: block;
    width: 100%;
    max-height: 82dvh;
    object-fit: contain;
    background: #0d0906;
}
body.auth-body .landing-shot-lightbox figcaption {
    padding: .75rem 1rem;
    color: #ffe28a;
    font-weight: 900;
    letter-spacing: .02em;
}
body.auth-body .landing-shot-lightbox-close {
    position: fixed;
    top: max(1rem, env(safe-area-inset-top));
    right: max(1rem, env(safe-area-inset-right));
    width: 48px;
    height: 48px;
    border-radius: 18px;
    border: 1px solid rgba(255,221,137,.34);
    background: linear-gradient(145deg, rgba(58,32,15,.96), rgba(18,10,6,.96));
    color: #fff1d0;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    z-index: 100210;
}
body.auth-body.landing-lightbox-open {
    overflow: hidden;
}
@media (max-width: 720px) {
    body.auth-body .cookie-banner {
        bottom: max(.45rem, env(safe-area-inset-bottom)) !important;
        padding: 0 .5rem !important;
    }
    body.auth-body .cookie-card {
        grid-template-columns: 88px minmax(0, 1fr) !important;
        gap: .65rem !important;
        width: calc(100vw - .9rem) !important;
        padding: .68rem !important;
        border-radius: 20px !important;
    }
    body.auth-body .cookie-taxi-visual {
        min-height: 78px;
        border-radius: 16px;
    }
    body.auth-body .cookie-taxi-visual img {
        width: 116px;
        transform: translateY(5px) scale(1.08);
    }
    body.auth-body .cookie-card p {
        font-size: .84rem;
        line-height: 1.32 !important;
    }
    body.auth-body .cookie-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .42rem !important;
    }
    body.auth-body .cookie-actions .button {
        width: 100% !important;
        min-height: 38px !important;
        padding: .42rem .55rem !important;
    }
    body.auth-body .cookie-card small {
        display: block;
        margin-top: .42rem;
        font-size: .76rem;
    }
    body.auth-body .landing-shot em {
        opacity: 1;
        transform: none;
    }
    body.auth-body .landing-shot-lightbox {
        padding: .65rem;
    }
    body.auth-body .landing-shot-lightbox figure {
        border-radius: 18px;
    }
}
@media (max-width: 430px) {
    body.auth-body .cookie-card {
        grid-template-columns: 1fr !important;
    }
    body.auth-body .cookie-taxi-visual {
        min-height: 58px;
    }
    body.auth-body .cookie-taxi-visual img {
        width: 132px;
        transform: translateY(10px) scale(1.05);
    }
}


/* v4.73: Cookie-Banner als echter sticky/fixed Bottom-Banner, auch mobil */
html body.auth-body #cookieBanner.cookie-banner,
html body #cookieBanner.cookie-banner {
    position: fixed !important;
    inset: auto 0 0 0 !important;
    width: 100vw !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: .95rem clamp(.7rem, 2vw, 1.2rem) calc(.95rem + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 2147483000 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    place-items: unset !important;
    overflow: visible !important;
    pointer-events: none !important;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.38) 45%, rgba(0,0,0,.82) 100%) !important;
    transform: none !important;
    contain: none !important;
}
html body.auth-body #cookieBanner.cookie-banner.hidden,
html body #cookieBanner.cookie-banner.hidden {
    display: none !important;
}
html body.auth-body #cookieBanner.cookie-banner .cookie-card,
html body #cookieBanner.cookie-banner .cookie-card {
    pointer-events: auto !important;
    width: min(880px, calc(100vw - 1.4rem)) !important;
    max-width: calc(100vw - 1.4rem) !important;
    max-height: min(430px, calc(100dvh - 1.4rem)) !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    display: grid !important;
    grid-template-columns: 150px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .9rem !important;
    border-radius: 24px !important;
    padding: .85rem .95rem !important;
    background: linear-gradient(145deg, rgba(58,32,15,.985), rgba(17,10,6,.985)) !important;
    border: 1px solid rgba(255,217,129,.42) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,.66), inset 0 1px 0 rgba(255,255,255,.11) !important;
    color: #fff0cc !important;
    transform: none !important;
}
html body #cookieBanner.cookie-banner .cookie-content {
    min-width: 0 !important;
}
html body #cookieBanner.cookie-banner .cookie-taxi-visual {
    width: 100% !important;
    min-height: 92px !important;
    border-radius: 20px !important;
    display: grid !important;
    place-items: center !important;
    background: radial-gradient(circle at 50% 35%, rgba(255,210,82,.22), rgba(255,210,82,.05) 45%, rgba(0,0,0,.16)) !important;
    border: 1px solid rgba(255,221,137,.16) !important;
    overflow: hidden !important;
}
html body #cookieBanner.cookie-banner .cookie-taxi-visual img {
    width: 150px !important;
    max-width: 118% !important;
    height: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 12px 18px rgba(0,0,0,.45)) !important;
    transform: translateY(6px) scale(1.08) !important;
}
html body #cookieBanner.cookie-banner .cookie-card strong {
    font-size: clamp(1rem, 1.35vw, 1.18rem) !important;
    margin: 0 0 .28rem !important;
}
html body #cookieBanner.cookie-banner .cookie-card p {
    margin: 0 0 .55rem !important;
    line-height: 1.38 !important;
}
html body #cookieBanner.cookie-banner .cookie-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: .5rem !important;
    margin-top: .55rem !important;
}
html body #cookieBanner.cookie-banner .cookie-actions .button {
    min-height: 38px !important;
}
@media (max-width: 720px) {
    html body.auth-body #cookieBanner.cookie-banner,
    html body #cookieBanner.cookie-banner {
        padding: .55rem .55rem calc(.55rem + env(safe-area-inset-bottom, 0px)) !important;
        background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.48) 38%, rgba(0,0,0,.90) 100%) !important;
    }
    html body.auth-body #cookieBanner.cookie-banner .cookie-card,
    html body #cookieBanner.cookie-banner .cookie-card {
        width: calc(100vw - 1.1rem) !important;
        max-width: calc(100vw - 1.1rem) !important;
        max-height: min(72dvh, calc(100dvh - 1.1rem)) !important;
        grid-template-columns: 86px minmax(0, 1fr) !important;
        gap: .62rem !important;
        padding: .68rem !important;
        border-radius: 20px !important;
    }
    html body #cookieBanner.cookie-banner .cookie-taxi-visual {
        min-height: 74px !important;
        border-radius: 16px !important;
    }
    html body #cookieBanner.cookie-banner .cookie-taxi-visual img {
        width: 116px !important;
        transform: translateY(5px) scale(1.08) !important;
    }
    html body #cookieBanner.cookie-banner .cookie-card strong {
        font-size: .98rem !important;
    }
    html body #cookieBanner.cookie-banner .cookie-card p {
        font-size: .84rem !important;
        line-height: 1.31 !important;
    }
    html body #cookieBanner.cookie-banner .cookie-options {
        padding: .5rem !important;
        margin: .5rem 0 !important;
    }
    html body #cookieBanner.cookie-banner .cookie-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .42rem !important;
    }
    html body #cookieBanner.cookie-banner .cookie-actions .button {
        width: 100% !important;
        min-height: 38px !important;
        padding: .43rem .55rem !important;
        border-radius: 14px !important;
    }
    html body #cookieBanner.cookie-banner .cookie-card small {
        display: block !important;
        margin-top: .42rem !important;
        font-size: .75rem !important;
        line-height: 1.3 !important;
    }
}
@media (max-width: 420px), (max-height: 620px) {
    html body.auth-body #cookieBanner.cookie-banner .cookie-card,
    html body #cookieBanner.cookie-banner .cookie-card {
        grid-template-columns: 1fr !important;
        max-height: min(78dvh, calc(100dvh - 1rem)) !important;
        border-radius: 18px !important;
    }
    html body #cookieBanner.cookie-banner .cookie-taxi-visual {
        min-height: 54px !important;
    }
    html body #cookieBanner.cookie-banner .cookie-taxi-visual img {
        width: 132px !important;
        transform: translateY(9px) scale(1.04) !important;
    }
}

/* v4.73: Feinschliff Footer, Legal-Background, Topbar, Premium/Instatax/Global-Events */
html, body { min-height: 100%; }
body.auth-body {
    min-height: 100dvh !important;
    background-size: cover !important;
    background-attachment: fixed !important;
    background-position: center center !important;
}
body.auth-body::before {
    position: fixed !important;
    inset: 0 !important;
    height: auto !important;
    min-height: 100dvh !important;
    background-size: cover !important;
    background-position: center center !important;
}
body.auth-body .legal-public-wrap {
    min-height: 100dvh !important;
    padding-bottom: 4.8rem !important;
}
body.auth-body .landing-footer > span {
    color: rgba(255,239,204,.84) !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
}
body.game-body .game-topbar {
    display: grid !important;
    grid-template-columns: minmax(120px, 170px) minmax(320px, 1fr) minmax(150px, 210px) auto !important;
    align-items: center !important;
    gap: .72rem !important;
    padding: .55rem .7rem .7rem !important;
    background: linear-gradient(135deg, rgba(17,10,5,.76), rgba(54,34,18,.56)) !important;
    border: 1px solid rgba(255,218,129,.28) !important;
    border-radius: 18px !important;
}
body.game-body .game-logo.image-logo {
    min-width: 0 !important;
    width: 100% !important;
    padding: .2rem .35rem !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    justify-items: start !important;
}
body.game-body .game-logo.image-logo img {
    width: min(112px, 100%) !important;
    max-height: 52px !important;
    object-fit: contain !important;
}
body.game-body .xp-widget {
    min-width: 0 !important;
    width: 100% !important;
}
body.game-body .reputation-top {
    width: 100% !important;
    min-width: 0 !important;
    padding: .5rem .7rem !important;
}
body.game-body .top-resources {
    flex-wrap: nowrap !important;
    gap: .42rem !important;
    justify-content: end !important;
}
body.game-body .resource-pill.money {
    min-width: 142px !important;
    padding-right: .85rem !important;
}
body.game-body .resource-pill.money .mini-plus { display: none !important; }
body.game-body .top-menu-button.top-menu-button-image {
    min-width: 118px !important;
    padding-inline: .5rem !important;
}
body.game-body .icon-button,
body.game-body .top-menu-button.top-menu-button-image {
    height: 44px !important;
    border-radius: 12px !important;
}
body.game-body .global-event-banner {
    position: relative;
    z-index: 2;
    margin: .65rem 0 .8rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .72rem .9rem;
    border-radius: 18px;
    border: 1px solid rgba(255,217,106,.34);
    background: linear-gradient(135deg, rgba(255,190,72,.18), rgba(20,12,7,.82));
    box-shadow: 0 12px 26px rgba(0,0,0,.24);
}
body.game-body .global-event-banner strong { color: #ffe28a; font-weight: 1000; }
body.game-body .global-event-banner span { color: rgba(255,244,219,.86); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.game-body .global-event-banner b { color: #fff; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.12); border-radius: 999px; padding: .3rem .55rem; }
body.game-body .instatax-app-icon span { background: linear-gradient(145deg,#fbc64b,#fb3f7c 45%,#6b4dff) !important; }
body.game-body .instatax-feed { display: grid; gap: .7rem; }
body.game-body .instatax-card { background: linear-gradient(145deg, rgba(45,25,17,.9), rgba(15,9,6,.9)); }
body.game-body .instatax-card.instatax-top { border-color: rgba(255,214,91,.55); box-shadow: 0 12px 24px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,214,91,.16); }
body.game-body .instatax-head { display: grid; grid-template-columns: auto 1fr; gap: .25rem .55rem; align-items: baseline; }
body.game-body .instatax-head b { color: #ffe28a; font-size: 1.1rem; }
body.game-body .instatax-head strong { color: #fff3cf; font-size: 1rem; }
body.game-body .instatax-head span { grid-column: 2; color: rgba(255,239,204,.75); }
body.game-body .instatax-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: .35rem; margin: .65rem 0; }
body.game-body .instatax-stats span { padding: .42rem .35rem; border-radius: 12px; background: rgba(255,255,255,.06); text-align: center; font-weight: 800; font-size: .78rem; }
.admin-form.grid-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.admin-form.grid-form .full { grid-column: 1 / -1; }
.admin-form.inline-form { display: flex; flex-wrap: wrap; gap: .7rem; align-items: end; }
.admin-form.inline-form > * { flex: 1 1 180px; }
.admin-stats { display:grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin:1rem 0; }
.stat-card { padding:1rem; border-radius:22px; border:1px solid var(--line); background:rgba(0,0,0,.22); }
.stat-card strong { display:block; font-size:1.6rem; color:#ffe28a; }
@media (max-width: 980px) {
    body.game-body .game-topbar {
        grid-template-columns: 1fr !important;
        gap: .55rem !important;
    }
    body.game-body .game-logo.image-logo { justify-items: center !important; }
    body.game-body .top-resources { justify-content: center !important; flex-wrap: wrap !important; }
    body.game-body .global-event-banner { grid-template-columns: 1fr auto; }
    body.game-body .global-event-banner span { grid-column: 1 / -1; white-space: normal; }
}
@media (max-width: 560px) {
    body.game-body .top-resources { display:grid !important; grid-template-columns: 1fr 1fr 44px 44px 44px !important; }
    body.game-body .resource-pill.money { grid-column: 1 / 3; min-width: 0 !important; }
    body.game-body .top-menu-button.top-menu-button-image { grid-column: 3 / 6; min-width: 0 !important; }
    body.game-body .instatax-stats { grid-template-columns: 1fr; }
}

/* v4.73: Premium-Backend, Premium-Popup, Instatax-Icon, Topbar-Feinschliff und Cookie-Fades */
body.auth-body .auth-legal-footer.legal-public-footer,
body.auth-body .auth-legal-footer.landing-footer {
    margin-bottom: clamp(1.4rem, 4vh, 3.2rem) !important;
}
html body #cookieBanner.cookie-banner {
    opacity: 0 !important;
    transform: translateY(18px) !important;
    transition: opacity .28s ease, transform .28s ease !important;
}
html body #cookieBanner.cookie-banner.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
html body #cookieBanner.cookie-banner.is-hiding {
    opacity: 0 !important;
    transform: translateY(22px) !important;
}
html body #cookieBanner.cookie-banner.hidden {
    display: none !important;
}
body.game-body .game-topbar {
    grid-template-columns: minmax(112px, 150px) minmax(300px, 1fr) minmax(150px, 200px) minmax(520px, auto) !important;
    min-height: 72px !important;
}
body.game-body .top-resources {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: max-content !important;
    align-items: stretch !important;
    gap: .42rem !important;
}
body.game-body .top-resources > *,
body.game-body .top-resources .icon-button,
body.game-body .top-resources .top-menu-button,
body.game-body .top-resources .resource-pill.money {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
body.game-body .top-resources .resource-pill.money {
    min-width: 148px !important;
    justify-content: flex-start !important;
}
body.game-body .premium-pass-top-button {
    min-width: 126px !important;
    padding: 0 .8rem !important;
    border-radius: 12px !important;
    background: linear-gradient(145deg, rgba(255,210,78,.95), rgba(210,126,17,.96)) !important;
    color: #1d1004 !important;
    font-weight: 1000 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 8px 16px rgba(0,0,0,.24) !important;
}
body.game-body .premium-pass-top-button span {
    white-space: nowrap !important;
}
body.game-body .instatax-app-icon span {
    background: transparent !important;
    border-color: rgba(255,255,255,.36) !important;
    overflow: hidden !important;
}
body.game-body .instatax-app-icon span img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
body.game-body .premium-pass-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 26000 !important;
    display: grid !important;
    place-items: center !important;
    padding: clamp(1rem, 3vw, 2rem) !important;
    background: radial-gradient(circle at 50% 20%, rgba(255,202,66,.18), rgba(0,0,0,.78) 58%, rgba(0,0,0,.9)) !important;
}
body.game-body .premium-pass-modal.hidden { display: none !important; }
body.game-body .premium-pass-stage {
    position: relative;
    width: min(980px, calc(100vw - 2rem));
    min-height: 520px;
    border-radius: 34px;
    border: 1px solid rgba(255,215,105,.42);
    overflow: hidden;
    background: linear-gradient(145deg, rgba(44,23,10,.94), rgba(14,8,6,.96));
    box-shadow: 0 26px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08);
}
body.game-body .premium-rick {
    position: absolute;
    left: 0;
    bottom: 0;
    top: 0;
    width: 42%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: radial-gradient(circle at 40% 40%, rgba(255,207,75,.16), transparent 60%);
}
body.game-body .premium-rick img {
    max-width: 96%;
    max-height: 92%;
    object-fit: contain;
    filter: drop-shadow(0 24px 36px rgba(0,0,0,.5));
}
body.game-body .premium-pass-card {
    margin-left: 38%;
    min-height: 520px;
    padding: clamp(1.5rem, 3vw, 2.4rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
}
body.game-body .premium-kicker {
    align-self: flex-start;
    border: 1px solid rgba(193,255,116,.32);
    color: #d7ff8a;
    background: rgba(120,167,48,.16);
    border-radius: 999px;
    padding: .32rem .72rem;
    font-weight: 1000;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .78rem;
}
body.game-body .premium-pass-card h2 {
    margin: 0;
    color: #ffe28a;
    font-size: clamp(2rem, 4vw, 3.6rem);
    line-height: .98;
}
body.game-body .premium-pass-card p {
    color: rgba(255,244,222,.88);
    line-height: 1.55;
    font-size: 1rem;
}
body.game-body .premium-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .7rem;
}
body.game-body .premium-feature-grid div,
body.game-body .premium-pass-price {
    border: 1px solid rgba(255,215,105,.22);
    background: rgba(0,0,0,.22);
    border-radius: 18px;
    padding: .75rem;
}
body.game-body .premium-feature-grid b,
body.game-body .premium-pass-price strong { display: block; color: #fff1b5; font-weight: 1000; }
body.game-body .premium-feature-grid span,
body.game-body .premium-pass-price span { color: rgba(255,239,204,.78); font-size: .86rem; }
body.game-body .premium-pass-actions { display: flex; gap: .7rem; flex-wrap: wrap; }
body.game-body .premium-pass-actions .button { min-width: 190px; }
.admin-body .premium-overview-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.admin-body .admin-eyebrow { display:inline-flex; color:#d7ff8a; font-size:.78rem; font-weight:1000; letter-spacing:.08em; text-transform:uppercase; margin-bottom:.25rem; }
.admin-body .premium-status-pill { border-radius:999px; padding:.45rem .85rem; font-weight:1000; border:1px solid rgba(255,255,255,.18); }
.admin-body .premium-status-pill.is-on { background:rgba(92,190,83,.18); color:#a7ff9f; border-color:rgba(130,255,130,.28); }
.admin-body .premium-status-pill.is-off { background:rgba(255,110,80,.14); color:#ffb6a0; border-color:rgba(255,110,80,.28); }
.admin-body .premium-admin-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:.8rem; margin-top:1rem; }
.admin-body .premium-admin-summary div { border:1px solid var(--line); border-radius:18px; background:rgba(0,0,0,.20); padding:.9rem; }
.admin-body .premium-admin-summary b { display:block; color:#ffe28a; font-size:1.25rem; }
.admin-body .premium-admin-summary span { color:var(--muted); font-size:.86rem; }
.admin-body .premium-admin-layout { display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:start; margin:1rem 0; }
.admin-body .premium-admin-panel { overflow:hidden; }
.admin-body .premium-limits-panel,
.admin-body .premium-save-card { grid-column:1 / -1; }
.admin-body .premium-panel-head { display:flex; gap:.85rem; align-items:flex-start; margin-bottom:1rem; }
.admin-body .premium-panel-head > span { display:grid; place-items:center; width:34px; height:34px; border-radius:12px; background:linear-gradient(145deg,#ffd866,#d99218); color:#211104; font-weight:1000; flex:0 0 34px; }
.admin-body .premium-panel-head h2 { margin:0; }
.admin-body .premium-panel-head p { margin:.18rem 0 0; color:var(--muted); }
.admin-body .premium-form-grid label.full { grid-column: 1 / -1; }
.admin-body .toggle-label { align-content:start; }
.admin-body .toggle-label input { width:auto; justify-self:start; transform:scale(1.18); margin-top:.55rem; }
.admin-body .premium-limit-table { display:grid; gap:.45rem; }
.admin-body .premium-limit-row { display:grid; grid-template-columns:minmax(180px,1fr) minmax(120px,180px) minmax(120px,180px); gap:.55rem; align-items:center; padding:.55rem; border-radius:16px; background:rgba(0,0,0,.16); }
.admin-body .premium-limit-head { color:#ffe28a; font-weight:1000; background:rgba(255,216,102,.10); }
.admin-body .premium-limit-row input { width:100%; }
.admin-body .premium-save-card { display:flex; justify-content:flex-end; padding:1rem; position:sticky; bottom:1rem; z-index:5; }
.admin-body .premium-grant-form label { min-width:260px; }
.admin-body .admin-table-wrap { overflow:auto; }
@media (max-width: 1200px) {
    body.game-body .game-topbar { grid-template-columns: 1fr !important; }
    body.game-body .top-resources { grid-auto-flow: row !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
    body.game-body .top-resources > *, body.game-body .top-resources .resource-pill.money { width:100% !important; min-width:0 !important; }
}
@media (max-width: 820px) {
    body.game-body .premium-pass-stage { min-height: 0; }
    body.game-body .premium-rick { position:relative; width:100%; height:190px; align-items:flex-end; }
    body.game-body .premium-rick img { max-height:210px; }
    body.game-body .premium-pass-card { margin-left:0; min-height:0; padding:1.1rem; }
    body.game-body .premium-feature-grid { grid-template-columns:1fr; }
    body.game-body .premium-pass-actions .button { width:100%; min-width:0; }
    .admin-body .premium-admin-layout { grid-template-columns:1fr; }
    .admin-body .premium-limit-row { grid-template-columns:1fr; }
    .admin-body .premium-limit-head { display:none; }
}
@media (max-width: 560px) {
    body.game-body .top-resources { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
    body.game-body .premium-pass-top-button span { font-size:.72rem; }
}

/* v4.82: Maik-Offline, Premium-Popup, Admin-Breite und Topbar-Feinschliff */
.admin-body .admin-shell {
    width: min(1560px, calc(100vw - 2.4rem)) !important;
    max-width: 1560px !important;
    margin: 0 auto !important;
    padding: 1.15rem 0 4.5rem !important;
}
.admin-body .admin-shell.premium-admin-shell {
    max-width: 1320px !important;
}
.admin-body .admin-card,
.admin-body .admin-table-card {
    width: 100% !important;
}
.admin-body .premium-help-box {
    border: 1px solid rgba(255,216,102,.22);
    border-radius: 18px;
    background: rgba(0,0,0,.18);
    padding: .9rem 1rem;
    margin-bottom: 1rem;
    color: rgba(255,241,209,.88);
}
.admin-body .premium-help-box strong { display:block; color:#ffe28a; margin-bottom:.35rem; }
.admin-body .premium-help-box ol { margin:.25rem 0 .5rem 1.1rem; padding:0; }
.admin-body .premium-help-box li { margin:.18rem 0; }
.admin-body .premium-help-box small { color:var(--muted); }
.admin-body .paypal-create-card .inline-form { align-items:center; }

body.game-body .game-topbar {
    grid-template-columns: minmax(120px, 150px) minmax(360px, 1fr) minmax(170px, 210px) auto !important;
    align-items: center !important;
    gap: clamp(.7rem, 1.25vw, 1.2rem) !important;
    padding: .65rem 1.1rem !important;
}
body.game-body .game-logo.image-logo {
    min-height: 48px !important;
    align-content: center !important;
    justify-content: start !important;
}
body.game-body .game-logo.image-logo img {
    max-height: 50px !important;
    width: auto !important;
    object-fit: contain !important;
}
body.game-body .xp-widget,
body.game-body .reputation-top,
body.game-body .top-resources .resource-pill.money,
body.game-body .top-resources .icon-button,
body.game-body .top-resources .top-menu-button {
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
}
body.game-body .top-resources {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: max-content !important;
    align-items: center !important;
    gap: .5rem !important;
}
body.game-body .top-resources .resource-pill.money {
    min-width: 160px !important;
}
body.game-body .top-resources .icon-button {
    width: 52px !important;
    padding: 0 !important;
}
body.game-body .top-resources .top-menu-button-image {
    min-width: 136px !important;
    padding: 0 .75rem !important;
}
body.game-body .premium-pass-top-button {
    min-width: 140px !important;
    height: 52px !important;
}

body.game-body #premiumPassModal.premium-pass-modal {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 26000 !important;
    display: grid !important;
    place-items: center !important;
    padding: clamp(1rem, 3vw, 2.2rem) !important;
    overflow: auto !important;
}
body.game-body #premiumPassModal.premium-pass-modal.hidden {
    display: none !important;
}
body.game-body #premiumPassModal .premium-pass-stage {
    margin: auto !important;
    max-width: calc(100vw - 2rem) !important;
    max-height: calc(100vh - 2rem) !important;
    overflow: auto !important;
}
body.game-body #premiumPassModal .premium-pass-close {
    top: max(1rem, env(safe-area-inset-top)) !important;
    right: max(1rem, env(safe-area-inset-right)) !important;
}

@media (max-width: 1200px) {
    body.game-body .game-topbar {
        grid-template-columns: minmax(100px, 140px) 1fr !important;
    }
    body.game-body .reputation-top,
    body.game-body .top-resources { grid-column: 1 / -1; }
    body.game-body .top-resources {
        grid-auto-flow: row !important;
        grid-template-columns: repeat(auto-fit, minmax(52px, max-content)) !important;
        justify-content: center !important;
    }
}
@media (max-width: 680px) {
    .admin-body .admin-shell {
        width: min(100vw - 1rem, 1560px) !important;
        padding-top: .6rem !important;
    }
    body.game-body .game-topbar {
        grid-template-columns: 1fr !important;
        padding: .7rem !important;
    }
    body.game-body .game-logo.image-logo { justify-content:center !important; }
    body.game-body .xp-widget,
    body.game-body .reputation-top { width:100% !important; min-width:0 !important; }
    body.game-body .top-resources {
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
        width:100% !important;
    }
    body.game-body .top-resources .resource-pill.money { grid-column:1 / 3; width:100% !important; min-width:0 !important; }
    body.game-body .top-resources .top-menu-button-image { grid-column:3 / 5; width:100% !important; min-width:0 !important; }
    body.game-body .premium-pass-top-button { grid-column:1 / 5; width:100% !important; }
    body.game-body .top-resources .icon-button { width:100% !important; }
    body.game-body #premiumPassModal .premium-pass-stage { width: 100% !important; max-height: calc(100vh - 1rem) !important; border-radius: 24px !important; }
}

/* v4.82: Globale Ereignisse, mobile Dialoge und Admin-Breite */
.admin-body .admin-shell.admin-shell-narrow,
.admin-body .admin-shell.premium-admin-shell,
.admin-body .admin-shell.admin-shell-narrow.premium-admin-shell {
    width: min(1280px, calc(100vw - 2.4rem)) !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
}
.admin-body .admin-shell.admin-shell-narrow .admin-dashboard-nav {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}
body.game-body .global-event-banner {
    appearance: none !important;
    width: 100% !important;
    text-align: left !important;
    cursor: pointer !important;
}
body.game-body .global-event-banner:hover {
    border-color: rgba(255,226,138,.62) !important;
    transform: translateY(-1px);
}
body.game-body .global-event-mini-clock,
body.game-body .global-event-clock {
    --event-progress: 100;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background:
        conic-gradient(#ffd85a calc(var(--event-progress) * 1%), rgba(255,255,255,.13) 0),
        rgba(0,0,0,.38);
    box-shadow: inset 0 0 0 2px rgba(0,0,0,.34), 0 8px 22px rgba(0,0,0,.26);
}
body.game-body .global-event-mini-clock {
    width: 52px;
    height: 52px;
    font-style: normal;
    flex: 0 0 52px;
}
body.game-body .global-event-mini-clock b,
body.game-body .global-event-clock span {
    display: grid;
    place-items: center;
    border-radius: inherit;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    background: rgba(29,13,5,.92);
    color: #fff3c8;
    font-weight: 1000;
    font-size: .76rem;
}
body.game-body .event-line.global-line {
    border-color: rgba(255,216,91,.38) !important;
    background: linear-gradient(145deg, rgba(255,198,69,.16), rgba(42,20,8,.72)) !important;
}
body.game-body .event-line.global-line strong { color: #ffe28a; }
body.game-body .event-line.global-line span { color: rgba(255,244,220,.88); }
body.game-body .global-event-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 27000 !important;
    display: grid !important;
    place-items: center !important;
    padding: clamp(1rem, 3vw, 2rem) !important;
    background: radial-gradient(circle at 50% 20%, rgba(255,210,82,.2), rgba(0,0,0,.78) 60%, rgba(0,0,0,.92)) !important;
}
body.game-body .global-event-modal.hidden { display: none !important; }
body.game-body .global-event-card {
    width: min(560px, calc(100vw - 2rem));
    border-radius: 30px;
    border: 1px solid rgba(255,216,103,.42);
    background: linear-gradient(155deg, rgba(56,30,13,.96), rgba(14,8,5,.97));
    color: #fff1d0;
    box-shadow: 0 28px 90px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.08);
    padding: clamp(1.2rem, 3vw, 2rem);
    position: relative;
    display: grid;
    gap: .75rem;
}
body.game-body .global-event-card small {
    color: #d7ff8a;
    text-transform: uppercase;
    letter-spacing: .09em;
    font-weight: 1000;
}
body.game-body .global-event-card h2 {
    margin: 0;
    color: #ffe28a;
    font-size: clamp(1.8rem, 4vw, 2.7rem);
    line-height: 1;
}
body.game-body .global-event-card p { margin: 0; color: rgba(255,244,222,.9); line-height: 1.45; }
body.game-body .global-event-note {
    border: 1px solid rgba(255,216,103,.22);
    background: rgba(0,0,0,.24);
    border-radius: 18px;
    padding: .75rem .9rem;
    color: #fff3c8;
}
body.game-body .global-event-close {
    position: absolute;
    right: .9rem;
    top: .9rem;
    width: 42px;
    height: 42px;
    border-radius: 15px;
    border: 1px solid rgba(255,216,103,.35);
    background: rgba(52,28,12,.88);
    color: #fff1c0;
    font-size: 1.6rem;
    font-weight: 1000;
    cursor: pointer;
}
body.game-body .global-event-clock {
    width: 86px;
    height: 86px;
    justify-self: start;
}
body.game-body .global-event-clock span { font-size: 1rem; }

@media (max-width: 820px) {
    html, body.game-body { overflow-x: hidden !important; }
    body.game-body .scene-popup,
    body.game-body .workshop-scene.scene-popup,
    body.game-body .dealer-scene.scene-popup,
    body.game-body .gas-scene.scene-popup,
    body.game-body .assistance-scene.scene-popup,
    body.game-body .bank-scene.scene-popup,
    body.game-body .rick-scene.scene-popup,
    body.game-body .jobcenter-scene.scene-popup,
    body.game-body .hq-office-scene.scene-popup,
    body.game-body .store-purchase-scene.scene-popup {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        max-width: 100vw !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        border-radius: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        transform: none !important;
        aspect-ratio: auto !important;
        background-color: #120907 !important;
        background-size: cover !important;
        background-position: center !important;
    }
    body.game-body .scene-popup::before,
    body.game-body .workshop-scene.scene-popup::before,
    body.game-body .dealer-scene.scene-popup::before,
    body.game-body .gas-scene.scene-popup::before,
    body.game-body .assistance-scene.scene-popup::before,
    body.game-body .bank-scene.scene-popup::before,
    body.game-body .rick-scene.scene-popup::before,
    body.game-body .jobcenter-scene.scene-popup::before,
    body.game-body .hq-office-scene.scene-popup::before,
    body.game-body .store-purchase-scene.scene-popup::before {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background-image: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.32) 42%, rgba(0,0,0,.76) 100%), var(--scene-bg, url('../img/background_city.png')) !important;
        background-size: cover !important;
        background-position: center !important;
        transform: none !important;
        z-index: 0 !important;
    }
    body.game-body .scene-popup .workshop-stage,
    body.game-body .scene-popup .gas-stage,
    body.game-body .scene-popup .dealer-stage,
    body.game-body .scene-popup .assistance-stage,
    body.game-body .scene-popup .rick-stage,
    body.game-body .scene-popup .bank-stage,
    body.game-body .scene-popup .jobcenter-stage,
    body.game-body .scene-popup .hq-office-stage,
    body.game-body .store-purchase-scene.scene-popup .store-purchase-stage {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        overflow: hidden !important;
        transform: none !important;
        pointer-events: none !important;
        z-index: 1 !important;
    }
    body.game-body .scene-popup .scene-character,
    body.game-body .scene-popup .enrico-figure,
    body.game-body .scene-popup .pauline-figure,
    body.game-body .scene-popup .dealer-figure,
    body.game-body .scene-popup .assistance-figure,
    body.game-body .scene-popup .rick-figure,
    body.game-body .scene-popup .bank-figure,
    body.game-body .scene-popup .jobcenter-figure,
    body.game-body .scene-popup .hq-office-figure,
    body.game-body .store-purchase-scene.scene-popup .store-dealer-figure {
        display: block !important;
        position: absolute !important;
        z-index: 2 !important;
        top: max(52px, calc(env(safe-area-inset-top) + 36px)) !important;
        right: clamp(8px, 4vw, 28px) !important;
        left: auto !important;
        bottom: auto !important;
        width: min(42vw, 245px) !important;
        max-width: 46vw !important;
        height: auto !important;
        max-height: 35dvh !important;
        object-fit: contain !important;
        object-position: right top !important;
        opacity: .98 !important;
        transform: none !important;
        filter: drop-shadow(0 20px 30px rgba(0,0,0,.5)) !important;
        pointer-events: none !important;
    }
    body.game-body .scene-popup .scene-dialogue,
    body.game-body .scene-popup .enrico-dialogue,
    body.game-body .scene-popup .pauline-dialogue,
    body.game-body .scene-popup .dealer-dialogue,
    body.game-body .scene-popup .assistance-dialogue,
    body.game-body .scene-popup .rick-dialogue,
    body.game-body .scene-popup .bank-dialogue,
    body.game-body .scene-popup .jobcenter-dialogue,
    body.game-body .scene-popup .hq-office-dialogue,
    body.game-body .store-purchase-scene.scene-popup .store-purchase-dialogue {
        position: absolute !important;
        z-index: 5 !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: max(18px, calc(env(safe-area-inset-bottom) + 16px)) !important;
        transform: translateX(-50%) !important;
        width: min(92vw, 620px) !important;
        min-width: 0 !important;
        max-width: min(92vw, 620px) !important;
        min-height: min(28dvh, 220px) !important;
        max-height: min(54dvh, 520px) !important;
        overflow-y: auto !important;
        padding: clamp(1.05rem, 4vw, 1.75rem) !important;
        margin: 0 !important;
        border-radius: clamp(24px, 6vw, 38px) !important;
        border: 1px solid rgba(255,218,122,.38) !important;
        background: linear-gradient(180deg, rgba(53,28,13,.96), rgba(24,10,5,.96)) !important;
        color: #fff4d6 !important;
        box-shadow: 0 24px 70px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.08) !important;
        backdrop-filter: blur(14px) !important;
        pointer-events: auto !important;
        text-align: left !important;
    }
    body.game-body .scene-popup .scene-dialogue > strong,
    body.game-body .scene-popup .enrico-dialogue > strong,
    body.game-body .scene-popup .pauline-dialogue > strong,
    body.game-body .scene-popup .dealer-dialogue > strong,
    body.game-body .scene-popup .assistance-dialogue > strong,
    body.game-body .scene-popup .rick-dialogue > strong,
    body.game-body .scene-popup .bank-dialogue > strong,
    body.game-body .scene-popup .jobcenter-dialogue > strong,
    body.game-body .scene-popup .hq-office-dialogue > strong {
        color: #ffe28a !important;
        font-size: clamp(1.45rem, 6.2vw, 2.35rem) !important;
        line-height: 1.02 !important;
        text-shadow: 0 3px 12px rgba(0,0,0,.38) !important;
    }
    body.game-body .scene-popup .scene-dialogue p,
    body.game-body .scene-popup .enrico-dialogue p,
    body.game-body .scene-popup .pauline-dialogue p,
    body.game-body .scene-popup .dealer-dialogue p,
    body.game-body .scene-popup .assistance-dialogue p,
    body.game-body .scene-popup .rick-dialogue p,
    body.game-body .scene-popup .bank-dialogue p,
    body.game-body .scene-popup .jobcenter-dialogue p,
    body.game-body .scene-popup .hq-office-dialogue p {
        color: #fff1d0 !important;
        font-size: clamp(.98rem, 4vw, 1.22rem) !important;
        line-height: 1.34 !important;
    }
    body.game-body .scene-popup .workshop-close,
    body.game-body .scene-popup .dealer-close,
    body.game-body .scene-popup .gas-close,
    body.game-body .scene-popup .bank-close,
    body.game-body .scene-popup .jobcenter-close,
    body.game-body .rick-close,
    body.game-body .store-purchase-close,
    body.game-body #closeWorkshopScene,
    body.game-body #closeDealerScene,
    body.game-body #closeGasScene,
    body.game-body #closeAssistanceScene,
    body.game-body #closeBankScene,
    body.game-body #closeStorePurchaseScene,
    body.game-body #closeJobcenterScene {
        position: absolute !important;
        top: max(14px, env(safe-area-inset-top)) !important;
        right: max(14px, env(safe-area-inset-right)) !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 20 !important;
        width: clamp(54px, 14vw, 72px) !important;
        height: clamp(54px, 14vw, 72px) !important;
        border-radius: clamp(18px, 5vw, 26px) !important;
        background: linear-gradient(145deg, rgba(57,31,13,.96), rgba(20,10,4,.98)) !important;
        color: #fff1c0 !important;
        border: 1px solid rgba(255,219,127,.46) !important;
        font-size: clamp(1.7rem, 7vw, 2.2rem) !important;
        display: grid !important;
        place-items: center !important;
    }
    body.game-body .scene-popup .button,
    body.game-body .scene-popup button:not(.workshop-close):not(.dealer-close):not(.gas-close):not(.bank-close):not(.rick-close):not(.store-purchase-close):not(.jobcenter-close),
    body.game-body .store-purchase-scene.scene-popup .button {
        min-height: 46px !important;
        border-radius: 18px !important;
        pointer-events: auto !important;
    }
    body.game-body .global-event-banner {
        grid-template-columns: 1fr 54px !important;
    }
    body.game-body .global-event-banner span { grid-column: 1 / -1; white-space: normal !important; }
    body.game-body .global-event-modal { padding: .75rem !important; align-items: end !important; }
    body.game-body .global-event-card { width: 100% !important; border-radius: 26px; }
}

/* v4.82: harte Mobile-Dialog-Korrektur für echte Handy-Browser
   Ziel: Hintergrund füllt den Bildschirm, Figur oben rechts, Dialog unten/zentral,
   niemals seitlich aus dem Viewport laufen. */
@media (max-width: 1024px), (hover: none) and (pointer: coarse) {
    body.game-body:has(.scene-popup:not(.hidden)) {
        overflow: hidden !important;
        touch-action: none !important;
    }

    body.game-body .scene-popup:not(.hidden),
    body.game-body .workshop-scene.scene-popup:not(.hidden),
    body.game-body .dealer-scene.scene-popup:not(.hidden),
    body.game-body .gas-scene.scene-popup:not(.hidden),
    body.game-body .assistance-scene.scene-popup:not(.hidden),
    body.game-body .bank-scene.scene-popup:not(.hidden),
    body.game-body .rick-scene.scene-popup:not(.hidden),
    body.game-body .jobcenter-scene.scene-popup:not(.hidden),
    body.game-body .hq-office-scene.scene-popup:not(.hidden),
    body.game-body .store-purchase-scene.scene-popup:not(.hidden) {
        position: fixed !important;
        inset: 0 !important;
        left: 0 !important;
        top: 0 !important;
        right: auto !important;
        bottom: auto !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-width: 100vw !important;
        min-height: 100dvh !important;
        max-width: 100vw !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        aspect-ratio: auto !important;
        z-index: 26000 !important;
        background: #120907 !important;
        box-sizing: border-box !important;
        contain: layout paint !important;
    }

    body.game-body .scene-popup:not(.hidden)::before,
    body.game-body .workshop-scene.scene-popup:not(.hidden)::before,
    body.game-body .dealer-scene.scene-popup:not(.hidden)::before,
    body.game-body .gas-scene.scene-popup:not(.hidden)::before,
    body.game-body .assistance-scene.scene-popup:not(.hidden)::before,
    body.game-body .bank-scene.scene-popup:not(.hidden)::before,
    body.game-body .rick-scene.scene-popup:not(.hidden)::before,
    body.game-body .jobcenter-scene.scene-popup:not(.hidden)::before,
    body.game-body .hq-office-scene.scene-popup:not(.hidden)::before,
    body.game-body .store-purchase-scene.scene-popup:not(.hidden)::before {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background-image: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.28) 42%, rgba(0,0,0,.72) 100%), var(--scene-bg, url('../img/background_city.png')) !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        transform: none !important;
        pointer-events: none !important;
    }

    body.game-body .scene-popup:not(.hidden) > *,
    body.game-body .scene-popup:not(.hidden) .workshop-stage,
    body.game-body .scene-popup:not(.hidden) .gas-stage,
    body.game-body .scene-popup:not(.hidden) .dealer-stage,
    body.game-body .scene-popup:not(.hidden) .assistance-stage,
    body.game-body .scene-popup:not(.hidden) .rick-stage,
    body.game-body .scene-popup:not(.hidden) .bank-stage,
    body.game-body .scene-popup:not(.hidden) .jobcenter-stage,
    body.game-body .scene-popup:not(.hidden) .hq-office-stage,
    body.game-body .store-purchase-scene.scene-popup:not(.hidden) .store-purchase-stage {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        display: block !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        pointer-events: none !important;
        box-sizing: border-box !important;
    }

    body.game-body .scene-popup:not(.hidden) .scene-character,
    body.game-body .scene-popup:not(.hidden) .enrico-figure,
    body.game-body .scene-popup:not(.hidden) .pauline-figure,
    body.game-body .scene-popup:not(.hidden) .dealer-figure,
    body.game-body .scene-popup:not(.hidden) .assistance-figure,
    body.game-body .scene-popup:not(.hidden) .rick-figure,
    body.game-body .scene-popup:not(.hidden) .bank-figure,
    body.game-body .scene-popup:not(.hidden) .jobcenter-figure,
    body.game-body .scene-popup:not(.hidden) .hq-office-figure,
    body.game-body .store-purchase-scene.scene-popup:not(.hidden) .store-dealer-figure {
        display: block !important;
        position: absolute !important;
        z-index: 3 !important;
        top: max(56px, calc(env(safe-area-inset-top) + 38px)) !important;
        right: max(8px, env(safe-area-inset-right)) !important;
        left: auto !important;
        bottom: auto !important;
        width: min(46vw, 235px) !important;
        max-width: 48vw !important;
        height: auto !important;
        max-height: 34dvh !important;
        object-fit: contain !important;
        object-position: right top !important;
        opacity: .98 !important;
        transform: none !important;
        translate: none !important;
        filter: drop-shadow(0 20px 30px rgba(0,0,0,.56)) !important;
        pointer-events: none !important;
    }

    body.game-body .scene-popup:not(.hidden) .scene-dialogue,
    body.game-body .scene-popup:not(.hidden) .enrico-dialogue,
    body.game-body .scene-popup:not(.hidden) .pauline-dialogue,
    body.game-body .scene-popup:not(.hidden) .dealer-dialogue,
    body.game-body .scene-popup:not(.hidden) .assistance-dialogue,
    body.game-body .scene-popup:not(.hidden) .rick-dialogue,
    body.game-body .scene-popup:not(.hidden) .bank-dialogue,
    body.game-body .scene-popup:not(.hidden) .jobcenter-dialogue,
    body.game-body .scene-popup:not(.hidden) .hq-office-dialogue,
    body.game-body .store-purchase-scene.scene-popup:not(.hidden) .store-purchase-dialogue {
        position: absolute !important;
        z-index: 8 !important;
        left: max(16px, env(safe-area-inset-left)) !important;
        right: max(16px, env(safe-area-inset-right)) !important;
        bottom: max(18px, calc(env(safe-area-inset-bottom) + 16px)) !important;
        top: auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: clamp(210px, 32dvh, 330px) !important;
        max-height: min(55dvh, 560px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        transform: none !important;
        translate: none !important;
        margin: 0 !important;
        padding: clamp(1.15rem, 4.2vw, 1.7rem) !important;
        border-radius: clamp(24px, 7vw, 38px) !important;
        border: 1px solid rgba(255,218,122,.38) !important;
        background: linear-gradient(180deg, rgba(54,29,14,.96), rgba(21,10,5,.97)) !important;
        color: #fff4d6 !important;
        box-shadow: 0 24px 70px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.08) !important;
        backdrop-filter: blur(14px) !important;
        -webkit-backdrop-filter: blur(14px) !important;
        pointer-events: auto !important;
        text-align: left !important;
        box-sizing: border-box !important;
        overscroll-behavior: contain !important;
    }

    body.game-body .scene-popup:not(.hidden) .scene-dialogue > strong,
    body.game-body .scene-popup:not(.hidden) .enrico-dialogue > strong,
    body.game-body .scene-popup:not(.hidden) .pauline-dialogue > strong,
    body.game-body .scene-popup:not(.hidden) .dealer-dialogue > strong,
    body.game-body .scene-popup:not(.hidden) .assistance-dialogue > strong,
    body.game-body .scene-popup:not(.hidden) .rick-dialogue > strong,
    body.game-body .scene-popup:not(.hidden) .bank-dialogue > strong,
    body.game-body .scene-popup:not(.hidden) .jobcenter-dialogue > strong,
    body.game-body .scene-popup:not(.hidden) .hq-office-dialogue > strong,
    body.game-body .store-purchase-scene.scene-popup:not(.hidden) .store-purchase-dialogue strong {
        display: block !important;
        color: #ffe28a !important;
        font-size: clamp(1.55rem, 7.2vw, 2.35rem) !important;
        line-height: 1.03 !important;
        margin: 0 0 .65rem !important;
        text-shadow: 0 3px 12px rgba(0,0,0,.42) !important;
        letter-spacing: .01em !important;
    }

    body.game-body .scene-popup:not(.hidden) .scene-dialogue p,
    body.game-body .scene-popup:not(.hidden) .enrico-dialogue p,
    body.game-body .scene-popup:not(.hidden) .pauline-dialogue p,
    body.game-body .scene-popup:not(.hidden) .dealer-dialogue p,
    body.game-body .scene-popup:not(.hidden) .assistance-dialogue p,
    body.game-body .scene-popup:not(.hidden) .rick-dialogue p,
    body.game-body .scene-popup:not(.hidden) .bank-dialogue p,
    body.game-body .scene-popup:not(.hidden) .jobcenter-dialogue p,
    body.game-body .scene-popup:not(.hidden) .hq-office-dialogue p,
    body.game-body .store-purchase-scene.scene-popup:not(.hidden) .store-purchase-dialogue p {
        color: #fff1d0 !important;
        font-size: clamp(1rem, 4.4vw, 1.22rem) !important;
        line-height: 1.36 !important;
        margin: .35rem 0 .85rem !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    body.game-body .scene-popup:not(.hidden) .workshop-close,
    body.game-body .scene-popup:not(.hidden) .dealer-close,
    body.game-body .scene-popup:not(.hidden) .gas-close,
    body.game-body .scene-popup:not(.hidden) .bank-close,
    body.game-body .scene-popup:not(.hidden) .jobcenter-close,
    body.game-body .scene-popup:not(.hidden) .rick-close,
    body.game-body .scene-popup:not(.hidden) .store-purchase-close,
    body.game-body #closeWorkshopScene,
    body.game-body #closeDealerScene,
    body.game-body #closeGasScene,
    body.game-body #closeAssistanceScene,
    body.game-body #closeBankScene,
    body.game-body #closeStorePurchaseScene,
    body.game-body #closeJobcenterScene,
    body.game-body #closeMaikScene,
    body.game-body #closeHqOfficeScene {
        position: fixed !important;
        z-index: 30 !important;
        top: max(14px, calc(env(safe-area-inset-top) + 10px)) !important;
        right: max(14px, calc(env(safe-area-inset-right) + 10px)) !important;
        left: auto !important;
        bottom: auto !important;
        width: clamp(56px, 15vw, 74px) !important;
        height: clamp(56px, 15vw, 74px) !important;
        border-radius: clamp(18px, 5.5vw, 27px) !important;
        background: linear-gradient(145deg, rgba(57,31,13,.96), rgba(20,10,4,.98)) !important;
        color: #fff1c0 !important;
        border: 1px solid rgba(255,219,127,.46) !important;
        font-size: clamp(1.85rem, 7.5vw, 2.25rem) !important;
        font-weight: 1000 !important;
        display: grid !important;
        place-items: center !important;
        box-shadow: 0 16px 34px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08) !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    body.game-body .scene-popup:not(.hidden) .button,
    body.game-body .scene-popup:not(.hidden) button:not(.workshop-close):not(.dealer-close):not(.gas-close):not(.bank-close):not(.rick-close):not(.store-purchase-close):not(.jobcenter-close),
    body.game-body .scene-popup:not(.hidden) select,
    body.game-body .scene-popup:not(.hidden) input,
    body.game-body .store-purchase-scene.scene-popup:not(.hidden) .button {
        pointer-events: auto !important;
        max-width: 100% !important;
        min-height: 46px !important;
        border-radius: 18px !important;
        box-sizing: border-box !important;
    }

    body.game-body .scene-popup:not(.hidden) .rick-popup-controls,
    body.game-body .scene-popup:not(.hidden) .workshop-popup-controls,
    body.game-body .scene-popup:not(.hidden) .dealer-popup-controls,
    body.game-body .scene-popup:not(.hidden) .gas-popup-controls,
    body.game-body .scene-popup:not(.hidden) .bank-popup-controls,
    body.game-body .scene-popup:not(.hidden) .jobcenter-popup-controls {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
}

@media (max-width: 1024px) and (max-height: 690px), (hover: none) and (pointer: coarse) and (max-height: 690px) {
    body.game-body .scene-popup:not(.hidden) .scene-character,
    body.game-body .scene-popup:not(.hidden) .enrico-figure,
    body.game-body .scene-popup:not(.hidden) .pauline-figure,
    body.game-body .scene-popup:not(.hidden) .dealer-figure,
    body.game-body .scene-popup:not(.hidden) .assistance-figure,
    body.game-body .scene-popup:not(.hidden) .rick-figure,
    body.game-body .scene-popup:not(.hidden) .bank-figure,
    body.game-body .scene-popup:not(.hidden) .jobcenter-figure,
    body.game-body .store-purchase-scene.scene-popup:not(.hidden) .store-dealer-figure {
        top: max(50px, calc(env(safe-area-inset-top) + 28px)) !important;
        width: min(40vw, 190px) !important;
        max-height: 27dvh !important;
        opacity: .94 !important;
    }
    body.game-body .scene-popup:not(.hidden) .scene-dialogue,
    body.game-body .scene-popup:not(.hidden) .enrico-dialogue,
    body.game-body .scene-popup:not(.hidden) .pauline-dialogue,
    body.game-body .scene-popup:not(.hidden) .dealer-dialogue,
    body.game-body .scene-popup:not(.hidden) .assistance-dialogue,
    body.game-body .scene-popup:not(.hidden) .rick-dialogue,
    body.game-body .scene-popup:not(.hidden) .bank-dialogue,
    body.game-body .scene-popup:not(.hidden) .jobcenter-dialogue,
    body.game-body .scene-popup:not(.hidden) .hq-office-dialogue,
    body.game-body .store-purchase-scene.scene-popup:not(.hidden) .store-purchase-dialogue {
        bottom: max(10px, calc(env(safe-area-inset-bottom) + 8px)) !important;
        min-height: 190px !important;
        max-height: 61dvh !important;
        padding: 1rem !important;
        border-radius: 24px !important;
    }
}

/* v4.82: echte Mobile-Dialoge per JS-Layout + Global-Event nur noch im Menü */
body.game-body .global-event-banner {
    display: none !important;
}
body.game-body .global-event-top-chip {
    appearance: none;
    border: 1px solid rgba(255,216,91,.48);
    border-radius: 16px;
    min-height: 44px;
    height: 44px;
    padding: .2rem .45rem .2rem .65rem;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    background: linear-gradient(145deg, rgba(89,48,14,.92), rgba(35,17,7,.92));
    color: #ffe28a;
    font-weight: 1000;
    letter-spacing: .02em;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 22px rgba(0,0,0,.22);
    animation: globalEventTopPulseV477 1.55s ease-in-out infinite;
}
body.game-body .global-event-top-chip span {
    white-space: nowrap;
    font-size: .83rem;
}
body.game-body .global-event-top-chip .global-event-mini-clock {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
}
body.game-body .global-event-top-chip .global-event-mini-clock b {
    width: calc(100% - 8px) !important;
    height: calc(100% - 8px) !important;
    font-size: .55rem !important;
}
@keyframes globalEventTopPulseV477 {
    0%,100% { filter: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 22px rgba(0,0,0,.22); }
    50% { filter: brightness(1.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 0 22px rgba(255,204,75,.24), 0 10px 22px rgba(0,0,0,.25); }
}
body.game-body .event-line.global-line {
    position: relative;
}
body.game-body .event-line.global-line::after {
    content: 'LIVE';
    position: absolute;
    top: .55rem;
    right: .55rem;
    font-size: .62rem;
    font-weight: 1000;
    color: #2d1706;
    background: #ffe28a;
    border-radius: 999px;
    padding: .18rem .42rem;
    letter-spacing: .08em;
}

@media (max-width: 900px), (pointer: coarse) and (max-width: 1180px) {
    html:has(body.game-body .scene-popup.mobile-scene-v477:not(.hidden)),
    body.game-body:has(.scene-popup.mobile-scene-v477:not(.hidden)) {
        overflow: hidden !important;
        overscroll-behavior: none !important;
    }
    body.game-body .scene-popup.mobile-scene-v477,
    body.game-body .store-purchase-scene.scene-popup.mobile-scene-v477,
    body.game-body .bank-scene.scene-popup.mobile-scene-v477,
    body.game-body .rick-scene.scene-popup.mobile-scene-v477,
    body.game-body .workshop-scene.scene-popup.mobile-scene-v477,
    body.game-body .dealer-scene.scene-popup.mobile-scene-v477,
    body.game-body .gas-scene.scene-popup.mobile-scene-v477,
    body.game-body .assistance-scene.scene-popup.mobile-scene-v477,
    body.game-body .jobcenter-scene.scene-popup.mobile-scene-v477,
    body.game-body .hq-office-scene.scene-popup.mobile-scene-v477 {
        box-sizing: border-box !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #100807 !important;
        isolation: isolate !important;
        contain: layout paint size !important;
        touch-action: none !important;
    }
    body.game-body .scene-popup.mobile-scene-v477::before,
    body.game-body .store-purchase-scene.scene-popup.mobile-scene-v477::before,
    body.game-body .bank-scene.scene-popup.mobile-scene-v477::before,
    body.game-body .rick-scene.scene-popup.mobile-scene-v477::before,
    body.game-body .workshop-scene.scene-popup.mobile-scene-v477::before,
    body.game-body .dealer-scene.scene-popup.mobile-scene-v477::before,
    body.game-body .gas-scene.scene-popup.mobile-scene-v477::before,
    body.game-body .assistance-scene.scene-popup.mobile-scene-v477::before,
    body.game-body .jobcenter-scene.scene-popup.mobile-scene-v477::before,
    body.game-body .hq-office-scene.scene-popup.mobile-scene-v477::before {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background-image: linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.18) 48%, rgba(0,0,0,.78) 100%), var(--scene-bg, url('../img/background_city.png')) !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: none !important;
    }
    body.game-body .scene-popup.mobile-scene-v477 .workshop-stage,
    body.game-body .scene-popup.mobile-scene-v477 .dealer-stage,
    body.game-body .scene-popup.mobile-scene-v477 .gas-stage,
    body.game-body .scene-popup.mobile-scene-v477 .assistance-stage,
    body.game-body .scene-popup.mobile-scene-v477 .bank-stage,
    body.game-body .scene-popup.mobile-scene-v477 .rick-stage,
    body.game-body .scene-popup.mobile-scene-v477 .jobcenter-stage,
    body.game-body .scene-popup.mobile-scene-v477 .hq-office-stage,
    body.game-body .scene-popup.mobile-scene-v477 .store-purchase-stage {
        box-sizing: border-box !important;
        z-index: 2 !important;
    }
    body.game-body .scene-popup.mobile-scene-v477 .scene-character,
    body.game-body .scene-popup.mobile-scene-v477 .enrico-figure,
    body.game-body .scene-popup.mobile-scene-v477 .pauline-figure,
    body.game-body .scene-popup.mobile-scene-v477 .dealer-figure,
    body.game-body .scene-popup.mobile-scene-v477 .assistance-figure,
    body.game-body .scene-popup.mobile-scene-v477 .rick-figure,
    body.game-body .scene-popup.mobile-scene-v477 .bank-figure,
    body.game-body .scene-popup.mobile-scene-v477 .jobcenter-figure,
    body.game-body .store-purchase-scene.scene-popup.mobile-scene-v477 .store-dealer-figure {
        box-sizing: border-box !important;
        opacity: .98 !important;
    }
    body.game-body .scene-popup.mobile-scene-v477 .scene-dialogue,
    body.game-body .scene-popup.mobile-scene-v477 .enrico-dialogue,
    body.game-body .scene-popup.mobile-scene-v477 .pauline-dialogue,
    body.game-body .scene-popup.mobile-scene-v477 .dealer-dialogue,
    body.game-body .scene-popup.mobile-scene-v477 .assistance-dialogue,
    body.game-body .scene-popup.mobile-scene-v477 .rick-dialogue,
    body.game-body .scene-popup.mobile-scene-v477 .bank-dialogue,
    body.game-body .scene-popup.mobile-scene-v477 .jobcenter-dialogue,
    body.game-body .scene-popup.mobile-scene-v477 .hq-office-dialogue,
    body.game-body .store-purchase-scene.scene-popup.mobile-scene-v477 .store-purchase-dialogue {
        box-sizing: border-box !important;
        display: block !important;
        text-align: left !important;
        overscroll-behavior: contain !important;
        scrollbar-width: thin !important;
    }
    body.game-body .scene-popup.mobile-scene-v477 .scene-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-v477 .enrico-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-v477 .pauline-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-v477 .dealer-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-v477 .assistance-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-v477 .rick-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-v477 .bank-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-v477 .jobcenter-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-v477 .hq-office-dialogue > strong,
    body.game-body .store-purchase-scene.scene-popup.mobile-scene-v477 .store-dealer-line > strong {
        color: #ffe28a !important;
        font-size: clamp(1.55rem, 6.6vw, 2.4rem) !important;
        line-height: 1.02 !important;
        margin: 0 0 .65rem !important;
        text-shadow: 0 3px 12px rgba(0,0,0,.42) !important;
    }
    body.game-body .scene-popup.mobile-scene-v477 .scene-dialogue p,
    body.game-body .scene-popup.mobile-scene-v477 .enrico-dialogue p,
    body.game-body .scene-popup.mobile-scene-v477 .pauline-dialogue p,
    body.game-body .scene-popup.mobile-scene-v477 .dealer-dialogue p,
    body.game-body .scene-popup.mobile-scene-v477 .assistance-dialogue p,
    body.game-body .scene-popup.mobile-scene-v477 .rick-dialogue p,
    body.game-body .scene-popup.mobile-scene-v477 .bank-dialogue p,
    body.game-body .scene-popup.mobile-scene-v477 .jobcenter-dialogue p,
    body.game-body .store-purchase-scene.scene-popup.mobile-scene-v477 .store-dealer-line p {
        color: #fff2d8 !important;
        font-size: clamp(1rem, 4.2vw, 1.26rem) !important;
        line-height: 1.34 !important;
    }
    body.game-body .scene-popup.mobile-scene-v477 button:not(.workshop-close):not(.dealer-close):not(.gas-close):not(.bank-close):not(.rick-close):not(.store-purchase-close):not(.jobcenter-close),
    body.game-body .scene-popup.mobile-scene-v477 .button {
        min-height: 46px !important;
        border-radius: 18px !important;
        font-size: clamp(.85rem, 3.4vw, 1rem) !important;
    }
    body.game-body .scene-popup.mobile-scene-v477 .workshop-popup-controls,
    body.game-body .scene-popup.mobile-scene-v477 .dealer-popup-controls,
    body.game-body .scene-popup.mobile-scene-v477 .gas-popup-controls,
    body.game-body .scene-popup.mobile-scene-v477 .bank-popup-controls,
    body.game-body .scene-popup.mobile-scene-v477 .jobcenter-popup-controls,
    body.game-body .scene-popup.mobile-scene-v477 .rick-popup-controls {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }
}
@media (max-width: 540px) {
    body.game-body .global-event-top-chip span { display: none; }
    body.game-body .global-event-top-chip {
        min-width: 46px;
        width: 46px;
        padding: .15rem;
        justify-content: center;
    }
    body.game-body .global-event-top-chip::before {
        content: '🌍';
        position: absolute;
        transform: translate(-11px,-13px);
        font-size: .78rem;
    }
}

/* v4.82: echte, vom Spiel-Layout entkoppelte Mobile-Dialoge */
html.mobile-scene-open-v478,
body.mobile-scene-open-v478 {
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none !important;
}
body.game-body .scene-popup.mobile-scene-detached-v478 {
    position: fixed !important;
    display: block !important;
    left: 0 !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    z-index: 2147483000 !important;
    background: #100807 !important;
    contain: strict !important;
    isolation: isolate !important;
    max-width: none !important;
    max-height: none !important;
}
body.game-body .scene-popup.mobile-scene-detached-v478.hidden { display: none !important; }
body.game-body .scene-popup.mobile-scene-detached-v478::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-image: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.20) 45%, rgba(0,0,0,.76) 100%), var(--scene-bg, url('../img/background_city.png')) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: none !important;
}
body.game-body .scene-popup.mobile-scene-detached-v478 .workshop-stage,
body.game-body .scene-popup.mobile-scene-detached-v478 .dealer-stage,
body.game-body .scene-popup.mobile-scene-detached-v478 .gas-stage,
body.game-body .scene-popup.mobile-scene-detached-v478 .assistance-stage,
body.game-body .scene-popup.mobile-scene-detached-v478 .bank-stage,
body.game-body .scene-popup.mobile-scene-detached-v478 .rick-stage,
body.game-body .scene-popup.mobile-scene-detached-v478 .jobcenter-stage,
body.game-body .scene-popup.mobile-scene-detached-v478 .hq-office-stage,
body.game-body .scene-popup.mobile-scene-detached-v478 .store-purchase-stage {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 2 !important;
    pointer-events: auto !important;
}
body.game-body .scene-popup.mobile-scene-detached-v478 .scene-character,
body.game-body .scene-popup.mobile-scene-detached-v478 .enrico-figure,
body.game-body .scene-popup.mobile-scene-detached-v478 .pauline-figure,
body.game-body .scene-popup.mobile-scene-detached-v478 .dealer-figure,
body.game-body .scene-popup.mobile-scene-detached-v478 .assistance-figure,
body.game-body .scene-popup.mobile-scene-detached-v478 .rick-figure,
body.game-body .scene-popup.mobile-scene-detached-v478 .bank-figure,
body.game-body .scene-popup.mobile-scene-detached-v478 .jobcenter-figure,
body.game-body .scene-popup.mobile-scene-detached-v478 .store-dealer-figure {
    position: absolute !important;
    z-index: 3 !important;
    top: max(46px, 4dvh) !important;
    right: max(8px, 3vw) !important;
    left: auto !important;
    bottom: auto !important;
    width: min(46vw, 250px) !important;
    height: auto !important;
    max-width: min(46vw, 250px) !important;
    max-height: 40dvh !important;
    object-fit: contain !important;
    object-position: right top !important;
    transform: none !important;
    filter: drop-shadow(0 22px 28px rgba(0,0,0,.50)) !important;
    pointer-events: none !important;
}
body.game-body .scene-popup.mobile-scene-detached-v478 .scene-dialogue,
body.game-body .scene-popup.mobile-scene-detached-v478 .enrico-dialogue,
body.game-body .scene-popup.mobile-scene-detached-v478 .pauline-dialogue,
body.game-body .scene-popup.mobile-scene-detached-v478 .dealer-dialogue,
body.game-body .scene-popup.mobile-scene-detached-v478 .assistance-dialogue,
body.game-body .scene-popup.mobile-scene-detached-v478 .rick-dialogue,
body.game-body .scene-popup.mobile-scene-detached-v478 .bank-dialogue,
body.game-body .scene-popup.mobile-scene-detached-v478 .jobcenter-dialogue,
body.game-body .scene-popup.mobile-scene-detached-v478 .hq-office-dialogue,
body.game-body .scene-popup.mobile-scene-detached-v478 .store-purchase-dialogue {
    position: absolute !important;
    z-index: 5 !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    transform: translateX(-50%) !important;
    width: min(92vw, 620px) !important;
    min-width: 0 !important;
    max-width: min(92vw, 620px) !important;
    min-height: min(28dvh, 240px) !important;
    max-height: 56dvh !important;
    overflow: auto !important;
    margin: 0 !important;
    padding: clamp(15px, 4vw, 22px) !important;
    border-radius: clamp(24px, 7vw, 36px) !important;
    border: 1px solid rgba(255,218,122,.38) !important;
    background: linear-gradient(180deg, rgba(53,28,13,.95), rgba(24,10,5,.95)) !important;
    color: #fff4d6 !important;
    box-shadow: 0 26px 80px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter: blur(16px) !important;
    box-sizing: border-box !important;
    pointer-events: auto !important;
    text-align: left !important;
}
body.game-body .scene-popup.mobile-scene-detached-v478 .workshop-close,
body.game-body .scene-popup.mobile-scene-detached-v478 .dealer-close,
body.game-body .scene-popup.mobile-scene-detached-v478 .gas-close,
body.game-body .scene-popup.mobile-scene-detached-v478 .bank-close,
body.game-body .scene-popup.mobile-scene-detached-v478 .rick-close,
body.game-body .scene-popup.mobile-scene-detached-v478 .jobcenter-close,
body.game-body .scene-popup.mobile-scene-detached-v478 .store-purchase-close {
    position: absolute !important;
    z-index: 20 !important;
    top: max(12px, env(safe-area-inset-top)) !important;
    right: max(12px, 3.5vw) !important;
    left: auto !important;
    bottom: auto !important;
    width: clamp(54px, 15vw, 66px) !important;
    height: clamp(54px, 15vw, 66px) !important;
    border-radius: 20px !important;
    transform: none !important;
    pointer-events: auto !important;
}
@supports (height: 100dvh) {
    body.game-body .scene-popup.mobile-scene-detached-v478 {
        height: 100dvh !important;
        max-height: 100dvh !important;
    }
}

/* v4.82: Mobile PopUps stabil halten + Charakter nicht unter Schließen-Button */
html.mobile-scene-open-v479,
body.game-body.mobile-scene-open-v479 {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}
body.game-body .scene-popup.mobile-scene-stable-v479 {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
    overflow: hidden !important;
    z-index: 2147483000 !important;
    pointer-events: auto !important;
}
body.game-body .scene-popup.mobile-scene-stable-v479 .scene-character,
body.game-body .scene-popup.mobile-scene-stable-v479 .enrico-figure,
body.game-body .scene-popup.mobile-scene-stable-v479 .pauline-figure,
body.game-body .scene-popup.mobile-scene-stable-v479 .dealer-figure,
body.game-body .scene-popup.mobile-scene-stable-v479 .assistance-figure,
body.game-body .scene-popup.mobile-scene-stable-v479 .rick-figure,
body.game-body .scene-popup.mobile-scene-stable-v479 .bank-figure,
body.game-body .scene-popup.mobile-scene-stable-v479 .jobcenter-figure,
body.game-body .scene-popup.mobile-scene-stable-v479 .store-dealer-figure {
    right: clamp(72px, 18vw, 94px) !important;
    width: min(38vw, 220px) !important;
    max-width: min(38vw, 220px) !important;
    max-height: 38dvh !important;
}
body.game-body .scene-popup.mobile-scene-stable-v479 .workshop-close,
body.game-body .scene-popup.mobile-scene-stable-v479 .dealer-close,
body.game-body .scene-popup.mobile-scene-stable-v479 .gas-close,
body.game-body .scene-popup.mobile-scene-stable-v479 .bank-close,
body.game-body .scene-popup.mobile-scene-stable-v479 .rick-close,
body.game-body .scene-popup.mobile-scene-stable-v479 .jobcenter-close,
body.game-body .scene-popup.mobile-scene-stable-v479 .store-purchase-close,
body.game-body .scene-popup.mobile-scene-stable-v479 .special-job-close {
    z-index: 2147483200 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
}

/* v4.82: Desktop-PopUps sofort in Endposition anzeigen, keine Start-/Standardposition mehr */
@media (min-width: 901px) {
    body.game-body .scene-popup.scene-ready-v482,
    body.game-body .store-purchase-scene.scene-popup.scene-ready-v482,
    body.game-body .scene-popup.scene-ready-v482.scene-opening,
    body.game-body .store-purchase-scene.scene-popup.scene-ready-v482.scene-opening {
        opacity: 1 !important;
        filter: none !important;
        animation: sceneOpenInstantV482 .12s ease-out both !important;
        transform: translate(-50%, -50%) scale(1) !important;
    }
    @keyframes sceneOpenInstantV482 {
        from { opacity: 0; transform: translate(-50%, -50%) scale(.992); filter: none; }
        to { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: none; }
    }
    body.game-body .scene-popup.scene-ready-v482 .workshop-stage,
    body.game-body .scene-popup.scene-ready-v482 .gas-stage,
    body.game-body .scene-popup.scene-ready-v482 .dealer-stage,
    body.game-body .scene-popup.scene-ready-v482 .assistance-stage,
    body.game-body .scene-popup.scene-ready-v482 .bank-stage,
    body.game-body .scene-popup.scene-ready-v482 .rick-stage,
    body.game-body .scene-popup.scene-ready-v482 .jobcenter-stage,
    body.game-body .store-purchase-scene.scene-popup.scene-ready-v482 .store-purchase-stage {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        transform: none !important;
    }
    body.game-body .scene-popup.scene-ready-v482 .scene-character,
    body.game-body .scene-popup.scene-ready-v482 .enrico-figure,
    body.game-body .scene-popup.scene-ready-v482 .pauline-figure,
    body.game-body .scene-popup.scene-ready-v482 .dealer-figure,
    body.game-body .scene-popup.scene-ready-v482 .assistance-figure,
    body.game-body .scene-popup.scene-ready-v482 .rick-figure,
    body.game-body .scene-popup.scene-ready-v482 .bank-figure,
    body.game-body .scene-popup.scene-ready-v482 .jobcenter-figure,
    body.game-body .store-purchase-scene.scene-popup.scene-ready-v482 .store-dealer-figure,
    body.game-body .scene-popup.scene-ready-v482.scene-opening .scene-character,
    body.game-body .scene-popup.scene-ready-v482.scene-opening .enrico-figure,
    body.game-body .scene-popup.scene-ready-v482.scene-opening .pauline-figure,
    body.game-body .scene-popup.scene-ready-v482.scene-opening .dealer-figure,
    body.game-body .scene-popup.scene-ready-v482.scene-opening .assistance-figure,
    body.game-body .scene-popup.scene-ready-v482.scene-opening .rick-figure,
    body.game-body .scene-popup.scene-ready-v482.scene-opening .bank-figure,
    body.game-body .scene-popup.scene-ready-v482.scene-opening .jobcenter-figure,
    body.game-body .store-purchase-scene.scene-popup.scene-ready-v482.scene-opening .store-dealer-figure {
        position: absolute !important;
        left: 6% !important;
        right: auto !important;
        top: auto !important;
        bottom: -4% !important;
        max-height: 92% !important;
        max-width: 42% !important;
        opacity: 1 !important;
        animation: none !important;
        transform: none !important;
        translate: none !important;
        scale: none !important;
    }
    body.game-body .scene-popup.scene-ready-v482 .scene-dialogue,
    body.game-body .scene-popup.scene-ready-v482 .enrico-dialogue,
    body.game-body .scene-popup.scene-ready-v482 .pauline-dialogue,
    body.game-body .scene-popup.scene-ready-v482 .dealer-dialogue,
    body.game-body .scene-popup.scene-ready-v482 .assistance-dialogue,
    body.game-body .scene-popup.scene-ready-v482 .rick-dialogue,
    body.game-body .scene-popup.scene-ready-v482 .bank-dialogue,
    body.game-body .scene-popup.scene-ready-v482 .jobcenter-dialogue,
    body.game-body .store-purchase-scene.scene-popup.scene-ready-v482 .store-purchase-dialogue {
        position: absolute !important;
        right: 4% !important;
        left: auto !important;
        top: 30% !important;
        bottom: auto !important;
        width: min(620px, 52%) !important;
        max-width: 52% !important;
        transform: none !important;
        animation: none !important;
        opacity: 1 !important;
    }
}


/* v4.83: Desktop-PopUps ohne Lade-Sprung.
   Die alte v4.82-Regel setzte Charakter und Dialog kurz auf generische Standardpositionen.
   v4.83 stabilisiert nur den Rahmen; die gespeicherten Szeneinstellungen bleiben sofort aktiv. */
@media (min-width: 901px) {
    body.game-body .scene-popup.scene-ready-v483,
    body.game-body .store-purchase-scene.scene-popup.scene-ready-v483,
    body.game-body .scene-popup.scene-ready-v483.scene-opening,
    body.game-body .store-purchase-scene.scene-popup.scene-ready-v483.scene-opening {
        opacity: 1 !important;
        filter: none !important;
        animation: sceneOpenInstantV483 .12s ease-out both !important;
        transform: translate(-50%, -50%) scale(1) !important;
    }
    @keyframes sceneOpenInstantV483 {
        from { opacity: 0; transform: translate(-50%, -50%) scale(.992); filter: none; }
        to { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: none; }
    }
    body.game-body .scene-popup.scene-ready-v483 .workshop-stage,
    body.game-body .scene-popup.scene-ready-v483 .gas-stage,
    body.game-body .scene-popup.scene-ready-v483 .dealer-stage,
    body.game-body .scene-popup.scene-ready-v483 .assistance-stage,
    body.game-body .scene-popup.scene-ready-v483 .bank-stage,
    body.game-body .scene-popup.scene-ready-v483 .rick-stage,
    body.game-body .scene-popup.scene-ready-v483 .jobcenter-stage,
    body.game-body .store-purchase-scene.scene-popup.scene-ready-v483 .store-purchase-stage {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        transform: none !important;
    }
    body.game-body .scene-popup.scene-ready-v483 .scene-character,
    body.game-body .scene-popup.scene-ready-v483 .scene-dialogue {
        opacity: 1 !important;
        animation: none !important;
    }
}

.reputation-preview .rep-review-line {
    display: block;
    padding: .24rem 0;
    line-height: 1.25;
}
.reputation-preview .rep-review-line span { color: #ffd65b; }

.taxreview-app-icon span,
.taxreview-app-icon img { background: transparent; }
.taxreview-summary strong,
.taxreview-card strong { color: var(--gold2); }
.taxreview-feed { display: grid; gap: .72rem; }
.taxreview-card { border-color: rgba(255,219,137,.22); }
.taxreview-card.good { border-color: rgba(108,255,175,.35); }
.taxreview-card.bad { border-color: rgba(255,103,103,.38); }
.taxreview-head,
.taxreview-meta,
.taxreview-values {
    display: flex;
    flex-wrap: wrap;
    gap: .42rem .6rem;
    align-items: center;
}
.taxreview-head { justify-content: space-between; margin-bottom: .38rem; }
.taxreview-head b { color: #ffd65b; letter-spacing: .04em; }
.taxreview-head span,
.taxreview-meta span,
.taxreview-values small,
.taxreview-issue { color: var(--muted); }
.taxreview-card p { margin: .2rem 0 .55rem; color: #fff4d8; line-height: 1.32; }
.taxreview-values { margin-top: .42rem; }
.taxreview-values small {
    padding: .16rem .38rem;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
}
.taxreview-issue { display: block; margin-top: .5rem; }

.vanessa-powerups {
    margin-top: .85rem;
    padding: .78rem;
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(255,204,48,.12), rgba(20,14,6,.72));
    border: 1px solid rgba(255,219,137,.26);
}
.vanessa-powerups-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .6rem;
    margin-bottom: .6rem;
}
.vanessa-powerups-head strong { color: var(--gold2); }
.vanessa-powerups-head small { color: var(--muted); }
.vanessa-powerup-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
}
.vanessa-powerup-card {
    appearance: none;
    border: 1px solid rgba(255,219,137,.28);
    border-radius: 16px;
    background: linear-gradient(#2c1c0f, #120b05);
    color: #fff3d0;
    padding: .55rem;
    min-height: 154px;
    display: grid;
    justify-items: center;
    gap: .22rem;
    text-align: center;
    cursor: pointer;
}
.vanessa-powerup-card:hover:not(:disabled) { transform: translateY(-1px); border-color: rgba(255,211,83,.62); }
.vanessa-powerup-card:disabled { opacity: .48; cursor: not-allowed; }
.vanessa-powerup-card img { width: 58px; height: 58px; object-fit: contain; filter: drop-shadow(0 6px 10px rgba(0,0,0,.35)); }
.vanessa-powerup-card b { color: #ffd65b; font-size: .86rem; }
.vanessa-powerup-card span,
.vanessa-powerup-card small { color: var(--muted); font-size: .72rem; line-height: 1.18; }
@media (max-width: 980px) {
    .vanessa-powerup-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v4.84: PopUps erst sichtbar machen, wenn gespeicherte Positionen angewendet sind. */
body.game-body .scene-popup.scene-preparing-v484 {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* v4.84: Instatax-Filter sauber nebeneinander. */
body.game-body .phone-tabs.instatax-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .42rem;
}
body.game-body .phone-tabs.instatax-tabs .phone-tab {
    width: 100%;
    min-width: 0;
    white-space: normal;
    line-height: 1.1;
}

/* v4.84: Parkplatz-Blättern mit Richtungs-Slide. */
body.game-body .fleet-strip.fleet-slide-next {
    animation: fleetSlideFromRight .32s ease both;
}
body.game-body .fleet-strip.fleet-slide-prev {
    animation: fleetSlideFromLeft .32s ease both;
}
@keyframes fleetSlideFromRight {
    from { opacity: .35; transform: translateX(42px) scale(.985); }
    to { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes fleetSlideFromLeft {
    from { opacity: .35; transform: translateX(-42px) scale(.985); }
    to { opacity: 1; transform: translateX(0) scale(1); }
}

/* v4.84: PowerUp-Anzeige direkt an den Taxen. */
body.game-body .fleet-card.has-powerup-glow {
    box-shadow: 0 0 0 1px rgba(255,214,91,.42), 0 0 24px rgba(255,214,91,.18), inset 0 0 20px rgba(255,214,91,.06);
}
body.game-body .fleet-card.has-powerup-glow::after {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    pointer-events: none;
    background: radial-gradient(circle at 50% 0%, rgba(255,219,97,.22), transparent 54%);
    opacity: .85;
    mix-blend-mode: screen;
}
body.game-body .fleet-card.has-complaint-malus {
    box-shadow: 0 0 0 1px rgba(255,72,72,.52), 0 0 22px rgba(255,0,0,.16), inset 0 0 18px rgba(255,40,40,.08);
}
body.game-body .fleet-powerups {
    position: absolute;
    top: 2.55rem;
    right: .5rem;
    z-index: 6;
    display: flex;
    flex-direction: column;
    gap: .24rem;
}
body.game-body .fleet-powerup-badge {
    --powerup-left: 100%;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    position: relative;
    background: conic-gradient(rgba(255,221,84,.98) calc(var(--powerup-left) * 1%), rgba(58,40,7,.88) 0);
    border: 2px solid rgba(255,238,147,.86);
    box-shadow: 0 9px 20px rgba(0,0,0,.38), 0 0 16px rgba(255,207,55,.34);
}
body.game-body .fleet-powerup-badge::before {
    content: '';
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(31,21,6,.96), rgba(104,75,10,.96));
    z-index: 0;
}
body.game-body .fleet-powerup-badge img {
    position: relative;
    z-index: 1;
    width: 34px;
    height: 34px;
    object-fit: contain;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,.48));
}
body.game-body .fleet-powerup-badge.complaint-badge {
    background: conic-gradient(rgba(255,61,61,.98) 100%, rgba(60,7,7,.88) 0);
    border-color: rgba(255,120,120,.92);
    animation: taxReviewComplaintBlink 1.05s ease-in-out infinite;
}

/* v4.84: Tax-Review Beschwerdemanagement */
body.game-body .complaint-management-card {
    display: grid;
    gap: .35rem;
    border-color: rgba(255,219,137,.26);
}
body.game-body .complaint-management-card.has-open-complaints {
    border-color: rgba(255,77,77,.58);
    background: linear-gradient(145deg, rgba(90,8,8,.48), rgba(26,16,10,.92));
}
body.game-body .taxreview-card.unjustified-blink {
    border-color: rgba(255,67,67,.85) !important;
    animation: taxReviewComplaintBlink 1.2s ease-in-out infinite;
}

body.game-body .taxreview-card.pinned-complaint {
    position: relative;
    background: linear-gradient(145deg, rgba(55,27,12,.98), rgba(32,17,8,.96));
}
body.game-body .taxreview-card.pinned-complaint::before {
    content: 'Angepinnt';
    position: absolute;
    top: .55rem;
    right: .65rem;
    padding: .12rem .42rem;
    border-radius: 999px;
    border: 1px solid rgba(255,215,111,.36);
    color: var(--gold2);
    background: rgba(0,0,0,.22);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .04em;
}
body.game-body .taxreview-card.resolved-complaint {
    opacity: .86;
    border-color: rgba(108,255,175,.35) !important;
    animation: none !important;
}
@keyframes taxReviewComplaintBlink {
    0%, 100% { box-shadow: 0 0 0 rgba(255,0,0,0); }
    50% { box-shadow: 0 0 20px rgba(255,54,54,.42); }
}
body.game-body .theresa-scene {
    --scene-bg: url('../img/taxizentrale.png');
}
body.game-body .theresa-figure {
    filter: drop-shadow(0 18px 32px rgba(0,0,0,.46));
}
body.game-body .theresa-dialogue strong,
body.game-body .theresa-complaint-card strong {
    color: var(--gold2);
}
body.game-body .theresa-popup-controls {
    display: grid;
    gap: .55rem;
}
body.game-body .theresa-complaint-card {
    display: grid;
    gap: .26rem;
    padding: .62rem;
    border-radius: 16px;
    background: rgba(0,0,0,.28);
    border: 1px solid rgba(255,219,137,.24);
}
body.game-body .theresa-complaint-card.active {
    border-color: rgba(255,214,91,.58);
}
body.game-body .theresa-complaint-card span { color: #fff4d8; }
body.game-body .theresa-complaint-card small { color: var(--muted); }

@media (min-width: 901px) {
    body.game-body .scene-popup.scene-ready-v484,
    body.game-body .store-purchase-scene.scene-popup.scene-ready-v484,
    body.game-body .scene-popup.scene-ready-v484.scene-opening,
    body.game-body .store-purchase-scene.scene-popup.scene-ready-v484.scene-opening {
        opacity: 1 !important;
        filter: none !important;
        animation: sceneOpenInstantV484 .12s ease-out both !important;
        transform: translate(-50%, -50%) scale(1) !important;
    }
    @keyframes sceneOpenInstantV484 {
        from { opacity: 0; transform: translate(-50%, -50%) scale(.992); filter: none; }
        to { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: none; }
    }
    body.game-body .scene-popup.scene-ready-v484 .workshop-stage,
    body.game-body .scene-popup.scene-ready-v484 .gas-stage,
    body.game-body .scene-popup.scene-ready-v484 .dealer-stage,
    body.game-body .scene-popup.scene-ready-v484 .assistance-stage,
    body.game-body .scene-popup.scene-ready-v484 .bank-stage,
    body.game-body .scene-popup.scene-ready-v484 .rick-stage,
    body.game-body .scene-popup.scene-ready-v484 .theresa-stage,
    body.game-body .scene-popup.scene-ready-v484 .jobcenter-stage,
    body.game-body .store-purchase-scene.scene-popup.scene-ready-v484 .store-purchase-stage {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        transform: none !important;
    }
    body.game-body .scene-popup.scene-ready-v484 .scene-character,
    body.game-body .scene-popup.scene-ready-v484 .scene-dialogue {
        opacity: 1 !important;
        animation: none !important;
    }
}
body.game-body .fleet-card { position: relative; }


/* v4.85: PopUp-Neuaufbau gegen Positionssprung / Cache-Ladeflackern. */
body.game-body .scene-popup.scene-preparing-v485,
body.game-body .store-purchase-scene.scene-popup.scene-preparing-v485,
body.game-body .bank-scene.scene-popup.scene-preparing-v485,
body.game-body .rick-scene.scene-popup.scene-preparing-v485,
body.game-body .workshop-scene.scene-popup.scene-preparing-v485,
body.game-body .dealer-scene.scene-popup.scene-preparing-v485,
body.game-body .gas-scene.scene-popup.scene-preparing-v485,
body.game-body .assistance-scene.scene-popup.scene-preparing-v485,
body.game-body .jobcenter-scene.scene-popup.scene-preparing-v485,
body.game-body .theresa-scene.scene-popup.scene-preparing-v485 {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: none !important;
    animation: none !important;
}
body.game-body .scene-popup.scene-ready-v485,
body.game-body .store-purchase-scene.scene-popup.scene-ready-v485,
body.game-body .bank-scene.scene-popup.scene-ready-v485,
body.game-body .rick-scene.scene-popup.scene-ready-v485,
body.game-body .workshop-scene.scene-popup.scene-ready-v485,
body.game-body .dealer-scene.scene-popup.scene-ready-v485,
body.game-body .gas-scene.scene-popup.scene-ready-v485,
body.game-body .assistance-scene.scene-popup.scene-ready-v485,
body.game-body .jobcenter-scene.scene-popup.scene-ready-v485,
body.game-body .theresa-scene.scene-popup.scene-ready-v485 {
    visibility: visible !important;
    opacity: 1 !important;
}
body.game-body .scene-popup.scene-ready-v485.scene-opening .scene-character,
body.game-body .scene-popup.scene-ready-v485.scene-opening .scene-dialogue,
body.game-body .store-purchase-scene.scene-popup.scene-ready-v485.scene-opening .store-dealer-figure,
body.game-body .store-purchase-scene.scene-popup.scene-ready-v485.scene-opening .store-purchase-dialogue {
    animation: none !important;
}

/* v4.86: stabiler PopUp-Start ohne sichtbare Zwischenposition / Mobile-Kollision */
body.game-body .scene-popup.scene-preparing-v486,
body.game-body .store-purchase-scene.scene-popup.scene-preparing-v486,
body.game-body .bank-scene.scene-popup.scene-preparing-v486,
body.game-body .rick-scene.scene-popup.scene-preparing-v486,
body.game-body .theresa-scene.scene-popup.scene-preparing-v486,
body.game-body .workshop-scene.scene-popup.scene-preparing-v486,
body.game-body .dealer-scene.scene-popup.scene-preparing-v486,
body.game-body .gas-scene.scene-popup.scene-preparing-v486,
body.game-body .assistance-scene.scene-popup.scene-preparing-v486,
body.game-body .jobcenter-scene.scene-popup.scene-preparing-v486,
body.game-body .hq-office-scene.scene-popup.scene-preparing-v486 {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    animation: none !important;
    transition: none !important;
}
body.game-body .scene-popup.scene-open-stable-v486,
body.game-body .scene-popup.scene-open-stable-v486.scene-opening,
body.game-body .store-purchase-scene.scene-popup.scene-open-stable-v486,
body.game-body .bank-scene.scene-popup.scene-open-stable-v486,
body.game-body .rick-scene.scene-popup.scene-open-stable-v486,
body.game-body .theresa-scene.scene-popup.scene-open-stable-v486,
body.game-body .workshop-scene.scene-popup.scene-open-stable-v486,
body.game-body .dealer-scene.scene-popup.scene-open-stable-v486,
body.game-body .gas-scene.scene-popup.scene-open-stable-v486,
body.game-body .assistance-scene.scene-popup.scene-open-stable-v486,
body.game-body .jobcenter-scene.scene-popup.scene-open-stable-v486,
body.game-body .hq-office-scene.scene-popup.scene-open-stable-v486 {
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
    transition: opacity .08s linear !important;
}
body.game-body .scene-popup.scene-open-stable-v486 .scene-character,
body.game-body .scene-popup.scene-open-stable-v486 .scene-dialogue,
body.game-body .scene-popup.scene-open-stable-v486 .pauline-figure,
body.game-body .scene-popup.scene-open-stable-v486 .enrico-figure,
body.game-body .scene-popup.scene-open-stable-v486 .dealer-figure,
body.game-body .scene-popup.scene-open-stable-v486 .assistance-figure,
body.game-body .scene-popup.scene-open-stable-v486 .rick-figure,
body.game-body .scene-popup.scene-open-stable-v486 .theresa-figure,
body.game-body .scene-popup.scene-open-stable-v486 .bank-figure,
body.game-body .scene-popup.scene-open-stable-v486 .jobcenter-figure {
    animation: none !important;
    transition: none !important;
}

/* v4.86: PowerUps links unten direkt auf dem Taxibild, mit laufendem Kreis-Timer. */
body.game-body .fleet-car-thumb {
    position: relative !important;
    overflow: visible !important;
}
body.game-body .fleet-car-thumb .fleet-powerups {
    position: absolute !important;
    left: .28rem !important;
    bottom: .28rem !important;
    right: auto !important;
    top: auto !important;
    z-index: 8 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
    gap: .18rem !important;
    max-width: calc(100% - .55rem) !important;
    pointer-events: none !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge {
    --powerup-pct: 100%;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center !important;
    position: relative !important;
    background: conic-gradient(rgba(255,221,84,.98) var(--powerup-pct), rgba(34,22,4,.88) 0) !important;
    border: 2px solid rgba(255,238,147,.94) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.48), 0 0 16px rgba(255,207,55,.35) !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge::before {
    content: '' !important;
    position: absolute !important;
    inset: 4px !important;
    border-radius: 50% !important;
    background: linear-gradient(145deg, rgba(22,16,6,.98), rgba(94,66,6,.98)) !important;
    z-index: 0 !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge img {
    position: relative !important;
    z-index: 1 !important;
    width: 27px !important;
    height: 27px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 2px 3px rgba(0,0,0,.58)) !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge em {
    position: absolute !important;
    left: 50% !important;
    bottom: -13px !important;
    transform: translateX(-50%) !important;
    z-index: 2 !important;
    font-style: normal !important;
    font-size: .48rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    color: #ffeaa5 !important;
    text-shadow: 0 1px 5px #000, 0 0 4px #000 !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge.complaint-badge {
    background: conic-gradient(rgba(255,61,61,.98) var(--powerup-pct, 100%), rgba(60,7,7,.88) 0) !important;
    border-color: rgba(255,120,120,.94) !important;
}

/* v4.88: finaler PopUp-Fix nach Videoanalyse.
   Alte Character-/Dialog-Animationen (insbesondere Vanessa/pauline-figure) dürfen die
   Backend-Position beim Öffnen nicht mehr für 2–3 Sekunden überschreiben. */
body.game-body .scene-popup.scene-preparing-v487,
body.game-body .store-purchase-scene.scene-popup.scene-preparing-v487,
body.game-body .bank-scene.scene-popup.scene-preparing-v487,
body.game-body .rick-scene.scene-popup.scene-preparing-v487,
body.game-body .theresa-scene.scene-popup.scene-preparing-v487,
body.game-body .workshop-scene.scene-popup.scene-preparing-v487,
body.game-body .dealer-scene.scene-popup.scene-preparing-v487,
body.game-body .gas-scene.scene-popup.scene-preparing-v487,
body.game-body .assistance-scene.scene-popup.scene-preparing-v487,
body.game-body .jobcenter-scene.scene-popup.scene-preparing-v487,
body.game-body .hq-office-scene.scene-popup.scene-preparing-v487 {
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    animation: none !important;
    transition: none !important;
}

body.game-body .scene-popup.scene-no-motion-v487,
body.game-body .scene-popup.scene-no-motion-v487 *,
body.game-body .scene-popup.scene-open-stable-v487,
body.game-body .scene-popup.scene-open-stable-v487 * {
    animation: none !important;
    transition: none !important;
}

body.game-body .scene-popup.scene-open-stable-v487,
body.game-body .scene-popup.scene-open-stable-v487.scene-opening,
body.game-body .store-purchase-scene.scene-popup.scene-open-stable-v487,
body.game-body .bank-scene.scene-popup.scene-open-stable-v487,
body.game-body .rick-scene.scene-popup.scene-open-stable-v487,
body.game-body .theresa-scene.scene-popup.scene-open-stable-v487,
body.game-body .workshop-scene.scene-popup.scene-open-stable-v487,
body.game-body .dealer-scene.scene-popup.scene-open-stable-v487,
body.game-body .gas-scene.scene-popup.scene-open-stable-v487,
body.game-body .assistance-scene.scene-popup.scene-open-stable-v487,
body.game-body .jobcenter-scene.scene-popup.scene-open-stable-v487,
body.game-body .hq-office-scene.scene-popup.scene-open-stable-v487 {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

body.game-body .scene-popup.scene-open-stable-v487 .scene-character,
body.game-body .scene-popup.scene-open-stable-v487 .scene-dialogue,
body.game-body .scene-popup.scene-open-stable-v487 .pauline-figure,
body.game-body .scene-popup.scene-open-stable-v487 .enrico-figure,
body.game-body .scene-popup.scene-open-stable-v487 .dealer-figure,
body.game-body .scene-popup.scene-open-stable-v487 .assistance-figure,
body.game-body .scene-popup.scene-open-stable-v487 .rick-figure,
body.game-body .scene-popup.scene-open-stable-v487 .theresa-figure,
body.game-body .scene-popup.scene-open-stable-v487 .bank-figure,
body.game-body .scene-popup.scene-open-stable-v487 .jobcenter-figure,
body.game-body .scene-popup.scene-no-motion-v487 .scene-character,
body.game-body .scene-popup.scene-no-motion-v487 .scene-dialogue,
body.game-body .scene-popup.scene-no-motion-v487 .pauline-figure,
body.game-body .scene-popup.scene-no-motion-v487 .enrico-figure,
body.game-body .scene-popup.scene-no-motion-v487 .dealer-figure,
body.game-body .scene-popup.scene-no-motion-v487 .assistance-figure,
body.game-body .scene-popup.scene-no-motion-v487 .rick-figure,
body.game-body .scene-popup.scene-no-motion-v487 .theresa-figure,
body.game-body .scene-popup.scene-no-motion-v487 .bank-figure,
body.game-body .scene-popup.scene-no-motion-v487 .jobcenter-figure {
    animation-name: none !important;
    animation-duration: 0s !important;
    transition: none !important;
}

/* v4.88: Tax-Review/PowerUp-Feinschliff */
body.game-body .reputation-top {
    cursor: pointer;
}
body.game-body .reputation-top.has-complaints {
    border-color: rgba(255,77,77,.72) !important;
    background: linear-gradient(145deg, rgba(102,12,12,.72), rgba(29,16,8,.92)) !important;
    box-shadow: 0 0 18px rgba(255,54,54,.28) !important;
    animation: taxReviewComplaintBlink 1.25s ease-in-out infinite;
}
body.game-body .reputation-top.has-complaints span,
body.game-body .reputation-top.has-complaints strong {
    color: #ffb0a8 !important;
}
.reputation-preview .rep-review-line.is-complaint {
    color: #ffb0a8;
}

body.game-body .fleet-car-thumb .fleet-powerups {
    pointer-events: auto !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge {
    cursor: help;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 0;
    bottom: calc(100% + 10px);
    width: max-content;
    max-width: 230px;
    padding: .48rem .58rem;
    border-radius: 12px;
    background: rgba(18,10,4,.96);
    border: 1px solid rgba(255,219,137,.46);
    box-shadow: 0 12px 28px rgba(0,0,0,.52);
    color: #fff2cb;
    font-size: .7rem;
    line-height: 1.22;
    opacity: 0;
    transform: translateY(4px);
    pointer-events: none;
    z-index: 50;
    white-space: normal;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge:hover::after,
body.game-body .fleet-car-thumb .fleet-powerup-badge:focus-visible::after {
    opacity: 1;
    transform: translateY(0);
}

body.game-body .theresa-phone-progress {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .6rem;
    align-items: center;
    margin-top: .45rem;
    padding: .54rem;
    border-radius: 14px;
    background: rgba(0,0,0,.32);
    border: 1px solid rgba(255,219,137,.22);
}
body.game-body .theresa-phone-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: linear-gradient(145deg, rgba(255,204,48,.22), rgba(50,31,6,.92));
    font-size: 1.35rem;
    animation: theresaPhoneWiggle .72s ease-in-out infinite;
    transform-origin: 50% 70%;
}
body.game-body .theresa-phone-progress b {
    display: block;
    color: var(--gold2);
    font-size: .82rem;
}
body.game-body .theresa-phone-progress small {
    display: block;
    margin: .12rem 0 .36rem;
    color: var(--muted);
    line-height: 1.25;
}
body.game-body .theresa-phone-progress .progress-track {
    display: block;
    overflow: hidden;
    height: 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.08);
}
body.game-body .theresa-phone-progress .progress-bar {
    display: block;
    height: 100%;
    width: 0%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(255,198,38,.96), rgba(255,239,140,.96));
}
@keyframes theresaPhoneWiggle {
    0%, 100% { transform: rotate(0deg); }
    20% { transform: rotate(-9deg); }
    40% { transform: rotate(7deg); }
    60% { transform: rotate(-5deg); }
    80% { transform: rotate(3deg); }
}
body.game-body .fleet-card { overflow: visible !important; }

/* v4.90: Beschwerde nur als Stempel anzeigen, Ruf selbst bleibt normal */
body.game-body .reputation-top.has-complaint-stamp {
    position: relative;
    overflow: visible;
}
body.game-body .reputation-top .complaint-stamp {
    position: absolute;
    top: -11px;
    right: -12px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 78px;
    padding: .22rem .5rem .18rem;
    border: 2px solid rgba(255, 235, 196, .9);
    border-radius: 999px;
    background: linear-gradient(145deg, rgba(190, 25, 25, .96), rgba(93, 8, 8, .96));
    color: #fff7db;
    font-size: .64rem;
    font-weight: 1000;
    font-style: normal;
    line-height: 1;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 7px 16px rgba(0,0,0,.35), 0 0 18px rgba(255,55,55,.25);
    transform: rotate(-7deg);
    animation: complaintStampPop .9s ease-in-out infinite alternate;
    pointer-events: none;
}
@keyframes complaintStampPop {
    from { transform: rotate(-7deg) scale(1); }
    to { transform: rotate(-7deg) scale(1.06); }
}

/* v4.91: Theresa-Dialog entzerrt und Timer live sichtbar */
body.game-body .theresa-dialogue p#theresaSceneText {
    display: block;
    margin: 0 0 .9rem !important;
    line-height: 1.48 !important;
}
body.game-body .theresa-dialogue .theresa-line,
body.game-body .theresa-dialogue .theresa-intro {
    display: block;
}
body.game-body .theresa-dialogue .theresa-line {
    margin-bottom: .52rem;
}
body.game-body .theresa-dialogue .theresa-intro {
    color: rgba(255,247,219,.88);
}
body.game-body .theresa-popup-controls {
    gap: .78rem !important;
    margin-top: .78rem;
}
body.game-body .theresa-complaint-card {
    gap: .46rem !important;
    padding: .82rem !important;
}
body.game-body .theresa-complaint-card span,
body.game-body .theresa-complaint-card small {
    line-height: 1.36;
}
body.game-body .theresa-complaint-card .theresa-price-line {
    color: #ffe28e;
}
body.game-body .theresa-phone-progress {
    margin-top: .62rem !important;
    padding: .68rem !important;
    gap: .72rem !important;
}
body.game-body .theresa-phone-progress-content {
    min-width: 0;
}
body.game-body .theresa-phone-progress-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .18rem;
}
body.game-body .theresa-phone-progress-head .countdown-pill {
    flex: 0 0 auto;
    padding: .16rem .46rem;
    border-radius: 999px;
    color: #1a1005;
    background: linear-gradient(180deg, #ffe28e, #f3aa1f);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .02em;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.44);
}
body.game-body .theresa-dialogue {
    max-height: min(76vh, 760px);
    overflow-y: auto;
}

/* v5.05: Tablet-Blur-Hotfix, Taxizentrale-Scroll und Mobile-Popup-Feinschliff */
@media (max-width: 1180px) {
    body.auth-body > *:not(.nophone-overlay),
    body.game-body > *:not(.nophone-overlay) {
        filter: none !important;
    }
}
html,
body.auth-body,
body.game-body {
    min-height: 100dvh !important;
    background-color: #120904 !important;
}
body.auth-body .landing-auth {
    min-height: min(100dvh, calc(100vh - 84px)) !important;
}

body.game-body .hq-office-scene.scene-popup:not(.hidden) .hq-office-dialogue,
body.game-body .scene-popup:not(.hidden) .hq-office-dialogue {
    top: max(.55rem, env(safe-area-inset-top)) !important;
    bottom: max(.55rem, env(safe-area-inset-bottom)) !important;
    height: auto !important;
    max-height: calc(100dvh - 1.1rem) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}
body.game-body .hq-office-scene.scene-popup:not(.hidden) .hq-office-dialogue > strong,
body.game-body .hq-office-scene.scene-popup:not(.hidden) .hq-office-dialogue > p {
    flex: 0 0 auto !important;
}
body.game-body .hq-office-controls {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding-right: .35rem !important;
}
body.game-body .hq-dispo-board.hq-dispo-board-compact,
body.game-body .hq-dispo-board {
    min-height: 0 !important;
    max-height: none !important;
    align-items: start !important;
}
body.game-body .hq-assignment-panel,
body.game-body .hq-personal-panel,
body.game-body .personal-record-list-panel,
body.game-body .personal-record-detail-panel {
    min-height: 0 !important;
    overflow: hidden !important;
}
body.game-body .hq-assignment-table,
body.game-body .hq-personal-panel .staff-accordion-list,
body.game-body .personal-record-list {
    max-height: calc(100dvh - 330px) !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding-right: .28rem !important;
}
@media (max-height: 760px) {
    body.game-body .hq-assignment-table,
    body.game-body .hq-personal-panel .staff-accordion-list,
    body.game-body .personal-record-list {
        max-height: calc(100dvh - 245px) !important;
    }
    body.game-body .hq-office-scene.scene-popup:not(.hidden) .hq-office-dialogue > p {
        display: none !important;
    }
}
@media (min-width: 761px) and (max-width: 1180px) {
    body.game-body .hq-office-scene.scene-popup:not(.hidden),
    body.game-body .scene-popup:not(.hidden) {
        filter: none !important;
    }
    body.game-body .hq-office-scene.scene-popup:not(.hidden) .hq-office-dialogue,
    body.game-body .scene-popup:not(.hidden) .hq-office-dialogue {
        width: calc(100vw - 1.2rem) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 1.2rem) !important;
        left: .6rem !important;
        right: .6rem !important;
        transform: none !important;
    }
    body.game-body .hq-dispo-board.hq-dispo-board-compact,
    body.game-body .hq-dispo-board {
        grid-template-columns: 1fr !important;
    }
}

body.game-body .instatax-me-card {
    border-color: rgba(255,226,122,.72) !important;
    background: linear-gradient(145deg, rgba(72,43,15,.92), rgba(31,17,7,.94)) !important;
    box-shadow: 0 0 0 2px rgba(255,210,80,.12), 0 18px 34px rgba(0,0,0,.24) !important;
}
body.game-body .instatax-is-me {
    outline: 2px solid rgba(255,226,122,.62) !important;
}

@media (max-width: 760px) {
    body.game-body .scene-popup.mobile-scene-v477 .scene-character,
    body.game-body .scene-popup.mobile-scene-v477 .pauline-figure,
    body.game-body .scene-popup.mobile-scene-v477 .enrico-figure,
    body.game-body .scene-popup.mobile-scene-v477 .dealer-figure,
    body.game-body .scene-popup.mobile-scene-v477 .assistance-figure,
    body.game-body .scene-popup.mobile-scene-v477 .rick-figure,
    body.game-body .scene-popup.mobile-scene-v477 .theresa-figure,
    body.game-body .scene-popup.mobile-scene-v477 .bank-figure,
    body.game-body .scene-popup.mobile-scene-v477 .jobcenter-figure {
        max-height: 60dvh !important;
    }
}

/* v5.05: Story-Abschluss mobil scrollbar, Taxizentrale-Scroll entkoppelt und Handy-Figuren größer */
body.game-body .story-reward-popup-overlay {
    align-items: flex-start !important;
    place-items: start center !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding-top: max(10px, env(safe-area-inset-top)) !important;
    padding-bottom: max(110px, calc(env(safe-area-inset-bottom) + 110px)) !important;
}
body.game-body .story-reward-popup-card.story-reward-popup-split {
    max-height: none !important;
    overflow: visible !important;
}
body.game-body .story-reward-content {
    min-height: 0 !important;
}
@media (max-width: 760px) {
    body.game-body .story-reward-popup-overlay {
        display: block !important;
        padding-left: .65rem !important;
        padding-right: .65rem !important;
    }
    body.game-body .story-reward-popup-card.story-reward-popup-split {
        width: min(94vw, 620px) !important;
        grid-template-columns: 1fr !important;
        margin: 0 auto !important;
        border-radius: 26px !important;
    }
    body.game-body .story-reward-visual {
        min-height: 180px !important;
        height: min(40svh, 260px) !important;
        max-height: 260px !important;
    }
    body.game-body .story-reward-content {
        padding: 1.05rem !important;
    }
    body.game-body .story-reward-grid {
        grid-template-columns: 1fr !important;
        gap: .7rem !important;
    }
    body.game-body .story-reward-grid span {
        min-height: 118px !important;
    }
    body.game-body .story-reward-content .button.full {
        position: sticky !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
        z-index: 40 !important;
        box-shadow: 0 -10px 26px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.28) !important;
    }
}

/* Ein einziger sauberer Scrollbereich für die Taxizentrale verhindert verschachtelte Scroll-Fallen. */
body.game-body .hq-office-scene.scene-popup:not(.hidden) .hq-office-dialogue,
body.game-body .scene-popup:not(.hidden) .hq-office-dialogue {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}
body.game-body .hq-office-controls {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding-right: .38rem !important;
    padding-bottom: 1.1rem !important;
}
body.game-body .hq-assignment-table,
body.game-body .hq-personal-panel .staff-accordion-list,
body.game-body .personal-record-list {
    max-height: none !important;
    overflow: visible !important;
}
body.game-body .hq-assignment-panel,
body.game-body .hq-personal-panel,
body.game-body .personal-record-list-panel,
body.game-body .personal-record-detail-panel {
    min-height: 0 !important;
}
@media (max-width: 760px) {
    body.game-body .hq-office-controls {
        padding-bottom: max(1.5rem, env(safe-area-inset-bottom)) !important;
    }
    body.game-body .hq-office-tabs {
        position: sticky !important;
        top: 0 !important;
        z-index: 20 !important;
        background: linear-gradient(180deg, rgba(53,28,13,.98), rgba(53,28,13,.82)) !important;
        padding-bottom: .6rem !important;
        margin-bottom: .75rem !important;
        backdrop-filter: blur(10px) !important;
    }
    body.game-body .hq-assignment-row {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    body.game-body .scene-popup.mobile-scene-detached-v478 .scene-character,
    body.game-body .scene-popup.mobile-scene-detached-v478 .enrico-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .pauline-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .dealer-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .assistance-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .rick-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .theresa-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .bank-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .jobcenter-figure,
    body.game-body .scene-popup.mobile-scene-stable-v479 .scene-character,
    body.game-body .scene-popup.mobile-scene-stable-v479 .enrico-figure,
    body.game-body .scene-popup.mobile-scene-stable-v479 .pauline-figure,
    body.game-body .scene-popup.mobile-scene-stable-v479 .dealer-figure,
    body.game-body .scene-popup.mobile-scene-stable-v479 .assistance-figure,
    body.game-body .scene-popup.mobile-scene-stable-v479 .rick-figure,
    body.game-body .scene-popup.mobile-scene-stable-v479 .theresa-figure,
    body.game-body .scene-popup.mobile-scene-stable-v479 .bank-figure,
    body.game-body .scene-popup.mobile-scene-stable-v479 .jobcenter-figure {
        top: max(26px, calc(4dvh - 20px)) !important;
        width: min(60vw, 330px) !important;
        max-width: min(60vw, 330px) !important;
        max-height: 78dvh !important;
    }
}

/* v5.05: Tablet-PopUps nutzen die stabile Handy-Logik, Figuren weiter rechts/größer, Instatax-Zentrale sichtbar */
body.game-body .scene-popup.mobile-scene-detached-v478 .theresa-stage {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow: hidden !important;
    z-index: 2 !important;
    pointer-events: auto !important;
}
body.game-body .instatax-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.game-body .instatax-stats span:last-child {
    grid-column: 1 / -1;
    text-align: left;
}
@media (min-width: 761px) and (max-width: 1180px) and (hover: none) and (pointer: coarse) {
    html.mobile-scene-open-v478,
    body.game-body.mobile-scene-open-v478 {
        overflow: hidden !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        touch-action: none !important;
    }
    body.game-body .scene-popup.mobile-scene-detached-v478 {
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        max-width: 100vw !important;
        max-height: 100dvh !important;
        transform: none !important;
        filter: none !important;
    }
    body.game-body .scene-popup.mobile-scene-detached-v478 .scene-dialogue,
    body.game-body .scene-popup.mobile-scene-detached-v478 .enrico-dialogue,
    body.game-body .scene-popup.mobile-scene-detached-v478 .pauline-dialogue,
    body.game-body .scene-popup.mobile-scene-detached-v478 .dealer-dialogue,
    body.game-body .scene-popup.mobile-scene-detached-v478 .assistance-dialogue,
    body.game-body .scene-popup.mobile-scene-detached-v478 .rick-dialogue,
    body.game-body .scene-popup.mobile-scene-detached-v478 .theresa-dialogue,
    body.game-body .scene-popup.mobile-scene-detached-v478 .bank-dialogue,
    body.game-body .scene-popup.mobile-scene-detached-v478 .jobcenter-dialogue,
    body.game-body .scene-popup.mobile-scene-detached-v478 .store-purchase-dialogue {
        font-size: clamp(1rem, 1.75vw, 1.2rem) !important;
    }
    body.game-body .scene-popup.mobile-scene-detached-v478 .scene-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-detached-v478 .enrico-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-detached-v478 .pauline-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-detached-v478 .dealer-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-detached-v478 .assistance-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-detached-v478 .rick-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-detached-v478 .theresa-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-detached-v478 .bank-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-detached-v478 .jobcenter-dialogue > strong,
    body.game-body .scene-popup.mobile-scene-detached-v478 .store-purchase-dialogue > strong {
        font-size: clamp(1.75rem, 3vw, 2.65rem) !important;
    }
}
@media (max-width: 540px) {
    body.game-body .instatax-stats {
        grid-template-columns: 1fr !important;
    }
    body.game-body .instatax-stats span:last-child {
        text-align: center;
    }
}

/* v5.05: Story-Abschluss und Szenen auf Handy/Tablet wirklich innerhalb der sichtbaren Fläche bedienbar */
body.game-body #storyRewardPopup.story-reward-popup-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    align-items: flex-start !important;
    justify-content: center !important;
    display: flex !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: max(10px, env(safe-area-inset-top)) .7rem max(150px, calc(env(safe-area-inset-bottom) + 150px)) !important;
}
body.game-body #storyRewardPopup .story-reward-popup-card.story-reward-popup-split {
    width: min(94vw, 720px) !important;
    max-width: min(94vw, 720px) !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    overflow: visible !important;
    grid-template-columns: 1fr !important;
}
body.game-body #storyRewardPopup .story-reward-content {
    overflow: visible !important;
    max-height: none !important;
    padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
}
body.game-body #storyRewardPopup .story-reward-content .button.full {
    position: sticky !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    z-index: 99 !important;
}
body.game-body #storyRewardPopup .story-reward-visual {
    min-height: 170px !important;
    height: min(38dvh, 300px) !important;
    max-height: 300px !important;
}
body.game-body .fleet-card.drag-ready { outline: 2px dashed rgba(255,218,93,.58); outline-offset: -5px; }
body.game-body .fleet-card.drag-over { transform: translateY(-2px) scale(1.012); box-shadow: 0 0 0 3px rgba(255,218,93,.38), 0 18px 44px rgba(0,0,0,.44) !important; }
body.game-body .job-card[draggable="true"] { cursor: grab; }
body.game-body .job-card.dragging { opacity: .55; transform: scale(.985); }
body.game-body .fleet-queued-job,
body.game-body .queued-job-note {
    display: block;
    margin-top: .35rem;
    border: 1px solid rgba(255,216,102,.28);
    border-radius: 12px;
    padding: .35rem .5rem;
    background: rgba(255,205,70,.10);
    color: #ffe9a6 !important;
    font-weight: 900;
}
body.game-body .job-card.job-queued { border-color: rgba(255,216,102,.48); background: linear-gradient(145deg, rgba(64,39,12,.94), rgba(22,12,5,.94)); }

/* v5.05: Tablets bekommen exakt die mobile Fullscreen-Szenenlogik, nicht den alten Desktop-Zwischenzustand. */
@media (max-width: 1180px) {
    html.mobile-scene-open-v478,
    body.game-body.mobile-scene-open-v478 {
        overflow: hidden !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
    }
    body.game-body .scene-popup.mobile-scene-detached-v478 {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        max-width: 100vw !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        transform: none !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        z-index: 2147483000 !important;
    }
    body.game-body .scene-popup.mobile-scene-detached-v478 .scene-character,
    body.game-body .scene-popup.mobile-scene-detached-v478 .enrico-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .pauline-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .dealer-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .assistance-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .rick-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .theresa-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .bank-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .jobcenter-figure {
        right: max(6px, 1.8vw) !important;
        left: auto !important;
        width: min(142vw, 760px) !important;
        max-width: min(142vw, 760px) !important;
        transform: none !important;
    }
}
@media (min-width: 761px) and (max-width: 1180px) {
    body.game-body .scene-popup.mobile-scene-detached-v478 .scene-character,
    body.game-body .scene-popup.mobile-scene-detached-v478 .enrico-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .pauline-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .dealer-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .assistance-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .rick-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .theresa-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .bank-figure,
    body.game-body .scene-popup.mobile-scene-detached-v478 .jobcenter-figure {
        width: min(96vw, 900px) !important;
        max-width: min(96vw, 900px) !important;
    }
}


/* v5.05: Story-Belohnungsfenster darf auch über gesperrten Handy-/Tablet-Szenen scrollen. */
html.story-reward-open-v496,
body.game-body.story-reward-open-v496 {
    touch-action: pan-y !important;
}
body.game-body #storyRewardPopup.story-reward-popup-overlay {
    z-index: 2147483600 !important;
    touch-action: pan-y !important;
}
body.game-body #storyRewardPopup.story-reward-popup-overlay * {
    touch-action: pan-y !important;
}

/* v5.05: Premium-Pass oben sichtbar aktiv markieren */
body.game-body .premium-pass-top-button.is-active {
    background: linear-gradient(145deg, rgba(174,92,255,.98), rgba(100,42,190,.98) 54%, rgba(55,21,120,.98)) !important;
    color: #fff3ff !important;
    border-color: rgba(223,175,255,.72) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 0 0 1px rgba(190,112,255,.45), 0 0 20px rgba(166,80,255,.62), 0 8px 18px rgba(0,0,0,.32) !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.35), 0 0 12px rgba(255,255,255,.25) !important;
    animation: premiumPassGlow 2.4s ease-in-out infinite !important;
}
body.game-body .premium-pass-top-button.is-active span::before {
    content: '✦';
    margin-right: .35rem;
}
@keyframes premiumPassGlow {
    0%, 100% { filter: drop-shadow(0 0 2px rgba(184,88,255,.55)); }
    50% { filter: drop-shadow(0 0 12px rgba(214,144,255,.85)); }
}

/* v5.05: Premium-Pass schöner als Vergleich Kostenloser Taxiboss vs Premium Taxiboss */
body.game-body #premiumPassModal .premium-pass-stage-v499 {
    width: min(1040px, calc(100vw - 2rem)) !important;
    min-height: 0 !important;
    max-height: calc(100vh - 2rem) !important;
    padding: clamp(1rem, 2.5vw, 1.7rem) !important;
    display: grid !important;
    gap: 1rem !important;
    background:
        radial-gradient(circle at 78% 12%, rgba(177,84,255,.26), transparent 34%),
        radial-gradient(circle at 12% 4%, rgba(255,216,102,.18), transparent 30%),
        linear-gradient(145deg, rgba(44,20,66,.96), rgba(18,9,31,.98) 42%, rgba(21,11,7,.98)) !important;
    border-color: rgba(214,142,255,.46) !important;
}
body.game-body #premiumPassModal .premium-pass-hero-v499 {
    border: 1px solid rgba(255,216,102,.18);
    border-radius: 24px;
    padding: clamp(1rem, 2.8vw, 1.5rem);
    background: rgba(0,0,0,.20);
}
body.game-body #premiumPassModal .premium-pass-hero-v499 h2 {
    margin: .35rem 0 .45rem;
    color: #fff1b5;
    font-size: clamp(2rem, 5vw, 4.1rem);
    line-height: .95;
    letter-spacing: -.03em;
}
body.game-body #premiumPassModal .premium-pass-hero-v499 p {
    margin: 0;
    max-width: 820px;
    color: rgba(255,247,230,.88);
    font-size: clamp(.96rem, 1.6vw, 1.1rem);
    line-height: 1.45;
}
body.game-body #premiumPassModal .premium-compare-grid-v499 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
}
body.game-body #premiumPassModal .premium-tier-card-v499 {
    border-radius: 24px;
    border: 1px solid rgba(255,216,102,.2);
    padding: clamp(1rem, 2vw, 1.25rem);
    background: rgba(0,0,0,.24);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
body.game-body #premiumPassModal .premium-tier-card-v499.is-premium {
    border-color: rgba(220,146,255,.62);
    background: linear-gradient(145deg, rgba(116,43,190,.34), rgba(0,0,0,.26));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 0 32px rgba(174,92,255,.22);
}
body.game-body #premiumPassModal .premium-tier-label {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .35rem .7rem;
    color: #ffe28a;
    background: rgba(255,216,102,.11);
    border: 1px solid rgba(255,216,102,.18);
    font-size: .78rem;
    font-weight: 1000;
    letter-spacing: .06em;
    text-transform: uppercase;
}
body.game-body #premiumPassModal .premium-tier-card-v499.is-premium .premium-tier-label {
    color: #f4dcff;
    background: rgba(198,107,255,.22);
    border-color: rgba(218,151,255,.42);
}
body.game-body #premiumPassModal .premium-tier-card-v499 h3 {
    margin: .7rem 0 .65rem;
    color: #fff2c2;
    font-size: clamp(1.35rem, 2.4vw, 2rem);
}
body.game-body #premiumPassModal .premium-tier-card-v499 ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .52rem;
}
body.game-body #premiumPassModal .premium-tier-card-v499 li {
    display: flex;
    gap: .55rem;
    color: rgba(255,247,230,.86);
    line-height: 1.35;
}
body.game-body #premiumPassModal .premium-tier-card-v499 li::before {
    content: '✓';
    flex: 0 0 auto;
    color: #ffe28a;
    font-weight: 1000;
}
body.game-body #premiumPassModal .premium-tier-card-v499.is-basic li::before {
    color: rgba(255,226,138,.56);
}
body.game-body #premiumPassModal .premium-pass-bottom-v499 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9rem;
    flex-wrap: wrap;
    border: 1px solid rgba(255,216,102,.18);
    border-radius: 22px;
    padding: .85rem;
    background: rgba(0,0,0,.22);
}
body.game-body #premiumPassModal .premium-pass-bottom-v499 .premium-pass-price {
    flex: 1 1 280px;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
}
body.game-body #premiumPassModal .premium-pass-bottom-v499 .premium-pass-actions {
    justify-content: flex-end;
}
body.game-body #premiumPassModal .premium-pass-bottom-v499 .premium-pass-actions .button {
    min-width: 170px;
}
body.game-body .workshop-capacity-box {
    margin: .7rem 0;
}
@media (max-width: 760px) {
    body.game-body #premiumPassModal .premium-pass-stage-v499 {
        width: 100% !important;
        max-height: calc(100dvh - 1rem) !important;
        border-radius: 24px !important;
    }
    body.game-body #premiumPassModal .premium-compare-grid-v499 {
        grid-template-columns: 1fr;
    }
    body.game-body #premiumPassModal .premium-pass-bottom-v499 .premium-pass-actions,
    body.game-body #premiumPassModal .premium-pass-bottom-v499 .premium-pass-actions .button {
        width: 100%;
    }
}


/* v5.05: Drag-and-Drop Zielhilfe für Aufträge auf Taxen.
   Passende Taxen bouncen dezent, nicht passende werden während des Ziehens ausgegraut. */
body.game-body .fleet-card.drag-ready {
    outline: 2px dashed rgba(255,218,93,.72) !important;
    outline-offset: -5px;
    animation: fleetDropReadyBounce 1.15s ease-in-out infinite;
    filter: saturate(1.08) brightness(1.06);
}
body.game-body .fleet-card.drag-ready::before {
    content: 'passt';
    position: absolute;
    right: 12px;
    top: 10px;
    z-index: 10;
    border: 1px solid rgba(255,232,142,.55);
    border-radius: 999px;
    padding: .18rem .48rem;
    background: linear-gradient(135deg, rgba(255,205,57,.96), rgba(137,96,14,.96));
    color: #1d1204;
    font-size: .62rem;
    font-weight: 1000;
    letter-spacing: .08em;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(0,0,0,.35);
}
body.game-body .fleet-card.drag-blocked {
    opacity: .38;
    filter: grayscale(.85) brightness(.68);
    transform: scale(.985);
}
body.game-body .fleet-card.drag-blocked::before {
    content: 'nicht möglich';
    position: absolute;
    right: 12px;
    top: 10px;
    z-index: 10;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    padding: .18rem .48rem;
    background: rgba(22,14,8,.82);
    color: rgba(255,240,204,.82);
    font-size: .56rem;
    font-weight: 1000;
    letter-spacing: .07em;
    text-transform: uppercase;
}
body.game-body .fleet-card.drag-blocked .fleet-quick-fuel,
body.game-body .fleet-card.drag-blocked button {
    pointer-events: none;
}
body.game-body .fleet-card.drag-over {
    transform: translateY(-3px) scale(1.018) !important;
    box-shadow: 0 0 0 3px rgba(255,218,93,.46), 0 20px 48px rgba(0,0,0,.48) !important;
}
@keyframes fleetDropReadyBounce {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-3px) scale(1.008); }
}
@media (prefers-reduced-motion: reduce) {
    body.game-body .fleet-card.drag-ready { animation: none; }
}

/* v5.05: Premium-Pass mit Maik, bessere Einstellungen und Drag/Drop-Kartenblink */
body.game-body #premiumPassModal .premium-pass-hero-v499 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 34%) !important;
    gap: 1rem !important;
    align-items: stretch !important;
}
body.game-body #premiumPassModal .premium-hero-copy-v501 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}
body.game-body #premiumPassModal .premium-rick-mini-v501 {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: end;
    gap: .75rem;
    border: 1px solid rgba(255,216,102,.18);
    border-radius: 22px;
    padding: .7rem .8rem 0;
    background: radial-gradient(circle at 24% 22%, rgba(255,216,102,.18), transparent 45%), rgba(0,0,0,.22);
    overflow: hidden;
    min-height: 150px;
}
body.game-body #premiumPassModal .premium-rick-mini-v501 img {
    width: 106px;
    max-height: 160px;
    object-fit: contain;
    align-self: end;
    justify-self: center;
    filter: drop-shadow(0 14px 18px rgba(0,0,0,.55));
}
body.game-body #premiumPassModal .premium-rick-mini-v501 blockquote {
    margin: 0 0 .75rem;
    color: #fff4ce;
    font-weight: 850;
    line-height: 1.28;
    font-size: clamp(.86rem, 1.5vw, .98rem);
}
body.game-body .premium-settings-plan {
    position: relative;
    overflow: hidden;
    gap: .7rem !important;
    background: linear-gradient(145deg, rgba(58,30,93,.92), rgba(22,12,35,.96)) !important;
    border-color: rgba(208,139,255,.42) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 24px rgba(157,70,255,.15);
}
body.game-body .premium-settings-plan::after {
    content: '';
    position: absolute;
    inset: -45% -30% auto auto;
    width: 210px;
    height: 210px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(212,130,255,.30), transparent 65%);
    pointer-events: none;
}
body.game-body .premium-settings-plan.is-active {
    border-color: rgba(226,163,255,.68) !important;
}
body.game-body .premium-settings-head {
    display: flex;
    gap: .75rem;
    align-items: center;
    position: relative;
    z-index: 1;
}
body.game-body .premium-settings-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, rgba(203,111,255,.96), rgba(94,42,177,.96));
    box-shadow: 0 10px 24px rgba(0,0,0,.34), 0 0 24px rgba(185,85,255,.32);
    flex: 0 0 auto;
}
body.game-body .premium-settings-head strong,
body.game-body .premium-settings-head small {
    display: block;
}
body.game-body .premium-settings-head strong {
    color: #fff1b5;
}
body.game-body .premium-settings-head small {
    color: rgba(255,244,220,.72);
    margin-top: .12rem;
}
body.game-body .premium-settings-pulse,
body.game-body .settings-premium-pulse {
    animation: settingsPremiumPulseV501 1.2s ease-in-out 1;
}
@keyframes settingsPremiumPulseV501 {
    0%,100% { transform: scale(1); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 24px rgba(157,70,255,.15); }
    45% { transform: scale(1.02); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 0 0 3px rgba(226,163,255,.42), 0 0 36px rgba(195,91,255,.45); }
}
body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-hover {
    z-index: 1200 !important;
}
body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-hover img {
    animation: mapTaxiDndPulseV501 .62s ease-in-out infinite;
}
body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-valid img {
    filter: drop-shadow(0 6px 7px rgba(0,0,0,.48)) drop-shadow(0 0 12px rgba(162,255,105,.92)) saturate(1.18) brightness(1.08) !important;
}
body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-blocked img {
    filter: drop-shadow(0 6px 7px rgba(0,0,0,.48)) drop-shadow(0 0 12px rgba(255,70,58,.85)) grayscale(.55) brightness(.86) !important;
}
@keyframes mapTaxiDndPulseV501 {
    0%,100% { transform: translateZ(0) scale(1); }
    50% { transform: translateZ(0) scale(1.14); }
}
@media (max-width: 760px) {
    body.game-body #premiumPassModal .premium-pass-hero-v499 {
        grid-template-columns: 1fr !important;
    }
    body.game-body #premiumPassModal .premium-rick-mini-v501 {
        grid-template-columns: 82px minmax(0,1fr);
        min-height: 118px;
        padding-top: .55rem;
    }
    body.game-body #premiumPassModal .premium-rick-mini-v501 img {
        width: 92px;
        max-height: 124px;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-hover img,
    body.game-body .settings-premium-pulse { animation: none !important; }
}

/* v5.05: Enrico/Vanessa Mehrfach-Timer, Instatax-Neuaufbau und Maik-Premium-Bühne */
body.game-body .active-service-list {
    display: grid;
    gap: .65rem;
    margin: .65rem 0;
}
body.game-body .active-service-list .active-service-card {
    margin: 0;
}
body.game-body .instatax-main-tabs {
    margin-bottom: .7rem;
}
body.game-body .instatax-overview-card {
    display: grid;
    gap: .35rem;
    background: linear-gradient(145deg, rgba(255,216,102,.14), rgba(0,0,0,.22));
    border-color: rgba(255,216,102,.28) !important;
}
body.game-body .instatax-overview-card b {
    color: rgba(255,244,220,.72);
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}
body.game-body .instatax-overview-card strong {
    color: #fff1b5;
    font-size: 1.28rem;
}
body.game-body .instatax-score-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}
body.game-body .instatax-score-tile {
    cursor: pointer;
    display: grid !important;
    gap: .25rem !important;
    min-height: 116px;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.game-body .instatax-score-tile:hover,
body.game-body .instatax-score-tile.is-active {
    transform: translateY(-2px);
    border-color: rgba(255,218,93,.55) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.24), 0 0 18px rgba(255,218,93,.12);
}
body.game-body .instatax-score-tile small {
    color: rgba(255,244,220,.62);
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: 900;
}
body.game-body .instatax-score-tile strong {
    font-size: 2rem;
    line-height: 1;
    color: #ffe88f;
}
body.game-body .instatax-score-tile span {
    color: rgba(255,244,220,.82);
}
body.game-body .instatax-hint-card {
    margin-top: .7rem;
}
body.game-body .instatax-me-card.compact {
    margin: .7rem 0;
    background: rgba(255,216,102,.10) !important;
}
body.game-body #premiumPassModal .premium-rick-mini-v501 {
    grid-template-columns: 138px minmax(0, 1fr) !important;
    align-items: center !important;
    padding: .8rem .95rem !important;
    min-height: 170px !important;
}
body.game-body #premiumPassModal .premium-rick-mini-v501 img {
    width: 180px !important;
    height: 170px !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: 50% 8% !important;
    align-self: center !important;
    justify-self: center !important;
    transform: scale(1.38) translateY(26px);
    transform-origin: 50% 18%;
}
body.game-body #premiumPassModal .premium-rick-mini-v501 blockquote {
    align-self: center !important;
    margin: 0 !important;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
}
@media (max-width: 760px) {
    body.game-body .instatax-score-grid { grid-template-columns: 1fr; }
    body.game-body #premiumPassModal .premium-rick-mini-v501 {
        grid-template-columns: 112px minmax(0,1fr) !important;
        min-height: 132px !important;
    }
    body.game-body #premiumPassModal .premium-rick-mini-v501 img {
        width: 140px !important;
        height: 132px !important;
        transform: scale(1.28) translateY(20px);
    }
}

/* v5.05: Einstellungen-Premiumkarte nicht mehr wie große Premium-Bühne behandeln */
body.game-body #settingsApp .premium-settings-plan {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: .78rem !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    align-content: start !important;
    box-sizing: border-box !important;
}
body.game-body #settingsApp .premium-settings-plan > * {
    min-width: 0 !important;
    max-width: 100% !important;
    position: relative;
    z-index: 1;
}
body.game-body #settingsApp .premium-settings-head {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    align-items: center !important;
}
body.game-body #settingsApp .premium-settings-head span:last-child {
    min-width: 0 !important;
}
body.game-body #settingsApp .premium-settings-head strong,
body.game-body #settingsApp .premium-settings-head small,
body.game-body #settingsApp .premium-settings-plan > span,
body.game-body #settingsApp .premium-settings-plan > small {
    overflow-wrap: anywhere;
    hyphens: auto;
}
body.game-body #settingsApp .premium-settings-plan .button.full {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    line-height: 1.15 !important;
}

/* v5.05: robustes Drag-and-Drop-Map-Feedback als sichtbarer Ring direkt am Taxi */
body.game-body .fleet-card.drag-over-blocked {
    box-shadow: inset 0 0 0 2px rgba(255,91,72,.42), 0 12px 30px rgba(0,0,0,.36) !important;
}
body.game-body .map-taxi-dnd-ring {
    pointer-events: none !important;
    background: transparent !important;
    border: 0 !important;
}
body.game-body .map-taxi-dnd-ring .map-taxi-dnd-ring-inner {
    display: block;
    width: 82px;
    height: 82px;
    border-radius: 999px;
    border: 3px solid rgba(168,255,107,.94);
    box-shadow: 0 0 0 4px rgba(168,255,107,.14), 0 0 26px rgba(168,255,107,.78), inset 0 0 22px rgba(168,255,107,.20);
    animation: mapTaxiDndRingPulseV503 .68s ease-in-out infinite;
}
body.game-body .map-taxi-dnd-ring.is-blocked .map-taxi-dnd-ring-inner {
    border-color: rgba(255,80,66,.95);
    box-shadow: 0 0 0 4px rgba(255,80,66,.12), 0 0 26px rgba(255,80,66,.72), inset 0 0 22px rgba(255,80,66,.18);
}
body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-hover {
    z-index: 9999 !important;
}
body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-hover img,
body.game-body [data-map-taxi-id].map-taxi-dnd-hover,
body.game-body .map-taxi-image-icon.map-taxi-dnd-hover img {
    animation: mapTaxiDndImageBlinkV503 .52s ease-in-out infinite !important;
}
body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-valid img,
body.game-body .map-taxi-image-icon.map-taxi-dnd-valid img {
    filter: drop-shadow(0 6px 7px rgba(0,0,0,.52)) drop-shadow(0 0 16px rgba(168,255,107,.98)) saturate(1.22) brightness(1.12) !important;
}
body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-blocked img,
body.game-body .map-taxi-image-icon.map-taxi-dnd-blocked img {
    filter: drop-shadow(0 6px 7px rgba(0,0,0,.52)) drop-shadow(0 0 16px rgba(255,80,66,.88)) grayscale(.55) brightness(.86) !important;
}
@keyframes mapTaxiDndRingPulseV503 {
    0%, 100% { transform: scale(.84); opacity: .72; }
    50% { transform: scale(1.08); opacity: 1; }
}
@keyframes mapTaxiDndImageBlinkV503 {
    0%, 100% { transform: translateZ(0) scale(1); }
    50% { transform: translateZ(0) scale(1.18); }
}
@media (prefers-reduced-motion: reduce) {
    body.game-body .map-taxi-dnd-ring .map-taxi-dnd-ring-inner,
    body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-hover img,
    body.game-body .map-taxi-image-icon.map-taxi-dnd-hover img {
        animation: none !important;
    }
}

/* v5.05: Premium-Kachel in der Einstellungen-App sicher vom großen Premium-Pass-Layout entkoppeln.
   Ursache: Wenn die Einstellungen-Kachel zusätzlich die Klasse .premium-pass-card bekommt,
   greifen sonst margin-left:38%, min-height und Flex-Layout der großen Premium-Bühne. */
body.game-body #settingsApp,
body.game-body .phone-view #settingsApp.phone-list {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    box-sizing: border-box !important;
}
body.game-body #settingsApp > .phone-card.settings-form,
body.game-body .phone-list > .phone-card.settings-form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
}
body.game-body #settingsApp > .phone-card.settings-form.premium-settings-plan,
body.game-body #settingsApp > .phone-card.settings-form.premium-pass-card.premium-settings-plan,
body.game-body .phone-list > .phone-card.settings-form.premium-pass-card.premium-settings-plan {
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: .68rem !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    flex-direction: initial !important;
    justify-content: stretch !important;
    align-content: start !important;
    gap: .62rem !important;
}
body.game-body #settingsApp > .premium-pass-card.premium-settings-plan h2,
body.game-body #settingsApp > .premium-pass-card.premium-settings-plan p,
body.game-body .phone-list > .premium-pass-card.premium-settings-plan h2,
body.game-body .phone-list > .premium-pass-card.premium-settings-plan p {
    font-size: inherit !important;
    line-height: inherit !important;
    margin: 0 !important;
}

/* v5.05: Maik-Bericht mit echter Offlinezeit, Effizienz und nachvollziehbarer Schichtauswertung */
.rick-report-grid.rick-report-grid-v505 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.rick-report-meta-v505 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 8px;
}
.rick-report-meta-v505 span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 221, 117, .22);
    background: rgba(255, 221, 117, .08);
    color: rgba(255, 244, 204, .92);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
}
@media (max-width: 760px) {
    .rick-report-grid.rick-report-grid-v505 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .rick-report-meta-v505 span {
        flex: 1 1 100%;
    }
}

/* v5.06: Premium-Maik nicht oben abschneiden, Kartenfix-Schalter */
body.game-body #premiumPassModal .premium-rick-mini-v501 img {
    object-position: 50% 0% !important;
    transform: scale(1.26) translateY(8px) !important;
}
body.game-body #premiumPassModal .premium-rick-mini-v501 {
    overflow: hidden !important;
}
body.game-body .map-focus-button.is-locked {
    background: linear-gradient(135deg, rgba(122,72,255,.96), rgba(61,31,116,.96)) !important;
    border-color: rgba(224,173,255,.65) !important;
    color: #fff3c4 !important;
    box-shadow: 0 0 22px rgba(157,86,255,.36), 0 10px 26px rgba(0,0,0,.35) !important;
}

/* v5.08: Taxi-Namen, Vanessa-PowerUp-Auswahl, Totalschaden-Meldung */
body.game-body .fleet-title-row{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
}
body.game-body .fleet-title-row strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
body.game-body .fleet-rename-button{
    width:22px;
    height:22px;
    border-radius:999px;
    border:1px solid rgba(255,235,156,.28);
    background:rgba(255,220,91,.10);
    color:#ffe98f;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    flex:0 0 auto;
}
body.game-body .fleet-rename-button:hover{
    background:rgba(255,220,91,.24);
    transform:translateY(-1px);
}
body.game-body .vanessa-powerup-select{
    display:block;
    margin:8px 0 10px;
}
body.game-body .vanessa-powerup-select select{
    margin-top:5px;
}
body.game-body .total-loss-report-card{
    border-color:rgba(255,86,86,.42)!important;
    background:linear-gradient(135deg, rgba(64,15,15,.92), rgba(28,8,5,.84))!important;
}


/* v5.09: Ingame-Umbenennen, Taxizentrale-Mobile-Scroll und Maik-/Totalschaden-Feinschliff */
body.game-body .taxi-rename-modal-v509.hidden{display:none!important;}
body.game-body .taxi-rename-modal-v509{
    position:fixed;
    inset:0;
    z-index:2147483650;
    display:grid;
    place-items:center;
    padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));
}
body.game-body .taxi-rename-backdrop-v509{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(10px);
}
body.game-body .taxi-rename-card-v509{
    position:relative;
    width:min(92vw, 460px);
    display:grid;
    gap:.85rem;
    padding:clamp(1rem, 4vw, 1.35rem);
    border:1px solid rgba(255,218,122,.38);
    border-radius:26px;
    background:
        radial-gradient(circle at 18% 0%, rgba(255,216,94,.18), transparent 32%),
        linear-gradient(145deg, rgba(54,28,14,.97), rgba(18,9,5,.98));
    box-shadow:0 26px 90px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.08);
    color:#fff5d8;
}
body.game-body .taxi-rename-icon-v509{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:linear-gradient(180deg,#ffd965,#e99b17);
    color:#1b1005;
    font-weight:1000;
    box-shadow:0 12px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.45);
}
body.game-body .taxi-rename-card-v509 strong{
    color:#fff0a9;
    font-size:clamp(1.5rem, 5vw, 2.1rem);
    line-height:1;
}
body.game-body .taxi-rename-card-v509 p{
    margin:0;
    color:rgba(255,246,222,.78);
    line-height:1.35;
}
body.game-body .taxi-rename-card-v509 label{display:grid;gap:.4rem;font-weight:900;color:#f1d592;}
body.game-body .taxi-rename-card-v509 input{
    width:100%;
    min-height:52px;
    border-radius:16px;
    border:1px solid rgba(255,226,141,.34);
    background:rgba(0,0,0,.32);
    color:#fff7df;
    padding:.85rem 1rem;
    font:inherit;
    font-weight:900;
    outline:none;
}
body.game-body .taxi-rename-card-v509 input:focus{
    border-color:rgba(255,215,86,.76);
    box-shadow:0 0 0 3px rgba(255,215,86,.16);
}
body.game-body .taxi-rename-actions-v509{display:grid;grid-template-columns:1fr 1.15fr;gap:.65rem;}
@media (max-width:540px){body.game-body .taxi-rename-actions-v509{grid-template-columns:1fr;}}

@media (max-width:760px){
    body.game-body #hqOfficeScene.mobile-scene-detached-v478 .hq-office-dialogue{
        overflow-y:auto!important;
        overflow-x:hidden!important;
        -webkit-overflow-scrolling:touch!important;
        overscroll-behavior:contain!important;
        touch-action:pan-y!important;
    }
    body.game-body #hqOfficeScene.mobile-scene-detached-v478 .hq-office-controls{
        overflow:visible!important;
        max-height:none!important;
        touch-action:pan-y!important;
    }
    body.game-body #hqOfficeScene.mobile-scene-detached-v478 .hq-office-tabs{
        position:sticky!important;
        top:0!important;
        z-index:25!important;
        background:linear-gradient(180deg, rgba(53,28,13,.98), rgba(53,28,13,.88))!important;
        border-radius:18px!important;
    }
}
body.game-body .rick-report-grid-v505 span b small{font-size:.65em;}

/* v5.10: Maik-Ghoststatus-Fix und transparenter Offline-Bericht */

/* v5.11: Taxizentrale-Handy-Scrollfix: HQ wird nicht mehr zyklisch neu aufgebaut; Scrollposition bleibt stabil. */

/* v5.20 Udo-Feedback: klarere Flottenkarten, Schnellaktionen und Fortschrittsfahrplan */
body.game-body .fleet-quick-actions {
    position: absolute;
    top: .42rem;
    right: .42rem;
    display: flex;
    flex-direction: column;
    gap: .28rem;
    z-index: 6;
}
body.game-body .fleet-quick-action {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid rgba(255,224,150,.42);
    background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.18), rgba(37,24,12,.92));
    color: #ffe7a5;
    display: grid;
    place-items: center;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.16);
    cursor: pointer;
}
body.game-body .fleet-quick-action img { width: 21px; height: 21px; object-fit: contain; display: block; }
body.game-body .fleet-quick-action:hover { transform: translateY(-1px) scale(1.04); filter: brightness(1.08); }
body.game-body .fleet-quick-action:disabled,
body.game-body .fleet-quick-action.is-disabled { opacity: .42; filter: grayscale(.45); cursor: not-allowed; transform: none; }
body.game-body .fleet-quick-action.is-urgent { animation: fleetQuickUrgent 1.1s ease-in-out infinite; }
@keyframes fleetQuickUrgent { 0%,100%{ box-shadow:0 0 0 0 rgba(255,72,72,.25),0 8px 18px rgba(0,0,0,.34);} 50%{ box-shadow:0 0 0 7px rgba(255,72,72,.08),0 8px 18px rgba(0,0,0,.34);} }
body.game-body .fleet-help-dot {
    display: inline-grid;
    place-items: center;
    width: 15px;
    height: 15px;
    margin-left: .28rem;
    border-radius: 999px;
    border: 1px solid rgba(255,224,150,.42);
    background: rgba(255,224,150,.14);
    color: #ffe7a5;
    font-size: .66rem;
    line-height: 1;
    cursor: help;
    vertical-align: middle;
}
body.game-body .fleet-help-dot:hover { background: rgba(255,224,150,.28); }
body.game-body .dispatch-hint {
    border: 1px solid rgba(113,206,255,.34);
    background: rgba(20,80,118,.28);
    color: #dff4ff;
    border-radius: 12px;
    padding: .45rem .55rem;
    font-size: .82rem;
    margin: .45rem 0;
}
body.game-body .dealer-inline-shop small { color: rgba(255,238,199,.78); }
body.game-body .dealer-offer-list { display: grid; gap: .55rem; margin: .75rem 0; }
body.game-body .dealer-offer-mini {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: .65rem;
    align-items: center;
    width: 100%;
    border: 1px solid rgba(255,224,150,.28);
    border-radius: 16px;
    padding: .5rem;
    background: rgba(255,224,150,.08);
    color: #fff3cf;
    text-align: left;
    cursor: pointer;
}
body.game-body .dealer-offer-mini:hover { background: rgba(255,224,150,.15); transform: translateY(-1px); }
body.game-body .dealer-offer-mini img { width: 76px; height: 54px; object-fit: contain; border-radius: 12px; background: rgba(0,0,0,.22); }
body.game-body .dealer-offer-mini span { display: grid; gap: .15rem; }
body.game-body .dealer-offer-mini small { color: #ffd57d; }
body.game-body .level-roadmap-modal {
    position: fixed;
    inset: 0;
    z-index: 13000;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(3,6,12,.72);
    backdrop-filter: blur(8px);
}
body.game-body .level-roadmap-modal.hidden { display: none !important; }
body.game-body .level-roadmap-card {
    width: min(560px, 96vw);
    max-height: 86vh;
    overflow: auto;
    position: relative;
    border: 1px solid rgba(255,224,150,.42);
    border-radius: 24px;
    padding: 1.2rem;
    background: linear-gradient(145deg, rgba(31,20,11,.98), rgba(10,18,30,.98));
    box-shadow: 0 28px 80px rgba(0,0,0,.5);
    color: #fff3cf;
}
body.game-body .level-roadmap-card h2 { margin: .2rem 0 .35rem; }
body.game-body .level-roadmap-list { display: grid; gap: .55rem; margin-top: .9rem; }
body.game-body .level-roadmap-row {
    display: grid;
    gap: .18rem;
    padding: .72rem;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 15px;
    background: rgba(255,255,255,.055);
}
body.game-body .level-roadmap-row.is-current {
    border-color: rgba(255,210,94,.66);
    background: rgba(255,210,94,.12);
}
body.game-body .level-roadmap-row span { color: #ffe4a7; }
body.game-body .level-roadmap-row small { color: rgba(255,245,220,.72); }
body.game-body .xp-widget { cursor: pointer; }
body.game-body .xp-widget:focus-visible { outline: 2px solid #ffd45f; outline-offset: 4px; }


/* v5.21: Fleet-Karten entwirren + App-Konsolidierung */
body.game-body .fleet-card {
    position: relative;
}
body.game-body .fleet-card .fleet-card-info {
    overflow: hidden;
}
body.game-body .fleet-card .fleet-quick-actions {
    position: static !important;
    top: auto !important;
    right: auto !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: .34rem !important;
    margin-top: .28rem !important;
    z-index: 1 !important;
}
body.game-body .fleet-quick-action {
    width: 30px !important;
    height: 30px !important;
    border-radius: 10px !important;
    flex: 0 0 auto;
}
body.game-body .fleet-quick-action img {
    width: 17px !important;
    height: 17px !important;
}
body.game-body .fleet-status {
    z-index: 7 !important;
}
body.game-body .fleet-pause-stamp {
    z-index: 9 !important;
    max-width: calc(100% - 1.2rem) !important;
}
body.game-body .fleet-title-row {
    padding-right: 0 !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button {
    width: 30px !important;
    height: 30px !important;
    right: -4px !important;
    bottom: -4px !important;
}
body.game-body .fleet-queued-job,
body.game-body .queued-job-note {
    margin-top: .22rem !important;
    font-size: clamp(.50rem, .60vw, .68rem) !important;
    line-height: 1.18 !important;
}
body.game-body .fleet-card small,
body.game-body .fleet-card .fleet-meta,
body.game-body .fleet-meter-top {
    word-break: break-word;
}
body.game-body .fleet-card .fleet-meta.compact {
    white-space: normal !important;
}
@media (max-width: 1400px) {
    body.game-body .fleet-card .fleet-quick-actions {
        gap: .28rem !important;
    }
    body.game-body .fleet-quick-action {
        width: 28px !important;
        height: 28px !important;
    }
}
@media (max-width: 1100px) {
    body.game-body .fleet-card .fleet-quick-actions {
        margin-top: .18rem !important;
    }
}


/* v5.22: Fleet-Kachel-Feinschliff nach Layout-Test */
body.game-body .fleet-wrap {
    padding-inline: .24rem !important;
}
body.game-body .paged-fleet {
    align-items: stretch !important;
    gap: clamp(.42rem, .62vw, .78rem) !important;
}
body.game-body .fleet-card {
    display: grid !important;
    grid-template-rows: 1fr !important;
    min-width: 0 !important;
    isolation: isolate !important;
    padding: .74rem .72rem .56rem !important;
    padding-top: 1.06rem !important;
    overflow: hidden !important;
}
body.game-body .fleet-card-main {
    display: grid !important;
    grid-template-columns: clamp(74px, 7.2vw, 116px) minmax(0, 1fr) !important;
    gap: clamp(.48rem, .62vw, .72rem) !important;
    align-items: stretch !important;
    min-width: 0 !important;
    height: 100% !important;
}
body.game-body .fleet-car-thumb {
    min-width: 0 !important;
    min-height: 112px !important;
    height: 100% !important;
    display: grid !important;
    place-items: center !important;
    background: linear-gradient(180deg, rgba(255,224,150,.07), rgba(0,0,0,.15)) !important;
    border: 1px solid rgba(255,224,150,.14) !important;
}
body.game-body .fleet-car-thumb .fleet-car-image,
body.game-body .fleet-car-thumb img.fleet-car-image,
body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image {
    width: 100% !important;
    height: auto !important;
    max-height: clamp(68px, 9.5vh, 112px) !important;
    object-fit: contain !important;
}
body.game-body .fleet-card-info {
    display: grid !important;
    grid-auto-rows: min-content !important;
    align-content: start !important;
    gap: clamp(.08rem, .13vw, .16rem) !important;
    min-width: 0 !important;
    overflow: hidden !important;
}
body.game-body .fleet-title-row {
    min-height: 1.18rem !important;
    gap: .32rem !important;
}
body.game-body .fleet-title-row strong {
    font-size: clamp(.74rem, .82vw, 1rem) !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
}
body.game-body .fleet-rename-button {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    font-size: .66rem !important;
    padding: 0 !important;
}
body.game-body .fleet-card small,
body.game-body .fleet-card .fleet-meta {
    font-size: clamp(.50rem, .54vw, .64rem) !important;
    line-height: 1.12 !important;
}
body.game-body .fleet-meter {
    min-width: 0 !important;
    gap: .045rem !important;
}
body.game-body .fleet-meter-top {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: .32rem !important;
    font-size: clamp(.50rem, .55vw, .66rem) !important;
    line-height: 1.03 !important;
}
body.game-body .fleet-meter-label {
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: .18rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
body.game-body .fleet-help-dot {
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
    margin-left: 0 !important;
    font-size: .56rem !important;
}
body.game-body .fleet-meter-top b {
    min-width: 3ch !important;
    text-align: right !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.8) !important;
}
body.game-body .fleet-meter-track {
    height: 6px !important;
    border-radius: 99px !important;
    overflow: hidden !important;
}
body.game-body .fleet-quick-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .26rem !important;
    margin-top: .25rem !important;
}
body.game-body .fleet-quick-action {
    width: auto !important;
    min-width: 0 !important;
    height: 26px !important;
    min-height: 26px !important;
    border-radius: 9px !important;
    padding: 0 .28rem !important;
    display: inline-grid !important;
    grid-template-columns: auto minmax(0, auto) !important;
    justify-content: center !important;
    align-items: center !important;
    gap: .20rem !important;
    font-size: .62rem !important;
    line-height: 1 !important;
}
body.game-body .fleet-quick-icon {
    display: grid !important;
    place-items: center !important;
    min-width: 14px !important;
}
body.game-body .fleet-quick-action img {
    width: 14px !important;
    height: 14px !important;
}
body.game-body .fleet-quick-label {
    display: inline-block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 5.6em !important;
    font-size: .60rem !important;
    font-weight: 900 !important;
}
body.game-body .fleet-status {
    top: .34rem !important;
    left: .44rem !important;
    max-width: calc(100% - 4.4rem) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
body.game-body .fleet-warning-triangle {
    width: 42px !important;
    height: 42px !important;
    left: .42rem !important;
    top: 1.78rem !important;
}
body.game-body .fleet-pause-stamp {
    top: .34rem !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: calc(100% - 1.4rem) !important;
    padding: .22rem .44rem !important;
    gap: .24rem !important;
    font-size: .56rem !important;
}
body.game-body .fleet-pause-stamp b {
    min-width: 34px !important;
    padding: .16rem .24rem !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button {
    width: 28px !important;
    height: 28px !important;
    right: -3px !important;
    bottom: -3px !important;
    z-index: 8 !important;
}
body.game-body .fleet-car-thumb .fleet-powerups {
    left: .18rem !important;
    bottom: .18rem !important;
    gap: .10rem !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge {
    width: 29px !important;
    height: 29px !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge img {
    width: 21px !important;
    height: 21px !important;
}
body.game-body .fleet-queued-job,
body.game-body .queued-job-note {
    max-height: 2.65em !important;
    overflow: hidden !important;
    line-height: 1.18 !important;
    padding: .24rem .38rem !important;
}
body.game-body .fleet-card .progress-row {
    margin-top: .18rem !important;
}
body.game-body .no-driver-banner {
    z-index: 10 !important;
    max-width: calc(100% - 1rem) !important;
}
@media (min-width: 1500px) {
    body.game-body .fleet-card-main {
        grid-template-columns: clamp(88px, 7.3vw, 128px) minmax(0, 1fr) !important;
    }
    body.game-body .fleet-quick-action {
        height: 28px !important;
    }
}
@media (max-width: 1250px) {
    body.game-body .fleet-card {
        padding-inline: .58rem !important;
    }
    body.game-body .fleet-card-main {
        grid-template-columns: clamp(68px, 20%, 94px) minmax(0, 1fr) !important;
    }
    body.game-body .fleet-quick-label {
        display: none !important;
    }
    body.game-body .fleet-quick-action {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 760px) {
    body.game-body .fleet-card {
        min-height: 168px !important;
        padding: .78rem .68rem .62rem !important;
        padding-top: 1.05rem !important;
    }
    body.game-body .fleet-card-main {
        grid-template-columns: 88px minmax(0, 1fr) !important;
    }
    body.game-body .fleet-quick-label {
        display: inline-block !important;
    }
    body.game-body .fleet-car-thumb {
        min-height: 118px !important;
    }
}

/* v5.23: Eventkalender, strategische Aufträge, Maik-Schichtprotokoll und Fleet-Fix */
body.game-body .emoji-app-icon {
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    font-size:2rem;
    filter: drop-shadow(0 6px 12px rgba(0,0,0,.35));
}
body.game-body .calendar-app-icon span {
    background:linear-gradient(145deg, rgba(115,80,255,.9), rgba(42,24,94,.94));
}
body.game-body .calendar-day-group {
    display:grid;
    gap:.5rem;
    margin-bottom:.75rem;
}
body.game-body .calendar-day-group > strong {
    color:#ffe69a;
    letter-spacing:.04em;
    text-transform:uppercase;
    font-size:.78rem;
}
body.game-body .calendar-event-card {
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:.55rem;
    text-align:left;
    border:1px solid rgba(255,224,150,.24);
    background:linear-gradient(145deg, rgba(42,24,12,.90), rgba(17,9,5,.92));
    color:#fff4d7;
    border-radius:16px;
    padding:.6rem;
    cursor:pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 18px rgba(0,0,0,.22);
}
body.game-body .calendar-event-card.is-active {
    border-color:rgba(103,225,117,.55);
    box-shadow:0 0 0 1px rgba(103,225,117,.25), 0 0 22px rgba(103,225,117,.12);
}
body.game-body .calendar-event-time {
    display:grid;
    place-items:center;
    min-height:48px;
    border-radius:13px;
    background:rgba(255,216,88,.13);
    border:1px solid rgba(255,224,150,.20);
    color:#ffe69a;
    font-weight:1000;
    font-size:.72rem;
    text-align:center;
}
body.game-body .calendar-event-main {
    display:grid;
    gap:.18rem;
    min-width:0;
}
body.game-body .calendar-event-main b {
    color:#fff1b4;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
body.game-body .calendar-event-main small,
body.game-body .calendar-event-main i,
body.game-body .calendar-event-state {
    color:rgba(255,244,214,.76);
    font-size:.72rem;
    line-height:1.22;
    font-style:normal;
}
body.game-body .calendar-event-state {
    grid-column:1 / -1;
    padding-top:.25rem;
    color:#c9f6ff;
    font-weight:900;
}
body.game-body .job-requirements {
    display:flex;
    flex-wrap:wrap;
    gap:.28rem;
    margin:.38rem 0;
}
body.game-body .job-requirements span {
    border:1px solid rgba(126,210,255,.28);
    background:rgba(32,91,130,.25);
    color:#dff5ff;
    border-radius:999px;
    padding:.12rem .42rem;
    font-size:.68rem;
    font-weight:900;
}
body.game-body .job-requirements small {
    flex:1 1 100%;
    color:#ffe7a5!important;
    line-height:1.25;
}
body.game-body .rick-report-grid-v523 {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
body.game-body .rick-shift-protocol {
    display:grid;
    gap:.35rem;
    margin:.85rem 0 1rem;
    padding:.75rem;
    border-radius:16px;
    border:1px solid rgba(255,224,150,.24);
    background:rgba(0,0,0,.22);
}
body.game-body .rick-shift-protocol > strong {
    color:#ffe69a;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-size:.78rem;
}
body.game-body .rick-shift-protocol .rick-report-lines {
    max-height:min(34vh, 280px);
    overflow:auto;
    padding-right:.25rem;
}
body.game-body .fleet-card.has-queued-job {
    box-shadow:0 0 0 1px rgba(255,216,102,.44), 0 12px 30px rgba(0,0,0,.34)!important;
}
body.game-body .fleet-card.has-queued-job .fleet-queued-job {
    display:block!important;
    max-height:none!important;
    overflow:visible!important;
    margin:.24rem 0!important;
    padding:.25rem .38rem!important;
    line-height:1.16!important;
    font-size:clamp(.50rem,.58vw,.68rem)!important;
    background:rgba(255,205,70,.14)!important;
}
body.game-body .fleet-card.has-queued-job .fleet-card-info {
    gap:.07rem!important;
}
body.game-body .fleet-card .fleet-quick-actions:empty {
    display:none!important;
}
body.game-body .fleet-card:not(.has-queued-job) .fleet-quick-label {
    display:none!important;
}
body.game-body .fleet-card:not(.has-queued-job) .fleet-quick-action {
    grid-template-columns:1fr!important;
}
body.game-body .fleet-card.has-queued-job .fleet-quick-actions {
    display:none!important;
}
body.game-body .fleet-card small.driver-missing,
body.game-body .fleet-card .fleet-meta.driver-missing {
    color:#ffb0a8!important;
}
@media (max-width:760px){
    body.game-body .rick-report-grid-v523{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    body.game-body .calendar-event-card{grid-template-columns:52px minmax(0,1fr);}
}
.admin-weekday-grid{display:flex;flex-wrap:wrap;gap:.45rem .7rem;align-items:center;padding:.55rem .65rem;border:1px solid rgba(255,224,150,.18);border-radius:14px;background:rgba(0,0,0,.12)}.admin-weekday-grid>span{flex:1 1 100%;font-weight:900;color:#f3d78f}.admin-weekday-grid label{display:inline-flex!important;align-items:center;gap:.25rem;margin:0!important}


/* v5.24: Fleetcards – untere Hinweise vor Aktionen, keine abgeschnittenen Warntexte */
body.game-body .fleet-card .repair-warning {
    display:block !important;
    margin-top:.16rem !important;
    margin-bottom:.10rem !important;
    padding:.18rem .36rem !important;
    border-radius:10px !important;
    border:1px solid rgba(255,126,126,.34) !important;
    background:rgba(104,20,20,.22) !important;
    color:#ffb9b1 !important;
    font-size:clamp(.50rem,.56vw,.67rem) !important;
    line-height:1.15 !important;
    white-space:normal !important;
}
body.game-body .fleet-card .progress-row {
    order: 30;
}
body.game-body .fleet-card .fleet-quick-actions {
    order: 40;
    margin-top:.18rem !important;
}
body.game-body .fleet-card.has-queued-job .fleet-queued-job,
body.game-body .fleet-card .repair-warning,
body.game-body .fleet-card .progress-row {
    max-width:100% !important;
}


/* v5.25: Fleetcards kompakter, damit Warnhinweise + Buttons komplett sichtbar bleiben */
body.game-body .fleet-card {
    padding-bottom: .42rem !important;
}
body.game-body .fleet-card-main {
    align-items: start !important;
    height: auto !important;
    gap: .52rem !important;
}
body.game-body .fleet-car-thumb {
    min-height: 92px !important;
    height: auto !important;
}
body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
body.game-body .fleet-car-thumb img.fleet-car-image {
    max-height: 84px !important;
}
body.game-body .fleet-card-info {
    gap: .05rem !important;
}
body.game-body .fleet-title-row strong {
    font-size: clamp(.72rem,.78vw,.94rem) !important;
}
body.game-body .fleet-card small,
body.game-body .fleet-card .fleet-meta {
    font-size: clamp(.48rem,.52vw,.61rem) !important;
    line-height: 1.06 !important;
}
body.game-body .fleet-meter-top {
    font-size: clamp(.48rem,.52vw,.62rem) !important;
    line-height: 1.0 !important;
    gap: .24rem !important;
}
body.game-body .fleet-help-dot {
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    font-size: .52rem !important;
}
body.game-body .fleet-meter-track {
    height: 5px !important;
}
body.game-body .fleet-card .repair-warning {
    margin-top: .10rem !important;
    margin-bottom: .06rem !important;
    padding: .14rem .30rem !important;
    font-size: clamp(.48rem,.52vw,.62rem) !important;
    line-height: 1.08 !important;
}
body.game-body .fleet-card .progress-row {
    margin-top: .08rem !important;
}
body.game-body .fleet-card .fleet-quick-actions {
    margin-top: .10rem !important;
    gap: .18rem !important;
}
body.game-body .fleet-quick-action {
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 .22rem !important;
    border-radius: 8px !important;
    gap: .14rem !important;
}
body.game-body .fleet-quick-action img {
    width: 13px !important;
    height: 13px !important;
}
body.game-body .fleet-quick-label {
    font-size: .56rem !important;
    max-width: 5.1em !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button {
    width: 26px !important;
    height: 26px !important;
}
@media (max-width: 1250px) {
    body.game-body .fleet-car-thumb {
        min-height: 86px !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image {
        max-height: 76px !important;
    }
    body.game-body .fleet-quick-action {
        height: 22px !important;
        min-height: 22px !important;
    }
}


/* v5.26: globale Events editierbar/kopierbar, Karten-Darkmode, Fahreravatar größer */
body.game-body .leaflet-container.map-theme-dark {
    background: #111827 !important;
}
body.game-body .settings-map-mode-note {
    color: rgba(255,244,214,.78);
}
body.game-body .fleet-driver-avatar.employee-avatar-button {
    width: 52px !important;
    height: 52px !important;
    right: 6px !important;
    bottom: 6px !important;
    border-width: 4px !important;
    box-shadow: 0 10px 20px rgba(0,0,0,.52) !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
@media (max-width: 1250px) {
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        width: 46px !important;
        height: 46px !important;
        right: 4px !important;
        bottom: 4px !important;
    }
}
.admin-table-actions {
    display:flex;
    flex-wrap:wrap;
    gap:.35rem;
    align-items:flex-start;
}
.admin-table-actions .inline-form {
    display:flex;
    flex-wrap:wrap;
    gap:.35rem;
}


/* v5.27: Fahrerbild integriert + sichtbarer Karten-Darkmode */
body.game-body .taxi-map-theme-control {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 16px rgba(0,0,0,.28);
}
body.game-body .taxi-map-theme-toggle {
    appearance: none;
    border: 0;
    min-width: 82px;
    height: 34px;
    padding: 0 .7rem;
    font-weight: 900;
    font-size: .72rem;
    color: #2b1709;
    background: linear-gradient(145deg, #ffe49a, #f5bf46);
    cursor: pointer;
}
body.game-body .taxi-map-theme-toggle.is-dark {
    color: #eef4ff;
    background: linear-gradient(145deg, #23314d, #0f172a);
}
body.game-body .taxi-map-theme-toggle:hover {
    filter: brightness(1.05);
}
body.game-body .fleet-car-thumb {
    overflow: hidden !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button {
    width: 62px !important;
    height: 62px !important;
    left: 8px !important;
    right: auto !important;
    bottom: 8px !important;
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    z-index: 7 !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    filter: drop-shadow(0 4px 10px rgba(0,0,0,.45));
}
body.game-body .fleet-car-thumb .fleet-powerups {
    left: 8px !important;
    bottom: 74px !important;
    gap: .12rem !important;
    z-index: 8 !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge {
    width: 24px !important;
    height: 24px !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge img {
    width: 17px !important;
    height: 17px !important;
}
@media (max-width: 1250px) {
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        width: 54px !important;
        height: 54px !important;
        left: 6px !important;
        bottom: 6px !important;
    }
    body.game-body .fleet-car-thumb .fleet-powerups {
        bottom: 62px !important;
        left: 6px !important;
    }
}


/* v5.28: Karten-Toolbar wie Software-Menü + Fahrergesicht integriert im Thumb */
body.game-body .monitor-map-panel {
    padding-top: 54px !important;
}
body.game-body .monitor-map-panel .map-title,
body.game-body .monitor-map-panel .map-focus-button,
body.game-body .taxi-map-theme-control {
    display: none !important;
}
body.game-body .monitor-map-panel .map-toolbar {
    position: absolute;
    top: 26px;
    left: 28px;
    right: 28px;
    z-index: 26;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .5rem .7rem;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(51,34,21,.96), rgba(20,12,7,.94));
    border: 1px solid rgba(255,224,150,.24);
    box-shadow: 0 10px 22px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
}
body.game-body .monitor-map-panel .map-toolbar-title {
    display: grid;
    gap: .05rem;
    min-width: 0;
}
body.game-body .monitor-map-panel .map-toolbar-title strong {
    color: #fff1bf;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .9rem;
    line-height: 1;
}
body.game-body .monitor-map-panel .map-toolbar-title small {
    color: rgba(255,235,182,.64);
    text-transform: uppercase;
    letter-spacing: .11em;
    font-size: .56rem;
}
body.game-body .monitor-map-panel .map-toolbar-actions {
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
body.game-body .map-toolbar-button {
    appearance: none;
    border: 1px solid rgba(255,224,150,.26);
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(76,52,34,.98), rgba(29,18,11,.98));
    color: #fff0be;
    font-weight: 900;
    font-size: .72rem;
    padding: .52rem .82rem;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
body.game-body .map-toolbar-button:hover { filter: brightness(1.06); }
body.game-body .map-toolbar-button.is-dark {
    background: linear-gradient(145deg, rgba(47,65,104,.96), rgba(18,25,47,.98));
    border-color: rgba(138,175,255,.32);
}
body.game-body .map-toolbar-button.map-toolbar-button-primary,
body.game-body .map-toolbar-button.is-locked {
    background: linear-gradient(135deg, rgba(122,72,255,.96), rgba(61,31,116,.96));
    border-color: rgba(224,173,255,.65);
    color: #fff3c4;
}
body.game-body .monitor-map-panel .monitor-screen {
    margin-top: 16px !important;
}
body.game-body .fleet-car-thumb {
    position: relative !important;
    min-height: 96px !important;
}
body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
body.game-body .fleet-car-thumb img.fleet-car-image {
    position: absolute !important;
    right: 6px !important;
    top: 10px !important;
    width: 68% !important;
    max-width: 68% !important;
    max-height: 72px !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button {
    width: 56px !important;
    height: 72px !important;
    left: 8px !important;
    right: auto !important;
    bottom: 0px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    z-index: 7 !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    filter: drop-shadow(0 6px 12px rgba(0,0,0,.48));
}
body.game-body .fleet-car-thumb .fleet-powerups {
    left: 8px !important;
    bottom: 72px !important;
    z-index: 8 !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge {
    width: 22px !important;
    height: 22px !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge img {
    width: 15px !important;
    height: 15px !important;
}
@media (max-width: 1200px) {
    body.game-body .monitor-map-panel .map-toolbar {
        left: 20px;
        right: 20px;
        top: 20px;
        padding: .44rem .58rem;
    }
    body.game-body .monitor-map-panel .map-toolbar-title strong { font-size: .8rem; }
    body.game-body .map-toolbar-button { font-size: .66rem; padding: .45rem .62rem; }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image {
        max-height: 64px !important;
    }
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        width: 50px !important;
        height: 64px !important;
        left: 6px !important;
    }
    body.game-body .fleet-car-thumb .fleet-powerups {
        bottom: 64px !important;
        left: 6px !important;
    }
}


/* v5.29: Map-UI final – ein einziger Darkmode-Schalter, sauber im Game-Look */
body.game-body .taxi-map-theme-control { display:none!important; }
body.game-body .monitor-map-panel{padding-top:54px!important;}
body.game-body .monitor-map-panel .map-title,
body.game-body .monitor-map-panel .map-focus-button{display:none!important;}
body.game-body .monitor-map-panel .map-toolbar{position:absolute!important;top:25px!important;left:28px!important;right:28px!important;z-index:999!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:8px 10px!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(48,31,18,.97),rgba(15,9,5,.96))!important;border:1px solid rgba(255,218,122,.28)!important;box-shadow:0 10px 22px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)!important;}
body.game-body .monitor-map-panel .map-toolbar-title{display:grid!important;gap:2px!important;min-width:0!important;}
body.game-body .monitor-map-panel .map-toolbar-title strong{display:block!important;color:#fff1bf!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-size:14px!important;line-height:1!important;font-weight:1000!important;}
body.game-body .monitor-map-panel .map-toolbar-title small{display:block!important;color:rgba(255,235,182,.67)!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:9px!important;line-height:1!important;font-weight:800!important;}
body.game-body .monitor-map-panel .map-toolbar-actions{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
body.game-body .map-toolbar-button{appearance:none!important;border:1px solid rgba(255,224,150,.3)!important;border-radius:12px!important;background:linear-gradient(145deg,rgba(79,53,32,.98),rgba(25,15,9,.98))!important;color:#fff0be!important;font:inherit!important;font-weight:900!important;font-size:12px!important;line-height:1!important;padding:9px 12px!important;cursor:pointer!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;}
body.game-body .map-toolbar-button:hover{filter:brightness(1.07)!important;}
body.game-body .map-toolbar-button.is-dark{background:linear-gradient(145deg,rgba(44,62,98,.98),rgba(13,20,38,.98))!important;border-color:rgba(138,175,255,.36)!important;}
body.game-body .map-toolbar-button.map-toolbar-button-primary,
body.game-body .map-toolbar-button.is-locked{background:linear-gradient(135deg,rgba(122,72,255,.96),rgba(61,31,116,.96))!important;border-color:rgba(224,173,255,.65)!important;color:#fff3c4!important;}
body.game-body .monitor-map-panel .monitor-screen{margin-top:16px!important;}
body.game-body .leaflet-container.map-theme-dark .leaflet-tile{filter:brightness(.62) invert(1) contrast(1.08) hue-rotate(180deg) saturate(.82)!important;}
body.game-body .leaflet-container.map-theme-dark .leaflet-control-attribution{background:rgba(12,18,32,.62)!important;color:#dbe8ff!important;}
@media(max-width:1200px){body.game-body .monitor-map-panel .map-toolbar{top:20px!important;left:20px!important;right:20px!important;padding:7px 8px!important;}body.game-body .monitor-map-panel .map-toolbar-title strong{font-size:12px!important;}body.game-body .monitor-map-panel .map-toolbar-title small{font-size:8px!important;}body.game-body .map-toolbar-button{font-size:11px!important;padding:8px 10px!important;}}


/* v5.30: Fleetcards näher an Mockup + Monitor/Map-Toolbar aufräumen */
body.game-body .monitor-map-panel {
    padding-top: 30px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    padding-bottom: 16px !important;
    border-radius: 18px !important;
}
body.game-body .monitor-map-panel .monitor-top {
    top: 6px !important;
    left: 16px !important;
    right: 16px !important;
    height: 12px !important;
    font-size: 8px !important;
    letter-spacing: .22em !important;
    opacity: .85 !important;
}
body.game-body .monitor-map-panel .monitor-top span {
    width: 6px !important;
    height: 6px !important;
}
body.game-body .monitor-map-panel .map-toolbar {
    top: 18px !important;
    left: 42px !important;
    right: 42px !important;
    padding: 10px 16px !important;
    border-radius: 20px !important;
    background: linear-gradient(90deg, rgba(57,31,15,.96) 0%, rgba(36,18,10,.96) 36%, rgba(24,12,7,.95) 100%) !important;
    border: 2px solid rgba(255,201,97,.18) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 22px rgba(0,0,0,.28) !important;
}
body.game-body .monitor-map-panel .map-toolbar-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
}
body.game-body .monitor-map-panel .map-toolbar-title strong {
    display: block !important;
    font-size: 17px !important;
    line-height: 1 !important;
    font-weight: 1000 !important;
    letter-spacing: .03em !important;
}
body.game-body .monitor-map-panel .map-toolbar-title small {
    display: block !important;
    font-size: 7px !important;
    line-height: 1 !important;
    letter-spacing: .20em !important;
    opacity: .9 !important;
}
body.game-body .monitor-map-panel .map-toolbar-actions {
    gap: 10px !important;
}
body.game-body .map-toolbar-button {
    min-height: 48px !important;
    padding: 0 22px !important;
    border-radius: 18px !important;
    font-size: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 6px 14px rgba(0,0,0,.18) !important;
}
body.game-body .monitor-map-panel .monitor-screen {
    margin-top: 36px !important;
    border-radius: 12px !important;
    border-width: 2px !important;
}
body.game-body .monitor-map-panel #map {
    border-radius: 10px !important;
}
body.game-body .monitor-map-panel .monitor-foot {
    bottom: 5px !important;
    width: 70px !important;
    height: 8px !important;
}
body.game-body .monitor-map-panel .leaflet-control-attribution {
    display: none !important;
}
body.game-body .monitor-map-panel .leaflet-top.leaflet-left {
    top: 14px !important;
    left: 14px !important;
}
body.game-body .monitor-map-panel .leaflet-control-zoom {
    border: 1px solid rgba(255,222,150,.18) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.22) !important;
}
body.game-body .monitor-map-panel .leaflet-control-zoom a {
    background: rgba(22,14,10,.82) !important;
    color: #fff1bf !important;
    border-color: rgba(255,222,150,.18) !important;
}

body.game-body .fleet-card {
    padding: 14px 16px 14px !important;
    border-radius: 28px !important;
    border: 2px solid rgba(255,196,92,.26) !important;
    background: linear-gradient(145deg, rgba(18,10,6,.98), rgba(6,4,3,.98) 55%, rgba(28,14,8,.98)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 30px rgba(0,0,0,.28) !important;
}
body.game-body .fleet-card-main {
    grid-template-columns: minmax(160px, 33%) minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 16px !important;
}
body.game-body .fleet-status {
    top: 12px !important;
    left: 14px !important;
    padding: 8px 16px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    z-index: 9 !important;
    max-width: calc(100% - 28px) !important;
    text-transform: none !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 6px 14px rgba(0,0,0,.26) !important;
}
body.game-body .fleet-status.free {
    background: linear-gradient(145deg, rgba(133,182,60,.28), rgba(58,96,20,.18)) !important;
    color: #cfff92 !important;
}
body.game-body .fleet-status.busy {
    background: linear-gradient(145deg, rgba(235,182,77,.25), rgba(131,82,12,.18)) !important;
    color: #ffe7a8 !important;
}
body.game-body .fleet-warning-triangle {
    top: auto !important;
    bottom: 16px !important;
    left: 16px !important;
}
body.game-body .fleet-car-thumb {
    position: relative !important;
    min-height: 218px !important;
    border-radius: 24px !important;
    border: 2px solid rgba(255,196,92,.22) !important;
    background: radial-gradient(circle at 32% 18%, rgba(96,61,30,.30), rgba(18,10,6,.92) 62%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04), inset 0 0 24px rgba(0,0,0,.34) !important;
}
body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
body.game-body .fleet-car-thumb img.fleet-car-image {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    top: 24px !important;
    width: auto !important;
    max-width: calc(100% - 36px) !important;
    max-height: 122px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button {
    width: 112px !important;
    height: 124px !important;
    left: 2px !important;
    bottom: -2px !important;
    right: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    z-index: 7 !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: left bottom !important;
    filter: drop-shadow(0 8px 18px rgba(0,0,0,.50)) !important;
}
body.game-body .fleet-car-thumb .fleet-powerups {
    left: 14px !important;
    bottom: 114px !important;
    gap: 5px !important;
    z-index: 8 !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge {
    width: 26px !important;
    height: 26px !important;
}
body.game-body .fleet-car-thumb .fleet-powerup-badge img {
    width: 18px !important;
    height: 18px !important;
}
body.game-body .fleet-card-info {
    display: grid !important;
    grid-auto-rows: min-content !important;
    gap: 6px !important;
    align-content: start !important;
    min-width: 0 !important;
    padding-right: 4px !important;
}
body.game-body .fleet-title-row {
    gap: 10px !important;
    min-height: 0 !important;
    align-items: flex-start !important;
}
body.game-body .fleet-title-row strong {
    font-size: 28px !important;
    line-height: 1.02 !important;
    letter-spacing: -.02em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
body.game-body .fleet-rename-button {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 999px !important;
    font-size: 19px !important;
    border: 2px solid rgba(255,210,110,.42) !important;
    background: rgba(64,42,18,.35) !important;
}
body.game-body .fleet-card .fleet-meta,
body.game-body .fleet-card small {
    font-size: 12px !important;
    line-height: 1.12 !important;
}
body.game-body .fleet-meter-top {
    font-size: 16px !important;
    line-height: 1 !important;
    gap: 8px !important;
}
body.game-body .fleet-meter-label {
    gap: 8px !important;
    font-weight: 1000 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}
body.game-body .fleet-help-dot {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    font-size: 11px !important;
}
body.game-body .fleet-meter-top b {
    font-size: 16px !important;
}
body.game-body .fleet-meter-track {
    height: 12px !important;
    border-radius: 999px !important;
}
body.game-body .fleet-card .repair-warning {
    margin-top: 4px !important;
    margin-bottom: 2px !important;
    padding: 10px 16px !important;
    border-radius: 18px !important;
    font-size: 14px !important;
    line-height: 1.05 !important;
}
body.game-body .fleet-queued-job {
    padding: 4px 0 !important;
    color: rgba(255,236,184,.72) !important;
    font-size: 11px !important;
}
body.game-body .fleet-card .progress-row {
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 4px !important;
}
body.game-body .fleet-card .progress-shell {
    height: 10px !important;
    border-radius: 999px !important;
}
body.game-body .fleet-quick-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(58px, 72px)) !important;
    justify-content: start !important;
    gap: 12px !important;
    margin-top: 6px !important;
}
body.game-body .fleet-quick-action {
    width: auto !important;
    height: 68px !important;
    min-height: 68px !important;
    border-radius: 20px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    grid-template-columns: 1fr !important;
    background: linear-gradient(145deg, rgba(45,28,15,.94), rgba(13,9,8,.96)) !important;
    border: 2px solid rgba(255,201,97,.18) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 16px rgba(0,0,0,.24) !important;
}
body.game-body .fleet-quick-action.is-disabled {
    opacity: .55 !important;
}
body.game-body .fleet-quick-icon {
    min-width: 0 !important;
}
body.game-body .fleet-quick-action img {
    width: 30px !important;
    height: 30px !important;
}
body.game-body .fleet-quick-action .fleet-quick-label {
    display: none !important;
}
body.game-body .fleet-quick-workshop .fleet-quick-icon,
body.game-body .fleet-quick-assistance .fleet-quick-icon {
    font-size: 34px !important;
    line-height: 1 !important;
}
body.game-body .countdown-pill {
    min-width: 74px !important;
    height: 54px !important;
    border-radius: 18px !important;
    padding: 0 16px !important;
    font-size: 20px !important;
    justify-content: center !important;
    border: 2px solid rgba(255,208,108,.34) !important;
    background: linear-gradient(145deg, rgba(36,24,15,.96), rgba(10,8,7,.98)) !important;
}

@media (max-width: 1800px) {
    body.game-body .fleet-card-main {
        grid-template-columns: minmax(138px, 31%) minmax(0, 1fr) !important;
        gap: 12px !important;
    }
    body.game-body .fleet-car-thumb {
        min-height: 188px !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image {
        max-height: 104px !important;
        top: 20px !important;
    }
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        width: 92px !important;
        height: 104px !important;
    }
    body.game-body .fleet-car-thumb .fleet-powerups {
        bottom: 96px !important;
    }
    body.game-body .fleet-title-row strong {
        font-size: 22px !important;
    }
    body.game-body .fleet-meter-top,
    body.game-body .fleet-meter-top b {
        font-size: 14px !important;
    }
    body.game-body .fleet-quick-actions {
        grid-template-columns: repeat(3, minmax(48px, 62px)) !important;
        gap: 8px !important;
    }
    body.game-body .fleet-quick-action {
        height: 58px !important;
        min-height: 58px !important;
        border-radius: 18px !important;
    }
    body.game-body .fleet-quick-action img {
        width: 24px !important;
        height: 24px !important;
    }
    body.game-body .fleet-quick-workshop .fleet-quick-icon,
    body.game-body .fleet-quick-assistance .fleet-quick-icon {
        font-size: 28px !important;
    }
    body.game-body .countdown-pill {
        min-width: 58px !important;
        height: 44px !important;
        font-size: 16px !important;
        border-radius: 16px !important;
    }
}
@media (max-width: 1300px) {
    body.game-body .monitor-map-panel .map-toolbar {
        left: 20px !important;
        right: 20px !important;
        padding: 8px 12px !important;
    }
    body.game-body .monitor-map-panel .map-toolbar-title strong {
        font-size: 14px !important;
    }
    body.game-body .map-toolbar-button {
        min-height: 42px !important;
        padding: 0 16px !important;
        font-size: 11px !important;
    }
    body.game-body .monitor-map-panel .monitor-screen {
        margin-top: 34px !important;
    }
    body.game-body .fleet-card {
        padding: 12px 12px 12px !important;
    }
    body.game-body .fleet-card-main {
        grid-template-columns: 118px minmax(0, 1fr) !important;
    }
    body.game-body .fleet-car-thumb {
        min-height: 164px !important;
        border-radius: 20px !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image {
        max-height: 88px !important;
    }
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        width: 78px !important;
        height: 88px !important;
    }
    body.game-body .fleet-car-thumb .fleet-powerups {
        bottom: 82px !important;
    }
    body.game-body .fleet-title-row strong {
        font-size: 18px !important;
    }
    body.game-body .fleet-status {
        font-size: 12px !important;
        padding: 6px 12px !important;
    }
    body.game-body .fleet-meter-top,
    body.game-body .fleet-meter-top b {
        font-size: 12px !important;
    }
    body.game-body .fleet-meter-track {
        height: 10px !important;
    }
    body.game-body .fleet-card .repair-warning {
        font-size: 12px !important;
        padding: 8px 12px !important;
    }
}

/* v5.31: Fuhrpark-Karten final näher am Mockup + Schnellaktions-Symbole sichtbar */
body.game-body .dashboard-shell {
    grid-template-rows: auto minmax(0, 1fr) clamp(310px, 36vh, 370px) !important;
}
body.game-body .taximeter-bar.compact-meter,
body.game-body .compact-meter.taximeter-bar {
    min-height: clamp(310px, 36vh, 370px) !important;
    max-height: clamp(310px, 36vh, 370px) !important;
    padding: 2.35rem 1.05rem .95rem !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    grid-template-columns: minmax(0, 1fr) !important;
}
body.game-body .fleet-wrap {
    height: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
}
body.game-body .fleet-pagebar {
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 0 .42rem !important;
    padding: 0 1.6rem !important;
    font-size: clamp(.82rem, 1vw, 1.02rem) !important;
}
body.game-body .fleet-page-btn {
    width: 34px !important;
    height: 28px !important;
    border-radius: 12px !important;
}
body.game-body #taxiList.paged-fleet,
body.game-body .paged-fleet {
    height: calc(100% - 38px) !important;
    min-height: 0 !important;
    grid-template-columns: repeat(var(--fleet-visible-count, 4), minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(0, 1fr) !important;
    gap: clamp(12px, 1.05vw, 18px) !important;
    align-items: stretch !important;
    overflow: hidden !important;
}
body.game-body #taxiList.paged-fleet .fleet-card,
body.game-body .fleet-card {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) !important;
    padding: clamp(12px, .95vw, 16px) !important;
    padding-top: clamp(18px, 1.25vw, 22px) !important;
    border-radius: 28px !important;
    border: 2px solid rgba(255, 202, 93, .30) !important;
    background:
        radial-gradient(circle at 18% 10%, rgba(93, 58, 28, .28), transparent 42%),
        linear-gradient(145deg, rgba(20, 12, 7, .98), rgba(5, 4, 3, .98) 58%, rgba(28, 15, 8, .98)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 16px 34px rgba(0,0,0,.32) !important;
    overflow: hidden !important;
}
body.game-body .fleet-card.selected,
body.game-body .fleet-card.following {
    outline: 3px solid rgba(83, 167, 255, .62) !important;
    outline-offset: -3px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 1px rgba(83,167,255,.30), 0 18px 38px rgba(0,0,0,.36) !important;
}
body.game-body .fleet-card.needs-workshop {
    border-color: rgba(255, 108, 93, .48) !important;
}
body.game-body .fleet-card-main {
    display: grid !important;
    grid-template-columns: minmax(126px, 34%) minmax(0, 1fr) !important;
    gap: clamp(10px, .9vw, 16px) !important;
    align-items: stretch !important;
    height: 100% !important;
    min-height: 0 !important;
}
body.game-body .fleet-card .fleet-car-thumb,
body.game-body .fleet-car-thumb {
    position: relative !important;
    display: block !important;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 24px !important;
    border: 2px solid rgba(255, 202, 93, .24) !important;
    background: radial-gradient(circle at 52% 8%, rgba(126, 82, 40, .25), transparent 46%), linear-gradient(180deg, rgba(38,22,12,.92), rgba(8,6,5,.94)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), inset 0 0 28px rgba(0,0,0,.38) !important;
    overflow: hidden !important;
}
body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
body.game-body .fleet-car-thumb img.fleet-car-image {
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    top: clamp(20px, 2.6vh, 32px) !important;
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
    height: auto !important;
    max-height: clamp(68px, 11vh, 112px) !important;
    object-fit: contain !important;
    z-index: 3 !important;
    filter: drop-shadow(0 10px 14px rgba(0,0,0,.48)) !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button {
    position: absolute !important;
    left: 2px !important;
    right: auto !important;
    bottom: -4px !important;
    width: min(112px, 78%) !important;
    height: min(132px, 60%) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    z-index: 5 !important;
}
body.game-body .fleet-driver-avatar.employee-avatar-button img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: left bottom !important;
    filter: drop-shadow(0 9px 18px rgba(0,0,0,.52)) !important;
}
body.game-body .fleet-status {
    top: 11px !important;
    left: 12px !important;
    z-index: 11 !important;
    padding: 7px 15px !important;
    max-width: calc(100% - 24px) !important;
    border-radius: 999px !important;
    font-size: clamp(11px, .78vw, 15px) !important;
    line-height: 1 !important;
    font-weight: 1000 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 6px 14px rgba(0,0,0,.32) !important;
}
body.game-body .fleet-card-info {
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-auto-rows: min-content !important;
    align-content: start !important;
    gap: clamp(2px, .24vw, 6px) !important;
    padding: 1px 2px 0 0 !important;
    overflow: hidden !important;
}
body.game-body .fleet-title-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 8px !important;
    min-height: 0 !important;
}
body.game-body .fleet-title-row strong {
    font-size: clamp(17px, 1.35vw, 26px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.02em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
body.game-body .fleet-rename-button {
    width: clamp(28px, 2.2vw, 42px) !important;
    height: clamp(28px, 2.2vw, 42px) !important;
    min-width: clamp(28px, 2.2vw, 42px) !important;
    border-radius: 999px !important;
    font-size: clamp(13px, 1.05vw, 18px) !important;
    border: 2px solid rgba(255, 212, 117, .38) !important;
    background: rgba(65, 42, 19, .36) !important;
}
body.game-body .fleet-card .fleet-meta,
body.game-body .fleet-card small {
    color: rgba(255, 236, 190, .72) !important;
    font-size: clamp(10px, .73vw, 14px) !important;
    line-height: 1.12 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
body.game-body .fleet-meter {
    gap: 3px !important;
    min-width: 0 !important;
}
body.game-body .fleet-meter-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: clamp(11px, .86vw, 16px) !important;
    line-height: 1 !important;
    letter-spacing: .035em !important;
    font-weight: 1000 !important;
    color: rgba(255, 242, 209, .92) !important;
}
body.game-body .fleet-meter-label {
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-transform: uppercase !important;
}
body.game-body .fleet-meter-top b {
    min-width: 3ch !important;
    text-align: right !important;
    font-size: clamp(12px, .92vw, 17px) !important;
    color: #fff7d8 !important;
}
body.game-body .fleet-help-dot {
    width: clamp(14px, 1vw, 17px) !important;
    height: clamp(14px, 1vw, 17px) !important;
    min-width: clamp(14px, 1vw, 17px) !important;
    font-size: clamp(9px, .65vw, 11px) !important;
}
body.game-body .fleet-meter-track {
    height: clamp(7px, .9vh, 12px) !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.55) !important;
}
body.game-body .fleet-card .repair-warning {
    display: block !important;
    width: 100% !important;
    margin: clamp(3px, .34vw, 6px) 0 clamp(2px, .22vw, 4px) !important;
    padding: clamp(7px, .65vw, 10px) clamp(10px, .8vw, 15px) !important;
    border-radius: 16px !important;
    border: 2px solid rgba(255, 100, 83, .48) !important;
    background: linear-gradient(90deg, rgba(103, 28, 20, .82), rgba(52, 14, 10, .88)) !important;
    color: #ffaaa4 !important;
    font-size: clamp(12px, .88vw, 16px) !important;
    line-height: 1.05 !important;
    font-weight: 1000 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    order: 24 !important;
}
body.game-body .fleet-card .progress-row {
    order: 34 !important;
    margin-top: 2px !important;
}
body.game-body .fleet-card .fleet-quick-actions,
body.game-body .fleet-quick-actions {
    order: 42 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(46px, 62px)) !important;
    justify-content: start !important;
    gap: clamp(7px, .65vw, 12px) !important;
    margin-top: auto !important;
    padding-top: clamp(4px, .45vw, 7px) !important;
    align-self: end !important;
}
body.game-body .fleet-card .fleet-quick-action,
body.game-body .fleet-quick-action {
    width: auto !important;
    height: clamp(44px, 4.8vh, 60px) !important;
    min-height: clamp(44px, 4.8vh, 60px) !important;
    border-radius: 18px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    grid-template-columns: 1fr !important;
    background: linear-gradient(145deg, rgba(45, 29, 15, .96), rgba(12, 9, 7, .98)) !important;
    border: 2px solid rgba(255, 199, 90, .22) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 17px rgba(0,0,0,.28) !important;
}
body.game-body .fleet-card .fleet-quick-action:not(:disabled):hover {
    filter: brightness(1.08) !important;
    transform: translateY(-1px) !important;
}
body.game-body .fleet-quick-action.is-disabled,
body.game-body .fleet-quick-action:disabled {
    opacity: .42 !important;
    filter: grayscale(.2) saturate(.72) !important;
}
body.game-body .fleet-quick-icon {
    display: grid !important;
    place-items: center !important;
    min-width: 0 !important;
    line-height: 1 !important;
    font-size: clamp(24px, 2.25vw, 34px) !important;
}
body.game-body .fleet-quick-action img {
    width: clamp(24px, 2.05vw, 32px) !important;
    height: clamp(24px, 2.05vw, 32px) !important;
    object-fit: contain !important;
}
body.game-body .fleet-quick-label {
    display: none !important;
}
body.game-body .fleet-warning-triangle {
    width: clamp(34px, 2.8vw, 46px) !important;
    height: clamp(34px, 2.8vw, 46px) !important;
    left: 14px !important;
    bottom: 14px !important;
    top: auto !important;
    z-index: 9 !important;
}
body.game-body .fleet-car-thumb .fleet-powerups {
    left: 10px !important;
    bottom: clamp(92px, 12vh, 118px) !important;
    z-index: 7 !important;
}
body.game-body .parking-empty {
    place-items: center !important;
    text-align: center !important;
}

@media (max-width: 1800px) {
    body.game-body .fleet-card-main {
        grid-template-columns: minmax(112px, 32%) minmax(0, 1fr) !important;
        gap: 12px !important;
    }
    body.game-body .fleet-title-row strong { font-size: clamp(16px, 1.18vw, 22px) !important; }
    body.game-body .fleet-meter-top { font-size: clamp(10px, .76vw, 14px) !important; }
    body.game-body .fleet-meter-top b { font-size: clamp(11px, .82vw, 15px) !important; }
    body.game-body .fleet-card .fleet-meta,
    body.game-body .fleet-card small { font-size: clamp(9px, .68vw, 12px) !important; }
    body.game-body .fleet-card .repair-warning { font-size: clamp(11px, .78vw, 14px) !important; }
}
@media (max-width: 1300px) {
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        min-height: 330px !important;
        max-height: 330px !important;
        padding-inline: .72rem !important;
    }
    body.game-body .fleet-card-main {
        grid-template-columns: 108px minmax(0, 1fr) !important;
        gap: 10px !important;
    }
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        width: 82px !important;
        height: 96px !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image {
        max-height: 76px !important;
    }
    body.game-body .fleet-card .fleet-quick-actions,
    body.game-body .fleet-quick-actions {
        grid-template-columns: repeat(3, minmax(38px, 52px)) !important;
        gap: 6px !important;
    }
    body.game-body .fleet-card .fleet-quick-action,
    body.game-body .fleet-quick-action {
        height: 42px !important;
        min-height: 42px !important;
        border-radius: 14px !important;
    }
}
@media (max-width: 1180px) {
    body.game-body .dashboard-shell {
        grid-template-rows: auto auto auto !important;
    }
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        min-height: 350px !important;
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
    }
    body.game-body #taxiList.paged-fleet,
    body.game-body .paged-fleet {
        height: auto !important;
        min-height: 260px !important;
        grid-template-columns: repeat(var(--fleet-visible-count, 2), minmax(0, 1fr)) !important;
        overflow: visible !important;
    }
    body.game-body #taxiList.paged-fleet .fleet-card,
    body.game-body .fleet-card {
        min-height: 260px !important;
        height: auto !important;
    }
}
@media (max-width: 680px) {
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        padding: 2.25rem .55rem .75rem !important;
        min-height: 0 !important;
    }
    body.game-body .fleet-pagebar {
        padding: 0 !important;
    }
    body.game-body #taxiList.paged-fleet,
    body.game-body .paged-fleet {
        grid-template-columns: 1fr !important;
    }
    body.game-body #taxiList.paged-fleet .fleet-card,
    body.game-body .fleet-card {
        min-height: 270px !important;
    }
    body.game-body .fleet-card-main {
        grid-template-columns: 102px minmax(0, 1fr) !important;
    }
    body.game-body .fleet-title-row strong { font-size: 17px !important; }
    body.game-body .fleet-meter-top,
    body.game-body .fleet-meter-top b { font-size: 11px !important; }
    body.game-body .fleet-card .fleet-meta,
    body.game-body .fleet-card small { font-size: 10px !important; }
}


/* v5.32: PC-Fix fuer taximeter-bar compact-meter / fleet-card + echtes Kalender-Appsymbol */
body.game-body #phoneHome .calendar-app-icon span {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: visible !important;
}
body.game-body #phoneHome .calendar-app-icon span img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    filter: drop-shadow(0 8px 12px rgba(0,0,0,.35)) !important;
}

@media (min-width: 1181px) {
    body.game-body .dashboard-shell {
        grid-template-rows: auto minmax(0, 1fr) clamp(242px, 27vh, 292px) !important;
    }
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        min-height: clamp(242px, 27vh, 292px) !important;
        max-height: clamp(242px, 27vh, 292px) !important;
        padding: 1.82rem .88rem .72rem !important;
        border-radius: 22px !important;
        overflow: hidden !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }
    body.game-body .taximeter-label {
        top: .52rem !important;
        min-width: min(520px, 36vw) !important;
        max-width: min(520px, 48vw) !important;
        min-height: 25px !important;
        padding: .22rem 1rem !important;
        border-radius: 13px !important;
        font-size: clamp(.86rem, .96vw, 1.05rem) !important;
        line-height: 1.05 !important;
    }
    body.game-body .fleet-wrap {
        height: 100% !important;
        padding: 0 !important;
        overflow: hidden !important;
        min-width: 0 !important;
    }
    body.game-body .fleet-pagebar {
        height: 24px !important;
        min-height: 24px !important;
        margin: 0 0 .32rem !important;
        padding: 0 1.15rem !important;
        font-size: clamp(.74rem, .78vw, .9rem) !important;
        line-height: 1 !important;
    }
    body.game-body .fleet-page-btn {
        width: 30px !important;
        height: 24px !important;
        border-radius: 10px !important;
        font-size: 1rem !important;
    }
    body.game-body #taxiList.paged-fleet,
    body.game-body .paged-fleet {
        height: calc(100% - 30px) !important;
        min-height: 0 !important;
        grid-template-columns: repeat(var(--fleet-visible-count, 4), minmax(0, 1fr)) !important;
        grid-auto-rows: minmax(0, 1fr) !important;
        gap: clamp(8px, .72vw, 14px) !important;
        align-items: stretch !important;
        overflow: hidden !important;
    }
    body.game-body #taxiList.paged-fleet .fleet-card,
    body.game-body .fleet-card {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: clamp(7px, .52vw, 10px) !important;
        padding-top: clamp(12px, .75vw, 16px) !important;
        border-radius: 20px !important;
        overflow: hidden !important;
    }
    body.game-body .fleet-card-main {
        height: 100% !important;
        min-height: 0 !important;
        grid-template-columns: minmax(76px, 26%) minmax(0, 1fr) !important;
        gap: clamp(7px, .55vw, 10px) !important;
        align-items: stretch !important;
    }
    body.game-body .fleet-card .fleet-car-thumb,
    body.game-body .fleet-car-thumb {
        height: 100% !important;
        min-height: 0 !important;
        border-radius: 16px !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image {
        left: 6px !important;
        right: 6px !important;
        top: clamp(16px, 1.55vh, 24px) !important;
        width: calc(100% - 12px) !important;
        max-width: calc(100% - 12px) !important;
        max-height: clamp(42px, 6.4vh, 66px) !important;
    }
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        left: -1px !important;
        bottom: -3px !important;
        width: min(74px, 74%) !important;
        height: min(86px, 56%) !important;
    }
    body.game-body .fleet-status {
        top: 7px !important;
        left: 8px !important;
        padding: 4px 9px !important;
        max-width: calc(100% - 16px) !important;
        font-size: clamp(9px, .58vw, 12px) !important;
        line-height: 1 !important;
    }
    body.game-body .fleet-card-info {
        gap: 1px !important;
        padding: 0 !important;
        align-content: start !important;
        overflow: hidden !important;
    }
    body.game-body .fleet-title-row {
        gap: 5px !important;
        align-items: center !important;
    }
    body.game-body .fleet-title-row strong {
        font-size: clamp(13px, .95vw, 18px) !important;
        line-height: 1.02 !important;
        letter-spacing: -.015em !important;
    }
    body.game-body .fleet-rename-button {
        width: clamp(22px, 1.45vw, 28px) !important;
        height: clamp(22px, 1.45vw, 28px) !important;
        min-width: clamp(22px, 1.45vw, 28px) !important;
        font-size: clamp(10px, .75vw, 13px) !important;
        border-width: 1px !important;
    }
    body.game-body .fleet-card .fleet-meta,
    body.game-body .fleet-card small {
        font-size: clamp(8px, .56vw, 11px) !important;
        line-height: 1.05 !important;
    }
    body.game-body .fleet-meter {
        gap: 1px !important;
        margin: 0 !important;
        min-height: 0 !important;
    }
    body.game-body .fleet-meter-top {
        gap: 5px !important;
        font-size: clamp(8px, .58vw, 11px) !important;
        line-height: .98 !important;
        letter-spacing: .026em !important;
    }
    body.game-body .fleet-meter-top b {
        font-size: clamp(9px, .63vw, 12px) !important;
        line-height: .98 !important;
    }
    body.game-body .fleet-help-dot {
        width: clamp(10px, .74vw, 13px) !important;
        height: clamp(10px, .74vw, 13px) !important;
        min-width: clamp(10px, .74vw, 13px) !important;
        font-size: clamp(7px, .48vw, 9px) !important;
    }
    body.game-body .fleet-meter-track {
        height: clamp(4px, .5vh, 7px) !important;
    }
    body.game-body .fleet-card .repair-warning {
        margin: 2px 0 1px !important;
        padding: 4px 7px !important;
        border-radius: 10px !important;
        border-width: 1px !important;
        font-size: clamp(9px, .6vw, 12px) !important;
        line-height: 1 !important;
    }
    body.game-body .fleet-card .progress-row {
        margin-top: 1px !important;
    }
    body.game-body .fleet-card .fleet-quick-actions,
    body.game-body .fleet-quick-actions {
        grid-template-columns: repeat(3, minmax(30px, 39px)) !important;
        gap: 5px !important;
        padding-top: 2px !important;
        margin-top: auto !important;
    }
    body.game-body .fleet-card .fleet-quick-action,
    body.game-body .fleet-quick-action {
        height: clamp(30px, 3.3vh, 38px) !important;
        min-height: clamp(30px, 3.3vh, 38px) !important;
        border-radius: 11px !important;
        border-width: 1px !important;
    }
    body.game-body .fleet-quick-icon {
        font-size: clamp(17px, 1.3vw, 22px) !important;
    }
    body.game-body .fleet-quick-action img {
        width: clamp(17px, 1.25vw, 22px) !important;
        height: clamp(17px, 1.25vw, 22px) !important;
    }
    body.game-body .fleet-warning-triangle {
        width: clamp(24px, 1.8vw, 32px) !important;
        height: clamp(24px, 1.8vw, 32px) !important;
        left: 8px !important;
        bottom: 8px !important;
    }
    body.game-body .fleet-car-thumb .fleet-powerups {
        left: 6px !important;
        bottom: clamp(58px, 7.5vh, 78px) !important;
    }
}

@media (min-width: 1181px) and (max-width: 1500px) {
    body.game-body .dashboard-shell {
        grid-template-rows: auto minmax(0, 1fr) 252px !important;
    }
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        min-height: 252px !important;
        max-height: 252px !important;
        padding-inline: .7rem !important;
    }
    body.game-body #taxiList.paged-fleet,
    body.game-body .paged-fleet {
        gap: 8px !important;
    }
    body.game-body .fleet-card-main {
        grid-template-columns: 72px minmax(0,1fr) !important;
        gap: 7px !important;
    }
    body.game-body .fleet-title-row strong {
        font-size: 13px !important;
    }
    body.game-body .fleet-card .fleet-meta,
    body.game-body .fleet-card small,
    body.game-body .fleet-meter-top,
    body.game-body .fleet-meter-top b {
        font-size: 8.5px !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image {
        max-height: 48px !important;
    }
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        width: 58px !important;
        height: 70px !important;
    }
    body.game-body .fleet-card .fleet-quick-actions,
    body.game-body .fleet-quick-actions {
        grid-template-columns: repeat(3, minmax(26px, 34px)) !important;
    }
    body.game-body .fleet-card .fleet-quick-action,
    body.game-body .fleet-quick-action {
        height: 29px !important;
        min-height: 29px !important;
    }
}

/* v5.33: Gewissenhafter PC-Fix fuer taximeter-bar compact-meter / fleet-card.
   Ziel: Desktop/FHD zeigt alle vier Parkplaetze inklusive Fahrerzeilen und Schnellaktionen vollstaendig,
   ohne die bereits gute Mobile-Darstellung anzufassen. */
@media (min-width: 1181px) {
    body.game-body .dashboard-shell {
        grid-template-rows: auto minmax(0, 1fr) clamp(286px, 31vh, 326px) !important;
    }
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        min-height: clamp(286px, 31vh, 326px) !important;
        max-height: clamp(286px, 31vh, 326px) !important;
        height: clamp(286px, 31vh, 326px) !important;
        padding: 1.62rem .76rem .58rem !important;
        border-radius: 22px !important;
        overflow: hidden !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: stretch !important;
    }
    body.game-body .taximeter-label {
        top: .42rem !important;
        min-height: 22px !important;
        padding: .16rem .9rem !important;
        border-radius: 12px !important;
        font-size: clamp(.76rem, .82vw, .98rem) !important;
        line-height: 1 !important;
        letter-spacing: .06em !important;
    }
    body.game-body .fleet-wrap {
        height: 100% !important;
        min-height: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        display: grid !important;
        grid-template-rows: 21px minmax(0, 1fr) !important;
        gap: .24rem !important;
    }
    body.game-body .fleet-pagebar {
        height: 21px !important;
        min-height: 21px !important;
        margin: 0 !important;
        padding: 0 1.05rem !important;
        font-size: clamp(.68rem, .68vw, .82rem) !important;
        line-height: 1 !important;
    }
    body.game-body .fleet-page-btn {
        width: 26px !important;
        height: 21px !important;
        min-width: 26px !important;
        border-radius: 9px !important;
        font-size: .9rem !important;
    }
    body.game-body #taxiList.paged-fleet,
    body.game-body .paged-fleet {
        height: 100% !important;
        min-height: 0 !important;
        grid-template-columns: repeat(var(--fleet-visible-count, 4), minmax(0, 1fr)) !important;
        grid-auto-rows: minmax(0, 1fr) !important;
        gap: clamp(8px, .72vw, 13px) !important;
        align-items: stretch !important;
        overflow: hidden !important;
        padding: 0 !important;
    }
    body.game-body #taxiList.paged-fleet .fleet-card,
    body.game-body .fleet-card {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        display: grid !important;
        grid-template-rows: minmax(0, 1fr) !important;
        padding: clamp(6px, .44vw, 9px) !important;
        padding-top: clamp(11px, .58vw, 14px) !important;
        border-radius: 18px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    body.game-body .fleet-card-main {
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(64px, 23%) minmax(0, 1fr) !important;
        gap: clamp(6px, .48vw, 9px) !important;
        align-items: stretch !important;
        overflow: hidden !important;
    }
    body.game-body .fleet-card .fleet-car-thumb,
    body.game-body .fleet-car-thumb {
        height: 100% !important;
        min-height: 0 !important;
        border-radius: 15px !important;
        overflow: hidden !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image {
        left: 6px !important;
        right: 6px !important;
        top: clamp(14px, 1.15vh, 20px) !important;
        width: calc(100% - 12px) !important;
        max-width: calc(100% - 12px) !important;
        max-height: clamp(36px, 5.1vh, 54px) !important;
        height: auto !important;
        object-fit: contain !important;
    }
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        left: 0 !important;
        right: auto !important;
        bottom: -2px !important;
        width: min(62px, 72%) !important;
        height: min(76px, 52%) !important;
        min-width: 0 !important;
        min-height: 0 !important;
    }
    body.game-body .fleet-status {
        top: 6px !important;
        left: 7px !important;
        max-width: calc(100% - 14px) !important;
        padding: 3px 8px !important;
        border-radius: 999px !important;
        font-size: clamp(8px, .50vw, 11px) !important;
        line-height: 1 !important;
        z-index: 12 !important;
    }
    body.game-body .fleet-card-info {
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-auto-rows: min-content !important;
        align-content: start !important;
        gap: 1px !important;
        padding: 0 !important;
        overflow: hidden !important;
    }
    body.game-body .fleet-title-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 5px !important;
        min-height: 0 !important;
    }
    body.game-body .fleet-title-row strong {
        font-size: clamp(12px, .82vw, 16px) !important;
        line-height: .98 !important;
        letter-spacing: -.018em !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    body.game-body .fleet-rename-button {
        width: clamp(20px, 1.22vw, 25px) !important;
        height: clamp(20px, 1.22vw, 25px) !important;
        min-width: clamp(20px, 1.22vw, 25px) !important;
        border-radius: 999px !important;
        font-size: clamp(9px, .64vw, 12px) !important;
        border-width: 1px !important;
    }
    body.game-body .fleet-card .fleet-meta,
    body.game-body .fleet-card small {
        font-size: clamp(7px, .47vw, 9.5px) !important;
        line-height: .98 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    body.game-body .fleet-meter {
        gap: 0 !important;
        margin: 0 !important;
        min-height: 0 !important;
        display: grid !important;
    }
    body.game-body .fleet-meter-top {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 4px !important;
        font-size: clamp(7.5px, .50vw, 10px) !important;
        line-height: .9 !important;
        letter-spacing: .02em !important;
    }
    body.game-body .fleet-meter-label {
        min-width: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    body.game-body .fleet-meter-top b {
        min-width: 3ch !important;
        text-align: right !important;
        font-size: clamp(8px, .54vw, 10.5px) !important;
        line-height: .9 !important;
    }
    body.game-body .fleet-help-dot {
        width: clamp(9px, .58vw, 12px) !important;
        height: clamp(9px, .58vw, 12px) !important;
        min-width: clamp(9px, .58vw, 12px) !important;
        font-size: clamp(6px, .38vw, 8px) !important;
        line-height: 1 !important;
    }
    body.game-body .fleet-meter-track {
        height: clamp(3px, .42vh, 5px) !important;
        margin-top: 1px !important;
        border-radius: 999px !important;
    }
    body.game-body .fleet-card .repair-warning {
        width: 100% !important;
        margin: 1px 0 0 !important;
        padding: 3px 6px !important;
        border-radius: 9px !important;
        border-width: 1px !important;
        font-size: clamp(8px, .50vw, 10px) !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    body.game-body .fleet-card .progress-row {
        margin-top: 1px !important;
        gap: 4px !important;
    }
    body.game-body .fleet-card .countdown-pill {
        min-width: 42px !important;
        padding: 1px 5px !important;
        font-size: clamp(7px, .48vw, 9px) !important;
    }
    body.game-body .fleet-card .fleet-quick-actions,
    body.game-body .fleet-quick-actions {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(24px, 31px)) !important;
        justify-content: start !important;
        gap: 4px !important;
        padding-top: 1px !important;
        margin-top: 2px !important;
        align-self: start !important;
    }
    body.game-body .fleet-card .fleet-quick-action,
    body.game-body .fleet-quick-action {
        height: clamp(24px, 2.65vh, 30px) !important;
        min-height: clamp(24px, 2.65vh, 30px) !important;
        border-radius: 9px !important;
        border-width: 1px !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        grid-template-columns: 1fr !important;
    }
    body.game-body .fleet-quick-icon {
        font-size: clamp(14px, 1vw, 18px) !important;
        line-height: 1 !important;
    }
    body.game-body .fleet-quick-action img {
        width: clamp(14px, .96vw, 18px) !important;
        height: clamp(14px, .96vw, 18px) !important;
    }
    body.game-body .fleet-warning-triangle {
        width: clamp(20px, 1.35vw, 28px) !important;
        height: clamp(20px, 1.35vw, 28px) !important;
        left: 7px !important;
        bottom: 7px !important;
    }
    body.game-body .fleet-car-thumb .fleet-powerups {
        left: 5px !important;
        bottom: clamp(48px, 6.2vh, 66px) !important;
    }
}

@media (min-width: 1181px) and (max-width: 1500px) {
    body.game-body .dashboard-shell {
        grid-template-rows: auto minmax(0, 1fr) 286px !important;
    }
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        min-height: 286px !important;
        max-height: 286px !important;
        height: 286px !important;
        padding-left: .62rem !important;
        padding-right: .62rem !important;
    }
    body.game-body .fleet-card-main {
        grid-template-columns: 66px minmax(0, 1fr) !important;
        gap: 6px !important;
    }
    body.game-body .fleet-title-row strong { font-size: 12px !important; }
    body.game-body .fleet-card .fleet-meta,
    body.game-body .fleet-card small { font-size: 7px !important; }
    body.game-body .fleet-meter-top,
    body.game-body .fleet-meter-top b { font-size: 7.5px !important; }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image { max-height: 38px !important; }
    body.game-body .fleet-driver-avatar.employee-avatar-button { width: 50px !important; height: 62px !important; }
    body.game-body .fleet-card .fleet-quick-actions,
    body.game-body .fleet-quick-actions { grid-template-columns: repeat(3, 24px) !important; gap: 4px !important; }
    body.game-body .fleet-card .fleet-quick-action,
    body.game-body .fleet-quick-action { height: 24px !important; min-height: 24px !important; }
}

/* v5.34: Desktop-Rettung fuer Fuhrpark-Leiste.
   Die v5.33-Desktop-Regeln haben die PC-Leiste als Grid zu stark verkleinert/verschachtelt,
   dadurch wurde #taxiList in der Desktophoehe praktisch aus dem sichtbaren Bereich gedrueckt.
   Mobile <=1180px bleibt unangetastet. */
@media (min-width: 1181px) {
    body.game-body .dashboard-shell {
        grid-template-rows: auto minmax(0, 1fr) clamp(292px, 30vh, 330px) !important;
    }

    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
        min-height: clamp(292px, 30vh, 330px) !important;
        max-height: clamp(292px, 30vh, 330px) !important;
        height: clamp(292px, 30vh, 330px) !important;
        padding: 2.15rem 1rem .82rem !important;
        overflow: hidden !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        gap: 0 !important;
        box-sizing: border-box !important;
    }

    body.game-body .taximeter-bar.compact-meter > .meter-actions,
    body.game-body .compact-meter.taximeter-bar > .meter-actions {
        display: none !important;
    }

    body.game-body .taximeter-bar.compact-meter > .fleet-wrap,
    body.game-body .compact-meter.taximeter-bar > .fleet-wrap {
        flex: 1 1 auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.game-body .taximeter-bar.compact-meter .fleet-pagebar,
    body.game-body .compact-meter.taximeter-bar .fleet-pagebar {
        flex: 0 0 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        margin: 0 0 .42rem !important;
        padding: 0 1.25rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        line-height: 1 !important;
        font-size: clamp(.76rem, .78vw, .95rem) !important;
        overflow: visible !important;
    }

    body.game-body .taximeter-bar.compact-meter .fleet-page-btn,
    body.game-body .compact-meter.taximeter-bar .fleet-page-btn {
        width: 30px !important;
        min-width: 30px !important;
        height: 25px !important;
        min-height: 25px !important;
        border-radius: 10px !important;
        font-size: 1rem !important;
        display: grid !important;
        place-items: center !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet,
    body.game-body .taximeter-bar.compact-meter .paged-fleet,
    body.game-body .compact-meter.taximeter-bar .paged-fleet {
        flex: 1 1 auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        display: grid !important;
        grid-template-columns: repeat(var(--fleet-visible-count, 4), minmax(0, 1fr)) !important;
        grid-template-rows: minmax(0, 1fr) !important;
        grid-auto-flow: column !important;
        grid-auto-columns: minmax(0, 1fr) !important;
        gap: clamp(12px, .9vw, 18px) !important;
        align-items: stretch !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet > .fleet-card,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet > .fleet-card {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        display: grid !important;
        grid-template-rows: minmax(0, 1fr) !important;
        align-self: stretch !important;
        padding: clamp(9px, .62vw, 13px) !important;
        padding-top: clamp(14px, .82vw, 18px) !important;
        border-radius: 20px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card-main,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card-main {
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: clamp(84px, 7.2vw, 132px) minmax(0, 1fr) !important;
        gap: clamp(8px, .65vw, 13px) !important;
        align-items: stretch !important;
        overflow: hidden !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-car-thumb,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-car-thumb {
        height: 100% !important;
        min-height: 0 !important;
        border-radius: 17px !important;
        overflow: hidden !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-car-thumb img.fleet-car-image,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-car-thumb img.fleet-car-image {
        left: 8px !important;
        right: 8px !important;
        top: clamp(18px, 1.6vh, 26px) !important;
        width: calc(100% - 16px) !important;
        max-width: calc(100% - 16px) !important;
        max-height: clamp(46px, 6.4vh, 72px) !important;
        height: auto !important;
        object-fit: contain !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-driver-avatar.employee-avatar-button,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-driver-avatar.employee-avatar-button {
        left: 1px !important;
        bottom: -3px !important;
        width: min(82px, 73%) !important;
        height: min(98px, 53%) !important;
        min-width: 0 !important;
        min-height: 0 !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-status,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-status {
        top: 7px !important;
        left: 8px !important;
        max-width: calc(100% - 16px) !important;
        padding: 4px 10px !important;
        font-size: clamp(9px, .58vw, 12px) !important;
        line-height: 1 !important;
        z-index: 12 !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card-info,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card-info {
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-auto-rows: min-content !important;
        align-content: start !important;
        gap: 2px !important;
        overflow: hidden !important;
        padding: 0 !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-title-row,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-title-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 6px !important;
        min-height: 0 !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-title-row strong,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-title-row strong {
        font-size: clamp(14px, .95vw, 20px) !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-rename-button,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-rename-button {
        width: clamp(23px, 1.55vw, 32px) !important;
        min-width: clamp(23px, 1.55vw, 32px) !important;
        height: clamp(23px, 1.55vw, 32px) !important;
        border-width: 1px !important;
        font-size: clamp(10px, .72vw, 14px) !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card small,
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meta,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card small,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meta {
        font-size: clamp(8.5px, .57vw, 11px) !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter {
        gap: 1px !important;
        margin: 0 !important;
        min-height: 0 !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter-top,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-top {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 5px !important;
        font-size: clamp(8.5px, .6vw, 12px) !important;
        line-height: 1 !important;
        letter-spacing: .025em !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter-top b,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-top b {
        min-width: 3ch !important;
        text-align: right !important;
        font-size: clamp(9px, .66vw, 13px) !important;
        line-height: 1 !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-help-dot,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-help-dot {
        width: clamp(10px, .72vw, 14px) !important;
        height: clamp(10px, .72vw, 14px) !important;
        min-width: clamp(10px, .72vw, 14px) !important;
        font-size: clamp(7px, .48vw, 9px) !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter-track,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-track {
        height: clamp(4px, .55vh, 7px) !important;
        margin-top: 1px !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .repair-warning,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .repair-warning {
        margin: 2px 0 0 !important;
        padding: 4px 8px !important;
        border-radius: 10px !important;
        border-width: 1px !important;
        font-size: clamp(9px, .6vw, 12px) !important;
        line-height: 1 !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-actions,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-actions {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(30px, 40px)) !important;
        justify-content: start !important;
        gap: 5px !important;
        margin-top: auto !important;
        padding-top: 3px !important;
        align-self: end !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-action,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-action {
        height: clamp(30px, 3.1vh, 38px) !important;
        min-height: clamp(30px, 3.1vh, 38px) !important;
        border-radius: 11px !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        grid-template-columns: 1fr !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-icon,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-icon {
        font-size: clamp(16px, 1.15vw, 21px) !important;
        line-height: 1 !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-action img,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-action img {
        width: clamp(16px, 1.1vw, 21px) !important;
        height: clamp(16px, 1.1vw, 21px) !important;
    }
}

@media (min-width: 1181px) and (max-width: 1500px) {
    body.game-body .dashboard-shell {
        grid-template-rows: auto minmax(0, 1fr) 292px !important;
    }
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        min-height: 292px !important;
        max-height: 292px !important;
        height: 292px !important;
        padding-left: .74rem !important;
        padding-right: .74rem !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card-main,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card-main {
        grid-template-columns: 80px minmax(0, 1fr) !important;
        gap: 7px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-title-row strong,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-title-row strong {
        font-size: 13.5px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card small,
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meta,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card small,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meta {
        font-size: 8px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter-top,
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter-top b,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-top,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-top b {
        font-size: 8.5px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-driver-avatar.employee-avatar-button,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-driver-avatar.employee-avatar-button {
        width: 58px !important;
        height: 72px !important;
    }
}


/* v5.35: Desktop-Fleet Feinschliff: Schnellaktions-Symbole sichtbar, Help-Dots zentriert, bessere Balken-Erklärungen */
body.game-body .fleet-help-dot {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    text-align: center !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    font-family: inherit !important;
}
body.game-body .fleet-help-dot::before {
    content: "?";
    display: block;
    line-height: 1;
    transform: translateY(-.03em);
}
body.game-body .fleet-help-dot {
    font-size: 0 !important;
}

@media (min-width: 1181px) {
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet > .fleet-card,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet > .fleet-card {
        position: relative !important;
        overflow: hidden !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card-info,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card-info {
        padding-bottom: 38px !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-actions,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-actions {
        position: absolute !important;
        left: auto !important;
        right: clamp(9px, .62vw, 13px) !important;
        bottom: clamp(7px, .5vw, 10px) !important;
        top: auto !important;
        width: auto !important;
        max-width: calc(100% - 18px) !important;
        display: flex !important;
        flex-direction: row !important;
        grid-template-columns: none !important;
        justify-content: flex-end !important;
        align-items: center !important;
        gap: clamp(5px, .38vw, 8px) !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 30 !important;
        pointer-events: auto !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-action,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-action {
        width: clamp(28px, 1.85vw, 36px) !important;
        min-width: clamp(28px, 1.85vw, 36px) !important;
        height: clamp(28px, 1.85vw, 36px) !important;
        min-height: clamp(28px, 1.85vw, 36px) !important;
        border-radius: 11px !important;
        display: grid !important;
        place-items: center !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-action .fleet-quick-icon,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-action .fleet-quick-icon {
        display: grid !important;
        place-items: center !important;
        font-size: clamp(16px, 1.15vw, 22px) !important;
        line-height: 1 !important;
        width: 100% !important;
        height: 100% !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-action img,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-action img {
        width: clamp(16px, 1.1vw, 22px) !important;
        height: clamp(16px, 1.1vw, 22px) !important;
        object-fit: contain !important;
        display: block !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-label,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-label {
        display: none !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-help-dot,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-help-dot {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: clamp(12px, .78vw, 16px) !important;
        height: clamp(12px, .78vw, 16px) !important;
        min-width: clamp(12px, .78vw, 16px) !important;
        padding: 0 !important;
        line-height: 1 !important;
        border-radius: 999px !important;
    }

    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter-label,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-label {
        align-items: center !important;
    }
}

@media (min-width: 1181px) and (max-width: 1500px) {
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card-info,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card-info {
        padding-bottom: 32px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-action,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-action {
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
    }
}

/* v5.36: PC-Fleet final stabilisiert + Theresa-Timer sauber platziert */
body.game-body .fleet-help-dot::before {
    content: none !important;
    display: none !important;
}
body.game-body .fleet-help-dot {
    font-size: .72rem !important;
    line-height: 1 !important;
}
body.game-body .theresa-phone-progress {
    align-items: stretch !important;
    overflow: visible !important;
}
body.game-body .theresa-phone-progress-head {
    align-items: center !important;
}
body.game-body .theresa-phone-progress-head .countdown-pill,
body.game-body .theresa-phone-progress .countdown-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 64px !important;
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 .58rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 224, 142, .62) !important;
    background: linear-gradient(180deg, #ffe690, #f0a51d) !important;
    color: #1a1005 !important;
    font-size: .78rem !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.48), 0 5px 12px rgba(0,0,0,.26) !important;
    transform: none !important;
}
body.game-body .theresa-phone-progress .progress-track {
    margin-top: .28rem !important;
}

@media (min-width: 1181px) {
    body.game-body .dashboard-shell {
        grid-template-rows: auto minmax(0, 1fr) clamp(315px, 30vh, 348px) !important;
    }
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        min-height: clamp(315px, 30vh, 348px) !important;
        max-height: clamp(315px, 30vh, 348px) !important;
        height: clamp(315px, 30vh, 348px) !important;
        padding: 1.75rem .98rem .75rem !important;
        overflow: hidden !important;
    }
    body.game-body .taximeter-bar.compact-meter > .fleet-wrap,
    body.game-body .compact-meter.taximeter-bar > .fleet-wrap {
        min-height: 0 !important;
        height: 100% !important;
        overflow: hidden !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet,
    body.game-body .taximeter-bar.compact-meter .paged-fleet,
    body.game-body .compact-meter.taximeter-bar .paged-fleet {
        gap: clamp(10px, .82vw, 17px) !important;
        align-items: stretch !important;
        overflow: hidden !important;
        min-height: 0 !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet > .fleet-card,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet > .fleet-card {
        position: relative !important;
        height: 100% !important;
        min-height: 0 !important;
        padding: clamp(10px, .65vw, 14px) !important;
        padding-top: clamp(14px, .84vw, 18px) !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card-main,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card-main {
        height: 100% !important;
        min-height: 0 !important;
        grid-template-columns: clamp(90px, 7vw, 132px) minmax(0, 1fr) !important;
        gap: clamp(9px, .65vw, 14px) !important;
        align-items: stretch !important;
        overflow: hidden !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-car-thumb,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-car-thumb {
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card-info,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card-info {
        position: relative !important;
        height: 100% !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        gap: 2px !important;
        overflow: hidden !important;
        padding: 0 0 clamp(36px, 2.55vw, 44px) 0 !important;
        box-sizing: border-box !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-title-row strong,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-title-row strong {
        font-size: clamp(15px, .95vw, 20px) !important;
        line-height: 1.02 !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card small,
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meta,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card small,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meta {
        font-size: clamp(8.5px, .57vw, 11px) !important;
        line-height: 1.08 !important;
        min-height: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter {
        display: block !important;
        margin: 0 !important;
        min-height: 0 !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter-top,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-top {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 5px !important;
        align-items: center !important;
        font-size: clamp(8.5px, .6vw, 12px) !important;
        line-height: 1 !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter-label,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-label {
        min-width: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter-top b,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-top b {
        min-width: 3.1ch !important;
        text-align: right !important;
        font-size: clamp(9px, .66vw, 13px) !important;
        line-height: 1 !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-help-dot,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-help-dot {
        width: clamp(12px, .76vw, 15px) !important;
        height: clamp(12px, .76vw, 15px) !important;
        min-width: clamp(12px, .76vw, 15px) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        font-size: clamp(7.5px, .46vw, 9px) !important;
        line-height: 1 !important;
        text-align: center !important;
        transform: none !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter-track,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-track {
        height: clamp(5px, .55vh, 7px) !important;
        margin-top: 1px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-car-thumb img.fleet-car-image,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-car-thumb img.fleet-car-image {
        top: clamp(18px, 1.35vh, 26px) !important;
        left: 8px !important;
        right: 8px !important;
        width: calc(100% - 16px) !important;
        max-width: calc(100% - 16px) !important;
        max-height: clamp(48px, 6.2vh, 74px) !important;
        height: auto !important;
        object-fit: contain !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-driver-avatar.employee-avatar-button,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-driver-avatar.employee-avatar-button {
        left: 2px !important;
        bottom: -2px !important;
        width: min(82px, 72%) !important;
        height: min(98px, 52%) !important;
        z-index: 5 !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-car-thumb .fleet-powerups,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-car-thumb .fleet-powerups {
        left: 7px !important;
        top: clamp(72px, 8.2vh, 96px) !important;
        bottom: auto !important;
        z-index: 8 !important;
        gap: 3px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-car-thumb .fleet-powerup-badge,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-car-thumb .fleet-powerup-badge {
        width: clamp(20px, 1.35vw, 25px) !important;
        height: clamp(20px, 1.35vw, 25px) !important;
        min-width: clamp(20px, 1.35vw, 25px) !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-car-thumb .fleet-powerup-badge img,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-car-thumb .fleet-powerup-badge img {
        width: clamp(13px, .92vw, 17px) !important;
        height: clamp(13px, .92vw, 17px) !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-car-thumb .fleet-powerup-badge::after,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-car-thumb .fleet-powerup-badge::after {
        left: 0 !important;
        right: auto !important;
        bottom: calc(100% + 6px) !important;
        max-width: 190px !important;
        font-size: 10px !important;
        line-height: 1.18 !important;
        padding: .42rem .5rem !important;
        z-index: 90 !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .repair-warning,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .repair-warning {
        margin: 2px 0 0 !important;
        padding: 4px 8px !important;
        border-radius: 10px !important;
        font-size: clamp(9px, .6vw, 12px) !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-queued-job,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-queued-job {
        max-width: calc(100% - clamp(94px, 6.4vw, 118px)) !important;
        display: block !important;
        margin: 1px 0 0 !important;
        padding: 3px 7px !important;
        border-radius: 9px !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .progress-row,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .progress-row {
        position: absolute !important;
        left: 0 !important;
        right: clamp(98px, 6.7vw, 122px) !important;
        bottom: 0 !important;
        height: clamp(28px, 2.05vw, 34px) !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 5px !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 7 !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .progress-shell,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .progress-shell {
        height: 8px !important;
        min-width: 0 !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .progress-row .countdown-pill,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .progress-row .countdown-pill {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 54px !important;
        height: 24px !important;
        min-height: 24px !important;
        padding: 0 7px !important;
        border-radius: 10px !important;
        font-size: 10.5px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-actions,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-actions {
        position: absolute !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        top: auto !important;
        display: grid !important;
        grid-template-columns: repeat(3, clamp(28px, 1.75vw, 35px)) !important;
        gap: clamp(4px, .34vw, 6px) !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 10 !important;
        justify-content: end !important;
        align-items: end !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card.is-busy .fleet-quick-actions,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card.is-busy .fleet-quick-actions {
        grid-template-columns: repeat(3, clamp(24px, 1.48vw, 30px)) !important;
        gap: 4px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-action,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-action {
        width: clamp(28px, 1.75vw, 35px) !important;
        min-width: clamp(28px, 1.75vw, 35px) !important;
        height: clamp(28px, 1.75vw, 35px) !important;
        min-height: clamp(28px, 1.75vw, 35px) !important;
        border-radius: 11px !important;
        border-width: 1px !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        overflow: hidden !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card.is-busy .fleet-quick-action,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card.is-busy .fleet-quick-action {
        width: clamp(24px, 1.48vw, 30px) !important;
        min-width: clamp(24px, 1.48vw, 30px) !important;
        height: clamp(24px, 1.48vw, 30px) !important;
        min-height: clamp(24px, 1.48vw, 30px) !important;
        border-radius: 9px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-icon,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-icon {
        font-size: clamp(15px, 1.05vw, 20px) !important;
        line-height: 1 !important;
        display: grid !important;
        place-items: center !important;
        width: 100% !important;
        height: 100% !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-action img,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-action img {
        width: clamp(15px, 1.02vw, 20px) !important;
        height: clamp(15px, 1.02vw, 20px) !important;
        object-fit: contain !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-label,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-label {
        display: none !important;
    }
}

@media (min-width: 1181px) and (max-width: 1500px) {
    body.game-body .dashboard-shell {
        grid-template-rows: auto minmax(0, 1fr) 310px !important;
    }
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        min-height: 310px !important;
        max-height: 310px !important;
        height: 310px !important;
        padding-left: .72rem !important;
        padding-right: .72rem !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card-main,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card-main {
        grid-template-columns: 80px minmax(0, 1fr) !important;
        gap: 7px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-title-row strong,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-title-row strong {
        font-size: 13.5px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card small,
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meta,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card small,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meta,
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-meter-top,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-top {
        font-size: 8.3px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card-info,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card-info {
        padding-bottom: 34px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .progress-row,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .progress-row {
        right: 88px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-queued-job,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-queued-job {
        max-width: calc(100% - 88px) !important;
    }
}

/* v5.37: Handy/Tablet-Fleet sauber entkoppelt. PC-Fleet bleibt unverändert. */
@media (max-width: 1180px) {
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 2.15rem .72rem .85rem !important;
    }
    body.game-body .taximeter-bar.compact-meter > .fleet-wrap,
    body.game-body .compact-meter.taximeter-bar > .fleet-wrap {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet,
    body.game-body #taxiList.paged-fleet,
    body.game-body .paged-fleet {
        height: auto !important;
        min-height: 0 !important;
        grid-template-columns: repeat(var(--fleet-visible-count, 2), minmax(0, 1fr)) !important;
        grid-auto-rows: auto !important;
        gap: .82rem !important;
        align-items: stretch !important;
        overflow: visible !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet > .fleet-card,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet > .fleet-card,
    body.game-body #taxiList.paged-fleet > .fleet-card,
    body.game-body .fleet-card {
        position: relative !important;
        height: auto !important;
        min-height: 286px !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 14px !important;
        padding-top: 20px !important;
        border-radius: 24px !important;
        box-sizing: border-box !important;
    }
    body.game-body .fleet-card-main {
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: clamp(96px, 24vw, 132px) minmax(0, 1fr) !important;
        gap: .75rem !important;
        align-items: stretch !important;
        overflow: visible !important;
    }
    body.game-body .fleet-car-thumb,
    body.game-body .fleet-card .fleet-car-thumb {
        position: relative !important;
        height: 100% !important;
        min-height: 248px !important;
        overflow: hidden !important;
        border-radius: 18px !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image {
        position: absolute !important;
        top: 38px !important;
        left: 10px !important;
        right: 10px !important;
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
        max-height: 72px !important;
        object-fit: contain !important;
    }
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        position: absolute !important;
        left: 4px !important;
        bottom: -2px !important;
        width: min(96px, 78%) !important;
        height: min(118px, 50%) !important;
        z-index: 5 !important;
    }
    body.game-body .fleet-car-thumb .fleet-powerups {
        position: absolute !important;
        left: 10px !important;
        top: 50% !important;
        bottom: auto !important;
        transform: translateY(-50%) !important;
        z-index: 8 !important;
        gap: 4px !important;
    }
    body.game-body .fleet-car-thumb .fleet-powerup-badge {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
    }
    body.game-body .fleet-car-thumb .fleet-powerup-badge img {
        width: 18px !important;
        height: 18px !important;
    }
    body.game-body .fleet-status {
        position: absolute !important;
        top: 11px !important;
        left: 16px !important;
        z-index: 12 !important;
        max-width: min(132px, calc(100% - 32px)) !important;
        padding: 4px 10px !important;
        font-size: 12px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    body.game-body .fleet-card-info {
        position: relative !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        overflow: visible !important;
        padding: 0 !important;
    }
    body.game-body .fleet-title-row {
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: .42rem !important;
    }
    body.game-body .fleet-title-row strong {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: clamp(16px, 2.25vw, 21px) !important;
        line-height: 1.08 !important;
    }
    body.game-body .fleet-rename-button {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        border-radius: 999px !important;
    }
    body.game-body .fleet-card .fleet-meta,
    body.game-body .fleet-card small {
        font-size: clamp(10px, 1.45vw, 13px) !important;
        line-height: 1.12 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    body.game-body .fleet-meter {
        display: block !important;
        margin: 0 !important;
        min-height: 0 !important;
    }
    body.game-body .fleet-meter-top {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 6px !important;
        align-items: center !important;
        font-size: clamp(10px, 1.55vw, 13px) !important;
        line-height: 1 !important;
    }
    body.game-body .fleet-meter-label {
        min-width: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 5px !important;
        overflow: hidden !important;
        white-space: nowrap !important;
    }
    body.game-body .fleet-meter-top b {
        min-width: 3.1ch !important;
        text-align: right !important;
        font-size: clamp(12px, 1.7vw, 15px) !important;
        line-height: 1 !important;
    }
    body.game-body .fleet-help-dot {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 11px !important;
        line-height: 1 !important;
        border-radius: 999px !important;
        transform: none !important;
        text-align: center !important;
    }
    body.game-body .fleet-meter-track {
        height: 8px !important;
        margin-top: 2px !important;
    }
    body.game-body .fleet-queued-job,
    body.game-body .fleet-card .repair-warning {
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    body.game-body .fleet-card .progress-row {
        position: static !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: .55rem !important;
        align-items: center !important;
        margin: .35rem 0 0 !important;
        padding: 0 !important;
        order: 38 !important;
    }
    body.game-body .fleet-card .progress-shell {
        height: 10px !important;
        min-width: 0 !important;
    }
    body.game-body .fleet-card .progress-row .countdown-pill {
        width: auto !important;
        min-width: 76px !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 .72rem !important;
        font-size: 16px !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
    }
    body.game-body .fleet-card .fleet-quick-actions,
    body.game-body .fleet-quick-actions {
        position: static !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        top: auto !important;
        display: grid !important;
        grid-template-columns: repeat(3, 50px) !important;
        justify-content: start !important;
        gap: .55rem !important;
        width: auto !important;
        max-width: 100% !important;
        margin: .5rem 0 0 !important;
        padding: 0 !important;
        order: 42 !important;
        z-index: 5 !important;
    }
    body.game-body .fleet-card .fleet-quick-action,
    body.game-body .fleet-quick-action {
        width: 50px !important;
        min-width: 50px !important;
        height: 50px !important;
        min-height: 50px !important;
        border-radius: 16px !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
    }
    body.game-body .fleet-quick-icon {
        font-size: 24px !important;
        line-height: 1 !important;
    }
    body.game-body .fleet-quick-action img {
        width: 24px !important;
        height: 24px !important;
        object-fit: contain !important;
    }
}

@media (min-width: 681px) and (max-width: 1180px) {
    body.game-body .fleet-card-main {
        grid-template-columns: 104px minmax(0, 1fr) !important;
    }
    body.game-body .fleet-car-thumb,
    body.game-body .fleet-card .fleet-car-thumb {
        min-height: 238px !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image {
        max-height: 58px !important;
    }
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        width: 82px !important;
        height: 100px !important;
    }
    body.game-body .fleet-card .fleet-quick-actions,
    body.game-body .fleet-quick-actions {
        grid-template-columns: repeat(3, 42px) !important;
        gap: .42rem !important;
    }
    body.game-body .fleet-card .fleet-quick-action,
    body.game-body .fleet-quick-action {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        border-radius: 13px !important;
    }
    body.game-body .fleet-card .progress-row .countdown-pill {
        min-width: 62px !important;
        height: 34px !important;
        min-height: 34px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 680px) {
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        padding: 2.25rem .62rem .9rem !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet,
    body.game-body #taxiList.paged-fleet,
    body.game-body .paged-fleet {
        grid-template-columns: 1fr !important;
        gap: .75rem !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet > .fleet-card,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet > .fleet-card,
    body.game-body #taxiList.paged-fleet > .fleet-card,
    body.game-body .fleet-card {
        min-height: 0 !important;
        padding: 13px !important;
        padding-top: 20px !important;
    }
    body.game-body .fleet-card-main {
        grid-template-columns: clamp(118px, 31vw, 148px) minmax(0, 1fr) !important;
        gap: .72rem !important;
    }
    body.game-body .fleet-car-thumb,
    body.game-body .fleet-card .fleet-car-thumb {
        min-height: clamp(292px, 50dvh, 438px) !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image {
        top: 56px !important;
        max-height: clamp(58px, 10dvh, 88px) !important;
    }
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        left: 3px !important;
        bottom: 0 !important;
        width: min(116px, 82%) !important;
        height: min(152px, 46%) !important;
    }
    body.game-body .fleet-car-thumb .fleet-powerups {
        top: 53% !important;
        left: 10px !important;
    }
    body.game-body .fleet-title-row strong {
        font-size: clamp(18px, 5vw, 24px) !important;
    }
    body.game-body .fleet-card .fleet-meta,
    body.game-body .fleet-card small {
        font-size: clamp(11px, 3.25vw, 14px) !important;
    }
    body.game-body .fleet-meter-top {
        font-size: clamp(11px, 3.25vw, 14px) !important;
    }
    body.game-body .fleet-meter-top b {
        font-size: clamp(14px, 3.8vw, 18px) !important;
    }
    body.game-body .fleet-card .progress-row .countdown-pill {
        min-width: 72px !important;
        height: 40px !important;
        min-height: 40px !important;
        font-size: 15px !important;
    }
}

/* v5.38: Fleet-Powerups in Schnellaktionen + kompakter Leitstellenmonitor */
body.game-body .fleet-quick-actions .fleet-action-powerups {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    pointer-events: auto !important;
}
body.game-body .fleet-quick-actions .fleet-action-powerups .fleet-powerups {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 4px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 12 !important;
    pointer-events: auto !important;
}
body.game-body .fleet-quick-actions .fleet-action-powerups .fleet-powerup-badge {
    --powerup-pct: 100%;
    width: clamp(24px, 1.55vw, 34px) !important;
    min-width: clamp(24px, 1.55vw, 34px) !important;
    height: clamp(24px, 1.55vw, 34px) !important;
    border-width: 2px !important;
    border-radius: 999px !important;
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    background: conic-gradient(rgba(255,221,84,.98) var(--powerup-pct), rgba(34,22,4,.88) 0) !important;
}
body.game-body .fleet-quick-actions .fleet-action-powerups .fleet-powerup-badge img {
    width: 70% !important;
    height: 70% !important;
    object-fit: contain !important;
}
body.game-body .fleet-quick-actions .fleet-action-powerups .fleet-powerup-badge em {
    display: none !important;
}
body.game-body .fleet-quick-actions .fleet-action-powerups .fleet-powerup-badge::after {
    z-index: 80 !important;
}
body.game-body .fleet-card .fleet-car-thumb .fleet-warning-triangle {
    left: auto !important;
    right: clamp(8px, .8vw, 14px) !important;
    top: clamp(20px, 2.1vw, 34px) !important;
    bottom: auto !important;
    width: clamp(34px, 2.8vw, 48px) !important;
    height: clamp(34px, 2.8vw, 48px) !important;
    z-index: 14 !important;
    transform: rotate(-7deg) !important;
    opacity: .98 !important;
    filter: drop-shadow(0 8px 12px rgba(0,0,0,.62)) drop-shadow(0 0 10px rgba(255,68,47,.32)) !important;
}

@media (min-width: 1181px) {
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card-info,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card-info {
        padding-bottom: 38px !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-quick-actions,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-quick-actions {
        grid-template-columns: repeat(3, clamp(24px, 1.45vw, 32px)) auto !important;
        align-items: end !important;
        max-width: calc(100% - 6px) !important;
    }
    body.game-body .taximeter-bar.compact-meter #taxiList.paged-fleet .fleet-card.has-queued-job .fleet-quick-actions,
    body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card.has-queued-job .fleet-quick-actions {
        max-width: 52% !important;
    }
}

@media (max-width: 1180px) {
    body.game-body .fleet-card .fleet-quick-actions,
    body.game-body .fleet-quick-actions {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: .45rem !important;
    }
    body.game-body .fleet-quick-actions .fleet-action-powerups {
        order: 4 !important;
    }
    body.game-body .fleet-quick-actions .fleet-action-powerups .fleet-powerup-badge {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
    }
    body.game-body .fleet-car-thumb .fleet-powerups {
        display: none !important;
    }
}
@media (max-width: 680px) {
    body.game-body .fleet-card-main {
        grid-template-columns: minmax(106px, 33%) minmax(0, 1fr) !important;
    }
    body.game-body .fleet-car-thumb,
    body.game-body .fleet-card .fleet-car-thumb {
        min-height: clamp(250px, 40dvh, 330px) !important;
    }
    body.game-body .fleet-card .fleet-car-thumb img.fleet-car-image,
    body.game-body .fleet-car-thumb img.fleet-car-image {
        top: 44px !important;
        max-height: clamp(54px, 8dvh, 74px) !important;
    }
    body.game-body .fleet-card .fleet-car-thumb .fleet-warning-triangle {
        top: 54px !important;
        right: 12px !important;
        width: 42px !important;
        height: 42px !important;
    }
    body.game-body .fleet-driver-avatar.employee-avatar-button {
        width: min(104px, 80%) !important;
        height: min(132px, 45%) !important;
    }
    body.game-body .fleet-card .progress-row {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: .45rem !important;
    }
}

body.game-body .monitor-map-panel {
    padding-top: 22px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    padding-bottom: 13px !important;
    border-radius: 18px !important;
}
body.game-body .monitor-map-panel .monitor-top {
    top: 5px !important;
    height: 12px !important;
    font-size: 7px !important;
    letter-spacing: .28em !important;
    opacity: .76 !important;
}
body.game-body .monitor-map-panel .map-toolbar {
    top: 16px !important;
    left: 28px !important;
    right: 28px !important;
    min-height: 42px !important;
    padding: 6px 10px !important;
    border-radius: 16px !important;
    display: grid !important;
    grid-template-columns: minmax(130px, .72fr) minmax(260px, 1.25fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    background: linear-gradient(90deg, rgba(40,23,12,.95), rgba(24,13,7,.92) 56%, rgba(16,9,5,.95)) !important;
    border: 1px solid rgba(255,214,120,.24) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
body.game-body .monitor-map-panel .map-toolbar-title {
    gap: 1px !important;
}
body.game-body .monitor-map-panel .map-toolbar-title strong {
    font-size: 13px !important;
    line-height: 1 !important;
    letter-spacing: .10em !important;
}
body.game-body .monitor-map-panel .map-toolbar-title small {
    font-size: 7px !important;
    letter-spacing: .20em !important;
    opacity: .72 !important;
}
body.game-body .monitor-map-panel .map-toolbar-actions {
    gap: 6px !important;
    flex-wrap: nowrap !important;
}
body.game-body .map-toolbar-button {
    min-height: 32px !important;
    padding: 0 11px !important;
    border-radius: 12px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    gap: 5px !important;
    white-space: nowrap !important;
}
body.game-body .monitor-map-panel .monitor-screen {
    margin-top: 26px !important;
    border-radius: 14px !important;
    border-width: 2px !important;
    box-shadow: inset 0 0 0 1px rgba(255,232,145,.08), 0 10px 24px rgba(0,0,0,.24) !important;
}
body.game-body .monitor-map-panel #map {
    border-radius: 12px !important;
}
body.game-body .map-status-strip {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 0 !important;
}
body.game-body .map-status-chip {
    appearance: none !important;
    border: 1px solid rgba(255,218,122,.22) !important;
    border-radius: 999px !important;
    background: linear-gradient(145deg, rgba(62,42,24,.86), rgba(17,10,6,.86)) !important;
    color: #ffe4a1 !important;
    min-width: 58px !important;
    height: 30px !important;
    padding: 0 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    cursor: pointer !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
body.game-body .map-status-chip b {
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 1000 !important;
    color: #fff2bf !important;
}
body.game-body .map-status-chip small {
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
    opacity: .86 !important;
}
body.game-body .map-status-chip:hover { filter: brightness(1.08) !important; }
body.game-body .map-status-chip.pulse { border-color: rgba(116,205,255,.36) !important; }
body.game-body .map-status-chip.danger { border-color: rgba(255,104,83,.36) !important; }
body.game-body .map-status-strip.has-open-jobs .map-status-chip.pulse {
    box-shadow: 0 0 0 1px rgba(108,190,255,.18), 0 0 14px rgba(108,190,255,.18), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
body.game-body .map-status-strip.has-critical .map-status-chip.danger {
    color: #ffd6c5 !important;
    animation: mapAlarmPulse 1.4s ease-in-out infinite;
}
@keyframes mapAlarmPulse {
    0%, 100% { box-shadow: 0 0 0 rgba(255,67,54,0), inset 0 1px 0 rgba(255,255,255,.06); }
    50% { box-shadow: 0 0 18px rgba(255,67,54,.32), inset 0 1px 0 rgba(255,255,255,.08); }
}
@media (max-width: 1300px) {
    body.game-body .monitor-map-panel .map-toolbar {
        left: 18px !important;
        right: 18px !important;
        grid-template-columns: minmax(110px, .62fr) minmax(210px, 1fr) auto !important;
        gap: 7px !important;
    }
    body.game-body .map-status-chip { min-width: 48px !important; padding: 0 7px !important; }
    body.game-body .map-status-chip small { display: none !important; }
    body.game-body .map-toolbar-button { font-size: 9px !important; padding: 0 9px !important; }
}
@media (max-width: 900px) {
    body.game-body .monitor-map-panel .map-toolbar {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        gap: 6px !important;
        top: 12px !important;
        left: 12px !important;
        right: 12px !important;
    }
    body.game-body .monitor-map-panel .map-toolbar-title {
        display: none !important;
    }
    body.game-body .map-status-strip { justify-content: space-between !important; }
    body.game-body .monitor-map-panel .map-toolbar-actions { justify-content: space-between !important; }
    body.game-body .monitor-map-panel .monitor-screen { margin-top: 78px !important; }
}

/* v5.39: Maik/Premium, Startseiten-Plakette, Autohandel, Leitstellen-HUD und ruhiger Karten-Fokus */
body.auth-body .landing-tramfluencer-badge {
    width: min(230px, 64%);
    display: block;
    margin: -0.1rem 0 0.15rem;
    filter: drop-shadow(0 12px 24px rgba(0,0,0,.42));
    transition: transform .18s ease, filter .18s ease;
}
body.auth-body .landing-tramfluencer-badge:hover,
body.auth-body .landing-tramfluencer-badge:focus-visible {
    transform: translateY(-2px) scale(1.025);
    filter: drop-shadow(0 16px 30px rgba(0,0,0,.5));
}
body.auth-body .landing-tramfluencer-badge img {
    display: block;
    width: 100%;
    height: auto;
}
@media (max-width: 720px) {
    body.auth-body .landing-tramfluencer-badge {
        width: min(190px, 58%);
        justify-self: center;
        margin-inline: auto;
    }
}

body.game-body #premiumPassModal .premium-pass-hero-v499 {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 32%) !important;
    align-items: stretch !important;
}
body.game-body #premiumPassModal .premium-rick-mini-v501 {
    grid-template-columns: 108px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .65rem !important;
    min-height: 136px !important;
    padding: .7rem .85rem 0 !important;
    overflow: hidden !important;
}
body.game-body #premiumPassModal .premium-rick-mini-v501 img {
    width: 112px !important;
    height: 136px !important;
    max-width: 112px !important;
    max-height: 136px !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    transform: none !important;
    align-self: end !important;
    justify-self: center !important;
    z-index: 1 !important;
}
body.game-body #premiumPassModal .premium-rick-mini-v501 blockquote {
    position: relative !important;
    z-index: 2 !important;
    min-width: 0 !important;
    margin: 0 0 .65rem !important;
    padding: 0 0 0 .25rem !important;
    text-align: left !important;
    justify-content: flex-start !important;
    align-items: center !important;
    font-size: clamp(.78rem, .95vw, .9rem) !important;
    line-height: 1.22 !important;
    overflow-wrap: anywhere !important;
}
@media (max-width: 760px) {
    body.game-body #premiumPassModal .premium-pass-hero-v499 {
        grid-template-columns: 1fr !important;
    }
    body.game-body #premiumPassModal .premium-rick-mini-v501 {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        min-height: 106px !important;
        padding: .55rem .7rem 0 !important;
    }
    body.game-body #premiumPassModal .premium-rick-mini-v501 img {
        width: 88px !important;
        height: 108px !important;
        max-width: 88px !important;
        max-height: 108px !important;
    }
}

body.game-body .dealer-inline-shop .dealer-offer-list {
    max-height: min(46vh, 520px) !important;
    overflow-y: auto !important;
    padding-right: .2rem !important;
    display: grid !important;
    gap: .5rem !important;
    scrollbar-width: thin;
}
body.game-body .dealer-inline-shop .dealer-offer-mini {
    min-height: 72px !important;
}
body.game-body .dealer-inline-shop .dealer-offer-mini img {
    max-width: 92px !important;
    max-height: 56px !important;
    object-fit: contain !important;
}

body.game-body .monitor-map-panel {
    padding-top: 18px !important;
}
body.game-body .monitor-map-panel .map-toolbar {
    top: 12px !important;
    left: 20px !important;
    right: 20px !important;
    min-height: 38px !important;
    padding: 5px 8px !important;
    border-radius: 13px !important;
    grid-template-columns: minmax(150px, .7fr) minmax(250px, 1.1fr) auto !important;
    gap: 8px !important;
    background: linear-gradient(90deg, rgba(17,13,9,.84), rgba(36,23,13,.78), rgba(17,13,9,.84)) !important;
    border: 1px solid rgba(255,218,122,.18) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 8px 18px rgba(0,0,0,.20) !important;
    backdrop-filter: blur(4px) !important;
}
body.game-body .monitor-map-panel .map-toolbar-title strong {
    font-size: 11px !important;
    letter-spacing: .16em !important;
    color: rgba(255,232,160,.92) !important;
}
body.game-body .monitor-map-panel .map-toolbar-title small {
    font-size: 7px !important;
    letter-spacing: .16em !important;
    color: rgba(255,236,186,.54) !important;
}
body.game-body .map-status-strip {
    gap: 5px !important;
}
body.game-body .map-status-chip {
    height: 28px !important;
    min-width: 54px !important;
    padding: 0 8px !important;
    background: linear-gradient(145deg, rgba(28,21,14,.86), rgba(7,5,4,.78)) !important;
    border-color: rgba(255,218,122,.16) !important;
}
body.game-body .map-status-chip b {
    font-size: 13px !important;
}
body.game-body .map-status-chip small {
    font-size: 7px !important;
}
body.game-body .monitor-map-panel .map-toolbar-actions {
    gap: 5px !important;
    flex-wrap: nowrap !important;
}
body.game-body .map-toolbar-button {
    min-height: 28px !important;
    padding: 0 9px !important;
    border-radius: 10px !important;
    font-size: 9px !important;
    letter-spacing: .02em !important;
    background: linear-gradient(145deg, rgba(30,22,14,.92), rgba(12,8,5,.92)) !important;
    border-color: rgba(255,218,122,.20) !important;
    color: rgba(255,240,196,.94) !important;
}
body.game-body .map-toolbar-button.map-toolbar-button-primary,
body.game-body .map-toolbar-button.is-locked {
    background: linear-gradient(145deg, rgba(56,38,19,.96), rgba(21,14,8,.95)) !important;
    border-color: rgba(255,218,122,.32) !important;
    color: #ffe58a !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 0 12px rgba(255,199,73,.08) !important;
}
body.game-body .map-toolbar-button.is-dark {
    background: linear-gradient(145deg, rgba(20,33,52,.94), rgba(8,12,22,.96)) !important;
    border-color: rgba(136,177,255,.26) !important;
}
body.game-body .monitor-map-panel .monitor-screen {
    margin-top: 20px !important;
}
body.game-body .leaflet-marker-icon.map-taxi-image-icon {
    transition: transform .34s linear !important;
    will-change: transform !important;
}
@media (max-width: 1300px) {
    body.game-body .monitor-map-panel .map-toolbar {
        grid-template-columns: minmax(126px, .55fr) minmax(178px, 1fr) auto !important;
        left: 14px !important;
        right: 14px !important;
        gap: 5px !important;
    }
    body.game-body .map-status-chip { min-width: 42px !important; padding: 0 6px !important; }
    body.game-body .map-toolbar-button { font-size: 8px !important; padding: 0 7px !important; }
}
@media (max-width: 900px) {
    body.game-body .monitor-map-panel .map-toolbar {
        grid-template-columns: 1fr !important;
        top: 10px !important;
        left: 10px !important;
        right: 10px !important;
        gap: 5px !important;
    }
    body.game-body .monitor-map-panel .map-toolbar-actions { justify-content: space-between !important; }
    body.game-body .monitor-map-panel .monitor-screen { margin-top: 70px !important; }
}


/* v5.40: Map-Zoom, ruhiger Taxi-Fokus, Nordland-Scrollfix und bessere Startseiten-Plakette */
body.auth-body .landing-hero .landing-tramfluencer-badge {
    display: none !important;
}
body.auth-body .landing-side {
    position: relative !important;
}
body.auth-body .landing-tramfluencer-badge-side {
    position: relative !important;
    z-index: 4 !important;
    justify-self: end !important;
    width: clamp(122px, 12vw, 170px) !important;
    margin: -.15rem clamp(.4rem, 2vw, 1.25rem) .25rem auto !important;
    transform: rotate(2deg) !important;
}
body.auth-body .landing-tramfluencer-badge-side:hover,
body.auth-body .landing-tramfluencer-badge-side:focus-visible {
    transform: rotate(2deg) translateY(-2px) scale(1.025) !important;
}
body.auth-body .landing-tramfluencer-badge-side img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

body.game-body .map-zoom-group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    padding: 2px !important;
    border: 1px solid rgba(255,218,122,.16) !important;
    border-radius: 11px !important;
    background: rgba(0,0,0,.18) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
body.game-body .map-toolbar-button.map-zoom-button {
    width: 26px !important;
    min-width: 26px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    display: inline-grid !important;
    place-items: center !important;
}
body.game-body .monitor-map-panel .map-toolbar-actions {
    align-items: center !important;
    gap: 5px !important;
}
body.game-body .dealer-inline-shop {
    overflow: hidden !important;
}
body.game-body .dealer-inline-shop .dealer-offer-list {
    overscroll-behavior: contain !important;
    scroll-behavior: auto !important;
}
body.game-body .store-offer,
body.game-body #storeOffer,
body.game-body #dealerApp {
    overscroll-behavior: contain !important;
}
@media (max-width: 1300px) {
    body.game-body .map-toolbar-button.map-zoom-button {
        width: 24px !important;
        min-width: 24px !important;
        font-size: 14px !important;
    }
}
@media (max-width: 900px) {
    body.game-body .map-zoom-group {
        justify-content: center !important;
    }
    body.auth-body .landing-tramfluencer-badge-side {
        justify-self: center !important;
        margin: .55rem auto .15rem !important;
        width: min(170px, 44vw) !important;
        transform: none !important;
    }
}

/* v5.41: Social-Funktionen, Freundes-Flaggen, Karten-HUD-Korrektur und Fleet-Klickfix */
body.game-body .social-chat-app-icon span,
body.game-body .friends-app-icon span,
body.game-body .report-app-icon span {
    background: linear-gradient(145deg, rgba(255,215,91,.98), rgba(117,70,20,.96)) !important;
    color: #1b1007 !important;
    font-size: 1.45rem !important;
    display: grid !important;
    place-items: center !important;
}
body.game-body .report-app-icon span { background: linear-gradient(145deg, #ff776d, #782014) !important; color:#fff7d7 !important; }
body.game-body .friends-app-icon span { background: linear-gradient(145deg, #7df17c, #295b21) !important; color:#101b0d !important; }
body.game-body .app-icon .app-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-radius: 999px;
    background: #e74b32;
    color: #fff4d8;
    font-size: 10px;
    line-height: 19px;
    font-weight: 1000;
    box-shadow: 0 4px 12px rgba(0,0,0,.42);
}
body.game-body .chat-composer textarea,
body.game-body .mail-compose-mini textarea,
body.game-body .report-card textarea,
body.game-body .mail-compose-mini input,
body.game-body .friend-search-card input,
body.game-body .report-card select {
    width: 100%;
    border-radius: 12px;
    border: 1px solid rgba(255,218,122,.22);
    background: rgba(10,7,5,.62);
    color: #fff4d0;
    padding: .55rem .65rem;
    font: inherit;
    margin-top: .4rem;
    resize: vertical;
}
body.game-body .emoji-row {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: .55rem 0;
}
body.game-body .emoji-row button,
body.game-body .friend-search-results button {
    border: 1px solid rgba(255,218,122,.25);
    background: linear-gradient(145deg, rgba(61,42,23,.9), rgba(17,11,7,.92));
    color: #ffe8ad;
    border-radius: 999px;
    padding: .32rem .55rem;
    font-weight: 900;
    cursor: pointer;
}
body.game-body .chat-feed {
    display: grid;
    gap: .5rem;
    max-height: 420px;
    overflow-y: auto;
    padding-right: .15rem;
}
body.game-body .chat-message,
body.game-body .player-mail-row {
    border: 1px solid rgba(255,218,122,.18);
    border-radius: 14px;
    background: rgba(18,11,7,.74);
    padding: .6rem .7rem;
}
body.game-body .chat-message.is-own { border-color: rgba(104,224,95,.32); background: rgba(22,38,14,.52); }
body.game-body .chat-message > div,
body.game-body .friend-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
}
body.game-body .chat-message small,
body.game-body .player-mail-row small,
body.game-body .friend-row small {
    display: block;
    color: rgba(255,236,187,.62);
    font-size: .72rem;
}
body.game-body .chat-message p,
body.game-body .player-mail-row p { margin: .35rem 0 0; line-height: 1.35; }
body.game-body .mention { color: #8fe8ff; font-weight: 1000; }
body.game-body .hashtag { color: #ffe172; font-weight: 1000; }
body.game-body .friend-row {
    padding: .5rem 0;
    border-top: 1px solid rgba(255,218,122,.12);
}
body.game-body .friend-row:first-of-type { border-top: 0; }
body.game-body .friend-row span { display: grid; gap: .05rem; }
body.game-body .friend-row .button { width: auto; padding: .38rem .55rem; font-size: .72rem; }
body.game-body .mail-player-card #playerMailSection { margin-top: .55rem; }
body.game-body .player-mail-list { display: grid; gap: .45rem; margin-top: .55rem; }
body.game-body .player-mail-row.is-unread { border-color: rgba(255,214,91,.5); box-shadow: 0 0 0 1px rgba(255,214,91,.12); }
body.game-body .phone-section-title { display:block; margin:.4rem .1rem .55rem; color:#ffe599; text-transform:uppercase; letter-spacing:.06em; font-size:.78rem; }

body.game-body .leaflet-marker-icon.friend-taxi-flag-icon {
    background: transparent !important;
    border: 0 !important;
    filter: drop-shadow(0 8px 13px rgba(0,0,0,.45));
}
body.game-body .friend-taxi-flag-icon img {
    width: 54px;
    height: 38px;
    object-fit: contain;
    display: block;
    margin: 16px auto 0;
}
body.game-body .friend-taxi-flag {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    max-width: 82px;
    padding: 2px 7px;
    border-radius: 999px;
    background: linear-gradient(145deg, #1d4f9d, #07162c);
    color: #eaf4ff;
    border: 1px solid rgba(165,210,255,.72);
    font-size: 9px;
    font-weight: 1000;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.game-body .friend-taxi-flag-icon.is-moving .friend-taxi-flag { animation: friendTaxiFlagPulse 1.6s ease-in-out infinite; }
@keyframes friendTaxiFlagPulse { 0%,100%{box-shadow:0 0 0 rgba(83,167,255,0);} 50%{box-shadow:0 0 14px rgba(83,167,255,.58);} }

body.game-body .monitor-map-panel {
    padding-top: 8px !important;
    overflow: hidden !important;
}
body.game-body .monitor-map-panel .map-toolbar {
    top: 10px !important;
    left: 24px !important;
    right: 24px !important;
    height: 44px !important;
    min-height: 44px !important;
    display: grid !important;
    grid-template-columns: minmax(180px, .8fr) minmax(260px, 1fr) auto !important;
    align-items: center !important;
    padding: 5px 9px !important;
    border-radius: 16px !important;
    background: linear-gradient(90deg, rgba(11,10,8,.9), rgba(42,27,15,.86), rgba(12,10,8,.9)) !important;
}
body.game-body .monitor-map-panel .monitor-screen {
    margin-top: 0 !important;
    padding-top: 44px !important;
    height: 100% !important;
    box-sizing: border-box !important;
}
body.game-body .monitor-map-panel #map {
    width: 100% !important;
    height: 100% !important;
}
body.game-body .leaflet-control-zoom {
    margin-top: 48px !important;
}
body.game-body .map-status-chip {
    text-transform: uppercase !important;
}
@media (max-width: 1100px) {
    body.game-body .monitor-map-panel .map-toolbar {
        left: 12px !important;
        right: 12px !important;
        grid-template-columns: 1fr !important;
        height: auto !important;
        min-height: 0 !important;
        gap: 4px !important;
    }
    body.game-body .monitor-map-panel .monitor-screen { padding-top: 92px !important; }
}


/* v5.42: aufgeräumte Startseite, stabile Chat/Kontakte-Apps, Karten-HUD ohne Mittelbalken */
body.auth-body .landing-auth-v542 {
    width: min(1180px, calc(100vw - 32px)) !important;
    min-height: calc(100dvh - 72px) !important;
    margin: 0 auto !important;
    padding: clamp(18px, 3vh, 34px) 0 !important;
    display: grid !important;
    place-items: center !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
}
body.auth-body .landing-center-v542 {
    width: 100% !important;
    display: grid !important;
    justify-items: center !important;
    align-items: start !important;
    gap: clamp(.75rem, 1.8vh, 1.25rem) !important;
    text-align: center !important;
}
body.auth-body .landing-logo-v542 {
    width: clamp(190px, 20vw, 310px) !important;
    max-width: 310px !important;
    margin: 0 auto .1rem !important;
    filter: drop-shadow(0 14px 26px rgba(0,0,0,.46)) !important;
}
body.auth-body .landing-intro-v542 {
    display: grid !important;
    justify-items: center !important;
    gap: .35rem !important;
    max-width: 820px !important;
    margin: 0 auto !important;
}
body.auth-body .landing-kicker-v542 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255,221,122,.34) !important;
    background: linear-gradient(145deg, rgba(54,36,19,.78), rgba(14,9,6,.72)) !important;
    color: #fff0b8 !important;
    border-radius: 999px !important;
    padding: .35rem .85rem !important;
    font-weight: 1000 !important;
    font-size: .78rem !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}
body.auth-body .landing-intro-v542 h1 {
    margin: 0 !important;
    max-width: 860px !important;
    font-size: clamp(2rem, 4.2vw, 4.5rem) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
    color: #fff2b6 !important;
    text-shadow: 0 8px 22px rgba(0,0,0,.45) !important;
}
body.auth-body .landing-intro-v542 p {
    margin: 0 !important;
    max-width: 700px !important;
    color: rgba(255,242,206,.86) !important;
    font-size: clamp(.95rem, 1.45vw, 1.15rem) !important;
    line-height: 1.42 !important;
}
body.auth-body .landing-login-cluster-v542 {
    position: relative !important;
    width: min(760px, 100%) !important;
    display: grid !important;
    grid-template-columns: minmax(320px, 520px) minmax(110px, 150px) !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(.65rem, 1.6vw, 1rem) !important;
    margin-top: .25rem !important;
}
body.auth-body .landing-auth-card-v542,
body.auth-body .landing-auth-card {
    width: 100% !important;
    max-width: 520px !important;
    justify-self: center !important;
    text-align: left !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
body.auth-body .landing-tramfluencer-badge-v542,
body.auth-body .landing-tramfluencer-badge-side.landing-tramfluencer-badge-v542 {
    position: static !important;
    justify-self: center !important;
    align-self: center !important;
    width: clamp(112px, 10vw, 146px) !important;
    margin: 0 !important;
    transform: rotate(2deg) !important;
    z-index: 3 !important;
}
body.auth-body .landing-tramfluencer-badge-v542:hover,
body.auth-body .landing-tramfluencer-badge-v542:focus-visible {
    transform: rotate(2deg) translateY(-2px) scale(1.03) !important;
}
body.auth-body .landing-screens-v542,
body.auth-body .landing-screens {
    width: min(980px, 100%) !important;
    display: grid !important;
    grid-template-columns: 1.25fr .82fr .82fr !important;
    gap: clamp(.55rem, 1.2vw, .9rem) !important;
    align-items: stretch !important;
    margin-top: .35rem !important;
}
body.auth-body .landing-screens-v542 .landing-shot,
body.auth-body .landing-screens .landing-shot {
    min-height: 0 !important;
    aspect-ratio: 16/8.8 !important;
    border-radius: 18px !important;
}
@media (max-width: 860px) {
    body.auth-body .landing-auth-v542 { width: min(640px, calc(100vw - 20px)) !important; }
    body.auth-body .landing-login-cluster-v542 {
        grid-template-columns: 1fr !important;
        width: min(520px, 100%) !important;
    }
    body.auth-body .landing-tramfluencer-badge-v542,
    body.auth-body .landing-tramfluencer-badge-side.landing-tramfluencer-badge-v542 {
        width: min(150px, 42vw) !important;
        transform: none !important;
    }
    body.auth-body .landing-tramfluencer-badge-v542:hover,
    body.auth-body .landing-tramfluencer-badge-v542:focus-visible { transform: translateY(-2px) scale(1.03) !important; }
    body.auth-body .landing-screens-v542,
    body.auth-body .landing-screens { grid-template-columns: 1fr !important; }
}

body.game-body .social-chat-app-icon span,
body.game-body .friends-app-icon span {
    background: transparent !important;
    color: inherit !important;
    padding: 0 !important;
    overflow: visible !important;
}
body.game-body .social-chat-app-icon span img,
body.game-body .friends-app-icon span img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: contain !important;
    border-radius: 22% !important;
}

body.game-body .monitor-map-panel .map-status-strip {
    display: none !important;
}
body.game-body .monitor-map-panel .map-toolbar {
    grid-template-columns: minmax(165px, 1fr) auto !important;
    height: 42px !important;
    min-height: 42px !important;
    top: 10px !important;
    left: 24px !important;
    right: 24px !important;
    z-index: 1100 !important;
}
body.game-body .monitor-map-panel .map-toolbar-actions {
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
}
body.game-body .monitor-map-panel .monitor-screen {
    margin-top: 0 !important;
    padding-top: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
}
body.game-body .monitor-map-panel #map {
    height: 100% !important;
    width: 100% !important;
    transform: none !important;
}
body.game-body .leaflet-control-zoom {
    display: none !important;
}
body.game-body .leaflet-top.leaflet-left {
    pointer-events: none !important;
}
@media (max-width: 1100px) {
    body.game-body .monitor-map-panel .map-toolbar {
        grid-template-columns: 1fr !important;
        height: auto !important;
        min-height: 0 !important;
        left: 12px !important;
        right: 12px !important;
    }
    body.game-body .monitor-map-panel .monitor-screen { padding-top: 0 !important; }
}

/* v5.43: Ruf-Sterne aus Tax-Review und stabiler WhatsApp-ähnlicher Chat/Kontakte */
body.game-body #topReputationStars {
    white-space: nowrap;
    letter-spacing: .04em;
}
body.game-body #topReputation[data-rating-value]:not([data-rating-value=""])::after {
    content: attr(data-rating-value) ' ★';
    display: block;
    margin-top: .08rem;
    font-size: .66rem;
    line-height: 1;
    color: rgba(255,236,176,.82);
    letter-spacing: .02em;
    text-transform: none;
}
body.game-body .social-chat-view,
body.game-body .friends-view {
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
}
body.game-body .social-chat-view .app-header,
body.game-body .friends-view .app-header {
    flex: 0 0 auto;
    margin-bottom: .55rem !important;
}
body.game-body #chatApp.phone-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    overflow: hidden !important;
}
body.game-body .chat-shell {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 18px;
    background:
        radial-gradient(circle at 15% 10%, rgba(255,218,122,.09), transparent 32%),
        linear-gradient(180deg, rgba(15,12,10,.48), rgba(6,6,5,.70));
    border: 1px solid rgba(255,218,122,.16);
}
body.game-body .chat-feed {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: .42rem !important;
    padding: .55rem .45rem .65rem !important;
    background:
        linear-gradient(135deg, rgba(255,218,122,.035) 25%, transparent 25%) 0 0/18px 18px,
        linear-gradient(225deg, rgba(255,218,122,.025) 25%, transparent 25%) 0 0/18px 18px;
}
body.game-body .chat-empty-state {
    margin: auto;
    text-align: center;
    display: grid;
    gap: .25rem;
    color: rgba(255,237,190,.74);
    padding: 1rem;
}
body.game-body .chat-message {
    width: fit-content;
    max-width: 84%;
    border-radius: 17px 17px 17px 5px !important;
    border: 1px solid rgba(255,218,122,.14) !important;
    background: linear-gradient(145deg, rgba(42,28,18,.94), rgba(17,12,9,.94)) !important;
    padding: .48rem .62rem .5rem !important;
    box-shadow: 0 5px 12px rgba(0,0,0,.18);
    align-self: flex-start;
}
body.game-body .chat-message.is-own {
    align-self: flex-end;
    border-radius: 17px 17px 5px 17px !important;
    border-color: rgba(100,226,92,.25) !important;
    background: linear-gradient(145deg, rgba(41,88,31,.95), rgba(18,43,15,.95)) !important;
}
body.game-body .chat-message > div {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: .55rem !important;
}
body.game-body .chat-message strong {
    font-size: .74rem;
    color: #ffe79f;
}
body.game-body .chat-message small {
    font-size: .61rem !important;
    color: rgba(255,246,216,.55) !important;
    white-space: nowrap;
}
body.game-body .chat-message p {
    margin: .16rem 0 0 !important;
    font-size: .82rem;
    line-height: 1.26 !important;
    overflow-wrap: anywhere;
}
body.game-body .chat-composer {
    flex: 0 0 auto !important;
    margin: 0 !important;
    border-width: 1px 0 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, rgba(22,15,11,.96), rgba(9,7,6,.98)) !important;
    padding: .45rem .48rem .52rem !important;
    box-shadow: 0 -8px 18px rgba(0,0,0,.26);
}
body.game-body .chat-composer .emoji-row {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    gap: .25rem !important;
    margin: 0 0 .34rem !important;
    padding-bottom: .05rem;
}
body.game-body .chat-composer .emoji-row button {
    flex: 0 0 auto;
    padding: .22rem .36rem !important;
    min-width: 30px;
    min-height: 28px;
    font-size: .88rem;
}
body.game-body .chat-input-row {
    display: flex;
    align-items: flex-end;
    gap: .34rem;
}
body.game-body .chat-input-row textarea {
    flex: 1 1 auto;
    min-height: 38px;
    max-height: 92px;
    margin: 0 !important;
    resize: none !important;
    border-radius: 18px !important;
    padding: .58rem .72rem !important;
    background: rgba(255,248,224,.08) !important;
}
body.game-body .chat-input-wrap {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}
body.game-body .chat-input-wrap textarea { width: 100%; }
body.game-body .chat-mention-menu {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100% + 8px);
    z-index: 25;
    display: grid;
    gap: .18rem;
    max-height: 190px;
    overflow: auto;
    padding: .35rem;
    border-radius: 16px;
    border: 1px solid rgba(255,226,141,.22);
    background: rgba(16,10,7,.98);
    box-shadow: 0 18px 38px rgba(0,0,0,.38);
}
body.game-body .chat-mention-menu.hidden { display: none !important; }
body.game-body .chat-mention-menu button {
    width: 100%;
    border: 0;
    border-radius: 12px;
    padding: .52rem .65rem;
    background: rgba(255,226,141,.08);
    color: #fff0ba;
    text-align: left;
    font-weight: 900;
    cursor: pointer;
}
body.game-body .chat-mention-menu button:hover,
body.game-body .chat-mention-menu button.active {
    background: rgba(255,214,99,.20);
    color: #ffffff;
}
body.game-body .chat-input-row .button {
    flex: 0 0 42px;
    width: 42px;
    height: 38px;
    min-height: 38px;
    padding: 0 !important;
    border-radius: 15px !important;
    display: grid;
    place-items: center;
}
body.game-body #friendsApp.phone-list {
    height: 100%;
    overflow-y: auto;
    display: block !important;
    padding-right: .12rem;
}
body.game-body .contacts-shell {
    display: grid;
    gap: .62rem;
}
body.game-body .contacts-list {
    margin-top: .45rem;
}
body.game-body .contacts-list.muted {
    color: rgba(255,237,190,.62);
    font-size: .82rem;
}

/* v5.44: Startseite nach Mockup, Chat-Moderation, echte Kontakte/Profile und Smartphone-Aufräumen */
body.auth-body .landing-auth-v544 {
    width: min(1240px, calc(100vw - 32px)) !important;
    min-height: calc(100dvh - 58px) !important;
    padding: clamp(18px, 2.4vh, 28px) 0 70px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
body.auth-body .landing-center-v544 {
    width: 100% !important;
    max-width: 1180px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-content: center !important;
    gap: clamp(.55rem, 1.3vh, 1rem) !important;
    text-align: center !important;
}
body.auth-body .landing-logo-v542 {
    width: clamp(132px, 14vw, 210px) !important;
    margin: 0 auto .05rem !important;
}
body.auth-body .landing-intro-v542 {
    max-width: 760px !important;
    gap: .28rem !important;
}
body.auth-body .landing-intro-v542 h1 {
    max-width: 760px !important;
    font-size: clamp(2.25rem, 4.5vw, 4.65rem) !important;
    line-height: .92 !important;
    color: #fff4bf !important;
}
body.auth-body .landing-intro-v542 h1::first-line { color: #fff !important; }
body.auth-body .landing-intro-v542 p {
    max-width: 650px !important;
    font-size: clamp(.92rem, 1.25vw, 1.08rem) !important;
}
body.auth-body .landing-login-cluster-v544 {
    width: min(760px, 100%) !important;
    display: grid !important;
    grid-template-columns: minmax(310px, 520px) minmax(120px, 168px) !important;
    justify-content: center !important;
    align-items: center !important;
    gap: clamp(.75rem, 1.4vw, 1.35rem) !important;
    margin-top: .15rem !important;
}
body.auth-body .landing-auth-card-v542 {
    width: min(520px, 100%) !important;
    max-width: 520px !important;
    border-radius: 22px !important;
    backdrop-filter: blur(16px) saturate(1.12) !important;
    background: linear-gradient(145deg, rgba(45,30,18,.84), rgba(11,8,7,.86)) !important;
    border: 1px solid rgba(255,220,126,.42) !important;
}
body.auth-body .landing-tramfluencer-badge-v542 {
    width: clamp(120px, 12vw, 172px) !important;
    opacity: .96 !important;
    filter: drop-shadow(0 16px 24px rgba(0,0,0,.48)) !important;
}
body.auth-body .landing-screens-v544 {
    width: min(980px, calc(100vw - 42px)) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(.55rem, 1vw, .8rem) !important;
    margin-top: clamp(.35rem, 1.3vh, .75rem) !important;
}
body.auth-body .landing-screens-v544 .landing-shot {
    aspect-ratio: 16/9 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-color: rgba(255,210,96,.32) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.38) !important;
}
body.auth-body .landing-screens-v544 .landing-shot span {
    font-size: clamp(.78rem, 1.05vw, 1rem) !important;
}
body.auth-body .landing-screens-v544 .landing-shot em { display: none !important; }
body.auth-body .landing-footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 10px !important;
    z-index: 10 !important;
    justify-content: center !important;
    gap: .8rem !important;
    background: transparent !important;
    pointer-events: auto !important;
}
@media (max-width: 900px) {
    body.auth-body .landing-auth-v544 { width: min(620px, calc(100vw - 20px)) !important; padding-bottom: 88px !important; }
    body.auth-body .landing-login-cluster-v544 { grid-template-columns: 1fr !important; width: min(520px, 100%) !important; }
    body.auth-body .landing-tramfluencer-badge-v542 { width: min(155px, 38vw) !important; }
    body.auth-body .landing-screens-v544 { grid-template-columns: 1fr !important; width: min(520px, 100%) !important; }
    body.auth-body .landing-footer { position: static !important; padding: 0 0 14px !important; }
}

body.game-body #phoneHome.phone-view {
    overflow: hidden !important;
    contain: paint !important;
}
body.game-body #phoneHome .phone-home-slider {
    overflow: hidden !important;
    height: calc(100% - 42px) !important;
    max-height: calc(100% - 42px) !important;
}
body.game-body #phoneHome .phone-home-page,
body.game-body #phoneHome .phone-home-page.app-grid {
    overflow: hidden !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    padding-bottom: 38px !important;
}
body.game-body #phoneHome .phone-home-nav,
body.game-body #phoneHome .phone-home-dots {
    z-index: 25 !important;
}
body.game-body #phoneHome .phone-home-nav { bottom: 8px !important; }
body.game-body #phoneHome .phone-home-dots { bottom: 13px !important; }

body.game-body .chat-message-meta .chat-author,
body.game-body .chat-author {
    appearance: none !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #ffe79f !important;
    font: inherit !important;
    font-weight: 1000 !important;
    cursor: pointer !important;
    text-decoration: none !important;
}
body.game-body .chat-author:hover,
body.game-body .chat-author:focus-visible {
    color: #fff5c8 !important;
    text-decoration: underline !important;
}
body.game-body .contact-profile-card {
    border-color: rgba(83, 190, 255, .38) !important;
    background: radial-gradient(circle at 20% 0%, rgba(83,190,255,.18), transparent 36%), linear-gradient(145deg, rgba(26,25,34,.96), rgba(11,9,8,.96)) !important;
}
body.game-body .contact-profile-card.hidden { display: none !important; }
body.game-body .contact-profile-head {
    display: flex !important;
    align-items: start !important;
    justify-content: space-between !important;
    gap: .6rem !important;
}
body.game-body .contact-profile-head strong {
    display: block !important;
    font-size: 1rem !important;
    color: #fff2ba !important;
}
body.game-body .contact-profile-head small {
    display: block !important;
    color: rgba(255,238,190,.64) !important;
    margin-top: .12rem !important;
}
body.game-body .contact-profile-close {
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,218,122,.28) !important;
    background: rgba(0,0,0,.24) !important;
    color: #ffe9a7 !important;
    font-weight: 1000 !important;
    cursor: pointer !important;
}
body.game-body .contact-profile-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .38rem !important;
    margin: .65rem 0 !important;
}
body.game-body .contact-profile-stats span {
    display: grid !important;
    gap: .06rem !important;
    padding: .44rem .5rem !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,218,122,.14) !important;
}
body.game-body .contact-profile-stats b {
    color: #fff1b5 !important;
    font-size: .86rem !important;
    line-height: 1.05 !important;
}
body.game-body .contact-profile-stats small {
    color: rgba(255,238,190,.56) !important;
    font-size: .66rem !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}
body.game-body .contact-profile-status,
body.game-body .contact-profile-note {
    display: block !important;
    color: rgba(255,240,200,.78) !important;
    font-size: .78rem !important;
    line-height: 1.25 !important;
}
body.game-body .contact-profile-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .4rem !important;
    margin-top: .55rem !important;
}
body.game-body .contact-profile-actions .button {
    min-height: 34px !important;
    font-size: .74rem !important;
    padding: .45rem .65rem !important;
}

body.admin-body .admin-chat-table td { vertical-align: top; }
body.admin-body .admin-chat-message-cell {
    max-width: 620px;
    white-space: normal;
    line-height: 1.4;
}

/* v5.45: Premium-Bild, Ruf nur als Sterne, Smartphone-Homescreen repariert und Startseite konsequent nach Mockup */
body.game-body #topReputation[data-rating-value]:not([data-rating-value=""])::after {
    content: none !important;
    display: none !important;
}

body.game-body #premiumPassModal .premium-rick-mini-v501 {
    grid-template-columns: minmax(86px, 118px) minmax(0, 1fr) !important;
    min-height: 142px !important;
    align-items: end !important;
}
body.game-body #premiumPassModal .premium-rick-mini-v501 img {
    content: url('../img/maik_premium_popup.png') !important;
    width: 118px !important;
    height: 146px !important;
    max-width: 118px !important;
    max-height: 146px !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    align-self: end !important;
    justify-self: center !important;
}
body.game-body #premiumPassModal .premium-rick-mini-v501 blockquote {
    padding-left: .15rem !important;
    margin-bottom: .72rem !important;
}
@media (max-width: 760px) {
    body.game-body #premiumPassModal .premium-rick-mini-v501 {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        min-height: 112px !important;
    }
    body.game-body #premiumPassModal .premium-rick-mini-v501 img {
        width: 92px !important;
        height: 112px !important;
        max-width: 92px !important;
        max-height: 112px !important;
    }
}

body.game-body #phoneHome.phone-view {
    --phone-page-rows: 3;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
    contain: layout paint !important;
}
body.game-body #phoneHome .phone-home-slider {
    height: calc(100% - 42px) !important;
    min-height: 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: stretch !important;
    overflow: visible !important;
}
body.game-body #phoneHome .phone-home-page,
body.game-body #phoneHome .phone-home-page.app-grid {
    box-sizing: border-box !important;
    min-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--phone-page-rows, 3), minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(0, 1fr) !important;
    gap: clamp(5px, 1.4cqh, 12px) clamp(7px, 2.5cqw, 16px) !important;
    padding: clamp(5px, 1.35cqh, 10px) clamp(8px, 2.4cqw, 14px) clamp(4px, .9cqh, 8px) !important;
    overflow: hidden !important;
    align-content: stretch !important;
    justify-content: stretch !important;
    align-items: center !important;
    justify-items: center !important;
}
body.game-body #phoneHome .app-icon,
body.game-body #phoneHome .phone-home-page .app-icon,
body.game-body #phoneHome .app-icon.has-app-badge {
    --tg-phone-icon-size: clamp(48px, min(18cqw, 10.8cqh), 72px) !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(3px, .65cqh, 6px) !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
}
body.game-body #phoneHome .app-icon span,
body.game-body #phoneHome .phone-home-page .app-icon span {
    width: var(--tg-phone-icon-size) !important;
    height: var(--tg-phone-icon-size) !important;
    min-width: var(--tg-phone-icon-size) !important;
    min-height: var(--tg-phone-icon-size) !important;
    max-width: var(--tg-phone-icon-size) !important;
    max-height: var(--tg-phone-icon-size) !important;
    border-radius: clamp(15px, 4.5cqw, 23px) !important;
}
body.game-body #phoneHome .app-icon b,
body.game-body #phoneHome .phone-home-page .app-icon b {
    width: min(100%, 104px) !important;
    max-width: 104px !important;
    min-height: 1.08em !important;
    max-height: 2.15em !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-align: center !important;
    font-size: clamp(.55rem, min(2.9cqw, 1.42cqh), .76rem) !important;
    line-height: 1.06 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
}
body.game-body #phoneHome .phone-home-nav {
    bottom: 7px !important;
    z-index: 50 !important;
}
body.game-body #phoneHome .phone-home-dots {
    bottom: 14px !important;
    z-index: 51 !important;
}
body.game-body #phoneHome .phone-home-page .app-icon[data-open-app="chat"] span img,
body.game-body #phoneHome .phone-home-page .app-icon[data-open-app="friends"] span img {
    object-fit: cover !important;
}
@media (max-height: 720px) {
    body.game-body #phoneHome .app-icon,
    body.game-body #phoneHome .phone-home-page .app-icon,
    body.game-body #phoneHome .app-icon.has-app-badge {
        --tg-phone-icon-size: clamp(44px, min(17cqw, 10cqh), 64px) !important;
    }
}

body.auth-body .landing-auth-v545 {
    width: min(1220px, calc(100vw - 28px)) !important;
    min-height: calc(100dvh - 52px) !important;
    margin: 0 auto !important;
    padding: clamp(14px, 2vh, 24px) 0 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
body.auth-body .landing-center-v545 {
    width: 100% !important;
    max-width: 1180px !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-content: center !important;
    gap: clamp(.38rem, 1.15vh, .9rem) !important;
    text-align: center !important;
}
body.auth-body .landing-center-v545 .landing-logo-v542 {
    width: clamp(140px, 13vw, 220px) !important;
    max-height: 120px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    filter: drop-shadow(0 12px 22px rgba(0,0,0,.58)) !important;
}
body.auth-body .landing-center-v545 .landing-intro-v542 {
    max-width: 780px !important;
    display: grid !important;
    justify-items: center !important;
    gap: .28rem !important;
    margin: 0 auto !important;
}
body.auth-body .landing-center-v545 .landing-kicker-v542 {
    margin: 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
body.auth-body .landing-center-v545 .landing-intro-v542 h1 {
    margin: 0 !important;
    max-width: 780px !important;
    font-size: clamp(2.35rem, 4.3vw, 4.4rem) !important;
    line-height: .92 !important;
    letter-spacing: -.045em !important;
    color: #ffe38b !important;
    text-shadow: 0 5px 24px rgba(0,0,0,.58) !important;
}
body.auth-body .landing-center-v545 .landing-intro-v542 h1::first-line {
    color: #fff8dd !important;
}
body.auth-body .landing-center-v545 .landing-intro-v542 p {
    margin: 0 !important;
    max-width: 640px !important;
    font-size: clamp(.92rem, 1.15vw, 1.05rem) !important;
    line-height: 1.38 !important;
    color: rgba(255,246,224,.92) !important;
}
body.auth-body .landing-login-cluster-v545 {
    position: relative !important;
    width: min(900px, calc(100vw - 32px)) !important;
    min-height: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    margin: .08rem auto .1rem !important;
}
body.auth-body .landing-login-cluster-v545 .landing-auth-card-v542 {
    width: min(520px, 100%) !important;
    max-width: 520px !important;
    justify-self: center !important;
    margin: 0 auto !important;
    text-align: left !important;
    z-index: 2 !important;
}
body.auth-body .landing-login-cluster-v545 .landing-tramfluencer-badge-v542,
body.auth-body .landing-login-cluster-v545 .landing-tramfluencer-badge-side.landing-tramfluencer-badge-v542 {
    position: absolute !important;
    left: calc(50% + 278px) !important;
    top: 50% !important;
    width: clamp(132px, 10.5vw, 178px) !important;
    transform: translateY(-50%) rotate(2deg) !important;
    margin: 0 !important;
    z-index: 3 !important;
}
body.auth-body .landing-login-cluster-v545 .landing-tramfluencer-badge-v542:hover,
body.auth-body .landing-login-cluster-v545 .landing-tramfluencer-badge-v542:focus-visible {
    transform: translateY(calc(-50% - 2px)) rotate(2deg) scale(1.03) !important;
}
body.auth-body .landing-screens-v545 {
    width: min(960px, calc(100vw - 40px)) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(.55rem, 1vw, .85rem) !important;
    margin: clamp(.2rem, .8vh, .55rem) auto 0 !important;
}
body.auth-body .landing-screens-v545 .landing-shot,
body.auth-body .landing-screens-v545 .landing-shot-main {
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
}
body.auth-body .landing-footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 10px !important;
    width: auto !important;
    justify-content: center !important;
    background: transparent !important;
}
@media (max-width: 980px) {
    body.auth-body .landing-login-cluster-v545 {
        width: min(560px, calc(100vw - 22px)) !important;
        display: grid !important;
        justify-items: center !important;
        gap: .65rem !important;
    }
    body.auth-body .landing-login-cluster-v545 .landing-tramfluencer-badge-v542,
    body.auth-body .landing-login-cluster-v545 .landing-tramfluencer-badge-side.landing-tramfluencer-badge-v542 {
        position: static !important;
        width: min(150px, 38vw) !important;
        transform: none !important;
    }
    body.auth-body .landing-screens-v545 {
        grid-template-columns: 1fr !important;
        width: min(540px, calc(100vw - 22px)) !important;
    }
    body.auth-body .landing-footer {
        position: static !important;
        padding: 0 0 14px !important;
    }
}

/* v5.46: Smartphone-Homescreen stabil neu aufgebaut und Startseite nach Mockup repariert */
body.auth-body .landing-auth-v546 {
    width: min(1320px, calc(100vw - 28px)) !important;
    min-height: calc(100dvh - 58px) !important;
    margin: 0 auto !important;
    padding: clamp(18px, 2.2vh, 30px) 0 78px !important;
    display: grid !important;
    place-items: center !important;
}
body.auth-body .landing-center-v546 {
    width: 100% !important;
    max-width: 1180px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-content: center !important;
    text-align: center !important;
    gap: clamp(.48rem, 1.15vh, .9rem) !important;
}
body.auth-body .landing-center-v546 .landing-logo-v542 {
    width: clamp(150px, 13.5vw, 230px) !important;
    max-height: 126px !important;
    object-fit: contain !important;
    margin: 0 auto .1rem !important;
    filter: drop-shadow(0 16px 28px rgba(0,0,0,.58)) !important;
}
body.auth-body .landing-center-v546 .landing-intro-v542 {
    width: min(780px, 100%) !important;
    display: grid !important;
    justify-items: center !important;
    gap: .34rem !important;
    margin: 0 auto !important;
}
body.auth-body .landing-center-v546 .landing-kicker-v542 {
    margin: 0 auto !important;
    padding: .34rem .95rem !important;
    border-radius: 999px !important;
    background: rgba(26,17,10,.72) !important;
    border: 1px solid rgba(255,214,111,.36) !important;
    color: #ffe6a1 !important;
    font-size: clamp(.7rem, .9vw, .82rem) !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}
body.auth-body .landing-center-v546 .landing-intro-v542 h1 {
    margin: 0 !important;
    width: min(780px, 100%) !important;
    font-size: clamp(2.65rem, 5.05vw, 5rem) !important;
    line-height: .9 !important;
    letter-spacing: -.055em !important;
    color: #ffe08a !important;
    text-shadow: 0 8px 30px rgba(0,0,0,.66) !important;
}
body.auth-body .landing-center-v546 .landing-intro-v542 h1::first-line {
    color: #fff8e4 !important;
}
body.auth-body .landing-center-v546 .landing-intro-v542 p {
    margin: 0 !important;
    width: min(660px, 100%) !important;
    color: rgba(255,249,230,.93) !important;
    font-size: clamp(.95rem, 1.22vw, 1.08rem) !important;
    line-height: 1.38 !important;
}
body.auth-body .landing-login-cluster-v546 {
    position: relative !important;
    width: min(900px, calc(100vw - 34px)) !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-items: center !important;
    margin: clamp(.18rem, .75vh, .48rem) auto clamp(.2rem, .8vh, .55rem) !important;
}
body.auth-body .landing-login-cluster-v546 .landing-auth-card-v542 {
    width: min(520px, 100%) !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    text-align: left !important;
    z-index: 5 !important;
    border-radius: 23px !important;
    padding: clamp(1rem, 1.5vw, 1.32rem) !important;
    background: linear-gradient(145deg, rgba(44,28,17,.86), rgba(12,8,6,.92)) !important;
    border: 1px solid rgba(255,219,120,.42) !important;
    box-shadow: 0 22px 46px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.1) !important;
    backdrop-filter: blur(16px) saturate(1.1) !important;
}
body.auth-body .landing-login-cluster-v546 .landing-tramfluencer-badge-v542,
body.auth-body .landing-login-cluster-v546 .landing-tramfluencer-badge-side.landing-tramfluencer-badge-v542 {
    position: absolute !important;
    left: calc(50% + 278px) !important;
    top: 50% !important;
    width: clamp(135px, 10.5vw, 184px) !important;
    max-width: 184px !important;
    transform: translateY(-50%) rotate(2deg) !important;
    z-index: 4 !important;
    margin: 0 !important;
    display: block !important;
}
body.auth-body .landing-login-cluster-v546 .landing-tramfluencer-badge-v542 img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}
body.auth-body .landing-screens-v546 {
    width: min(980px, calc(100vw - 44px)) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(.6rem, 1.05vw, .9rem) !important;
    margin: 0 auto !important;
}
body.auth-body .landing-screens-v546 .landing-shot,
body.auth-body .landing-screens-v546 .landing-shot-main {
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.42) !important;
    border: 1px solid rgba(255,213,105,.34) !important;
}
body.auth-body .landing-screens-v546 .landing-shot span {
    font-size: clamp(.8rem, 1.05vw, 1rem) !important;
    line-height: 1.1 !important;
}
body.auth-body .landing-screens-v546 .landing-shot em {
    display: none !important;
}
body.auth-body .landing-footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 10px !important;
    width: auto !important;
    margin: 0 auto !important;
    z-index: 20 !important;
    justify-content: center !important;
    background: transparent !important;
}
@media (max-width: 980px) {
    body.auth-body .landing-auth-v546 {
        width: min(620px, calc(100vw - 20px)) !important;
        padding-bottom: 28px !important;
        align-items: start !important;
    }
    body.auth-body .landing-center-v546 .landing-intro-v542 h1 {
        font-size: clamp(2.15rem, 10vw, 3.8rem) !important;
    }
    body.auth-body .landing-login-cluster-v546 {
        width: min(540px, 100%) !important;
        gap: .65rem !important;
    }
    body.auth-body .landing-login-cluster-v546 .landing-tramfluencer-badge-v542,
    body.auth-body .landing-login-cluster-v546 .landing-tramfluencer-badge-side.landing-tramfluencer-badge-v542 {
        position: static !important;
        width: min(150px, 42vw) !important;
        transform: none !important;
        order: 2 !important;
    }
    body.auth-body .landing-screens-v546 {
        grid-template-columns: 1fr !important;
        width: min(540px, 100%) !important;
    }
    body.auth-body .landing-footer {
        position: static !important;
        padding: 12px 0 16px !important;
    }
}

body.game-body .phone-screen {
    overflow: hidden !important;
}
body.game-body #phoneHome.phone-view {
    height: calc(100% - 38px) !important;
    min-height: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    contain: layout paint !important;
}
body.game-body #phoneHome .phone-home-slider {
    position: relative !important;
    width: 100% !important;
    height: calc(100% - 48px) !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    overflow: hidden !important;
    transition: transform .28s cubic-bezier(.2,.75,.22,1) !important;
    will-change: transform !important;
    touch-action: pan-y !important;
}
body.game-body #phoneHome .phone-home-page,
body.game-body #phoneHome .phone-home-page.app-grid {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: 0 !important;
    gap: clamp(7px, 1.8cqh, 13px) clamp(8px, 2.5cqw, 16px) !important;
    padding: clamp(8px, 2cqh, 14px) clamp(9px, 2.5cqw, 15px) 4px !important;
    overflow: hidden !important;
    align-items: center !important;
    justify-items: center !important;
    align-content: stretch !important;
    justify-content: stretch !important;
}
body.game-body #phoneHome .app-icon,
body.game-body #phoneHome .phone-home-page .app-icon,
body.game-body #phoneHome .app-icon.has-app-badge {
    --tg-phone-icon-size: clamp(50px, min(17.8cqw, 10.8cqh), 72px) !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: clamp(3px, .75cqh, 6px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}
body.game-body #phoneHome .app-icon span,
body.game-body #phoneHome .phone-home-page .app-icon span {
    width: var(--tg-phone-icon-size) !important;
    height: var(--tg-phone-icon-size) !important;
    min-width: var(--tg-phone-icon-size) !important;
    min-height: var(--tg-phone-icon-size) !important;
    max-width: var(--tg-phone-icon-size) !important;
    max-height: var(--tg-phone-icon-size) !important;
    border-radius: clamp(15px, 4.6cqw, 22px) !important;
    overflow: hidden !important;
}
body.game-body #phoneHome .app-icon span img,
body.game-body #phoneHome .phone-home-page .app-icon span img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
body.game-body #phoneHome .app-icon b,
body.game-body #phoneHome .phone-home-page .app-icon b {
    position: static !important;
    transform: none !important;
    width: min(100%, 106px) !important;
    max-width: 106px !important;
    min-height: 1.05em !important;
    max-height: 2.1em !important;
    margin: 0 !important;
    padding: 0 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-align: center !important;
    font-size: clamp(.56rem, min(2.7cqw, 1.42cqh), .75rem) !important;
    line-height: 1.06 !important;
    text-shadow: 0 2px 7px #000 !important;
}
body.game-body #phoneHome .phone-home-nav {
    position: absolute !important;
    bottom: 8px !important;
    z-index: 60 !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
}
body.game-body #phoneHome .phone-home-nav-prev { left: 1rem !important; }
body.game-body #phoneHome .phone-home-nav-next { right: 1rem !important; }
body.game-body #phoneHome .phone-home-dots {
    position: absolute !important;
    left: 50% !important;
    bottom: 17px !important;
    transform: translateX(-50%) !important;
    z-index: 61 !important;
    display: flex !important;
}
body.game-body #phoneHome .phone-home-dots button {
    width: 7px !important;
    height: 7px !important;
    min-width: 7px !important;
    min-height: 7px !important;
    border-radius: 999px !important;
}
body.game-body #phoneHome .phone-home-dots button.active {
    width: 7px !important;
    background: #fff !important;
}
body.game-body .phone-view.app-view {
    height: calc(100% - 38px) !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}
@media (max-height: 720px) {
    body.game-body #phoneHome .app-icon,
    body.game-body #phoneHome .phone-home-page .app-icon,
    body.game-body #phoneHome .app-icon.has-app-badge {
        --tg-phone-icon-size: clamp(45px, min(16.8cqw, 9.8cqh), 64px) !important;
    }
    body.game-body #phoneHome .phone-home-slider {
        height: calc(100% - 42px) !important;
    }
    body.game-body #phoneHome .phone-home-page,
    body.game-body #phoneHome .phone-home-page.app-grid {
        gap: 6px 8px !important;
        padding-top: 6px !important;
    }
}
/* v5.46.1: Der Slider selbst darf nicht clippen, sonst verschwindet Seite 2 beim Wischen. */
body.game-body #phoneHome .phone-home-slider { overflow: visible !important; }


/* v5.47: Startseite neu geordnet und Smartphone-Homescreen sauber gekapselt */
body.auth-body .landing-auth-v547 {
    width: min(1280px, calc(100vw - 36px)) !important;
    min-height: calc(100dvh - 28px) !important;
    margin: 0 auto !important;
    padding: 18px 0 18px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
}
body.auth-body .landing-center-v547 {
    width: min(1120px, 100%) !important;
    display: grid !important;
    justify-items: center !important;
    align-content: start !important;
    gap: clamp(.5rem, 1.5vh, 1rem) !important;
    text-align: center !important;
}
body.auth-body .landing-center-v547 .landing-logo-v542 {
    width: clamp(150px, 13vw, 220px) !important;
    margin: 0 auto .15rem !important;
}
body.auth-body .landing-center-v547 .landing-intro-v542 {
    width: min(760px, 100%) !important;
    gap: .34rem !important;
}
body.auth-body .landing-center-v547 .landing-intro-v542 h1 {
    width: min(760px, 100%) !important;
    margin: 0 auto !important;
    font-size: clamp(2.5rem, 5vw, 4.85rem) !important;
    line-height: .92 !important;
    letter-spacing: -.055em !important;
}
body.auth-body .landing-center-v547 .landing-intro-v542 p {
    width: min(650px, 100%) !important;
    margin: 0 auto !important;
    font-size: clamp(.96rem, 1.2vw, 1.08rem) !important;
    line-height: 1.4 !important;
}
body.auth-body .landing-login-cluster-v547 {
    width: min(860px, 100%) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 520px) auto !important;
    justify-content: center !important;
    align-items: center !important;
    gap: clamp(.9rem, 2vw, 1.4rem) !important;
    margin: .2rem auto .35rem !important;
}
body.auth-body .landing-login-cluster-v547 .landing-auth-card-v542 {
    width: min(520px, 100%) !important;
    margin: 0 !important;
}
body.auth-body .landing-login-cluster-v547 .landing-tramfluencer-badge-v547,
body.auth-body .landing-login-cluster-v547 .landing-tramfluencer-badge-side.landing-tramfluencer-badge-v547 {
    position: static !important;
    width: clamp(120px, 11vw, 165px) !important;
    max-width: 165px !important;
    transform: none !important;
    justify-self: center !important;
    align-self: center !important;
    margin: 0 !important;
}
body.auth-body .landing-screens-v547 {
    width: min(1120px, 100%) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(.75rem, 1.2vw, 1rem) !important;
    margin: .15rem auto 0 !important;
}
body.auth-body .landing-screens-v547 .landing-shot,
body.auth-body .landing-screens-v547 .landing-shot-main {
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
}
body.auth-body .landing-screens-v547 .landing-shot span {
    font-size: clamp(.78rem, 1vw, .96rem) !important;
}
body.auth-body .landing-screens-v547 .landing-shot em { display: none !important; }
body.auth-body .landing-footer {
    position: static !important;
    width: min(1120px, calc(100vw - 36px)) !important;
    margin: 8px auto 0 !important;
    padding: 0 0 14px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    row-gap: .55rem !important;
}
@media (max-width: 980px) {
    body.auth-body .landing-auth-v547 {
        width: min(620px, calc(100vw - 20px)) !important;
        padding: 16px 0 10px !important;
    }
    body.auth-body .landing-center-v547 .landing-intro-v542 h1 {
        font-size: clamp(2.05rem, 10vw, 3.6rem) !important;
    }
    body.auth-body .landing-login-cluster-v547 {
        width: min(520px, 100%) !important;
        grid-template-columns: 1fr !important;
        gap: .8rem !important;
    }
    body.auth-body .landing-login-cluster-v547 .landing-tramfluencer-badge-v547,
    body.auth-body .landing-login-cluster-v547 .landing-tramfluencer-badge-side.landing-tramfluencer-badge-v547 {
        width: min(150px, 40vw) !important;
        order: 2 !important;
    }
    body.auth-body .landing-screens-v547 {
        grid-template-columns: 1fr !important;
        width: min(520px, 100%) !important;
    }
}

body.game-body .phone-screen {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}
body.game-body .phone-status {
    flex: 0 0 auto !important;
}
body.game-body .phone-screen > .phone-view {
    flex: 1 1 auto !important;
    min-height: 0 !important;
}
body.game-body .phone-screen > .phone-view.hidden {
    display: none !important;
}
body.game-body #phoneHome.phone-view {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    height: auto !important;
    padding: 0 !important;
}
body.game-body #phoneHome .phone-home-slider {
    width: 100% !important;
    height: calc(100% - 46px) !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    overflow: hidden !important;
    will-change: transform !important;
}
body.game-body #phoneHome .phone-home-page,
body.game-body #phoneHome .phone-home-page.app-grid {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--phone-page-rows, 2), minmax(0, 1fr)) !important;
    align-content: start !important;
    align-items: start !important;
    justify-items: center !important;
    gap: clamp(8px, 1.7cqh, 14px) clamp(8px, 2.2cqw, 16px) !important;
    padding: clamp(8px, 1.8cqh, 12px) clamp(8px, 2.4cqw, 14px) 42px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
body.game-body #phoneHome .app-icon,
body.game-body #phoneHome .phone-home-page .app-icon,
body.game-body #phoneHome .app-icon.has-app-badge {
    --tg-phone-icon-size: clamp(52px, min(18cqw, 10cqh), 74px) !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 6px !important;
}
body.game-body #phoneHome .app-icon b,
body.game-body #phoneHome .phone-home-page .app-icon b {
    width: min(100%, 100px) !important;
    font-size: clamp(.58rem, min(2.75cqw, 1.42cqh), .76rem) !important;
    line-height: 1.08 !important;
}
body.game-body #phoneHome .phone-home-nav {
    bottom: 10px !important;
    z-index: 60 !important;
}
body.game-body #phoneHome .phone-home-dots {
    bottom: 18px !important;
    z-index: 61 !important;
}
body.game-body #phoneHome .phone-home-slider.no-anim {
    transition: none !important;
}
@media (max-height: 720px) {
    body.game-body #phoneHome .app-icon,
    body.game-body #phoneHome .phone-home-page .app-icon,
    body.game-body #phoneHome .app-icon.has-app-badge {
        --tg-phone-icon-size: clamp(46px, min(16.8cqw, 9.4cqh), 64px) !important;
    }
    body.game-body #phoneHome .phone-home-page,
    body.game-body #phoneHome .phone-home-page.app-grid {
        gap: 6px 8px !important;
        padding: 6px 8px 40px !important;
    }
}


/* v5.48: Startseite wirklich neu sortiert + Smartphone zeigt wieder volle App-Seiten */
html body.auth-body {
    min-height: 100svh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
html body.auth-body #authWrap.landing-auth-v548 {
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: clamp(20px, 3vh, 36px) clamp(18px, 3vw, 44px) 10px !important;
    display: block !important;
}
html body.auth-body .landing-center-v548 {
    width: min(1180px, 100%) !important;
    min-height: auto !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-items: start !important;
    align-content: start !important;
    gap: clamp(10px, 1.5vh, 18px) !important;
    text-align: center !important;
}
html body.auth-body .landing-center-v548 .landing-logo-v542 {
    width: clamp(150px, 14vw, 230px) !important;
    max-height: 132px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
    filter: drop-shadow(0 16px 26px rgba(0,0,0,.58)) !important;
}
html body.auth-body .landing-center-v548 .landing-intro-v542 {
    width: min(790px, 100%) !important;
    margin: 0 auto !important;
    display: grid !important;
    justify-items: center !important;
    gap: 6px !important;
}
html body.auth-body .landing-center-v548 .landing-kicker-v542 {
    display: inline-flex !important;
    margin: 0 auto !important;
    padding: .34rem .92rem !important;
    border-radius: 999px !important;
    background: rgba(38,24,14,.78) !important;
    border: 1px solid rgba(255,213,104,.42) !important;
    color: #ffe49d !important;
    font-size: clamp(.68rem, .85vw, .82rem) !important;
    font-weight: 1000 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}
html body.auth-body .landing-center-v548 .landing-intro-v542 h1 {
    width: min(790px, 100%) !important;
    margin: 0 auto !important;
    font-size: clamp(2.45rem, 5.05vw, 4.95rem) !important;
    line-height: .92 !important;
    letter-spacing: -.055em !important;
    text-align: center !important;
    text-wrap: balance !important;
    color: #ffe08b !important;
    text-shadow: 0 8px 30px rgba(0,0,0,.72) !important;
}
html body.auth-body .landing-center-v548 .landing-intro-v542 h1::first-line { color: #fff8e6 !important; }
html body.auth-body .landing-center-v548 .landing-intro-v542 p {
    width: min(650px, 100%) !important;
    margin: 0 auto !important;
    color: rgba(255,249,232,.95) !important;
    font-size: clamp(.94rem, 1.2vw, 1.08rem) !important;
    line-height: 1.42 !important;
    text-shadow: 0 3px 16px rgba(0,0,0,.72) !important;
}
html body.auth-body .landing-login-cluster-v548 {
    width: min(820px, 100%) !important;
    margin: clamp(2px, .6vh, 8px) auto clamp(6px, 1vh, 12px) !important;
    display: grid !important;
    grid-template-columns: minmax(320px, 520px) minmax(112px, 156px) !important;
    justify-content: center !important;
    justify-items: center !important;
    align-items: center !important;
    gap: clamp(14px, 2vw, 24px) !important;
    position: relative !important;
}
html body.auth-body .landing-login-cluster-v548 .landing-auth-card-v542 {
    width: min(520px, 100%) !important;
    max-width: 520px !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 2 !important;
    text-align: left !important;
    border-radius: 24px !important;
    padding: clamp(1rem, 1.45vw, 1.3rem) !important;
    background: linear-gradient(145deg, rgba(46,29,17,.88), rgba(13,8,6,.94)) !important;
    border: 1px solid rgba(255,220,122,.46) !important;
    box-shadow: 0 24px 52px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.1) !important;
    backdrop-filter: blur(16px) saturate(1.1) !important;
}
html body.auth-body .landing-login-cluster-v548 .landing-tramfluencer-badge-v548,
html body.auth-body .landing-login-cluster-v548 .landing-tramfluencer-badge-side.landing-tramfluencer-badge-v548 {
    position: static !important;
    width: clamp(115px, 10.5vw, 156px) !important;
    max-width: 156px !important;
    margin: 0 !important;
    transform: none !important;
    justify-self: center !important;
    align-self: center !important;
    display: block !important;
    z-index: 1 !important;
}
html body.auth-body .landing-login-cluster-v548 .landing-tramfluencer-badge-v548 img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
    filter: drop-shadow(0 16px 28px rgba(0,0,0,.54)) !important;
}
html body.auth-body .landing-screens-v548 {
    width: min(1080px, 100%) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(10px, 1.25vw, 16px) !important;
}
html body.auth-body .landing-screens-v548 .landing-shot,
html body.auth-body .landing-screens-v548 .landing-shot-main {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,212,104,.36) !important;
    box-shadow: 0 16px 36px rgba(0,0,0,.42) !important;
}
html body.auth-body .landing-screens-v548 .landing-shot span {
    font-size: clamp(.76rem, .95vw, .95rem) !important;
    line-height: 1.12 !important;
}
html body.auth-body .landing-screens-v548 .landing-shot em { display: none !important; }
html body.auth-body .landing-footer {
    position: static !important;
    width: min(1080px, calc(100vw - 36px)) !important;
    margin: 8px auto 0 !important;
    padding: 0 0 16px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: .55rem .9rem !important;
    background: transparent !important;
    z-index: 2 !important;
}
@media (max-width: 980px) {
    html body.auth-body #authWrap.landing-auth-v548 {
        padding: 16px 14px 8px !important;
    }
    html body.auth-body .landing-login-cluster-v548 {
        width: min(540px, 100%) !important;
        grid-template-columns: 1fr !important;
        gap: .8rem !important;
    }
    html body.auth-body .landing-login-cluster-v548 .landing-tramfluencer-badge-v548,
    html body.auth-body .landing-login-cluster-v548 .landing-tramfluencer-badge-side.landing-tramfluencer-badge-v548 {
        width: min(145px, 40vw) !important;
        order: 2 !important;
    }
    html body.auth-body .landing-screens-v548 {
        width: min(540px, 100%) !important;
        grid-template-columns: 1fr !important;
    }
}

html body.game-body .phone-screen {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}
html body.game-body .phone-status { flex: 0 0 auto !important; }
html body.game-body .phone-screen > .phone-view { flex: 1 1 auto !important; min-height: 0 !important; }
html body.game-body .phone-screen > .phone-view.hidden { display: none !important; }
html body.game-body #phoneHome.phone-view {
    display: block !important;
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    contain: layout paint !important;
}
html body.game-body #phoneHome .phone-home-slider {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    overflow: hidden !important;
    transition: transform .28s cubic-bezier(.2,.75,.22,1) !important;
    will-change: transform !important;
}
html body.game-body #phoneHome .phone-home-slider.no-anim { transition: none !important; }
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: 0 !important;
    gap: clamp(7px, 1.45cqh, 12px) clamp(8px, 2.3cqw, 15px) !important;
    padding: clamp(8px, 1.5cqh, 12px) clamp(8px, 2.3cqw, 14px) 48px !important;
    overflow: hidden !important;
    align-items: start !important;
    justify-items: center !important;
    align-content: stretch !important;
    justify-content: stretch !important;
}
html body.game-body #phoneHome .app-icon,
html body.game-body #phoneHome .phone-home-page .app-icon,
html body.game-body #phoneHome .app-icon.has-app-badge {
    --tg-phone-icon-size: clamp(46px, min(16.4cqw, 8.7cqh), 68px) !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(3px, .62cqh, 5px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}
html body.game-body #phoneHome .app-icon span,
html body.game-body #phoneHome .phone-home-page .app-icon span {
    width: var(--tg-phone-icon-size) !important;
    height: var(--tg-phone-icon-size) !important;
    min-width: var(--tg-phone-icon-size) !important;
    min-height: var(--tg-phone-icon-size) !important;
    max-width: var(--tg-phone-icon-size) !important;
    max-height: var(--tg-phone-icon-size) !important;
    border-radius: clamp(14px, 4.2cqw, 21px) !important;
    overflow: hidden !important;
}
html body.game-body #phoneHome .app-icon span img,
html body.game-body #phoneHome .phone-home-page .app-icon span img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
html body.game-body #phoneHome .app-icon b,
html body.game-body #phoneHome .phone-home-page .app-icon b {
    width: min(100%, 104px) !important;
    max-width: 104px !important;
    min-height: 1.04em !important;
    max-height: 2.08em !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-align: center !important;
    font-size: clamp(.54rem, min(2.55cqw, 1.25cqh), .72rem) !important;
    line-height: 1.06 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    text-shadow: 0 2px 7px #000 !important;
}
html body.game-body #phoneHome .phone-home-nav {
    position: absolute !important;
    bottom: 9px !important;
    z-index: 70 !important;
    width: 32px !important;
    height: 32px !important;
    display: grid !important;
    place-items: center !important;
}
html body.game-body #phoneHome .phone-home-dots {
    position: absolute !important;
    left: 50% !important;
    bottom: 18px !important;
    transform: translateX(-50%) !important;
    z-index: 71 !important;
}
@media (max-height: 720px) {
    html body.game-body #phoneHome .app-icon,
    html body.game-body #phoneHome .phone-home-page .app-icon,
    html body.game-body #phoneHome .app-icon.has-app-badge {
        --tg-phone-icon-size: clamp(42px, min(15.2cqw, 7.7cqh), 60px) !important;
    }
    html body.game-body #phoneHome .phone-home-page,
    html body.game-body #phoneHome .phone-home-page.app-grid {
        gap: 5px 7px !important;
        padding: 5px 8px 44px !important;
    }
}


/* v5.49: Screenshot-Reihe fix und Smartphone-Apps vollständig sichtbar */
html body.auth-body .landing-auth-v549 {
    width: min(1240px, calc(100vw - 36px)) !important;
    margin: 0 auto !important;
    padding: 18px 0 12px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    min-height: auto !important;
}
html body.auth-body .landing-center-v549 {
    width: min(1100px, 100%) !important;
    max-width: 1100px !important;
    display: grid !important;
    justify-items: center !important;
    gap: clamp(.45rem, 1.2vh, .85rem) !important;
}
html body.auth-body .landing-screens-v549 {
    width: min(1020px, 100%) !important;
    max-width: 1020px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
    justify-content: center !important;
    margin: 8px auto 0 !important;
    overflow: visible !important;
}
html body.auth-body .landing-screens-v549 .landing-shot,
html body.auth-body .landing-screens-v549 .landing-shot-main {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    max-height: none !important;
    grid-row: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 16px !important;
}
html body.auth-body .landing-screens-v549 .landing-shot img,
html body.auth-body .landing-screens-v549 .landing-shot-main img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
    filter: saturate(1.02) contrast(1.02) brightness(.9) !important;
}
html body.auth-body .landing-screens-v549 .landing-shot span {
    max-width: calc(100% - 18px) !important;
    width: auto !important;
    font-size: clamp(.68rem, .82vw, .82rem) !important;
    line-height: 1.08 !important;
    padding: .28rem .44rem !important;
    bottom: .45rem !important;
    left: .45rem !important;
    right: auto !important;
    white-space: normal !important;
}
html body.auth-body .landing-screens-v549 .landing-shot em { display: none !important; }
html body.auth-body .landing-footer {
    position: static !important;
    width: min(1020px, calc(100vw - 36px)) !important;
    margin: 8px auto 0 !important;
    padding: 0 0 12px !important;
}
@media (max-width: 820px) {
    html body.auth-body .landing-screens-v549 {
        width: min(520px, 100%) !important;
        grid-template-columns: 1fr !important;
    }
}

html body.game-body #phoneHome.phone-view {
    --phone-page-rows: 3 !important;
    display: block !important;
    overflow: hidden !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
}
html body.game-body #phoneHome .phone-home-slider {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: stretch !important;
}
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: 0 !important;
    gap: clamp(6px, 1.25cqh, 11px) clamp(7px, 2cqw, 14px) !important;
    padding: clamp(5px, 1.15cqh, 10px) clamp(7px, 2.1cqw, 13px) 44px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    align-items: center !important;
    justify-items: center !important;
    align-content: stretch !important;
    justify-content: stretch !important;
}
html body.game-body #phoneHome .app-icon,
html body.game-body #phoneHome .phone-home-page .app-icon,
html body.game-body #phoneHome .app-icon.has-app-badge {
    --tg-phone-icon-size: clamp(42px, min(15.6cqw, 8.2cqh), 64px) !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}
html body.game-body #phoneHome .app-icon span,
html body.game-body #phoneHome .phone-home-page .app-icon span {
    width: var(--tg-phone-icon-size) !important;
    height: var(--tg-phone-icon-size) !important;
    min-width: var(--tg-phone-icon-size) !important;
    min-height: var(--tg-phone-icon-size) !important;
    max-width: var(--tg-phone-icon-size) !important;
    max-height: var(--tg-phone-icon-size) !important;
}
html body.game-body #phoneHome .app-icon b,
html body.game-body #phoneHome .phone-home-page .app-icon b {
    width: min(100%, 96px) !important;
    max-height: 2.15em !important;
    font-size: clamp(.52rem, min(2.45cqw, 1.18cqh), .7rem) !important;
    line-height: 1.05 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-align: center !important;
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body.game-body #phoneHome .phone-home-dots { bottom: 18px !important; }
html body.game-body #phoneHome .phone-home-nav { bottom: 9px !important; }


/* v5.50: Smartphone-Seite 2 sichtbar machen.
   Der Slider selbst darf seine zweite Seite NICHT clippen. Das Clipping übernimmt #phoneHome. */
html body.game-body #phoneHome.phone-view {
    overflow: hidden !important;
}
html body.game-body #phoneHome .phone-home-slider {
    overflow: visible !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    transform-style: flat !important;
    contain: none !important;
}
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
html body.game-body #phoneHome .phone-home-page[data-home-page="1"] {
    display: grid !important;
}

/* v5.51: Smartphone-App-Layer, Kontakte-Profil und Social-Aktionen repariert */
html body.game-body .phone-screen > .phone-view.hidden,
html body.game-body #phoneHome.phone-view.hidden,
html body.game-body .phone-view.app-view.hidden {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
html body.game-body .phone-screen.phone-app-open #phoneHome.phone-view {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
html body.game-body .phone-screen.phone-app-open .phone-view.app-view:not(.hidden) {
    display: block !important;
    position: relative !important;
    z-index: 20 !important;
    background:
        radial-gradient(circle at 50% -12%, rgba(255,223,143,.10), transparent 38%),
        linear-gradient(180deg, rgba(13,10,12,.88), rgba(8,6,7,.94)) !important;
    border-radius: 0 0 28px 28px !important;
}
html body.game-body .phone-screen.phone-app-open .app-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 30 !important;
    padding-top: .15rem !important;
    padding-bottom: .55rem !important;
    background: linear-gradient(180deg, rgba(15,10,9,.94), rgba(15,10,9,.74) 75%, rgba(15,10,9,0)) !important;
    backdrop-filter: blur(10px) !important;
}
html body.game-body .friends-view,
html body.game-body .social-chat-view,
html body.game-body #appFriends,
html body.game-body #appChat {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
}
html body.game-body .contact-profile-card {
    padding: .68rem !important;
    max-height: none !important;
    overflow: visible !important;
}
html body.game-body .contact-profile-head {
    gap: .45rem !important;
    align-items: flex-start !important;
}
html body.game-body .contact-profile-head strong {
    font-size: .95rem !important;
    line-height: 1.05 !important;
}
html body.game-body .contact-profile-head small {
    font-size: .72rem !important;
    line-height: 1.15 !important;
}
html body.game-body .contact-profile-status {
    margin: .45rem 0 .35rem !important;
    font-size: .78rem !important;
    line-height: 1.22 !important;
}
html body.game-body .contact-profile-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .38rem !important;
    margin: .35rem 0 .55rem !important;
}
html body.game-body .contact-profile-actions .button,
html body.game-body .contact-profile-actions button {
    flex: 1 1 140px !important;
    min-height: 32px !important;
    padding: .42rem .55rem !important;
    font-size: .72rem !important;
    line-height: 1.05 !important;
}
html body.game-body .contact-profile-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .34rem !important;
    margin: .35rem 0 0 !important;
}
html body.game-body .contact-profile-stats span {
    padding: .38rem .46rem !important;
    min-height: 0 !important;
}
html body.game-body .contact-profile-stats b {
    font-size: .84rem !important;
    line-height: 1.05 !important;
}
html body.game-body .contact-profile-stats small {
    font-size: .6rem !important;
    line-height: 1.05 !important;
}
html body.game-body .contacts-shell {
    padding-bottom: 1rem !important;
}

/* v5.52: Leitstellenlayout, Chat-UX und stabiles Spieler-Postfach */
@media (min-width: 1181px) {
    body.game-body .dashboard-shell {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 390px) !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        column-gap: .68rem !important;
        row-gap: .62rem !important;
        align-items: stretch !important;
    }
    body.game-body .game-topbar {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
    }
    body.game-body .playfield {
        display: contents !important;
    }
    body.game-body .map-panel.game-map-panel.monitor-map-panel {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 100% !important;
    }
    body.game-body .smartphone-wrap {
        grid-column: 2 !important;
        grid-row: 2 / 4 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        align-self: stretch !important;
        display: grid !important;
        place-items: stretch center !important;
    }
    body.game-body .phone-frame {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        width: min(100%, 390px) !important;
        align-self: stretch !important;
    }
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        grid-column: 1 !important;
        grid-row: 3 !important;
        width: 100% !important;
        margin: 0 !important;
        min-height: 190px !important;
        max-height: 245px !important;
        overflow: hidden !important;
    }
    body.game-body #taxiList.paged-fleet,
    body.game-body .paged-fleet#taxiList {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        --fleet-visible-count: 3;
    }
}

body.game-body #chatApp.phone-list {
    padding: 0 !important;
}
body.game-body .chat-shell-v552 {
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 12% 0%, rgba(66,180,255,.13), transparent 30%),
        linear-gradient(180deg, rgba(17,18,24,.82), rgba(7,8,10,.96)) !important;
}
body.game-body .chat-room-head {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .5rem !important;
    padding: .55rem .65rem !important;
    border-bottom: 1px solid rgba(255,218,122,.16) !important;
    background: linear-gradient(180deg, rgba(37,27,18,.92), rgba(15,12,10,.86)) !important;
}
body.game-body .chat-room-head strong {
    display: block !important;
    color: #fff0b4 !important;
    font-size: .88rem !important;
    line-height: 1.05 !important;
}
body.game-body .chat-room-head span {
    display: block !important;
    color: rgba(255,238,190,.6) !important;
    font-size: .66rem !important;
    margin-top: .08rem !important;
}
body.game-body .chat-room-head button {
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,218,122,.25) !important;
    background: rgba(0,0,0,.28) !important;
    color: #ffe99d !important;
    cursor: pointer !important;
}
body.game-body .chat-feed {
    padding: .7rem .55rem .7rem !important;
    gap: .5rem !important;
    scroll-behavior: smooth !important;
}
body.game-body .chat-message {
    max-width: 86% !important;
    padding: .52rem .64rem .48rem !important;
    border-radius: 17px 17px 17px 6px !important;
}
body.game-body .chat-message.is-own {
    border-radius: 17px 17px 6px 17px !important;
}
body.game-body .chat-message-meta .chat-author {
    max-width: 120px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
body.game-body .chat-composer {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 4 !important;
    padding: .42rem .5rem .58rem !important;
}
body.game-body .chat-input-row textarea {
    min-height: 40px !important;
    line-height: 1.25 !important;
    font-size: .82rem !important;
}

body.game-body .mail-shell-v552 {
    display: grid !important;
    gap: .65rem !important;
    padding-bottom: .75rem !important;
}
body.game-body .mail-compose-mini-v552 {
    display: grid !important;
    gap: .42rem !important;
    margin-top: .52rem !important;
}
body.game-body .mail-compose-mini-v552 .mail-compose-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .42rem !important;
}
body.game-body .mail-compose-mini-v552 input,
body.game-body .mail-compose-mini-v552 textarea {
    margin: 0 !important;
}
body.game-body #playerMailList.player-mail-list {
    margin-top: .6rem !important;
    display: grid !important;
    gap: .42rem !important;
    max-height: 210px !important;
    overflow-y: auto !important;
    padding-right: .1rem !important;
}
body.game-body .player-mail-row {
    border-radius: 14px !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,218,122,.15) !important;
    padding: .5rem .58rem !important;
}
@media (max-width: 520px) {
    body.game-body .mail-compose-mini-v552 .mail-compose-row { grid-template-columns: 1fr !important; }
}


/* v5.53: E-Mail-Sound, höhere Taxameter-Leiste und Chat-Eingabe sofort sichtbar */
@media (min-width: 1181px) {
    body.game-body .dashboard-shell {
        grid-template-rows: auto minmax(260px, .72fr) minmax(255px, 34vh) !important;
    }
    body.game-body .map-panel.game-map-panel.monitor-map-panel {
        min-height: 260px !important;
    }
    body.game-body .taximeter-bar.compact-meter,
    body.game-body .compact-meter.taximeter-bar {
        min-height: 255px !important;
        max-height: 34vh !important;
        padding: .82rem .9rem .9rem !important;
    }
    body.game-body .taximeter-bar.compact-meter > .fleet-wrap,
    body.game-body .compact-meter.taximeter-bar > .fleet-wrap {
        min-height: 0 !important;
        height: 100% !important;
    }
    body.game-body #taxiList.paged-fleet,
    body.game-body .paged-fleet#taxiList {
        height: calc(100% - 46px) !important;
        align-items: stretch !important;
    }
}

body.game-body #appChat.phone-view.app-view {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
}
body.game-body #appChat.phone-view.app-view.hidden { display: none !important; }
body.game-body #appChat .app-header {
    flex: 0 0 auto !important;
}
body.game-body #chatApp.phone-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
}
body.game-body .chat-shell-v552,
body.game-body .chat-shell-v553 {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}
body.game-body .chat-feed {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
}
body.game-body .chat-composer {
    flex: 0 0 auto !important;
    position: relative !important;
    bottom: auto !important;
}

body.game-body .player-mail-actions-v553 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    gap: .42rem !important;
}
body.game-body .player-mail-actions-v553 .button.ghost {
    min-width: 42px !important;
    padding: .45rem .5rem !important;
}
body.game-body #appMail.phone-view.app-view {
    overflow-y: auto !important;
}
body.game-body .mail-player-card {
    overflow: visible !important;
}
body.game-body #playerMailSection {
    contain: none !important;
}


/* v5.54: Freundes-E-Mail, 4 App-Reihen auf hohen PC-Screens, transparente Apps und schmalere Topbar */
@media (min-width: 1181px) {
    body.game-body .dashboard-shell {
        grid-template-rows: 82px minmax(220px, .72fr) minmax(255px, 34vh) !important;
        gap: .48rem !important;
        padding: .48rem !important;
    }
    body.game-body .game-topbar {
        height: 74px !important;
        min-height: 0 !important;
        max-height: 74px !important;
        padding: .32rem .48rem !important;
        border-radius: 19px !important;
        align-items: center !important;
        overflow: visible !important;
    }
    body.game-body .game-logo {
        min-width: 122px !important;
        max-width: 132px !important;
        padding: .18rem .42rem !important;
    }
    body.game-body .game-logo img,
    body.game-body .image-logo img {
        max-height: 45px !important;
        width: auto !important;
    }
    body.game-body .level-star {
        width: 44px !important;
        height: 44px !important;
        font-size: 1.08rem !important;
    }
    body.game-body .xp-widget {
        min-height: 46px !important;
        min-width: 330px !important;
        padding: .25rem .45rem !important;
    }
    body.game-body .resource-pill,
    body.game-body .reputation-top,
    body.game-body .top-menu-button,
    body.game-body .icon-button {
        min-height: 46px !important;
        height: 46px !important;
    }
    body.game-body .icon-button {
        width: 46px !important;
    }
    body.game-body .top-resources {
        gap: .42rem !important;
        align-items: center !important;
    }
}

html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    grid-template-rows: repeat(var(--phone-page-rows, 3), minmax(0, 1fr)) !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 4"] .app-icon,
html body.game-body #phoneHome[style*="--phone-page-rows:4"] .app-icon {
    --tg-phone-icon-size: clamp(38px, min(13.8cqw, 7.2cqh), 58px) !important;
}

html body.game-body .phone-screen.phone-app-open .phone-view.app-view:not(.hidden):not(#appChat) {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body.game-body .phone-screen.phone-app-open .phone-view.app-view:not(.hidden):not(#appChat) .app-header {
    background: linear-gradient(180deg, rgba(15,10,9,.78), rgba(15,10,9,.38) 76%, rgba(15,10,9,0)) !important;
}

body.game-body .mail-recipient-wrap {
    display: grid !important;
    gap: .18rem !important;
    min-width: 0 !important;
}
body.game-body .mail-recipient-wrap small {
    color: rgba(255,238,190,.58) !important;
    font-size: .64rem !important;
    line-height: 1.1 !important;
}

/* v5.55: Leitstellenbereich nutzt die volle Hoehe, Smartphone bis unten und Zentrale ueber Level */
body.game-body .xp-widget-v555 {
    position: relative !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: .62rem !important;
    row-gap: .08rem !important;
    align-items: center !important;
}
body.game-body .xp-widget-v555 .top-company-title {
    grid-column: 1 / -1 !important;
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #ffe6a1 !important;
    font-size: .68rem !important;
    font-weight: 1000 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    text-shadow: 0 2px 6px rgba(0,0,0,.65) !important;
}
body.game-body .xp-widget-v555 .level-star { grid-column: 1 !important; grid-row: 2 !important; }
body.game-body .xp-widget-v555 .xp-bar { grid-column: 2 !important; grid-row: 2 !important; }

@media (min-width: 1181px) {
    body.game-body .dashboard-shell {
        grid-template-rows: 74px minmax(0, 1fr) !important;
        gap: .58rem !important;
        padding: .48rem !important;
        overflow: hidden !important;
        align-content: stretch !important;
    }
    body.game-body .game-topbar {
        height: 74px !important;
        min-height: 74px !important;
        max-height: 74px !important;
        padding: .32rem .5rem !important;
        align-items: center !important;
    }
    body.game-body .playfield.playfield-v555,
    body.game-body .playfield {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(350px, 398px) !important;
        grid-template-rows: minmax(0, 1fr) !important;
        gap: .62rem !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        align-items: stretch !important;
    }
    body.game-body .monitor-left-stack {
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-rows: minmax(300px, 1fr) clamp(292px, 36vh, 350px) !important;
        gap: .62rem !important;
        overflow: hidden !important;
    }
    body.game-body .monitor-left-stack > .map-panel.game-map-panel.monitor-map-panel {
        min-height: 0 !important;
        height: 100% !important;
        margin: 0 !important;
    }
    body.game-body .monitor-left-stack > .taximeter-bar.compact-meter,
    body.game-body .monitor-left-stack > .compact-meter.taximeter-bar {
        width: 100% !important;
        height: 100% !important;
        min-height: 292px !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 2.05rem .82rem .76rem !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    body.game-body .monitor-left-stack #taxiList.paged-fleet,
    body.game-body .monitor-left-stack .paged-fleet#taxiList {
        height: calc(100% - 44px) !important;
        min-height: 0 !important;
    }
    body.game-body .playfield-v555 > .smartphone-wrap,
    body.game-body .smartphone-wrap {
        height: 100% !important;
        min-height: 0 !important;
        align-self: stretch !important;
        display: grid !important;
        place-items: stretch center !important;
        overflow: hidden !important;
    }
    body.game-body .playfield-v555 .phone-frame,
    body.game-body .phone-frame {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        width: min(100%, 398px) !important;
        align-self: stretch !important;
    }
    body.game-body .phone-screen {
        height: 100% !important;
        min-height: 0 !important;
    }
}

@media (max-width: 1180px) {
    body.game-body .monitor-left-stack {
        display: grid !important;
        gap: .62rem !important;
        min-height: 0 !important;
    }
}


/* v5.56: Dashboard-Layout nach v5.55 repariert — kein Leerraum, Karte/Taxameter/Smartphone sauber eingepasst */
@media (min-width: 1181px) {
    html body.game-body #game,
    html body.game-body .dashboard-shell {
        height: 100vh !important;
        max-height: 100vh !important;
        overflow: hidden !important;
    }
    html body.game-body .dashboard-shell {
        position: relative !important;
        display: block !important;
        width: calc(100vw - 18px) !important;
        margin: 9px auto !important;
        padding: .48rem !important;
        box-sizing: border-box !important;
    }
    html body.game-body .game-topbar {
        position: relative !important;
        z-index: 20 !important;
        height: 74px !important;
        min-height: 74px !important;
        max-height: 74px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }
    html body.game-body .playfield.playfield-v555,
    html body.game-body .playfield {
        position: absolute !important;
        z-index: 5 !important;
        left: .48rem !important;
        right: .48rem !important;
        top: calc(.48rem + 74px + .58rem) !important;
        bottom: .48rem !important;
        height: auto !important;
        min-height: 0 !important;
        width: auto !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(360px, 410px) !important;
        grid-template-rows: minmax(0, 1fr) !important;
        gap: .66rem !important;
        align-items: stretch !important;
        justify-items: stretch !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body.game-body .monitor-left-stack {
        grid-column: 1 !important;
        grid-row: 1 !important;
        height: 100% !important;
        min-height: 0 !important;
        width: 100% !important;
        display: grid !important;
        grid-template-rows: minmax(280px, 1fr) clamp(292px, 34vh, 350px) !important;
        gap: .66rem !important;
        overflow: hidden !important;
        align-items: stretch !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body.game-body .monitor-left-stack > .map-panel.game-map-panel.monitor-map-panel,
    html body.game-body .map-panel.game-map-panel.monitor-map-panel {
        grid-row: 1 !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        width: 100% !important;
        margin: 0 !important;
        overflow: hidden !important;
    }
    html body.game-body .monitor-left-stack .monitor-screen,
    html body.game-body .monitor-left-stack #map,
    html body.game-body .map-panel.game-map-panel.monitor-map-panel .monitor-screen,
    html body.game-body .map-panel.game-map-panel.monitor-map-panel #map {
        height: 100% !important;
        min-height: 0 !important;
    }
    html body.game-body .monitor-left-stack > .taximeter-bar.compact-meter,
    html body.game-body .monitor-left-stack > .compact-meter.taximeter-bar,
    html body.game-body .taximeter-bar.compact-meter,
    html body.game-body .compact-meter.taximeter-bar {
        grid-row: 2 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 292px !important;
        max-height: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    html body.game-body .monitor-left-stack .fleet-wrap {
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }
    html body.game-body .monitor-left-stack #taxiList.paged-fleet,
    html body.game-body .monitor-left-stack .paged-fleet#taxiList,
    html body.game-body #taxiList.paged-fleet,
    html body.game-body .paged-fleet#taxiList {
        height: calc(100% - 46px) !important;
        min-height: 0 !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        --fleet-visible-count: 3;
    }
    html body.game-body .playfield-v555 > .smartphone-wrap,
    html body.game-body .smartphone-wrap {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        align-self: stretch !important;
        justify-self: stretch !important;
        display: grid !important;
        place-items: stretch center !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body.game-body .playfield-v555 .phone-frame,
    html body.game-body .phone-frame {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        width: min(100%, 410px) !important;
        align-self: stretch !important;
        justify-self: center !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }
    html body.game-body .phone-screen {
        height: 100% !important;
        min-height: 0 !important;
        box-sizing: border-box !important;
    }
}
@media (min-width: 1181px) and (max-height: 760px) {
    html body.game-body .monitor-left-stack {
        grid-template-rows: minmax(245px, 1fr) clamp(250px, 34vh, 305px) !important;
    }
    html body.game-body .monitor-left-stack > .taximeter-bar.compact-meter,
    html body.game-body .monitor-left-stack > .compact-meter.taximeter-bar,
    html body.game-body .taximeter-bar.compact-meter,
    html body.game-body .compact-meter.taximeter-bar {
        min-height: 250px !important;
    }
}


/* v5.57: Smartphone-App-Verteilung beruhigt */
html body.game-body #phoneHome {
    --phone-page-rows: 3;
}
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    align-content: start !important;
    grid-template-rows: repeat(var(--phone-page-rows, 3), minmax(0, auto)) !important;
    row-gap: clamp(18px, 3.2cqh, 34px) !important;
    column-gap: clamp(12px, 3.1cqw, 22px) !important;
    padding-top: clamp(18px, 3.4cqh, 36px) !important;
    padding-bottom: 66px !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon {
    align-self: start !important;
    justify-self: center !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 5"] .phone-home-page,
html body.game-body #phoneHome[style*="--phone-page-rows:5"] .phone-home-page,
html body.game-body #phoneHome[style*="--phone-page-rows: 5"] .phone-home-page.app-grid,
html body.game-body #phoneHome[style*="--phone-page-rows:5"] .phone-home-page.app-grid {
    grid-template-rows: repeat(5, minmax(0, auto)) !important;
    row-gap: clamp(12px, 2.15cqh, 22px) !important;
    padding-top: clamp(12px, 2.3cqh, 26px) !important;
    padding-bottom: 42px !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 5"] .app-icon,
html body.game-body #phoneHome[style*="--phone-page-rows:5"] .app-icon {
    --tg-phone-icon-size: clamp(48px, min(16cqw, 8.4cqh), 68px) !important;
}
html body.game-body #phoneHome.phone-home-single-page .phone-home-nav,
html body.game-body #phoneHome.phone-home-single-page .phone-home-dots {
    display: none !important;
}
@media (max-height: 720px) {
    html body.game-body #phoneHome .phone-home-page,
    html body.game-body #phoneHome .phone-home-page.app-grid {
        row-gap: 10px !important;
        padding-top: 8px !important;
        padding-bottom: 48px !important;
    }
}


/* v5.58: Smartphone-Homescreen bewusst auf 4 Reihen in großen PC-Ansichten und ca. 10% größere Icons */
html body.game-body #phoneHome[style*="--phone-page-rows: 4"] .phone-home-page,
html body.game-body #phoneHome[style*="--phone-page-rows:4"] .phone-home-page,
html body.game-body #phoneHome[style*="--phone-page-rows: 4"] .phone-home-page.app-grid,
html body.game-body #phoneHome[style*="--phone-page-rows:4"] .phone-home-page.app-grid {
    grid-template-rows: repeat(4, minmax(0, auto)) !important;
    row-gap: clamp(14px, 2.35cqh, 26px) !important;
    column-gap: clamp(13px, 3.2cqw, 24px) !important;
    padding-top: clamp(14px, 2.45cqh, 28px) !important;
    padding-bottom: 54px !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 4"] .app-icon,
html body.game-body #phoneHome[style*="--phone-page-rows:4"] .app-icon,
html body.game-body #phoneHome[style*="--phone-page-rows: 4"] .phone-home-page .app-icon,
html body.game-body #phoneHome[style*="--phone-page-rows:4"] .phone-home-page .app-icon {
    --tg-phone-icon-size: clamp(53px, min(17.6cqw, 9.6cqh), 75px) !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 4"] .app-icon b,
html body.game-body #phoneHome[style*="--phone-page-rows:4"] .app-icon b {
    font-size: clamp(.62rem, min(2.95cqw, 1.5cqh), .82rem) !important;
    line-height: 1.06 !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 3"] .app-icon,
html body.game-body #phoneHome[style*="--phone-page-rows:3"] .app-icon {
    --tg-phone-icon-size: clamp(50px, min(17.2cqw, 10.2cqh), 72px) !important;
}

/* v5.59: Tutorial nachlesen und stabileres Karten-Zoom/Fleet-Tutorial */
body.game-body .hq-tutorial-reader {
    display: grid;
    gap: .75rem;
    padding: .9rem;
    border-radius: 18px;
    border: 1px solid rgba(255,220,130,.22);
    background: linear-gradient(145deg, rgba(20,13,8,.72), rgba(8,6,5,.74));
    max-height: min(58vh, 560px);
    overflow: auto;
}
body.game-body .hq-tutorial-reader h3 {
    margin: 0;
    color: #ffe8a6;
    font-size: 1.15rem;
}
body.game-body .hq-tutorial-reader p {
    margin: 0;
    color: rgba(255,240,200,.78);
}
body.game-body .hq-tutorial-list {
    display: grid;
    gap: .55rem;
}
body.game-body .hq-tutorial-list article {
    display: grid;
    gap: .18rem;
    padding: .72rem .78rem;
    border-radius: 14px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,218,122,.14);
}
body.game-body .hq-tutorial-list strong { color: #fff0b8; }
body.game-body .hq-tutorial-list span { color: rgba(255,238,205,.82); line-height: 1.34; }


/* v5.60: Kontakt-Taxen direkt fokussieren und Smartphone darf alle Apps auf einer Seite zeigen */
body.game-body .friend-row-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: .35rem !important;
    margin-left: auto !important;
}
body.game-body .friend-row-actions .button.small {
    min-height: 28px !important;
    padding: .32rem .5rem !important;
    font-size: .7rem !important;
    border-radius: 10px !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 5"] .phone-home-page,
html body.game-body #phoneHome[style*="--phone-page-rows:5"] .phone-home-page,
html body.game-body #phoneHome[style*="--phone-page-rows: 5"] .phone-home-page.app-grid,
html body.game-body #phoneHome[style*="--phone-page-rows:5"] .phone-home-page.app-grid {
    grid-template-rows: repeat(5, minmax(0, auto)) !important;
    row-gap: clamp(9px, 1.7cqh, 18px) !important;
    column-gap: clamp(12px, 3cqw, 22px) !important;
    padding-top: clamp(10px, 1.8cqh, 22px) !important;
    padding-bottom: 36px !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 5"] .app-icon,
html body.game-body #phoneHome[style*="--phone-page-rows:5"] .app-icon,
html body.game-body #phoneHome[style*="--phone-page-rows: 5"] .phone-home-page .app-icon,
html body.game-body #phoneHome[style*="--phone-page-rows:5"] .phone-home-page .app-icon {
    --tg-phone-icon-size: clamp(50px, min(17.2cqw, 8.7cqh), 72px) !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 5"] .app-icon b,
html body.game-body #phoneHome[style*="--phone-page-rows:5"] .app-icon b {
    font-size: clamp(.58rem, min(2.75cqw, 1.32cqh), .78rem) !important;
}

/* v5.61: Story-Abschluss zentriert, NeoMusik-App und Adressbuch */
body.game-body #storyRewardPopup.story-reward-popup-overlay {
    display: grid !important;
    place-items: center !important;
    align-items: center !important;
    justify-content: center !important;
    padding: clamp(12px, 2vw, 24px) !important;
    overflow: auto !important;
}
body.game-body #storyRewardPopup .story-reward-popup-card.story-reward-popup-split {
    width: min(940px, calc(100vw - 32px)) !important;
    max-height: min(86dvh, 720px) !important;
    margin: auto !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: minmax(260px, .95fr) minmax(320px, 1.05fr) !important;
}
body.game-body #storyRewardPopup .story-reward-visual {
    min-height: 320px !important;
    height: auto !important;
    max-height: none !important;
    display: grid !important;
    place-items: center !important;
    background: radial-gradient(circle at center, rgba(255,218,91,.13), transparent 70%), #160d0a !important;
}
body.game-body #storyRewardPopup .story-reward-visual img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}
body.game-body #storyRewardPopup .story-reward-content .button.full {
    position: static !important;
}
@media (max-width: 760px) {
    body.game-body #storyRewardPopup .story-reward-popup-card.story-reward-popup-split {
        grid-template-columns: 1fr !important;
        max-height: calc(100dvh - 18px) !important;
    }
    body.game-body #storyRewardPopup .story-reward-visual {
        min-height: 190px !important;
        max-height: 34dvh !important;
    }
}

body.game-body .music-app-icon span img { object-fit: cover !important; }
body.game-body .music-view .neo-music-shell {
    display: grid;
    gap: .75rem;
    min-height: 100%;
}
body.game-body .neo-music-player {
    display: grid;
    gap: .7rem;
    background: linear-gradient(145deg, rgba(54, 10, 18, .86), rgba(10, 8, 15, .78)) !important;
    border-color: rgba(255, 82, 99, .38) !important;
}
body.game-body .neo-music-cover {
    width: 86px;
    height: 86px;
    border-radius: 24px;
    overflow: hidden;
    margin: 0 auto;
    box-shadow: 0 16px 26px rgba(0,0,0,.32);
}
body.game-body .neo-music-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.game-body .neo-music-now { text-align: center; display: grid; gap: .14rem; }
body.game-body .neo-music-now strong { color: #fff0b8; font-size: 1rem; }
body.game-body .neo-music-now span { color: rgba(255,238,205,.72); font-size: .78rem; }
body.game-body .neo-music-controls { display: grid; grid-template-columns: 1fr auto auto; gap: .42rem; align-items: center; }
body.game-body .neo-music-volume {
    display: grid;
    gap: .32rem;
    font-size: .78rem;
    color: rgba(255,238,205,.82);
}
body.game-body .neo-music-volume span { color: #ffe280; font-weight: 900; }
body.game-body .neo-music-list { display: grid; gap: .45rem; }
body.game-body .neo-music-track {
    appearance: none;
    border: 1px solid rgba(255,220,120,.22);
    border-radius: 16px;
    background: rgba(13,10,12,.36);
    color: #fff2bf;
    padding: .62rem .72rem;
    text-align: left;
    display: grid;
    gap: .12rem;
    cursor: pointer;
}
body.game-body .neo-music-track small { color: rgba(255,238,205,.62); }
body.game-body .neo-music-track.active {
    border-color: rgba(255,70,80,.72);
    background: linear-gradient(145deg, rgba(180,20,38,.32), rgba(24,10,18,.52));
    box-shadow: 0 0 0 2px rgba(255,70,80,.12);
}
body.game-body .addressbook-row b { color: #fff0b8; }

body.admin-body audio { max-width: 220px; width: 100%; }


/* v5.62: Smartphone nutzt hohe Displays besser + Event-Timer lesbarer/zentriert */
html body.game-body #phoneHome[style*="--phone-page-rows: 6"] .phone-home-page,
html body.game-body #phoneHome[style*="--phone-page-rows:6"] .phone-home-page,
html body.game-body #phoneHome[style*="--phone-page-rows: 6"] .phone-home-page.app-grid,
html body.game-body #phoneHome[style*="--phone-page-rows:6"] .phone-home-page.app-grid {
    grid-template-rows: repeat(6, minmax(0, auto)) !important;
    row-gap: clamp(7px, 1.25cqh, 14px) !important;
    column-gap: clamp(10px, 2.5cqw, 18px) !important;
    padding-top: clamp(8px, 1.4cqh, 18px) !important;
    padding-bottom: 34px !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 6"] .app-icon,
html body.game-body #phoneHome[style*="--phone-page-rows:6"] .app-icon {
    --tg-phone-icon-size: clamp(42px, min(15cqw, 7.45cqh), 62px) !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 6"] .app-icon b,
html body.game-body #phoneHome[style*="--phone-page-rows:6"] .app-icon b {
    font-size: clamp(.54rem, min(2.55cqw, 1.18cqh), .72rem) !important;
}
html body.game-body #phoneHome.phone-home-single-page .phone-home-slider {
    transform: translateX(0) !important;
}
body.game-body .global-event-mini-clock b,
body.game-body .global-event-clock span {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 0 !important;
    line-height: .9 !important;
    white-space: normal !important;
}
body.game-body .global-event-mini-clock .event-time-main,
body.game-body .global-event-clock .event-time-main {
    display: block !important;
    font-size: 1.05em !important;
    line-height: .92 !important;
}
body.game-body .global-event-mini-clock .event-time-unit,
body.game-body .global-event-clock .event-time-unit {
    display: block !important;
    font-size: .62em !important;
    line-height: .95 !important;
    letter-spacing: .02em !important;
    opacity: .92 !important;
}
body.game-body .global-event-clock {
    justify-self: center !important;
    align-self: center !important;
    margin: 0 auto .15rem !important;
}
body.game-body .global-event-card {
    text-align: center !important;
    justify-items: center !important;
}
body.game-body .global-event-card p,
body.game-body .global-event-note {
    text-align: left !important;
    justify-self: stretch !important;
}


/* v5.63: Smartphone-App-Raster robust gegen schmale Displays und hohe Reihenanzahl */
html body.game-body #phoneHome {
    --phone-nav-space: 48px;
}
html body.game-body #phoneHome .phone-home-slider {
    height: calc(100% - var(--phone-nav-space, 48px)) !important;
    min-height: 0 !important;
    overflow: hidden !important;
}
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--phone-page-rows, 3), minmax(0, 1fr)) !important;
    align-content: stretch !important;
    align-items: stretch !important;
    justify-items: center !important;
    row-gap: clamp(4px, .9cqh, 10px) !important;
    column-gap: clamp(8px, 2.1cqw, 16px) !important;
    padding: clamp(6px, 1.15cqh, 12px) clamp(8px, 2.2cqw, 14px) 6px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon {
    min-height: 0 !important;
    height: 100% !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(2px, .45cqh, 5px) !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 5"] .phone-home-page,
html body.game-body #phoneHome[style*="--phone-page-rows:5"] .phone-home-page,
html body.game-body #phoneHome[style*="--phone-page-rows: 6"] .phone-home-page,
html body.game-body #phoneHome[style*="--phone-page-rows:6"] .phone-home-page,
html body.game-body #phoneHome[style*="--phone-page-rows: 5"] .phone-home-page.app-grid,
html body.game-body #phoneHome[style*="--phone-page-rows:5"] .phone-home-page.app-grid,
html body.game-body #phoneHome[style*="--phone-page-rows: 6"] .phone-home-page.app-grid,
html body.game-body #phoneHome[style*="--phone-page-rows:6"] .phone-home-page.app-grid {
    grid-template-rows: repeat(var(--phone-page-rows), minmax(0, 1fr)) !important;
    row-gap: clamp(3px, .65cqh, 8px) !important;
    padding-top: clamp(4px, .9cqh, 9px) !important;
    padding-bottom: 4px !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 5"] .phone-home-page .app-icon,
html body.game-body #phoneHome[style*="--phone-page-rows:5"] .phone-home-page .app-icon {
    --tg-phone-icon-size: clamp(40px, min(13.8cqw, 7.25cqh), 58px) !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 6"] .phone-home-page .app-icon,
html body.game-body #phoneHome[style*="--phone-page-rows:6"] .phone-home-page .app-icon {
    --tg-phone-icon-size: clamp(34px, min(12.4cqw, 5.85cqh), 50px) !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 5"] .phone-home-page .app-icon b,
html body.game-body #phoneHome[style*="--phone-page-rows:5"] .phone-home-page .app-icon b {
    font-size: clamp(.48rem, min(2.28cqw, 1.05cqh), .65rem) !important;
    line-height: 1.04 !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 6"] .phone-home-page .app-icon b,
html body.game-body #phoneHome[style*="--phone-page-rows:6"] .phone-home-page .app-icon b {
    font-size: clamp(.42rem, min(2.05cqw, .9cqh), .58rem) !important;
    line-height: 1.02 !important;
}
html body.game-body #phoneHome .app-icon span,
html body.game-body #phoneHome .phone-home-page .app-icon span {
    flex: 0 0 auto !important;
}
html body.game-body #phoneHome.phone-home-single-page .phone-home-nav,
html body.game-body #phoneHome.phone-home-single-page .phone-home-dots {
    display: none !important;
}


/* v5.64: Smartphone-App-Raster endgültig stabilisiert – keine halb angeschnittene letzte Reihe */
html body.game-body #phoneHome {
    --phone-nav-space: 58px !important;
}
html body.game-body #phoneHome .phone-home-slider {
    height: calc(100% - var(--phone-nav-space, 58px)) !important;
    overflow: hidden !important;
    min-height: 0 !important;
}
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--phone-page-rows, 3), minmax(0, 1fr)) !important;
    align-content: stretch !important;
    align-items: center !important;
    justify-items: center !important;
    row-gap: clamp(7px, 1.05cqh, 13px) !important;
    column-gap: clamp(8px, 2.1cqw, 16px) !important;
    padding: clamp(8px, 1.25cqh, 14px) clamp(8px, 2.2cqw, 15px) clamp(8px, 1.2cqh, 14px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(3px, .5cqh, 6px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon span,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon span {
    --tg-phone-icon-size: clamp(48px, min(17.2cqw, 8.6cqh), 72px) !important;
    width: var(--tg-phone-icon-size) !important;
    height: var(--tg-phone-icon-size) !important;
    min-width: var(--tg-phone-icon-size) !important;
    min-height: var(--tg-phone-icon-size) !important;
    max-width: var(--tg-phone-icon-size) !important;
    max-height: var(--tg-phone-icon-size) !important;
    flex: 0 0 auto !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon b,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon b {
    display: block !important;
    width: min(100%, 108px) !important;
    max-height: 2.2em !important;
    overflow: hidden !important;
    text-align: center !important;
    font-size: clamp(.58rem, min(2.65cqw, 1.25cqh), .76rem) !important;
    line-height: 1.08 !important;
    margin: 0 !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 4"] .phone-home-page .app-icon span,
html body.game-body #phoneHome[style*="--phone-page-rows:4"] .phone-home-page .app-icon span {
    --tg-phone-icon-size: clamp(46px, min(16.2cqw, 7.6cqh), 68px) !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 4"] .phone-home-page .app-icon b,
html body.game-body #phoneHome[style*="--phone-page-rows:4"] .phone-home-page .app-icon b {
    font-size: clamp(.54rem, min(2.35cqw, 1.05cqh), .7rem) !important;
}
html body.game-body #phoneHome .phone-home-nav {
    bottom: 12px !important;
    z-index: 70 !important;
}
html body.game-body #phoneHome .phone-home-dots {
    bottom: 21px !important;
    z-index: 71 !important;
}
html body.game-body #phoneHome.phone-home-single-page .phone-home-nav,
html body.game-body #phoneHome.phone-home-single-page .phone-home-dots {
    display: none !important;
}


/* v5.65: Smartphone-Seite 2 sichtbar halten, Badges kleiner, NeoMusik-Deaktivierung klarer */
html body.game-body #phoneHome {
    --phone-nav-space: 62px !important;
}
html body.game-body #phoneHome .phone-home-slider {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    height: calc(100% - var(--phone-nav-space, 62px)) !important;
    overflow: hidden !important;
    transition: transform .28s cubic-bezier(.2,.75,.22,1) !important;
}
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--phone-page-rows, 3), minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding: clamp(8px, 1.2cqh, 14px) clamp(9px, 2.2cqw, 16px) clamp(8px, 1.2cqh, 14px) !important;
    row-gap: clamp(8px, 1.05cqh, 13px) !important;
    column-gap: clamp(8px, 2.1cqw, 16px) !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon {
    position: relative !important;
    isolation: isolate !important;
    overflow: visible !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon span,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon span {
    --tg-phone-icon-size: clamp(50px, min(17cqw, 8.4cqh), 72px) !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 4"] .phone-home-page .app-icon span,
html body.game-body #phoneHome[style*="--phone-page-rows:4"] .phone-home-page .app-icon span {
    --tg-phone-icon-size: clamp(48px, min(16cqw, 7.35cqh), 66px) !important;
}
html body.game-body #phoneHome .app-icon > .app-notification-badge,
html body.game-body #phoneHome .app-icon[data-open-app="orders"] > .app-notification-badge,
html body.game-body #phoneHome .app-icon[data-open-app="mail"] > .app-notification-badge,
html body.game-body #phoneHome .mail-app-icon > .app-notification-badge,
html body.game-body .phone-screen #phoneHome .app-icon > .app-notification-badge {
    position: absolute !important;
    z-index: 8 !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    top: calc(50% - var(--tg-phone-icon-size, 64px) / 2 - 4px) !important;
    left: calc(50% + var(--tg-phone-icon-size, 64px) / 2 - 12px) !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    display: grid !important;
    place-items: center !important;
    font-size: .62rem !important;
    line-height: 1 !important;
    font-weight: 1000 !important;
    border: 2px solid #fff !important;
    box-shadow: 0 4px 10px rgba(0,0,0,.35) !important;
}
html body.game-body #phoneHome .app-icon > .app-notification-badge.hidden,
html body.game-body .phone-screen #phoneHome .app-icon > .app-notification-badge.hidden {
    display: none !important;
}
html body.game-body #phoneHome.phone-home-single-page .phone-home-slider {
    transform: translateX(0) !important;
}
body.admin-body .admin-table .button.small.ghost[name="action"][value="toggle"] {
    white-space: normal;
}


/* v5.66: Smartphone-App-Seiten stabil – keine verlorene zweite Seite, Badges wieder klein */
html body.game-body #phoneHome {
    --phone-nav-space: 62px !important;
}
html body.game-body #phoneHome .phone-home-slider {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    height: calc(100% - var(--phone-nav-space, 62px)) !important;
    overflow: hidden !important;
}
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--phone-page-rows, 4), minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    align-content: stretch !important;
    row-gap: clamp(7px, 1cqh, 12px) !important;
    column-gap: clamp(8px, 2cqw, 16px) !important;
    padding: clamp(8px, 1.1cqh, 13px) clamp(8px, 2.1cqw, 15px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    visibility: visible !important;
    opacity: 1 !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
    position: relative !important;
    isolation: isolate !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon span,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon span {
    --tg-phone-icon-size: clamp(48px, min(16.2cqw, 7.75cqh), 70px) !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 4"] .phone-home-page .app-icon span,
html body.game-body #phoneHome[style*="--phone-page-rows:4"] .phone-home-page .app-icon span {
    --tg-phone-icon-size: clamp(46px, min(15.7cqw, 7.25cqh), 66px) !important;
}
html body.game-body #phoneHome .app-icon > .app-notification-badge,
html body.game-body .phone-screen #phoneHome .app-icon > .app-notification-badge {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    border-radius: 999px !important;
    padding: 0 !important;
    font-size: .58rem !important;
    line-height: 1 !important;
    display: grid !important;
    place-items: center !important;
    border: 2px solid #fff !important;
    top: calc(50% - var(--tg-phone-icon-size, 64px) / 2 - 3px) !important;
    left: calc(50% + var(--tg-phone-icon-size, 64px) / 2 - 10px) !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 10 !important;
    box-shadow: 0 3px 8px rgba(0,0,0,.38) !important;
}
html body.game-body #phoneHome .app-icon > .app-notification-badge.hidden,
html body.game-body .phone-screen #phoneHome .app-icon > .app-notification-badge.hidden { display: none !important; }
html body.game-body #phoneHome.phone-home-single-page .phone-home-nav,
html body.game-body #phoneHome.phone-home-single-page .phone-home-dots { display: none !important; }


/* v5.67: Smartphone-Homescreen komplett stabilisiert – Seite 2 wird als aktive Seite gerendert */
html body.game-body #phoneHome {
    --phone-nav-space: 64px !important;
    position: relative !important;
    overflow: hidden !important;
}
html body.game-body #phoneHome .phone-home-slider {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: calc(100% - var(--phone-nav-space, 64px)) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    transform: none !important;
    transition: none !important;
}
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--phone-page-rows, 4), minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    align-content: stretch !important;
    justify-content: stretch !important;
    gap: clamp(8px, 1.1cqh, 14px) clamp(8px, 2.1cqw, 16px) !important;
    padding: clamp(8px, 1.15cqh, 14px) clamp(10px, 2.4cqw, 16px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 0 !important;
}
html body.game-body #phoneHome .phone-home-page.active,
html body.game-body #phoneHome .phone-home-page.app-grid.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 2 !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(4px, .7cqh, 7px) !important;
    overflow: visible !important;
    position: relative !important;
    isolation: isolate !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon span,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon span {
    --tg-phone-icon-size: clamp(52px, min(16.5cqw, 7.9cqh), 72px) !important;
    width: var(--tg-phone-icon-size) !important;
    height: var(--tg-phone-icon-size) !important;
    min-width: var(--tg-phone-icon-size) !important;
    min-height: var(--tg-phone-icon-size) !important;
    max-width: var(--tg-phone-icon-size) !important;
    max-height: var(--tg-phone-icon-size) !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 3"] .phone-home-page .app-icon span,
html body.game-body #phoneHome[style*="--phone-page-rows:3"] .phone-home-page .app-icon span {
    --tg-phone-icon-size: clamp(58px, min(18cqw, 9.8cqh), 82px) !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon b,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon b {
    width: min(100%, 108px) !important;
    max-width: 108px !important;
    text-align: center !important;
    font-size: clamp(.58rem, min(2.55cqw, 1.28cqh), .76rem) !important;
    line-height: 1.08 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}
html body.game-body #phoneHome .app-icon > .app-notification-badge,
html body.game-body .phone-screen #phoneHome .app-icon > .app-notification-badge {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: .58rem !important;
    line-height: 1 !important;
    display: grid !important;
    place-items: center !important;
    top: calc(50% - var(--tg-phone-icon-size, 64px) / 2 - 2px) !important;
    left: calc(50% + var(--tg-phone-icon-size, 64px) / 2 - 10px) !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 10 !important;
}
html body.game-body #phoneHome .phone-home-nav { bottom: 13px !important; }
html body.game-body #phoneHome .phone-home-dots { bottom: 23px !important; }
html body.game-body #phoneHome.phone-home-single-page .phone-home-nav,
html body.game-body #phoneHome.phone-home-single-page .phone-home-dots { display: none !important; }


/* v5.68: Badges nach Smartphone-Rebuild zuverlässig und klein anzeigen */
html body.game-body #phoneHome .app-icon {
    position: relative !important;
}
html body.game-body #phoneHome .app-icon > .app-notification-badge {
    position: absolute !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    font-size: .54rem !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    color: #fff !important;
    background: linear-gradient(180deg, #ff514f, #d91422) !important;
    border: 2px solid rgba(255,255,255,.9) !important;
    box-shadow: 0 4px 10px rgba(0,0,0,.42) !important;
    top: calc(50% - var(--tg-phone-icon-size, 64px) / 2 - 3px) !important;
    left: calc(50% + var(--tg-phone-icon-size, 64px) / 2 - 12px) !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 30 !important;
    pointer-events: none !important;
}
html body.game-body #phoneHome .app-icon > .app-notification-badge.hidden {
    display: none !important;
}


/* v5.69: iOS-artige, kleine App-Badges – überschreibt alle alten Span/Icon-Regeln */
html body.game-body #phoneHome .phone-home-page .app-icon > span.app-notification-badge,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon > span.app-notification-badge,
html body.game-body #phoneHome .app-icon.has-app-badge > span.app-notification-badge,
html body.game-body .phone-screen #phoneHome .app-icon > span.app-notification-badge {
    position: absolute !important;
    box-sizing: border-box !important;
    inline-size: 24px !important;
    block-size: 24px !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    aspect-ratio: 1 / 1 !important;
    flex: 0 0 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    color: #fff !important;
    background: linear-gradient(180deg, #ff504e 0%, #ec1f2d 100%) !important;
    border: 2px solid rgba(255,255,255,.96) !important;
    box-shadow: 0 2px 7px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.24) !important;
    font-size: 12px !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-indent: 0 !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    top: calc(50% - var(--tg-phone-icon-size, 72px) / 2 - 5px) !important;
    left: calc(50% + var(--tg-phone-icon-size, 72px) / 2 - 12px) !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 90 !important;
    pointer-events: none !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon > span.app-notification-badge.hidden,
html body.game-body #phoneHome .app-icon > span.app-notification-badge.hidden {
    display: none !important;
}
@media (max-width: 520px), (max-height: 740px) {
    html body.game-body #phoneHome .phone-home-page .app-icon > span.app-notification-badge,
    html body.game-body #phoneHome .app-icon.has-app-badge > span.app-notification-badge {
        inline-size: 20px !important;
        block-size: 20px !important;
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        min-height: 20px !important;
        max-width: 20px !important;
        max-height: 20px !important;
        flex-basis: 20px !important;
        font-size: 10px !important;
        border-width: 2px !important;
        top: calc(50% - var(--tg-phone-icon-size, 64px) / 2 - 4px) !important;
        left: calc(50% + var(--tg-phone-icon-size, 64px) / 2 - 10px) !important;
    }
}


/* v5.70: NeoMusik-Mini-Player, mehr Platz im Taxameter und Tutorial-UX */
body.game-body .taximeter-label {
    display: none !important;
}
body.game-body .xp-widget-v555 {
    align-items: center !important;
    grid-template-columns: auto minmax(120px, 1fr) !important;
    padding-top: .32rem !important;
}
body.game-body .top-company-title {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    max-width: 240px !important;
    padding: .12rem .6rem !important;
    margin: 0 0 .18rem !important;
    border-radius: 999px !important;
    background: linear-gradient(#f8c34b, #9b5d0b) !important;
    border: 1px solid rgba(255,242,168,.72) !important;
    color: #1c1005 !important;
    font-weight: 1000 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-size: clamp(.58rem, .72vw, .72rem) !important;
    line-height: 1.05 !important;
    text-shadow: none !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 5px 14px rgba(0,0,0,.24) !important;
}
body.game-body .level-star {
    font-size: clamp(.92rem, 1.15vw, 1.22rem) !important;
    line-height: 1 !important;
    letter-spacing: -.04em !important;
}
body.game-body .compact-meter.taximeter-bar {
    grid-template-columns: minmax(0, 1fr) !important;
}
body.game-body .phone-screen {
    position: relative !important;
}
body.game-body .neo-music-mini {
    position: relative !important;
    z-index: 4 !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) 40px !important;
    align-items: center !important;
    gap: .35rem !important;
    width: calc(100% - .5rem) !important;
    min-height: 31px !important;
    margin: -.45rem auto .45rem !important;
    padding: .22rem .48rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,223,127,.24) !important;
    background: rgba(0,0,0,.34) !important;
    color: #fff1b8 !important;
    cursor: pointer !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter: blur(8px) !important;
}
body.game-body .neo-music-mini.hidden {
    display: none !important;
}
body.game-body .neo-music-mini img {
    width: 22px !important;
    height: 22px !important;
    border-radius: 7px !important;
    object-fit: cover !important;
}
body.game-body .neo-music-mini-title {
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    text-align: left !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
}
body.game-body .neo-music-mini-bars {
    display: flex !important;
    align-items: end !important;
    justify-content: center !important;
    gap: 3px !important;
    height: 18px !important;
}
body.game-body .neo-music-mini-bars i {
    width: 4px !important;
    min-height: 5px !important;
    border-radius: 999px !important;
    background: linear-gradient(#fff6b8, #ffb22e) !important;
    animation: neoMusicBars 1.05s ease-in-out infinite !important;
}
body.game-body .neo-music-mini-bars i:nth-child(2) { animation-delay: .15s !important; }
body.game-body .neo-music-mini-bars i:nth-child(3) { animation-delay: .3s !important; }
body.game-body .neo-music-mini-bars i:nth-child(4) { animation-delay: .45s !important; }
@keyframes neoMusicBars {
    0%, 100% { height: 5px; opacity: .75; }
    40% { height: 17px; opacity: 1; }
}
body.game-body .neo-music-timeline {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: .45rem !important;
    align-items: center !important;
    width: 100% !important;
    color: rgba(255,238,204,.76) !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
}
body.game-body .neo-music-progress {
    height: 7px !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    background: rgba(0,0,0,.42) !important;
    border: 1px solid rgba(255,226,140,.12) !important;
}
body.game-body .neo-music-progress i {
    display: block !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: linear-gradient(90deg, #74ecff, #ffc847) !important;
}
body.game-body .neo-music-controls {
    grid-template-columns: 1fr auto auto auto auto !important;
}
body.game-body .neo-music-controls .button.active {
    border-color: rgba(117,236,255,.68) !important;
    color: #d9fbff !important;
    box-shadow: 0 0 18px rgba(117,236,255,.22) !important;
}
body.game-body .hq-tutorial-reader-v570 .hq-tutorial-list,
body.game-body .hq-tutorial-reader-v570 .hq-tutorial-faq {
    display: grid !important;
    gap: .55rem !important;
}
body.game-body .hq-tutorial-reader-v570 article {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-areas: "icon title" "icon text" !important;
    gap: .08rem .55rem !important;
    align-items: center !important;
    padding: .65rem .72rem !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,221,130,.18) !important;
    background: rgba(255,255,255,.045) !important;
}
body.game-body .hq-tutorial-appicon {
    grid-area: icon !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 13px !important;
    overflow: hidden !important;
    background: rgba(0,0,0,.25) !important;
    display: grid !important;
    place-items: center !important;
}
body.game-body .hq-tutorial-appicon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
body.game-body .hq-tutorial-reader-v570 article strong {
    grid-area: title !important;
}
body.game-body .hq-tutorial-reader-v570 article span:not(.hq-tutorial-appicon) {
    grid-area: text !important;
}
@media (max-width: 760px) {
    body.game-body .neo-music-controls {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* v5.71: Swipe-Animation, scrollbare Kontakte/Mail/Musik und saubereres Leitstellenlayout */
html body.game-body #phoneHome .phone-home-slider {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    height: calc(100% - var(--phone-nav-space, 64px)) !important;
    overflow: hidden !important;
    transform: translate3d(0,0,0);
    transition: transform .34s cubic-bezier(.22,.78,.2,1) !important;
    will-change: transform !important;
}
html body.game-body #phoneHome .phone-home-slider.no-anim {
    transition: none !important;
}
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: auto !important;
    pointer-events: auto !important;
    transform: none !important;
}
html body.game-body #phoneHome .phone-home-page[aria-hidden="true"],
html body.game-body #phoneHome .phone-home-page.app-grid[aria-hidden="true"] {
    pointer-events: none !important;
}
html body.game-body #phoneHome.phone-home-single-page .phone-home-slider {
    transform: translate3d(0,0,0) !important;
}

body.game-body .phone-screen {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
}
body.game-body .phone-status,
body.game-body .neo-music-mini {
    flex: 0 0 auto !important;
}
body.game-body .phone-screen > .phone-view.app-view:not(.hidden),
body.game-body .phone-screen > #phoneHome:not(.hidden) {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: 100% !important;
}
body.game-body .phone-screen > .phone-view.app-view:not(.hidden) {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-bottom: 1.1rem !important;
    scrollbar-width: none !important;
}
body.game-body .phone-screen > .phone-view.app-view:not(.hidden)::-webkit-scrollbar { display: none !important; }
body.game-body .friends-view,
body.game-body .mail-view,
body.game-body .music-view,
body.game-body #appFriends,
body.game-body #appMail,
body.game-body #appMusic {
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 1.6rem !important;
}
body.game-body .contacts-shell {
    padding-bottom: 2.2rem !important;
}
body.game-body .contact-profile-loading {
    min-height: 150px !important;
    display: grid !important;
    place-items: center !important;
    text-align: center !important;
    gap: .35rem !important;
    color: #fff0bd !important;
}
body.game-body .contact-profile-loading small { color: rgba(255,238,205,.7) !important; }
body.game-body .loading-spinner {
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    border: 3px solid rgba(255,220,120,.22) !important;
    border-top-color: #ffd666 !important;
    animation: tgSpin .85s linear infinite !important;
}
@keyframes tgSpin { to { transform: rotate(360deg); } }

body.game-body .mail-shell-v571 {
    display: grid !important;
    gap: .7rem !important;
    padding-bottom: 2rem !important;
}
body.game-body .mail-compose-mini-v571 {
    display: grid !important;
    gap: .55rem !important;
    border-radius: 18px !important;
    padding: .72rem !important;
    background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025)) !important;
    border: 1px solid rgba(255,223,132,.18) !important;
}
body.game-body .mail-compose-head,
body.game-body .player-mail-row-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .5rem !important;
}
body.game-body .mail-compose-head small,
body.game-body .player-mail-row-head small { color: rgba(255,238,205,.65) !important; }
body.game-body .mail-compose-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .45rem !important;
}
body.game-body .mail-recipient-wrap,
body.game-body .mail-subject-wrap,
body.game-body .mail-body-wrap {
    display: grid !important;
    gap: .22rem !important;
    color: rgba(255,237,190,.8) !important;
    font-weight: 800 !important;
    font-size: .74rem !important;
}
body.game-body .mail-contact-book-v571 {
    display: grid !important;
    gap: .36rem !important;
}
body.game-body .mail-contact-book-v571 > b { color: #ffe695 !important; }
body.game-body .mail-contact-book-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .35rem !important;
}
body.game-body .mail-contact-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: .25rem !important;
    border: 1px solid rgba(117, 190, 255, .28) !important;
    border-radius: 999px !important;
    background: rgba(26, 35, 52, .66) !important;
    color: #f8edc7 !important;
    padding: .34rem .55rem !important;
    font-size: .72rem !important;
    cursor: pointer !important;
}
body.game-body .player-mail-list {
    display: grid !important;
    gap: .5rem !important;
    margin-top: .65rem !important;
}
body.game-body .player-mail-row-v571 {
    border-radius: 16px !important;
    padding: .62rem .68rem !important;
    border: 1px solid rgba(255,218,120,.16) !important;
    background: rgba(0,0,0,.26) !important;
}
body.game-body .player-mail-row-v571.is-inbox.is-unread {
    border-color: rgba(255,198,69,.45) !important;
    box-shadow: inset 4px 0 0 #ffc947 !important;
}
body.game-body .player-mail-row-v571.is-sent {
    background: rgba(60,39,20,.34) !important;
}
body.game-body .player-mail-row-v571 strong { color: #fff0b7 !important; }
body.game-body .player-mail-row-v571 p { margin: .35rem 0 0 !important; color: rgba(255,242,211,.82) !important; }

body.game-body .event-line.player-mail-bell-line {
    border-color: rgba(94, 192, 255, .38) !important;
    background: linear-gradient(145deg, rgba(32, 45, 67, .78), rgba(22, 18, 20, .86)) !important;
}

@media (min-width: 1181px) {
    html body.game-body .dashboard-shell {
        grid-template-rows: auto minmax(0, 1fr) !important;
    }
    html body.game-body .playfield.playfield-v555,
    html body.game-body .playfield {
        grid-template-columns: minmax(0, 1fr) minmax(330px, 420px) !important;
        align-items: stretch !important;
        min-height: 0 !important;
    }
    html body.game-body .monitor-left-stack {
        grid-template-rows: minmax(0, 1fr) minmax(178px, 220px) !important;
        min-height: 0 !important;
        height: 100% !important;
    }
    html body.game-body .monitor-left-stack > .compact-meter.taximeter-bar,
    html body.game-body .compact-meter.taximeter-bar {
        min-height: 178px !important;
        max-height: 220px !important;
        padding: .72rem .9rem .82rem !important;
    }
    html body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet,
    html body.game-body .compact-meter.taximeter-bar .paged-fleet {
        height: 100% !important;
        min-height: 0 !important;
        align-items: stretch !important;
    }
    html body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet > .fleet-card {
        min-height: 0 !important;
        max-height: 156px !important;
        overflow: hidden !important;
    }
    html body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card-main {
        min-height: 0 !important;
        height: 100% !important;
    }
    html body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-track { height: 5px !important; }
    html body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-top { line-height: 1 !important; }
}
body.game-body .music-view .neo-music-shell {
    max-height: none !important;
    padding-bottom: 2.4rem !important;
}
body.game-body .music-view .neo-music-list {
    padding-bottom: 2rem !important;
}
body.game-body .music-view .neo-music-track:last-child {
    margin-bottom: 1rem !important;
}


/* v5.72: Smartphone-Seiten wieder zuverlässig swipe-/klickbar und Taxameter höher */
html body.game-body #phoneHome {
    --phone-nav-space: 62px !important;
    overflow: hidden !important;
    touch-action: pan-y !important;
}
html body.game-body #phoneHome .phone-home-slider {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    height: calc(100% - var(--phone-nav-space, 62px)) !important;
    overflow: visible !important;
    transform: translate3d(calc(var(--phone-current-page, 0) * -100%), 0, 0) !important;
    transition: transform .34s cubic-bezier(.22,.78,.2,1) !important;
    will-change: transform !important;
}
html body.game-body #phoneHome .phone-home-slider.no-anim {
    transition: none !important;
}
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}
html body.game-body #phoneHome .phone-home-page[aria-hidden="true"] {
    pointer-events: none !important;
}
html body.game-body #phoneHome .phone-home-nav,
html body.game-body #phoneHome .phone-home-dots,
html body.game-body #phoneHome [data-phone-page-nav],
html body.game-body #phoneHome [data-home-dot] {
    pointer-events: auto !important;
}
html body.game-body #phoneHome:not(.phone-home-single-page) .phone-home-nav,
html body.game-body #phoneHome:not(.phone-home-single-page) .phone-home-dots {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}
html body.game-body #phoneHome.phone-home-single-page .phone-home-nav,
html body.game-body #phoneHome.phone-home-single-page .phone-home-dots {
    display: none !important;
}
html body.game-body #phoneHome .phone-home-dots {
    gap: .42rem !important;
    align-items: center !important;
    justify-content: center !important;
}
html body.game-body #phoneHome .phone-home-dots button {
    cursor: pointer !important;
}

@media (min-width: 1181px) {
    html body.game-body .monitor-left-stack {
        grid-template-rows: minmax(0, 1fr) minmax(270px, 320px) !important;
    }
    html body.game-body .monitor-left-stack > .compact-meter.taximeter-bar,
    html body.game-body .compact-meter.taximeter-bar {
        min-height: 270px !important;
        max-height: 320px !important;
        padding: .86rem .95rem .95rem !important;
    }
    html body.game-body .compact-meter.taximeter-bar > .fleet-wrap {
        min-height: 0 !important;
        height: 100% !important;
    }
    html body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet,
    html body.game-body .compact-meter.taximeter-bar .paged-fleet {
        height: 100% !important;
        min-height: 0 !important;
        align-items: stretch !important;
    }
    html body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet > .fleet-card {
        max-height: none !important;
        min-height: 220px !important;
        height: 100% !important;
        overflow: hidden !important;
    }
    html body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-card-main {
        min-height: 0 !important;
        height: 100% !important;
        grid-template-columns: clamp(118px, 11vw, 154px) minmax(0, 1fr) !important;
        align-items: stretch !important;
    }
    html body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-car-thumb {
        min-height: 100% !important;
    }
    html body.game-body .compact-meter.taximeter-bar #taxiList.paged-fleet .fleet-meter-track {
        height: 6px !important;
    }
}


/* v5.73: Smartphone-Seitenpfeile optisch exakt im Kreis zentrieren */
html body.game-body #phoneHome .phone-home-nav,
html body.game-body #phoneHome [data-phone-page-nav] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    font-size: 1.62rem !important;
    font-family: Arial, Helvetica, sans-serif !important;
    text-align: center !important;
    text-indent: 0 !important;
    letter-spacing: 0 !important;
}
html body.game-body #phoneHome .phone-home-nav-prev {
    padding-right: 1px !important;
}
html body.game-body #phoneHome .phone-home-nav-next {
    padding-left: 1px !important;
}


/* v5.74: Smartphone leicht einrücken und NeoMusik-Controls Spotify-artiger */
@media (min-width: 1181px) {
    html body.game-body .smartphone-wrap {
        transform: translateX(-14px) !important;
    }
}
body.game-body .neo-music-controls.neo-music-controls-v574 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .48rem !important;
    width: 100% !important;
    margin: .1rem auto .05rem !important;
    grid-template-columns: none !important;
}
body.game-body .neo-music-controls-v574 .neo-music-icon-btn,
body.game-body .neo-music-controls-v574 .button.neo-music-icon-btn {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    display: inline-grid !important;
    place-items: center !important;
    font-size: 1.05rem !important;
    line-height: 1 !important;
    text-align: center !important;
    background: rgba(0,0,0,.35) !important;
    border: 1px solid rgba(255,230,150,.26) !important;
    color: rgba(255,244,212,.88) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 18px rgba(0,0,0,.26) !important;
}
body.game-body .neo-music-controls-v574 .neo-music-icon-btn.active {
    color: #77f0ff !important;
    border-color: rgba(117,236,255,.72) !important;
    background: rgba(24, 68, 82, .48) !important;
    box-shadow: 0 0 18px rgba(117,236,255,.22), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
body.game-body .neo-music-controls-v574 .neo-music-play-btn,
body.game-body .neo-music-controls-v574 .button.neo-music-play-btn {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    font-size: 1.18rem !important;
    background: linear-gradient(#ffd96a, #f2a313) !important;
    border-color: rgba(255,246,186,.8) !important;
    color: #1b1005 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.56), 0 12px 24px rgba(255,178,46,.25) !important;
}
body.game-body .neo-music-player {
    padding-inline: .78rem !important;
}
body.game-body .neo-music-now strong,
body.game-body .neo-music-now span {
    max-width: 100% !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
@media (max-width: 760px) {
    body.game-body .neo-music-controls.neo-music-controls-v574 {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: .34rem !important;
    }
    body.game-body .neo-music-controls-v574 .neo-music-icon-btn,
    body.game-body .neo-music-controls-v574 .button.neo-music-icon-btn {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        font-size: .95rem !important;
    }
    body.game-body .neo-music-controls-v574 .neo-music-play-btn,
    body.game-body .neo-music-controls-v574 .button.neo-music-play-btn {
        width: 43px !important;
        height: 43px !important;
        min-width: 43px !important;
        min-height: 43px !important;
    }
}


/* v5.75: NeoMusik pausiert mit Master-Ton und Kontakte sind wirklich bis unten scrollbar */
html body.game-body #appFriends.phone-view,
html body.game-body .phone-screen > #appFriends.phone-view.app-view:not(.hidden) {
    display: block !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding-bottom: 5.5rem !important;
    scroll-padding-bottom: 5.5rem !important;
}
html body.game-body #friendsApp.phone-list {
    display: grid !important;
    gap: .72rem !important;
    min-height: max-content !important;
    padding-bottom: 7rem !important;
}
html body.game-body #friendsApp .contacts-shell {
    min-height: max-content !important;
    padding-bottom: 7.5rem !important;
}
html body.game-body #friendsApp .contacts-list-card:last-child {
    margin-bottom: 4.2rem !important;
}
html body.game-body .contact-profile-card,
html body.game-body .contacts-list-card {
    flex-shrink: 0 !important;
}
html body.game-body #appFriends .app-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
}

/* v5.76: Smartphone-Homescreen stabil repariert + Lupus Versicherung */
html body.game-body .phone-screen {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}
html body.game-body .phone-screen > #phoneHome.phone-view:not(.hidden) {
    display: block !important;
    position: relative !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    padding: 0 !important;
}
html body.game-body #phoneHome .phone-home-slider {
    position: relative !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    height: calc(100% - 58px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    transform: translate3d(calc(var(--phone-current-page, 0) * -100%), 0, 0) !important;
    transition: transform .34s cubic-bezier(.22,.78,.2,1) !important;
    will-change: transform !important;
}
html body.game-body #phoneHome .phone-home-slider.no-anim { transition: none !important; }
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--phone-page-rows, 4), minmax(0, 1fr)) !important;
    align-content: stretch !important;
    justify-content: stretch !important;
    align-items: center !important;
    justify-items: center !important;
    gap: clamp(7px, 1.05cqh, 12px) clamp(8px, 2cqw, 15px) !important;
    padding: clamp(8px, 1.15cqh, 14px) clamp(10px, 2.4cqw, 16px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
}
html body.game-body #phoneHome .phone-home-page[aria-hidden="true"] { pointer-events: none !important; }
html body.game-body #phoneHome .phone-home-page .app-icon,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(4px, .64cqh, 7px) !important;
    overflow: visible !important;
    position: relative !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon > span:not(.app-notification-badge),
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon > span:not(.app-notification-badge) {
    --tg-phone-icon-size: clamp(54px, min(16.4cqw, 7.6cqh), 74px) !important;
    width: var(--tg-phone-icon-size) !important;
    height: var(--tg-phone-icon-size) !important;
    min-width: var(--tg-phone-icon-size) !important;
    min-height: var(--tg-phone-icon-size) !important;
    max-width: var(--tg-phone-icon-size) !important;
    max-height: var(--tg-phone-icon-size) !important;
}
html body.game-body #phoneHome .phone-home-nav { bottom: 12px !important; z-index: 80 !important; }
html body.game-body #phoneHome .phone-home-dots { bottom: 22px !important; z-index: 81 !important; }
html body.game-body #phoneHome.phone-home-single-page .phone-home-nav,
html body.game-body #phoneHome.phone-home-single-page .phone-home-dots { display: none !important; }

html body.game-body #phoneHome .insurance-app-icon > span:not(.app-notification-badge) {
    background: #281044 !important;
}

body.game-body .insurance-scene {
    background-image: var(--scene-bg, url('../img/lupus_versicherungs_popupoffice.png')) !important;
    background-size: cover !important;
    background-position: center !important;
}
body.game-body .insurance-scene::before {
    background: linear-gradient(90deg, rgba(5,4,10,.14), rgba(7,7,12,.2) 42%, rgba(12,7,21,.72)) !important;
}
body.game-body .insurance-stage {
    min-height: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(260px, 36%) minmax(420px, 1fr) !important;
    align-items: end !important;
    gap: 1rem !important;
    padding: clamp(1rem, 2vw, 2rem) !important;
}
body.game-body .insurance-figure {
    max-height: min(88vh, 780px) !important;
    width: auto !important;
    justify-self: center !important;
    align-self: end !important;
    filter: drop-shadow(0 24px 38px rgba(0,0,0,.55)) !important;
}
body.game-body .insurance-dialogue {
    align-self: center !important;
    background: linear-gradient(145deg, rgba(11,13,19,.92), rgba(24,12,34,.9)) !important;
    border: 1px solid rgba(202,151,255,.45) !important;
    box-shadow: 0 24px 52px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
body.game-body .insurance-dialogue-head {
    display: flex !important;
    align-items: center !important;
    gap: .8rem !important;
    margin-bottom: .8rem !important;
}
body.game-body .insurance-dialogue-head img {
    width: 58px !important;
    height: 58px !important;
    border-radius: 16px !important;
    object-fit: cover !important;
}
body.game-body .insurance-dialogue-head strong { display:block; color:#fff2c3 !important; font-size: 1.08rem !important; }
body.game-body .insurance-dialogue-head span { color: rgba(223,198,255,.84) !important; }
body.game-body .insurance-info-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: .45rem !important;
    margin: .75rem 0 !important;
}
body.game-body .insurance-info-grid span,
body.game-body .insurance-summary {
    border-radius: 14px !important;
    border: 1px solid rgba(198,148,255,.22) !important;
    background: rgba(30,17,47,.55) !important;
    padding: .55rem .65rem !important;
    color: #f7edff !important;
}
body.game-body .insurance-summary {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    margin-bottom:.55rem !important;
}
body.game-body .insurance-scene-list,
body.game-body .insurance-taxi-list {
    display: grid !important;
    gap: .52rem !important;
}
body.game-body .insurance-taxi-row {
    display: grid !important;
    grid-template-columns: 58px minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: .58rem !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,226,142,.16) !important;
    background: rgba(0,0,0,.28) !important;
    padding: .52rem !important;
}
body.game-body .insurance-taxi-row.is-insured {
    border-color: rgba(190,116,255,.42) !important;
    box-shadow: inset 4px 0 0 #b35cff !important;
}
body.game-body .insurance-taxi-row img {
    width: 58px !important;
    height: 42px !important;
    object-fit: contain !important;
}
body.game-body .insurance-taxi-row strong { display:block; color:#fff0b0 !important; }
body.game-body .insurance-taxi-row small,
body.game-body .insurance-taxi-row span { display:block; color: rgba(255,239,213,.72) !important; font-size:.76rem !important; }
body.game-body .insurance-hero-card {
    display: flex !important;
    align-items:center !important;
    gap:.7rem !important;
    border-color: rgba(190,116,255,.36) !important;
}
body.game-body .insurance-hero-card > img { width:54px !important; height:54px !important; border-radius:16px !important; object-fit:cover !important; }
body.game-body .insurance-note { border-color: rgba(190,116,255,.24) !important; }
body.game-body .insurance-app-shell { display:grid !important; gap:.65rem !important; padding-bottom:2rem !important; }
body.game-body .fleet-card.fleet-insurance-towing {
    animation: lupusFleetPulse 1.1s ease-in-out infinite alternate !important;
    border-color: rgba(190,116,255,.95) !important;
    box-shadow: 0 0 0 2px rgba(160,83,255,.28), 0 0 26px rgba(161,74,255,.42) !important;
}
@keyframes lupusFleetPulse {
    from { filter: drop-shadow(0 0 0 rgba(171,91,255,0)); }
    to { filter: drop-shadow(0 0 12px rgba(171,91,255,.92)); }
}
@media (max-width: 980px) {
    body.game-body .insurance-stage { grid-template-columns: 1fr !important; align-items: end !important; }
    body.game-body .insurance-figure { max-height: 34vh !important; }
    body.game-body .insurance-info-grid { grid-template-columns: 1fr !important; }
}


/* v5.78: Finaler Smartphone-Homescreen-Fallback nach Lupus-Update
   Ziel: selbst bei state.php-Fehlern oder alten CSS-Overrides nie wieder ein leeres Handy. */
html body.game-body .phone-screen {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}
html body.game-body .phone-status,
html body.game-body .neo-music-mini.hidden {
    flex: 0 0 auto !important;
}
html body.game-body .phone-screen > #phoneHome.phone-view:not(.hidden) {
    display: block !important;
    position: relative !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}
html body.game-body #phoneHome .phone-home-slider {
    position: relative !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    height: calc(100% - 64px) !important;
    min-height: 360px !important;
    overflow: visible !important;
    transform: translate3d(calc(var(--phone-current-page, 0) * -100%), 0, 0) !important;
    transition: transform .34s cubic-bezier(.22,.78,.2,1) !important;
    will-change: transform !important;
    opacity: 1 !important;
    visibility: visible !important;
}
html body.game-body #phoneHome .phone-home-slider.no-anim { transition: none !important; }
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--phone-page-rows, 3), minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    align-content: stretch !important;
    justify-content: stretch !important;
    gap: clamp(8px, 1.25cqh, 14px) clamp(10px, 2.2cqw, 18px) !important;
    padding: clamp(10px, 1.2cqh, 16px) clamp(12px, 2.5cqw, 18px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    z-index: auto !important;
}
html body.game-body #phoneHome .phone-home-page[aria-hidden="true"] { pointer-events: none !important; }
html body.game-body #phoneHome .phone-home-page .app-icon,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon > span:not(.app-notification-badge),
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon > span:not(.app-notification-badge) {
    --tg-phone-icon-size: clamp(58px, min(16.8cqw, 8.6cqh), 82px) !important;
    width: var(--tg-phone-icon-size) !important;
    height: var(--tg-phone-icon-size) !important;
    min-width: var(--tg-phone-icon-size) !important;
    min-height: var(--tg-phone-icon-size) !important;
    max-width: var(--tg-phone-icon-size) !important;
    max-height: var(--tg-phone-icon-size) !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 4"] .phone-home-page .app-icon > span:not(.app-notification-badge),
html body.game-body #phoneHome[style*="--phone-page-rows:4"] .phone-home-page .app-icon > span:not(.app-notification-badge) {
    --tg-phone-icon-size: clamp(54px, min(15.4cqw, 7.1cqh), 74px) !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon b,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon b {
    display: block !important;
    max-width: 112px !important;
    width: 100% !important;
    text-align: center !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: clamp(.62rem, min(2.55cqw, 1.35cqh), .78rem) !important;
    line-height: 1.08 !important;
}
html body.game-body #phoneHome .phone-home-nav,
html body.game-body #phoneHome [data-phone-page-nav] {
    position: absolute !important;
    bottom: 12px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    font-size: 1.85rem !important;
    line-height: 1 !important;
    padding: 0 !important;
    z-index: 85 !important;
    pointer-events: auto !important;
}
html body.game-body #phoneHome .phone-home-nav-prev { left: 1rem !important; }
html body.game-body #phoneHome .phone-home-nav-next { right: 1rem !important; }
html body.game-body #phoneHome .phone-home-dots {
    position: absolute !important;
    left: 50% !important;
    bottom: 24px !important;
    transform: translateX(-50%) !important;
    z-index: 86 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .45rem !important;
    pointer-events: auto !important;
}
html body.game-body #phoneHome.phone-home-single-page .phone-home-nav,
html body.game-body #phoneHome.phone-home-single-page .phone-home-dots { display: none !important; }
html body.game-body #phoneHome .app-icon > span.app-notification-badge {
    position: absolute !important;
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    min-height: 21px !important;
    max-width: 21px !important;
    max-height: 21px !important;
    top: calc(50% - var(--tg-phone-icon-size, 64px) / 2 - 4px) !important;
    left: calc(50% + var(--tg-phone-icon-size, 64px) / 2 - 12px) !important;
    right: auto !important;
    bottom: auto !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    padding: 0 !important;
    color: #fff !important;
    background: linear-gradient(180deg, #ff4d4d, #d91624) !important;
    border: 2px solid rgba(255,255,255,.92) !important;
    font-size: .62rem !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    box-shadow: 0 2px 7px rgba(0,0,0,.32) !important;
    z-index: 20 !important;
    transform: none !important;
}
html body.game-body #phoneHome .app-icon > span.app-notification-badge.hidden { display: none !important; }


/* v5.78: Smartphone-Homescreen komplett stabilisiert, keine leere Wallpaper-Seite mehr */
html body.game-body .phone-screen {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}
html body.game-body .phone-status,
html body.game-body .neo-music-mini {
    flex: 0 0 auto !important;
}
html body.game-body .phone-screen > #phoneHome.phone-view:not(.hidden) {
    display: block !important;
    position: relative !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 5 !important;
}
html body.game-body #phoneHome .phone-home-slider {
    position: relative !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    height: calc(100% - 64px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    transform: translate3d(calc(var(--phone-current-page, 0) * -100%), 0, 0) !important;
    transition: transform .34s cubic-bezier(.22,.78,.2,1) !important;
    opacity: 1 !important;
    visibility: visible !important;
    will-change: transform !important;
}
html body.game-body #phoneHome .phone-home-slider.no-anim { transition: none !important; }
html body.game-body #phoneHome .phone-home-page,
html body.game-body #phoneHome .phone-home-page.app-grid {
    position: relative !important;
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--phone-page-rows, 3), minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    gap: clamp(8px, 1.2cqh, 14px) clamp(10px, 2.2cqw, 18px) !important;
    padding: clamp(10px, 1.2cqh, 16px) clamp(12px, 2.5cqw, 18px) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}
html body.game-body #phoneHome .phone-home-page[aria-hidden="true"] {
    pointer-events: none !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon,
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    gap: 6px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon > span:not(.app-notification-badge),
html body.game-body #phoneHome .phone-home-page.app-grid .app-icon > span:not(.app-notification-badge),
html body.game-body #phoneHome .phone-home-page .app-icon > .phone-app-symbol {
    --tg-phone-icon-size: clamp(58px, min(16.8cqw, 8.4cqh), 82px) !important;
    width: var(--tg-phone-icon-size) !important;
    height: var(--tg-phone-icon-size) !important;
    min-width: var(--tg-phone-icon-size) !important;
    min-height: var(--tg-phone-icon-size) !important;
    max-width: var(--tg-phone-icon-size) !important;
    max-height: var(--tg-phone-icon-size) !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
}
html body.game-body #phoneHome[style*="--phone-page-rows: 4"] .phone-home-page .app-icon > span:not(.app-notification-badge),
html body.game-body #phoneHome[style*="--phone-page-rows:4"] .phone-home-page .app-icon > span:not(.app-notification-badge) {
    --tg-phone-icon-size: clamp(52px, min(15.2cqw, 7cqh), 74px) !important;
}
html body.game-body #phoneHome .phone-home-page .app-icon b {
    max-width: 118px !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: clamp(.62rem, min(2.55cqw, 1.32cqh), .78rem) !important;
    line-height: 1.08 !important;
}
html body.game-body #phoneHome .phone-home-nav,
html body.game-body #phoneHome [data-phone-page-nav] {
    position: absolute !important;
    bottom: 12px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    font-size: 1.75rem !important;
    line-height: 1 !important;
    z-index: 90 !important;
    pointer-events: auto !important;
}
html body.game-body #phoneHome .phone-home-nav-prev { left: 1rem !important; }
html body.game-body #phoneHome .phone-home-nav-next { right: 1rem !important; }
html body.game-body #phoneHome .phone-home-dots {
    position: absolute !important;
    left: 50% !important;
    bottom: 25px !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    gap: .45rem !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 91 !important;
    pointer-events: auto !important;
}
html body.game-body #phoneHome.phone-home-single-page .phone-home-nav,
html body.game-body #phoneHome.phone-home-single-page .phone-home-dots { display: none !important; }
html body.game-body #phoneHome .app-icon > span.app-notification-badge {
    position: absolute !important;
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    min-height: 21px !important;
    max-width: 21px !important;
    max-height: 21px !important;
    top: calc(50% - var(--tg-phone-icon-size, 64px) / 2 - 4px) !important;
    left: calc(50% + var(--tg-phone-icon-size, 64px) / 2 - 12px) !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    padding: 0 !important;
    background: linear-gradient(180deg, #ff4d4d, #d91624) !important;
    color: #fff !important;
    border: 2px solid rgba(255,255,255,.92) !important;
    font-size: .62rem !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    box-shadow: 0 2px 7px rgba(0,0,0,.32) !important;
    z-index: 22 !important;
}
html body.game-body #phoneHome .app-icon > span.app-notification-badge.hidden { display: none !important; }


/* v5.78: statischer Smartphone-Fallback, falls JS/API beim Start stolpert */
html body.game-body #phoneHome .phone-home-static-fallback {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(92px, auto) !important;
    gap: 12px 14px !important;
    padding: 12px 14px 72px !important;
    height: 100% !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    scrollbar-width: none !important;
}
html body.game-body #phoneHome .phone-home-static-fallback::-webkit-scrollbar { display: none !important; }
html body.game-body #phoneHome.phone-home-ready .phone-home-static-fallback { display: none !important; }
html body.game-body #phoneHome:not(.phone-home-ready) .phone-home-slider { display: none !important; }
html body.game-body #phoneHome .phone-home-static-fallback .app-icon {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 92px !important;
    position: relative !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon > span:not(.app-notification-badge) {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon b {
    font-size: .68rem !important;
    max-width: 100px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}


/* v5.79: Smartphone-Homescreen als robuste Primäransicht repariert.
   Der frühere Slider konnte durch API/Resize-Rennen leer bleiben. Die feste App-Liste
   bleibt deshalb sichtbar, während die App-Views weiterhin normal geöffnet werden. */
html body.game-body .phone-screen > #phoneHome.phone-view:not(.hidden) {
    display: block !important;
    position: relative !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}
html body.game-body .phone-screen:not(.phone-app-open) #phoneHome .phone-home-static-fallback {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(104px, auto) !important;
    align-content: start !important;
    align-items: center !important;
    justify-items: center !important;
    gap: clamp(14px, 2.3cqh, 24px) clamp(12px, 2.5cqw, 20px) !important;
    padding: clamp(18px, 3.1cqh, 32px) clamp(18px, 3.4cqw, 28px) 34px !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
}
html body.game-body .phone-screen:not(.phone-app-open) #phoneHome .phone-home-static-fallback::-webkit-scrollbar { display: none !important; }
html body.game-body .phone-screen:not(.phone-app-open) #phoneHome .phone-home-slider,
html body.game-body .phone-screen:not(.phone-app-open) #phoneHome .phone-home-nav,
html body.game-body .phone-screen:not(.phone-app-open) #phoneHome .phone-home-dots {
    display: none !important;
}
html body.game-body .phone-screen.phone-app-open #phoneHome .phone-home-static-fallback,
html body.game-body .phone-screen.phone-app-open #phoneHome .phone-home-slider,
html body.game-body .phone-screen.phone-app-open #phoneHome .phone-home-nav,
html body.game-body .phone-screen.phone-app-open #phoneHome .phone-home-dots {
    display: none !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 104px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    pointer-events: auto !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon > span:not(.app-notification-badge) {
    width: clamp(56px, min(17.5cqw, 8.7cqh), 76px) !important;
    height: clamp(56px, min(17.5cqw, 8.7cqh), 76px) !important;
    min-width: clamp(56px, min(17.5cqw, 8.7cqh), 76px) !important;
    min-height: clamp(56px, min(17.5cqw, 8.7cqh), 76px) !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon > span:not(.app-notification-badge) img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon b {
    display: block !important;
    max-width: 112px !important;
    width: 100% !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #fff !important;
    font-size: clamp(.62rem, min(2.6cqw, 1.35cqh), .76rem) !important;
    line-height: 1.08 !important;
    text-shadow: 0 2px 6px rgba(0,0,0,.85), 0 0 8px rgba(0,0,0,.5) !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon > span.app-notification-badge {
    position: absolute !important;
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    min-height: 21px !important;
    max-width: 21px !important;
    max-height: 21px !important;
    top: calc(50% - 42px) !important;
    left: calc(50% + 22px) !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    padding: 0 !important;
    background: linear-gradient(180deg, #ff4d4d, #d91624) !important;
    border: 2px solid rgba(255,255,255,.92) !important;
    color: #fff !important;
    font-size: .62rem !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    z-index: 40 !important;
    box-shadow: 0 2px 7px rgba(0,0,0,.34) !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon > span.app-notification-badge.hidden { display: none !important; }
@media (max-height: 760px) {
    html body.game-body .phone-screen:not(.phone-app-open) #phoneHome .phone-home-static-fallback {
        grid-auto-rows: minmax(88px, auto) !important;
        gap: 10px 10px !important;
        padding: 10px 12px 22px !important;
    }
    html body.game-body #phoneHome .phone-home-static-fallback .app-icon { min-height: 88px !important; }
    html body.game-body #phoneHome .phone-home-static-fallback .app-icon > span:not(.app-notification-badge) {
        width: clamp(48px, min(15.5cqw, 7.5cqh), 64px) !important;
        height: clamp(48px, min(15.5cqw, 7.5cqh), 64px) !important;
        min-width: clamp(48px, min(15.5cqw, 7.5cqh), 64px) !important;
        min-height: clamp(48px, min(15.5cqw, 7.5cqh), 64px) !important;
    }
}


/* v5.82: Smartphone-Homescreen wirklich neu stabilisiert.
   Ursache fuer das leere Handy war: phone-home-ready versteckte den statischen Homescreen,
   waehrend der Slider gleichzeitig per spaeterem Override ausgeblendet war. Ab jetzt ist die
   feste App-Liste die robuste Primaeransicht. Kein JS-Resize/API-Rennen kann sie leeren. */
html body.game-body .phone-screen > #phoneHome.phone-view:not(.hidden) {
    display: block !important;
    position: relative !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: hidden !important;
    padding: 0 !important;
    z-index: 5 !important;
}
html body.game-body .phone-screen > #phoneHome.phone-view.hidden,
html body.game-body .phone-screen.phone-app-open > #phoneHome.phone-view {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
html body.game-body #phoneHome.phone-view:not(.hidden) .phone-home-static-fallback,
html body.game-body #phoneHome.phone-view.phone-home-ready:not(.hidden) .phone-home-static-fallback,
html body.game-body .phone-screen:not(.phone-app-open) #phoneHome.phone-view .phone-home-static-fallback {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(96px, auto) !important;
    align-content: start !important;
    align-items: start !important;
    justify-items: center !important;
    gap: clamp(10px, 1.7cqh, 18px) clamp(10px, 2.1cqw, 18px) !important;
    padding: clamp(12px, 2cqh, 24px) clamp(14px, 2.8cqw, 26px) 32px !important;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
html body.game-body #phoneHome .phone-home-static-fallback::-webkit-scrollbar { display: none !important; }
html body.game-body #phoneHome.phone-view:not(.hidden) .phone-home-slider,
html body.game-body #phoneHome.phone-view:not(.hidden) .phone-home-nav,
html body.game-body #phoneHome.phone-view:not(.hidden) .phone-home-dots {
    display: none !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon,
html body.game-body #phoneHome .phone-home-static-fallback .app-icon.has-app-badge {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 96px !important;
    height: auto !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon > span:not(.app-notification-badge) {
    width: clamp(54px, min(16.5cqw, 8cqh), 72px) !important;
    height: clamp(54px, min(16.5cqw, 8cqh), 72px) !important;
    min-width: clamp(54px, min(16.5cqw, 8cqh), 72px) !important;
    min-height: clamp(54px, min(16.5cqw, 8cqh), 72px) !important;
    max-width: 76px !important;
    max-height: 76px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    border-radius: 18px !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon > span:not(.app-notification-badge) img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon b {
    display: block !important;
    max-width: 112px !important;
    width: 100% !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #fff !important;
    font-size: clamp(.62rem, min(2.55cqw, 1.28cqh), .76rem) !important;
    line-height: 1.08 !important;
    text-shadow: 0 2px 6px rgba(0,0,0,.85), 0 0 8px rgba(0,0,0,.5) !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon > .app-notification-badge {
    position: absolute !important;
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    min-height: 21px !important;
    max-width: 21px !important;
    max-height: 21px !important;
    top: 0 !important;
    left: calc(50% + 15px) !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    padding: 0 !important;
    background: linear-gradient(180deg, #ff4d4d, #d91624) !important;
    border: 2px solid rgba(255,255,255,.94) !important;
    color: #fff !important;
    font-size: .62rem !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    z-index: 40 !important;
    box-shadow: 0 2px 7px rgba(0,0,0,.34) !important;
}
html body.game-body #phoneHome .phone-home-static-fallback .app-icon > .app-notification-badge.hidden { display: none !important; }
@media (max-height: 760px) {
    html body.game-body #phoneHome.phone-view:not(.hidden) .phone-home-static-fallback {
        grid-auto-rows: minmax(84px, auto) !important;
        gap: 8px 10px !important;
        padding: 8px 12px 22px !important;
    }
    html body.game-body #phoneHome .phone-home-static-fallback .app-icon { min-height: 84px !important; }
    html body.game-body #phoneHome .phone-home-static-fallback .app-icon > span:not(.app-notification-badge) {
        width: clamp(46px, min(14.8cqw, 7cqh), 62px) !important;
        height: clamp(46px, min(14.8cqw, 7cqh), 62px) !important;
        min-width: clamp(46px, min(14.8cqw, 7cqh), 62px) !important;
        min-height: clamp(46px, min(14.8cqw, 7cqh), 62px) !important;
    }
}


/* v5.82: absoluter Smartphone-Homescreen-Fallback.
   Dieser Layer ist unabhängig vom alten Slider/#phoneHome und verhindert ein komplett leeres Handy. */
html body.game-body .phone-screen {
    position: relative !important;
}
html body.game-body .phone-screen.phone-emergency-active > #phoneHome,
html body.game-body .phone-screen.phone-emergency-active > #phoneHome.phone-view,
html body.game-body .phone-screen.phone-emergency-active > #phoneHome.phone-view:not(.hidden) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
html body.game-body .phone-emergency-home {
    position: absolute !important;
    left: clamp(10px, 3.2cqw, 18px) !important;
    right: clamp(10px, 3.2cqw, 18px) !important;
    top: clamp(64px, 10.8cqh, 88px) !important;
    bottom: clamp(12px, 2.2cqh, 20px) !important;
    z-index: 120 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(88px, auto) !important;
    align-content: start !important;
    justify-items: center !important;
    align-items: start !important;
    gap: clamp(8px, 1.65cqh, 16px) clamp(8px, 2.35cqw, 16px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: clamp(8px, 1.6cqh, 16px) 2px clamp(16px, 3cqh, 28px) !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
html body.game-body .phone-emergency-home.hidden {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
html body.game-body .phone-emergency-home::-webkit-scrollbar { display: none !important; }
html body.game-body .phone-emergency-home .app-icon,
html body.game-body .phone-emergency-home .app-icon.has-app-badge {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 88px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    cursor: pointer !important;
}
html body.game-body .phone-emergency-home .app-icon > span:not(.app-notification-badge) {
    width: clamp(50px, min(16cqw, 8.2cqh), 70px) !important;
    height: clamp(50px, min(16cqw, 8.2cqh), 70px) !important;
    min-width: clamp(50px, min(16cqw, 8.2cqh), 70px) !important;
    min-height: clamp(50px, min(16cqw, 8.2cqh), 70px) !important;
    max-width: 72px !important;
    max-height: 72px !important;
    border-radius: clamp(14px, 4.4cqw, 20px) !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.34), 0 10px 18px rgba(0,0,0,.34) !important;
}
html body.game-body .phone-emergency-home .app-icon > span:not(.app-notification-badge) img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: inherit !important;
}
html body.game-body .phone-emergency-home .app-icon b {
    display: block !important;
    width: min(100%, 104px) !important;
    max-width: 104px !important;
    margin: 0 auto !important;
    color: #fff !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: clamp(.58rem, min(2.65cqw, 1.25cqh), .74rem) !important;
    line-height: 1.08 !important;
    font-weight: 1000 !important;
    text-shadow: 0 2px 6px rgba(0,0,0,.88), 0 0 8px rgba(0,0,0,.45) !important;
}
html body.game-body .phone-emergency-home .app-icon > .app-notification-badge {
    position: absolute !important;
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    min-height: 21px !important;
    max-width: 21px !important;
    max-height: 21px !important;
    top: -4px !important;
    left: calc(50% + 14px) !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    padding: 0 !important;
    background: linear-gradient(180deg, #ff4d4d, #d91624) !important;
    border: 2px solid rgba(255,255,255,.94) !important;
    color: #fff !important;
    font-size: .62rem !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    z-index: 140 !important;
    box-shadow: 0 2px 7px rgba(0,0,0,.34) !important;
}
html body.game-body .phone-emergency-home .app-icon > .app-notification-badge.hidden { display: none !important; }
@media (min-height: 900px) {
    html body.game-body .phone-emergency-home { grid-auto-rows: minmax(96px, auto) !important; gap: clamp(12px, 1.9cqh, 20px) clamp(10px, 2.4cqw, 18px) !important; }
}
@media (max-height: 760px) {
    html body.game-body .phone-emergency-home { top: 58px !important; grid-auto-rows: minmax(76px, auto) !important; gap: 7px 8px !important; padding-top: 6px !important; }
    html body.game-body .phone-emergency-home .app-icon { min-height: 76px !important; gap: 4px !important; }
    html body.game-body .phone-emergency-home .app-icon > span:not(.app-notification-badge) {
        width: clamp(42px, min(14.5cqw, 7cqh), 58px) !important;
        height: clamp(42px, min(14.5cqw, 7cqh), 58px) !important;
        min-width: clamp(42px, min(14.5cqw, 7cqh), 58px) !important;
        min-height: clamp(42px, min(14.5cqw, 7cqh), 58px) !important;
    }
    html body.game-body .phone-emergency-home .app-icon b { font-size: clamp(.52rem, min(2.4cqw, 1.18cqh), .66rem) !important; }
}

/* v5.82: Smartphone-Homescreen paginiert und App-Views nutzen die Displayhoehe sinnvoll */
html body.game-body .phone-emergency-home {
    display: block !important;
    overflow: hidden !important;
    padding: 0 !important;
    top: clamp(58px, 9.5cqh, 78px) !important;
    bottom: clamp(8px, 1.6cqh, 14px) !important;
}
html body.game-body .phone-emergency-home.hidden {
    display: none !important;
}
html body.game-body .phone-emergency-viewport {
    position: absolute !important;
    inset: 0 0 clamp(40px, 6.5cqh, 52px) 0 !important;
    overflow: hidden !important;
    min-height: 0 !important;
}
html body.game-body .phone-emergency-pages {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: stretch !important;
    transition: transform .34s cubic-bezier(.22,.8,.25,1) !important;
    will-change: transform !important;
}
html body.game-body .phone-emergency-pages.no-anim {
    transition: none !important;
}
html body.game-body .phone-emergency-page,
html body.game-body .phone-emergency-page.app-grid {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
    column-gap: clamp(8px, 2.45cqw, 18px) !important;
    row-gap: clamp(5px, 1.35cqh, 13px) !important;
    align-items: center !important;
    justify-items: center !important;
    align-content: stretch !important;
    justify-content: stretch !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding: clamp(5px, 1.05cqh, 10px) clamp(6px, 2.0cqw, 12px) !important;
}
html body.game-body .phone-emergency-page .app-icon,
html body.game-body .phone-emergency-page .app-icon.has-app-badge {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: clamp(2px, .7cqh, 6px) !important;
}
html body.game-body .phone-emergency-page .app-icon > span:not(.app-notification-badge) {
    width: clamp(46px, min(15.5cqw, 8.1cqh), 72px) !important;
    height: clamp(46px, min(15.5cqw, 8.1cqh), 72px) !important;
    min-width: clamp(46px, min(15.5cqw, 8.1cqh), 72px) !important;
    min-height: clamp(46px, min(15.5cqw, 8.1cqh), 72px) !important;
}
html body.game-body .phone-emergency-page .app-icon b {
    max-width: min(112px, 96%) !important;
    width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: clamp(.58rem, min(2.55cqw, 1.22cqh), .78rem) !important;
    min-height: 1.08em !important;
    max-height: 1.2em !important;
}
html body.game-body .phone-emergency-nav {
    position: absolute !important;
    bottom: clamp(5px, 1.25cqh, 10px) !important;
    z-index: 180 !important;
    width: clamp(28px, 7.2cqw, 36px) !important;
    height: clamp(28px, 7.2cqw, 36px) !important;
    display: grid !important;
    place-items: center !important;
    line-height: 1 !important;
    padding: 0 !important;
    font-size: clamp(1.45rem, 4.8cqw, 1.9rem) !important;
    text-align: center !important;
}
html body.game-body .phone-emergency-nav-prev { left: clamp(10px, 3.2cqw, 18px) !important; }
html body.game-body .phone-emergency-nav-next { right: clamp(10px, 3.2cqw, 18px) !important; }
html body.game-body .phone-emergency-dots {
    position: absolute !important;
    left: 50% !important;
    bottom: clamp(13px, 2.0cqh, 18px) !important;
    transform: translateX(-50%) !important;
    z-index: 181 !important;
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: center !important;
}
html body.game-body .phone-emergency-single-page .phone-emergency-nav,
html body.game-body .phone-emergency-single-page .phone-emergency-dots {
    display: none !important;
}
html body.game-body .phone-screen.phone-app-open .phone-emergency-home {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
html body.game-body .phone-screen.phone-app-open .phone-view.app-view:not(.hidden):not(#appChat),
html body.game-body .phone-screen.phone-app-open .phone-view.app-view:not(.hidden) {
    display: flex !important;
    flex-direction: column !important;
    height: calc(100% - 38px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
}
html body.game-body .phone-screen.phone-app-open .phone-view.app-view:not(.hidden) .app-header {
    flex: 0 0 auto !important;
}
html body.game-body .phone-screen.phone-app-open .phone-view.app-view:not(.hidden) .phone-tabs,
html body.game-body .phone-screen.phone-app-open .phone-view.app-view:not(.hidden) .job-tabs {
    flex: 0 0 auto !important;
}
html body.game-body .phone-screen.phone-app-open .phone-view.app-view:not(.hidden) > .phone-list,
html body.game-body .phone-screen.phone-app-open .phone-view.app-view:not(.hidden) > .store-offer {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding-bottom: clamp(22px, 4.6cqh, 44px) !important;
}
html body.game-body #jobList.phone-list,
html body.game-body #calendarApp.phone-list,
html body.game-body #dealerApp.phone-list,
html body.game-body #workshopApp.phone-list,
html body.game-body #gasApp.phone-list,
html body.game-body #assistanceApp.phone-list,
html body.game-body #insuranceApp.phone-list,
html body.game-body #bankApp.phone-list,
html body.game-body #jobcenterApp.phone-list,
html body.game-body #mailApp.phone-list,
html body.game-body #friendsApp.phone-list,
html body.game-body #musicApp.phone-list,
html body.game-body #instataxApp.phone-list,
html body.game-body #taxReviewApp.phone-list,
html body.game-body #reportApp.phone-list,
html body.game-body #settingsApp.phone-list {
    max-height: none !important;
}

/* v5.83: Smartphone-Apps wirklich vollflächig, Badges am Symbol, Dealer/Lupus UX */
html body.game-body .phone-screen {
    position: relative !important;
    overflow: hidden !important;
}
html body.game-body .phone-emergency-page .app-icon,
html body.game-body .phone-emergency-home .app-icon,
html body.game-body #phoneHome .app-icon {
    position: relative !important;
}
html body.game-body .phone-emergency-page .app-icon > .phone-app-symbol,
html body.game-body .phone-emergency-page .app-icon > span:not(.app-notification-badge),
html body.game-body .phone-emergency-home .app-icon > .phone-app-symbol,
html body.game-body .phone-emergency-home .app-icon > span:not(.app-notification-badge),
html body.game-body #phoneHome .app-icon > .phone-app-symbol,
html body.game-body #phoneHome .app-icon > span:not(.app-notification-badge) {
    position: relative !important;
    overflow: visible !important;
}
html body.game-body .phone-emergency-page .app-icon .phone-app-symbol > .app-notification-badge,
html body.game-body .phone-emergency-page .app-icon > span:not(.app-notification-badge) > .app-notification-badge,
html body.game-body .phone-emergency-home .app-icon .phone-app-symbol > .app-notification-badge,
html body.game-body .phone-emergency-home .app-icon > span:not(.app-notification-badge) > .app-notification-badge,
html body.game-body #phoneHome .app-icon .phone-app-symbol > .app-notification-badge,
html body.game-body #phoneHome .app-icon > span:not(.app-notification-badge) > .app-notification-badge {
    position: absolute !important;
    top: -7px !important;
    right: -7px !important;
    left: auto !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    padding: 0 !important;
    background: linear-gradient(180deg, #ff4c4c, #df1726) !important;
    border: 2px solid #fff !important;
    color: #fff !important;
    font-size: .62rem !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
    z-index: 40 !important;
    box-shadow: 0 2px 7px rgba(0,0,0,.35) !important;
}
html body.game-body .phone-emergency-page .app-icon .app-notification-badge.hidden,
html body.game-body .phone-emergency-home .app-icon .app-notification-badge.hidden,
html body.game-body #phoneHome .app-icon .app-notification-badge.hidden { display: none !important; }

html body.game-body .phone-screen.phone-app-open > .phone-view.app-view:not(.hidden) {
    position: absolute !important;
    left: clamp(10px, 2.5cqw, 16px) !important;
    right: clamp(10px, 2.5cqw, 16px) !important;
    top: clamp(48px, 7.2cqh, 62px) !important;
    bottom: clamp(12px, 2.0cqh, 18px) !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
    z-index: 60 !important;
}
html body.game-body .phone-screen.phone-app-open > .phone-view.app-view.hidden {
    display: none !important;
}
html body.game-body .phone-screen.phone-app-open > .phone-view.app-view:not(.hidden) > .app-header {
    flex: 0 0 auto !important;
    margin: 0 0 clamp(8px, 1.4cqh, 12px) !important;
}
html body.game-body .phone-screen.phone-app-open > .phone-view.app-view:not(.hidden) > .phone-tabs,
html body.game-body .phone-screen.phone-app-open > .phone-view.app-view:not(.hidden) > .job-tabs {
    flex: 0 0 auto !important;
    margin-bottom: clamp(8px, 1.3cqh, 12px) !important;
}
html body.game-body .phone-screen.phone-app-open > .phone-view.app-view:not(.hidden) > .phone-list,
html body.game-body .phone-screen.phone-app-open > .phone-view.app-view:not(.hidden) > .store-offer,
html body.game-body .phone-screen.phone-app-open > .phone-view.app-view:not(.hidden) > #chatApp {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding-bottom: clamp(18px, 4cqh, 42px) !important;
}
html body.game-body .phone-screen.phone-app-open > #appChat.phone-view.app-view:not(.hidden) > #chatApp {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
}
html body.game-body .phone-screen.phone-app-open > #appChat.phone-view.app-view:not(.hidden) .social-chat-messages,
html body.game-body .phone-screen.phone-app-open > #appChat.phone-view.app-view:not(.hidden) .chat-messages,
html body.game-body .phone-screen.phone-app-open > #appChat.phone-view.app-view:not(.hidden) [data-chat-messages] {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
}
html body.game-body .phone-screen.phone-app-open > #appChat.phone-view.app-view:not(.hidden) .social-chat-composer,
html body.game-body .phone-screen.phone-app-open > #appChat.phone-view.app-view:not(.hidden) .chat-composer {
    flex: 0 0 auto !important;
}

html body.game-body .insurance-muted-status {
    align-self: center !important;
    color: rgba(255,236,185,.68) !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    text-align: right !important;
}
html body.game-body .nordland-popup-offers {
    display: grid !important;
    gap: .65rem !important;
    max-height: min(54vh, 520px) !important;
    overflow-y: auto !important;
    padding-right: .25rem !important;
}
html body.game-body .nordland-popup-offers .dealer-offer-mini {
    min-height: 74px !important;
}
html body.game-body .dealer-offer-list.top-only {
    max-height: none !important;
    overflow: visible !important;
}


/* v5.85: Mobile Szenen, Werkstatt-Details, Vanessa-Vorrat */
@media (max-width: 900px) {
  body.game-body .scene-popup:not(.hidden) .scene-character,
  body.game-body .scene-popup:not(.hidden) .pauline-figure,
  body.game-body .scene-popup:not(.hidden) .enrico-figure,
  body.game-body .scene-popup:not(.hidden) .dealer-figure,
  body.game-body .scene-popup:not(.hidden) .assistance-figure,
  body.game-body .scene-popup:not(.hidden) .rick-figure,
  body.game-body .scene-popup:not(.hidden) .theresa-figure,
  body.game-body .scene-popup:not(.hidden) .bank-figure,
  body.game-body .scene-popup:not(.hidden) .jobcenter-figure,
  body.game-body .scene-popup:not(.hidden) .insurance-figure,
  body.game-body .store-purchase-scene:not(.hidden) .store-dealer-figure {
    left: -50px !important;
    position: relative !important;
  }
}
body.game-body .workshop-report-list { display:grid; gap:.65rem; }
body.game-body .workshop-taxi-report { display:grid; grid-template-columns:64px minmax(0,1fr) 120px; gap:.65rem; align-items:center; padding:.65rem; border:1px solid rgba(224,173,83,.35); border-radius:16px; background:rgba(0,0,0,.22); cursor:pointer; }
body.game-body .workshop-taxi-report img { width:64px; height:54px; object-fit:contain; }
body.game-body .workshop-taxi-report-main { display:grid; gap:.15rem; min-width:0; }
body.game-body .workshop-taxi-report-main strong { color:#fff4c7; }
body.game-body .workshop-taxi-report-main small, body.game-body .workshop-taxi-report-main span { color:rgba(255,238,203,.75); }
body.game-body .workshop-taxi-report.sell-warning { border-color:rgba(255,104,86,.62); box-shadow:0 0 0 1px rgba(255,104,86,.15) inset; }
body.game-body .workshop-taxi-report-bars { display:grid; gap:.18rem; }
body.game-body .workshop-taxi-report-bars label { font-size:.72rem; color:#ffe9af; font-weight:900; }
body.game-body .workshop-taxi-report-bars i { display:block; height:7px; background:rgba(0,0,0,.5); border-radius:999px; overflow:hidden; }
body.game-body .workshop-taxi-report-bars b { display:block; height:100%; background:linear-gradient(90deg,#ff5e4f,#ffe86a,#66e86c); border-radius:999px; }
body.game-body .gas-inventory-grid, body.game-body .gas-drop-list { display:grid; gap:.55rem; }
body.game-body .gas-inventory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.game-body .gas-inventory-item, body.game-body .gas-drop-taxi { display:grid; align-items:center; gap:.45rem; border:1px solid rgba(224,173,83,.32); background:rgba(0,0,0,.22); border-radius:16px; padding:.55rem; }
body.game-body .gas-inventory-item { grid-template-columns:42px minmax(0,1fr); position:relative; }
body.game-body .gas-inventory-item img, body.game-body .gas-drop-taxi img { width:42px; height:42px; object-fit:contain; }
body.game-body .gas-inventory-item strong, body.game-body .gas-drop-taxi strong { color:#fff3be; }
body.game-body .gas-inventory-item small, body.game-body .gas-drop-taxi small { color:rgba(255,239,205,.72); }
body.game-body .gas-inventory-item em { position:absolute; right:.5rem; top:.45rem; font-style:normal; font-weight:900; color:#ffe26a; }
body.game-body .gas-inventory-item .button.tiny { grid-column:1 / -1; padding:.45rem .6rem; min-height:0; }
body.game-body .gas-inventory-item.has-stock { cursor:grab; border-color:rgba(255,218,97,.62); }
body.game-body .gas-inventory-item.is-dragging { opacity:.55; }
body.game-body .gas-drop-taxi { grid-template-columns:52px minmax(0,1fr); }
body.game-body .gas-drop-taxi.drag-over { border-color:#ffe16d; box-shadow:0 0 0 2px rgba(255,225,109,.28), 0 0 18px rgba(255,225,109,.25); }
@media (max-width: 700px) {
  body.game-body .workshop-taxi-report { grid-template-columns:52px minmax(0,1fr); }
  body.game-body .workshop-taxi-report-bars { grid-column:1 / -1; }
  body.game-body .gas-inventory-grid { grid-template-columns:1fr; }
}

body.game-body .gas-inventory-item.selected-stock { border-color:#8d5cff; box-shadow:0 0 0 2px rgba(141,92,255,.35), 0 0 18px rgba(141,92,255,.25); }


/* v5.85: Benachrichtigungen mit 0 werden gar nicht angezeigt. */
html body.game-body .app-notification-badge.hidden,
html body.game-body .app-notification-badge:empty {
    display: none !important;
}

/* v5.91: Bank-App Ausgaben detailliert nach Bereichen */
.bank-period-card.has-details {
    gap: .45rem;
}
.bank-expense-detail-list {
    margin-top: .45rem;
    padding-top: .45rem;
    border-top: 1px solid rgba(255, 215, 128, .16);
    display: grid;
    gap: .26rem;
}
.bank-expense-detail-list.empty {
    color: rgba(255, 244, 204, .68);
    font-size: .78rem;
}
.bank-expense-detail-title {
    font-weight: 900;
    color: #ffd978;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .68rem;
    opacity: .95;
}
.bank-expense-detail-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    padding: .28rem .42rem;
    border-radius: 10px;
    background: rgba(0, 0, 0, .22);
    border: 1px solid rgba(255, 255, 255, .055);
}
.bank-expense-detail-row span {
    display: flex;
    align-items: baseline;
    gap: .35rem;
    min-width: 0;
    color: rgba(255, 244, 214, .9);
    font-weight: 800;
    font-size: .8rem;
}
.bank-expense-detail-row span small {
    color: rgba(255, 244, 214, .55);
    font-weight: 700;
    font-size: .64rem;
    white-space: nowrap;
}
.bank-expense-detail-row b {
    white-space: nowrap;
    font-size: .82rem;
    color: #ffb1a6;
}

/* v5.91: App-Hilfe, saubere Badges und Lupus-Anzeige in Enricos App */
html body.game-body .app-header {
    position: relative;
}
html body.game-body .app-help-button {
    margin-left: auto;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid rgba(255, 221, 130, .45);
    background: rgba(20, 13, 8, .72);
    color: #ffe083;
    font-weight: 1000;
    line-height: 1;
    display: inline-grid;
    place-items: center;
    box-shadow: 0 6px 16px rgba(0,0,0,.25);
    cursor: pointer;
}
html body.game-body .app-help-button:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 234, 160, .9);
}
html body.game-body .app-icon .phone-app-symbol {
    position: relative !important;
}
html body.game-body .app-icon > .app-notification-badge {
    display: none !important;
}
html body.game-body .app-icon .phone-app-symbol > .app-notification-badge {
    position: absolute !important;
    top: -7px !important;
    right: -8px !important;
    z-index: 5 !important;
    display: inline-grid !important;
    place-items: center !important;
    min-width: 17px !important;
    height: 17px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 1000 !important;
    box-shadow: 0 4px 10px rgba(0,0,0,.36) !important;
}
html body.game-body .app-icon .phone-app-symbol > .app-notification-badge.hidden,
html body.game-body .app-icon .phone-app-symbol > .app-notification-badge:empty {
    display: none !important;
}
html body.game-body .workshop-taxi-report.is-lupus-insured {
    border-color: rgba(177, 111, 255, .55) !important;
    box-shadow: 0 0 0 1px rgba(177,111,255,.14) inset, 0 0 18px rgba(177,111,255,.13) !important;
}
html body.game-body .workshop-lupus-badge {
    display: inline-flex;
    align-items: center;
    margin-left: .35rem;
    padding: .12rem .42rem;
    border-radius: 999px;
    background: rgba(137, 79, 255, .2);
    border: 1px solid rgba(190, 140, 255, .38);
    color: #e7ccff;
    font-size: .62rem;
    font-style: normal;
    font-weight: 1000;
    white-space: nowrap;
}

/* v5.91: Problemmelden-App sauber, stabil und vollflächig */
html body.game-body #appReport.phone-view.app-view:not(.hidden) {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
}
html body.game-body #appReport .app-header {
    flex: 0 0 auto !important;
}
html body.game-body #reportApp.phone-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: .7rem .75rem 1.2rem !important;
    display: block !important;
}
html body.game-body .problem-report-shell-v591 {
    display: grid !important;
    gap: .7rem !important;
    width: 100% !important;
    max-width: 100% !important;
}
html body.game-body .report-hero-v591 {
    display: grid !important;
    grid-template-columns: 48px minmax(0,1fr) !important;
    gap: .7rem !important;
    align-items: center !important;
}
html body.game-body .report-hero-v591 > span {
    width: 48px !important;
    height: 48px !important;
    border-radius: 16px !important;
    display: grid !important;
    place-items: center !important;
    font-size: 1.45rem !important;
    background: linear-gradient(145deg,#ff776d,#782014) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.35) !important;
}
html body.game-body .report-hero-v591 strong {
    display: block !important;
    color: #fff3c2 !important;
    font-size: 1rem !important;
}
html body.game-body .report-hero-v591 small,
html body.game-body .report-card p,
html body.game-body .report-context-box-v591 small {
    color: rgba(255,238,203,.76) !important;
    line-height: 1.35 !important;
}
html body.game-body .report-form-card-v591 {
    display: grid !important;
    gap: .65rem !important;
}
html body.game-body .report-form-card-v591 label {
    display: grid !important;
    gap: .35rem !important;
    color: #ffe9ad !important;
    font-weight: 900 !important;
    font-size: .86rem !important;
}
html body.game-body .report-form-card-v591 select,
html body.game-body .report-form-card-v591 textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,218,122,.26) !important;
    background: rgba(7,5,4,.72) !important;
    color: #fff7dc !important;
    padding: .65rem .75rem !important;
    font: inherit !important;
    outline: none !important;
    resize: vertical !important;
}
html body.game-body .report-form-card-v591 textarea {
    min-height: 136px !important;
    line-height: 1.35 !important;
}
html body.game-body .report-context-box-v591 {
    border: 1px solid rgba(255,218,122,.18) !important;
    border-radius: 14px !important;
    padding: .65rem .75rem !important;
    background: rgba(255,218,122,.07) !important;
    display: grid !important;
    gap: .2rem !important;
}
html body.game-body .report-context-box-v591 span {
    color: #fff0ba !important;
    font-weight: 1000 !important;
}
html body.game-body .report-status-v591 {
    min-height: 20px !important;
    display: grid !important;
    gap: .2rem !important;
    font-size: .8rem !important;
}
html body.game-body .success-text { color:#8cff9a !important; font-weight:900 !important; }
html body.game-body .error-text { color:#ff8a74 !important; font-weight:900 !important; }
.admin-problem-report-list-v591 { display:grid; gap:1rem; }
.admin-problem-report-card-v591 { border:1px solid rgba(255,218,122,.18); border-radius:18px; background:rgba(18,12,8,.72); padding:1rem; display:grid; gap:.75rem; }
.admin-problem-report-card-v591 header, .admin-problem-report-card-v591 footer { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; flex-wrap:wrap; }
.admin-problem-report-card-v591 header span { border-radius:999px; padding:.28rem .65rem; background:rgba(255,218,122,.14); color:#ffe9ad; font-weight:900; }
.admin-problem-report-card-v591.status-new { border-color:rgba(255,103,73,.48); }
.admin-problem-report-card-v591.status-done { opacity:.78; }
.admin-problem-report-card-v591 p { white-space:pre-wrap; margin:0; line-height:1.45; }
.admin-problem-report-card-v591 pre { white-space:pre-wrap; max-height:240px; overflow:auto; background:#110c08; color:#ffe9bd; border-radius:12px; padding:.75rem; }
.admin-problem-report-card-v591 form { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.admin-filter-row { display:flex; gap:.45rem; flex-wrap:wrap; }

/* v5.91: Premium-Widerrufsformular + Badge-/Smartphone-Stabilisierung */
.premium-withdrawal-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(3, 8, 16, .72);
    backdrop-filter: blur(10px);
}
.premium-withdrawal-modal.hidden { display: none !important; }
.premium-withdrawal-card {
    position: relative;
    width: min(560px, 100%);
    max-height: min(88vh, 720px);
    overflow: auto;
    border-radius: 28px;
    padding: 28px;
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(246,244,236,.96));
    color: #1b1d22;
    box-shadow: 0 30px 80px rgba(0,0,0,.45);
}
.premium-withdrawal-card h2 { margin: 12px 0 8px; }
.premium-withdrawal-card p { color: rgba(25,28,34,.72); line-height: 1.45; }
.premium-withdrawal-card label,
.premium-withdrawal-card .settings-form label,
.premium-withdrawal-card .settings-form span {
    color: #172033 !important;
    font-weight: 800;
}
.premium-withdrawal-card input,
.premium-withdrawal-card textarea {
    width: 100%;
    background: #ffffff !important;
    color: #111827 !important;
    border: 1px solid rgba(15,23,42,.24) !important;
    box-shadow: inset 0 1px 2px rgba(15,23,42,.06) !important;
    caret-color: #111827;
}
.premium-withdrawal-card textarea {
    min-height: 132px;
    resize: vertical;
    line-height: 1.45;
}
.premium-withdrawal-card input::placeholder,
.premium-withdrawal-card textarea::placeholder { color: rgba(15,23,42,.46) !important; }
.premium-withdrawal-card input:focus,
.premium-withdrawal-card textarea:focus {
    outline: none;
    border-color: rgba(37,99,235,.68) !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.14), inset 0 1px 2px rgba(15,23,42,.06) !important;
}
.premium-withdrawal-close { color: #111827; }
.premium-withdrawal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 999px;
    background: rgba(0,0,0,.08);
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
}
.premium-withdrawal-status {
    min-height: 22px;
    padding: 9px 11px;
    border-radius: 14px;
    background: rgba(15,23,42,.06);
    color: rgba(15,23,42,.72);
    font-size: .9rem;
}
.premium-withdrawal-status:empty { display: none; }
.premium-withdrawal-status.is-success { background: rgba(22,163,74,.13); color: #166534; }
.premium-withdrawal-status.is-error { background: rgba(220,38,38,.13); color: #991b1b; }
.premium-withdrawal-status.is-loading { background: rgba(37,99,235,.12); color: #1d4ed8; }

html body.game-body .app-icon { position: relative; }
html body.game-body .app-icon .app-notification-badge .app-notification-badge { display: none !important; }
html body.game-body .app-icon > .app-notification-badge:not(:last-of-type) { display: none !important; }
html body.game-body .app-icon .phone-app-symbol > .app-notification-badge:not(:last-of-type) { display: none !important; }

/* v5.93: Stromsparmodus für mobile/warme Endgeräte – weniger Daueranimationen ohne Spielmechanik zu ändern. */
body.game-body.taxi-low-power-client .friend-taxi-flag-icon.is-moving .friend-taxi-flag,
body.game-body.taxi-low-power-client .map-icon.map-taxi-moving,
body.game-body.taxi-low-power-client .app-bounce-alert,
body.game-body.taxi-low-power-client .phone-job-pin-bounce {
    animation-duration: 2.8s !important;
    animation-iteration-count: 1 !important;
}
body.game-body.taxi-low-power-client .leaflet-marker-icon,
body.game-body.taxi-low-power-client .leaflet-marker-shadow {
    will-change: auto !important;
}

/* v5.94: Theresa/Beschwerdemanagement bei vielen Beschwerden komplett scrollbar.
   Ursache: Der generische Szenen-Dialog startet bei top:30%, durfte aber fast volle Szenenhöhe einnehmen.
   Dadurch lag das untere Ende des scrollbaren Dialogs außerhalb des 16:9-Popups und wurde abgeschnitten. */
html body.game-body .theresa-scene.scene-popup:not(.hidden) .theresa-dialogue,
html body.game-body .scene-popup.theresa-scene:not(.hidden) #theresaDialogue.theresa-dialogue {
    top: clamp(32px, 6%, 58px) !important;
    bottom: clamp(22px, 4%, 42px) !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-gutter: stable !important;
    padding-bottom: clamp(1rem, 2.2vh, 1.6rem) !important;
}
html body.game-body .theresa-scene.scene-popup:not(.hidden) .theresa-popup-controls {
    padding-bottom: .35rem !important;
}
html body.game-body .theresa-scene.scene-popup:not(.hidden) .theresa-popup-controls > [data-close-theresa] {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 6 !important;
    box-shadow: 0 -10px 22px rgba(30,14,6,.34) !important;
}
html body.game-body .theresa-scene.scene-popup:not(.hidden) .theresa-complaint-card:last-of-type {
    margin-bottom: .35rem !important;
}
@media (min-width: 1180px) {
    html body.game-body .theresa-scene.scene-popup:not(.hidden) .theresa-dialogue,
    html body.game-body .scene-popup.theresa-scene:not(.hidden) #theresaDialogue.theresa-dialogue {
        width: min(700px, 56%) !important;
        max-width: 56% !important;
    }
}
@media (max-width: 900px) {
    html body.game-body .theresa-scene.scene-popup:not(.hidden) .theresa-dialogue,
    html body.game-body .scene-popup.theresa-scene:not(.hidden) #theresaDialogue.theresa-dialogue {
        left: clamp(12px, 3vw, 22px) !important;
        right: clamp(12px, 3vw, 22px) !important;
        top: clamp(76px, 12%, 112px) !important;
        bottom: clamp(14px, 3%, 24px) !important;
        width: auto !important;
        max-width: none !important;
    }
}


/* v5.95: Instagram-Follow-Button auf der Startseite */
body.auth-body .landing-instagram-follow-v595 {
    display: inline-grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .74rem !important;
    width: min(380px, calc(100vw - 2.2rem)) !important;
    margin: 0 auto .9rem !important;
    padding: .78rem .98rem !important;
    border-radius: 999px !important;
    color: #fff !important;
    text-decoration: none !important;
    background:
        radial-gradient(circle at 18% 20%, rgba(255,236,128,.98) 0 10%, rgba(255,236,128,0) 28%),
        radial-gradient(circle at 86% 15%, rgba(255,255,255,.32), rgba(255,255,255,0) 32%),
        linear-gradient(135deg, #ffd44d 0%, #ff7a18 24%, #f23a84 52%, #9b3cff 78%, #3657ff 100%) !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    box-shadow: 0 18px 42px rgba(129, 41, 174, .38), inset 0 1px 0 rgba(255,255,255,.28) !important;
    position: relative !important;
    overflow: hidden !important;
    transform: translateZ(0) !important;
}
body.auth-body .landing-instagram-follow-v595::after {
    content: '' !important;
    position: absolute !important;
    inset: 1px !important;
    border-radius: inherit !important;
    background: linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,0) 48%, rgba(0,0,0,.15)) !important;
    pointer-events: none !important;
}
body.auth-body .landing-instagram-follow-v595:hover,
body.auth-body .landing-instagram-follow-v595:focus-visible {
    transform: translateY(-2px) scale(1.018) !important;
    box-shadow: 0 24px 56px rgba(129, 41, 174, .46), inset 0 1px 0 rgba(255,255,255,.34) !important;
    outline: none !important;
}
body.auth-body .landing-instagram-follow-icon {
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.18) !important;
    border: 1px solid rgba(255,255,255,.32) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 8px 18px rgba(0,0,0,.18) !important;
    font-size: 1.72rem !important;
    font-weight: 1000 !important;
    line-height: 1 !important;
}
body.auth-body .landing-instagram-follow-v595 span:not(.landing-instagram-follow-icon) {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    gap: .08rem !important;
    text-align: left !important;
}
body.auth-body .landing-instagram-follow-v595 strong {
    color: #fff !important;
    font-weight: 1000 !important;
    line-height: 1.08 !important;
    letter-spacing: .01em !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.30) !important;
}
body.auth-body .landing-instagram-follow-v595 small {
    color: rgba(255,255,255,.88) !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-size: .68rem !important;
}
@media (max-width: 640px) {
    body.auth-body .landing-instagram-follow-v595 {
        width: min(340px, calc(100vw - 1.3rem)) !important;
        margin-bottom: .75rem !important;
        padding: .68rem .78rem !important;
        gap: .58rem !important;
    }
    body.auth-body .landing-instagram-follow-icon {
        width: 38px !important;
        height: 38px !important;
        font-size: 1.52rem !important;
    }
    body.auth-body .landing-instagram-follow-v595 strong { font-size: .92rem !important; }
    body.auth-body .landing-instagram-follow-v595 small { font-size: .62rem !important; }
}

/* v5.96: Startseite neu strukturiert – Login wieder klar im Fokus */
body.auth-body {
    background:
        radial-gradient(circle at top center, rgba(255,201,78,.10), transparent 32%),
        linear-gradient(180deg, rgba(3,8,20,.68) 0%, rgba(4,4,10,.78) 46%, rgba(9,4,1,.92) 100%),
        url('../img/background_city_night.png') center top / cover no-repeat fixed !important;
}
body.auth-body::before {
    background: linear-gradient(180deg, rgba(3,8,18,.40) 0%, rgba(4,5,12,.12) 42%, rgba(8,3,1,.88) 100%) !important;
}
body.auth-body .landing-auth-v596 {
    width: min(1320px, calc(100vw - 32px)) !important;
    max-width: 1320px !important;
    min-height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 18px 16px 0 !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    position: relative;
    z-index: 2;
}
body.auth-body .landing-center-v596 {
    display: grid;
    gap: 18px;
    justify-items: center;
}
body.auth-body .landing-logo-v596 {
    width: min(250px, 45vw) !important;
    margin: 0 auto 2px !important;
    filter: drop-shadow(0 16px 34px rgba(0,0,0,.55));
}
body.auth-body .landing-hero-grid-v596 {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 430px);
    align-items: center;
    gap: 34px;
    padding: 8px 4px 0;
}
body.auth-body .landing-intro-v596 {
    justify-self: stretch;
    max-width: 690px;
    padding: 10px 0 0;
}
body.auth-body .landing-kicker-v596 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border-radius: 999px;
    border: 1px solid rgba(255,202,99,.42);
    background: rgba(22,12,5,.60);
    color: #ffe0a0;
    font-size: .98rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .18em;
    box-shadow: 0 12px 26px rgba(0,0,0,.28);
    margin-bottom: 18px;
}
body.auth-body .landing-intro-v596 h1 {
    margin: 0;
    font-size: clamp(3.6rem, 6.2vw, 5.9rem);
    line-height: .95;
    font-weight: 1000;
    letter-spacing: -.08em;
    color: #fff8ec;
    text-shadow: 0 10px 28px rgba(0,0,0,.55);
}
body.auth-body .landing-intro-v596 h1 span {
    display: block;
    color: #ffd86a;
}
body.auth-body .landing-intro-v596 p {
    margin: 20px 0 0;
    max-width: 610px;
    font-size: clamp(1.12rem, 1.55vw, 1.35rem);
    line-height: 1.55;
    color: rgba(255,244,225,.95);
    text-shadow: 0 6px 20px rgba(0,0,0,.52);
}
body.auth-body .landing-instagram-follow-v596 {
    display: inline-flex !important;
    align-items: center;
    gap: 14px;
    margin-top: 28px;
    padding: 14px 22px;
    min-width: 285px;
    border-radius: 999px;
    text-decoration: none;
    color: #fff6ed;
    border: 1px solid rgba(255,203,112,.40);
    background: rgba(20,10,4,.68);
    box-shadow: 0 18px 36px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.10);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body.auth-body .landing-instagram-follow-v596:hover,
body.auth-body .landing-instagram-follow-v596:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 24px 38px rgba(0,0,0,.34), 0 0 0 3px rgba(255,173,95,.14);
    border-color: rgba(255,216,132,.64);
}
body.auth-body .landing-instagram-follow-v596 .landing-instagram-follow-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    flex: 0 0 40px;
    font-size: 1.08rem;
    font-weight: 900;
    color: #fff8ee;
    background: linear-gradient(135deg, #f8e08b 0%, #eab95d 22%, #d85ed8 68%, #7b7cff 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.48), 0 10px 20px rgba(15,8,20,.28);
}
body.auth-body .landing-instagram-follow-v596 strong {
    display: block;
    font-size: 1.05rem;
    line-height: 1.1;
}
body.auth-body .landing-instagram-follow-v596 small {
    display: block;
    margin-top: 4px;
    color: rgba(255,227,171,.88);
    font-size: .84rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 900;
}
body.auth-body .landing-login-column-v596 {
    width: 100%;
    display: flex;
    justify-content: center;
}
body.auth-body .landing-auth-card-v596 {
    width: 100% !important;
    max-width: 420px !important;
    padding: 24px 24px 20px !important;
    border-radius: 34px !important;
    background: linear-gradient(180deg, rgba(28,15,6,.92) 0%, rgba(12,8,6,.93) 100%) !important;
    border: 1px solid rgba(255,191,72,.48) !important;
    box-shadow: 0 0 0 1px rgba(255,226,147,.08), 0 26px 60px rgba(0,0,0,.46), 0 0 42px rgba(255,181,54,.18) !important;
}
body.auth-body .landing-auth-card-v596 .tabs {
    margin-bottom: 18px;
}
body.auth-body .landing-auth-card-v596 .tab {
    min-width: 118px;
    padding: 13px 22px;
    border-radius: 999px;
    font-size: 1.05rem;
}
body.auth-body .landing-auth-card-v596 .auth-form {
    gap: 14px;
}
body.auth-body .landing-auth-card-v596 label {
    display: grid;
    gap: 8px;
    font-size: 1.12rem;
    font-weight: 900;
    color: #f3d6a0;
}
body.auth-body .landing-auth-card-v596 input {
    height: 56px;
    border-radius: 18px;
    font-size: 1.04rem;
    padding: 0 16px;
    background: rgba(11,8,6,.92);
    border: 1px solid rgba(255,191,90,.22);
    color: #fff9ef;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
body.auth-body .landing-auth-card-v596 input:focus {
    border-color: rgba(255,202,93,.72);
    box-shadow: 0 0 0 4px rgba(255,190,67,.12), inset 0 1px 0 rgba(255,255,255,.06);
}
body.auth-body .landing-auth-card-v596 .button.primary.full {
    min-height: 58px;
    margin-top: 8px;
    border-radius: 18px;
    font-size: 1.08rem;
    font-weight: 1000;
}
body.auth-body .landing-auth-card-v596 .auth-help {
    margin-top: 2px;
    font-size: 1rem;
}
body.auth-body .landing-auth-card-v596 .auth-help a {
    color: #ffd86a;
}
body.auth-body .landing-showcase-v596 {
    width: min(1120px, 100%);
    margin: 6px auto 0;
    padding: 92px 24px 26px;
    border-top: 1px solid rgba(255,193,86,.18);
    border-radius: 38px 38px 0 0;
    position: relative;
    background: linear-gradient(180deg, rgba(20,10,6,.78) 0%, rgba(9,5,3,.96) 100%);
    box-shadow: 0 -20px 70px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,226,168,.06);
}
body.auth-body .landing-tramfluencer-badge-v596 {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
    width: min(180px, 35vw);
    transition: transform .2s ease, filter .2s ease;
    filter: drop-shadow(0 18px 30px rgba(0,0,0,.48));
}
body.auth-body .landing-tramfluencer-badge-v596:hover,
body.auth-body .landing-tramfluencer-badge-v596:focus-visible {
    transform: translate(-50%, calc(-50% - 4px));
    filter: drop-shadow(0 22px 34px rgba(0,0,0,.54));
}
body.auth-body .landing-tramfluencer-badge-v596 img {
    display: block;
    width: 100%;
    height: auto;
}
body.auth-body .landing-screens-v596 {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    min-height: 0 !important;
}
body.auth-body .landing-screens-v596 .landing-shot {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9.2 !important;
    border-radius: 20px !important;
    background: rgba(13,10,8,.88) !important;
    border: 1px solid rgba(255,187,70,.35) !important;
    box-shadow: 0 18px 34px rgba(0,0,0,.32) !important;
}
body.auth-body .landing-screens-v596 .landing-shot img {
    height: calc(100% - 52px) !important;
}
body.auth-body .landing-screens-v596 .landing-shot span {
    left: 14px !important;
    right: 14px !important;
    bottom: 12px !important;
    font-size: 1rem !important;
    padding: 10px 14px !important;
}
body.auth-body .landing-screens-v596 .landing-shot em {
    display: none !important;
}
body.auth-body .landing-footer-v596 {
    position: relative !important;
    width: min(1120px, calc(100vw - 32px)) !important;
    margin: 0 auto 14px !important;
    padding: 14px 20px 0 !important;
    background: linear-gradient(180deg, rgba(9,5,3,.96) 0%, rgba(9,5,3,.96) 100%) !important;
    border-radius: 0 0 28px 28px;
    border-top: 1px solid rgba(255,190,72,.10);
    box-shadow: none !important;
}
body.auth-body .landing-footer-v596 > span {
    color: rgba(255,229,168,.64) !important;
}
body.auth-body .landing-footer-v596 nav {
    gap: 10px !important;
}
body.auth-body .landing-footer-v596 a,
body.auth-body .landing-footer-v596 button {
    background: rgba(18,11,7,.82) !important;
    border-color: rgba(255,190,76,.14) !important;
}
@media (max-width: 1120px) {
    body.auth-body .landing-auth-v596 {
        width: min(980px, calc(100vw - 20px)) !important;
        padding: 14px 10px 0 !important;
    }
    body.auth-body .landing-hero-grid-v596 {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
        gap: 24px;
    }
    body.auth-body .landing-intro-v596 h1 {
        font-size: clamp(3rem, 6vw, 4.8rem);
    }
    body.auth-body .landing-showcase-v596,
    body.auth-body .landing-footer-v596 {
        width: min(980px, calc(100vw - 20px)) !important;
    }
}
@media (max-width: 860px) {
    body.auth-body .landing-auth-v596 {
        width: calc(100vw - 16px) !important;
    }
    body.auth-body .landing-hero-grid-v596 {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }
    body.auth-body .landing-intro-v596 {
        max-width: 640px;
    }
    body.auth-body .landing-instagram-follow-v596 {
        margin-inline: auto;
    }
    body.auth-body .landing-login-column-v596 {
        width: min(440px, 100%);
    }
    body.auth-body .landing-showcase-v596,
    body.auth-body .landing-footer-v596 {
        width: calc(100vw - 16px) !important;
    }
    body.auth-body .landing-screens-v596 {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 640px) {
    body.auth-body .landing-logo-v596 {
        width: min(220px, 58vw) !important;
    }
    body.auth-body .landing-kicker-v596 {
        font-size: .82rem;
        letter-spacing: .12em;
        padding: 8px 14px;
    }
    body.auth-body .landing-intro-v596 h1 {
        font-size: clamp(2.45rem, 10vw, 3.6rem);
        line-height: .98;
    }
    body.auth-body .landing-intro-v596 p {
        font-size: 1rem;
    }
    body.auth-body .landing-instagram-follow-v596 {
        width: min(100%, 330px);
        min-width: 0;
        padding: 12px 16px;
    }
    body.auth-body .landing-auth-card-v596 {
        max-width: none !important;
        width: 100% !important;
        padding: 18px 16px 16px !important;
        border-radius: 26px !important;
    }
    body.auth-body .landing-auth-card-v596 .tab {
        min-width: 0;
        flex: 1 1 0;
        padding-inline: 10px;
        font-size: .98rem;
    }
    body.auth-body .landing-auth-card-v596 label {
        font-size: 1rem;
    }
    body.auth-body .landing-showcase-v596 {
        padding: 82px 14px 18px;
        border-radius: 26px 26px 0 0;
    }
    body.auth-body .landing-tramfluencer-badge-v596 {
        width: min(150px, 42vw);
    }
    body.auth-body .landing-footer-v596 {
        padding: 12px 12px 0 !important;
        border-radius: 0 0 22px 22px;
    }
}


/* v5.97: Startseite – alle Screenshot-Kacheln gleich groß */
body.auth-body .landing-screens-v596 .landing-shot-main,
body.auth-body .landing-screens-v596 .landing-shot {
    grid-column: auto !important;
    grid-row: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9.2 !important;
}

body.auth-body .landing-screens-v596 .landing-shot-main:hover,
body.auth-body .landing-screens-v596 .landing-shot-main:focus-visible {
    transform: translateY(-2px) !important;
}


/* v5.98: Smartphone-Einstellungen – Premiumkarte entquetscht */
body.game-body #settingsApp .premium-settings-plan {
    overflow: visible !important;
    min-height: auto !important;
    height: auto !important;
    padding: 1rem !important;
    gap: .9rem !important;
    margin: .35rem 0 .95rem !important;
    border-radius: 20px !important;
    align-self: stretch !important;
    position: relative !important;
    z-index: 2 !important;
}

body.game-body #settingsApp .premium-settings-plan::after {
    inset: -36px -42px auto auto !important;
    width: 150px !important;
    height: 150px !important;
    opacity: .72;
}

body.game-body #settingsApp .premium-settings-head {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: .85rem !important;
    align-items: center !important;
}

body.game-body #settingsApp .premium-settings-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 18px !important;
    font-size: 1.35rem !important;
}

body.game-body #settingsApp .premium-settings-head strong {
    font-size: 1.02rem !important;
    line-height: 1.15 !important;
}

body.game-body #settingsApp .premium-settings-head small,
body.game-body #settingsApp .premium-settings-plan > small {
    font-size: .82rem !important;
    line-height: 1.35 !important;
}

body.game-body #settingsApp .premium-settings-plan > span {
    display: block !important;
    font-size: .92rem !important;
    line-height: 1.35 !important;
    color: rgba(255,246,222,.92) !important;
}

body.game-body #settingsApp .premium-settings-plan .button.full {
    min-height: 44px !important;
    padding: .72rem .9rem !important;
}

body.game-body #settingsApp .premium-settings-plan + .settings-danger {
    margin-top: .35rem !important;
}

@media (max-width: 430px) {
    body.game-body #settingsApp .premium-settings-plan {
        padding: .9rem !important;
        gap: .78rem !important;
    }
    body.game-body #settingsApp .premium-settings-head {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        gap: .72rem !important;
    }
    body.game-body #settingsApp .premium-settings-icon {
        width: 42px !important;
        height: 42px !important;
        border-radius: 15px !important;
    }
}

/* v5.99: Vanessa/Enrico stabiler + Full-HD Leitstellenmonitor */
.gas-scene .pauline-dialogue,
.workshop-scene .enrico-dialogue,
.assistance-scene .assistance-dialogue {
    overflow-y: auto;
    scrollbar-gutter: stable;
}

.gas-scene label,
.workshop-scene label,
.assistance-scene label {
    position: relative;
    z-index: 20;
}

.gas-scene select,
.workshop-scene select,
.assistance-scene select {
    width: 100%;
    max-width: 100%;
    position: relative;
    z-index: 30;
}

.vanessa-option-title {
    display: block;
    width: 100%;
    margin: .15rem 0 .35rem;
    font-size: .78rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(255, 232, 170, .92);
}

.vanessa-wash-only-options {
    margin-top: .65rem;
}

@media (min-width: 1800px) and (max-width: 2050px) and (min-height: 900px) and (max-height: 1150px) {
    html body.game-body .dashboard-shell {
        width: calc(100vw - 12px) !important;
        max-width: none !important;
        height: calc(100vh - 12px) !important;
        margin: 6px auto !important;
        padding: .42rem !important;
    }

    html body.game-body .game-topbar {
        min-height: 68px !important;
        height: 68px !important;
        max-height: 68px !important;
        padding: .42rem .58rem !important;
    }

    html body.game-body .playfield,
    html body.game-body .playfield.playfield-v555 {
        top: calc(.42rem + 68px + .42rem) !important;
        left: .42rem !important;
        right: .42rem !important;
        bottom: .42rem !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(332px, 380px) !important;
        gap: .48rem !important;
        min-height: 0 !important;
    }

    html body.game-body .monitor-left-stack {
        grid-template-rows: minmax(0, 1fr) minmax(224px, 256px) !important;
        gap: .48rem !important;
        min-height: 0 !important;
    }

    html body.game-body .monitor-map-panel {
        min-height: 0 !important;
        height: 100% !important;
        padding: 46px 14px 14px !important;
        display: flex !important;
        flex-direction: column !important;
    }

    html body.game-body .monitor-map-panel .monitor-screen {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: clamp(540px, 59vh, 690px) !important;
        max-height: none !important;
        margin-top: 8px !important;
        aspect-ratio: auto !important;
    }

    html body.game-body .monitor-map-panel #map {
        min-height: clamp(540px, 59vh, 690px) !important;
        height: 100% !important;
    }

    html body.game-body .monitor-top {
        top: 12px !important;
        left: 18px !important;
        padding: .42rem .62rem !important;
    }

    html body.game-body .compact-meter.taximeter-bar,
    html body.game-body .monitor-left-stack > .compact-meter.taximeter-bar {
        min-height: 224px !important;
        max-height: 256px !important;
        padding: .65rem .76rem .72rem !important;
    }

    html body.game-body .playfield-v555 .phone-frame,
    html body.game-body .phone-frame {
        width: min(100%, 380px) !important;
        max-width: 380px !important;
        justify-self: end !important;
    }
}

/* v5.100: Mobile Startseite – Tramfluencer-Plakette kollidiert nicht mehr mit „Passwort vergessen“ */
@media (max-width: 640px) {
    body.auth-body .landing-showcase-v596 {
        margin-top: 78px !important;
        padding-top: 76px !important;
    }
    body.auth-body .landing-tramfluencer-badge-v596 {
        width: min(138px, 38vw) !important;
        top: 0 !important;
        z-index: 3 !important;
    }
}
@media (max-width: 390px) {
    body.auth-body .landing-showcase-v596 {
        margin-top: 72px !important;
        padding-top: 70px !important;
    }
    body.auth-body .landing-tramfluencer-badge-v596 {
        width: min(126px, 36vw) !important;
    }
}

/* v5.102: Kontakte-App scrollbar, Einstellungen entkoppelt, Karten-Drag&Drop sichtbar */
html body.game-body .phone-screen.phone-app-open > #appFriends.phone-view.app-view:not(.hidden),
html body.game-body .phone-screen.phone-app-open > #appSettings.phone-view.app-view:not(.hidden) {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
    touch-action: pan-y !important;
}
html body.game-body .phone-screen.phone-app-open > #appFriends.phone-view.app-view:not(.hidden) > .app-header,
html body.game-body .phone-screen.phone-app-open > #appSettings.phone-view.app-view:not(.hidden) > .app-header {
    flex: 0 0 auto !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 90 !important;
}
html body.game-body .phone-screen.phone-app-open > #appFriends.phone-view.app-view:not(.hidden) > #friendsApp.phone-list,
html body.game-body .phone-screen.phone-app-open > #appSettings.phone-view.app-view:not(.hidden) > #settingsApp.phone-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    padding-bottom: clamp(72px, 12cqh, 116px) !important;
    scrollbar-width: thin !important;
}
html body.game-body #friendsApp.phone-list,
html body.game-body #friendsApp .contacts-shell {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-auto-rows: max-content !important;
    align-content: start !important;
    gap: .72rem !important;
}
html body.game-body #settingsApp.phone-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: max-content !important;
    align-content: start !important;
    justify-items: stretch !important;
    gap: .9rem !important;
}
html body.game-body #settingsApp.phone-list > *,
html body.game-body #settingsApp > .phone-card.settings-form,
html body.game-body #settingsApp > .premium-settings-plan,
html body.game-body #settingsApp > .settings-danger {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    align-self: start !important;
    justify-self: stretch !important;
}
html body.game-body #settingsApp .premium-settings-plan {
    display: flex !important;
    flex-direction: column !important;
    gap: .72rem !important;
    overflow: hidden !important;
    z-index: 1 !important;
    padding: .85rem !important;
}
html body.game-body #settingsApp .premium-settings-plan::after {
    pointer-events: none !important;
    opacity: .38 !important;
    inset: -56px -54px auto auto !important;
}
html body.game-body #settingsApp .settings-danger {
    z-index: 2 !important;
    clear: both !important;
}
html body.game-body #settingsApp .settings-form label,
html body.game-body #settingsApp .settings-form span,
html body.game-body #settingsApp .settings-form small,
html body.game-body #settingsApp .settings-form strong {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}
html body.game-body #settingsApp .settings-form .button.full {
    white-space: normal !important;
    line-height: 1.15 !important;
}

html body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-candidate {
    transition: opacity .16s ease, filter .16s ease, transform .16s ease !important;
}
html body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-valid img,
html body.game-body .map-taxi-image-icon.map-taxi-dnd-valid img {
    animation: mapTaxiDndValidBlinkV5101 .72s ease-in-out infinite !important;
    filter: drop-shadow(0 7px 8px rgba(0,0,0,.54)) drop-shadow(0 0 18px rgba(104,255,97,.98)) saturate(1.28) brightness(1.14) !important;
}
html body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-blocked img,
html body.game-body .map-taxi-image-icon.map-taxi-dnd-blocked img {
    opacity: .38 !important;
    filter: grayscale(1) saturate(.22) brightness(.55) drop-shadow(0 4px 6px rgba(0,0,0,.46)) !important;
}
html body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-hover.map-taxi-dnd-valid img,
html body.game-body .map-taxi-image-icon.map-taxi-dnd-hover.map-taxi-dnd-valid img {
    animation: mapTaxiDndHoverBlinkV5101 .46s ease-in-out infinite !important;
}
@keyframes mapTaxiDndValidBlinkV5101 {
    0%, 100% { transform: translateZ(0) scale(1); }
    50% { transform: translateZ(0) scale(1.10); }
}
@keyframes mapTaxiDndHoverBlinkV5101 {
    0%, 100% { transform: translateZ(0) scale(1.03); }
    50% { transform: translateZ(0) scale(1.20); }
}
@media (prefers-reduced-motion: reduce) {
    html body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-valid img,
    html body.game-body .map-taxi-image-icon.map-taxi-dnd-valid img,
    html body.game-body .leaflet-marker-icon.map-taxi-image-icon.map-taxi-dnd-hover.map-taxi-dnd-valid img,
    html body.game-body .map-taxi-image-icon.map-taxi-dnd-hover.map-taxi-dnd-valid img {
        animation: none !important;
    }
}

/* v5.102: Map-Toolbar-Schalter für Freundes-Taxen */
body.game-body .map-toolbar-button.map-friends-toggle {
    white-space: nowrap !important;
    min-width: 0 !important;
}
body.game-body .map-toolbar-button.map-friends-toggle.is-visible {
    background: linear-gradient(145deg, rgba(31, 93, 58, .98), rgba(13, 42, 28, .98)) !important;
    border-color: rgba(128, 255, 176, .44) !important;
    color: #efffde !important;
}
body.game-body .map-toolbar-button.map-friends-toggle.is-hidden {
    background: linear-gradient(145deg, rgba(69, 68, 72, .98), rgba(22, 21, 24, .98)) !important;
    border-color: rgba(210, 210, 220, .28) !important;
    color: rgba(255, 241, 191, .82) !important;
}
@media (max-width: 1400px) {
    body.game-body .map-toolbar-button.map-friends-toggle {
        font-size: 10px !important;
        padding-left: 9px !important;
        padding-right: 9px !important;
    }
}
@media (max-width: 980px) {
    body.game-body .monitor-map-panel .map-toolbar-actions {
        gap: 5px !important;
    }
    body.game-body .map-toolbar-button.map-friends-toggle {
        flex: 1 1 auto !important;
        text-align: center !important;
    }
}

/* v5.103 Büro + Diamanten */
body.game-body .resource-pill.diamonds {
    background: linear-gradient(145deg, rgba(28,42,68,.96), rgba(9,13,25,.96));
    border-color: rgba(126,205,255,.42);
    color: #e9f7ff;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.1), 0 9px 22px rgba(0,0,0,.28), 0 0 20px rgba(82,172,255,.12);
}
body.game-body .resource-pill.diamonds .diamond-icon { font-size: 1.45rem; filter: drop-shadow(0 0 10px rgba(102,205,255,.45)); }
body.game-body .resource-pill.diamonds strong { color:#eaf8ff; font-weight:1000; }
body.game-body .button.diamond,
body.game-body button.button.diamond {
    background: linear-gradient(145deg,#70d9ff,#1a75da 58%,#0d3a78) !important;
    color:#fff !important;
    border-color: rgba(190,236,255,.72) !important;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.35), 0 10px 18px rgba(0,74,170,.32) !important;
}
body.game-body .office-manager {
    display:grid;
    grid-template-columns:minmax(360px, .95fr) minmax(420px, 1.05fr);
    gap:1rem;
    min-height: min(72vh, 760px);
}
body.game-body .office-room-panel,
body.game-body .office-shop-panel {
    border:1px solid rgba(255,216,102,.22);
    background: linear-gradient(180deg, rgba(14,18,25,.92), rgba(10,7,5,.90));
    border-radius:24px;
    padding:1rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 34px rgba(0,0,0,.28);
    min-width:0;
}
body.game-body .office-shop-panel { max-height: min(72vh, 760px); overflow:auto; }
body.game-body .office-room-head,
body.game-body .office-shop-head {
    display:flex;
    justify-content:space-between;
    gap:.8rem;
    align-items:flex-start;
    margin-bottom:.8rem;
}
body.game-body .office-room-head h3,
body.game-body .office-shop-head h3,
body.game-body .office-pack-title { margin:.1rem 0 .2rem; color:#ffe38e; font-weight:1000; }
body.game-body .office-room-head p,
body.game-body .office-shop-head p { margin:0; color:rgba(255,241,211,.75); font-size:.9rem; }
body.game-body .office-wallet { display:flex; flex-direction:column; gap:.25rem; align-items:flex-end; font-weight:1000; color:#fff4c6; }
body.game-body .office-wallet span { border:1px solid rgba(255,255,255,.14); border-radius:999px; padding:.28rem .55rem; background:rgba(0,0,0,.22); white-space:nowrap; }
body.game-body .office-room-stage {
    position:relative;
    border-radius:22px;
    overflow:hidden;
    border:1px solid rgba(255,216,102,.25);
    background:#111;
    min-height:280px;
}
body.game-body .office-room-stage > img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
body.game-body .office-room-stage::after {
    content:""; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(circle at 50% 45%, transparent 0 55%, rgba(0,0,0,.30) 100%);
}
body.game-body .office-room-slot {
    position:absolute;
    transform:translate(-50%,-50%);
    z-index:3;
    width:clamp(66px, 7vw, 94px);
    min-height:54px;
    border-radius:18px;
    border:1px solid rgba(255,224,132,.5);
    background:rgba(19,12,7,.75);
    color:#fff2c5;
    display:grid;
    place-items:center;
    gap:.1rem;
    padding:.3rem;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.10);
    backdrop-filter: blur(4px);
}
body.game-body .office-room-slot:hover { border-color:#ffdf70; box-shadow:0 0 0 3px rgba(255,207,78,.18), 0 10px 24px rgba(0,0,0,.32); }
body.game-body .office-room-slot img { width:44px; height:34px; object-fit:contain; filter: drop-shadow(0 8px 9px rgba(0,0,0,.45)); }
body.game-body .office-room-slot span { width:30px; height:30px; border-radius:999px; display:grid; place-items:center; background:linear-gradient(145deg,#ffd76d,#e39112); color:#211104; font-weight:1000; }
body.game-body .office-room-slot b { font-size:.62rem; line-height:1.05; text-align:center; max-width:84px; }
body.game-body .office-room-slot.filled { background:rgba(0,0,0,.58); border-color:rgba(97,214,255,.55); }
body.game-body .office-bonus-panel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; margin:.8rem 0; }
body.game-body .office-bonus-gauge { border:1px solid rgba(255,216,102,.20); border-radius:18px; padding:.65rem; background:rgba(0,0,0,.22); text-align:center; }
body.game-body .office-bonus-gauge span { display:block; font-size:1.35rem; }
body.game-body .office-bonus-gauge strong { display:block; color:#9dff7f; font-size:1.15rem; }
body.game-body .office-bonus-gauge small { color:rgba(255,239,204,.76); }
body.game-body .office-placed-list { border:1px solid rgba(255,255,255,.10); border-radius:18px; padding:.75rem; background:rgba(0,0,0,.20); }
body.game-body .office-placed-list h4 { margin:0 0 .45rem; color:#ffe38e; }
body.game-body .office-placed-row { display:flex; justify-content:space-between; align-items:center; gap:.6rem; border-top:1px solid rgba(255,255,255,.08); padding:.45rem 0; }
body.game-body .office-placed-row:first-of-type { border-top:0; }
body.game-body .office-placed-row span { display:flex; align-items:center; gap:.5rem; min-width:0; }
body.game-body .office-placed-row img { width:40px; height:32px; object-fit:contain; }
body.game-body .office-placed-row b { color:#fff; display:block; }
body.game-body .office-placed-row small { color:rgba(255,239,204,.7); display:block; }
body.game-body .office-empty-note { color:rgba(255,239,204,.72); padding:.7rem; border-radius:15px; background:rgba(0,0,0,.20); }
body.game-body .office-diamond-note {
    display:flex; flex-direction:column; gap:.18rem;
    border:1px solid rgba(116,207,255,.32);
    background:linear-gradient(145deg, rgba(28,65,104,.32), rgba(15,20,37,.55));
    border-radius:18px;
    padding:.75rem;
    margin-bottom:.75rem;
}
body.game-body .office-diamond-note strong { color:#dff7ff; }
body.game-body .office-diamond-note span { color:rgba(232,248,255,.78); font-size:.9rem; }
body.game-body .office-item-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
body.game-body .office-item-card {
    display:grid;
    grid-template-columns:86px minmax(0,1fr);
    gap:.65rem;
    border:1px solid rgba(255,255,255,.12);
    border-radius:20px;
    background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.22));
    padding:.65rem;
    min-width:0;
}
body.game-body .office-item-card.rarity-rare { border-color:rgba(82,179,255,.42); }
body.game-body .office-item-card.rarity-epic { border-color:rgba(190,107,255,.52); }
body.game-body .office-item-card.rarity-legendary { border-color:rgba(255,203,77,.72); box-shadow:0 0 18px rgba(255,179,40,.12); }
body.game-body .office-item-card.rarity-story { border-color:rgba(105,255,173,.52); }
body.game-body .office-item-card.is-placed { outline:2px solid rgba(95,255,134,.32); }
body.game-body .office-item-image { grid-row:span 3; display:grid; place-items:center; border-radius:16px; background:rgba(0,0,0,.24); border:1px solid rgba(255,255,255,.08); }
body.game-body .office-item-image img { width:76px; height:64px; object-fit:contain; }
body.game-body .office-item-copy strong { color:#fff2c5; display:block; font-size:.98rem; }
body.game-body .office-item-copy span { color:#9edfff; font-weight:900; font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; }
body.game-body .office-item-copy small { color:rgba(255,239,204,.70); display:block; margin-top:.2rem; line-height:1.25; }
body.game-body .office-item-bonus { display:flex; flex-wrap:wrap; gap:.25rem; }
body.game-body .office-item-bonus b { font-size:.68rem; border-radius:999px; padding:.18rem .42rem; background:rgba(255,216,102,.10); border:1px solid rgba(255,216,102,.18); color:#ffe8a6; }
body.game-body .office-item-actions { display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; }
body.game-body .office-item-actions em { color:rgba(255,239,204,.62); font-size:.73rem; font-style:normal; }
body.game-body .diamond-pack-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem; }
body.game-body .diamond-pack-card { border:1px solid rgba(112,217,255,.36); border-radius:18px; padding:.7rem; background:linear-gradient(145deg, rgba(42,87,142,.32), rgba(0,0,0,.24)); }
body.game-body .diamond-pack-card strong { color:#e9f9ff; display:block; }
body.game-body .diamond-pack-card span { color:#fff; font-weight:1000; display:block; margin:.25rem 0; }
body.game-body .diamond-pack-card small { color:rgba(232,248,255,.72); display:block; min-height:2.3em; }
body.game-body .diamond-pack-card .button { margin-top:.5rem; width:100%; }
@media (max-width: 1100px) {
    body.game-body .office-manager { grid-template-columns:1fr; }
    body.game-body .office-shop-panel { max-height:none; }
}
@media (max-width: 720px) {
    body.game-body .office-item-grid,
    body.game-body .diamond-pack-grid { grid-template-columns:1fr; }
    body.game-body .office-room-head,
    body.game-body .office-shop-head { flex-direction:column; }
    body.game-body .office-wallet { align-items:flex-start; flex-direction:row; flex-wrap:wrap; }
    body.game-body .office-room-slot { width:58px; min-height:48px; border-radius:14px; }
    body.game-body .office-room-slot b { display:none; }
    body.game-body .office-room-slot img { width:38px; height:30px; }
    body.game-body .office-item-card { grid-template-columns:72px minmax(0,1fr); }
    body.game-body .office-item-image img { width:62px; height:54px; }
}
