*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,sans-serif;background:#080a0f;color:#fff}a{color:#9bd3ff;text-decoration:none}.landing{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle,#29354d,#080a0f 65%)}.hero{text-align:center}.logo{font-size:78px;font-weight:900}.logo span,.brand span{color:#7ee36a}.hero p{font-size:22px;color:#ccd3df}.buttons{display:flex;gap:12px;justify-content:center;margin:30px}.btn{border:0;background:#72db5e;color:#081008;padding:12px 22px;border-radius:8px;font-weight:800;cursor:pointer}.btn.secondary{background:#293347;color:#fff}.features{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.features div{background:#121925;padding:9px 12px;border-radius:8px}.auth-page{display:grid;place-items:center;min-height:100vh}.auth-card{width:min(390px,92vw);padding:30px;background:#121721;border:1px solid #273143;border-radius:16px;display:flex;flex-direction:column;gap:14px}.auth-card h1{margin:0}.auth-card input{padding:14px;border-radius:8px;border:1px solid #364257;background:#0b0f16;color:#fff;font-size:16px}.error{background:#5d2020;padding:10px;border-radius:7px}.game-page{overflow:hidden;background:#000}.game-page #game-wrap{position:relative;width:100vw;height:100vh;display:grid;place-items:center}.game-page canvas{width:100%;height:100%;object-fit:contain}.hud{position:absolute;inset:0;pointer-events:none}.top-left{position:absolute;left:20px;top:18px;text-shadow:0 2px 4px #000}.brand{font-weight:900;font-size:26px;margin-bottom:8px}.stat{display:flex;gap:7px;align-items:center}.bar{width:180px;height:12px;background:#222;border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;width:100%;background:#65db62}.wanted{font-size:23px;letter-spacing:3px}.money{position:absolute;right:25px;top:20px;font-size:28px;font-weight:900}.needs{position:absolute;right:25px;top:60px;background:#080b0dcc;padding:8px 12px;border-radius:8px}.mission-box,.inventory,.job-panel,.interior{position:absolute;background:#080b0d;border:1px solid #ffffff22;border-radius:10px;padding:12px;box-shadow:0 12px 35px #0008}.mission-box{left:50%;top:20px;transform:translateX(-50%);min-width:260px;text-align:center}.mission-box strong{color:#7ee36a;font-size:12px}.inventory,.job-panel,.interior{display:none;pointer-events:auto}.inventory.open,.job-panel.open,.interior.open{display:block}.inventory{right:20px;top:105px;width:230px}.inventory h3{margin:0 0 8px;color:#7ee36a}.inventory-item{display:flex;justify-content:space-between;padding:7px 4px;border-bottom:1px solid #ffffff12}.job-panel{left:20px;top:160px;width:250px}.job-panel strong{color:#7ee36a}.job-panel button{display:block;width:100%;margin-top:7px;padding:8px;background:#273246;color:#fff;border:0;border-radius:6px;cursor:pointer}.interior{left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,90vw);text-align:center}.interior-title{font-size:25px;font-weight:900}.controls{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:#080b0dcc;padding:9px;border-radius:8px;font-size:13px;white-space:nowrap}.logout{pointer-events:auto;position:absolute;right:20px;bottom:18px;background:#151b26;padding:8px;border-radius:7px}.toast{position:absolute;left:50%;bottom:65px;transform:translateX(-50%);background:#101722ee;padding:10px 16px;border-radius:8px;opacity:0;transition:.2s}.toast.show{opacity:1}@media(max-width:700px){.logo{font-size:52px}.controls{font-size:10px;bottom:5px}.needs{right:10px;top:48px;font-size:12px}.money{font-size:22px}.inventory{right:10px}.job-panel{left:10px}}

