:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#18212f;background:#eef2f6}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}.topbar{height:72px;padding:0 20px;background:#fff;border-bottom:1px solid #dfe5eb;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;font-size:21px}.subtitle{color:#6b7787;font-size:13px;margin-top:2px}.top-actions,.role-switch{display:flex;align-items:center;gap:8px}.role-switch button,.nav-link,.back-link{border:1px solid #cfd7df;background:#fff;border-radius:8px;padding:9px 14px;text-decoration:none;color:#18212f;cursor:pointer}.role-switch button.active,.primary-btn{background:#18212f;color:#fff;border-color:#18212f}.layout{display:grid;grid-template-columns:290px 1fr;height:calc(100vh - 72px)}.sidebar{background:#fff;border-right:1px solid #dfe5eb;padding:18px;overflow:auto}.sidebar label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.sidebar input{width:100%;border:1px solid #cfd7df;border-radius:9px;padding:11px}.legend{display:flex;gap:11px;flex-wrap:wrap;font-size:12px;color:#657181;margin:14px 0}.legend span{display:flex;align-items:center;gap:5px}.dot,.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.green{background:#1f9d55}.orange{background:#f59e0b}.red{background:#dc3545}.vehicle-count{color:#6b7787;font-size:13px;margin:15px 2px 10px}.vehicle-card{width:100%;display:flex;align-items:center;gap:11px;text-align:left;border:1px solid #d8e0e7;border-radius:10px;background:#fff;padding:13px;margin-bottom:8px;cursor:pointer}.vehicle-card strong,.vehicle-card small{display:block}.vehicle-card small{margin-top:3px;color:#657181}.status-dot{width:11px;height:11px;flex:0 0 auto}#map{width:100%;height:100%}.car-marker-wrap{background:transparent;border:0}.car-side-marker{width:66px;height:32px;display:grid;place-items:center;filter:drop-shadow(0 2px 2px #0006)}.car-side-marker svg{width:66px;height:32px;fill:var(--car-color)}.popup{min-width:170px}.popup b,.popup span{display:block}.popup b{font-size:18px}.popup span{color:#657181;margin:4px 0 12px}.popup a{display:inline-block;background:#18212f;color:#fff;text-decoration:none;padding:8px 10px;border-radius:7px;font-weight:700}.page{background:#eef2f6}.management{max-width:1100px;margin:auto;padding:28px 20px}.management-head,.vehicle-heading{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #dfe5eb;border-radius:14px;padding:22px;margin-bottom:18px}.management-head h1{margin:0}.management-head p{margin:6px 0 0;color:#697586}.primary-btn{border:0;border-radius:8px;padding:10px 14px;text-decoration:none;cursor:pointer}.panel{background:#fff;border:1px solid #dfe5eb;border-radius:14px;padding:20px}.table-panel{padding:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid #edf0f3}th{font-size:12px;color:#697586;text-transform:uppercase}.actions{text-align:right;white-space:nowrap}.actions button{border:1px solid #cfd7df;background:#fff;border-radius:7px;padding:7px 10px;margin-left:5px;cursor:pointer}.actions .danger{color:#b42318}.badge{display:inline-block;color:#fff;border-radius:999px;padding:5px 9px;font-size:12px}.switch input{display:none}.switch span{display:inline-block;width:42px;height:24px;border-radius:999px;background:#cfd7df;position:relative;cursor:pointer}.switch span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+span{background:#1f9d55}.switch input:checked+span:after{left:21px}dialog{border:0;border-radius:14px;padding:0;width:min(680px,calc(100% - 30px));box-shadow:0 20px 60px #0005}dialog::backdrop{background:#0008}dialog form{padding:22px}.dialog-head,.dialog-actions{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.icon-btn{border:0;background:none;font-size:28px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.form-grid label{font-size:13px;font-weight:700}.form-grid input,.form-grid select{width:100%;margin-top:6px;border:1px solid #cfd7df;border-radius:8px;padding:10px}.check{display:flex;align-items:center;gap:8px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:22px}.dialog-actions button{padding:9px 14px;border-radius:8px;border:1px solid #cfd7df}.vehicle-screen{overflow:hidden}.vehicle-layout{display:grid;grid-template-columns:440px 1fr;height:calc(100vh - 72px)}.vehicle-left{padding:18px;background:#eef2f6;overflow:auto;border-right:1px solid #dfe5eb}.vehicle-heading.compact{padding:18px;margin-bottom:12px}.plate.large{font-size:27px;font-weight:800}.large-driver{color:#657181;margin-top:4px}.tabs,.period-switch{display:flex;gap:8px;margin-bottom:12px}.tab,.period-btn{border:1px solid #cfd7df;background:#fff;border-radius:8px;padding:9px 13px;cursor:pointer}.tab.active,.period-btn.active{background:#18212f;color:#fff;border-color:#18212f}.tab-panel{display:grid;gap:12px}.hidden{display:none!important}.panel h2{margin-top:0}dl{margin:0}dl div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf0f3}dt{color:#697586}dd{margin:0;font-weight:700}.vehicle-map-wrap{position:relative}.vehicle-map-wrap #vehicleMap{height:100%;width:100%}.map-caption{position:absolute;left:16px;right:16px;bottom:16px;z-index:500;background:#fff;border-radius:10px;padding:12px 14px;box-shadow:0 4px 20px #0003;font-size:13px}.period-nav{display:grid;grid-template-columns:42px 1fr 42px;gap:10px;align-items:center;background:#fff;border:1px solid #dfe5eb;border-radius:10px;padding:10px}.period-nav>div{text-align:center}.period-nav strong,.period-nav span{display:block}.period-nav span{color:#697586;font-size:13px;margin-top:3px}.square-btn{width:42px;height:42px;border:1px solid #cfd7df;background:#fff;border-radius:8px;font-size:26px;cursor:pointer}.export-btn{width:100%;border:1px solid #18212f;background:#fff;color:#18212f;border-radius:8px;padding:10px;cursor:pointer;font-weight:700}.trip-item,.summary-row{width:100%;display:grid;align-items:center;text-align:left;background:#fff;border:1px solid #dfe5eb;border-radius:10px;padding:12px;margin-top:8px;cursor:pointer}.trip-item{grid-template-columns:58px 1fr 72px;gap:10px}.summary-row{grid-template-columns:1fr auto}.summary-row span,.summary-row small{display:block}.summary-row small{color:#697586;margin-top:3px}.trip-item.active{border-color:#18212f;box-shadow:0 0 0 1px #18212f}.trip-time,.trip-meta{font-weight:800}.trip-time small,.trip-meta small{display:block;color:#697586;font-weight:400;margin-top:4px}.trip-route{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;font-size:12px}.trip-route strong:last-child{text-align:right}.empty-state{background:#fff;border:1px dashed #cfd7df;border-radius:10px;padding:24px;text-align:center;color:#697586}@media(max-width:850px){.vehicle-layout{grid-template-columns:1fr;grid-template-rows:auto 55vh;height:auto}.vehicle-screen{overflow:auto}.vehicle-left{border-right:0}.vehicle-map-wrap{min-height:55vh}}@media(max-width:760px){.layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{border-right:0}.form-grid{grid-template-columns:1fr}.top-actions{gap:4px}.nav-link{display:none}}
/* V5 – kompaktní seznam a MDI car */
.mdi-car-marker{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  filter:drop-shadow(0 2px 2px #0005);
}
.mdi-car-marker svg{
  width:38px;
  height:38px;
  fill:var(--car-color);
  stroke:#fff;
  stroke-width:.7;
  paint-order:stroke;
}

.sidebar{
  padding-top:14px;
}
.sidebar input{
  margin-bottom:10px;
}
.vehicle-card{
  min-height:42px;
  padding:8px 10px;
  margin-bottom:6px;
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
}
.vehicle-list-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:700;
  font-size:14px;
}
.vehicle-list-plate{
  color:#657181;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  letter-spacing:.2px;
}

