*{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:#080b0de8;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}