.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-head h3{margin:0}.panel-head button{border:0;background:#242d3b;color:#fff;border-radius:7px;width:28px;height:28px;font-size:20px;cursor:pointer}.slots{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.inventory-item{background:#151d29;border:1px solid #2a3545;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:5px}.inventory-item b{font-size:20px}.quick-use{display:grid;grid-template-columns:1fr;gap:6px}.quick-use button,.job-panel button{border:1px solid #334157;background:#1b2534;color:#fff;border-radius:7px;padding:8px;cursor:pointer}.quick-use button:hover,.job-panel button:hover,.hud-buttons button:hover{background:#28364a}.job-panel h3{margin:0;color:#7ee36a}.job-panel #jobName{font-size:19px;font-weight:800;margin:10px 0 3px}.job-panel #jobInfo{color:#aeb8c7;font-size:12px;margin-bottom:8px}.hud-buttons{position:absolute;right:20px;bottom:58px;display:flex;gap:7px;pointer-events:auto}.hud-buttons button{border:1px solid #334157;background:#111a27ee;color:#fff;border-radius:8px;padding:9px 12px;font-weight:700;cursor:pointer}.interior{backdrop-filter:blur(7px);border-color:#72db5e55}.interior p{color:#cbd4df}.interior .btn{margin:4px}

.shop-items{display:none;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.shop-card{border:1px solid #334157;background:#151f2c;color:#fff;border-radius:9px;padding:12px;cursor:pointer;text-align:left}
.shop-card:hover{background:#26364a}
.shop-card span{display:block;font-size:14px;margin-bottom:5px}
.shop-card b{color:#72db5e}
.interior{min-width:340px}
.dialogue{position:absolute;left:50%;bottom:92px;transform:translateX(-50%);width:min(560px,calc(100% - 40px));background:rgba(18,22,29,.97);border:1px solid #596575;border-radius:14px;padding:14px 16px;display:none;z-index:20;box-shadow:0 12px 40px rgba(0,0,0,.45)}
.dialogue.open{display:block}.dialogue #dialogueText{font-size:15px;line-height:1.45;color:#eef2f5;padding:8px 2px 4px}.dialogue-hint{font-size:11px;color:#9ca8b5;margin-top:8px}.dialogue .panel-head h3{margin:0}
.phone-panel,.admin-panel{position:absolute;display:none;pointer-events:auto;background:#080b0df2;border:1px solid #ffffff22;border-radius:12px;padding:12px;box-shadow:0 12px 40px #0009;z-index:30}
.phone-panel.open,.admin-panel.open{display:block}
.phone-panel{right:20px;top:105px;width:min(430px,calc(100vw - 30px));height:520px}
.phone-number{background:#151d29;padding:8px;border-radius:7px;margin:8px 0;color:#b9c5d4}.phone-number b{color:#7ee36a}
.contact-list{height:150px;overflow:auto;border:1px solid #2b3748;border-radius:8px}.contact{padding:8px;border-bottom:1px solid #ffffff10;cursor:pointer}.contact:hover,.contact.active{background:#223149}.contact small{display:block;color:#9aa8ba;margin-top:2px}
.chat-box{margin-top:8px;border-top:1px solid #ffffff18;padding-top:8px}.chat-head{font-weight:800;margin-bottom:6px}.messages{height:210px;overflow:auto;background:#0d131c;border-radius:8px;padding:8px}.msg{max-width:82%;padding:7px 9px;margin:5px 0;border-radius:8px;background:#1d2a3b}.msg.mine{margin-left:auto;background:#254d2b}.msg small{display:block;color:#9ca9b8;font-size:9px;margin-top:3px}.chat-send{display:flex;gap:6px;margin-top:7px}.chat-send input{min-width:0;flex:1;background:#111823;border:1px solid #334157;color:#fff;border-radius:7px;padding:9px}.admin-panel{left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,94vw);max-height:78vh}.admin-note{font-size:12px;color:#aab6c5;margin:7px 0}.admin-users{max-height:58vh;overflow:auto}.admin-row{display:grid;grid-template-columns:1fr auto auto auto;gap:7px;align-items:center;padding:8px;border-bottom:1px solid #ffffff12}.admin-row .meta{font-size:11px;color:#aab6c5}.admin-row button{border:1px solid #334157;background:#1b2534;color:#fff;border-radius:6px;padding:6px;cursor:pointer}.admin-row button:hover{background:#2a3b53}.admin-row .ban{background:#572828}.admin-row .delete{background:#6b2424}
@media(max-width:700px){.phone-panel{right:10px;top:95px}.admin-row{grid-template-columns:1fr 1fr}.admin-row button{width:100%}}
.call-actions,.bank-actions,.vehicle-actions,.property-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.call-status{padding:6px;color:#9fe48f;font-size:12px}.admin-tools{display:flex;gap:7px;margin:8px 0}.admin-tools input{flex:1;background:#111823;border:1px solid #334157;color:#fff;border-radius:7px;padding:8px}.bank-actions button,.vehicle-actions button,.property-actions button{border:1px solid #334157;background:#1b2534;color:#fff;border-radius:7px;padding:8px;cursor:pointer}.jail-box{position:absolute;left:50%;top:112px;transform:translateX(-50%);background:#7a2727ee;padding:8px 14px;border-radius:8px;font-weight:800;display:none}.jail-box.show{display:block}

.admin-create{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.admin-create>div{background:#111823;border:1px solid #2b3748;border-radius:9px;padding:10px}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.admin-form input{min-width:0;background:#0b111a;border:1px solid #334157;color:#fff;border-radius:6px;padding:7px}.admin-form .btn{padding:8px}.traffic-label{font-size:10px}@media(max-width:700px){.admin-create{grid-template-columns:1fr}.admin-form{grid-template-columns:1fr}}
.bank-panel{position:absolute;right:20px;top:105px;width:min(420px,calc(100vw - 30px));max-height:75vh;overflow:auto;display:none;pointer-events:auto;background:#080b0df2;border:1px solid #ffffff22;border-radius:12px;padding:14px;box-shadow:0 12px 40px #0009;z-index:35}.bank-panel.open{display:block}.bank-summary{background:#151d29;border:1px solid #2a3545;border-radius:10px;padding:14px;margin:10px 0}.bank-summary div{color:#aab6c5;font-size:12px}.bank-summary strong{display:block;font-size:30px;color:#7ee36a;margin:4px 0}.bank-summary small{color:#cbd4df}.bank-panel label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#cbd4df}.bank-panel input{background:#111823;border:1px solid #334157;color:#fff;border-radius:7px;padding:9px;width:140px}.phone-help{font-size:12px;color:#aab6c5;background:#151d29;border-radius:7px;padding:8px;margin:8px 0}.contact-list{max-height:190px;overflow:auto}.contact{padding:9px;border:1px solid #2a3545;background:#111823;border-radius:7px;margin:5px 0;cursor:pointer}.contact.active{border-color:#72db5e;background:#18251b}.contact small{display:block;color:#9ca9b8;font-size:10px;margin-top:3px}.bank-panel .property-actions{max-height:220px;overflow:auto}

/* V18 Bank UI */
.bank-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(2px);display:none;z-index:39;pointer-events:auto}
.bank-backdrop.open{display:block}
.bank-panel{position:fixed;left:50%;top:50%;right:auto;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px));max-height:min(700px,88vh);overflow:auto;display:none;pointer-events:auto;background:linear-gradient(180deg,#111a27,#090e15);border:1px solid #72db5e66;border-radius:18px;padding:20px;box-shadow:0 25px 80px rgba(0,0,0,.7);z-index:40}
.bank-panel.open{display:block}
.bank-panel .panel-head{padding-bottom:12px;border-bottom:1px solid #ffffff14}
.bank-panel .panel-head h3{font-size:22px}
.bank-summary{background:linear-gradient(135deg,#17251b,#121a25);border:1px solid #72db5e44;border-radius:14px;padding:18px;margin:14px 0}
.bank-summary strong{font-size:34px}
.bank-summary small{display:block;margin-top:5px}
.bank-panel label{display:block;background:#101722;border-radius:10px;padding:10px 12px}
.bank-panel input{width:100%;margin-top:7px;font-size:18px;padding:11px}
.bank-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.bank-actions button{min-height:44px;font-size:14px}
.bank-section-title{font-weight:800;margin:18px 0 8px;color:#dfe7ef}
.bank-panel .property-actions{display:grid;grid-template-columns:1fr;gap:7px;max-height:220px;overflow:auto}
.bank-panel .property-actions button{width:100%;text-align:left;padding:11px}
@media(max-width:600px){.bank-panel{width:calc(100vw - 20px);padding:14px}.bank-actions{grid-template-columns:1fr}.bank-summary strong{font-size:28px}}

/* V19 bank overlay: fixed above the game canvas and all HUD elements */
.bank-backdrop{z-index:9000!important;display:none!important}
.bank-backdrop.open{display:block!important}
.bank-panel{position:fixed!important;z-index:9001!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;display:none!important;box-sizing:border-box!important}
.bank-panel.open{display:block!important}
.bank-panel .panel-head{display:flex!important}
body.bank-open{overflow:hidden}

/* V21 renderer safety */
.game-page #game-wrap{background:#527b4b!important;position:relative!important;overflow:hidden!important}
.game-page canvas{position:absolute!important;inset:0!important;z-index:0!important;display:block!important;background:#527b4b!important}
.game-page .hud{z-index:10!important}

.online-count{position:fixed;left:20px;bottom:72px;z-index:20;background:rgba(8,11,15,.9);border:1px solid #334155;border-radius:10px;padding:8px 12px;color:#fff;font-weight:700;font-size:13px;pointer-events:none}

/* V25: guaranteed visible own-player overlay */
#ownPlayerMarker{position:absolute;left:0;top:0;width:54px;height:72px;z-index:8;pointer-events:none;display:block;transform:translate(-50%,-50%);filter:drop-shadow(0 3px 3px rgba(0,0,0,.55));}
#ownPlayerMarker .own-marker-ring{position:absolute;left:50%;top:34px;width:46px;height:24px;transform:translate(-50%,-50%);border:3px solid #72db5e;border-radius:50%;background:rgba(114,219,94,.14);box-shadow:0 0 12px rgba(114,219,94,.55);}
#ownPlayerMarker .own-marker-body{position:absolute;left:50%;top:35px;width:22px;height:34px;transform:translate(-50%,-50%);}
#ownPlayerMarker .own-marker-body i{position:absolute;left:7px;top:0;width:8px;height:8px;border-radius:50%;background:#e6b58a;border:1px solid #8d6348;}
#ownPlayerMarker .own-marker-body b{position:absolute;left:2px;top:9px;width:18px;height:17px;border-radius:4px 4px 2px 2px;background:#2e78c7;border:2px solid #1b4f86;}
#ownPlayerMarker .own-marker-body em{position:absolute;left:4px;top:25px;width:14px;height:9px;border-left:4px solid #17263b;border-right:4px solid #17263b;}
#ownPlayerMarker strong{position:absolute;left:50%;top:-2px;transform:translateX(-50%);background:#111a14;color:#72db5e;border:1px solid #72db5e;border-radius:5px;padding:2px 7px;font:bold 11px Arial,sans-serif;white-space:nowrap;}
#ownPlayerMarker.hidden{display:none;}

/* V26: eigener Spieler sitzt bei laufender Kamera sicher sichtbar in der Bildschirmmitte */
#ownPlayerMarker{z-index:12!important;}
#ownPlayerMarker.hidden{display:none!important;}

/* V27: eigener Spieler exakt an seiner Weltposition; auch am Kartenrand sichtbar */
#ownPlayerMarker{z-index:999!important;left:0;top:0;transform:translate(-50%,-50%)!important;}
#ownPlayerMarker .own-marker-body i{background:#e6b58a!important;}

/* V28 own player visibility */
#ownPlayerMarker{z-index:9999!important;pointer-events:none!important;}

/* V29 robust movement controls */
.game-page canvas{touch-action:none;outline:none}
.move-pad{display:none;position:absolute;left:18px;bottom:70px;z-index:30;pointer-events:auto}
.move-pad button{width:46px;height:42px;margin:2px;border:1px solid #526078;border-radius:8px;background:#111a27dd;color:#fff;font-size:20px;font-weight:900}
.move-pad>button{display:block;margin:0 auto 2px}
@media(max-width:700px){.move-pad{display:block}}

#ownPlayerMarker{display:none!important}

/* V38: Canvas/HUD stacking fix */
.game-page #game-wrap{background:#080a0f!important;position:relative!important;overflow:hidden!important}
.game-page canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:1!important;background:transparent!important}
.game-page .hud{z-index:10!important}

/* V51: HUD buttons always visible above canvas/minimap */
.game-page .hud-buttons{position:fixed!important;right:105px!important;bottom:16px!important;z-index:10000!important;display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:7px!important;max-width:calc(100vw - 125px)!important;pointer-events:auto!important}
.game-page .hud-buttons button{position:relative!important;z-index:10001!important;display:block!important;visibility:visible!important;opacity:1!important;white-space:nowrap!important}
.game-page .logout{position:fixed!important;right:20px!important;bottom:16px!important;z-index:10002!important;visibility:visible!important}
@media(max-width:900px){.game-page .hud-buttons{left:8px!important;right:8px!important;bottom:58px!important;max-width:none!important;justify-content:center!important}.game-page .hud-buttons button{font-size:12px!important;padding:8px 9px!important}.game-page .logout{right:8px!important;bottom:8px!important}.game-page .mission-box{max-width:calc(100vw - 24px)!important}}
@media(max-width:600px){.game-page .hud-buttons{bottom:54px!important;gap:5px!important}.game-page .hud-buttons button{padding:7px 8px!important;font-size:11px!important}.game-page .job-panel{left:8px!important;top:135px!important;width:min(260px,calc(100vw - 16px))!important}}

/* V55: Admin-Spielerliste gehoert ins Admin-Menue */
.admin-panel .admin-users{display:block}
.admin-panel:not(.open) .admin-users{display:none}
/* V62 Admin Job Presets */
.admin-presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.admin-presets span{font-size:12px;color:#aeb8c6}.admin-presets button{border:1px solid #3b4b61;background:#202c3d;color:#eef3f8;border-radius:8px;padding:7px 9px;cursor:pointer}.admin-presets button:hover{background:#2b3a50}

/* V65 Admin layout fix */
.admin-panel{z-index:120!important;width:min(980px,94vw)!important;max-height:90vh!important;overflow-y:auto!important;overflow-x:hidden!important;box-sizing:border-box!important;padding:16px!important}.admin-panel .admin-create{grid-template-columns:1fr 1fr;align-items:start}.admin-panel .admin-users{max-height:none!important;overflow:visible!important}.admin-row{grid-template-columns:minmax(180px,1fr) repeat(7,max-content)!important}.admin-row button{white-space:nowrap}.admin-panel .btn:disabled{opacity:.65;cursor:wait}@media(max-width:900px){.admin-panel .admin-create{grid-template-columns:1fr}.admin-row{grid-template-columns:1fr 1fr!important}.admin-row button{width:100%}}

/* V67: eigene Admin-Jobs verwalten */
.admin-custom-jobs{margin:12px 0;padding:12px;border:1px solid #30445c;border-radius:12px;background:rgba(12,18,28,.72)}
.admin-subtitle{font-weight:800;font-size:18px;margin-bottom:8px}.admin-job-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px 10px;border-top:1px solid #27374c}.admin-job-row:first-child{border-top:0}.admin-job-row .meta{display:block;color:#aebccc;font-size:12px;margin-top:3px}.admin-job-row button{white-space:nowrap}.admin-empty{color:#9eacbc;padding:8px 0}

.admin-custom-list{margin-top:10px;padding:10px;background:#0c131d;border:1px solid #2c3b50;border-radius:10px}.admin-subtitle{font-weight:800;margin-bottom:6px}.admin-jobs{max-height:180px;overflow:auto}.admin-job-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #ffffff12}.admin-job-row .meta{display:block;color:#aab6c5;font-size:11px;margin-top:2px}.admin-empty{color:#8d9aaa;font-size:12px;padding:5px 0}

/* V73: versteckte Panels dürfen niemals Klicks auf die Karte abfangen. */
.phone-panel:not(.open), .admin-panel:not(.open), .job-panel:not(.open), .inventory:not(.open), .interior:not(.open), .dialogue:not(.open){pointer-events:none!important;visibility:hidden!important;}
.phone-panel.open, .admin-panel.open, .job-panel.open, .inventory.open, .interior.open, .dialogue.open{visibility:visible;}

/* V80: Admin panel containment + responsive layout */
.admin-panel{width:min(980px,calc(100vw - 28px))!important;max-height:calc(100vh - 28px)!important;overflow-y:auto!important;overflow-x:hidden!important}
.admin-panel .admin-create{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}
.admin-panel .admin-custom-list,.admin-panel .admin-custom-jobs,.admin-panel .admin-users{width:100%;max-width:100%;box-sizing:border-box}
.admin-panel .admin-jobs{width:100%;max-width:100%;overflow-x:hidden}
.admin-panel .admin-job-row{min-width:0;box-sizing:border-box}
.admin-panel .admin-job-row>div{min-width:0;overflow:hidden}
.admin-panel .admin-job-row b,.admin-panel .admin-job-row .meta{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:900px){.admin-panel{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important}.admin-panel .admin-create{grid-template-columns:1fr}.admin-panel .admin-form{grid-template-columns:1fr 1fr}.admin-panel .admin-job-row{flex-wrap:wrap}.admin-panel .admin-job-row button{margin-left:auto}}
@media(max-width:600px){.admin-panel{padding:10px!important}.admin-panel .admin-form{grid-template-columns:1fr}.admin-panel .admin-job-row{display:grid;grid-template-columns:1fr;gap:6px}.admin-panel .admin-job-row button{margin-left:0;width:100%}}

/* V84 Dokumente/Fahrschule */
.docs-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,92vw);max-height:80vh;overflow:auto;background:#080b0df2;border:1px solid #72db5e55;border-radius:12px;padding:16px;box-shadow:0 18px 50px #000b;z-index:20000;display:none;pointer-events:auto}.docs-panel.open{display:block}.document-card,.school-doc{background:#151f2c;border:1px solid #334157;border-radius:9px;padding:12px;margin:8px 0;color:#dbe4ef}.document-card b{display:block;font-size:18px;margin-bottom:7px;color:#7ee36a}.school-doc{font-weight:700}.docs-panel button{margin:5px}

/* V85: Dokumente sichtbar und Führerscheinpflicht */
.docs-panel{position:fixed!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(520px,calc(100vw - 24px))!important;max-height:min(82vh,680px)!important;overflow-y:auto!important;overflow-x:hidden!important;background:#0b111b!important;border:1px solid #72db5e66!important;border-radius:14px!important;padding:18px!important;box-shadow:0 20px 70px #000d!important;z-index:30000!important;display:none!important;visibility:hidden!important;pointer-events:none!important}
.docs-panel.open{display:block!important;visibility:visible!important;pointer-events:auto!important}
.docs-panel .panel-head{position:sticky;top:0;background:#0b111b;padding-bottom:10px;margin-bottom:10px;z-index:2}
.document-card{font-size:16px;line-height:1.5}
@media(max-width:600px){.docs-panel{width:calc(100vw - 16px)!important;max-height:86vh!important;padding:12px!important}}

/* V86: shared real server clock + parking/immigration panels */
.server-clock{position:absolute;left:50%;top:8px;transform:translateX(-50%);z-index:25;background:rgba(8,12,18,.92);border:1px solid #334157;border-radius:9px;padding:6px 12px;color:#fff;font-weight:800;font-size:13px;pointer-events:none}
.owned-vehicles{display:grid;gap:8px;margin:10px 0;max-height:330px;overflow:auto}.owned-vehicle{display:grid;grid-template-columns:1fr auto;gap:4px 8px;background:#151d29;border:1px solid #2a3545;border-radius:8px;padding:9px}.owned-vehicle small{color:#aab6c5}.owned-vehicle button{grid-column:2;grid-row:1 / span 2}
@media(max-width:600px){.server-clock{font-size:11px;top:4px}.owned-vehicle{grid-template-columns:1fr}.owned-vehicle button{grid-column:1;grid-row:auto}}

/* V91: animierte Einreise-Anzeige */
.immigration-card{position:relative;overflow:hidden}
.entry-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.entry-stamp{padding:5px 9px;border-radius:999px;background:#303845;color:#aeb8c6;font-size:11px;font-weight:800;letter-spacing:.4px}
.entry-stamp.active{background:#173b23;color:#7ee36a;box-shadow:0 0 0 1px #72db5e55 inset;animation:entryPulse 1.8s ease-in-out infinite}
.entry-progress{height:5px;margin:12px 0 7px;border-radius:99px;background:#263142;overflow:hidden}
.entry-progress span{display:block;width:35%;height:100%;border-radius:99px;background:#72db5e;animation:entryFlow 2.2s linear infinite}
.entry-timeline{display:flex;justify-content:space-between;margin:2px 3px 7px;color:#72db5e;font-size:10px;opacity:.9}
.entry-timeline i{font-style:normal;animation:entryDot 1.8s ease-in-out infinite}
.entry-timeline i:nth-child(2){animation-delay:.25s}.entry-timeline i:nth-child(3){animation-delay:.5s}
.entry-note{display:block;color:#aeb8c6;line-height:1.4}
@keyframes entryFlow{0%{transform:translateX(-120%)}100%{transform:translateX(310%)}}
@keyframes entryPulse{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.04);opacity:1}}
@keyframes entryDot{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}

/* V100: Warenverwaltung */
.admin-panel .admin-custom-list .admin-form input{min-width:0}
.admin-panel .admin-custom-list .admin-presets{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:7px}
.admin-panel .admin-custom-list .admin-presets button{background:#1b2534;color:#fff;border:1px solid #334157;border-radius:7px;padding:6px 9px;cursor:pointer}
.admin-panel .admin-custom-list .admin-presets button:hover{background:#2a3b53}

/* V103: Airport/Pilot */
.job-btn[data-job="pilot"]::first-letter{font-weight:900}

.mobile-actions{display:none;position:fixed;right:10px;bottom:68px;z-index:10001;pointer-events:auto;gap:5px;flex-wrap:wrap;max-width:230px;justify-content:flex-end}
.mobile-actions button{width:54px;height:46px;border:1px solid #526078;border-radius:9px;background:#111a27ee;color:#fff;font-weight:900;font-size:12px;line-height:12px;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 2px 8px #0008}.mobile-actions button small{font-size:8px;font-weight:700;opacity:.8}.mobile-actions button:active{transform:scale(.94);background:#24344b}
@media(max-width:700px){.mobile-actions{display:flex}.game-page .controls{display:none}.game-page canvas{touch-action:none;display:block;width:100vw;height:100dvh}.admin-panel .admin-create{grid-template-columns:1fr}.admin-form{grid-template-columns:1fr}.admin-panel{max-height:82vh;width:calc(100vw - 16px);left:8px;right:8px}.admin-panel input,.admin-panel button,.admin-panel select{min-height:42px;font-size:16px}.panel-head button{min-width:42px;min-height:42px}.phone-panel,.bank-panel,.docs-panel,.inventory,.jobs-panel{max-width:calc(100vw - 16px);box-sizing:border-box}}
@media(max-width:430px){.mobile-actions{right:6px;bottom:78px;max-width:210px}.mobile-actions button{width:46px;height:42px;font-size:11px}.mobile-actions button small{font-size:7px}.move-pad{left:6px;bottom:78px}.move-pad button{width:46px;height:46px}}

@media(max-width:700px){html,body{overscroll-behavior:none}.game-page{overflow:hidden}.move-pad,.mobile-actions{touch-action:none}.game-page canvas{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}}

.interior-close{float:right;border:0;background:#242d3b;color:#fff;border-radius:7px;width:30px;height:30px;font-size:20px;line-height:28px;cursor:pointer;margin-left:12px}.interior-close:hover{background:#354258}

/* Dedicated fuel HUD: visible independently of job/mission UI. */
.fuel-hud{position:absolute;right:18px;top:88px;z-index:30;display:flex;align-items:center;gap:8px;min-width:155px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(10,18,28,.92);color:#fff;font-size:14px;font-weight:700;box-sizing:border-box;pointer-events:none}
.fuel-bar{width:82px;height:8px;border-radius:999px;overflow:hidden;background:#303b48;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.fuel-bar i{display:block;height:100%;width:100%;background:#69dc5a;border-radius:999px;transition:width .18s linear,background .18s linear}
.fuel-hud.low .fuel-bar i{background:#f2b84b}
.fuel-hud.empty .fuel-bar i{background:#ef5350}
@media(max-width:700px){.fuel-hud{right:8px;top:82px;min-width:135px;padding:7px 8px}.fuel-bar{width:65px}}

.speed-hud{position:absolute;right:18px;top:140px;z-index:30;display:flex;align-items:baseline;gap:6px;min-width:155px;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(10,18,28,.92);color:#fff;box-sizing:border-box;pointer-events:none;text-shadow:0 1px 2px #000}.speed-hud .speed-icon{font-size:15px}.speed-hud #speedValue{font-size:24px;line-height:1}.speed-hud small{font-size:11px;color:#aeb8c7;font-weight:700}@media(max-width:700px){.speed-hud{right:8px;top:132px;min-width:135px;padding:7px 9px}.speed-hud #speedValue{font-size:20px}}

/* V123: Clean right-side vehicle HUD layout */
.game-page .money{right:24px!important;top:12px!important;font-size:28px!important;line-height:1.05!important;text-align:right}
.game-page .needs{right:18px!important;top:52px!important;min-width:292px!important;height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:6px 11px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:10px!important;background:rgba(8,11,13,.88)!important;white-space:nowrap!important;box-sizing:border-box!important}
.game-page .fuel-hud{right:18px!important;top:94px!important;min-width:168px!important;height:38px!important;justify-content:center!important;padding:7px 10px!important;border-radius:10px!important;background:rgba(10,18,28,.94)!important;box-shadow:0 5px 16px rgba(0,0,0,.18)!important}
.game-page .fuel-bar{width:84px!important;height:8px!important}
.game-page .speed-hud{right:18px!important;top:138px!important;min-width:168px!important;height:42px!important;justify-content:center!important;padding:7px 12px!important;border-radius:10px!important;background:rgba(10,18,28,.94)!important;box-shadow:0 5px 16px rgba(0,0,0,.18)!important}
.game-page .speed-hud .speed-icon{font-size:14px!important}.game-page .speed-hud #speedValue{font-size:23px!important;min-width:42px!important;text-align:right!important}.game-page .speed-hud small{font-size:11px!important;min-width:34px!important}
@media(max-width:700px){.game-page .money{right:10px!important;top:8px!important;font-size:22px!important}.game-page .needs{right:8px!important;top:42px!important;min-width:245px!important;width:auto!important;height:32px!important;font-size:12px!important}.game-page .fuel-hud{right:8px!important;top:80px!important;min-width:145px!important;height:35px!important}.game-page .fuel-bar{width:68px!important}.game-page .speed-hud{right:8px!important;top:121px!important;min-width:145px!important;height:38px!important}.game-page .speed-hud #speedValue{font-size:20px!important}}

/* Eigener Kleidung-Designer */
#designName,#designCategory,#designPattern,#designPrice{
  min-width:0;padding:9px 10px;border:1px solid #334157;border-radius:8px;
  background:#101824;color:#fff;font:inherit;box-sizing:border-box;
}
#designName:focus,#designCategory:focus,#designPattern:focus,#designPrice:focus{outline:2px solid #72db5e;outline-offset:1px}
#designColor,#designAccent{width:44px;height:34px;padding:2px;border:1px solid #334157;border-radius:7px;background:#101824}

/* Jobauswahl: eigener Scrollbereich, damit alle Berufe erreichbar bleiben */
.job-panel #jobButtons{
  max-height:420px;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:6px;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#60738d #111925;
}
.job-panel #jobButtons::-webkit-scrollbar{width:10px}
.job-panel #jobButtons::-webkit-scrollbar-track{background:#111925;border-radius:8px}
.job-panel #jobButtons::-webkit-scrollbar-thumb{background:#60738d;border-radius:8px;border:2px solid #111925}
.job-panel #jobButtons::-webkit-scrollbar-thumb:hover{background:#7f93ad}
@media(max-width:700px){
  .game-page .job-panel #jobButtons{max-height:calc(100dvh - 300px);min-height:120px}
}
.job-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}
.job-row .job-btn{width:100%;text-align:left}
.job-menu-btn{border:1px solid #40516b;background:#26344b;color:#fff;border-radius:10px;padding:8px 11px;font-weight:800;cursor:pointer;white-space:nowrap}
.job-menu-btn:hover{background:#31435e}
.job-service-menu{display:none;margin:8px 2px 4px;padding:10px;border:1px solid #3a526f;border-radius:12px;background:rgba(8,14,22,.96)}
.job-service-menu.open{display:block}
.job-service-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.job-service-head b{color:#79df64}.job-service-head span{font-size:11px;color:#9eacbe}
.job-service-inventory{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.job-inv-item{padding:7px 8px;border-radius:8px;background:#172334;border:1px solid #30445d;display:flex;justify-content:space-between;gap:5px;font-size:12px}.job-inv-item small{color:#79df64;white-space:nowrap}
.job-service-actions{display:grid;grid-template-columns:1fr;gap:6px}.job-action-btn{border:1px solid #40516b;background:#25344a;color:#fff;border-radius:9px;padding:9px;font-weight:800;cursor:pointer}.job-action-btn:hover{background:#334761}
@media(max-width:600px){.job-service-inventory{grid-template-columns:1fr}.job-menu-btn{padding:7px 8px;font-size:12px}.job-service-head{display:block}.job-service-head span{display:block;margin-top:3px}}

#jobServiceBtn{display:none;align-items:center;white-space:nowrap} #jobServiceBtn.job-service-active{display:inline-flex}

/* V126: stabile Job-/Dienst-Navigation */
.job-panel{max-height:min(78vh,680px);overflow:hidden;z-index:180!important}
#jobButtons{max-height:min(62vh,520px);overflow-y:auto;overflow-x:hidden;padding-right:6px;overscroll-behavior:contain;scrollbar-width:thin}
#jobButtons::-webkit-scrollbar{width:9px}
#jobButtons::-webkit-scrollbar-thumb{background:#5a6d87;border-radius:10px}
.job-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
.job-menu-btn{width:auto!important;min-width:78px!important;display:inline-block!important}
.job-service-menu.open{display:block;position:relative;z-index:3}

/* V127: Job-Dienstmenü als eigenes Fenster wie die Bank */
.job-service-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(2px);display:none;z-index:9000;pointer-events:auto}
.job-service-backdrop.open{display:block}
.job-service-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 28px));max-height:min(720px,88vh);overflow:hidden;display:none;pointer-events:auto;background:linear-gradient(180deg,#111a27,#090e15);border:1px solid #72db5e66;border-radius:18px;padding:18px;box-shadow:0 25px 80px rgba(0,0,0,.72);z-index:9001}
.job-service-panel.open{display:block}
.job-service-panel .panel-head{padding-bottom:12px;border-bottom:1px solid #ffffff14}
.job-service-panel .panel-head h3{font-size:22px}
.job-service-content{max-height:calc(min(720px,88vh) - 82px);overflow-y:auto;overflow-x:hidden;padding-top:10px;padding-right:5px}
.job-service-content::-webkit-scrollbar{width:9px}
.job-service-content::-webkit-scrollbar-thumb{background:#5a6d87;border-radius:10px}
.job-service-content .job-service-menu{display:block;margin:0;padding:0;border:0;background:transparent}
.job-service-content .job-service-head{background:#151d29;border:1px solid #2a3545;border-radius:12px;padding:12px}
.job-service-content .job-service-inventory{margin-top:10px}
@media(max-width:600px){
 .job-service-panel{width:calc(100vw - 20px);padding:14px;max-height:90vh}
 .job-service-content{max-height:calc(90vh - 75px)}
}

/* V128: Dienstmenü wirklich als separates Bank-ähnliches Fenster */
.job-service-backdrop{position:fixed!important;inset:0!important;z-index:10000!important;background:rgba(0,0,0,.62)!important;display:none!important;pointer-events:none!important}
.job-service-backdrop.open{display:block!important;pointer-events:auto!important}
.job-service-panel{position:fixed!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;z-index:10001!important;display:none!important;width:min(620px,calc(100vw - 32px))!important;max-height:min(760px,88vh)!important;box-sizing:border-box!important;overflow:hidden!important}
.job-service-panel.open{display:block!important}
.job-service-content{max-height:calc(min(760px,88vh) - 85px)!important;overflow-y:auto!important;overflow-x:hidden!important}
@media(max-width:600px){.job-service-panel{width:calc(100vw - 18px)!important;max-height:90vh!important}.job-service-content{max-height:calc(90vh - 82px)!important}}

/* V125: Admin brand placement */
#adminCreateFireBtn:disabled{opacity:.65;cursor:wait}
#adminPlaceFireMapBtn{background:#2b3a55;color:#fff}

/* STADTLEBEN Professional Loading Screen + Maintenance */
#stLoadingScreen{
  position:fixed;inset:0;z-index:999999;
  display:flex;align-items:center;justify-content:center;
  background:#07090e url("assets/stadtleben-loading.png") center center/cover no-repeat;
  opacity:1;visibility:visible;
  transition:opacity .65s ease,visibility .65s ease;
  overflow:hidden;
}
#stLoadingScreen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
#stLoadingScreen::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(3,5,10,.06),rgba(3,5,10,.12) 55%,rgba(3,5,10,.52));
  pointer-events:none;
}
.st-loading-ui{position:absolute;left:50%;bottom:4.2%;transform:translateX(-50%);width:min(760px,72vw);z-index:2}
.st-loading-track{
  height:11px;border-radius:999px;background:rgba(12,15,22,.92);
  border:1px solid rgba(255,255,255,.12);box-shadow:0 5px 22px rgba(0,0,0,.45);
  overflow:hidden;
}
.st-loading-fill{
  width:4%;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,#d71920,#ff3b3f,#d71920);
  box-shadow:0 0 18px rgba(231,27,35,.7);
  transition:width .28s ease;
  position:relative;overflow:hidden;
}
.st-loading-fill::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transform:translateX(-100%);animation:stLoadShine 1.25s linear infinite;
}
.st-loading-meta{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:9px;color:rgba(255,255,255,.76);
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  text-shadow:0 1px 3px #000;
}
.st-loading-percent{font-size:14px;font-weight:900;color:#fff;letter-spacing:.03em}
.st-loading-status{display:flex;align-items:center;gap:7px}
.st-loading-dot{
  width:7px;height:7px;border-radius:50%;background:#e21b23;
  box-shadow:0 0 9px rgba(226,27,35,.9);animation:stLoadPulse 1s ease-in-out infinite;
}
.st-loading-tip{
  position:absolute;left:50%;bottom:11.8%;transform:translateX(-50%);
  z-index:2;width:min(610px,58vw);padding:11px 18px;
  border:1px solid rgba(225,27,35,.72);border-radius:10px;
  background:rgba(5,8,13,.78);backdrop-filter:blur(7px);
  color:#e9edf3;font-size:13px;box-shadow:0 8px 30px rgba(0,0,0,.28);
  text-align:left;
}
.st-loading-tip b{color:#fff;margin-right:7px}
.st-loading-tip span{color:#cbd2dc}
@keyframes stLoadShine{to{transform:translateX(100%)}}
@keyframes stLoadPulse{50%{opacity:.35;transform:scale(.72)}}
@media (max-width:800px){
  #stLoadingScreen{background-position:center}
  .st-loading-ui{width:82vw;bottom:5.5%}
  .st-loading-tip{width:78vw;bottom:14.5%;font-size:11px}
}
@media (prefers-reduced-motion:reduce){
  .st-loading-fill::after,.st-loading-dot{animation:none}
  #stLoadingScreen{transition:none}
}

.house-furniture{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:6px 0}.house-furniture label{display:inline-flex;align-items:center;gap:4px;font-size:13px;padding:4px 7px;background:rgba(255,255,255,.06);border-radius:8px}

/* Admin-Konsole: nur für eingeloggte Admins sichtbar (HTML wird serverseitig geschützt). */
.admin-console{position:fixed;left:18px;bottom:18px;width:min(560px,calc(100vw - 36px));z-index:10050;background:rgba(8,12,18,.96);border:1px solid #536579;border-radius:12px;box-shadow:0 12px 35px rgba(0,0,0,.45);backdrop-filter:blur(8px);padding:10px;display:none}.admin-console.open{display:block}.admin-console-head{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#fff;font-size:13px;margin-bottom:7px}.admin-console-head span{color:#9aa8b8;font-size:11px}.admin-console form{display:flex;align-items:center;gap:7px}.admin-console-prompt{color:#70dc5d;font-weight:800}.admin-console input{flex:1;min-width:0;background:#0c131d;color:#fff;border:1px solid #3c4b5e;border-radius:7px;padding:9px 10px;outline:none;font:14px Consolas,monospace}.admin-console input:focus{border-color:#71df5d;box-shadow:0 0 0 2px rgba(113,223,93,.12)}.admin-console-log{max-height:150px;overflow:auto;margin-top:7px;font:12px Consolas,monospace;color:#c8d2de;white-space:pre-wrap}.admin-console-log:empty{display:none}.admin-console-log .ok{color:#7ee66c}.admin-console-log .err{color:#ff8d8d}.admin-console-log .info{color:#a9b7c8}@media(max-width:700px){.admin-console{left:8px;bottom:8px;width:calc(100vw - 16px)}}


/* Telefon-Benachrichtigungen + Mobile Touch-Fix */
.phone-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:#ef4444;color:#fff;font:bold 11px Arial,sans-serif;vertical-align:middle;box-sizing:border-box}
.hud-buttons button.has-unread{box-shadow:0 0 0 2px rgba(239,68,68,.35),0 0 12px rgba(239,68,68,.35)}
.contact{position:relative}.contact-unread{position:absolute;right:10px;top:50%;transform:translateY(-50%);min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;font:bold 11px Arial,sans-serif}
@media(max-width:700px){
 .game-page{width:100%;height:100dvh;min-height:100%;overflow:hidden}
 .game-page #game-wrap{width:100vw;height:100dvh;min-height:420px}
 .game-page canvas{width:100%!important;height:100%!important;display:block}
 .game-page .hud-buttons{bottom:52px!important;left:6px!important;right:6px!important;max-height:96px;overflow-y:auto;align-content:flex-end;padding:2px 0;scrollbar-width:none}
 .game-page .hud-buttons::-webkit-scrollbar{display:none}
 .game-page .hud-buttons button,.game-page .logout{min-height:44px;min-width:44px;touch-action:manipulation}
 .move-pad{bottom:106px!important;left:6px!important;z-index:10020!important}.move-pad button{width:52px!important;height:52px!important;font-size:22px!important;touch-action:none}
 .mobile-actions{bottom:106px!important;right:6px!important;max-width:235px!important;display:grid!important;grid-template-columns:repeat(3,52px);gap:5px;z-index:10020!important;touch-action:none}
 .mobile-actions button{width:52px!important;height:52px!important;min-width:52px;min-height:52px;margin:0!important;padding:3px!important;font-size:12px!important;touch-action:none;-webkit-user-select:none;user-select:none}
 .mobile-actions button small{font-size:8px!important}
 .phone-panel,.bank-panel,.docs-panel,.inventory,.jobs-panel,.admin-panel,.dialogue{max-width:calc(100vw - 16px)!important;width:calc(100vw - 16px)!important;max-height:calc(100dvh - 90px)!important;overflow:auto!important;box-sizing:border-box}
 .phone-panel .chat-send{position:sticky;bottom:0;background:#080d14;padding-top:6px}
 .phone-panel input,.phone-panel button,.bank-panel input,.bank-panel button,.dialogue input,.dialogue button{min-height:44px;font-size:16px}
 .admin-console{bottom:6px!important;left:6px!important;width:calc(100vw - 12px)!important}.admin-console input{font-size:16px;min-height:44px}
}
@media(max-width:430px){.game-page .hud-buttons{bottom:48px!important;max-height:90px}.move-pad{bottom:100px!important}.mobile-actions{bottom:100px!important;grid-template-columns:repeat(3,48px);max-width:218px!important}.mobile-actions button{width:48px!important;height:48px!important;min-width:48px;min-height:48px}}

.mini-task-hud{position:absolute;left:20px;top:125px;z-index:20;max-width:360px;padding:12px 14px;border:1px solid #374151;border-radius:12px;background:rgba(8,10,15,.94);box-shadow:0 8px 25px rgba(0,0,0,.35);pointer-events:none}
.mini-task-hud b{display:block;font-size:16px;margin-bottom:5px}.mini-task-hud div{font-size:13px;color:#d7dde8;margin-top:3px}
@media(max-width:700px){.mini-task-hud{left:10px;top:88px;right:10px;max-width:none;padding:10px}.mini-task-hud b{font-size:14px}}

/* VIRTUAL SMARTPHONE UI */
.phone-panel{position:fixed;right:24px;top:50%;transform:translateY(-50%);width:390px;height:700px;padding:0;background:transparent;border:0;box-shadow:none;z-index:50;display:none;overflow:visible}
.phone-panel.open{display:block}
.phone-device{position:relative;width:100%;height:100%;box-sizing:border-box;border:7px solid #171b21;border-radius:38px;background:#0b1018;box-shadow:0 25px 80px rgba(0,0,0,.75),inset 0 0 0 1px #ffffff18;overflow:hidden}
.phone-notch{position:absolute;z-index:5;left:50%;top:8px;transform:translateX(-50%);width:128px;height:24px;background:#05070a;border-radius:0 0 15px 15px}
.phone-status{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#f4f7fa;font-size:11px;background:linear-gradient(#0b1018,#111722)}
.phone-status span:first-child{color:#72db5e;letter-spacing:1px}.phone-header{height:38px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;color:#fff;font-weight:800;background:#111823;border-bottom:1px solid #ffffff10}.phone-header button{width:30px;height:30px;border:0;border-radius:50%;background:#293343;color:#fff;font-size:19px;cursor:pointer}.phone-home{height:calc(100% - 76px);padding:12px 14px 16px;box-sizing:border-box;background:radial-gradient(circle at 30% 15%,#20374a,#101b29 42%,#081018 100%);position:relative}.phone-wallpaper{text-align:center;padding:14px 0 18px}.phone-clock{font-size:48px;font-weight:800;line-height:1}.phone-date{color:#9eafc0;font-size:11px;margin-top:6px}.phone-app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px 8px}.phone-app{position:relative;border:0;background:transparent;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px}.phone-app i{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#26364b,#142031);font-style:normal;font-size:28px;box-shadow:0 5px 14px #0005;border:1px solid #ffffff12}.phone-app:hover i{transform:translateY(-2px);border-color:#72db5e88}.phone-app b{font-size:10px}.phone-app span{position:absolute;right:15px;top:-3px;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:#ef4444;color:#fff;font-size:10px;display:grid;place-items:center}.phone-dock{position:absolute;left:12px;right:12px;bottom:10px;height:64px;border-radius:20px;background:#ffffff12;backdrop-filter:blur(12px);display:flex;justify-content:space-around;align-items:center;border:1px solid #ffffff12}.phone-dock-app{border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer}.phone-apps{display:none;height:calc(100% - 76px);background:#0a1018}.phone-apps.active{display:block}.phone-app-view{display:none;height:100%;box-sizing:border-box;padding:12px 12px 16px;overflow:auto}.phone-app-view.active{display:block}.phone-app-subhead{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 10px;font-size:16px}.phone-back{border:0;background:#253143;color:#fff;border-radius:9px;width:34px;height:30px;cursor:pointer}.phone-app-view .contact-list{height:240px}.phone-app-view .chat-box{margin-top:10px}.phone-app-view .messages{height:250px}.gps-phone-card{background:linear-gradient(160deg,#172b39,#101923);border:1px solid #2f4d5c;border-radius:18px;padding:22px;text-align:center}.gps-ring{margin:auto;width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:#172a35;border:1px solid #72db5e66;font-size:45px}.gps-phone-card h3{margin:14px 0 5px}.gps-phone-card p{color:#9eafc0}.gps-destination{display:flex;justify-content:space-between;background:#0d151f;border-radius:10px;padding:12px;margin:15px 0;color:#aeb9c6}.gps-destination b{color:#72db5e}.phone-calculator{background:#070b10;border-radius:15px;padding:12px}.phone-calculator input{width:100%;box-sizing:border-box;background:#111a25;border:0;border-radius:12px;color:#fff;text-align:right;font-size:30px;padding:16px;margin-bottom:10px}.phone-calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.phone-calc-grid button{height:58px;border:0;border-radius:12px;background:#1a2533;color:#fff;font-size:18px;cursor:pointer}.phone-calc-grid button:hover{background:#2b3a4d}.phone-camera{height:520px;border-radius:18px;background:radial-gradient(circle at center,#2b3a46,#060a0f 70%);position:relative;display:grid;place-items:center;overflow:hidden}.camera-crosshair{font-size:60px;color:#ffffff55}.camera-label{position:absolute;top:15px;left:15px;color:#fff;font-size:10px}.camera-shutter{position:absolute;bottom:20px;width:64px;height:64px;border-radius:50%;border:5px solid #fff;background:#fff4;color:#fff;font-size:30px}.phone-setting{display:flex;justify-content:space-between;gap:10px;padding:15px;background:#141e2b;border-bottom:1px solid #ffffff0c}.phone-setting:first-of-type{border-radius:12px 12px 0 0}.phone-setting:last-of-type{border-radius:0 0 12px 12px}.phone-setting span{color:#bdc8d4}.phone-setting b{color:#72db5e}.phone-panel .phone-help{margin:8px 0}.phone-panel .chat-send input{background:#111823;color:#fff}
@media(max-width:700px){.phone-panel{left:50%;right:auto;top:50%;transform:translate(-50%,-50%);width:min(390px,calc(100vw - 12px));height:min(700px,calc(100vh - 12px))}.phone-device{border-radius:30px}.phone-camera{height:42vh}}

/* Smartphone reliability/mobile override */
.phone-panel{isolation:isolate;contain:layout paint;}
.phone-device{font-family:Arial,Helvetica,sans-serif;color:#f7fafc;}
.phone-apps{min-height:0;}
.phone-app-view{min-width:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.phone-app-view button,.phone-home button{touch-action:manipulation;}
.phone-app-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.phone-app i{transition:transform .12s ease,filter .12s ease;}
.phone-app:active i{transform:scale(.94);}
.phone-dock-app{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;}
.phone-app-subhead{position:sticky;top:-12px;z-index:3;background:#0a1018;padding-top:12px;}
.phone-app-view .contact-list{max-height:210px;height:auto;min-height:80px;}
.phone-app-view .chat-box{display:flex;flex-direction:column;min-height:0;}
.phone-app-view .messages{min-height:100px;max-height:230px;overflow:auto;}
.phone-app-view .chat-send{display:grid;grid-template-columns:1fr auto;gap:7px;position:sticky;bottom:0;padding:8px 0 2px;background:#0a1018;z-index:4;}
.phone-app-view .chat-send input{min-width:0;width:100%;box-sizing:border-box;}
.phone-calculator{max-width:100%;}
.phone-calc-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.phone-calc-grid button{min-width:0;min-height:52px;}
.phone-camera{height:430px;max-height:58vh;}
@media(max-width:700px){
  .phone-panel{width:min(390px,calc(100vw - 12px))!important;height:min(700px,calc(100dvh - 12px))!important;}
  .phone-device{width:100%;height:100%;}
  .phone-status{height:34px;padding:0 13px;}
  .phone-header{height:38px;}
  .phone-home,.phone-apps{height:calc(100% - 72px);}
  .phone-home{padding:8px 10px 12px;overflow:auto;}
  .phone-wallpaper{padding:8px 0 12px;}
  .phone-clock{font-size:40px;}
  .phone-app-grid{gap:11px 5px;}
  .phone-app i{width:48px;height:48px;font-size:24px;border-radius:14px;}
  .phone-dock{height:56px;left:9px;right:9px;bottom:7px;}
  .phone-app-view{padding:8px 9px 12px;}
  .phone-app-subhead{top:-8px;padding-top:8px;}
  .phone-app-view .messages{max-height:190px;}
  .phone-camera{height:45vh;max-height:380px;}
}

/* Smartphone apps: feeds, forms and call controls */
.phone-feed{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.phone-feed-item{background:#111b27;border:1px solid #2b394c;border-radius:12px;padding:10px;color:#eef3f7}
.phone-feed-item small{display:block;color:#9eafc0;font-size:10px;margin:4px 0 8px}
.phone-feed-item .btn{margin:3px 4px 0 0}
.phone-form-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin:8px 0}
.phone-form-row input,.phone-textarea{width:100%;box-sizing:border-box;background:#111823;color:#fff;border:1px solid #334157;border-radius:9px;padding:10px;font:inherit}
.phone-textarea{min-height:90px;resize:vertical;margin:7px 0}
#callStatusText{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
@media(max-width:700px){.phone-feed-item .btn,.phone-form-row .btn{min-height:40px}.phone-form-row{grid-template-columns:1fr auto}}

/* Polizei-Tablet */
.police-tablet{pointer-events:auto;position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;background:rgba(3,8,15,.82);backdrop-filter:blur(7px)}
.police-tablet.open{display:flex}.police-tablet-shell{width:min(1100px,94vw);height:min(720px,90vh);background:#101820;border:2px solid #35577e;border-radius:22px;box-shadow:0 25px 90px #000;overflow:hidden;color:#edf5ff;display:flex;flex-direction:column}.police-tablet-top{height:70px;background:linear-gradient(135deg,#10263b,#173e61);display:flex;justify-content:space-between;align-items:center;padding:0 22px;border-bottom:1px solid #426889}.police-tablet-top b{display:block;font-size:20px;letter-spacing:.6px}.police-tablet-top small{color:#9eb5ca}.police-tablet-actions{display:flex;align-items:center;gap:18px}.police-tablet-actions button{border:0;background:#183148;color:#fff;border-radius:10px;width:42px;height:42px;font-size:24px;cursor:pointer}.police-tablet-body{flex:1;display:grid;grid-template-columns:210px 1fr;min-height:0}.tablet-sidebar{padding:18px;background:#0c141c;border-right:1px solid #273c50}.tablet-nav{width:100%;padding:13px 12px;margin-bottom:8px;border:1px solid #263d51;border-radius:10px;background:#121f2b;color:#dbe8f4;text-align:left;cursor:pointer}.tablet-nav.active,.tablet-nav:hover{background:#1c4262;border-color:#4c82ad}.tablet-main{pointer-events:auto;padding:22px;overflow:auto}.tablet-tab{display:none}.tablet-tab.active{display:block}.tablet-main h2{margin:0 0 15px}.tablet-search{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tablet-search input{pointer-events:auto;user-select:text;-webkit-user-select:text;touch-action:auto;flex:1;min-width:140px;background:#0c141c;color:#fff;border:1px solid #324a61;border-radius:9px;padding:11px}.tablet-list{display:flex;flex-direction:column;gap:9px}.tablet-result,.tablet-offense{background:#121f2b;border:1px solid #2d4357;border-radius:12px;padding:13px}.tablet-result{cursor:pointer}.tablet-result:hover{border-color:#5793c2;background:#172a3a}.tablet-result small,.tablet-offense small{display:block;color:#9eb1c2;margin-top:5px}.tablet-file{margin-top:16px;background:#0c141c;border:1px solid #35516a;border-radius:14px;padding:16px}.tablet-file-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.tablet-file-actions{display:flex;gap:7px;flex-wrap:wrap}.tablet-status-card{background:#122333;border:1px solid #31516a;border-radius:14px;padding:20px}.tablet-status-card b,.tablet-status-card span{display:block}.tablet-status-card span{color:#9eb1c2;margin-top:8px}.tablet-help{color:#9eb1c2;margin-top:10px}.police-tablet-bottom{height:38px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:#0b1117;color:#8298aa;font-size:12px}@media(max-width:700px){.police-tablet-shell{width:98vw;height:94vh;border-radius:14px}.police-tablet-body{grid-template-columns:1fr}.tablet-sidebar{display:flex;gap:6px;padding:8px;overflow:auto;border-right:0;border-bottom:1px solid #273c50}.tablet-nav{min-width:145px;margin:0}.tablet-main{padding:13px}.police-tablet-top{padding:0 12px}}

/* Polizei-Tablet: Verstoß löschen */
.police-tablet .btn.danger{background:#7f1d1d;border:1px solid #b91c1c;color:#fff;min-width:92px}
.police-tablet .btn.danger:hover{background:#991b1b}
@media(max-width:760px){.police-tablet .tablet-offense .btn.danger{width:100%;margin-top:8px}.police-tablet .tablet-offense>div{flex-direction:column!important}}

/* Polizei-Akte: Verwaltung direkt an jedem Eintrag */
.tablet-file-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.tablet-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#173b55;border:1px solid #3e7097;color:#bfe2ff;font-size:11px;font-weight:700}
.police-tablet .tablet-offense .btn.danger{background:#8b1e2d!important;border:1px solid #d04a5d!important;color:#fff!important;cursor:pointer;font-weight:800}
.police-tablet .tablet-offense .btn.danger:hover{background:#b42336!important}
.police-tablet .tablet-report-compose{margin-top:16px;padding:14px;border:1px solid #35516a;border-radius:12px;background:#0f1b26}
.police-tablet .tablet-report-compose input,.police-tablet .tablet-report-compose textarea{width:100%;box-sizing:border-box}

/* IBIS-Bordcomputer: eigenes Fenster im Stil des Bankmenüs */
.ibis-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(3px);z-index:1200;display:none}.ibis-backdrop.open{display:block}
.ibis-panel{position:fixed;z-index:1201;left:50%;top:50%;transform:translate(-50%,-50%);width:min(470px,calc(100vw - 28px));max-height:calc(100vh - 32px);overflow:auto;background:#0d141f;color:#f7f9fc;border:1px solid #334155;border-radius:16px;box-shadow:0 24px 80px #0009;padding:16px;display:none;font-family:inherit}.ibis-panel.open{display:block}
.ibis-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #263244;padding-bottom:12px;margin-bottom:14px}.ibis-panel .panel-head h3{margin:0;font-size:20px;font-weight:800}.ibis-panel .panel-head button{border:0;border-radius:8px;background:#263244;color:white;font-size:22px;width:34px;height:34px;cursor:pointer}
.ibis-body{display:flex;flex-direction:column;gap:12px}.ibis-status{display:flex;align-items:center;gap:8px;border:1px solid #2b394b;background:#151f2d;padding:10px 12px;border-radius:10px;color:#8fe879;font-weight:700}.ibis-dot{width:9px;height:9px;border-radius:50%;background:#78df5f;box-shadow:0 0 10px #78df5f}.ibis-body label{font-size:13px;color:#b9c5d5;font-weight:700;margin-bottom:-6px}
.ibis-select{width:100%;background:#172333;color:#fff;border:1px solid #3a4b60;border-radius:9px;padding:12px;font-size:15px;outline:none}.ibis-route-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #2d3c50;background:#151f2d;border-radius:11px}.ibis-route-number{display:grid;place-items:center;min-width:48px;height:48px;border-radius:10px;background:#70d957;color:#10200d;font-size:24px;font-weight:900}.ibis-route-card strong,.ibis-route-card small{display:block}.ibis-route-card strong{font-size:16px}.ibis-route-card small{font-size:12px;color:#aebccd;margin-top:4px}
.ibis-next-stop{padding:11px 12px;background:#111b28;border-radius:9px;color:#b9c5d5;font-size:13px}.ibis-next-stop strong{display:block;color:#fff;font-size:15px;margin-top:5px}.ibis-primary{width:100%;border:0;border-radius:10px;background:#70d957;color:#0b1a08;padding:13px 14px;font-size:15px;font-weight:800;cursor:pointer}.ibis-primary:hover{filter:brightness(1.06)}.ibis-help{margin:0;color:#9aa9bc;font-size:12px;line-height:1.45}.job-action-btn[data-job-action="ibis"]{border-color:#5da94c;background:#1d3821}

/* IBIS modal layout hardening + dedicated HUD button */
#ibisBackdrop{position:fixed!important;inset:0!important;background:rgba(0,0,0,.58)!important;backdrop-filter:blur(3px);z-index:9998!important;display:none}
#ibisBackdrop.open{display:block!important}
#ibisPanel{position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(470px,calc(100vw - 28px))!important;max-width:470px!important;min-width:0!important;max-height:calc(100vh - 32px)!important;overflow:auto!important;box-sizing:border-box!important;background:#0d141f!important;color:#f7f9fc!important;border:1px solid #334155!important;border-radius:16px!important;box-shadow:0 24px 80px #0009!important;padding:16px!important;display:none;z-index:9999!important;font-family:inherit!important;line-height:1.4!important;text-shadow:none!important}
#ibisPanel.open{display:block!important}
#ibisPanel *{box-sizing:border-box}
#ibisPanel .panel-head{position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;background:transparent!important;border-bottom:1px solid #263244!important;padding:0 0 12px!important;margin:0 0 14px!important}
#ibisPanel .panel-head h3{margin:0!important;font-size:20px!important;font-weight:800!important;color:#f7f9fc!important}
#ibisPanel .panel-head button{border:0!important;border-radius:8px!important;background:#263244!important;color:white!important;font-size:22px!important;width:34px!important;height:34px!important;cursor:pointer!important}
#ibisPanel .ibis-body{display:flex!important;flex-direction:column!important;gap:12px!important}
#ibisPanel .ibis-select{width:100%!important;background:#172333!important;color:#fff!important;border:1px solid #3a4b60!important;border-radius:9px!important;padding:12px!important;font-size:15px!important}
#ibisPanel .ibis-primary{width:100%!important;border:0!important;border-radius:10px!important;background:#70d957!important;color:#0b1a08!important;padding:13px 14px!important;font-size:15px!important;font-weight:800!important;cursor:pointer!important}
#ibisQuickBtn{display:none;align-items:center;justify-content:center;background:#17351e!important;border:1px solid #70d957!important;color:#eaffdf!important;border-radius:9px!important;padding:8px 12px!important;font-weight:800!important;cursor:pointer!important;pointer-events:auto!important}

#ibisQuickBtn{position:relative;z-index:5000;pointer-events:auto!important;cursor:pointer!important}

.ibis-admin-editor{display:flex;flex-direction:column;gap:8px;border:1px solid #52647a;background:#101a28;border-radius:12px;padding:12px;margin-top:8px}.ibis-admin-editor h4{margin:0 0 4px;font-size:15px}.ibis-admin-editor textarea{resize:vertical;font-family:ui-monospace,monospace;font-size:12px;line-height:1.4}.ibis-admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ibis-admin-actions button{border:1px solid #52647a;border-radius:8px;padding:9px;background:#26364a;color:#fff;font-weight:700;cursor:pointer}.ibis-admin-actions #ibisAdminSave{background:#286b3c;border-color:#4a9a5c}.ibis-admin-actions #ibisAdminDelete{grid-column:1/-1;background:#6d2930;border-color:#a74650}

.ibis-admin-place{border:1px solid #4a9a5c!important;border-radius:9px!important;padding:11px!important;background:#286b3c!important;color:#fff!important;font-weight:800!important;cursor:pointer!important;pointer-events:auto!important}.ibis-admin-editor button,.ibis-admin-editor input,.ibis-admin-editor textarea,.ibis-admin-editor select{pointer-events:auto!important;position:relative;z-index:2}.ibis-admin-editor{position:relative;z-index:5}

/* IBIS final interaction fix: modal is portaled to body and must be above every HUD layer. */
#ibisBackdrop{position:fixed!important;inset:0!important;z-index:2147483000!important;pointer-events:auto!important}
#ibisPanel{position:fixed!important;z-index:2147483001!important;pointer-events:auto!important;isolation:isolate!important;touch-action:auto!important}
#ibisPanel button,#ibisPanel input,#ibisPanel select,#ibisPanel textarea,#ibisPanel label{pointer-events:auto!important;touch-action:manipulation!important}
#ibisPanel input,#ibisPanel textarea{user-select:text!important;-webkit-user-select:text!important}
/* IBIS controls: reliable stacking and touch interaction */
#ibisBackdrop{pointer-events:auto!important;z-index:2147483000!important}
#ibisPanel{pointer-events:auto!important;z-index:2147483001!important;isolation:isolate!important;touch-action:pan-y!important}
#ibisPanel button,#ibisPanel input,#ibisPanel select,#ibisPanel textarea{position:relative;z-index:2;pointer-events:auto!important;touch-action:manipulation!important}
#ibisPanel button{cursor:pointer!important}
#ibisPanel .ibis-admin-editor[style*="display: none"]{display:none!important}


/* Job-Uniformbilder: Admin-Upload und für alle Spieler sichtbare Vorschau */
.job-uniform-preview{width:58px;height:72px;object-fit:contain;flex:0 0 auto;border-radius:8px;background:rgba(15,28,50,.65);border:1px solid rgba(130,170,220,.35);padding:3px}.job-row{align-items:center;gap:8px}.job-row .job-btn{flex:1;min-width:0}

/* PATCH: Jobauswahl deckend wie im Admin-Bereich */
.job-panel{background:#080b0d!important;}


/* Stadtleben Kleidung-Shop Patch: lange Kataloge bleiben innerhalb des Shops scrollbar */
#shopItems.clothing-catalog-scroll {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px;
  max-height: min(44vh, 390px);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #65748c #151e2c;
  padding: 4px 7px 10px 0;
  min-height: 0;
}
#shopItems.clothing-catalog-scroll .clothing-item-card {
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  background: #151f2d;
  border: 1px solid #33445c;
  border-radius: 10px;
  padding: 10px;
}
#shopItems.clothing-catalog-scroll .clothing-item-card > span:first-child {
  min-width: 100px;
  flex: 1 1 130px;
  overflow-wrap: anywhere;
}
#shopItems.clothing-catalog-scroll .clothing-item-card > span:last-child {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
}
#shopItems.clothing-catalog-scroll .clothing-item-card small {
  display: block;
  color: #c4cedd;
  white-space: normal;
}
@media (max-width: 520px) {
  #shopItems.clothing-catalog-scroll { max-height: 42vh; }
  #shopItems.clothing-catalog-scroll .clothing-item-card { padding: 8px; gap: 6px; }
  #shopItems.clothing-catalog-scroll .clothing-item-card .btn { padding: 9px 12px; }
}

/* Phone scrolling patch: keep the home dock fixed while allowing app icons and app pages to scroll. */
.phone-home {
  overflow: hidden;
  min-height: 0;
}
.phone-app-grid {
  max-height: calc(100% - 145px);
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  padding: 0 6px 78px 0;
  scrollbar-width: thin;
  scrollbar-color: #72db5e #142130;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.phone-apps {
  min-height: 0;
  overflow: hidden;
}
.phone-app-view {
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: #72db5e #142130;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.phone-app-grid::-webkit-scrollbar,
.phone-app-view::-webkit-scrollbar {
  width: 7px;
}
.phone-app-grid::-webkit-scrollbar-track,
.phone-app-view::-webkit-scrollbar-track {
  background: #142130;
  border-radius: 8px;
}
.phone-app-grid::-webkit-scrollbar-thumb,
.phone-app-view::-webkit-scrollbar-thumb {
  background: #72db5e;
  border-radius: 8px;
  border: 1px solid #142130;
}
.phone-app-grid::-webkit-scrollbar-thumb:hover,
.phone-app-view::-webkit-scrollbar-thumb:hover {
  background: #9af28a;
}
