/* ToyoTaxi Admin — sötét „éjszakai aszfalt" alap (a flotta-app rokona), de az identitás a
   SÁRGA TAXI-RENDSZÁM: sárga tábla fekete betűvel, taxi-sárga akcentus. Oswald/Barlow/Archivo self-host. */
@font-face{font-family:'Oswald';src:url('fonts/Oswald.woff2') format('woff2');font-weight:200 700;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('fonts/BarlowCondensed-Medium.woff2') format('woff2');font-weight:400 600;font-display:swap}
@font-face{font-family:'Archivo';src:url('fonts/Archivo.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--bg:#0e1013;--bg2:#13161b;--panel:#171b21;--panel2:#1d222a;--line:#262c36;--txt:#e8eaee;--mut:#8a93a3;
  --taxi:#f5b301;--taxi2:#d99e00;--ok:#43c98b;--warn:#ffb224;--bad:#ff5d5d;--plate-face:#f5c518;--plate-ink:#111;
  --disp:'Oswald','Arial Narrow',sans-serif;--cond:'Barlow Condensed','Arial Narrow',sans-serif;--body:'Archivo',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--txt);font:15px/1.55 var(--body);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--taxi);text-decoration:none} a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--taxi);outline-offset:2px;border-radius:4px}
.mut{color:var(--mut)} .mono{font-family:ui-monospace,Consolas,monospace;font-size:.92em}
h1{font:600 30px/1.1 var(--disp);letter-spacing:.01em} h2{font:600 20px/1.2 var(--disp);margin:0 0 12px} h3{font:600 16px/1.3 var(--cond);letter-spacing:.03em;text-transform:uppercase;color:var(--mut);margin:0 0 8px}
/* fejléc */
.top{display:flex;align-items:center;gap:22px;padding:0 22px;height:56px;background:var(--bg2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.brand{font:700 20px/1 var(--disp);letter-spacing:.06em;color:var(--txt);display:inline-flex;align-items:center;gap:8px}
.brand span{color:var(--taxi)} .brand em{font:500 12px/1 var(--cond);letter-spacing:.14em;color:var(--mut);margin-left:4px;text-transform:uppercase}
.bcheck{width:18px;height:18px;background:repeating-conic-gradient(var(--taxi) 0 25%,#111 0 50%) 0 0/9px 9px;border-radius:3px}
.brand:hover{text-decoration:none}
.unav{margin-left:auto;display:flex;align-items:center;gap:4px}
.unav a{color:var(--mut);font:500 14px/1 var(--cond);letter-spacing:.06em;text-transform:uppercase;padding:9px 11px;border-radius:7px}
.unav a:hover{color:var(--txt);text-decoration:none;background:var(--panel)} .unav a.active{color:var(--taxi);background:var(--panel)}
.umenu{position:relative;margin-left:8px} .umenu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;color:var(--mut);font-size:13px}
.uav{width:28px;height:28px;border-radius:50%;background:var(--taxi);color:#111;font:700 13px/28px var(--body);text-align:center}
.udrop{position:absolute;right:0;top:calc(100% + 8px);background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:220px;padding:6px;box-shadow:0 16px 40px rgba(0,0,0,.5);z-index:30}
.udrop-h{padding:10px 11px;border-bottom:1px solid var(--line);margin-bottom:5px} .udrop-h b{display:block} .udrop-h span{font-size:12px;color:var(--mut)}
.udrop a{display:block;padding:8px 11px;border-radius:7px;color:var(--txt);font-size:14px} .udrop a:hover{background:var(--panel2);text-decoration:none} .udrop-out{color:var(--bad)!important}
/* lap */
.wrap{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:26px 22px 60px} .wrap.wide{max-width:1400px}
.foot{padding:18px 22px;color:var(--mut);font-size:12.5px;border-top:1px solid var(--line)}
.flash{padding:11px 14px;border-radius:9px;margin:0 0 16px;font-size:14px;border:1px solid} .flash.ok{background:#123326;border-color:#1f5a3f;color:#9be2c0} .flash.err{background:#3a1717;border-color:#6a2626;color:#ffb0b0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:0 0 16px}
.grid{display:grid;gap:14px} .g2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))} .g3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))} .g4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.ph{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 18px}
/* rendszám: sárga taxi-tábla */
.plate{display:inline-block;font:600 15px/1 var(--cond);letter-spacing:.12em;color:var(--plate-ink);background:var(--plate-face);padding:4px 9px;border-radius:5px;border:1.5px solid #8a6d00;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);white-space:nowrap}
.plate.lg{font-size:24px;padding:7px 14px;border-radius:7px}
/* stat / kártya */
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px} .stat .l{font:500 12px/1 var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--mut)} .stat .v{font:600 26px/1.2 var(--disp);margin-top:6px} .stat .s{font-size:12.5px;color:var(--mut);margin-top:4px}
.pos{color:var(--ok)} .neg{color:var(--bad)} .zero{color:var(--mut)}
.pill{display:inline-block;font:500 12px/1 var(--cond);letter-spacing:.06em;padding:4px 8px;border-radius:999px;border:1px solid var(--line);color:var(--mut);white-space:nowrap}
.pill.ok{color:var(--ok);border-color:#1f5a3f} .pill.warn{color:var(--warn);border-color:#6a4a10} .pill.bad{color:var(--bad);border-color:#6a2626} .pill.taxi{color:#111;background:var(--taxi);border-color:var(--taxi)}
.carcard{display:block;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;color:var(--txt);transition:border-color .15s} .carcard:hover{border-color:var(--taxi2);text-decoration:none}
.carcard .ch{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px} .carcard .cn{font:600 17px/1.2 var(--disp)} .carcard .cm{font-size:13px;color:var(--mut);margin:2px 0 10px} .carcard .cb{font:600 20px/1.2 var(--disp);margin-top:8px}
.pills{display:flex;flex-wrap:wrap;gap:6px}
/* táblák */
.tblwrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin:0 0 16px}
table{width:100%;border-collapse:collapse;font-size:14px} th{text-align:left;font:500 12px/1.3 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top} tr:last-child td{border-bottom:0} td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.tot td{font-weight:600;background:var(--panel2)}
/* űrlap */
.frm{display:grid;gap:12px} .frow{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
label{display:block;font:500 12px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:0 0 5px}
input,select,textarea{width:100%;font:inherit;color:var(--txt);background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:9px 11px;min-height:40px} textarea{min-height:70px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--taxi)}
/* iOS Safari: a dátum-mező saját min. szélessége kilógatta a kártyából (oldalra csúszkált az oldal) */
input[type=date],input[type=datetime-local],input[type=month]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;display:block}
input::-webkit-date-and-time-value{text-align:left}
html,body{overflow-x:clip}
.btn{display:inline-flex;align-items:center;gap:6px;font:600 14px/1 var(--body);background:var(--taxi);color:#111;border:0;border-radius:999px;padding:11px 18px;cursor:pointer;white-space:nowrap} .btn:hover{background:var(--taxi2);text-decoration:none}
.btn.ghost{background:transparent;color:var(--txt);border:1px solid var(--line)} .btn.ghost:hover{border-color:var(--mut);background:var(--panel2)}
.btn.sm{padding:7px 12px;font-size:13px} .btn.danger{background:transparent;color:var(--bad);border:1px solid #6a2626} .btn.danger:hover{background:#3a1717}
.btnrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;font-size:14px} .kv b{color:var(--mut);font-weight:500} .kv-mut{color:var(--mut)}
details.fold summary{cursor:pointer;font:600 15px/1.2 var(--disp);color:var(--taxi);padding:6px 0;list-style:none} details.fold summary::before{content:'▸ ';font-size:12px} details.fold[open] summary::before{content:'▾ '}
.alerts{display:flex;flex-direction:column;gap:6px} .alerts a{color:var(--txt)}
.ev{display:grid;grid-template-columns:96px 1fr auto;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;align-items:baseline} .ev:last-child{border-bottom:0} .ev .ed{color:var(--mut);font-variant-numeric:tabular-nums} .ev .ec{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.ev .cat{display:inline-block;font:500 11px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);border:1px solid var(--line);border-radius:4px;padding:3px 6px;margin-right:6px}
.login{min-height:70vh;display:flex;align-items:center;justify-content:center} .lcard{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px}
.lbrand{font:700 26px/1 var(--disp);letter-spacing:.06em;margin-bottom:6px} .lbrand span{color:var(--taxi)} .lsub{color:var(--mut);font-size:14px;margin-bottom:18px}
.chk{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--mut)} .chk input{width:auto;min-height:0}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:0 0 14px} .filters label{margin-bottom:4px} .filters select,.filters input{min-width:150px}
@media(max-width:720px){.top{padding:0 12px;gap:10px} .unav a{padding:8px 7px;font-size:12.5px} .unm{display:none} .wrap{padding:16px 12px 50px} .ev{grid-template-columns:1fr;gap:3px} .kv{grid-template-columns:1fr;gap:2px}}