.security-note{
  margin-top:16px;
  padding:13px 15px;
  border:1px solid #d7e3f4;
  border-radius:10px;
  background:#f4f8ff;
  color:#46617f;
  font-size:13px;
}
.role-badge{
  display:inline-block;
  padding:5px 9px;
  border-radius:999px;
  background:#eef2f6;
  font-size:12px;
  font-weight:700;
}
.account-state{
  display:inline-block;
  padding:5px 9px;
  border-radius:999px;
  color:#fff;
  font-size:12px;
  font-weight:700;
}
.account-state.active{background:#1f9d55}
.account-state.inactive{background:#7b8794}


/* V6 – čitelnější seznam a plná MDI ikona */
.vehicle-list-name{
  font-weight:400;
  color:#18212f;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.vehicle-list-plate{
  color:#18212f;
  font-weight:600;
  font-size:13px;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:0;
}
.mdi-car-marker svg{
  width:40px;
  height:40px;
  stroke:none;
}
.mdi-car-marker .car-body{
  fill:var(--car-color);
}
.mdi-car-marker .car-window,
.mdi-car-marker .car-light{
  fill:#fff;
}
.popup b{
  font-size:16px;
  font-weight:700;
}
.popup span{
  color:#18212f;
  font-weight:500;
  margin-top:3px;
}


/* V7 – ovládání vlevo, název aplikace vpravo */
.main-topbar .top-actions{
  order:1;
}
.header-title-right{
  order:2;
  text-align:right;
}
@media(max-width:760px){
  .main-topbar{
    height:auto;
    min-height:72px;
    gap:10px;
    padding-top:10px;
    padding-bottom:10px;
  }
  .main-topbar .top-actions{
    flex-wrap:wrap;
  }
  .header-title-right .brand{
    font-size:16px;
  }
}


/* V8 – GPS upozornění, poslední poloha, nájezdy */
.gps-alert-bar{
  min-height:42px;
  display:flex;
  align-items:center;
  padding:9px 18px;
  background:#fff4e5;
  color:#8a4b08;
  border-bottom:1px solid #f3cf9e;
  font-size:14px;
}
.gps-alert-bar + .layout{
  height:calc(100vh - 114px);
}
.gps-warning-text{
  display:block;
  margin-top:2px;
  color:#c2410c;
  font-size:11px;
  font-weight:600;
}
.popup-spz{
  margin-bottom:9px!important;
}
.popup-detail{
  margin:4px 0;
  color:#4d5968;
  font-size:12px;
}
.popup-detail strong{
  color:#18212f;
}
.text-danger{color:#c62828!important}
.text-success{color:#1f9d55!important}
.mileage-overview{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.mileage-overview>div{
  background:#fff;
  border:1px solid #dfe5eb;
  border-radius:10px;
  padding:13px;
}
.mileage-overview span,
.mileage-overview strong{
  display:block;
}
.mileage-overview span{
  color:#697586;
  font-size:12px;
  margin-bottom:4px;
}
.mileage-overview strong{
  font-size:20px;
}


/* V9 – oddělený stav vozidla a GPS */
.vehicle-card{
  grid-template-columns:minmax(0,1fr) auto;
}
.vehicle-list-name,
.vehicle-list-plate{
  display:flex;
  align-items:center;
  gap:7px;
}
.vehicle-list-plate{
  justify-content:flex-end;
}
.mini-status-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:grid;
  place-items:center;
  border-radius:6px;
  background:color-mix(in srgb, var(--status-color) 13%, white);
}
.mini-status-icon svg{
  width:15px;
  height:15px;
  fill:var(--status-color);
}
.mini-status-icon.gps svg{
  width:16px;
  height:16px;
}
.dual-legend{
  display:grid;
  grid-template-columns:1fr 1fr;
  row-gap:5px;
}
.gps-problems-link{
  gap:7px;
}
.nav-count{
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:#dfe5eb;
  color:#4d5968;
  font-size:11px;
  font-weight:800;
}
.gps-problems-link.has-problems{
  border-color:#dc3545;
  color:#b42318;
  background:#fff1f0;
}
.gps-problems-link.has-problems .nav-count{
  background:#dc3545;
  color:#fff;
}
.gps-summary{
  min-width:120px;
  padding:12px 16px;
  border:1px solid #f0b5b2;
  border-radius:11px;
  background:#fff3f2;
  text-align:center;
}
.gps-summary strong,
.gps-summary span{
  display:block;
}
.gps-summary strong{
  color:#c62828;
  font-size:24px;
}
.gps-summary span{
  color:#7b2e2b;
  font-size:12px;
}
.table-link{
  display:inline-flex;
  padding:8px 11px;
  border:1px solid #ccd6e2;
  border-radius:8px;
  text-decoration:none;
  color:#223044;
  background:#fff;
  font-weight:600;
}
.empty-state{
  padding:38px 20px;
  text-align:center;
  color:#647184;
}


/* V10 – jednoduchý stav na mapě, GPS diagnostika ve správě vozidel */
.popup-gps-problem{
  border:2px solid #dc3545;
  border-radius:8px;
  padding:8px;
}
.leaflet-popup-content-wrapper:has(.popup-gps-problem){
  box-shadow:0 2px 12px rgba(220,53,69,.25);
}
.gps-admin-summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:14px;
  padding:14px 16px;
  border:1px solid #dce3eb;
  border-radius:12px;
  background:#f8fafc;
}
.gps-admin-summary strong,
.gps-admin-summary span{
  display:block;
}
.gps-admin-summary strong{
  margin-bottom:4px;
}
.gps-admin-summary span{
  color:#667085;
  font-size:13px;
}
.problem-filter{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  font-weight:600;
}
.gps-state,
.battery-state{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}
.gps-state-ok,
.battery-ok{
  background:#eaf7ef;
  color:#18713c;
}
.gps-state-bad,
.battery-low{
  background:#fff0ef;
  color:#b42318;
}
.table-panel td small{
  display:block;
  margin-top:4px;
  color:#7a8697;
  font-size:11px;
}
.notify-preview{
  display:block;
  margin-top:6px;
  padding:5px 8px;
  border:1px solid #e5a7a2;
  border-radius:7px;
  background:#fff7f6;
  color:#a3261d;
  font-size:11px;
  cursor:pointer;
}
@media(max-width:800px){
  .gps-admin-summary{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* V11 – oprava levého seznamu a diagnostiky GPS */
.vehicle-card{
  display:grid !important;
  grid-template-columns:11px minmax(0,1fr) auto !important;
  align-items:center;
  column-gap:10px;
  text-align:left;
}
.vehicle-list-name{
  display:block !important;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:left;
}
.vehicle-list-plate{
  display:block !important;
  justify-self:end;
  text-align:right;
  white-space:nowrap;
}
.vehicle-card.gps-card-problem{
  border-color:#dc3545;
  box-shadow:inset 0 0 0 1px #dc3545;
}
.popup{
  border:0 !important;
  padding:0 !important;
}
.popup b,
.popup span{
  text-align:left;
}
.popup span{
  margin-bottom:12px;
}
.management{
  max-width:1450px;
}
.gps-row-problem td:first-child{
  border-left:3px solid #dc3545;
}
.battery-row-low:not(.gps-row-problem) td:first-child{
  border-left:3px solid #f59e0b;
}
.badge.orange{background:#f59e0b}
.badge.green{background:#1f9d55}


/* V12 – nadpis vlevo a GPS e-mailové upozornění */
.main-topbar{
  justify-content:flex-start;
}
.main-topbar .top-actions{
  width:100%;
  justify-content:flex-start;
}
.header-title-left{
  min-width:205px;
  text-align:left;
  margin-right:4px;
}
.header-title-left .brand{
  font-size:18px;
}
.gps-email-preview{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  padding:13px 16px;
  border:1px solid #efb2ad;
  border-radius:11px;
  background:#fff5f4;
}
.gps-email-preview strong,
.gps-email-preview span{
  display:block;
}
.gps-email-preview span{
  margin-top:3px;
  color:#7d3430;
  font-size:13px;
}
.gps-email-preview button{
  border:1px solid #dc8e87;
  border-radius:8px;
  padding:8px 11px;
  background:#fff;
  color:#a52b22;
  cursor:pointer;
  font-weight:600;
}
@media(max-width:900px){
  .main-topbar .top-actions{
    flex-wrap:wrap;
  }
  .header-title-left{
    width:100%;
  }
}


/* V13 – poslední známá adresa v levém seznamu */
.vehicle-card{
  grid-template-columns:11px minmax(0,1fr) auto !important;
  grid-template-rows:auto auto;
  row-gap:3px;
  padding-top:11px;
  padding-bottom:10px;
}
.vehicle-card .status-dot{
  grid-column:1;
  grid-row:1;
}
.vehicle-list-name{
  grid-column:2;
  grid-row:1;
}
.vehicle-list-plate{
  grid-column:3;
  grid-row:1;
}
.vehicle-list-address{
  grid-column:2 / 4;
  grid-row:2;
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#7a8697;
  font-size:11px;
  line-height:1.25;
  text-align:left;
}
.last-known-address{
  min-width:190px;
  max-width:280px;
  white-space:normal;
  line-height:1.35;
}


/* V14 – jednotná horní navigace na všech stránkách */
.app-header{
  justify-content:flex-start;
  gap:20px;
  min-height:72px;
  height:auto;
  padding-top:10px;
  padding-bottom:10px;
}
.app-header-title{
  flex:0 0 auto;
  min-width:205px;
  text-align:left;
}
.app-nav{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.app-nav .nav-link.active{
  background:#18212f;
  color:#fff;
  border-color:#18212f;
}
.app-header .role-switch{
  margin-left:auto;
}
.vehicle-list-address{
  /* V levém panelu se zobrazuje jen poslední známá obec. */
  font-size:11px;
}
@media(max-width:900px){
  .app-header{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .app-header-title{
    width:100%;
  }
  .app-header .role-switch{
    margin-left:0;
  }
}
@media(max-width:760px){
  .app-nav .nav-link{
    display:inline-flex !important;
    padding:8px 10px;
  }
}


/* Jemné firemní ladění – zachovává původní vzhled v14 */
:root{
  --accent-orange:#ef8b18;
  --accent-orange-dark:#d97706;
  --page-light-gray:#f4f5f6;
}

body,
.page{
  background:var(--page-light-gray);
}

.topbar{
  border-bottom:2px solid var(--accent-orange);
}

.app-nav .nav-link.active,
.primary-btn{
  background:var(--accent-orange);
  border-color:var(--accent-orange);
  color:#fff;
}

.app-nav .nav-link.active:hover,
.primary-btn:hover{
  background:var(--accent-orange-dark);
  border-color:var(--accent-orange-dark);
  color:#fff;
}

.nav-link:hover,
.back-link:hover{
  border-color:var(--accent-orange);
  color:var(--accent-orange-dark);
}

.tab.active,
.period-btn.active{
  border-color:var(--accent-orange);
  box-shadow:inset 0 -2px 0 var(--accent-orange);
}

.vehicle-card:hover,
.trip-item:hover{
  border-color:#efb36d;
}

.trip-item.active{
  border-color:var(--accent-orange);
}

.export-btn{
  border-color:var(--accent-orange);
  color:var(--accent-orange-dark);
}

.export-btn:hover{
  background:#fff7ed;
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible{
  outline-color:rgba(239,139,24,.35);
}

.switch input:checked + span{
  background:var(--accent-orange);
}


/* Sjednocení oranžových aktivních tlačítek */
.popup a{
  background:var(--accent-orange);
  color:#fff;
}

.popup a:hover{
  background:var(--accent-orange-dark);
  color:#fff;
}

.tab.active,
.period-btn.active{
  background:var(--accent-orange);
  border-color:var(--accent-orange);
  color:#fff;
  box-shadow:none;
}

.tab.active:hover,
.period-btn.active:hover{
  background:var(--accent-orange-dark);
  border-color:var(--accent-orange-dark);
  color:#fff;
}


/* Logo CC INTERNET v hlavičkách */
.app-header-title,
.cc-simple-header{
  display:flex;
  align-items:center;
  gap:14px;
}

.cc-header-logo{
  width:145px;
  max-width:28vw;
  height:auto;
  flex:0 0 auto;
  object-fit:contain;
}

.cc-header-text{
  min-width:0;
}

@media(max-width:760px){
  .cc-header-logo{
    width:112px;
    max-width:36vw;
  }

  .app-header-title,
  .cc-simple-header{
    gap:10px;
  }
}

@media(max-width:520px){
  .cc-header-logo{
    width:92px;
  }
}


/* Sjednocení bílých ploch do jemného světle šedého tónu */
:root{
  --surface-soft:#f4f5f6;
  --surface-soft-2:#f7f8f9;
}

/* Horní navigace a hlavičky */
.topbar,
.app-header{
  background:var(--surface-soft);
}

/* Levý panel na hlavní mapě */
.sidebar,
.vehicle-list,
.vehicle-left{
  background:var(--surface-soft);
}

/* Ostatní původně bílé pracovní plochy */
.panel,
.management-head,
.vehicle-heading,
.period-nav,
.mileage-overview > div,
.trip-item,
.summary-row,
.map-caption,
.card,
.stat-card,
.gps-admin-summary,
.gps-email-preview,
dialog{
  background:var(--surface-soft);
}

/* Formuláře a tabulky jen o trochu světlejší, aby zůstaly čitelné */
input,
select,
textarea,
table,
thead,
tbody,
.vehicle-card{
  background:var(--surface-soft-2);
}

/* Aktivní nebo zvýrazněné prvky zůstávají oranžové */
.app-nav .nav-link.active,
.primary-btn,
.tab.active,
.period-btn.active,
.popup a{
  background:var(--accent-orange);
  color:#fff;
}

/* Mapa samotná zůstává beze změny */
#map,
.leaflet-container{
  background:#ddd;
}


/* Všechna běžná tlačítka s původně bílým pozadím do jemně šedého tónu */
button,
.nav-link,
.back-link,
.role-switch button,
.square-btn,
.export-btn,
.tab,
.period-btn{
  background:var(--surface-soft);
}

/* Hover zůstává lehce odlišený */
button:hover,
.nav-link:hover,
.back-link:hover,
.role-switch button:hover,
.square-btn:hover,
.export-btn:hover,
.tab:hover,
.period-btn:hover{
  background:var(--surface-soft-2);
}

/* Aktivní a hlavní tlačítka zůstávají oranžová */
.app-nav .nav-link.active,
.primary-btn,
.tab.active,
.period-btn.active,
.popup a{
  background:var(--accent-orange);
  border-color:var(--accent-orange);
  color:#fff;
}

.app-nav .nav-link.active:hover,
.primary-btn:hover,
.tab.active:hover,
.period-btn.active:hover,
.popup a:hover{
  background:var(--accent-orange-dark);
  border-color:var(--accent-orange-dark);
  color:#fff;
}


/* Logo bez textu mezi logem a navigací */
.app-header-title{
  display:flex;
  align-items:center;
}

/* Název vozidla a poloha v mapové bublině */
.popup .popup-spz,
.popup .popup-vehicle-name,
.popup .popup-position{
  display:block;
}

.popup .popup-spz{
  margin-top:3px;
  font-weight:700;
}

.popup .popup-vehicle-name{
  margin-top:2px;
  color:#4f5965;
  font-weight:600;
}

.popup .popup-position{
  margin-top:2px;
  margin-bottom:8px;
  color:#6f7884;
}


/* Název vozidla v levé soupisce – pod SPZ, bez ikon */
.vehicle-list-vehicle{
  display:block;
  color:#4f5965;
  font-weight:600;
  font-size:13px;
  line-height:1.25;
}

/* Karta vozidla má nyní čtyři textové řádky vedle stavové tečky */
.vehicle-card{
  display:grid;
  grid-template-columns:11px minmax(0,1fr);
  column-gap:11px;
  row-gap:2px;
}

.vehicle-card .status-dot{
  grid-column:1;
  grid-row:1 / span 4;
  align-self:center;
}

.vehicle-list-name,
.vehicle-list-plate,
.vehicle-list-vehicle,
.vehicle-list-address{
  grid-column:2;
  min-width:0;
}

.vehicle-list-name{grid-row:1;}
.vehicle-list-plate{grid-row:2;}
.vehicle-list-vehicle{grid-row:3;}
.vehicle-list-address{grid-row:4;}


/* Kompaktní levý seznam vozidel:
   1. řádek: Příjmení Jméno | SPZ
   2. řádek: Aktuální pozice | Název vozidla */
.vehicle-card{
  display:grid;
  grid-template-columns:11px minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:10px;
  row-gap:1px;
  align-items:center;
  padding:10px 12px;
  min-height:0;
}

.vehicle-card .status-dot{
  grid-column:1;
  grid-row:1 / span 2;
  align-self:center;
}

.vehicle-list-name{
  grid-column:2;
  grid-row:1;
  min-width:0;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.vehicle-list-address{
  grid-column:2;
  grid-row:2;
  min-width:0;
  margin:0;
  color:#657181;
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.vehicle-list-plate{
  grid-column:3;
  grid-row:1;
  margin:0;
  padding-left:10px;
  font-weight:700;
  text-align:right;
  white-space:nowrap;
}

.vehicle-list-vehicle{
  grid-column:3;
  grid-row:2;
  margin:0;
  padding-left:10px;
  color:#4f5965;
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  text-align:right;
  white-space:nowrap;
}

/* Správa vozidel: SPZ vždy na jednom řádku a s dostatečnou šířkou */
#vehicleTable td:first-child,
.table-panel thead th:first-child{
  min-width:105px;
  width:105px;
  white-space:nowrap;
}


/* Správa vozidel a uživatelů:
   tlačítka Upravit a Smazat mají stejné jemně šedé pozadí */
.actions button,
.actions .edit,
.actions .delete,
button[data-edit],
button[data-edit-user],
button[data-delete],
button[data-delete-user],
.edit-btn,
.delete-btn{
  background:var(--surface-soft) !important;
  border-color:#cfd7df !important;
}

.actions button:hover,
.actions .edit:hover,
.actions .delete:hover,
button[data-edit]:hover,
button[data-edit-user]:hover,
button[data-delete]:hover,
button[data-delete-user]:hover,
.edit-btn:hover,
.delete-btn:hover{
  background:var(--surface-soft-2) !important;
}

/* Bublina nad vozidlem v hlavní mapě */
.leaflet-popup-content-wrapper,
.leaflet-popup-tip,
.leaflet-popup-content,
.popup{
  background:var(--surface-soft) !important;
}

.leaflet-popup-content-wrapper{
  color:#18212f;
}

/* PHP verze v0.2 */
.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.info-card{padding:16px;border:1px solid #dce3eb;border-radius:11px;background:#fff}
.info-card span,.info-card strong{display:block}.info-card span{font-size:12px;color:#667085;margin-bottom:6px}.info-card strong{color:#1f2937}
.trip-item{display:grid;gap:5px;padding:14px 0;border-bottom:1px solid #e5e7eb}.trip-item span{color:#667085}.trip-item b{justify-self:end}
.role-switch button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:800px){.overview-grid{grid-template-columns:1fr}}

/* v0.3 – přihlášení a uživatelé */
.auth-screen{min-height:100vh;display:grid;place-items:center;background:#f2f4f7;padding:24px}.auth-card{width:min(460px,100%);background:#fff;border:1px solid #e2e6ea;border-radius:18px;box-shadow:0 18px 50px rgba(23,31,42,.12);padding:34px}.auth-logo{display:block;max-width:210px;height:auto;margin:0 auto 28px}.auth-card h1{font-size:24px;margin:0 0 8px}.auth-card>p{color:#6b7280;margin:0 0 24px}.auth-form,.user-create-form{display:grid;gap:16px}.auth-form label,.user-create-form label{display:grid;gap:7px;font-weight:600;font-size:14px}.auth-form input,.user-create-form input,.user-create-form select{width:100%;box-sizing:border-box;border:1px solid #cfd5dc;border-radius:9px;padding:11px 12px;background:#fff;font:inherit}.primary-button,.small-button{border:0;border-radius:9px;background:#ed6b21;color:#fff;font-weight:700;cursor:pointer;padding:11px 16px}.small-button{padding:7px 11px;font-size:13px}.flash{border-radius:9px;padding:11px 14px;margin:0 0 16px}.flash.error{background:#fff0f0;color:#a92727;border:1px solid #f1c5c5}.flash.success{background:#eef9f1;color:#22713a;border:1px solid #c7e8d0}.flash.global{margin:12px 18px 0}.user-menu{display:flex;align-items:center;gap:16px;margin-left:auto}.user-menu>div{display:grid;text-align:right;line-height:1.2}.user-menu span{font-size:12px;color:#68707a}.user-menu>a{font-size:13px;text-decoration:none;color:#454b53;border-left:1px solid #d9dde2;padding-left:16px}.user-create-panel{padding:20px;margin-bottom:18px}.user-create-panel h2{margin:0 0 16px;font-size:18px}.user-create-form{grid-template-columns:1.1fr 1.3fr 1fr .8fr auto;align-items:end}.permissions-form{min-width:250px}.vehicle-checks{display:flex;flex-wrap:wrap;gap:7px 14px;margin-bottom:8px}.vehicle-checks label{font-size:13px;white-space:nowrap}.button-link{border:0;background:transparent;cursor:pointer}.badge.red{background:#fde8e8;color:#a32626}@media(max-width:900px){.user-create-form{grid-template-columns:1fr 1fr}.user-menu>div{display:none}}@media(max-width:600px){.auth-card{padding:24px}.user-create-form{grid-template-columns:1fr}.app-header{flex-wrap:wrap}.user-menu{width:100%;justify-content:flex-end}}

/* v0.4 – editace vozidel */
.vehicle-edit-panel{margin-bottom:18px}.vehicle-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.vehicle-edit-head h2{margin:0 0 5px}.vehicle-edit-head p{margin:0;color:#697586}.vehicle-edit-form{display:grid;grid-template-columns:.8fr 1.2fr 1.2fr auto auto;gap:14px;align-items:end}.vehicle-edit-form label{display:grid;gap:7px;font-weight:600;font-size:14px}.vehicle-edit-form input[type="text"],.vehicle-edit-form input:not([type]){width:100%;border:1px solid #cfd5dc;border-radius:9px;padding:11px 12px;background:#fff;font:inherit}.vehicle-active-check{display:flex!important;grid-auto-flow:column;align-items:center;justify-content:start;white-space:nowrap;padding-bottom:11px}.vehicle-active-check input{width:auto}.secondary-button{border:1px solid #cfd5dc;border-radius:9px;background:#fff;color:#333;text-decoration:none;padding:9px 13px;font-weight:600}.vehicle-actions{white-space:nowrap}.vehicle-actions .table-link+.table-link{margin-left:10px}.edit-link{color:#d95f19}.inactive-row{opacity:.65}.inactive-note{display:block;margin-top:3px;font-size:11px;color:#a32626;font-weight:600}@media(max-width:950px){.vehicle-edit-form{grid-template-columns:1fr 1fr}.vehicle-active-check{padding-bottom:0}}@media(max-width:600px){.vehicle-edit-form{grid-template-columns:1fr}.vehicle-edit-head{align-items:stretch;flex-direction:column}.secondary-button{text-align:center}}

/* v0.5 – přidání vozidla */
.management-head {
  gap: 18px;
}
.management-add-button {
  flex: 0 0 auto;
  text-decoration: none;
  align-self: center;
}
.vehicle-form-separator {
  grid-column: 1 / -1;
  border-top: 1px solid var(--border, #dfe3e8);
  margin-top: 4px;
  padding-top: 18px;
}
.vehicle-form-separator strong {
  display: block;
  font-size: 15px;
}
.vehicle-form-separator strong span {
  margin-left: 7px;
  color: #7a8491;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.vehicle-form-separator p {
  margin: 5px 0 0;
  color: #66717f;
  font-size: 13px;
}
@media (max-width: 700px) {
  .management-head {
    align-items: stretch;
  }
  .management-add-button {
    width: 100%;
    text-align: center;
  }
}

/* v0.6 – správa Hotline u vozidel, GPS diagnostika a odladěný seznam mapy */
.vehicle-admin-table{min-width:1280px}
.vehicle-actions{white-space:nowrap}
.inline-form{display:inline-block;margin:0}
.danger-link{color:#b42318;background:#fff7f6;border-color:#efb4af;cursor:pointer}
.dialog-close-link{text-decoration:none;color:#18212f}
.hotline-switches{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:58px}
.hotline-switch-row{display:flex;align-items:center;gap:9px;margin:0}
.hotline-user-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#526273}
.toggle-switch{position:relative;display:inline-block;width:46px;height:26px;flex:0 0 auto;cursor:pointer}
.toggle-switch input{position:absolute;opacity:0;width:0;height:0}
.toggle-slider{position:absolute;inset:0;border-radius:999px;background:#cbd5df;box-shadow:inset 0 0 0 1px #bcc8d3;transition:background .18s ease,box-shadow .18s ease}
.toggle-slider::before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:transform .18s ease}
.toggle-switch input:checked + .toggle-slider{background:#f7931a;box-shadow:inset 0 0 0 1px #ed890d}
.toggle-switch input:checked + .toggle-slider::before{transform:translateX(20px)}
.toggle-switch input:focus-visible + .toggle-slider{outline:3px solid #f7931a55;outline-offset:2px}
.toggle-switch:hover .toggle-slider{box-shadow:inset 0 0 0 1px #aebbc7,0 0 0 3px #eef2f6}
.toggle-switch:hover input:checked + .toggle-slider{box-shadow:inset 0 0 0 1px #ed890d,0 0 0 3px #fff0df}

.vehicle-card.detailed-card{display:block!important;padding:11px 12px;margin-bottom:8px;text-align:left;border-width:1px}
.vehicle-card.detailed-card.gps-card-problem{border:2px solid #ef3340;box-shadow:none}
.vehicle-card-top,.vehicle-card-bottom{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.vehicle-card-driver,.vehicle-card-plate{font-weight:700;color:#18212f}
.vehicle-card-driver{max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vehicle-card-plate{white-space:nowrap}
.vehicle-card-bottom{margin-top:3px;color:#627083;font-size:12px;align-items:center}
.vehicle-card-location{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vehicle-card-hotline{flex:0 0 auto;padding:1px 5px;border-radius:4px;background:#fff0df;color:#d66f00;font-size:9px;font-weight:800;line-height:1.35;letter-spacing:.35px}
.vehicle-card-name{flex:0 0 auto;white-space:nowrap;text-align:right}
.vehicle-card-status{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;font-weight:700;background:transparent!important}
.vehicle-card-status.green{color:#1f9d55}.vehicle-card-status.orange{color:#f59e0b}.vehicle-card-status.red{color:#dc3545}
.popup{min-width:230px}
.popup-head,.popup-spz-row{display:flex;justify-content:space-between;gap:12px;align-items:center}
.popup-head b{font-size:14px}
.popup-status{font-size:12px;font-weight:700;white-space:nowrap}
.popup-status.green{color:#1f9d55}.popup-status.orange{color:#f59e0b}.popup-status.red{color:#dc3545}
.popup-spz-row{margin-top:8px}
.popup-spz-row strong{font-size:16px}.popup-spz-row span{margin:0;color:#344054}
.popup-location{margin:7px 0 12px;color:#667085;font-size:12px}

.user-create-form{display:grid;grid-template-columns:1.2fr 1.5fr 1fr 1fr auto;gap:12px;align-items:end}
.user-create-form label{font-size:13px;font-weight:700}
.user-create-form input,.user-create-form select{width:100%;margin-top:6px;border:1px solid #cfd7df;border-radius:8px;padding:10px}
.primary-button{background:#18212f;color:#fff;border:0;border-radius:8px;padding:11px 14px;cursor:pointer}
.button-link{cursor:pointer}
@media(max-width:900px){.user-create-form{grid-template-columns:1fr 1fr}.hotline-list{left:0;right:auto}}

/* V15 – kompaktní seznam vozidel a úplný detail vozidla */
.vehicle-admin-table.compact-vehicle-table{min-width:980px}
.vehicle-actions{white-space:nowrap}
.detail-section h2{font-size:16px;margin-bottom:8px}
.detail-section dl div{gap:18px}
.detail-section dt{flex:0 0 46%}
.detail-section dd{text-align:right;overflow-wrap:anywhere}
#editVehicle,#addVehicle{width:min(820px,calc(100% - 30px))}

/* V16: kompaktní stav vozidla vedle řidiče */
.vehicle-card-driver,.popup-driver{display:flex;align-items:center;gap:7px}
.vehicle-status-dot{display:inline-block;width:9px;height:9px;min-width:9px;border-radius:50%}
.vehicle-status-dot.green{background:#1f9d55}
.vehicle-status-dot.orange{background:#f59e0b}
.vehicle-status-dot.red{background:#dc3545}
.popup-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.popup-driver b{font-size:14px}
.geocoding-credit{margin:12px 2px 0;color:#8792a2;font-size:10px;text-align:center}

/* V0.9 – kniha jízd */
.trips-page{max-width:none}.trip-filters{display:flex;gap:14px;align-items:end;margin-bottom:16px;padding:16px}.trip-filters label{display:grid;gap:6px;font-size:13px;font-weight:700}.trip-filters input,.trip-filters select{min-width:160px;border:1px solid #cfd5dc;border-radius:8px;padding:9px 10px;background:#fff;font:inherit}.trip-book-layout{display:grid;grid-template-columns:minmax(620px,1.25fr) minmax(390px,.75fr);gap:16px}.trip-table-wrap{padding:0;overflow:hidden}.trip-summary{padding:14px 16px;border-bottom:1px solid #e5e7eb;font-weight:700}.trip-table{min-width:920px}.trip-table tbody tr{cursor:pointer}.trip-table tbody tr:hover,.trip-table tbody tr.active{background:#fff5eb}.trip-table td small{display:block;color:#758093;margin-top:3px}.trip-table td:nth-child(5){max-width:270px}.trip-table td:nth-child(5) span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-table td:nth-child(5) i{font-style:normal;color:#9aa4b2}.trip-map-panel{padding:0;overflow:hidden;position:sticky;top:82px;height:calc(100vh - 110px);min-height:460px}.trip-map-panel #tripMap{height:calc(100% - 40px);min-height:420px}.trip-map-panel .map-caption{height:40px;display:flex;align-items:center;padding:0 13px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1100px){.trip-book-layout{grid-template-columns:1fr}.trip-map-panel{position:relative;top:auto;height:480px}.trip-filters{flex-wrap:wrap}}@media(max-width:650px){.trip-filters{display:grid;grid-template-columns:1fr 1fr}.trip-filters label:first-child{grid-column:1/-1}.trip-filters input,.trip-filters select{min-width:0;width:100%}.trip-filters button{grid-column:1/-1}}


/* V18.2 – kniha jízd uvnitř detailu vozidla */
.trip-sidebar{display:block}
.trip-day-panel{padding:14px;margin-bottom:10px}
.trip-day-nav{display:grid;grid-template-columns:42px 1fr 42px;gap:9px;align-items:end}
.trip-day-nav label{display:grid;gap:5px;text-align:center;color:#697586;font-size:12px;font-weight:700}
.trip-day-nav input{width:100%;border:1px solid #cfd5dc;border-radius:8px;padding:9px 10px;background:#fff;text-align:center}
.trip-day-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.trip-day-actions strong{font-size:13px}
.trip-day-actions .secondary-button{padding:7px 10px;font-size:12px}
.trip-list{display:grid;gap:8px}
.trip-card{width:100%;border:1px solid #dfe5eb;border-radius:11px;background:#fff;padding:12px;text-align:left;cursor:pointer}
.trip-card:hover,.trip-card.active{border-color:#f7931a;box-shadow:0 0 0 1px #f7931a;background:#fffaf4}
.trip-card-time{display:flex;align-items:center;gap:8px;font-size:17px}
.trip-card-time span{color:#9aa4b2}
.trip-card-route{display:grid;gap:4px;margin-top:8px;color:#5f6b7a;font-size:12px}
.trip-card-route span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trip-card-route span:last-child::before{content:'→ ';color:#f7931a;font-weight:800}
.trip-card-meta{display:flex;justify-content:space-between;gap:12px;margin-top:9px;padding-top:9px;border-top:1px solid #edf0f3;font-size:13px}
.trip-detail{margin-top:10px}
.trip-detail h2{font-size:16px;margin-bottom:7px}
.trip-detail dl div{gap:14px}
.trip-detail dt{flex:0 0 38%}
.trip-detail dd{text-align:right;overflow-wrap:anywhere}
@media(max-width:850px){.trip-day-actions{align-items:stretch;flex-direction:column}.trip-day-actions .secondary-button{width:100%;text-align:center}}

/* V20 – souhrny jízd a klidné GPS upozornění */
.trip-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.trip-stat-card {
  padding: 13px 15px;
  min-width: 0;
}
.trip-stat-card span,
.trip-stat-card small {
  display: block;
  color: var(--muted, #667085);
}
.trip-stat-card strong {
  display: block;
  margin: 5px 0 3px;
  font-size: 21px;
  line-height: 1.1;
}
.trip-stat-card small { font-size: 12px; }
.gps-summary-alert {
  margin: 0 0 10px;
  padding: 11px 12px;
  border: 1px solid rgba(220, 38, 38, .28);
  border-radius: 10px;
  background: rgba(220, 38, 38, .07);
}
.gps-summary-alert strong,
.gps-summary-alert span,
.gps-summary-alert small { display: block; }
.gps-summary-alert strong { color: #b42318; }
.gps-summary-alert span { margin-top: 3px; font-size: 13px; }
.gps-summary-alert small { margin-top: 5px; color: var(--muted, #667085); line-height: 1.35; }
@media (max-width: 1150px) {
  .trip-stats-grid { grid-template-columns: 1fr; }
}

/* V21 – kompaktní detail vozidla a listování statistikami */
.vehicle-left{padding:12px 14px}
.vehicle-heading.compact{padding:12px 14px;margin-bottom:9px;border-radius:11px}
.vehicle-heading.compact h1{font-size:25px;line-height:1.05;margin:0}
.vehicle-heading.compact p{margin:6px 0 0;font-size:13px;color:#526071}
.vehicle-heading.compact .table-link{padding:8px 11px}
.tabs{margin-bottom:9px}
.tab{padding:8px 12px}
.tab-panel{gap:9px}
.detail-section{padding:13px 15px;border-radius:11px}
.detail-section h2{font-size:15px;margin-bottom:4px}
.detail-section dl div{padding:7px 0}
.detail-section dt,.detail-section dd{font-size:13px}
.trip-day-panel{padding:11px 12px;margin-bottom:8px;border-radius:11px}
.trip-day-nav{grid-template-columns:38px 1fr 38px;gap:7px}
.trip-day-nav .square-btn{width:38px;height:38px;font-size:22px}
.trip-day-nav input{padding:7px 9px}
.trip-day-actions{margin-top:9px}
.trip-stats-grid{gap:7px;margin-bottom:9px}
.trip-stat-card{padding:9px 10px;border-radius:11px}
.trip-stat-head{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:3px;min-height:24px}
.trip-stat-head span{text-align:center;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trip-stat-card:first-child .trip-stat-head{grid-template-columns:1fr}
.mini-period-btn{width:24px;height:24px;padding:0;border:1px solid #d6dde5;border-radius:6px;background:#fff;color:#18212f;line-height:20px;font-size:18px;cursor:pointer}
.mini-period-btn:hover{border-color:#f7931a;color:#f7931a}
.trip-stat-card strong{margin:3px 0 2px;font-size:18px}
.trip-stat-card small{font-size:11px;white-space:nowrap}
.trip-list{gap:6px}
.trip-card{padding:10px;border-radius:10px}
.trip-card-time{font-size:16px}
.trip-card-route{margin-top:6px}
.trip-card-meta{margin-top:7px;padding-top:7px}
@media(max-width:1150px) and (min-width:851px){.trip-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* V22 – nízké karty jízd a čitelné nezávislé období */
.trip-card{padding:8px 10px;min-height:0}
.trip-card-main{display:flex;align-items:center;justify-content:space-between;gap:10px}
.trip-card-time{font-size:16px;line-height:1.15}
.trip-card-distance{font-size:14px;white-space:nowrap}
.trip-card-duration{margin-top:4px;color:#5f6b7a;font-size:12px;line-height:1.2}
.trip-card-route,.trip-card-meta{display:none!important}
.trip-stat-head span{font-size:12px;font-weight:600;color:#526071}
.trip-stat-card strong{font-size:17px}

/* V25 – účet a odhlášení přímo v levé řadě navigace */
.app-header{
  gap:8px;
}

.app-nav{
  gap:8px;
}

.user-menu{
  display:flex;
  align-items:stretch;
  gap:8px;
  margin-left:0;
}

.user-menu > div{
  min-width:132px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:left;
  line-height:1.15;
  padding:7px 13px;
  border:1px solid #cfd7df;
  border-radius:8px;
  background:var(--surface-soft);
}

.user-menu > div strong{
  font-size:14px;
  line-height:1.2;
}

.user-menu > div span{
  margin-top:3px;
  font-size:11px;
  color:#68707a;
}

.user-menu > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 14px;
  border:1px solid #cfd7df;
  border-radius:8px;
  background:var(--surface-soft);
  color:#18212f;
  font-size:14px;
  text-decoration:none;
}

.user-menu > a:hover{
  border-color:var(--accent-orange);
  background:var(--surface-soft-2);
  color:var(--accent-orange-dark);
}

@media(max-width:900px){
  .user-menu > div{
    display:flex;
  }
}

@media(max-width:760px){
  .app-header{
    align-items:center;
  }

  .user-menu{
    width:auto;
    justify-content:flex-start;
  }
}

/* V26 – kompaktní provozní stav přímo pod nadpisem administračních karet */
.system-status-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin:0 0 12px;
}
.system-status-item{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:9px 11px;
  border:1px solid #dfe5eb;
  border-radius:10px;
  background:#fff;
}
.system-status-item > div{min-width:0}
.system-status-item strong,.system-status-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.system-status-item strong{font-size:12px;line-height:1.2;color:#26313f}
.system-status-item small{margin-top:2px;font-size:11px;line-height:1.2;color:#697586}
.system-status-dot{width:9px;height:9px;min-width:9px;border-radius:50%}
.system-status-dot.green{background:#1f9d55}
.system-status-dot.orange{background:#f59e0b}
.system-status-dot.red{background:#dc3545}
.system-status-dot.grey{background:#98a2b3}
@media(max-width:1200px){.system-status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.system-status-strip{grid-template-columns:1fr 1fr}}

/* V27 – kompaktní administrační stránky a sjednocené provozní bubliny */
.system-status-item{
  background:var(--surface-soft);
}

.management-compact-top{
  padding-top:18px;
}

.management-compact-top .system-status-strip{
  margin-top:0;
}

.management-actions-row{
  display:flex;
  justify-content:flex-end;
  margin:-2px 0 10px;
}

.system-status-filter{
  cursor:pointer;
}

.system-status-filter input{
  width:auto;
  margin:0 4px 0 0;
  vertical-align:-1px;
  accent-color:var(--accent-orange);
}

.system-status-filter small{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}

@media(max-width:760px){
  .management-actions-row{
    justify-content:stretch;
  }
  .management-actions-row .management-add-button{
    width:100%;
  }
}

@media(min-width:1201px){
  .system-status-strip{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
}


/* V28 – start/cíl trasy a vyhledávání adresy */
.trip-endpoint-icon{background:transparent!important;border:0!important}
.trip-endpoint-dot{display:block;width:16px;height:16px;border-radius:50%;border:3px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.45)}
.trip-endpoint-dot.start{background:#20a464}
.trip-endpoint-dot.end{background:#dc3545}
.address-search{display:grid;grid-template-columns:minmax(0,1fr) 38px 38px;gap:6px;margin-top:8px}
.address-search input{min-width:0;width:100%;border:1px solid #cfd7df;border-radius:8px;padding:9px 10px;background:#fff;font:inherit}
.address-search button{border:1px solid #cfd7df;border-radius:8px;background:#fff;cursor:pointer;font-size:21px;line-height:1;color:#18212f}
.address-search button:hover{border-color:#f7931a;background:#fff8ef}
.address-search-status{margin:6px 2px 0;color:#526071;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.address-search-status.error{color:#b42318}
.address-result-icon{background:transparent!important;border:0!important}
.address-result-dot{display:block;width:20px;height:20px;border-radius:50%;background:#2563eb;border:4px solid #fff;box-shadow:0 1px 8px rgba(0,0,0,.5)}


/* V28.1 – vyhledávání adresy přímo v mapě a výrazné body start/cíl */
.address-search-source{display:block}
.address-map-control{
  margin-left:52px!important;
  margin-top:-58px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.address-map-control .address-search-source{
  width:min(360px,calc(100vw - 125px));
}
.address-map-control .address-search{
  margin:0;
  grid-template-columns:minmax(180px,1fr) 38px 38px;
  padding:5px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:8px;
  background:rgba(255,255,255,.96);
  box-shadow:0 1px 5px rgba(0,0,0,.28);
}
.address-map-control .address-search input{
  height:36px;
  padding:7px 9px;
  border-radius:6px;
}
.address-map-control .address-search button{
  width:38px;
  height:36px;
  padding:0;
  border-radius:6px;
}
.address-map-control .address-search-status{
  margin:4px 0 0;
  padding:6px 9px;
  border-radius:7px;
  background:rgba(255,255,255,.96);
  box-shadow:0 1px 5px rgba(0,0,0,.2);
  max-width:100%;
}
@media(max-width:700px){
  .address-map-control .address-search-source{width:min(285px,calc(100vw - 105px))}
  .address-map-control .address-search{grid-template-columns:minmax(130px,1fr) 36px 36px}
}

/* V29 – jméno řidiče přímo v markeru a vzdálenost od hledané adresy */
.driver-car-marker-wrap{
  background:transparent!important;
  border:0!important;
}
.driver-car-marker{
  height:42px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:4px 10px 4px 6px;
  border:3px solid var(--car-color);
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 7px rgba(0,0,0,.34);
  color:#18212f;
  white-space:nowrap;
}
.driver-car-marker.icon-only{
  width:42px;
  justify-content:center;
  padding:4px;
  border-radius:50%;
}
.driver-car-marker.compact-label{width:94px}
.driver-car-marker.full-label{width:148px}
.driver-car-symbol{
  width:27px;
  height:27px;
  flex:0 0 27px;
  display:grid;
  place-items:center;
}
.driver-car-symbol svg{width:27px;height:27px}
.driver-car-symbol .car-body{fill:var(--car-color)}
.driver-car-symbol .car-window,
.driver-car-symbol .car-light{fill:#fff}
.driver-car-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:13px;
  line-height:1;
  font-weight:600;
}
.popup-search-distance{
  margin:8px 0 10px;
  padding:7px 9px;
  border:1px solid #bfdbfe;
  border-radius:7px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:12px;
  font-weight:700;
}

/* V30 – kompaktní markery řidičů a rozšířená informační bublina */
.driver-marker-wrap{
  background:transparent!important;
  border:0!important;
}
.driver-name-marker{
  position:relative;
  width:100%;
  height:54px;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  pointer-events:auto;
}
.driver-name-marker-label{
  display:block;
  max-width:100%;
  padding:7px 10px 6px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:2px solid var(--marker-color);
  border-radius:9px;
  background:#fff;
  color:#18212f;
  box-shadow:0 2px 7px rgba(0,0,0,.28);
  font-size:13px;
  line-height:1;
  font-weight:700;
}
.driver-name-marker-pointer{
  position:absolute;
  top:29px;
  left:50%;
  width:10px;
  height:10px;
  background:#fff;
  border-right:2px solid var(--marker-color);
  border-bottom:2px solid var(--marker-color);
  transform:translateX(-50%) rotate(45deg);
  z-index:-1;
}
.driver-name-marker-dot{
  position:absolute;
  left:50%;
  bottom:0;
  width:14px;
  height:14px;
  border:2px solid #fff;
  border-radius:50%;
  background:var(--marker-color);
  box-shadow:0 1px 4px rgba(0,0,0,.38);
  transform:translateX(-50%);
}
.driver-marker-dot-only{
  display:block;
  width:18px;
  height:18px;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--marker-color);
  box-shadow:0 1px 5px rgba(0,0,0,.45);
}
.vehicle-map-popup{min-width:245px}
.vehicle-popup-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:9px;
  border-bottom:1px solid #e6eaf0;
}
.vehicle-popup-head .popup-driver b{font-size:16px;color:#18212f}
.vehicle-popup-status{
  flex:0 0 auto;
  padding:4px 8px;
  border-radius:6px;
  color:#fff;
  font-size:11px;
  line-height:1;
  font-weight:700;
}
.vehicle-popup-status.green{background:#1f9d55}
.vehicle-popup-status.orange{background:#f59e0b}
.vehicle-popup-status.red{background:#dc2626}
.vehicle-popup-identity{
  display:flex;
  align-items:center;
  gap:7px;
  margin:10px 0;
  color:#344054;
  font-size:13px;
}
.vehicle-popup-identity strong{font-size:14px;color:#18212f}
.vehicle-popup-row{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:7px 0;
  color:#475467;
  font-size:12px;
  line-height:1.35;
}
.vehicle-popup-row-icon{
  flex:0 0 16px;
  color:#18212f;
  font-size:15px;
  line-height:1;
  text-align:center;
}
.vehicle-map-popup .popup-search-distance{
  margin:9px 0 4px;
  padding:8px 9px;
  border:0;
  border-radius:7px;
  background:#eff6ff;
  color:#1d4ed8;
}
.vehicle-popup-detail{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  margin-top:10px;
  padding:9px 0 0!important;
  border-top:1px solid #e6eaf0;
  border-radius:0!important;
  background:transparent!important;
  color:#0b73d9!important;
  font-size:13px;
  font-weight:700;
}
.vehicle-popup-detail:hover{color:#075bac!important;text-decoration:none}
.vehicle-popup-detail span{margin:0!important;color:inherit!important;font-size:20px;line-height:.8}


/* V31 – menší marker od zoomu 15 a kompaktní informační karta */
.driver-name-marker{height:44px}
.driver-name-marker-label{
  padding:2px 5px 2px;
  border-width:2px;
  border-radius:8px;
  box-shadow:0 2px 5px rgba(0,0,0,.24);
  font-size:10px;
  line-height:1;
}
.driver-name-marker-pointer{
  top:23px;
  width:8px;
  height:8px;
}
.driver-name-marker-dot{
  width:12px;
  height:12px;
}
.vehicle-map-popup{min-width:218px;max-width:240px}
.vehicle-popup-head{gap:9px;padding-bottom:7px}
.vehicle-popup-head .popup-driver b{font-size:14px}
.vehicle-popup-status{padding:4px 7px;font-size:10px}
.vehicle-popup-identity{margin:8px 0;font-size:12px}
.vehicle-popup-identity strong{font-size:13px}
.vehicle-popup-row{gap:7px;margin:6px 0;font-size:11.5px}
.vehicle-popup-row-icon{flex-basis:14px;font-size:13px}
.vehicle-map-popup .popup-search-distance{
  margin:8px 0 2px;
  padding:7px 8px;
  font-size:11.5px;
}
.vehicle-popup-detail{
  margin-top:8px;
  padding:8px 10px!important;
  border:1px solid #bfdbfe!important;
  border-radius:7px!important;
  background:#eff6ff!important;
  color:#0b73d9!important;
}
.vehicle-popup-detail span{font-size:18px}

/* V32 – vyhledaná adresa: vozidla Hotline a markery od zoomu 10 */
.address-result-popup{
  min-width:250px;
  max-width:300px;
}
.address-result-popup-title{
  color:#18212f;
  font-size:14px;
  line-height:1.3;
  font-weight:700;
}
.address-result-popup-subtitle{
  margin-top:3px;
  padding-bottom:8px;
  border-bottom:1px solid #e6eaf0;
  color:#667085;
  font-size:11px;
}
.address-hotline-list{
  margin-top:4px;
  max-height:240px;
  overflow:auto;
}
.address-hotline-row{
  display:grid;
  grid-template-columns:9px minmax(90px,1fr) auto auto;
  align-items:center;
  gap:7px;
  padding:7px 1px;
  border-bottom:1px solid #eef1f4;
  color:#344054;
  font-size:11.5px;
}
.address-hotline-row:last-child{border-bottom:0}
.address-hotline-dot{
  width:8px;
  height:8px;
  border-radius:50%;
}
.address-hotline-dot.green{background:#1f9d55}
.address-hotline-dot.orange{background:#f59e0b}
.address-hotline-dot.red{background:#dc2626}
.address-hotline-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#18212f;
  font-weight:700;
}
.address-hotline-plate{
  color:#667085;
  white-space:nowrap;
}
.address-hotline-row strong{
  color:#0b73d9;
  white-space:nowrap;
  font-size:11.5px;
}
.address-hotline-empty{
  padding:10px 2px 4px;
  color:#667085;
  font-size:11.5px;
}

/* V36 – export měsíce a roku */
.trip-stat-export{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:7px;
  padding:5px 8px;
  border:1px solid #cfd7df;
  border-radius:7px;
  background:#fff;
  color:#18212f;
  text-decoration:none;
  font-size:11px;
  font-weight:700;
  line-height:1;
}
.trip-stat-export:hover{background:#f4f7fa;border-color:#aeb9c4}

/* V37 – barevná ikona auta se zkráceným jménem řidiče uvnitř */
.driver-car-marker{
  background:transparent!important;
  border:0!important;
}
.driver-car-svg{
  display:block;
  overflow:visible;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.28));
  cursor:pointer;
}
.driver-car-svg text{
  pointer-events:none;
  user-select:none;
}


.leaflet-marker-icon.driver-car-marker{
  background: transparent !important;
  border: none !important;
  box-shadow:none !important;
}
.leaflet-marker-shadow{display:none!important;}
.driver-car-svg{filter:none!important;}


/* V39 – původní silueta auta, jméno nad autem, bez průhledného podkladu */
.leaflet-marker-icon.driver-marker-wrap,
.leaflet-marker-icon.driver-car-name-marker{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.driver-car-name-wrap{
  position:relative;
  width:100%;
  height:58px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  cursor:pointer;
}

.driver-car-name-label{
  display:block;
  max-width:100%;
  margin:0 0 2px;
  padding:3px 7px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:2px solid var(--marker-color);
  border-radius:8px;
  background:#fff;
  color:#18212f;
  box-shadow:0 2px 5px rgba(0,0,0,.22);
  font-size:11px;
  font-weight:700;
  line-height:1;
  text-align:center;
}

.driver-car-silhouette{
  display:block;
  width:58px;
  height:27px;
  overflow:visible;
  filter:none!important;
  background:transparent!important;
}

.leaflet-marker-shadow{
  display:none!important;
}


/* V40 – kompaktní silueta auta podle schváleného návrhu */
.leaflet-marker-icon.driver-car-name-marker{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.driver-car-name-wrap{
  position:relative;
  width:100%;
  height:52px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  cursor:pointer;
}
.driver-car-name-label{
  position:relative;
  z-index:2;
  display:block;
  max-width:100%;
  margin:0 0 3px;
  padding:3px 8px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:1px solid #6b7280;
  border-radius:6px;
  background:#fff;
  color:#111827;
  box-shadow:0 1px 4px rgba(0,0,0,.2);
  font-size:11px;
  font-weight:700;
  line-height:1;
  text-align:center;
}
.driver-car-name-label::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-4px;
  width:7px;
  height:7px;
  background:#fff;
  border-right:1px solid #6b7280;
  border-bottom:1px solid #6b7280;
  transform:translateX(-50%) rotate(45deg);
}
.driver-car-silhouette{
  display:block;
  width:58px;
  height:27px;
  overflow:visible;
  background:transparent!important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
}
.driver-car-window{fill:#fff;opacity:.96}
.leaflet-marker-shadow{display:none!important}

/* V41 – akce vlevo, detail ve spodním panelu a kniha jízd na mapě */
.vehicle-actions{text-align:left;white-space:nowrap}
.vehicle-actions .table-link{margin:0 9px 0 0!important}
.inline-form{display:inline}
.user-actions{white-space:nowrap}
.user-actions .inline-form{margin-left:10px}
.danger-link{color:#b42318!important}
.vehicle-detail-drawer{position:fixed;inset:auto 0 0 0;width:100%;max-width:none;height:min(78vh,760px);margin:0;border-radius:16px 16px 0 0;background:#fff}
.vehicle-detail-drawer::backdrop{background:rgba(15,23,42,.42)}
.vehicle-detail-drawer .drawer-head{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #dfe5eb}
.vehicle-detail-drawer iframe{display:block;width:100%;height:calc(100% - 54px);border:0;background:#eef2f6}
.embedded-vehicle-detail .vehicle-layout{height:100vh}
.embedded-vehicle-detail .vehicle-heading .table-link{display:none}
.layout{position:relative}
.map-trip-panel{position:absolute;z-index:800;left:306px;right:16px;bottom:16px;max-height:38vh;overflow:hidden;border:1px solid #dfe5eb;border-radius:14px;background:#fff;box-shadow:0 12px 38px rgba(15,23,42,.28)}
.map-trip-head{display:flex;align-items:center;gap:18px;padding:10px 14px;border-bottom:1px solid #e5e7eb}
.map-trip-head>div{display:grid;min-width:190px}.map-trip-head span{font-size:12px;color:#697586;margin-top:2px}.map-trip-head label{display:flex;align-items:center;gap:8px;margin:0 0 0 auto;font-size:12px}.map-trip-head input{width:auto;padding:7px 9px}.map-trip-list{max-height:calc(38vh - 58px);overflow:auto;padding:8px 12px}.map-trip-row{display:grid;grid-template-columns:145px minmax(220px,1fr) 90px;gap:14px;align-items:center;padding:9px 5px;border-bottom:1px solid #edf0f3;font-size:12px}.map-trip-row:last-child{border-bottom:0}.map-trip-row>div:first-child{display:grid}.map-trip-row>div:first-child span{color:#697586;margin-top:2px}.map-trip-row>strong:last-child{text-align:right}.map-trip-route{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:5px;align-items:center;color:#4b5563}.map-trip-route span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-trip-route i{font-style:normal;color:#f7931a;text-align:center}.trip-sidebar .trip-card-route{display:grid!important}
@media(max-width:850px){.vehicle-detail-drawer{height:90vh}.map-trip-panel{left:12px;right:12px;bottom:12px;max-height:46vh}.map-trip-list{max-height:calc(46vh - 58px)}.map-trip-row{grid-template-columns:110px minmax(180px,1fr) 70px}}

/* V42 – rychlá kniha jízd na mapě a akce vozidel vpravo */
.vehicle-id-cell{color:#667085;font-variant-numeric:tabular-nums;font-weight:700}
.compact-vehicle-table th:last-child,
.compact-vehicle-table td:last-child{text-align:right}
.vehicle-actions{white-space:nowrap}
.vehicle-actions .inline-form{margin-left:6px}
.vehicle-actions .table-link{margin:0!important}

.map-trip-panel{
  left:306px;
  right:14px;
  bottom:14px;
  max-height:48vh;
  border-radius:12px;
}
.map-trip-head{
  display:grid;
  grid-template-columns:minmax(145px,auto) minmax(540px,1fr) 34px;
  gap:12px;
  align-items:stretch;
  padding:8px 10px;
}
.map-trip-heading{display:flex!important;flex-direction:column;justify-content:center;min-width:0}
.map-trip-heading strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-trip-heading span{font-size:10px!important;line-height:1.25}
.trip-period-cards{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:7px;min-width:0}
.trip-period-card{
  min-width:0;
  padding:6px 8px;
  border:1px solid #dfe5eb;
  border-radius:9px;
  background:#f8fafc;
  cursor:pointer;
  transition:border-color .15s,background .15s,box-shadow .15s;
}
.trip-period-card:hover{border-color:#aebdce;background:#fff}
.trip-period-card.active{border-color:#1769d2;background:#f1f7ff;box-shadow:inset 0 0 0 1px #1769d2}
.trip-period-nav{display:grid;grid-template-columns:25px minmax(0,1fr) 25px;gap:5px;align-items:center}
.trip-period-nav strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:11px;font-weight:600}
.trip-period-nav button{
  width:25px;height:25px;padding:0;border:1px solid #ccd6e2;border-radius:6px;background:#fff;color:#18212f;font-size:18px;line-height:1;cursor:pointer
}
.trip-period-card>b{display:block;margin-top:3px;font-size:15px;line-height:1.1}
.trip-period-card>span{display:block!important;margin-top:2px!important;color:#667085;font-size:10px!important;white-space:nowrap}
.trip-period-card .trip-stat-export{margin-top:4px;padding:4px 7px;font-size:10px}
.map-trip-head>.icon-btn{align-self:start;width:30px;height:30px}
.map-trip-list{max-height:calc(48vh - 104px);overflow:auto;padding:2px 7px 5px}
.map-trip-row{
  width:100%;
  min-height:31px;
  display:grid;
  grid-template-columns:76px 82px minmax(150px,1fr) 16px minmax(150px,1fr) 76px 70px;
  gap:7px;
  align-items:center;
  padding:4px 6px;
  border:0;
  border-bottom:1px solid #edf0f3;
  border-radius:0;
  background:#fff;
  color:#344054;
  font:inherit;
  font-size:11px;
  text-align:left;
  cursor:pointer;
}
.map-trip-row:hover{background:#f5f8fc}
.map-trip-row.active{background:#eaf3ff;box-shadow:inset 3px 0 #1769d2}
.map-trip-row.loading{opacity:.6}
.map-trip-row.route-error{background:#fff4f2}
.map-trip-row>*{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-trip-row>i{color:#f7931a;font-style:normal;text-align:center}
.map-trip-date{color:#667085;font-variant-numeric:tabular-nums}
.map-trip-time{color:#18212f;font-variant-numeric:tabular-nums}
.map-trip-duration{text-align:right;color:#667085}
.map-trip-distance{text-align:right;color:#18212f}

@media(max-width:1050px){
  .map-trip-head{grid-template-columns:125px minmax(510px,1fr) 32px;overflow-x:auto}
  .map-trip-heading span{display:none}
}
@media(max-width:850px){
  .map-trip-panel{left:10px;right:10px;bottom:10px;max-height:58vh}
  .map-trip-head{display:flex;align-items:flex-start;overflow-x:auto}
  .map-trip-heading{min-width:120px;height:68px}
  .trip-period-cards{min-width:510px}
  .map-trip-head>.icon-btn{position:sticky;right:0;flex:0 0 30px;background:#fff}
  .map-trip-list{max-height:calc(58vh - 94px);overflow:auto}
  .map-trip-row{min-width:780px}
}

/* V44 – kompaktní správa vozidel, poloviční kniha jízd a sjednocené ovládání */
.management-actions-row{
  min-height:40px;
}
.management-actions-row .secondary-button,
.management-actions-row .management-add-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:40px;
  min-height:40px;
  margin:0;
  padding:0 14px;
  border-width:1px;
  line-height:1;
  white-space:nowrap;
}
.vehicle-admin-search{
  display:flex;
  align-items:center;
  gap:8px;
  margin-right:auto;
  color:#667085;
  font-size:12px;
  font-weight:700;
}
.vehicle-admin-search input{
  width:260px;
  height:40px;
  margin:0;
  padding:0 11px;
  border:1px solid #cfd7df;
  border-radius:8px;
  background:var(--surface-soft-2);
}
.compact-vehicle-table th,
.compact-vehicle-table td{
  padding:7px 10px;
}
.compact-vehicle-table th{
  font-size:10px;
  line-height:1.1;
}
.compact-vehicle-table td{
  font-size:12px;
  line-height:1.15;
}
.compact-vehicle-table td small{
  margin-top:2px;
  font-size:9px;
  line-height:1.15;
}
.compact-vehicle-table .badge{
  padding:3px 7px;
  font-size:10px;
}
.compact-vehicle-table .toggle-switch{
  width:38px;
  height:22px;
}
.compact-vehicle-table .toggle-slider::before{
  width:16px;
  height:16px;
}
.compact-vehicle-table .toggle-switch input:checked + .toggle-slider::before{
  transform:translateX(16px);
}
.vehicle-equipment-row td{
  padding:0 10px 5px;
  background:var(--surface-soft-2)!important;
}
.vehicle-equipment{
  gap:9px;
  padding:4px 7px;
  background:var(--surface-soft-2)!important;
  border-color:#dfe5eb;
  border-radius:6px;
}
.vehicle-equipment-group{
  gap:9px;
}
.vehicle-equipment-group + .vehicle-equipment-group{
  padding-left:9px;
}
.vehicle-equipment-group>strong{
  font-size:10px;
}
.vehicle-equipment-group>span{
  font-size:9px;
  line-height:1.05;
}
.vehicle-equipment-group>span small{
  display:inline;
  margin:0 3px 0 0;
  font-size:8px;
}
.map-trip-panel{
  left:auto;
  right:14px;
  width:min(760px,calc(100% - 320px));
  height:190px;
  min-height:190px;
}
.map-trip-panel .map-trip-head{
  grid-template-columns:minmax(105px,1fr) auto 28px;
  min-height:44px;
  padding:4px 7px;
}
.map-trip-panel .trip-period-card{
  grid-template-columns:minmax(94px,auto) auto auto auto;
  gap:4px;
  padding:3px 4px;
}
.map-trip-row{
  min-height:26px;
  grid-template-columns:68px 74px minmax(112px,1fr) 12px minmax(112px,1fr) 62px 58px;
  gap:4px;
  padding:2px 4px;
  font-size:10px;
  line-height:1.1;
}
.app-nav .nav-link,
.user-menu>div,
.user-menu>a{
  height:40px;
  min-height:40px;
  padding:0 14px;
  border:1px solid #cfd7df;
  border-radius:8px;
}
.app-nav .nav-link,
.user-menu>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.user-menu>div{
  min-width:132px;
  justify-content:center;
}
@media(max-width:1250px){
  .vehicle-admin-search span{display:none}
  .vehicle-equipment-group>span small{display:block;margin:0 0 1px}
}
@media(max-width:850px){
  .management-actions-row{flex-wrap:wrap}
  .vehicle-admin-search{width:100%}
  .vehicle-admin-search input{width:100%}
  .map-trip-panel{left:10px;right:10px;width:auto;height:190px;min-height:190px}
}

/* V43 – viditelné údaje GPS/SIM a pevná kompaktní kniha jízd */
.vehicle-equipment-row td{
  padding:0 16px 10px;
  background:#fff;
  border-bottom:1px solid #dfe5eb;
}
.vehicle-equipment-row.gps-row-problem td:first-child{border-left:3px solid #dc3545}
.vehicle-equipment{
  display:grid;
  grid-template-columns:minmax(420px,.9fr) minmax(620px,1.35fr);
  gap:14px;
  padding:8px 10px;
  border:1px solid #e1e7ee;
  border-radius:9px;
  background:inherit;
}
.vehicle-equipment-group{
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
}
.vehicle-equipment-group+ .vehicle-equipment-group{
  padding-left:14px;
  border-left:1px solid #e1e7ee;
}
.vehicle-equipment-group>strong{
  flex:0 0 auto;
  color:#18212f;
  font-size:12px;
}
.vehicle-equipment-group>span{
  min-width:0;
  color:#344054;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
}
.vehicle-equipment-group>span small{
  display:block;
  margin:0 0 2px;
  color:#7a8697;
  font-size:9px;
  font-weight:500;
  text-transform:uppercase;
}

.map-trip-panel{
  height:218px;
  min-height:218px;
  max-height:62vh;
  display:grid;
  grid-template-rows:50px minmax(0,1fr);
}
.map-trip-panel.hidden{display:none}
.map-trip-resize{
  position:absolute;
  z-index:3;
  top:-5px;
  left:0;
  right:0;
  height:11px;
  cursor:ns-resize;
  touch-action:none;
}
.map-trip-resize::after{
  content:"";
  position:absolute;
  top:5px;
  left:50%;
  width:54px;
  height:4px;
  border-radius:999px;
  background:#b9c3cf;
  transform:translate(-50%,-50%);
}
.map-trip-panel.resizing{user-select:none}
.map-trip-panel.resizing .map-trip-resize::after{background:#1769d2}
.map-trip-head{
  display:grid;
  grid-template-columns:minmax(125px,1fr) auto 30px;
  gap:10px;
  align-items:center;
  min-height:50px;
  padding:6px 9px;
  overflow:hidden;
}
.map-trip-heading{
  display:block!important;
  min-width:0!important;
}
.map-trip-heading strong{
  display:block;
  font-size:14px;
  line-height:1.1;
}
.trip-period-cards{
  display:flex;
  justify-content:flex-end;
  gap:6px;
}
.trip-period-card{
  display:grid;
  grid-template-columns:minmax(110px,auto) auto auto auto;
  align-items:center;
  gap:7px;
  padding:4px 6px;
  border-radius:8px;
}
.trip-period-nav{grid-template-columns:22px minmax(62px,auto) 22px;gap:3px}
.trip-period-nav button{width:22px;height:22px;font-size:16px}
.trip-period-nav strong{font-size:10px}
.trip-period-card>b{display:block;margin:0;font-size:12px;white-space:nowrap}
.trip-period-card>span{display:block!important;margin:0!important;font-size:9px!important}
.trip-period-card .trip-stat-export{margin:0;padding:4px 5px;font-size:9px}
.map-trip-head>.icon-btn{align-self:center;width:28px;height:28px}
.map-trip-list{
  max-height:none;
  min-height:0;
  overflow-y:auto;
  overflow-x:auto;
  padding:2px 7px 5px;
}

@media(max-width:1250px){
  .vehicle-equipment{grid-template-columns:1fr}
  .vehicle-equipment-group{flex-wrap:wrap}
  .vehicle-equipment-group+ .vehicle-equipment-group{padding:8px 0 0;border-left:0;border-top:1px solid #e1e7ee}
  .map-trip-head{overflow-x:auto;grid-template-columns:125px minmax(720px,1fr) 30px}
}
@media(max-width:850px){
  .map-trip-panel{height:218px;min-height:218px;max-height:62vh}
  .map-trip-head{display:grid;grid-template-columns:120px minmax(720px,1fr) 30px;align-items:center}
  .map-trip-heading{height:auto}
  .trip-period-cards{min-width:0}
  .map-trip-list{max-height:none}
}

.management-actions-row{display:flex;justify-content:flex-end;align-items:center;gap:9px}
.dialog-help{margin:5px 0 0;color:#667085;font-size:12px;font-weight:400}

/* V45 – finální pořadí kompaktních přepisů */
.management-actions-row .primary-btn,
.management-actions-row .management-add-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:40px;
  min-height:40px;
  margin:0;
  padding:0 14px;
  border:1px solid var(--accent-orange);
  line-height:1;
  white-space:nowrap;
}
.vehicle-equipment-row td{
  padding:0 10px 5px;
  background:var(--surface-soft-2)!important;
}
.vehicle-equipment{
  gap:9px;
  padding:4px 7px;
  border-color:#dfe5eb;
  border-radius:6px;
  background:var(--surface-soft-2)!important;
}
.vehicle-equipment-group{gap:9px}
.vehicle-equipment-group + .vehicle-equipment-group{padding-left:9px}
.vehicle-equipment-group>strong{font-size:10px}
.vehicle-equipment-group>span{font-size:9px;line-height:1.05}
.vehicle-equipment-group>span small{display:inline;margin:0 3px 0 0;font-size:8px}
.map-trip-panel{
  left:auto;
  right:14px;
  width:min(760px,calc(100% - 320px));
  height:180px;
  min-height:180px;
  grid-template-rows:44px minmax(0,1fr);
}
.map-trip-panel .map-trip-head{
  grid-template-columns:minmax(105px,1fr) auto 28px;
  gap:6px;
  min-height:44px;
  padding:4px 7px;
}
.map-trip-panel .trip-period-cards{gap:4px}
.map-trip-panel .trip-period-card{
  grid-template-columns:minmax(94px,auto) auto auto auto;
  gap:4px;
  padding:3px 4px;
}
.map-trip-row{
  min-height:26px;
  grid-template-columns:68px 74px minmax(112px,1fr) 12px minmax(112px,1fr) 62px 58px;
  gap:4px;
  padding:2px 4px;
  font-size:10px;
  line-height:1.1;
}
.trip-book-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.trip-table{min-width:0;table-layout:fixed}
.trip-table th,.trip-table td{padding:6px 7px}
.trip-table th{font-size:10px}
.trip-table td{font-size:11px;line-height:1.15}
.trip-table td:nth-child(1){width:13%}
.trip-table td:nth-child(2),.trip-table td:nth-child(3){width:16%}
.trip-table td:nth-child(4){width:10%}
.trip-table td:nth-child(5){width:30%;max-width:none}
.trip-table td:nth-child(6),.trip-table td:nth-child(7){width:7.5%}
@media(max-width:1250px){
  .vehicle-equipment-group>span small{display:block;margin:0 0 1px}
}
@media(max-width:1100px){
  .trip-book-layout{grid-template-columns:1fr}
}
@media(max-width:850px){
  .map-trip-panel{left:10px;right:10px;width:auto;height:180px;min-height:180px}
}

/* V46 – levá kompaktní kniha jízd a nižší ovládání vozidel */
.management-actions-row{
  min-height:34px;
  gap:7px;
}
.management-actions-row .primary-btn,
.management-actions-row .secondary-button,
.management-actions-row .management-add-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  height:34px;
  min-height:34px;
  margin:0;
  padding:0 11px;
  border-radius:7px;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.management-actions-row .secondary-button{
  border:1px solid #c8d1dc;
  background:var(--surface-soft-2);
  color:#344054;
  cursor:pointer;
}
.management-actions-row .secondary-button:hover{
  border-color:var(--accent-orange);
  background:#fff7ed;
  color:var(--accent-orange-dark);
}
.management-actions-row button>span{
  font-size:15px;
  line-height:1;
}
.vehicle-admin-search{
  position:relative;
  width:260px;
  height:34px;
  margin-right:auto;
}
.vehicle-admin-search-icon{
  position:absolute;
  z-index:1;
  left:10px;
  top:50%;
  transform:translateY(-52%);
  color:#667085;
  font-size:18px;
  line-height:1;
  pointer-events:none;
}
.vehicle-admin-search input{
  width:100%;
  height:34px;
  padding:0 10px 0 32px;
  border:1px solid #c8d1dc;
  border-radius:7px;
  background:var(--surface-soft-2);
  font-size:12px;
  box-shadow:inset 0 1px 2px rgba(16,24,40,.04);
}
.vehicle-equipment-group>span{
  font-size:10px;
}
.vehicle-equipment-group>strong{
  font-size:11px;
}
.vehicle-equipment-group>span small{
  font-size:9px;
}
.map-trip-panel{
  left:306px;
  right:auto;
  width:min(700px,calc(100% - 322px));
}
.map-trip-panel .map-trip-head{
  grid-template-columns:minmax(165px,1fr) auto 26px;
  gap:5px;
  min-height:44px;
  padding:4px 6px 4px 9px;
}
.map-trip-heading strong{
  font-size:12px;
}
.map-trip-panel .trip-period-cards{
  gap:3px;
}
.map-trip-panel .trip-period-card{
  grid-template-columns:minmax(92px,auto) auto;
  grid-template-rows:18px 12px;
  column-gap:4px;
  row-gap:0;
  padding:2px 3px;
}
.map-trip-panel .trip-period-nav{
  grid-column:1;
  grid-row:1;
  grid-template-columns:18px minmax(62px,auto) 18px;
  gap:2px;
}
.map-trip-panel .trip-period-nav button{
  width:18px;
  height:18px;
  border-radius:5px;
  font-size:14px;
}
.map-trip-panel .trip-period-nav strong{
  font-size:9px;
}
.map-trip-panel .trip-period-card>b{
  grid-column:2;
  grid-row:1;
  align-self:center;
  font-size:10px;
}
.map-trip-panel .trip-period-card>span{
  grid-column:1;
  grid-row:2;
  align-self:center;
  font-size:8px!important;
}
.map-trip-panel .trip-period-card .trip-stat-export{
  grid-column:2;
  grid-row:2;
  align-self:center;
  margin:0;
  padding:1px 4px;
  font-size:8px;
}
.map-trip-head>.icon-btn{
  width:26px;
  height:26px;
  padding:0;
  font-size:22px;
}
@media(max-width:1100px){
  .map-trip-panel{
    width:min(660px,calc(100% - 316px));
  }
  .map-trip-panel .map-trip-head{
    overflow-x:auto;
    grid-template-columns:155px minmax(480px,1fr) 26px;
  }
}
@media(max-width:850px){
  .management-actions-row{align-items:stretch}
  .vehicle-admin-search{width:100%}
  .map-trip-panel{left:10px;right:10px;width:auto}
}

/* V47 – čitelnější správa a statistiky knihy jízd v pravém sloupci */
.vehicle-main-row td:nth-child(-n+4){
  font-size:14px;
}
.management-actions-row .gps-register-button,
.management-actions-row .management-add-button{
  border:1px solid #c8d1dc;
  background:var(--surface-soft-2);
  color:#344054;
  box-shadow:none;
}
.management-actions-row .gps-register-button:hover,
.management-actions-row .management-add-button:hover{
  border-color:var(--accent-orange);
  background:#fff7ed;
  color:var(--accent-orange-dark);
}
.compact-user-table th,
.compact-user-table td{
  padding:7px 10px;
}
.compact-user-table th{
  font-size:10px;
  line-height:1.1;
}
.compact-user-table td{
  font-size:12px;
  line-height:1.15;
}
.compact-user-table .badge,
.compact-user-table .table-link{
  font-size:10px;
}
.map-trip-panel{
  width:min(920px,calc(100% - 322px));
  grid-template-rows:38px minmax(0,1fr);
}
.map-trip-panel .map-trip-head{
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto 26px;
  gap:8px;
  min-height:38px;
  padding:4px 6px 4px 9px;
  overflow:hidden;
}
.map-trip-heading strong{
  font-size:13px;
}
.trip-day-browser{
  display:grid;
  grid-template-columns:20px minmax(72px,auto) 20px;
  align-items:center;
  gap:3px;
  padding:2px 4px;
  border:1px solid #ccd6e2;
  border-radius:7px;
  background:#f8fafc;
}
.trip-day-browser button{
  width:20px;
  height:20px;
  padding:0;
  border:0;
  border-radius:5px;
  background:#e8eef5;
  color:#344054;
  font-size:15px;
  line-height:1;
  cursor:pointer;
}
.trip-day-browser button:hover{background:#dce8f6;color:#1769d2}
.trip-day-browser strong{
  min-width:72px;
  text-align:center;
  font-size:10px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.map-trip-content{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 214px;
  overflow:hidden;
}
.map-trip-panel .map-trip-list{
  min-width:0;
  min-height:0;
  border-right:1px solid #e1e7ee;
}
.map-trip-panel .trip-period-cards{
  min-width:0;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:4px;
  padding:5px;
  overflow-y:auto;
  background:#f8fafc;
}
.map-trip-panel .trip-period-card{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(100px,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:5px;
  row-gap:1px;
  align-content:center;
  padding:4px 5px;
  border-radius:7px;
}
.map-trip-panel .trip-period-card .trip-period-nav,
.map-trip-panel .trip-period-card .trip-period-name{
  grid-column:1;
  grid-row:1;
}
.map-trip-panel .trip-period-card .trip-period-name{
  align-self:center;
  font-size:10px;
}
.map-trip-panel .trip-period-card>b{
  grid-column:2;
  grid-row:1;
  align-self:center;
  font-size:10px;
}
.map-trip-panel .trip-period-card>span{
  grid-column:1;
  grid-row:2;
  align-self:center;
  font-size:8px!important;
}
.map-trip-panel .trip-period-card .trip-stat-export{
  grid-column:2;
  grid-row:2;
  align-self:center;
  padding:1px 4px;
  font-size:8px;
}
.map-trip-panel .trip-period-nav{
  grid-template-columns:18px minmax(62px,1fr) 18px;
}
.map-trip-panel .trip-period-nav strong{
  font-size:9px;
}
@media(max-width:1150px){
  .map-trip-panel{width:min(840px,calc(100% - 316px))}
  .map-trip-content{grid-template-columns:minmax(0,1fr) 198px}
}
@media(max-width:850px){
  .map-trip-panel{left:10px;right:10px;width:auto}
  .map-trip-content{grid-template-columns:minmax(600px,1fr) 198px;overflow-x:auto}
}

/* V48 – užší kniha jízd, datum u vozidla a bílé přehledy */
.map-trip-panel{
  width:min(800px,calc(100% - 322px));
}
.map-trip-panel .map-trip-head{
  grid-template-columns:max-content max-content minmax(0,1fr) 26px;
  gap:7px;
}
.map-trip-panel .map-trip-heading{
  grid-column:1;
  max-width:260px;
}
.map-trip-panel .map-trip-heading strong{
  font-size:14px;
}
.map-trip-panel .trip-day-browser{
  grid-column:2;
  background:#fff;
}
.map-trip-panel .trip-day-browser strong{
  font-size:11px;
}
.map-trip-panel .map-trip-head>.icon-btn{
  grid-column:4;
  justify-self:end;
}
.map-trip-panel .map-trip-content{
  grid-template-columns:minmax(0,1fr) 204px;
}
.map-trip-panel .map-trip-list{
  font-size:11px;
}
.map-trip-panel .map-trip-row{
  font-size:11px;
}
.map-trip-panel .trip-period-cards{
  background:#fff;
}
.map-trip-panel .trip-period-card,
.map-trip-panel .trip-period-card:hover,
.map-trip-panel .trip-period-card.active{
  background:#fff;
}
.map-trip-panel .trip-period-card .trip-period-name,
.map-trip-panel .trip-period-card>b{
  font-size:11px;
}
.map-trip-panel .trip-period-card>span{
  font-size:9px!important;
}
.map-trip-panel .trip-period-card .trip-stat-export{
  font-size:9px;
}
.map-trip-panel .trip-period-nav strong{
  font-size:10px;
}
@media(max-width:1150px){
  .map-trip-panel{width:min(740px,calc(100% - 316px))}
  .map-trip-panel .map-trip-content{grid-template-columns:minmax(0,1fr) 194px}
}
@media(max-width:850px){
  .map-trip-panel{left:10px;right:10px;width:auto}
  .map-trip-panel .map-trip-head{grid-template-columns:max-content max-content minmax(16px,1fr) 26px}
  .map-trip-panel .map-trip-content{grid-template-columns:minmax(600px,1fr) 194px;overflow-x:auto}
}

/* V49 – denní listování, více místa pro statistiky a API vozidel */
.vehicle-card-location{
  font-size:10px;
}
.vehicle-equipment{
  grid-template-columns:minmax(340px,.9fr) minmax(520px,1.3fr) auto;
}
.vehicle-api-group{
  justify-content:flex-end;
  gap:6px;
}
.vehicle-api-group a{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 7px;
  border:1px solid #c8d1dc;
  border-radius:6px;
  background:#fff;
  color:#344054;
  font-size:9px;
  font-weight:600;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.vehicle-api-group a:hover{
  border-color:var(--accent-orange);
  color:var(--accent-orange-dark);
}
.map-trip-panel{
  grid-template-columns:minmax(0,1fr) 204px;
  grid-template-rows:38px minmax(0,1fr);
}
.map-trip-panel .map-trip-head{
  grid-column:1;
  grid-row:1;
  border-right:1px solid #e1e7ee;
}
.map-trip-panel .map-trip-content{
  grid-column:1;
  grid-row:2;
  display:block;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.map-trip-panel .map-trip-list{
  width:100%;
  height:100%;
  border-right:1px solid #e1e7ee;
}
.map-trip-panel .trip-period-cards{
  grid-column:2;
  grid-row:1 / 3;
  min-height:0;
  grid-template-rows:repeat(3,minmax(0,1fr));
}
.map-trip-panel .map-trip-head>.icon-btn{
  grid-column:4;
  justify-self:end;
}
.map-trip-row .map-trip-time,
.map-trip-row .map-trip-distance{
  font-weight:400;
}
@media(max-width:1250px){
  .vehicle-equipment{grid-template-columns:1fr}
  .vehicle-api-group{justify-content:flex-start}
}
@media(max-width:1150px){
  .map-trip-panel{grid-template-columns:minmax(0,1fr) 194px}
}
@media(max-width:850px){
  .map-trip-panel{grid-template-columns:minmax(600px,1fr) 194px;overflow-x:auto}
  .map-trip-panel .map-trip-content{overflow:hidden}
}

/* V50 – sjednocení uživatelů, kompaktní karta mapy a API bez řidiče */
.compact-user-table .user-actions .table-link{
  min-height:26px;
  padding:5px 8px;
  border:1px solid #ccd6e2;
  border-radius:7px;
  background:#fff;
  color:#223044;
  font-size:10px;
  font-weight:600;
  line-height:1;
}
.compact-user-table .user-actions .table-link:hover{
  border-color:var(--accent-orange);
  color:var(--accent-orange-dark);
}
.compact-user-table .user-actions .danger-link{color:#b42318!important}
.compact-user-table .user-actions .inline-form{margin-left:6px}
.vehicle-card-name{
  font-size:10px;
  color:#657181;
  line-height:1.2;
}
.vehicle-card-hotline{
  order:3;
  min-width:16px;
  padding:1px 4px;
  font-size:9px;
  text-align:center;
}
.map-trip-panel .trip-day-browser strong{
  font-size:12px;
}

/* V51 – kompaktní uživatelé, čitelnější vozidla a sjednocené akce */
.vehicle-main-row td:nth-child(-n+4){
  font-size:15px;
}
.compact-vehicle-table th{
  font-size:12px;
}
.compact-vehicle-table th:last-child,
.compact-vehicle-table td:last-child{
  width:118px;
  text-align:left;
}
.vehicle-actions>a.table-link:hover{
  border-color:var(--accent-orange);
  background:#fff7ed;
  color:var(--accent-orange-dark);
}
.user-management-actions{
  justify-content:flex-end;
  margin-bottom:12px;
}

/* V52 – čitelnější záhlaví uživatelů a datum knihy jízd */
.compact-user-table th{
  font-size:12px;
}
.map-trip-panel .trip-day-browser strong{
  font-size:13px;
}

/* V53 – seznam registrovaných GPS jednotek a více místa pro SIM */
.management-actions-row .gps-list-button{
  border:1px solid #c8d1dc;
  background:var(--surface-soft-2);
  color:#344054;
  box-shadow:none;
}
.management-actions-row .gps-list-button:hover{
  border-color:var(--accent-orange);
  background:#fff7ed;
  color:var(--accent-orange-dark);
}
.registered-gps-dialog{
  width:min(1040px,calc(100% - 30px));
}
.registered-gps-dialog-content{
  padding:22px;
}
.registered-gps-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}
.registered-gps-table{
  table-layout:fixed;
  border:1px solid #dfe5eb;
  border-radius:8px;
  overflow:hidden;
  border-collapse:separate;
  border-spacing:0;
}
.registered-gps-table th,
.registered-gps-table td{
  height:30px;
  padding:5px 8px;
  border-bottom:1px solid #edf0f3;
  font-size:11px;
  line-height:1.1;
  white-space:nowrap;
}
.registered-gps-table th{
  background:var(--surface-soft-2);
  color:#667085;
  font-size:9px;
}
.equipment-registry-table .equipment-col-id{width:4%}
.equipment-registry-table .equipment-col-spz{width:8%}
.equipment-registry-table .equipment-col-vehicle{width:13%}
.equipment-registry-table .equipment-col-driver{width:14%}
.equipment-registry-table .equipment-col-imei{width:17%}
.equipment-registry-table .equipment-col-phone{width:12%}
.equipment-registry-table .equipment-col-pin{width:6%}
.equipment-registry-table .equipment-col-iccid{width:26%}
.registered-gps-table tbody tr:last-child td{
  border-bottom:0;
}
.registered-gps-table td:last-child{
  font-weight:700;
}
.registered-gps-empty{
  margin:20px 0 0;
  padding:18px;
  border:1px dashed #cfd7df;
  border-radius:8px;
  color:#697586;
  text-align:center;
}
.vehicle-equipment{
  grid-template-columns:minmax(290px,.72fr) minmax(590px,1.48fr) auto;
  column-gap:6px;
}
.vehicle-equipment-group.sim-equipment-group{
  padding-left:5px;
  gap:10px;
}
@media(max-width:1100px){
  .registered-gps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .registered-gps-grid{grid-template-columns:1fr}
}
@media(max-width:1250px){
  .vehicle-equipment{grid-template-columns:1fr}
  .vehicle-equipment-group.sim-equipment-group{padding:8px 0 0}
}
/* Půjčovna v0.24.0 */
.rental-public{margin:0;min-height:100vh;background:#f1f5f9;color:#15263a;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.rental-public-head{height:72px;background:#fff;border-bottom:1px solid #dfe6ee;display:flex;align-items:center;padding:0 max(20px,calc((100vw - 980px)/2));gap:18px}.rental-public-head img{width:148px;height:auto}.rental-public-head div{border-left:1px solid #d6dee7;padding-left:18px;display:flex;flex-direction:column}.rental-public-head strong{font-size:18px;letter-spacing:.08em;color:#11375c}.rental-public-head span{font-size:12px;color:#6c7b8b}.rental-form-wrap{max-width:980px;margin:32px auto;padding:0 18px 60px}.rental-form{display:grid;gap:18px}.rental-title{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:4px}.rental-title h1{font-size:32px;margin:4px 0}.rental-title p{margin:0;color:#647487}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#1970bd}.auto-date{background:#e5edf5;border-radius:10px;padding:12px 16px;min-width:145px}.auto-date span,.auto-date strong{display:block}.auto-date span{font-size:11px;color:#68798a}.auto-date strong{margin-top:2px;font-size:14px}.rental-card{background:#fff;border:1px solid #dfe6ee;border-radius:14px;padding:22px;box-shadow:0 3px 12px rgba(24,48,75,.045)}.rental-card h2{font-size:17px;margin:0 0 16px}.section-hint{margin:-8px 0 16px;color:#6d7b8b;font-size:13px}.event-choice{display:grid;grid-template-columns:1fr 1fr;gap:14px}.event-choice input{position:absolute;opacity:0}.event-choice label>span{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;align-items:center;border:2px solid #dfe6ee;border-radius:12px;padding:15px;cursor:pointer}.event-choice b{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#edf3f8;color:#1b6daf;font-size:21px}.event-choice strong{font-size:15px}.event-choice small{color:#778596}.event-choice input:checked+span{border-color:#1775c5;background:#f4f9fe;box-shadow:0 0 0 3px rgba(23,117,197,.08)}.rental-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rental-grid label,.rental-card>label{font-size:12px;font-weight:700;color:#4b5d70}.rental-grid input,.rental-grid select,.rental-card textarea{display:block;box-sizing:border-box;width:100%;margin-top:6px;border:1px solid #cbd6e1;border-radius:8px;background:#fff;padding:11px 12px;font:inherit;font-size:14px;color:#15263a}.rental-grid input:focus,.rental-grid select:focus,.rental-card textarea:focus{outline:2px solid rgba(22,112,192,.18);border-color:#1670c0}.fuel-label output{float:right;color:#176fbf;font-size:14px}.fuel-label input[type=range]{padding:0;margin-top:16px;accent-color:#1774c4}.fuel-scale{display:flex;justify-content:space-between;margin-top:4px;color:#7e8b99}.fuel-scale i{font-style:normal;font-size:10px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo-tile{position:relative;min-height:132px;border:2px dashed #b8c7d6;border-radius:12px;background-color:#f7fafc;background-size:cover;background-position:center;overflow:hidden;cursor:pointer}.photo-tile input{position:absolute;inset:0;opacity:0;cursor:pointer}.photo-preview{height:100%;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.photo-preview b{font-size:29px}.photo-preview strong{font-size:13px}.photo-preview small{font-size:11px;color:#1972bf}.photo-tile.has-photo{border-style:solid;border-color:#1f8b5c}.photo-tile.has-photo .photo-preview b{opacity:0}.photo-tile.has-photo .photo-preview strong,.photo-tile.has-photo .photo-preview small{color:#fff;text-shadow:0 1px 3px #000}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.checklist span{font-size:13px;color:#506174}.confirm-check{display:flex!important;gap:12px;align-items:flex-start;background:#edf7f2;border:1px solid #b9dfca;border-radius:10px;padding:14px;margin-bottom:17px}.confirm-check input{width:20px;height:20px;accent-color:#16804e}.confirm-check span{display:flex;flex-direction:column}.confirm-check strong{font-size:14px;color:#174f38}.confirm-check small{margin-top:3px;font-weight:400;color:#5e756b}.rental-submit{width:100%;border:0;border-radius:10px;padding:15px;background:#146fbf;color:#fff;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 5px 14px rgba(20,111,191,.22)}.rental-submit:hover{background:#0d5fa7}.privacy-note{text-align:center;color:#758494;font-size:11px;margin:0}.rental-success{margin:70px auto;max-width:530px;text-align:center;background:#fff;border-radius:15px;padding:45px 30px;border:1px solid #dce6e1}.rental-success>div{margin:auto;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#e2f5ea;color:#13814c;font-size:34px}.rental-success h1{margin-bottom:8px}.rental-success p{color:#677787;margin-bottom:28px}.rental-success a{text-decoration:none;display:inline-block}.rental-admin{padding-top:24px}.rental-admin-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.rental-admin-toolbar h1{margin:0;font-size:25px}.rental-admin-toolbar p{margin:2px 0 0;color:#718092}.rental-toolbar-actions{display:flex;gap:9px}.rental-toolbar-actions a{text-decoration:none}.rental-filters{display:flex;gap:9px;margin-bottom:13px;align-items:center}.rental-filters input{min-width:320px}.rental-filters input,.rental-filters select{height:36px;border:1px solid #c8d4df;border-radius:7px;padding:0 11px;background:#fff}.rental-events-panel{padding:0;overflow:hidden}.rental-event{border-bottom:1px solid #e2e8ef}.rental-event:last-child{border-bottom:0}.rental-event-main{min-height:82px;padding:12px 16px;display:grid;grid-template-columns:45px 180px 255px 1fr auto;gap:12px;align-items:center}.rental-event-icon{width:39px;height:39px;border-radius:10px;display:grid;place-items:center;font-size:23px}.rental-event-icon.borrow{background:#e3f4eb;color:#117a47}.rental-event-icon.return{background:#fff0df;color:#b7640b}.rental-event-identity{display:flex;flex-direction:column;gap:2px}.rental-event-identity>div{display:flex;gap:4px}.rental-event-identity .badge{font-size:8px;padding:2px 5px}.rental-event-identity strong{font-size:14px}.rental-event-identity>span{font-size:11px;color:#758394}.rental-car-swap{display:flex;align-items:center;gap:12px}.rental-car-swap div{display:flex;flex-direction:column}.rental-car-swap small,.rental-event-values small{font-size:9px;text-transform:uppercase;color:#82909e}.rental-car-swap strong{font-size:15px}.rental-car-swap>b{color:#92a0ae}.rental-event-values{display:flex;gap:24px}.rental-event-values span{display:flex;flex-direction:column}.rental-event-values strong{font-size:12px;white-space:nowrap}.rental-detail-toggle{border:1px solid #c7d3df;border-radius:7px;background:#fff;padding:7px 10px;color:#285576;cursor:pointer;white-space:nowrap}.rental-event-detail{padding:14px 18px 18px 73px;background:#f6f9fb;border-top:1px solid #e8edf2}.rental-thumbs{display:grid;grid-template-columns:repeat(6,minmax(85px,1fr));gap:9px}.rental-thumbs a{position:relative;height:105px;border-radius:8px;overflow:hidden;background:#dbe3ea;color:#fff}.rental-thumbs img{width:100%;height:100%;object-fit:cover}.rental-thumbs span{position:absolute;inset:auto 0 0;padding:14px 6px 5px;background:linear-gradient(transparent,rgba(0,0,0,.75));font-size:10px}.rental-note{margin-top:12px;font-size:12px}.rental-note p{margin:4px 0;color:#607080}.rental-empty{text-align:center;padding:70px 20px}.rental-empty span{font-size:42px}.rental-empty h2{font-size:17px}.rental-empty p{color:#718092}.badge.orange{background:#fff0df;color:#a45708}
@media(max-width:900px){.rental-event-main{grid-template-columns:40px 1fr auto}.rental-car-swap,.rental-event-values{grid-column:2/4}.rental-detail-toggle{grid-column:3;grid-row:1}.rental-thumbs{grid-template-columns:repeat(3,1fr)}.rental-event-detail{padding-left:18px}.rental-admin-toolbar{align-items:flex-start}.rental-toolbar-actions{flex-direction:column}}
@media(max-width:640px){.rental-public-head{height:62px;padding:0 16px}.rental-public-head img{width:115px}.rental-public-head span{display:none}.rental-form-wrap{margin-top:20px;padding:0 12px 40px}.rental-title{align-items:flex-start}.rental-title h1{font-size:25px}.rental-title p{font-size:13px}.auto-date{min-width:auto;padding:9px 11px}.rental-card{padding:17px}.event-choice,.rental-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-tile,.photo-preview{min-height:115px}.checklist{grid-template-columns:1fr}.rental-filters{flex-wrap:wrap}.rental-filters input{min-width:0;flex:1 1 100%}.rental-admin-toolbar{display:block}.rental-toolbar-actions{margin-top:12px}.rental-event-main{grid-template-columns:38px 1fr}.rental-car-swap,.rental-event-values{grid-column:1/3}.rental-event-values{justify-content:space-between;gap:8px}.rental-detail-toggle{grid-column:1/3;grid-row:auto}.rental-thumbs{grid-template-columns:repeat(2,1fr)}}

/* V0.25 – oranžový protokol Půjčovny, rozšířená fotodokumentace a karta vozidla */
.rental-public{
  --rental-accent:var(--accent-orange,#ef8b18);
  --rental-accent-dark:var(--accent-orange-dark,#d97706);
  background:#f4f5f6;
  color:#18212f;
}
.rental-form-wrap{max-width:1040px;margin:0 auto;padding:34px 20px 64px}
.rental-title{align-items:flex-end;margin:0 0 8px}
.rental-title-main{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.rental-title h1{max-width:730px;margin:0;font-size:31px;line-height:1.12;color:#18212f}
.rental-title p{color:#667085}
.rental-title-side{display:flex;align-items:flex-end;flex:0 0 auto}
.rental-inline-logo{display:block;width:168px;height:auto}
.eyebrow{color:var(--rental-accent)}
.auto-date{min-width:220px;padding:17px 21px;background:#fff1df;border:1px solid #f5c98f;color:#563518;box-shadow:0 4px 14px rgba(217,119,6,.08)}
.auto-date span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.auto-date strong{margin-top:5px;font-size:21px;line-height:1.15}
.rental-card{border-color:#e2e5e9;box-shadow:0 4px 16px rgba(47,36,24,.045)}
.rental-card h2{display:flex;align-items:center;gap:8px}
.rental-card h2::before{content:"";display:block;width:4px;height:20px;border-radius:3px;background:var(--rental-accent)}
.event-choice label>span{border-color:#dfe3e8}
.event-choice b.event-line-icon{border:1px solid #f2bc7b;background:#fff5e8;color:var(--rental-accent-dark);font-size:25px;font-weight:500}
.event-choice input:checked+span{border-color:var(--rental-accent);background:#fff8ef;box-shadow:0 0 0 3px rgba(239,139,24,.11)}
.rental-driver-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rental-grid input,.rental-grid select,.rental-card textarea{border-color:#cfd5dc;color:#18212f}
.rental-grid input:focus,.rental-grid select:focus,.rental-card textarea:focus{outline:3px solid rgba(239,139,24,.14);border-color:var(--rental-accent)}
.fuel-label output{color:var(--rental-accent-dark)}
.fuel-label input[type=range]{accent-color:var(--rental-accent)}
.required-photo-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
.required-photo-grid .photo-tile{grid-column:span 3}
.required-photo-grid .photo-tile:nth-child(n+5){grid-column:span 4}
.photo-tile{border-color:#c8d0d9;background-color:#fafafa}
.photo-tile:hover{border-color:var(--rental-accent);background-color:#fffaf4}
.photo-preview{gap:7px}
.photo-preview small{color:var(--rental-accent-dark);font-weight:700}
.photo-tile.has-photo{border-color:var(--rental-accent)}
.photo-tile.has-photo .photo-guide-icon{opacity:0}
.photo-guide-icon{display:block;width:76px;height:54px;color:var(--rental-accent);filter:drop-shadow(0 2px 0 rgba(217,119,6,.08))}
.photo-guide-flip{transform:scaleX(-1)}
.photo-outline{position:relative;display:block!important;width:58px;height:38px;color:var(--rental-accent);font-size:0!important}
.photo-outline i,.photo-outline::before,.photo-outline::after{position:absolute;display:block;content:"";box-sizing:border-box}
.photo-outline.car-front,.photo-outline.car-rear{left:0;top:7px;height:27px;border:2px solid currentColor;border-radius:10px 10px 6px 6px}
.photo-outline.car-front i,.photo-outline.car-rear i{left:9px;right:9px;top:-8px;height:12px;border:2px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0}
.photo-outline.car-front::before,.photo-outline.car-rear::before{left:6px;bottom:5px;width:8px;height:5px;border:2px solid currentColor;border-radius:3px;box-shadow:34px 0 0 -2px #fff,34px 0 0 0 currentColor}
.photo-outline.car-front::after{left:19px;right:19px;bottom:5px;height:3px;background:currentColor;border-radius:3px}
.photo-outline.car-rear::after{left:18px;right:18px;bottom:6px;height:6px;border:2px solid currentColor;border-radius:3px}
.photo-outline.car-side-left,.photo-outline.car-side-right{top:11px;height:20px;border:2px solid currentColor;border-radius:10px 16px 6px 6px}
.photo-outline.car-side-left i,.photo-outline.car-side-right i{left:15px;top:-10px;width:28px;height:12px;border:2px solid currentColor;border-bottom:0;transform:skewX(-22deg);border-radius:5px 8px 0 0}
.photo-outline.car-side-left::before,.photo-outline.car-side-right::before{left:8px;bottom:-7px;width:12px;height:12px;border:3px solid currentColor;border-radius:50%;background:#fff;box-shadow:30px 0 0 -3px #fff,30px 0 0 0 currentColor}
.photo-outline.car-side-right{transform:scaleX(-1)}
.photo-outline.front-seats i,.photo-outline.front-seats::before{bottom:3px;width:18px;height:23px;border:2px solid currentColor;border-radius:7px 7px 4px 4px}
.photo-outline.front-seats i{left:7px}.photo-outline.front-seats::before{right:7px}
.photo-outline.front-seats::after{left:10px;top:0;width:12px;height:10px;border:2px solid currentColor;border-radius:50%;box-shadow:28px 0 0 -2px #fff,28px 0 0 0 currentColor}
.photo-outline.rear-seats i{left:5px;right:5px;bottom:3px;height:24px;border:2px solid currentColor;border-radius:7px 7px 5px 5px}
.photo-outline.rear-seats::before{left:19px;bottom:4px;width:2px;height:21px;background:currentColor;box-shadow:18px 0 currentColor}
.photo-outline.rear-seats::after{left:8px;top:0;width:12px;height:9px;border:2px solid currentColor;border-radius:50%;box-shadow:15px 0 0 -2px #fff,15px 0 0 0 currentColor,30px 0 0 -2px #fff,30px 0 0 0 currentColor}
.photo-outline.trunk i{left:8px;right:8px;bottom:2px;height:25px;border:2px solid currentColor;border-radius:3px 3px 7px 7px}
.photo-outline.trunk::before{left:10px;right:10px;top:0;height:12px;border:2px solid currentColor;border-bottom:0;transform:rotate(-10deg);transform-origin:left bottom}
.photo-outline.trunk::after{left:27px;bottom:9px;width:5px;height:5px;border:2px solid currentColor;border-radius:50%}
.damage-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}
.damage-photo-grid:empty{display:none}
.damage-plus{font-size:31px!important;color:var(--rental-accent)!important;font-weight:400}
.remove-damage{position:absolute;z-index:3;right:7px;top:7px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(24,33,47,.82);color:#fff;font-size:21px;line-height:1;cursor:pointer}
.add-damage-photo{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rental-accent);border-radius:9px;background:#fff8ef;color:var(--rental-accent-dark);padding:11px 15px;font-weight:800;cursor:pointer}
.add-damage-photo span{font-size:20px;line-height:1}
.checklist{grid-template-columns:1fr;gap:9px}
.checklist span,.checklist strong{font-size:13px;line-height:1.4;color:#445164}
.checklist strong{color:#18212f;font-weight:800}
.return-only-checklist{margin-top:12px;padding:13px 15px;border:1px solid #f2c17e;border-radius:10px;background:#fff8ef}
.confirm-check{background:#fff7ed;border-color:#f1c58d}
.confirm-check input{accent-color:var(--rental-accent)}
.confirm-check strong{color:#683c12}
.confirm-check small{color:#765f4a}
.rental-note-field{margin-top:0!important}
.rental-submit{background:var(--rental-accent);box-shadow:0 6px 16px rgba(217,119,6,.23)}
.rental-submit:hover{background:var(--rental-accent-dark)}
.privacy-note{font-size:12px;line-height:1.5}.privacy-note strong{color:#4d5663}
.rental-success-logo{display:block;max-width:180px;height:auto;margin:0 auto 26px}
.rental-success>div{background:#fff0dd;color:var(--rental-accent-dark)}
.rental-success .primary-btn{background:var(--rental-accent)}
.rental-event-main{grid-template-columns:45px 190px minmax(230px,1fr) 190px auto}
.rental-event-icon.borrow,.rental-event-icon.return{background:#fff1df;color:var(--rental-accent-dark)}
.rental-event-car{display:flex;flex-direction:column;min-width:0}
.rental-event-car small,.rental-event-values small{font-size:9px;text-transform:uppercase;color:#82909e}
.rental-event-car strong{font-size:16px}.rental-event-car span{margin-top:3px;color:#6b7787;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rental-event-actions{display:flex;align-items:center;gap:7px}
.rental-pdf-link{padding:7px 10px}
.rental-detail-toggle{color:var(--accent-orange-dark,#d97706)}
.rental-thumbs{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}
.vehicle-rental-history{display:grid;gap:8px}
.vehicle-rental-record{padding:12px 14px}
.vehicle-rental-record-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.vehicle-rental-record-head .badge{font-size:9px;padding:3px 7px}
.vehicle-rental-record-head>strong{font-size:12px;color:#5d6978}
.vehicle-rental-record dl div{padding:5px 0}.vehicle-rental-record dt,.vehicle-rental-record dd{font-size:12px}.vehicle-rental-record dd{text-align:right;overflow-wrap:anywhere}
.vehicle-rental-record>p{margin:8px 0;padding:8px 9px;border-radius:7px;background:#f6f7f8;color:#536071;font-size:12px;line-height:1.4}
.vehicle-rental-record-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px}.vehicle-rental-record-actions a{font-size:11px;padding:6px 9px;text-decoration:none}
@media(max-width:850px){.required-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.required-photo-grid .photo-tile,.required-photo-grid .photo-tile:nth-child(n+5){grid-column:auto}.damage-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rental-event-main{grid-template-columns:38px 1fr}.rental-event-car,.rental-event-values,.rental-event-actions{grid-column:1/3}}
@media(max-width:640px){
  .rental-form-wrap{padding:20px 12px 42px}
  .rental-title{align-items:flex-start;flex-direction:column;gap:14px}
  .rental-title-side{width:100%}
  .rental-inline-logo{width:128px}
  .rental-title h1{font-size:25px}
  .auto-date{width:100%;min-width:0}
  .rental-driver-grid{grid-template-columns:1fr}
  .required-photo-grid,.damage-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rental-event-actions{flex-wrap:wrap}.rental-event-actions>*{flex:1;text-align:center}
}

/* V0.26 – přepínač všech vozidel na hlavní mapě */
.legend .map-all-toggle{display:inline-flex;align-items:center;gap:6px;margin:-5px 0 -5px auto;padding:6px 9px;border:1px solid #cfd7df;border-radius:8px;background:#fff;color:#4d5968;font-size:11px;font-weight:800;cursor:pointer}
.legend .map-all-toggle i{font-style:normal;font-size:15px;line-height:1;color:#7a8795}
.legend .map-all-toggle:hover{border-color:var(--accent-orange,#ef8b18);color:var(--accent-orange-dark,#d97706)}
.legend .map-all-toggle.active{border-color:var(--accent-orange,#ef8b18);background:#fff3e4;color:var(--accent-orange-dark,#d97706);box-shadow:0 0 0 2px rgba(239,139,24,.10)}
.legend .map-all-toggle.active i{color:var(--accent-orange,#ef8b18)}

/* V0.27 – kompaktní mapa, mobilní protokol a jednořádkový přehled Půjčovny */
.sidebar .legend{
  flex-wrap:nowrap;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}
.sidebar .legend>span{flex:0 0 auto}
.legend .map-all-toggle{
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin:0 0 0 auto;
  padding:1px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#7a8795;
  box-shadow:none;
  line-height:1;
}
.legend .map-all-toggle svg{display:block;width:18px;height:18px;fill:currentColor}
.legend .map-all-toggle:hover{border:0;background:transparent;color:#4d5968}
.legend .map-all-toggle.active{border:0;background:transparent;color:var(--accent-orange,#ef8b18);box-shadow:none}
.legend .map-all-toggle:focus-visible{outline:2px solid var(--accent-orange,#ef8b18);outline-offset:2px}

.return-only-checklist[hidden]{display:none!important}
.photo-tile,.add-damage-photo,.remove-damage{touch-action:manipulation}
.rental-submit:disabled{cursor:wait;opacity:.78}

.rental-admin{max-width:1500px}
.rental-events-panel{overflow-x:auto}
.rental-event{min-width:1240px}
.rental-event-main{
  min-height:68px;
  grid-template-columns:92px 116px 82px minmax(130px,1fr) minmax(185px,1.25fr) 62px 72px 118px auto;
  gap:12px;
  padding:11px 14px;
}
.rental-type-pill,.rental-mail-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  border-radius:999px;
  padding:5px 9px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.035em;
  white-space:nowrap;
}
.rental-type-pill.borrow{background:#e4f5eb;color:#117a47}
.rental-type-pill.return{background:#e7f0ff;color:#185fad}
.rental-event-main time{font-size:12px;color:#647184;white-space:nowrap}
.rental-event-plate{font-size:14px;white-space:nowrap}
.rental-event-driver{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rental-event-email{font-size:12px;color:#657181;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rental-event-metric{display:flex;flex-direction:column;gap:2px}
.rental-event-metric small{font-size:8px;text-transform:uppercase;color:#82909e}
.rental-event-metric strong{font-size:12px;white-space:nowrap}
.rental-mail-state.sent{background:#e4f5eb;color:#117a47}
.rental-mail-state.failed{background:#fff1df;color:#a45708}
.rental-event-actions{justify-content:flex-end;gap:6px;white-space:nowrap}
.rental-event-actions .secondary-button,.rental-event-actions button{min-height:32px;padding:7px 9px;font-size:11px}
.rental-delete-form{display:inline-flex;margin:0}
.rental-delete-button{border:1px solid #e3c2bd;border-radius:7px;background:#fff;color:#a33a2f;cursor:pointer}
.rental-delete-button:hover{background:#fff4f2;border-color:#cd6f64}
.rental-event-detail{padding-left:18px}

@media(max-width:640px){
  .photo-tile,.photo-preview{min-height:124px}
  .photo-preview strong{font-size:12px;text-align:center;padding:0 4px}
  .photo-guide-icon{width:68px;height:48px}
  .add-damage-photo{width:100%;justify-content:center;min-height:48px}
}

/* V0.28 – firemní PDF, kontrola poškození a kratší mobilní protokol */
.legend .map-all-toggle{
  flex-basis:24px;
  width:24px;
  height:20px;
  color:#697586;
}
.legend .map-all-toggle svg{width:24px;height:20px}

.rental-event{min-width:1450px}
.rental-event-main{
  grid-template-columns:92px 116px 82px minmax(130px,1fr) minmax(185px,1.2fr) 62px 72px 188px 122px auto;
}
.rental-damage-state{
  display:inline-flex;
  min-height:25px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 9px;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.025em;
  white-space:nowrap;
}
.rental-damage-state.alert{
  color:#984d06;
  background:#fff0d9;
  box-shadow:inset 0 0 0 1px #f5c274;
}
.rental-damage-state.none{color:#7b8794;background:#f0f3f6}
.rental-mail-state.failed{color:#b42318;background:#feeceb;box-shadow:inset 0 0 0 1px #f6c5c1}
.rental-mail-state.sent{color:#117a47;background:#e4f5eb;box-shadow:inset 0 0 0 1px #bce2cc}
.rental-thumbs a.damage-photo{outline:3px solid #ef8b18;outline-offset:-3px}
.rental-thumbs a.damage-photo span{font-weight:900;background:linear-gradient(transparent,rgba(151,74,0,.92))}

@media(max-width:640px){
  .rental-form-wrap{padding:10px 8px 24px}
  .rental-form{gap:8px}
  .rental-title{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    margin:0;
  }
  .rental-title-main{
    display:grid;
    grid-template-columns:84px 1fr;
    align-items:center;
    gap:9px;
  }
  .rental-inline-logo{width:84px}
  .rental-title h1{font-size:18px;line-height:1.08}
  .rental-title-side{width:100%}
  .auto-date{
    width:100%;
    min-width:0;
    padding:7px 10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .auto-date span{font-size:9px}
  .auto-date strong{margin:0;font-size:15px}
  .rental-card{padding:10px;border-radius:10px}
  .event-choice{gap:7px}
  .event-choice label>span{grid-template-columns:31px 1fr;padding:8px;border-radius:9px}
  .event-choice b.event-line-icon{width:27px;height:27px;font-size:19px}
  .event-choice strong{font-size:12px}
  .event-choice small{font-size:9px}
  .rental-driver-grid{grid-template-columns:1fr 1fr;gap:8px}
  .rental-driver-grid>label:nth-child(1),
  .rental-driver-grid>label:nth-child(2){grid-column:1/-1}
  .rental-grid label{font-size:10.5px}
  .rental-grid input,.rental-card textarea{margin-top:3px;padding:8px 9px;font-size:13px}
  .fuel-label output{font-size:11px}
  .fuel-label input[type=range]{margin-top:11px}
  .fuel-scale i{font-size:7px}
  .required-photo-grid,.damage-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .required-photo-grid .photo-tile:last-child{grid-column:2}
  .photo-tile,.photo-preview{min-height:88px}
  .photo-preview{gap:2px}
  .photo-guide-icon{width:53px;height:38px}
  .photo-preview strong{font-size:10px;line-height:1.05}
  .photo-preview small{font-size:8px}
  .add-damage-photo{min-height:40px;padding:8px 12px;font-size:12px}
  .checklist{gap:5px;margin-bottom:9px}
  .checklist span,.checklist strong{font-size:11px;line-height:1.22}
  .return-only-checklist{margin-top:7px;padding:8px 9px}
  .confirm-check{gap:8px;padding:9px;margin-bottom:8px}
  .confirm-check input{width:18px;height:18px;margin:0}
  .confirm-check strong{font-size:11.5px;line-height:1.2}
  .rental-note-field{height:58px;min-height:58px;resize:vertical}
  .rental-submit{min-height:46px;padding:11px;font-size:13px}
  .privacy-note{font-size:9.5px;line-height:1.3}
}

/* V0.29 – zjednodušené záhlaví a osm povinných fotografií */
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.auto-date{
  min-width:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:right;
}
.auto-date span,
.auto-date strong{
  margin:0;
  color:#68798a;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.06em;
}
.rental-driver-grid label:not(.fuel-label) input{margin-top:0}
.required-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.required-photo-grid .photo-tile,
.required-photo-grid .photo-tile:nth-child(n+5){grid-column:auto}

@media(max-width:850px){
  .required-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:640px){
  .rental-title{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
  }
  .rental-title-main{
    grid-column:1/-1;
  }
  .rental-title-side{
    grid-column:2;
    width:auto;
    justify-content:flex-end;
  }
  .auto-date{
    width:auto;
    padding:0;
    display:grid;
    justify-items:end;
  }
  .auto-date span,
  .auto-date strong{font-size:10px}
  .required-photo-grid,
  .damage-photo-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
  }
  .required-photo-grid .photo-tile:last-child{grid-column:auto}
  .photo-tile,
  .photo-preview{min-height:82px}
  .photo-guide-icon{width:45px;height:32px}
  .photo-preview strong{font-size:9px}
  .photo-preview small{font-size:7.5px}
}

/* V0.30 – filtry mapy a čistší záhlaví protokolu */
.legend .map-filter-toggle{
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#697586;
  font:800 14px/20px Inter,system-ui,sans-serif;
  text-align:center;
  cursor:pointer;
}
.legend .map-filter-toggle svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.legend .map-filter-toggle:hover{color:#4d5968}
.legend .map-filter-toggle.active{color:var(--accent-orange,#ef8b18)}
.legend .map-filter-toggle:focus-visible{outline:2px solid var(--accent-orange,#ef8b18);outline-offset:2px}
.replacement-vehicle-label{display:block;margin-top:3px;color:var(--accent-orange-dark,#d97706);font-size:10px;font-weight:800}

.rental-title{align-items:center;margin:0 0 8px}
.rental-title-main{display:flex;align-items:center;min-height:42px;gap:0}
.rental-inline-logo{width:190px}
.rental-title-side{align-items:center}
.auto-date strong{display:block;color:#111827;font-size:12px;font-weight:700;line-height:1.35;letter-spacing:.06em}
.fuel-label input[type=range]{margin-top:6px}

/* V0.31 – sjednocené filtry mapy a stručnější potvrzení protokolu */
.sidebar .legend{gap:9px}
.legend .map-all-toggle,
.legend .map-filter-toggle{
  flex:0 0 22px;
  width:22px;
  height:22px;
  margin:0;
  padding:1px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#697586;
  line-height:20px;
}
.legend .map-all-toggle{margin-left:auto}
.legend .map-all-toggle svg,
.legend .map-filter-toggle svg{
  display:block;
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.legend .map-hotline-toggle{font:800 14px/20px Inter,system-ui,sans-serif}
.legend .map-all-toggle:hover,
.legend .map-filter-toggle:hover{color:#4d5968}
.legend .map-all-toggle.active,
.legend .map-filter-toggle.active{color:var(--accent-orange,#ef8b18);background:transparent;box-shadow:none}
.vehicle-flag-form{display:inline-flex;margin:0}
.compact-vehicle-table .vehicle-flag-form .toggle-switch{margin:0}
.auto-date strong{font-size:16px}
.return-only-checklist{margin-top:10px;padding:0;border:0;border-radius:0;background:transparent}
.return-only-checklist strong{display:block}

@media(max-width:640px){
  .auto-date strong{font-size:14px}
}

@media(max-width:640px){
  .rental-title{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
  .rental-title-main{display:flex;grid-column:auto;min-height:36px}
  .rental-inline-logo{width:152px}
  .rental-title-side{display:flex;grid-column:auto;width:auto}
  .auto-date{display:block;width:auto;padding:0}
  .auto-date strong{font-size:14px;white-space:nowrap}
  .fuel-label input[type=range]{margin-top:5px}
}

/* V0.32 – přehledná mapa na telefonu a finální text protokolu */
.popup-status{display:block;margin-top:5px;font-size:12px;font-weight:800}
.popup-status.red{color:#c62828}
.popup-status.green{color:#15803d}
.popup-status.orange{color:#b45309}
.auto-date strong{font-size:20px}
@media(max-width:640px){.auto-date strong{font-size:18px}}

/* V0.34 – barva ikony podle zařazení vozidla */
.legend .dot.hotline{background:#c85a05}
.legend .dot.replacement{background:#2563eb}
.legend .dot.regular{background:#151515}

/* V0.35 – kompaktní legenda mapy a stav napětí v kartě vozidla */
.sidebar .legend{gap:5px;align-items:center}
.sidebar .legend>span{gap:3px}
.legend .map-all-toggle{margin-left:2px}
.legend .map-all-toggle,
.legend .map-filter-toggle{flex-basis:20px;width:20px;height:20px;padding:0;line-height:20px}
.legend .map-all-toggle svg,
.legend .map-filter-toggle svg{width:19px;height:19px}
.legend .map-hotline-toggle{font-size:13px;line-height:20px}
.detail-section dd .gps-state{vertical-align:middle}

/* V0.36 – chybějící napětí je problémový stav, ne platná zelená hodnota */
.battery-missing{
  background:#fff0ef !important;
  color:#b42318 !important;
}
.detail-section dd .battery-state{vertical-align:middle}

/* V0.37 – import flotily, kompaktní seznam mapy a stálá mapová místa */
.equipment-detail-toggle{border:0;background:transparent;cursor:pointer;font:inherit;padding:0;color:#0b73d9}
.vehicle-equipment-row[hidden]{display:none!important}
.vehicle-card.detailed-card{border:0!important;border-left:4px solid #151515!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:6px 8px!important;margin-bottom:1px!important;min-height:0}
.vehicle-card{border-left:4px solid #151515}
.vehicle-card.vehicle-type-hotline{border-left-color:#c85a05}
.vehicle-card.vehicle-type-replacement{border-left-color:#2563eb}
.vehicle-card .vehicle-card-top{gap:8px}
.vehicle-card .vehicle-card-driver{padding-left:0}
.vehicle-card .vehicle-card-bottom{margin-top:3px}
.vehicle-card.detailed-card.gps-card-problem{border:0!important;border-left:4px solid #151515!important;background:#fff7f6!important}.vehicle-card.detailed-card.vehicle-type-hotline.gps-card-problem{border-left-color:#c85a05!important}.vehicle-card.detailed-card.vehicle-type-replacement.gps-card-problem{border-left-color:#2563eb!important}
.legend .map-all-toggle,.legend .map-filter-toggle{overflow:hidden}
.legend .map-all-toggle img,.legend .map-filter-toggle img{display:block;width:20px;height:20px;object-fit:contain}
.legend .map-all-toggle.active,.legend .map-filter-toggle.active{filter:drop-shadow(0 0 3px rgba(239,139,24,.8))}
.map-place-icon{background:transparent!important;border:0!important}
.map-place-icon img{display:block;width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.map-place-icon.branch img{width:42px;height:30px;object-fit:contain;background:#fff;border:2px solid #fff;border-radius:6px;padding:2px;box-sizing:border-box}
.map-place-popup{display:grid;gap:4px;min-width:190px}.map-place-popup strong{font-size:14px;color:#172033}.map-place-popup span{font-size:12px;line-height:1.35;color:#4e5d70}.map-place-popup p{margin:3px 0 0;font-size:12px;line-height:1.4;color:#5d6c7c}
.map-places-admin{max-width:1380px}.map-places-table{width:100%;border-collapse:collapse}.map-places-table th,.map-places-table td{padding:11px 12px;border-bottom:1px solid #e5eaf0;text-align:left;font-size:13px}.map-places-table th{font-size:10px;color:#667085;text-transform:uppercase;letter-spacing:.06em}.map-place-type{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.04em}.map-place-type.servis{background:#fff1df;color:#a45708}.map-place-type.pobocka{background:#e6f1ff;color:#175da7}.map-place-dialog{width:min(760px,calc(100% - 28px));border:0;border-radius:13px;padding:20px;box-shadow:0 18px 50px rgba(15,23,42,.28)}.map-place-dialog::backdrop{background:rgba(15,23,42,.42)}.map-place-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.map-place-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#4b5c6d}.map-place-form input,.map-place-form select,.map-place-form textarea{box-sizing:border-box;width:100%;border:1px solid #cbd6e1;border-radius:8px;padding:9px 10px;font:inherit}.map-place-form textarea{resize:vertical}.map-place-form .map-place-wide{grid-column:1/-1}.map-place-form .map-place-active{display:flex;align-items:center;gap:7px}.map-place-form .map-place-active input{width:auto}.rental-replacement-note{margin:0 0 10px;color:#667085;font-size:12px;line-height:1.35}
@media(max-width:760px){.map-places-table{min-width:760px}.map-place-form .form-grid{grid-template-columns:1fr}.map-place-form .map-place-wide{grid-column:auto}.sidebar .legend .map-all-toggle img,.sidebar .legend .map-filter-toggle img{width:18px;height:18px}}

/* V0.38 – kompaktní textové filtry mapy a doladění protokolu */
.map-type-filters{display:grid!important;grid-template-columns:repeat(4,1fr);gap:5px!important;margin:10px 0!important}.map-type-filters button{width:auto!important;height:30px!important;line-height:28px!important;border:1px solid #d7dee6!important;border-radius:8px!important;background:#f4f6f8!important;font-size:11px!important;font-weight:800!important;color:#52606d!important}.map-type-filters .map-all-toggle.active{background:#e9edf1!important;color:#151515!important;filter:none!important}.map-type-filters .map-hotline-toggle{border-color:#c85a05!important;color:#a74c05!important}.map-type-filters .map-replacement-toggle{border-color:#2563eb!important;color:#1d55c8!important}.map-type-filters .map-regular-toggle{border-color:#151515!important;color:#151515!important}.map-type-filters button.active{background:#fff!important;box-shadow:inset 0 0 0 1px currentColor!important;filter:none!important}.vehicle-card.detailed-card{padding:4px 7px!important;margin-bottom:0!important}.vehicle-card .vehicle-card-top{font-size:12px}.vehicle-card .vehicle-card-bottom{font-size:10px;margin-top:1px}.rental-title,.event-choice{display:flex!important;flex-direction:row!important}.event-choice{gap:7px}.event-choice label{flex:1}.rental-title{justify-content:space-between}.rental-card{background:#f6f7f8}.rental-replacement-note{display:inline;margin:0;color:#4b5b6b}.checklist{display:inline}.rental-event-main{grid-template-columns:auto auto auto minmax(90px,1fr) minmax(120px,1fr) auto auto auto auto auto!important;gap:8px!important}.rental-event-actions{display:flex!important}.detail-section h2{display:flex;align-items:center;justify-content:space-between}.map-places-table{min-width:1080px}

/* V0.39 – sjednocená mapa, satelity a stabilní dialog úprav */
.popup,.popup b,.popup span,.popup small{text-align:center}
.map-type-filters button{font-weight:500!important}
.map-type-filters .map-hotline-toggle{border-color:#ef8b18!important;color:#d97706!important}
.vehicle-card.detailed-card{background:var(--surface-soft)!important;padding:3px 7px!important;margin-bottom:0!important;min-height:0!important}
.vehicle-card.detailed-card.gps-card-problem{background:var(--surface-soft)!important}
.vehicle-card .vehicle-card-top{font-size:11px;text-align:center;justify-content:center}
.vehicle-card .vehicle-card-bottom{font-size:9px;text-align:center;justify-content:center}
.vehicle-card .vehicle-card-top,.vehicle-card .vehicle-card-bottom{line-height:1.15}
.compact-vehicle-table .satellites-cell{font-weight:700;text-align:center}
.compact-vehicle-table .equipment-detail-toggle{display:inline-flex;align-items:center;border:1px solid #ccd6e2;border-radius:8px;background:var(--surface-soft);color:#334155;font-size:inherit;font-weight:inherit;padding:8px 11px;margin:0;vertical-align:middle}
.compact-vehicle-table .equipment-detail-toggle:hover{background:var(--surface-soft-2);border-color:#aebdca}
.rental-event{min-width:0!important}
.rental-event-main{grid-template-columns:76px 104px 82px minmax(105px,1fr) minmax(150px,1.15fr) 54px 66px 105px 102px auto!important;gap:6px!important;min-height:62px!important;padding:9px 11px!important}
.rental-event-main>*{min-width:0}
.rental-event-actions{flex-wrap:nowrap!important;gap:5px!important}
.rental-event-actions .secondary-button,.rental-event-actions button{padding:6px 8px!important;font-size:10px!important}
.rental-grid select{appearance:auto;background:#fff;border:1px solid #cbd6e1;border-radius:8px;padding:11px 12px;min-height:43px}
.rental-grid select:focus{outline:2px solid rgba(22,112,192,.18);border-color:#1670c0}

/* V0.40 – opravy mapy, míst, akcí vozidel a kompaktní Půjčovny */
.map-type-filters{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
}
.map-type-filters button{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:0 8px!important;
  font-weight:500!important;
  text-align:center!important;
}
.map-type-filters .map-all-toggle{
  margin:0!important;
}
.map-type-filters .map-all-toggle.active,
.map-type-filters button.active{
  background:#fff!important;
  box-shadow:inset 0 0 0 1px currentColor!important;
}
.map-type-filters .map-hotline-toggle{
  border-color:#ef8b18!important;
  color:#d97706!important;
}

/* Levý seznam má kopírovat uspořádání karty vozidla: vlevo řidič/adresa,
   vpravo SPZ/model. */
.vehicle-card.detailed-card{
  background:#f4f6f8!important;
  padding:5px 8px!important;
  text-align:left!important;
}
.vehicle-card .vehicle-card-top,
.vehicle-card .vehicle-card-bottom{
  justify-content:space-between!important;
  text-align:left!important;
}
.vehicle-card .vehicle-card-top{
  font-size:11px!important;
}
.vehicle-card .vehicle-card-bottom{
  font-size:9px!important;
}
.vehicle-card .vehicle-card-driver,
.vehicle-card .vehicle-card-location{
  text-align:left!important;
}
.vehicle-card .vehicle-card-plate,
.vehicle-card .vehicle-card-name{
  margin-left:auto;
  text-align:right!important;
}
.vehicle-card .vehicle-card-location{
  max-width:62%;
}
.vehicle-card.detailed-card.vehicle-type-hotline{
  border-left-color:#ef8b18!important;
}
.vehicle-card.detailed-card.vehicle-type-no-position,
.vehicle-card.detailed-card.vehicle-type-no-position.gps-card-problem{
  border-left-color:#dc3545!important;
}

/* V0.68 – svislý pruh v levém seznamu Mapy: GPS, Hotline, náhradní, ostatní. */
.vehicle-card.detailed-card.vehicle-type-gps-problem,
.vehicle-card.detailed-card.vehicle-type-gps-problem.gps-card-problem{
  border-left-color:#dc3545!important;
}
.vehicle-card.detailed-card.vehicle-type-hotline{
  border-left-color:#ef8b18!important;
}
.vehicle-card.detailed-card.vehicle-type-replacement{
  border-left-color:#2563eb!important;
}
.vehicle-card.detailed-card.vehicle-type-regular{
  border-left-color:#151515!important;
}

/* Vlastní značky Míst: servis jako čistá ikona v kruhu, pobočka jen CC. */
.map-place-icon{background:transparent!important;border:0!important}
.map-place-service-badge,
.map-place-branch-badge{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  overflow:hidden;
  border:2px solid #fff;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 8px rgba(15,23,42,.35);
}
.map-place-icon.service .map-place-service-badge img{
  width:34px;
  height:34px;
  object-fit:contain;
}
.map-place-branch-badge{
  border-radius:10px;
  background:#fff;
}
.map-place-icon.branch .map-place-branch-badge img{
  width:94px;
  max-width:none;
  height:auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  transform:none;
}
.map-place-dialog[open]{
  position:fixed;
  inset:0;
  margin:auto;
  max-height:calc(100vh - 32px);
  overflow:auto;
}

/* Detail používá stejnou bílou plochu, okraj i přechod jako Upravit. */
.compact-vehicle-table .equipment-detail-toggle{
  border:1px solid #ccd6e2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#223044!important;
  font-weight:600!important;
  padding:8px 11px!important;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease!important;
}
.compact-vehicle-table .equipment-detail-toggle:hover{
  border-color:var(--accent-orange,#ef8b18)!important;
  background:#fff7ed!important;
  color:var(--accent-orange-dark,#d97706)!important;
}
.compact-vehicle-table .vehicle-actions{
  display:flex;
  align-items:center;
  gap:9px;
}
.compact-vehicle-table .vehicle-actions .table-link,
.compact-vehicle-table .vehicle-actions .inline-form{
  margin:0!important;
}

/* V0.41 – kompaktní správa vozidel, přesné mapové značky a sladěný protokol */
.map-type-filters .map-all-toggle.active,
.map-type-filters button.active{box-shadow:inset 0 0 0 1px currentColor!important;border-width:1px!important}
.vehicle-admin-table.compact-vehicle-table{min-width:900px!important}
.compact-vehicle-table th,.compact-vehicle-table td{padding-left:7px!important;padding-right:7px!important}
.compact-vehicle-table th:nth-child(5),.compact-vehicle-table td:nth-child(5){width:54px;white-space:nowrap}
.compact-vehicle-table th:nth-child(7),.compact-vehicle-table td:nth-child(7){width:48px;white-space:nowrap;text-align:center}
.compact-vehicle-table th:nth-child(8),.compact-vehicle-table td:nth-child(8){width:62px;white-space:nowrap}
.compact-vehicle-table th:nth-child(9),.compact-vehicle-table td:nth-child(9),.compact-vehicle-table th:nth-child(10),.compact-vehicle-table td:nth-child(10),.compact-vehicle-table th:nth-child(11),.compact-vehicle-table td:nth-child(11){width:46px;text-align:center}
.compact-vehicle-table .hotline-switches{min-width:0!important;align-items:center}

/* V0.42 – stejný jemný rámeček filtrů, menší Místa a hustší tabulky. */
.map-type-filters .map-all-toggle.active,
.map-type-filters button.active{
  border-width:1px!important;
  box-shadow:none!important;
}

/* Značky Míst byly při oddálení příliš dominantní: všechny mají poloviční stopu. */
.map-place-service-badge,
.map-place-branch-badge,
.map-place-icon.branch .map-place-branch-badge{
  width:24px!important;
  height:24px!important;
  border-width:1px!important;
}
.map-place-icon.service .map-place-service-badge img{
  width:18px!important;
  height:18px!important;
}
.map-place-icon.branch .map-place-branch-badge img{
  width:22px!important;
  height:22px!important;
}

/* Tabulka Vozidla – šířku si rozdělí podle pevně daných, skutečně úzkých
   pomocných sloupců. Důležité údaje Řidič / GPS komunikace zůstávají široké. */
.vehicle-admin-table.compact-vehicle-table{
  min-width:1085px!important;
  table-layout:fixed;
}
.compact-vehicle-table th,
.compact-vehicle-table td{
  padding-left:5px!important;
  padding-right:5px!important;
}
.compact-vehicle-table th:nth-child(1),.compact-vehicle-table td:nth-child(1){width:36px!important}
.compact-vehicle-table th:nth-child(2),.compact-vehicle-table td:nth-child(2){width:86px!important}
.compact-vehicle-table th:nth-child(3),.compact-vehicle-table td:nth-child(3){width:116px!important}
.compact-vehicle-table th:nth-child(4),.compact-vehicle-table td:nth-child(4){width:154px!important}
.compact-vehicle-table th:nth-child(5),.compact-vehicle-table td:nth-child(5){width:54px!important}
.compact-vehicle-table th:nth-child(6),.compact-vehicle-table td:nth-child(6){width:146px!important}
.compact-vehicle-table th:nth-child(7),.compact-vehicle-table td:nth-child(7){width:48px!important}
.compact-vehicle-table th:nth-child(8),.compact-vehicle-table td:nth-child(8){width:62px!important}
.compact-vehicle-table th:nth-child(9),.compact-vehicle-table td:nth-child(9){width:54px!important}
.compact-vehicle-table th:nth-child(10),.compact-vehicle-table td:nth-child(10){width:54px!important}
.compact-vehicle-table th:nth-child(11),.compact-vehicle-table td:nth-child(11){width:60px!important}
.compact-vehicle-table th:nth-child(12),.compact-vehicle-table td:nth-child(12){width:215px!important}
.compact-vehicle-table .vehicle-actions{gap:7px!important}

/* V přehledu Půjčovny je e-mail pomocný údaj – drží se úzký a s elipsou. */
.rental-event-main{
  grid-template-columns:70px 98px 76px minmax(90px,.9fr) minmax(100px,.8fr) 48px 56px 80px minmax(118px,max-content) minmax(128px,max-content) minmax(112px,max-content)!important;
}
.rental-event-email{max-width:105px!important}

/* Prázdná volba vozidla má stejný vzhled jako zástupný text pro jméno řidiče. */
.rental-driver-grid input::placeholder,
.rental-driver-grid select:required:invalid{
  color:#697586!important;
  font-size:14px!important;
  font-weight:400!important;
  opacity:1;
}
.rental-driver-grid select option{color:#15263a;font-weight:400}
.rental-event-main{grid-template-columns:70px 98px 76px minmax(92px,.9fr) minmax(105px,1fr) 48px 56px 78px minmax(105px,max-content) minmax(118px,max-content) minmax(102px,max-content)!important;gap:5px!important}
.rental-event-email{max-width:150px!important}
.rental-driver-grid select,.rental-driver-grid input{font-size:14px!important;color:#15263a!important}
.rental-driver-grid select:invalid{color:#15263a!important}
.map-place-icon.service .map-place-service-badge img{width:36px!important;height:36px!important}
.map-place-icon.branch .map-place-branch-badge{width:46px!important;height:46px!important;border-radius:50%!important}
.map-place-icon.branch .map-place-branch-badge img{width:42px!important;height:42px!important;object-fit:contain!important}

/* V0.42 – finální priorita: tento blok je záměrně až za kompatibilními
   pravidly předchozích verzí. */
.map-type-filters .map-all-toggle.active,
.map-type-filters button.active{
  border-width:1px!important;
  box-shadow:none!important;
}
.map-place-service-badge,
.map-place-branch-badge,
.map-place-icon.branch .map-place-branch-badge{
  width:24px!important;
  height:24px!important;
  border-width:1px!important;
}
.map-place-icon.service .map-place-service-badge img{width:18px!important;height:18px!important}
.map-place-icon.branch .map-place-branch-badge img{width:22px!important;height:22px!important;object-fit:contain!important}

.vehicle-admin-table.compact-vehicle-table{min-width:1085px!important;table-layout:fixed}
.compact-vehicle-table th,.compact-vehicle-table td{padding-left:5px!important;padding-right:5px!important}
.compact-vehicle-table th:nth-child(1),.compact-vehicle-table td:nth-child(1){width:36px!important}
.compact-vehicle-table th:nth-child(2),.compact-vehicle-table td:nth-child(2){width:86px!important}
.compact-vehicle-table th:nth-child(3),.compact-vehicle-table td:nth-child(3){width:116px!important}
.compact-vehicle-table th:nth-child(4),.compact-vehicle-table td:nth-child(4){width:154px!important}
.compact-vehicle-table th:nth-child(5),.compact-vehicle-table td:nth-child(5){width:54px!important}
.compact-vehicle-table th:nth-child(6),.compact-vehicle-table td:nth-child(6){width:146px!important}
.compact-vehicle-table th:nth-child(7),.compact-vehicle-table td:nth-child(7){width:48px!important}
.compact-vehicle-table th:nth-child(8),.compact-vehicle-table td:nth-child(8){width:62px!important}
.compact-vehicle-table th:nth-child(9),.compact-vehicle-table td:nth-child(9){width:54px!important}
.compact-vehicle-table th:nth-child(10),.compact-vehicle-table td:nth-child(10){width:54px!important}
.compact-vehicle-table th:nth-child(11),.compact-vehicle-table td:nth-child(11){width:60px!important}
.compact-vehicle-table th:nth-child(12),.compact-vehicle-table td:nth-child(12){width:215px!important}
.compact-vehicle-table .vehicle-actions{gap:7px!important}

.rental-event-main{grid-template-columns:70px 98px 76px minmax(90px,.9fr) minmax(100px,.8fr) 48px 56px 80px minmax(118px,max-content) minmax(128px,max-content) minmax(112px,max-content)!important}
.rental-event-email{max-width:105px!important}
.rental-driver-grid input::placeholder,
.rental-driver-grid select:required:invalid{color:#697586!important;font-size:14px!important;font-weight:400!important;opacity:1}
.rental-driver-grid select option{color:#15263a;font-weight:400}

/* V0.42 – finální priorita: tento blok je záměrně až za kompatibilními
   pravidly předchozích verzí. */
.map-type-filters .map-all-toggle.active,
.map-type-filters button.active{
  border-width:1px!important;
  box-shadow:none!important;
}
.map-place-service-badge,
.map-place-branch-badge,
.map-place-icon.branch .map-place-branch-badge{
  width:24px!important;
  height:24px!important;
  border-width:1px!important;
}
.map-place-icon.service .map-place-service-badge img{width:18px!important;height:18px!important}
.map-place-icon.branch .map-place-branch-badge img{width:22px!important;height:22px!important;object-fit:contain!important}

.vehicle-admin-table.compact-vehicle-table{min-width:1085px!important;table-layout:fixed}
.compact-vehicle-table th,.compact-vehicle-table td{padding-left:5px!important;padding-right:5px!important}
.compact-vehicle-table th:nth-child(1),.compact-vehicle-table td:nth-child(1){width:36px!important}
.compact-vehicle-table th:nth-child(2),.compact-vehicle-table td:nth-child(2){width:86px!important}
.compact-vehicle-table th:nth-child(3),.compact-vehicle-table td:nth-child(3){width:116px!important}
.compact-vehicle-table th:nth-child(4),.compact-vehicle-table td:nth-child(4){width:154px!important}
.compact-vehicle-table th:nth-child(5),.compact-vehicle-table td:nth-child(5){width:54px!important}
.compact-vehicle-table th:nth-child(6),.compact-vehicle-table td:nth-child(6){width:146px!important}
.compact-vehicle-table th:nth-child(7),.compact-vehicle-table td:nth-child(7){width:48px!important}
.compact-vehicle-table th:nth-child(8),.compact-vehicle-table td:nth-child(8){width:62px!important}
.compact-vehicle-table th:nth-child(9),.compact-vehicle-table td:nth-child(9){width:54px!important}
.compact-vehicle-table th:nth-child(10),.compact-vehicle-table td:nth-child(10){width:54px!important}
.compact-vehicle-table th:nth-child(11),.compact-vehicle-table td:nth-child(11){width:60px!important}
.compact-vehicle-table th:nth-child(12),.compact-vehicle-table td:nth-child(12){width:215px!important}
.compact-vehicle-table .vehicle-actions{gap:7px!important}

.rental-event-main{grid-template-columns:70px 98px 76px minmax(90px,.9fr) minmax(100px,.8fr) 48px 56px 80px minmax(118px,max-content) minmax(128px,max-content) minmax(112px,max-content)!important}
.rental-event-email{max-width:105px!important}
.rental-driver-grid input::placeholder,
.rental-driver-grid select:required:invalid{color:#697586!important;font-size:14px!important;font-weight:400!important;opacity:1}
.rental-driver-grid select option{color:#15263a;font-weight:400}

/* Jeden řádek = jedenáct položek včetně Akcí. */
.rental-event-main{
  grid-template-columns:76px 104px 82px minmax(92px,1fr) minmax(125px,1.1fr) 48px 58px 82px minmax(118px,max-content) minmax(128px,max-content) minmax(112px,max-content)!important;
  gap:6px!important;
  min-height:62px!important;
  padding:9px 11px!important;
}
.rental-event-main>*{min-width:0}
.rental-event-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end;
  gap:5px!important;
  white-space:nowrap;
}
.rental-event-actions .secondary-button,
.rental-event-actions button{
  padding:6px 8px!important;
  font-size:10px!important;
}

/* Výběr náhradního vozu má stejný vzhled jako okolní vstupní pole. */
.rental-grid select{
  appearance:none!important;
  min-height:43px;
  padding:11px 36px 11px 12px!important;
  border:1px solid #cfd5dc!important;
  border-radius:8px!important;
  background-color:#fff!important;
  background-image:linear-gradient(45deg,transparent 50%,#697586 50%),linear-gradient(135deg,#697586 50%,transparent 50%)!important;
  background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px!important;
  background-size:5px 5px,5px 5px!important;
  background-repeat:no-repeat!important;
  box-shadow:none!important;
}

/* V0.42 – finální priorita nad historickými pravidly. */
.map-type-filters .map-all-toggle.active,.map-type-filters button.active{border-width:1px!important;box-shadow:none!important}
.map-place-service-badge,.map-place-branch-badge,.map-place-icon.branch .map-place-branch-badge{width:24px!important;height:24px!important;border-width:1px!important}
.map-place-icon.service .map-place-service-badge img{width:18px!important;height:18px!important}
.map-place-icon.branch .map-place-branch-badge img{width:22px!important;height:22px!important;object-fit:contain!important}
.vehicle-admin-table.compact-vehicle-table{min-width:1085px!important;table-layout:fixed}
.compact-vehicle-table th,.compact-vehicle-table td{padding-left:5px!important;padding-right:5px!important}
.compact-vehicle-table th:nth-child(1),.compact-vehicle-table td:nth-child(1){width:36px!important}
.compact-vehicle-table th:nth-child(2),.compact-vehicle-table td:nth-child(2){width:86px!important}
.compact-vehicle-table th:nth-child(3),.compact-vehicle-table td:nth-child(3){width:116px!important}
.compact-vehicle-table th:nth-child(4),.compact-vehicle-table td:nth-child(4){width:154px!important}
.compact-vehicle-table th:nth-child(5),.compact-vehicle-table td:nth-child(5){width:54px!important;white-space:nowrap}
.compact-vehicle-table th:nth-child(6),.compact-vehicle-table td:nth-child(6){width:146px!important}
.compact-vehicle-table th:nth-child(7),.compact-vehicle-table td:nth-child(7){width:48px!important;white-space:nowrap;text-align:center}
.compact-vehicle-table th:nth-child(8),.compact-vehicle-table td:nth-child(8){width:62px!important;white-space:nowrap}
.compact-vehicle-table th:nth-child(9),.compact-vehicle-table td:nth-child(9){width:54px!important;text-align:center}
.compact-vehicle-table th:nth-child(10),.compact-vehicle-table td:nth-child(10){width:54px!important;text-align:center}
.compact-vehicle-table th:nth-child(11),.compact-vehicle-table td:nth-child(11){width:60px!important;text-align:center}
.compact-vehicle-table th:nth-child(12),.compact-vehicle-table td:nth-child(12){width:215px!important}
.compact-vehicle-table .hotline-switches{min-width:0!important;align-items:center}
.compact-vehicle-table .vehicle-actions{gap:7px!important}
.rental-event-main{grid-template-columns:70px 98px 76px minmax(90px,.9fr) minmax(100px,.8fr) 48px 56px 80px minmax(118px,max-content) minmax(128px,max-content) minmax(112px,max-content)!important;gap:5px!important}
.rental-event-email{max-width:105px!important}
.rental-driver-grid select,.rental-driver-grid input{font-size:14px!important;color:#15263a!important}
.rental-driver-grid select:required:invalid,.rental-driver-grid input::placeholder{color:#697586!important;font-size:14px!important;font-weight:400!important;opacity:1}
.rental-driver-grid select option{color:#15263a;font-weight:400}

/* V0.43 – dokončení ovládání mapy a kompaktnější řádek Půjčovny. */
.map-type-filters .map-all-toggle,
.map-type-filters .map-all-toggle.active{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #151515!important;
  box-shadow:none!important;
}

/* Jméno, e-mail a provozní údaje zůstávají blízko sebe; volné místo patří
   až za tlačítka, nikoli mezi údaje jednoho protokolu. */
.rental-event-main{
  grid-template-columns:
    70px 98px 76px
    minmax(120px,180px) minmax(88px,120px)
    48px 56px 80px
    minmax(112px,max-content) minmax(122px,max-content) minmax(108px,max-content)!important;
  gap:5px!important;
}
.rental-event-email{max-width:120px!important}

/* V0.44 – samostatná evidence GPS a SIM karet ve Vozidlech. */
.registered-gps-dialog{width:min(1260px,calc(100% - 30px))}
.registered-equipment-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.registered-equipment-section{min-width:0}
.registered-equipment-section h3{margin:0 0 9px;font-size:14px;color:#344054}
.registered-gps-table-wrap{overflow:auto;border:1px solid #dfe5eb;border-radius:8px}
.registered-gps-table{width:100%;min-width:100%;border:0;border-radius:0}
.registered-gps-table th,.registered-gps-table td{white-space:nowrap}
.registered-gps-table th:first-child,.registered-gps-table td:first-child{width:auto}
.registered-gps-table th:last-child,.registered-gps-table td:last-child{width:72px}
.sim-cards-table th:nth-child(1),.sim-cards-table td:nth-child(1){width:116px}
.sim-cards-table th:nth-child(2),.sim-cards-table td:nth-child(2){width:58px}
.sim-cards-table th:nth-child(3),.sim-cards-table td:nth-child(3){width:auto}
.form-grid-wide{grid-column:1 / -1}
.vehicle-api-cell{padding-top:5px!important;padding-bottom:5px!important}
.vehicle-api-link{display:flex;align-items:center;justify-content:center;min-height:22px;padding:3px 5px;border:1px solid #ccd6e2;border-radius:6px;background:#fff;color:#344054;font-size:9px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap}
.vehicle-api-link + .vehicle-api-link{margin-top:4px}
.vehicle-api-link:hover{border-color:var(--accent-orange);background:#fff7ed;color:var(--accent-orange-dark)}
.vehicle-admin-table.compact-vehicle-table{min-width:1190px!important;table-layout:fixed}
.compact-vehicle-table th:nth-child(1),.compact-vehicle-table td:nth-child(1){width:36px!important}
.compact-vehicle-table th:nth-child(2),.compact-vehicle-table td:nth-child(2){width:86px!important}
.compact-vehicle-table th:nth-child(3),.compact-vehicle-table td:nth-child(3){width:116px!important}
.compact-vehicle-table th:nth-child(4),.compact-vehicle-table td:nth-child(4){width:154px!important}
.compact-vehicle-table th:nth-child(5),.compact-vehicle-table td:nth-child(5){width:54px!important;white-space:nowrap}
.compact-vehicle-table th:nth-child(6),.compact-vehicle-table td:nth-child(6){width:146px!important}
.compact-vehicle-table th:nth-child(7),.compact-vehicle-table td:nth-child(7){width:48px!important;white-space:nowrap;text-align:center}
.compact-vehicle-table th:nth-child(8),.compact-vehicle-table td:nth-child(8){width:62px!important;white-space:nowrap}
.compact-vehicle-table th:nth-child(9),.compact-vehicle-table td:nth-child(9){width:76px!important;text-align:center}
.compact-vehicle-table th:nth-child(10),.compact-vehicle-table td:nth-child(10){width:54px!important;text-align:center}
.compact-vehicle-table th:nth-child(11),.compact-vehicle-table td:nth-child(11){width:54px!important;text-align:center}
.compact-vehicle-table th:nth-child(12),.compact-vehicle-table td:nth-child(12){width:60px!important;text-align:center}
.compact-vehicle-table th:nth-child(13),.compact-vehicle-table td:nth-child(13){width:146px!important}
@media(max-width:760px){.registered-equipment-columns{grid-template-columns:1fr}.form-grid-wide{grid-column:auto}}

/* V0.47 – volná GPS a SIM jsou dvě samostatné evidence, nikoli společný pár. */
.registered-equipment-assigned{margin-top:20px}
.registered-equipment-assigned h3{margin:0 0 9px;font-size:14px;color:#344054}
.registered-equipment-columns{margin-top:18px}
.free-gps-table th:first-child,.free-gps-table td:first-child{width:72px!important;text-align:center}
.free-sim-table th:nth-child(1),.free-sim-table td:nth-child(1){width:68px!important;text-align:center}
.free-sim-table th:nth-child(2),.free-sim-table td:nth-child(2){width:124px!important}
.free-sim-table th:nth-child(3),.free-sim-table td:nth-child(3){width:60px!important;text-align:center}
.free-sim-table th:nth-child(4),.free-sim-table td:nth-child(4){width:auto!important}

/* V0.50 – mobilní portál Auta a evidence servisních událostí. */
.driver-portal{min-height:100vh;background:#f2f5f8;color:#15263a}
.driver-wrap{width:min(680px,100%);margin:0 auto;padding:18px 15px 36px}
.driver-head{display:flex;align-items:center;gap:13px;padding:8px 3px 22px}
.driver-head img{width:132px;height:auto}.driver-head div{border-left:1px solid #cfd7df;padding-left:13px}.driver-head strong,.driver-head span{display:block}.driver-head strong{letter-spacing:.08em;font-size:14px}.driver-head span{margin-top:3px;color:#697586;font-size:12px}
.driver-intro{padding:20px 18px;background:#18212f;color:#fff;border-radius:16px}.driver-intro h1{font-size:24px;margin:0 0 7px}.driver-intro p{color:#d6dce5;margin:0;font-size:14px;line-height:1.45}
.driver-actions{display:grid;gap:10px;margin:15px 0 25px}.driver-action{display:grid;grid-template-columns:42px 1fr 16px;align-items:center;gap:12px;padding:15px 14px;background:#fff;border:1px solid #dfe5eb;border-radius:14px;color:#15263a;text-decoration:none;box-shadow:0 2px 10px #1d2d4010}.driver-action:active{transform:scale(.99)}.driver-action>b{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eaf2ff;font-size:20px}.driver-action.danger>b{background:#fff0ef}.driver-action strong,.driver-action small{display:block}.driver-action strong{font-size:16px}.driver-action small{margin-top:3px;color:#697586;line-height:1.35;font-size:12px}.driver-action i{font-style:normal;color:#94a3b8;font-size:26px}
.driver-contacts{scroll-margin-top:15px}.driver-contacts h2{font-size:19px;margin:0 0 10px}.driver-contact{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:13px 14px;margin-bottom:8px;background:#fff;border:1px solid #dfe5eb;border-radius:12px}.driver-contact b{font-size:14px}.driver-contact span{font-size:12px;color:#697586}.driver-contact a{color:#1565c0;font-weight:700;text-decoration:none;font-size:13px}.driver-contact .nav-map{grid-row:1 / span 2;grid-column:2}.driver-contact:not(.direct) a:not(.nav-map){grid-column:1}.driver-foot{text-align:center;color:#8a96a5;font-size:11px;margin-top:23px}
.service-public .rental-title-main h1{margin:0;font-size:18px}.service-choice label span{min-height:78px}.service-choice b{font-size:22px}.field-title{display:block;font-size:14px;font-weight:700}.field-title textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #cfd5dc;border-radius:8px;padding:11px;font:inherit;resize:vertical}.condition-row{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin-top:16px;font-size:13px}.condition-row>strong{width:100%;font-size:14px}.condition-row label{display:inline-flex;align-items:center;gap:5px;background:#f6f8fa;border:1px solid #e0e6ed;border-radius:999px;padding:7px 10px}.service-notice{margin-top:14px;padding:12px 13px;border:1px solid #f5be83;border-radius:10px;background:#fff6e8;color:#82420a;font-size:13px;line-height:1.5}.service-notice a{color:#8a4100;font-weight:800}.service-files{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.service-files label{font-size:13px;font-weight:700}.service-files input,.service-attachments{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:8px;border:1px dashed #aebccc;border-radius:8px;background:#f9fbfd;font:inherit}.accident-only h2,.rental-card h2{margin:16px 0 8px;font-size:15px}.service-damage-grid{grid-template-columns:1fr 1fr}.service-help{margin:0 0 9px;color:#697586;font-size:13px}.replacement-request{background:#f7fbff}.replacement-toggle{display:flex;align-items:flex-start;gap:10px}.replacement-toggle input{margin-top:4px}.replacement-toggle strong,.replacement-toggle small{display:block}.replacement-toggle strong{font-size:15px}.replacement-toggle small{margin-top:3px;color:#697586;line-height:1.4;font-size:12px}.replacement-toggle input:disabled+span{opacity:.55}.service-routing{margin-top:16px;padding-top:14px;border-top:1px solid #dce7f1;font-size:13px;line-height:1.5;color:#435164}
.service-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.service-stats article{padding:16px;background:#fff;border:1px solid #dfe5eb;border-radius:11px}.service-stats strong,.service-stats span{display:block}.service-stats strong{font-size:23px}.service-stats span{margin-top:4px;color:#697586;font-size:12px}.service-api-panel{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:13px 15px;margin-bottom:14px;font-size:13px}.service-api-panel code{padding:5px 7px;border-radius:6px;background:#f1f5f9;color:#334155}.service-api-panel span{color:#697586}.service-events-table{min-width:1100px}.service-events-table td{vertical-align:top}.service-events-table td small{display:block;color:#697586;margin-top:3px;font-size:11px}.service-type,.lms-state{display:inline-block;border-radius:999px;padding:4px 7px;font-weight:800;font-size:10px}.service-type.servis{background:#eaf2ff;color:#1e5da6}.service-type.nehoda{background:#fff0ef;color:#b42318}.lms-state.pending{background:#fff6e8;color:#a65708}.lms-state.acknowledged{background:#eaf7ef;color:#18713c}.attachment-link{display:block;margin-bottom:4px;color:#1b61ae;font-size:11px;text-decoration:none}.service-description td{padding-top:0!important;border-top:0!important;color:#4d5968;font-size:12px;line-height:1.45}.service-description td strong{color:#344054}
@media(max-width:620px){.driver-wrap{padding:14px 12px 28px}.driver-head{padding-bottom:17px}.driver-head img{width:116px}.driver-intro h1{font-size:22px}.service-files,.service-damage-grid{grid-template-columns:1fr}.condition-row{gap:7px}.condition-row label{font-size:12px}.service-stats{grid-template-columns:1fr}.rental-success .secondary-button{display:block;margin-top:10px;text-align:center}}

/* V0.51 – firemní mobilní portál a rozšířená fotodokumentace servisu. */
.driver-portal{background:#f4f5f6}
.driver-head{padding-bottom:19px}.driver-head div{border-color:#e1e4e8}.driver-head strong{color:#18212f;font-size:16px;letter-spacing:0}.driver-head strong::before{content:"";display:inline-block;width:4px;height:17px;margin:0 8px -3px 0;border-radius:3px;background:var(--accent-orange,#ef8b18)}
.driver-intro{padding:18px;background:#fff;color:#18212f;border:1px solid #e2e5e9;border-radius:14px;box-shadow:0 4px 16px rgba(47,36,24,.045)}.driver-intro h1{margin:0;font-size:22px}.driver-intro h1::before{content:"";display:inline-block;width:4px;height:20px;margin:0 9px -3px 0;border-radius:3px;background:var(--accent-orange,#ef8b18)}
.driver-actions{gap:9px;margin:13px 0 23px}.driver-action{border-color:#e2e5e9;border-radius:12px;box-shadow:0 4px 16px rgba(47,36,24,.045)}.driver-action>b{background:#fff5e8;color:var(--accent-orange-dark,#d97706);border:1px solid #f2bc7b}.driver-action>b svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.driver-action.danger>b{background:#fff0ef;color:#b42318;border-color:#f1c0ba}.driver-action.rental>b{background:#edf8f1;color:#187448;border-color:#bce1c9}.driver-action.contact>b{background:#eef2f6;color:#415263;border-color:#d5dde5}.driver-action small{font-size:12px}.driver-action.service small,.driver-action.rental small{white-space:nowrap}.driver-action i{color:var(--accent-orange,#ef8b18)}
.driver-contacts h2::before{content:"";display:inline-block;width:4px;height:18px;margin:0 8px -3px 0;border-radius:3px;background:var(--accent-orange,#ef8b18)}.driver-contact{border-color:#e2e5e9;box-shadow:0 4px 16px rgba(47,36,24,.035)}.driver-contact a{color:var(--accent-orange-dark,#d97706)}.driver-contact .contact-address{grid-column:1;color:#52606d;font-size:12px}.driver-contact .nav-map{color:#34495d}
.service-choice .event-line-icon{font-family:inherit}.service-choice label>span{min-height:0}.service-public .rental-title-main{min-height:38px;justify-content:flex-end}.service-public .rental-title-main h1{display:none}
.condition-row label{background:#fafafa}.condition-row label:has(input:checked){border-color:#f2bc7b;background:#fff8ef;color:#683c12;font-weight:800}.service-notice{border-color:#f2bc7b;background:#fff8ef;color:#683c12}.service-files{margin:14px 0}.service-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:14px;font-weight:800;color:#344054}.service-toggle input{position:absolute;opacity:0;pointer-events:none}.service-toggle i{position:relative;display:block;width:70px;height:32px;border-radius:999px;background:#e5e7eb;cursor:pointer;transition:.18s}.service-toggle i::before{content:"NE";position:absolute;right:5px;top:5px;z-index:1;font-size:10px;line-height:22px;color:#667085}.service-toggle i::after{content:"";position:absolute;left:4px;top:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.18s}.service-toggle input:checked+i{background:var(--accent-orange,#ef8b18)}.service-toggle input:checked+i::before{content:"ANO";left:7px;right:auto;color:#fff}.service-toggle input:checked+i::after{transform:translateX(38px)}.service-toggle:has(input:focus-visible) i{outline:2px solid #15263a;outline-offset:2px}
.accident-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-photos h2{margin:0 0 8px}.service-photos[hidden]{display:none!important}.replacement-request{background:#fffaf4;border-color:#f0d8b8}.replacement-toggle input{accent-color:var(--accent-orange,#ef8b18)}
@media(max-width:620px){.driver-action.service small,.driver-action.rental small{white-space:normal}.accident-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-files{grid-template-columns:1fr}.driver-contact .contact-address{max-width:220px}}

/* V0.52 – stručný mobilní portál a servisní protokol. */
.driver-head strong::before,
.driver-intro h1::before{display:none}
.driver-head{padding-bottom:13px}
.driver-intro{padding:12px 14px;border-radius:12px}
.driver-intro h1{font-size:19px}
.driver-actions{gap:7px;margin:10px 0 15px}
.driver-action{min-height:56px;padding:10px 12px;border-radius:10px}
.driver-action>b{width:36px;height:36px;border-radius:10px}
.driver-action>b svg{width:20px;height:20px}
.driver-action strong{font-size:14px}
.driver-action small{margin-top:1px;font-size:11px}
.driver-contacts{display:grid;gap:7px}
.driver-contact{position:relative;min-height:43px;display:block;margin:0;padding:10px 52px 10px 12px;border-radius:10px}
.driver-contact.direct{display:flex;align-items:center;gap:10px;white-space:nowrap}
.driver-contact.direct b{font-size:13px}.driver-contact.direct a{font-size:12px}
.driver-contact .contact-line{display:flex;align-items:center;gap:11px;min-height:18px}
.driver-contact .contact-line b{font-size:13px}.driver-contact .contact-line a{font-size:12px}
.driver-contact .contact-address{display:block;margin-top:3px;font-size:11px}
.driver-contact .nav-map{position:absolute;top:50%;right:11px;display:grid;place-items:center;width:30px;height:30px;transform:translateY(-50%);border:1px solid #f2bc7b;border-radius:50%;background:#fff8ef;color:var(--accent-orange-dark,#d97706)}
.driver-contact .nav-map svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.service-choice label>span{min-height:58px;align-items:center}
.service-choice .event-line-icon{align-self:center;justify-self:center}
.service-choice .event-line-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.service-choice label:nth-child(2) small{display:none}
.service-toggle span{font-size:14px;font-weight:700;color:#15263a}
.accident-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-photos{padding-top:10px;padding-bottom:10px}
@media(max-width:620px){
  .driver-contact.direct{gap:7px}.driver-contact.direct b{font-size:12px}.driver-contact.direct a{font-size:11px}
  .accident-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .accident-photo-grid .photo-tile,.accident-photo-grid .photo-preview{min-height:94px}
  .service-choice label>span{min-height:48px}
}

/* V0.53 – návaznost nehody na Servis a kompletní fotodokumentace. */
.driver-contact.direct b span{color:#52606d;font-weight:500}
.service-choice label:nth-child(2)>span{position:relative;display:flex;justify-content:center;text-align:center}
.service-choice label:nth-child(2) .event-line-icon{position:absolute;left:8px}

/* V0.54 – sjednocení kontaktů a přímý náhled API. */
.driver-contact.manager-contact{min-height:43px}
.driver-contact.manager-contact .contact-line{min-height:18px}
.driver-contact.manager-contact .contact-address{display:block;margin-top:3px;font-size:11px;color:#52606d}
.driver-contact .contact-address a,
.driver-contact .contact-line a{color:#52606d;font-size:inherit;font-weight:400}
.driver-contact .nav-map{color:#52606d}
.service-api-panel .table-link{white-space:nowrap}

/* V0.59 – kompaktní servisní přehled a jednotné bubliny událostí. */
.service-admin .rental-toolbar-actions{align-items:center}
.service-api-button{white-space:nowrap}
.service-events-table{min-width:1190px}
.service-events-table th{white-space:nowrap}
.service-events-table td{padding:12px 14px;font-size:12px;line-height:1.35;color:#334155;vertical-align:middle}
.service-events-table td strong{font-size:12px;font-weight:700;color:#18212f}
.service-events-table td small{margin-top:2px;font-size:10px;line-height:1.3;color:#657181}
.service-type,.service-status,.lms-state{display:inline-flex;align-items:center;min-height:21px;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:800;line-height:1;letter-spacing:.03em;white-space:nowrap}
.service-type.servis{background:#eaf2ff;color:#1e5da6}
.service-type.nehoda{background:#fff0ef;color:#b42318}
.service-status.pojizdne{background:#eaf7ef;color:#18713c}
.service-status.nesnese_odklad{background:#fff6e8;color:#a65708}
.service-status.nepojizdne{background:#fff0ef;color:#b42318}
.lms-state.pending{background:#fff6e8;color:#a65708}
.lms-state.acknowledged{background:#eaf7ef;color:#18713c}
.service-description td{padding-top:7px!important;padding-bottom:8px!important;font-size:11px;line-height:1.35;background:#fafbfd}
.service-detail-row{display:flex;align-items:flex-start;gap:16px;min-width:0}
.service-detail-row>span:first-child{min-width:0;flex:1}
.service-attachments{display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px;white-space:nowrap}
.attachment-link{display:inline;margin:0;color:#1b61ae;font-size:11px;line-height:1.35;text-decoration:none}
.attachment-link:hover{text-decoration:underline}
@media(max-width:760px){.service-detail-row{gap:10px}.service-events-table{min-width:1120px}}

/* V0.55 – jednotná typografie kontaktních karet mobilního portálu. */
.driver-contact .contact-line b{
  font-size:13px;
  font-weight:700;
  line-height:18px;
}
.driver-contact .contact-line a,
.driver-contact .contact-address,
.driver-contact .contact-address a{
  font-size:11px;
  font-weight:400;
  line-height:16px;
  color:#52606d;
}

/* V0.56 – kompaktní kontakty a jasné oddělení instrukce k nehodě. */
.driver-contact.manager-contact{padding-right:12px}
.driver-contact.manager-contact .contact-address{white-space:nowrap}
.driver-contact.towing-contact{padding-right:12px}

/* V0.60 – administrace Míst, Půjčovny a Servisu ve stejném čistém stylu jako Vozidla. */
.admin-toolbar{
  display:flex;
  align-items:center;
  min-height:34px;
  margin:0 0 12px;
}
.admin-toolbar-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.admin-toolbar-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;
  min-height:34px;
  margin:0;
  padding:0 11px;
  border:1px solid #c8d1dc;
  border-radius:7px;
  background:var(--surface-soft-2);
  color:#344054;
  font:inherit;
  font-size:12px;
  font-weight:600;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
}
.admin-toolbar-button:hover{
  border-color:var(--accent-orange);
  background:#fff7ed;
  color:var(--accent-orange-dark);
}
.service-events-table{
  min-width:1010px;
  table-layout:fixed;
}
.service-events-table th,
.service-events-table td{
  box-sizing:border-box;
}
.service-events-table th{
  padding:8px 7px;
  font-size:10px;
  line-height:1;
  white-space:nowrap;
}
.service-events-table td{
  padding:7px;
  font-size:11px;
  line-height:1.2;
  color:#344054;
  vertical-align:middle;
}
.service-events-table td strong{
  font-size:11px;
  font-weight:700;
  color:#18212f;
}
.service-events-table td small{
  margin-top:2px;
  font-size:9px;
  line-height:1.15;
  color:#657181;
}
.service-events-table th:nth-child(1),.service-events-table td:nth-child(1){width:36px;text-align:center}
.service-events-table th:nth-child(2),.service-events-table td:nth-child(2){width:105px}
.service-events-table th:nth-child(3),.service-events-table td:nth-child(3){width:94px}
.service-events-table th:nth-child(4),.service-events-table td:nth-child(4){width:110px}
.service-events-table th:nth-child(5),.service-events-table td:nth-child(5){width:150px}
.service-events-table th:nth-child(6),.service-events-table td:nth-child(6){width:72px}
.service-events-table th:nth-child(7),.service-events-table td:nth-child(7){width:104px}
.service-events-table th:nth-child(8),.service-events-table td:nth-child(8){width:116px}
.service-events-table th:nth-child(9),.service-events-table td:nth-child(9){width:52px;text-align:center}
.service-events-table th:nth-child(10),.service-events-table td:nth-child(10){width:72px;text-align:center}
.service-events-table th:nth-child(11),.service-events-table td:nth-child(11){width:104px}
.service-type,.service-status,.service-pcr,.lms-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:20px;
  padding:3px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  line-height:1;
  letter-spacing:.03em;
  white-space:nowrap;
}
.service-pcr.yes{background:#eaf7ef;color:#18713c}
.service-pcr.no{background:#f1f4f7;color:#667085}
.service-event-main td{height:44px}
.service-description td,
.service-attachments-row td{
  padding-top:4px!important;
  padding-bottom:4px!important;
  border-top:0!important;
  background:#fafbfd;
  font-size:10px;
  line-height:1.2;
  color:#4d5968;
}
.service-description td strong,
.service-attachments-row td strong{
  font-size:10px;
}
.service-attachments-row td{padding-bottom:6px!important;border-bottom:1px solid #e5eaf0}
.service-attachments{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:3px 6px;
  min-height:13px;
  white-space:normal;
}
.service-attachments .attachment-link{
  display:inline;
  margin:0;
  font-size:10px;
  line-height:1.2;
}
@media(max-width:760px){
  .admin-toolbar-actions{width:100%}
  .service-events-table{min-width:1010px}
}

/* V0.61 – čtenářský přístup a kompaktní ovládání Půjčovny. */
.readonly-value{font-size:10px;color:#657181;white-space:nowrap}
.rental-search-toolbar{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:7px;
  margin:0 0 12px;
}
.rental-search-toolbar input[type="search"],
.rental-search-toolbar input[name="q"]{
  width:320px;
  min-width:0;
  height:34px;
  padding:0 11px;
  border:1px solid #c8d1dc;
  border-radius:7px;
  background:var(--surface-soft-2);
  color:#344054;
  font-size:12px;
  line-height:1;
  outline:none;
}
.rental-search-toolbar input[name="q"]:focus{
  border-color:var(--accent-orange);
  box-shadow:0 0 0 3px rgba(239,139,24,.12);
}
@media(max-width:760px){
  .rental-search-toolbar{flex-wrap:wrap}
  .rental-search-toolbar input[name="q"]{width:100%;flex:1 1 100%}
}

/* V0.62 – iPhone: sjednocené volby servisu a čitelnější přehled Servisu. */
.service-choice{align-items:stretch}
.service-choice label{display:flex;min-width:0}
.service-choice label>span{
  flex:1 1 auto;
  height:58px;
  min-height:58px;
  box-sizing:border-box;
}
.service-events-table th{font-size:12px}
.service-events-table td{font-size:13px;line-height:1.3}
.service-events-table td strong{font-size:13px}
.service-events-table td small{font-size:11px;line-height:1.25}
.service-type,.service-status,.service-pcr,.lms-state{font-size:11px}
.service-description td,
.service-attachments-row td{font-size:12px;line-height:1.3}
.service-description td strong,
.service-attachments-row td strong,
.service-attachments .attachment-link{font-size:12px}

/* V0.64 – Servis používá stejnou rozbalovací kartu jako Půjčovna. */
.service-events-panel{overflow:hidden}
.service-event-main{
  grid-template-columns:102px 112px minmax(98px,.85fr) minmax(135px,1fr) 52px 74px 104px 68px 92px 118px auto!important;
  gap:7px!important;
  min-height:62px!important;
  padding:9px 12px!important;
}
.rental-event-head{display:grid;grid-template-columns:74px 102px 112px minmax(98px,.85fr) minmax(135px,1fr) 52px 70px 70px 92px 118px auto;gap:7px;padding:8px 12px;border-bottom:1px solid #e5eaf0;background:#f8fafc;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.025em;align-items:center}
.service-event-head{grid-template-columns:102px 112px minmax(98px,.85fr) minmax(135px,1fr) 52px 74px 104px 68px 92px 118px auto}
.service-search-toolbar{margin-right:auto}
@media(max-width:760px){.rental-event-head{min-width:1130px}.service-event-head{min-width:1130px}}
.service-event-car{display:flex;min-width:0;flex-direction:column;gap:2px}
.service-event-car strong{font-size:14px!important;white-space:nowrap}
.service-event-car small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#657181;font-size:10px!important;line-height:1.15}
.rental-type-pill.service{background:#eaf2ff;color:#1e5da6}
.rental-type-pill.accident{background:#fff0ef;color:#b42318}
.service-status,.service-pcr,.lms-state{
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:25px;
  padding:4px 8px;border-radius:999px;font-size:11px!important;font-weight:700;letter-spacing:0;line-height:1;white-space:nowrap;
}
.service-status.pojizdne{background:#e4f5eb;color:#117a47}
.service-status.nesnese_odklad{background:#fff4dd;color:#a15c00}
.service-status.nepojizdne{background:#feeceb;color:#b42318}
.service-pcr.yes{background:#eaf7ef;color:#18713c}
.service-pcr.no{background:#f1f4f7;color:#667085}
.lms-state.pending{background:#fff6e8;color:#a65708}
.lms-state.acknowledged{background:#eaf7ef;color:#18713c}
.service-event .rental-mail-state{justify-self:start}
.service-event-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:16px;align-items:start;padding:14px 18px 16px;background:#f6f9fb;border-top:1px solid #e8edf2}
.service-event-note strong,.service-attachments>strong{display:block;font-size:12px;color:#344054}
.service-event-note p{margin:4px 0 0;color:#607080;font-size:12px;line-height:1.45}

/* V0.65 – jednotná typografie a akce záznamů Půjčovny a Servisu. */
/* Ovladače používají stejný základ jako Upravit/Smazat u Vozidel. */
.rental-event-actions .table-link{
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 10px!important;
  border-radius:8px;
  font:inherit;
  font-size:12px!important;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
}
.rental-event-actions .danger-link{
  border-color:#e3c2bd;
  color:#a33a2f;
}
.rental-event-actions .danger-link:hover{
  border-color:#cd6f64;
  background:#fff4f2;
}
.rental-event-main time{font-size:13px!important}
.rental-event-plate{font-size:15px!important}
.rental-event-driver{font-size:14px!important}
.rental-event-email{font-size:13px!important}
.rental-event-metric small{font-size:10px!important}
.rental-event-metric strong{font-size:13px!important}
.rental-type-pill,
.rental-mail-state,
.service-type,
.service-status,
.service-pcr,
.lms-state{font-size:12px!important;letter-spacing:0!important}
.service-event-car strong{font-size:15px!important}
.service-event-car small{font-size:11px!important}
.service-event-detail[hidden]{display:none!important}
.service-event-note strong,
.service-attachments>strong,
.service-event-note p,
.service-attachments,
.service-attachments .attachment-link{font-size:13px!important}
.service-attachments{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-height:34px}
.service-attachments>strong{width:100%}
.service-attachments .attachment-link{display:inline-flex;align-items:center;min-height:25px;margin:0;padding:0 8px;border:1px solid #cbd6e1;border-radius:7px;background:#fff;color:#285576;font-size:11px;text-decoration:none}
.service-attachments span{font-size:11px;color:#657181}
@media(max-width:760px){.service-event-detail{grid-template-columns:1fr}.service-event-main{min-width:1130px!important}}

/* V0.66 – akce Půjčovny a Servisu mají stejnou odezvu jako Vozidla.
   Týká se odkazů i skutečných tlačítek: PDF, Detail, Upravit i Smazat. */
.rental-event-actions .table-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  box-sizing:border-box;
  border:1px solid #ccd6e2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#223044!important;
  font-weight:600!important;
  text-decoration:none;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease;
}
.rental-event-actions .table-link:hover,
.rental-event-actions .table-link:focus-visible{
  border-color:var(--accent-orange,#ef8b18)!important;
  background:#fff7ed!important;
  color:var(--accent-orange-dark,#d97706)!important;
}

/* V0.67 – Smazat je záměrně výjimka: zůstává červené i bez najetí. */
.rental-event-actions .table-link.danger-link{
  border-color:#efb4af!important;
  background:#fff7f6!important;
  color:#b42318!important;
}
.rental-event-actions .table-link.danger-link:hover,
.rental-event-actions .table-link.danger-link:focus-visible{
  border-color:#cd6f64!important;
  background:#fff4f2!important;
  color:#9f2419!important;
}

/* V0.71 – záhlaví a záznam musí používat shodnou mřížku.
   Dříve měla každá část jiné šířky sloupců a údaje se proto posouvaly
   proti svému záhlaví. */
.rental-events-panel{
  overflow-x:auto!important;
  overflow-y:hidden;
}
.rental-admin:not(.service-admin) .rental-event-head,
.rental-admin:not(.service-admin) .rental-event-main{
  grid-template-columns:
    76px 104px 82px
    minmax(120px,1fr) minmax(135px,1.15fr)
    54px 70px 78px 145px 130px 262px!important;
  gap:7px!important;
  box-sizing:border-box;
}
.rental-admin:not(.service-admin) .rental-event-head,
.rental-admin:not(.service-admin) .rental-event{
  min-width:1450px!important;
}
.service-admin .service-event-head,
.service-admin .service-event-main{
  grid-template-columns:
    102px 110px 135px minmax(150px,1fr)
    68px 80px 120px 70px 100px 130px 275px!important;
  gap:7px!important;
  box-sizing:border-box;
}
.service-admin .service-event-head,
.service-admin .service-event{
  min-width:1480px!important;
}
.rental-event-head > *,
.rental-event-main > *{
  min-width:0;
}
.rental-event-head > *{
  overflow:hidden;
  text-overflow:ellipsis;
}
.rental-event-actions{
  justify-content:flex-start!important;
}

/* V0.72 – kompaktní přehledy Půjčovny a Servisu.
   E-mail řidiče zůstává vyhledatelný, v tabulce je ale jen výsledek odeslání.
   Mřížka je na desktopu pružná, aby se vešla do pracovní plochy bez posunu. */
.rental-events-panel{overflow-x:hidden!important}
.rental-event-head{
  align-items:center!important;
  text-align:center;
}
.rental-event-head > *{
  justify-self:center;
  width:100%;
}
.rental-admin:not(.service-admin) .rental-event-head,
.rental-admin:not(.service-admin) .rental-event-main{
  grid-template-columns:
    70px 100px 74px minmax(115px,1fr)
    52px 66px 70px minmax(120px,1.1fr)
    124px 185px!important;
  gap:5px!important;
}
.service-admin .service-event-head,
.service-admin .service-event-main{
  grid-template-columns:
    96px 88px minmax(108px,1fr) 54px 68px
    103px 55px 88px 120px 244px!important;
  gap:6px!important;
}
.rental-admin:not(.service-admin) .rental-event-head,
.rental-admin:not(.service-admin) .rental-event,
.service-admin .service-event-head,
.service-admin .service-event{
  min-width:0!important;
}
.rental-event-main,
.service-event-main{
  min-height:54px!important;
  padding:8px 10px!important;
}
.rental-event-metric{
  align-items:center;
  justify-content:center;
  text-align:center;
}
.rental-event-metric strong{font-size:13px!important}
.rental-event-driver,
.rental-damage-state{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.service-event-car{
  align-items:center;
  text-align:center;
}
.rental-event-actions{gap:5px!important}
.rental-event-actions .table-link{padding-left:8px!important;padding-right:8px!important}
@media(max-width:1180px){
  .rental-events-panel{overflow-x:auto!important}
  .rental-admin:not(.service-admin) .rental-event-head,
  .rental-admin:not(.service-admin) .rental-event{min-width:1045px!important}
  .service-admin .service-event-head,
  .service-admin .service-event{min-width:1102px!important}
}

/* V0.73 – Řidič je krátký identifikační údaj, proto nesmí na širokém
   monitoru pohltit všechen volný prostor tabulky. U Půjčovny jej dostává
   Poškození, u Servisu skupina akcí napravo. */
.rental-admin:not(.service-admin) .rental-event-head,
.rental-admin:not(.service-admin) .rental-event-main{
  grid-template-columns:
    70px 100px 74px 150px
    52px 66px 70px minmax(185px,1fr)
    124px minmax(185px,1fr)!important;
}
.service-admin .service-event-head,
.service-admin .service-event-main{
  grid-template-columns:
    96px 88px 150px 54px 68px
    103px 55px 88px 120px minmax(244px,1fr)!important;
}
@media(max-width:1180px){
  .rental-admin:not(.service-admin) .rental-event-head,
  .rental-admin:not(.service-admin) .rental-event{min-width:1150px!important}
  .service-admin .service-event-head,
  .service-admin .service-event{min-width:1130px!important}
}

/* V0.74 – drobné vyvážení sloupců po zúžení Řidiče.
   Volné místo dostávají i krátké stavové údaje, aby bubliny a data
   nepůsobily namačkaně, ale desktop zůstává bez vodorovného posunu. */
.rental-admin:not(.service-admin) .rental-event-head,
.rental-admin:not(.service-admin) .rental-event-main{
  grid-template-columns:
    74px 108px 82px 150px
    52px 74px 70px minmax(175px,1fr)
    134px minmax(175px,1fr)!important;
}
.service-admin .service-event-head,
.service-admin .service-event-main{
  grid-template-columns:
    102px 94px 150px 58px 72px
    108px 59px 94px 126px minmax(220px,1fr)!important;
}

/* V0.75 – veškeré údaje přehledů Půjčovna a Servis jsou zarovnané
   na střed své buňky, stejně jako jejich záhlaví. */
.rental-admin .rental-event-main > *{
  justify-self:stretch;
  text-align:center;
}
.rental-admin .rental-event-main .rental-event-actions{
  justify-content:center!important;
}
.service-event .rental-mail-state{
  justify-self:stretch;
}

/* V0.76 – Servis dostává více místa pro stavové bubliny, aniž by se na
   desktopu vracelo vodorovné rolování. */
.service-admin .service-event-head,
.service-admin .service-event-main{
  grid-template-columns:
    104px 100px 150px 62px 84px
    118px 72px 108px 144px minmax(220px,1fr)!important;
}
/* V0.77 – Půjčovna i Servis mají vlastní třídu hlavního bloku.
   Řidiče proto centrovat pro oba přehledy, ne pouze pro Půjčovnu. */
.rental-admin .rental-event-main .rental-event-driver,
.service-admin .service-event-main .rental-event-driver{
  display:flex;
  align-self:stretch;
  align-items:center;
  justify-content:center;
  text-align:center;
}

/* V0.78 – akce Servisu jsou samostatný sloupec; tlačítka proto vždy
   seskupit a vycentrovat uprostřed celé buňky, včetně formuláře Smazat. */
.service-admin .service-event-main .rental-event-actions{
  display:flex!important;
  width:100%;
  align-items:center;
  justify-content:center!important;
  gap:5px!important;
}
.service-admin .service-event-main .rental-event-actions .inline-form{
  display:contents;
  margin:0;
}

/* V0.86 – oprava návratu staršího vzhledu v balíčcích v0.84/v0.85.
   Typ je jen běžný text; Policie je mezi Typem a Stavem a uvádí ANO/NE. */
.service-admin .service-event-head,
.service-admin .service-event-main{
  grid-template-columns:
    104px 100px 150px 62px 84px
    72px 118px 108px 144px minmax(220px,1fr)!important;
}
.service-admin .service-event-main .rental-type-pill{
  display:flex!important;
  align-self:stretch;
  align-items:center;
  justify-content:center;
  min-height:0!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#344054!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.3!important;
  white-space:normal!important;
}
.service-admin .service-event-main .service-pcr{
  min-width:42px;
}
