/* Tilezza útvonal-optimalizáló (tilezza.eu/utvonal-optimalizalo/) */
#uo{scroll-margin-top:72px;display:grid;grid-template-columns:minmax(340px,460px) 1fr;gap:0;border:1.5px solid var(--ink);border-radius:6px;background:#fff;overflow:hidden}
@media(max-width:960px){#uo{grid-template-columns:1fr}}
.uo-bal{padding:16px 18px 20px;border-right:1px solid var(--rule);max-height:calc(100vh - 90px);overflow:auto}
@media(max-width:960px){.uo-bal{max-height:none;border-right:0;border-bottom:1px solid var(--rule)}}
.uo-jobb{position:relative;min-height:520px}
#uo-terkep{position:sticky;top:70px;height:calc(100vh - 90px);min-height:520px}
@media(max-width:960px){#uo-terkep{position:relative;top:0;height:62vh;min-height:380px}}
.uo-szint{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}
.uo-szint button{border:1.5px solid #C9CED4;background:#fff;border-radius:6px;padding:9px 10px;text-align:left;cursor:pointer;font:14px "IBM Plex Sans";min-height:58px}
.uo-szint button b{display:block;font-size:15px}.uo-szint button small{color:var(--gray);font-size:12.5px;line-height:1.3;display:block}
.uo-szint button.akt{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--accent-soft)}
.uo-blokk{margin:12px 0}.uo-blokk>label,.uo-cim{display:block;font-weight:700;font-size:14px;margin:0 0 5px}
.uo-sor2{display:flex;gap:6px;align-items:flex-start}.uo-sor2[hidden]{display:none}.uo-sor2 .kk{flex:1;position:relative}
.uo-bal input[type=text],.uo-bal input[type=search],.uo-bal select,.uo-bal textarea{width:100%;font:15px "IBM Plex Sans";padding:8px 10px;border:1.5px solid #9AA1A9;border-radius:4px;min-height:42px;background:#fff}
.uo-bal textarea{min-height:120px;font:13.5px/1.45 ui-monospace,monospace}
.uo-ikon{min-width:42px;min-height:42px;border:1.5px solid #9AA1A9;background:#fff;border-radius:4px;cursor:pointer;font-size:16px}
.uo-ikon:hover{border-color:var(--ink)}
.uo-javasl{position:absolute;left:0;right:0;top:44px;z-index:1600;list-style:none;padding:4px;margin:0;background:#fff;border:1.5px solid var(--ink);border-radius:4px;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.uo-javasl[hidden]{display:none}.uo-javasl li{padding:8px 10px;border-radius:3px;cursor:pointer;font-size:14.5px}.uo-javasl li small{display:block;color:var(--gray);font-size:12.5px}
.uo-javasl li:hover,.uo-javasl li.akt{background:var(--accent-soft)}.uo-javasl li.tipp{color:var(--gray);font-style:italic}
.uo-harom{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:6px}.uo-harom label{font-size:12.5px;font-weight:700;color:var(--gray)}
.uo-bevitel{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.uo-bevitel .btn{min-height:38px;padding:7px 11px;font-size:13.5px}
.uo-bal details{border:1px solid var(--rule);border-radius:5px;padding:6px 10px;margin-top:8px;background:var(--bg)}
.uo-bal details summary{cursor:pointer;font-weight:700;font-size:14px;min-height:30px;display:flex;align-items:center}
.uo-fajlgomb{position:relative;overflow:hidden}.uo-fajlgomb input{position:absolute;inset:0;opacity:0;cursor:pointer}
#uo-lista{list-style:none;padding:0;margin:8px 0 0;border:1px solid var(--rule);border-radius:5px;max-height:420px;overflow:auto}
#uo-lista li{display:grid;grid-template-columns:26px 1fr auto 30px;gap:8px;align-items:start;padding:7px 8px;border-bottom:1px solid var(--rule);font-size:14px;cursor:pointer}
#uo-lista li:last-child{border-bottom:0}#uo-lista li.ures{display:block;color:var(--gray);cursor:default;padding:12px}
#uo-lista li.hibas{background:#FEF2F2}
#uo-lista .sz{display:inline-flex;width:22px;height:22px;border-radius:50%;background:#6B7280;color:#fff;font:700 11.5px "IBM Plex Sans";align-items:center;justify-content:center;margin-top:1px}
#uo-lista .tx b{display:block;font-weight:600;line-height:1.3}#uo-lista .tx small{display:block;color:var(--gray);font-size:12.5px;line-height:1.35}
#uo-lista .tx small.pir{color:#B91C1C}#uo-lista .tx small.pir input{margin-top:3px;min-height:34px;font-size:13.5px}
#uo-lista .tor,#uo-jarmuvek .tor{border:0;background:none;font-size:20px;line-height:1;cursor:pointer;color:var(--gray);min-width:30px;min-height:30px}
#uo-lista .tor:hover{color:#B91C1C}
.pt{font:700 10.5px ui-monospace,monospace;padding:2px 5px;border-radius:3px;white-space:nowrap;margin-top:2px}
.pt-ok{background:#DCFCE7;color:#166534}.pt-kozel{background:#FEF3C7;color:#92400E}.pt-utca{background:#FFEDD5;color:#9A3412}.pt-telep,.pt-nincs{background:#FEE2E2;color:#991B1B}
.pro-mezok{display:none;grid-template-columns:62px 8px 62px 64px 54px;gap:4px;align-items:end;margin-top:4px}
#uo.pro .pro-mezok{display:grid}.pro-mezok label{font-size:11px;color:var(--gray);font-weight:700}.pro-mezok span{padding-bottom:9px;text-align:center}
.pro-mezok input{min-height:32px!important;padding:4px 6px!important;font-size:13.5px!important}
.csak-pro{display:none}#uo.pro .csak-pro{display:block}
#uo-jarmuvek{width:100%;border-collapse:collapse;font-size:13.5px}
#uo-jarmuvek td{padding:3px 2px}#uo-jarmuvek td:first-child{display:flex;align-items:center;gap:5px}
#uo-jarmuvek input{min-height:34px!important;padding:4px 7px!important;font-size:13.5px!important}
.uo-jt th{font-size:11.5px;color:var(--gray);text-align:left;font-weight:700;padding:0 2px}
.pont{display:inline-block;width:12px;height:12px;border-radius:50%;flex:0 0 12px}
#uo-opt{width:100%;margin-top:14px;min-height:52px;font-size:16px}
#uo-allapot{font-size:13.5px;color:var(--gray);margin-top:6px;min-height:1em}
.uo-figy{background:#FEF3C7;border:1px solid #F59E0B;border-radius:4px;padding:9px 11px;font-size:14px;margin:10px 0}
.uo-figy[hidden]{display:none}
.uo-jel{display:flex;width:26px;height:26px;border-radius:50%;color:#fff;font:700 12px "IBM Plex Sans",sans-serif;align-items:center;justify-content:center;border:2.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.uo-jel.nagy{width:34px;height:34px;font-size:16px}
#uo-sugo{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:1000;background:#101418;color:#fff;padding:8px 14px;border-radius:6px;font-weight:700;font-size:14px;white-space:nowrap}
#uo-sugo[hidden]{display:none}
#uo-eredmeny{margin-top:16px;border-top:2px solid var(--ink);padding-top:14px}
#uo-eredmeny[hidden]{display:none}
.uo-ossz{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:10px}
.uo-ossz div{background:var(--bg);border-radius:5px;padding:8px 10px}.uo-ossz span{display:block;font-size:12px;color:var(--gray)}.uo-ossz b{font:700 1.15rem "Space Grotesk",sans-serif}
.uo-ossz .nyer{background:#DCFCE7}.uo-ossz .nyer b{color:#166534}
.uo-jarat{margin:14px 0}.uo-jarat h3{font-size:1.05rem;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.uo-jarat h3 small{font:400 13px "IBM Plex Sans";color:var(--gray)}
.uo-sor{list-style:none;padding:0;margin:8px 0}
.uo-sor li{display:grid;grid-template-columns:44px 26px 1fr;gap:8px;align-items:start;padding:5px 0;font-size:14px;border-bottom:1px dashed var(--rule)}
.uo-sor li .t{font:700 13.5px ui-monospace,monospace;padding-top:3px}
.uo-sor li .n{display:inline-flex;width:24px;height:24px;border-radius:50%;background:#101418;color:#fff;font:700 11.5px "IBM Plex Sans";align-items:center;justify-content:center}
.uo-sor li b{display:block;font-weight:600;line-height:1.3}.uo-sor li small{display:block;color:var(--gray);font-size:12.5px;line-height:1.4}.uo-sor li small.pir{color:#B91C1C;font-weight:700}
.uo-sor li.dep b{font-weight:700}
.uo-gombok{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.uo-gombok .btn{min-height:38px;padding:7px 11px;font-size:13.5px}
.uo-gombok.fo{margin-top:16px}
.btn-k{min-height:38px;padding:7px 11px;font-size:13.5px}
.lab{color:var(--gray);font-size:13px;margin-top:6px}
.uo-modal{position:fixed;inset:0;z-index:3000;background:rgba(16,20,24,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.uo-modal>div{background:#fff;border-radius:8px;padding:20px 22px;max-width:460px;width:100%;position:relative}
.uo-modal .zar{position:absolute;right:8px;top:6px;border:0;background:none;font-size:24px;cursor:pointer;min-width:40px;min-height:40px}
.uo-modal ol{padding-left:20px;margin-top:8px}.uo-modal li{margin:6px 0}
/* sofőr nézet */
#sf-terkep{height:38vh;min-height:240px;border-bottom:1px solid var(--rule)}
.sf-fej{display:flex;align-items:center;gap:8px;padding:12px 0 6px;flex-wrap:wrap}.sf-fej small{color:var(--gray);width:100%}
.sf-kov{background:#fff;border:1.5px solid var(--ink);border-radius:8px;padding:14px 16px;margin:8px 0 14px}
.sf-kov h2{font-size:1.45rem;margin:4px 0}.sf-kov p{margin:3px 0}
.sf-gomb{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:6px;margin:12px 0 8px}.sf-gomb .btn{min-height:50px;font-size:16px}
.sf-kesz{width:100%;min-height:54px;font-size:16px;border-color:#15803D;color:#15803D}
.sf-lista{list-style:none;padding:0;margin:0}.sf-lista li{display:grid;grid-template-columns:30px 1fr 44px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--rule)}
.sf-lista li.kesz{opacity:.55}.sf-lista li.kesz b{text-decoration:line-through}.sf-lista li.akt{background:var(--accent-soft)}
.sf-lista .n{display:inline-flex;width:26px;height:26px;border-radius:50%;color:#fff;font:700 12px "IBM Plex Sans";align-items:center;justify-content:center}
.sf-lista b{display:block;font-weight:600}.sf-lista small{color:var(--gray);font-size:13px}
.sf-pipa{min-width:44px;min-height:44px;border:1.5px solid #C9CED4;background:#fff;border-radius:6px;font-size:18px;cursor:pointer}
@media print{
  header,.hero,section:not(.app-sz),footer,.uo-bal>*:not(#uo-eredmeny),.uo-gombok,#uo-sugo{display:none!important}
  #uo{display:block;border:0}.uo-bal{max-height:none;overflow:visible;border:0;padding:0}
  .uo-jobb{min-height:0}#uo-terkep{position:relative;top:0;height:520px;page-break-after:always}
  .uo-sor li{break-inside:avoid}
}