/* GPS Dozor élő sáv az autó-adatlapon */
.gpsbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--taxi);border-radius:12px;padding:10px 16px;margin:0 0 16px}
.gpsbar.stale{border-left-color:var(--mut)} .gtag{font:500 12px/1 var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--taxi)} .gpsbar.stale .gtag{color:var(--mut)}
.gkv{display:flex;flex-direction:column;gap:2px} .gkv i{font:500 11px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-style:normal} .gkv b{font:600 17px/1.2 var(--disp)} .gkv b.warn{color:var(--warn)}

/* Autó-fotók galéria (2026-10-06) */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.gal figure{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:var(--panel);border:1px solid var(--line)}
.gal img{width:100%;height:100%;object-fit:cover;display:block}
.gal form{position:absolute;top:4px;right:4px;margin:0}
.gx{border:0;background:rgba(0,0,0,.6);color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:15px;line-height:1;opacity:0;transition:opacity .15s}
.gal figure:hover .gx{opacity:1}
@media (hover:none){.gx{opacity:.85}}

/* Biztosítások + okmányok (2026-10-06) */
.ins{border:1px solid var(--line);border-left:3px solid var(--taxi);border-radius:10px;padding:10px 14px;margin:0 0 10px}
.ins.ended{opacity:.6;border-left-color:var(--mut)}
.insh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.insact{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.ins .kv{margin:0}
.pill.ins-kgfb{background:var(--taxi);color:#111}
.pill.ins-casco{background:#2e6bd8;color:#fff}
.mono{font-family:ui-monospace,Consolas,monospace;font-size:.92em}
.gal.sm{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));margin-top:8px}
.pdft{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;font:700 20px/1 var(--disp,inherit);color:var(--taxi);text-align:center;padding:6px}
.pdft small{font:400 11px/1.2 var(--body,inherit);color:var(--mut);margin-top:6px;word-break:break-all}
.upl{margin-top:10px}
.upl label{display:block;margin-bottom:4px}
.uplrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.uplrow input[type=file]{flex:1;min-width:0}
.inscell{padding:2px 0}
.inscell + .inscell{border-top:1px dashed var(--line);margin-top:6px;padding-top:6px}

/* Mobil-fejléc (2026-10-06): a menü a logó alá kerül és törhet */
@media(max-width:720px){.top{flex-wrap:wrap;height:auto;min-height:0;padding:10px 12px 6px;row-gap:6px} .unav{margin-left:0;width:100%;flex-wrap:wrap;gap:2px} .unav a{white-space:nowrap} .unav .umenu{margin-left:auto}}

/* Képnéző (2026-10-06) */
html.lb-open,html.lb-open body{overflow:hidden}
.lb{position:fixed;inset:0;z-index:1000;background:rgba(8,9,11,.985);display:flex;flex-direction:column;user-select:none;-webkit-user-select:none}
.lb[hidden]{display:none}
.lb-top{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;color:var(--mut);font:500 13px/1.2 var(--cond);letter-spacing:.06em;flex:0 0 auto;padding-top:max(10px,env(safe-area-inset-top))}
.lb-cnt{color:var(--txt);white-space:nowrap}
.lb-cap{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb-btn{background:rgba(255,255,255,.08);border:0;color:var(--txt);border-radius:8px;padding:8px 12px;font:500 13px/1 var(--cond);letter-spacing:.06em;cursor:pointer;text-decoration:none;white-space:nowrap}
.lb-btn:hover{background:rgba(255,255,255,.16);text-decoration:none}
.lb-x{font-size:22px;padding:4px 12px 6px}
.lb-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;padding:0 8px 8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .16s ease-out,opacity .15s;cursor:zoom-in;-webkit-user-drag:none;border-radius:4px}
.lb.loading .lb-stage img{opacity:.35}
.lb.zoom .lb-stage{display:block;overflow:auto;touch-action:pan-x pan-y;padding:0}
.lb.zoom .lb-stage img{max-width:none;max-height:none;cursor:zoom-out;border-radius:0}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:72px;border:0;border-radius:10px;background:rgba(255,255,255,.07);color:#fff;font-size:42px;line-height:1;cursor:pointer}
.lb-nav:hover{background:rgba(255,255,255,.16)}
.lb-prev{left:12px} .lb-next{right:12px}
.lb.single .lb-nav,.lb.zoom .lb-nav{display:none}
@media(max-width:720px){.lb-nav{display:none} .lb-orig{display:none} .lb-top{padding-left:12px}}
.gal a.lbimg{cursor:zoom-in}

/* Bérlők, lejáratok, regisztráció (2026-10-12) */
.nbadge{display:inline-block;min-width:18px;padding:2px 5px;margin-left:3px;border-radius:999px;background:var(--bad);color:#fff;font:700 11px/14px var(--body);text-align:center;letter-spacing:0;vertical-align:1px}
.uav{position:relative} .udot{position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:var(--bad);border:2px solid var(--bg2)}
.rlink{color:var(--txt)} .rlink:hover{color:var(--taxi)}
.renterhead{display:flex;flex-direction:column;gap:2px;margin:0 0 10px;font-size:17px} .renterhead .since{font-size:14px}
.exprow{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;font-size:14px}
.warnbox{border-left:3px solid var(--warn)}
.warnc{color:var(--warn)}
.carcard .ctx{color:var(--txt);font-weight:600}
.lfoot{margin-top:14px;font-size:13.5px;color:var(--mut);text-align:center}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.pendbox{border-left:3px solid var(--taxi)}
.pend{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line)} .pend:last-child{border-bottom:0}
.prm{border-left-color:#7c5cff}
[hidden]{display:none!important}

/* Képkezelés a welite-flotta mintájára (2026-10-13): fő fotó-slotok, kiemelt okmányok, csempe felirattal, gyorsváltó, ✎ buborék, feltöltés */
.gal figure.tile{aspect-ratio:auto;overflow:visible;background:none;border:0;display:flex;flex-direction:column;gap:5px}
.tile>a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:8px;border:1px solid var(--line);background:var(--panel)}
.tile>a img{width:100%;height:100%;object-fit:cover;display:block}
.tile figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:12.5px;min-width:0}
.tile .ftitle{color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.tile.kchg>a{animation:kchg .9s ease}
@keyframes kchg{0%{box-shadow:0 0 0 0 var(--taxi)}40%{box-shadow:0 0 0 4px var(--taxi)}100%{box-shadow:0 0 0 0 transparent}}
.dk{display:inline-block;font:500 11px/1 var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--mut);border:1px solid var(--line);border-radius:4px;padding:4px 6px}
select.kindsel{width:auto;max-width:100%;min-height:28px;padding:3px 24px 3px 7px;font:500 12px/1.2 var(--cond);letter-spacing:.04em;border-radius:6px;background-color:var(--panel2)}
.exifb{font-size:11.5px;color:var(--mut);white-space:nowrap}
.gal.big{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.gal.feat{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
/* ✎ szerkesztő-buborék + AI gomb a kép bal felső sarkában */
.docedit{position:absolute;top:4px;left:4px;z-index:5}
.docedit summary{list-style:none;cursor:pointer;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.62);color:#fff;font-size:13px;line-height:26px;text-align:center;opacity:0;transition:opacity .15s}
.docedit summary::-webkit-details-marker{display:none}
.tile:hover .docedit summary,.pslot:hover .docedit summary,.docedit[open] summary{opacity:1}
@media (hover:none){.docedit summary{opacity:.9}}
.dbox{position:absolute;top:30px;left:0;width:260px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;box-shadow:0 16px 40px rgba(0,0,0,.55);display:grid;gap:10px}
.dbox .frm{gap:8px} .dbox input,.dbox select{min-height:34px;padding:6px 9px}
.rot{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);padding-top:8px}
.rot button{background:var(--panel2);border:1px solid var(--line);color:var(--txt);border-radius:6px;width:34px;height:30px;font-size:16px;cursor:pointer} .rot button:hover{border-color:var(--taxi)}
.iai{position:absolute;top:4px;left:34px;z-index:4} .iai button{border:0;border-radius:12px;background:#7c5cff;color:#fff;font:700 11px/1 var(--body);padding:6px 8px;cursor:pointer}
.gal figure>form:not(.iai){position:absolute;top:4px;right:4px;margin:0;z-index:4}
.gal .dbox form{position:static} .gal form.pslot{position:relative;top:auto;right:auto}
/* fő fotók: 4 slot */
.pslots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pslot{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:visible;margin:0}
.pslot>a{display:block;width:100%;height:100%;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.pslot>a img{width:100%;height:100%;object-fit:cover;display:block}
.pslot .pl{position:absolute;left:6px;bottom:6px;background:rgba(0,0,0,.62);color:#fff;font:500 11px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;padding:4px 7px;border-radius:5px;pointer-events:none}
.pslot.empty{display:flex;align-items:center;justify-content:center;border:1.5px dashed var(--line);background:var(--bg2);color:var(--mut);font:500 12px/1.2 var(--cond);letter-spacing:.06em;text-transform:uppercase;text-align:center}
.pslot.empty label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;margin:0;cursor:pointer;color:var(--mut)}
.pslot.empty b{font:300 30px/1 var(--disp);color:var(--taxi)}
.pslot.empty:hover,.dzone.drag{border-color:var(--taxi);background:#1f1a08}
.gal.feat .pslot.empty{aspect-ratio:4/3}
.pslot.uploading label b{display:none}
.hint{font-size:12.5px;margin-top:10px}
@media(max-width:720px){.pslots{grid-template-columns:repeat(2,1fr)}}
/* feltöltés: folyamatcsík + húzd-ide jelzés */
.dzone.drag{outline:2px dashed var(--taxi);outline-offset:3px;border-radius:10px}
.upbar{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:6px}
.pslot .upbar{position:absolute;left:8px;right:8px;bottom:8px;margin:0}
.upbar i{display:block;height:100%;width:0;background:var(--taxi);transition:width .2s}
.upbar.busy i{width:100%!important;background:repeating-linear-gradient(45deg,var(--taxi) 0 10px,var(--taxi2) 10px 20px);background-size:28px 28px;animation:upbusy .6s linear infinite}
@keyframes upbusy{to{background-position:28px 0}}
/* toast */
.toast{position:fixed;right:16px;bottom:16px;z-index:2000;max-width:min(420px,calc(100vw - 32px));padding:11px 16px;border-radius:10px;font-size:14px;border:1px solid;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.toast.show{opacity:1;transform:none} .toast.ok{background:#123326;border-color:#1f5a3f;color:#9be2c0} .toast.warn{background:#3a2c10;border-color:#6a4a10;color:#ffd58a} .toast.err{background:#3a1717;border-color:#6a2626;color:#ffb0b0}
/* szűrő-chipek (/auto/<rendszám>/kepek) */
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);color:var(--txt);font:500 13px/1 var(--body)} .chip:hover{border-color:var(--mut);text-decoration:none}
.chip.on{background:var(--taxi);color:#111;border-color:var(--taxi)} .chip .n{font-size:11.5px;opacity:.7}
.kchips .chip{padding:5px 10px;font-size:12.5px}
/* képnéző EXIF-sáv */
.lb-meta{flex:0 0 auto;text-align:center;padding:8px 14px calc(8px + env(safe-area-inset-bottom));color:var(--mut);font:500 13px/1.3 var(--cond);letter-spacing:.04em}
.lb-meta a{color:var(--taxi)}
@media(max-width:720px){.unav a{padding:7px 6px;font-size:12px} .pend form{width:100%}}
.pwhint{font-size:12.5px;margin:6px 0 0;line-height:1.4} .pwhint.good{color:var(--ok)} .pwhint.bad{color:var(--warn)}
/* változásnapló */
.clog{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.clrow{border:1px solid var(--line,#2a2f38);border-left:3px solid var(--mut);border-radius:9px;padding:8px 11px;font-size:13.5px}
.clrow.opI{border-left-color:var(--ok)} .clrow.opU{border-left-color:var(--taxi)} .clrow.opD{border-left-color:var(--bad)}
.clh{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}
.clt{color:var(--mut);font-variant-numeric:tabular-nums} .clop{color:var(--taxi)} .clrow.opI .clop{color:var(--ok)} .clrow.opD .clop{color:var(--bad)}
.clrow ul{margin:5px 0 0;padding-left:18px;color:var(--txt)} .clrow li{margin:2px 0;overflow-wrap:anywhere}
.clk{color:var(--mut)} .clold{text-decoration:line-through;opacity:.65} .clnew{font-weight:600} .clip{font-size:11.5px;margin-top:3px}
.plate.sm{font-size:11px;padding:1px 6px}
.clfilt select,.clfilt input{min-height:36px}
.clin{margin-top:5px;line-height:1.55;overflow-wrap:anywhere}
/* autóváltó a rendszámon */
.carsw{position:relative} .carsw summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px} .carsw summary::-webkit-details-marker{display:none}
.carsw-c{color:var(--mut);font-size:15px;transition:transform .15s} .carsw[open] .carsw-c{transform:rotate(180deg)} .carsw summary:hover .plate{filter:brightness(1.08)}
.carsw-d{position:absolute;left:0;top:calc(100% + 8px);z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px;min-width:300px;max-width:calc(100vw - 32px);max-height:min(70vh,520px);overflow:auto;box-shadow:0 16px 40px rgba(0,0,0,.5)}
.carsw-d a{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:7px;color:var(--txt);text-decoration:none}
.carsw-d a:hover{background:var(--panel2)} .carsw-d a.on{background:var(--panel2);box-shadow:inset 3px 0 0 var(--taxi)}
.carsw-d a span{display:flex;flex-direction:column;min-width:0} .carsw-d b{font-weight:500;font-size:14px} .carsw-d small{color:var(--mut);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.carsw-d .plate{min-width:96px;text-align:center} .carsw-h{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);padding:10px 9px 4px;border-top:1px solid var(--line);margin-top:4px}
.carsw-d .plate{min-width:118px;font-size:12.5px;letter-spacing:.08em;padding:4px 6px} .carsw-c{font-size:20px}
.pillbtn{cursor:pointer;background:transparent;font:inherit;font-size:12px} .pillbtn:not(.ok){color:var(--mut)} .pillbtn:hover{filter:brightness(1.25)}
/* fejléc-kereső */
.gsearch{position:relative;flex:0 1 340px;min-width:0;margin-left:6px}
.gsearch svg{position:absolute;left:11px;top:50%;width:16px;height:16px;transform:translateY(-50%);fill:none;stroke:var(--mut);stroke-width:2.2;stroke-linecap:round;pointer-events:none}
.gsearch input{width:100%;height:36px;padding:0 34px 0 34px;border-radius:18px;border:1px solid var(--line);background:var(--panel);color:var(--txt);font:14px var(--body);transition:border-color .15s,background .15s,box-shadow .15s}
.gsearch input::placeholder{color:var(--mut)} .gsearch input::-webkit-search-cancel-button{display:none}
.gsearch input:focus{outline:none;border-color:var(--taxi);background:var(--bg);box-shadow:0 0 0 3px rgba(245,179,1,.15)}
.gsearch kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:500 11px/1 var(--body);color:var(--mut);border:1px solid var(--line);border-radius:4px;padding:2px 6px;pointer-events:none}
.gsearch input:focus ~ kbd,.gsearch input:not(:placeholder-shown) ~ kbd{display:none}
.gsearch.busy svg{stroke:var(--taxi);animation:gspulse .8s ease-in-out infinite alternate} @keyframes gspulse{to{opacity:.35}}
.gs-dd{display:none;position:absolute;left:0;top:calc(100% + 8px);width:min(520px,calc(100vw - 24px));max-height:min(72vh,600px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 20px 50px rgba(0,0,0,.6);z-index:40}
.gsearch.open .gs-dd{display:block}
.gs-h{font:500 11.5px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);padding:11px 10px 6px}
.gs-h:first-child{padding-top:6px}
.gs-it{display:flex;align-items:center;gap:11px;padding:7px 10px;border-radius:8px;color:var(--txt);text-decoration:none!important}
.gs-it.on,.gs-all.on{background:var(--panel2);box-shadow:inset 3px 0 0 var(--taxi)}
.gs-it img{width:38px;height:30px;object-fit:cover;border-radius:5px;flex:none;background:var(--bg)}
.gs-ic{width:38px;height:30px;flex:none;display:grid;place-items:center;font-style:normal;font-size:16px;background:var(--bg2);border-radius:6px}
.gs-tx{display:flex;flex-direction:column;min-width:0;gap:2px} .gs-tx b{font-weight:500;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-tx .plate{align-self:flex-start;font-size:14px;padding:3px 8px}
.gs-tx small{color:var(--mut);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-it mark,.sritem mark{background:none;color:var(--taxi);font-weight:700} .gs-tx .plate mark{color:#000;text-decoration:underline;text-underline-offset:2px}
.gs-empty{padding:16px 12px;color:var(--mut);font-size:14px}
.gs-all{display:block;text-align:center;padding:9px;margin-top:4px;border-top:1px solid var(--line);font-size:13px;color:var(--taxi);border-radius:0 0 8px 8px}
.srlist{display:flex;flex-direction:column;gap:2px} .sritem{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;color:var(--txt)} .sritem:hover{background:var(--panel2);text-decoration:none}
@media(max-width:1100px){.gsearch{flex-basis:220px} .gsearch kbd{display:none}}
@media(max-width:720px){.gsearch{order:2;flex:1 1 100%;margin:2px 0 4px} .unav{order:3} .gs-dd{width:calc(100vw - 24px);max-height:70vh}}
/* felhasználók tábla: kapcsolók */
.utbl td{vertical-align:middle} .utbl .uname{font-weight:500} .utbl .umail{font-size:13px} .utbl tr.uoff .uname,.utbl tr.uoff .umail{opacity:.55}
.usel{min-height:34px;padding:4px 30px 4px 10px;width:auto;font-size:14px} .urole{padding-left:2px}
.swf{display:inline-flex;align-items:center;gap:9px;margin:0}
.sw{position:relative;width:40px;height:22px;flex:none;border-radius:11px;border:1px solid var(--line);background:var(--bg2);cursor:pointer;padding:0;transition:background .18s,border-color .18s}
.sw i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--mut);transition:left .18s,background .18s}
.sw.on{background:#1f5a3f;border-color:#2b7a55} .sw.on i{left:20px;background:var(--ok)}
.sw:hover{border-color:var(--taxi)} .swl{font-size:13.5px;color:var(--txt)} .swl.off{color:var(--mut)}
@media(max-width:720px){
  .tblwrap:has(.utbl){overflow:visible;border:0;background:none}
  .utbl,.utbl tbody,.utbl tr,.utbl td{display:block;width:100%}
  .utbl tr:first-child{display:none}
  .utbl tr{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px}
  .utbl td{border:0;padding:5px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px}
  .utbl td:first-child{display:block;padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid var(--line)}
  .utbl td[data-l]::before{content:attr(data-l);color:var(--mut);font:500 12px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase}
}
.swl{line-height:22px;min-width:68px}
/* autó-adatlap fülei */
.ctabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;margin:4px 0 16px;padding:0 2px;border-bottom:1px solid var(--line);background:var(--bg)}
.ctabs::-webkit-scrollbar{display:none}
.ctabs a{position:relative;flex:none;display:inline-flex;align-items:center;gap:7px;padding:12px 14px 11px;color:var(--mut);font:500 15px/1 var(--cond);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;border-radius:8px 8px 0 0;text-decoration:none!important;transition:color .15s,background .15s}
.ctabs a:hover{color:var(--txt);background:var(--panel)}
.ctabs a.on{color:var(--taxi)} .ctabs a.on::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--taxi)}
.ctn{font:600 11px/1 var(--body);letter-spacing:0;padding:3px 6px;border-radius:9px;background:var(--panel2);color:var(--mut)} .ctabs a.on .ctn{background:rgba(245,179,1,.15);color:var(--taxi)}
.ctn.warn{background:#3a1717;color:var(--bad)}
.ctab-panel{display:none} .ctab-panel.on{display:block;animation:ctin .18s ease-out} @keyframes ctin{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(min-width:721px){.ctabs{position:sticky;top:56px;z-index:15}}
/* mobilon nem vízszintesen görgő sáv, hanem tördelt „chip”-sor — semmi nem lóg ki oldalra */
@media(max-width:720px){.ctabs{flex-wrap:wrap;overflow:visible;gap:6px;margin:0 0 14px;padding:0;border-bottom:none}
  .ctabs a{padding:9px 12px;font-size:14px;border:1px solid var(--line);border-radius:999px;background:var(--panel)}
  .ctabs a.on{background:rgba(245,179,1,.12);border-color:var(--taxi)} .ctabs a.on::after{display:none}}
@media(max-width:720px){.grid.g4{grid-template-columns:1fr 1fr;gap:8px} .grid.g4 .stat{padding:10px 12px} .grid.g4 .stat .v{font-size:19px} .grid.g4 .stat .l{font-size:10.5px} .grid.g4 .stat .s{font-size:11.5px}}

/* bérlő / sofőr fényképe (014) */
.rwho{display:inline-flex;align-items:center;gap:10px;vertical-align:middle}
.rwho.big{gap:16px;align-items:flex-start}
.ravatar{border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--line);background:var(--panel)}
.ravatar.ini{display:inline-flex;align-items:center;justify-content:center;font-family:var(--cond);font-weight:600;letter-spacing:.04em;color:var(--mut)}

/* sofőrök (016) */
.req{color:var(--bad,#e5484d);font-weight:700}
.drow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line)}
.drow:first-of-type{border-top:0}

/* bejegyzések (017) */
.nbody{white-space:pre-wrap;font-size:15px;line-height:1.5}
.nfiles{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.nfile{position:relative;margin:0;width:150px;display:flex;flex-direction:column;gap:5px}
.nfile img{display:block;width:150px;height:110px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:var(--panel2)}
.nfile .nfile-doc{display:flex;align-items:center;justify-content:center;width:150px;height:110px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);font:600 15px/1 var(--cond);letter-spacing:.1em;color:var(--mut)}
.nfile figcaption{font-size:12px;line-height:1.3;word-break:break-word}
.nfile>form{position:absolute;top:4px;right:4px;margin:0} .nfile:hover .gx{opacity:1}

/* elfelejtett jelszó (018) */
.lforgot{display:block;text-align:right;font-size:13px;margin-top:6px;color:var(--mut)} .lforgot:hover{color:var(--taxi)}

/* ---- CityFleet (2026-10-23): cégjelvény a fejlécben, cégválasztó, cégenkénti szerepek ---- */
.cosw{position:relative} .cosw summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px} .cosw summary::-webkit-details-marker{display:none}
.cochip{display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--txt);padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);white-space:nowrap}
.cochip i{width:10px;height:10px;border-radius:50%;background:var(--c,var(--taxi));flex:none;box-shadow:0 0 0 2px rgba(255,255,255,.08)} .cochip.mutc{color:var(--mut)} .cochip.mutc i{background:var(--line)}
.cosw .udrop{left:0;right:auto;min-width:260px} .cosw .udrop a{display:flex;align-items:center;gap:10px} .cosw .udrop a i{width:10px;height:10px;border-radius:50%;flex:none}
.cosw .udrop a.on{background:var(--panel2);box-shadow:inset 3px 0 0 var(--taxi)} .cosw .udrop a small{color:var(--mut);margin-left:auto;font-size:12px} .cosw .udrop a.cosw-all{color:var(--mut);border-top:1px solid var(--line);margin-top:4px;border-radius:0 0 7px 7px}
.cogrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.cocard{display:block;background:var(--panel);border:1px solid var(--line);border-left:6px solid var(--c);border-radius:12px;padding:18px 20px;color:var(--txt);transition:border-color .15s,transform .15s}
.cocard:hover{text-decoration:none;border-color:var(--c);transform:translateY(-1px)} .cocard h2{margin:0 0 4px;font-size:22px}
.cocard .st{display:flex;gap:22px;margin-top:14px;font:600 20px/1.1 var(--disp)} .cocard .st small{display:block;font:500 11px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:4px}
.codot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}
.urole{display:inline-flex;flex-direction:column;gap:2px} .urole small{font:500 11px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)} .urole-ro{font-size:14px}
.lbrand .bcheck{width:22px;height:22px;margin-right:8px;vertical-align:-3px;display:inline-block}
@media(max-width:720px){.cochip{padding:6px 10px;font-size:12px} .cogrid{grid-template-columns:1fr}}
