:root{
  --ios-blue:#0a84ff;
  --ios-blue-dark:#0066d6;
  --ios-orange:#ff8a1f;
  --ios-green:#30d158;
  --ios-red:#ff453a;
  --ios-ink:#0b1f33;
  --ios-muted:#65758b;
  --ios-line:rgba(60,60,67,.16);
  --ios-surface:rgba(255,255,255,.86);
  --ios-surface-solid:#fff;
  --ios-fill:rgba(118,118,128,.12);
  --ios-shadow:0 16px 46px rgba(16,35,55,.16),0 2px 8px rgba(16,35,55,.08);
}
html{-webkit-text-size-adjust:100%;font-family:Inter,"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
body{font-family:Inter,"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,textarea,select{font-family:inherit}
h1,h2,h3,h4,h5,h6,strong,b{font-family:Inter,"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:-.018em}
button,a,.ios-select-button,.ios-select-option{-webkit-tap-highlight-color:transparent}
button:not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out):not(.mobile-refresh-button),
.landing-start,.site-home-link,.map-btn,.route-share-btn{
  border-radius:14px!important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,background-color .16s ease!important;
}
button:not(:disabled):active,.landing-start:active,.site-home-link:active,.map-btn:active,.route-share-btn:active{transform:scale(.975);filter:brightness(.97)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,.ios-select-button:focus-visible{
  outline:3px solid rgba(10,132,255,.28)!important;
  outline-offset:2px;
}
input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="datetime-local"],input[type="date"],input[type="time"],textarea{
  min-height:48px;
  border:1px solid var(--ios-line)!important;
  border-radius:14px!important;
  background:rgba(247,248,250,.94)!important;
  color:var(--ios-ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
input:focus,textarea:focus{border-color:var(--ios-blue)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(10,132,255,.12)!important}
.info-dialog,.account-dialog,.welcome-card,.leaflet-popup-content-wrapper,.cabinet-card,.tachograph-card,.tacho-card,.calendar-shell{
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:22px!important;
  background:var(--ios-surface)!important;
  box-shadow:var(--ios-shadow)!important;
  -webkit-backdrop-filter:blur(24px) saturate(145%);
  backdrop-filter:blur(24px) saturate(145%);
}
#info-modal,#account-modal,.tacho-modal,.modal-backdrop{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.route-planner,#legend,#logo,.leaflet-control-layers,.site-map-tools,#route-points-panel{
  border:1px solid rgba(255,255,255,.68)!important;
  background:var(--ios-surface)!important;
  box-shadow:var(--ios-shadow)!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%);
  backdrop-filter:blur(22px) saturate(145%);
}
input[type="checkbox"]:not(.ios-native-select),input[type="radio"]{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  flex:0 0 auto;
  cursor:pointer;
  outline:0;
}
input[type="checkbox"]:not(.ios-native-select),input[type="radio"]{
  width:42px!important;
  height:25px!important;
  border:0!important;
  border-radius:999px!important;
  background:#d1d1d6!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)!important;
  transition:background .18s ease!important;
}
input[type="checkbox"]:not(.ios-native-select):before,input[type="radio"]:before{
  content:"";
  position:absolute;
  width:21px;height:21px;
  left:2px;top:2px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 5px rgba(0,0,0,.25);
  transition:transform .18s cubic-bezier(.2,.8,.2,1);
}
input[type="checkbox"]:not(.ios-native-select):checked{background:var(--ios-green)!important}
input[type="radio"]:checked{background:var(--ios-blue)!important}
input[type="checkbox"]:not(.ios-native-select):checked:before,input[type="radio"]:checked:before{transform:translateX(17px)}
input[type="radio"]:focus-visible,input[type="checkbox"]:focus-visible{box-shadow:0 0 0 4px rgba(10,132,255,.2)!important}
.ios-select{position:relative;display:block;width:100%;min-width:0}
.ios-native-select{
  position:absolute!important;
  width:1px!important;height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.ios-select-button{
  display:flex!important;
  align-items:center;
  width:100%;
  min-height:48px;
  padding:7px 12px!important;
  border:1px solid var(--ios-line)!important;
  border-radius:14px!important;
  background:rgba(247,248,250,.96)!important;
  color:var(--ios-ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
  text-align:left;
  cursor:pointer;
}
.ios-select-button[aria-expanded="true"]{border-color:var(--ios-blue)!important;box-shadow:0 0 0 4px rgba(10,132,255,.12)!important;background:#fff!important}
.ios-select-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;margin-right:9px;border-radius:10px;background:rgba(10,132,255,.11);font-size:18px}
.ios-select-value{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700}
.ios-select-chevron{width:9px;height:9px;margin:0 4px 4px 12px;border-right:2px solid #79889a;border-bottom:2px solid #79889a;transform:rotate(45deg);transition:transform .18s ease}
.ios-select-button[aria-expanded="true"] .ios-select-chevron{margin-bottom:-4px;transform:rotate(225deg)}
.ios-select-menu{
  display:none;
  position:absolute;
  z-index:10050;
  left:0;right:0;
  top:calc(100% + 7px);
  max-height:min(320px,52vh);
  overflow:auto;
  padding:6px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:17px;
  background:rgba(250,250,252,.96);
  box-shadow:0 18px 50px rgba(16,35,55,.24),0 2px 8px rgba(16,35,55,.09);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
}
.ios-select.open .ios-select-menu{display:block;animation:iosMenuIn .16s ease-out}
.ios-select-option{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 20px;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:46px;
  padding:5px 8px!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  color:var(--ios-ink)!important;
  text-align:left;
  cursor:pointer;
  box-shadow:none!important;
}
.ios-select-option:hover,.ios-select-option:focus-visible{background:rgba(10,132,255,.1)!important}
.ios-select-option[aria-selected="true"]{background:rgba(10,132,255,.12)!important;color:#0064c8!important}
.ios-option-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#fff;box-shadow:0 1px 4px rgba(16,35,55,.1);font-size:17px}
.ios-option-label{overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:700}
.ios-option-check{font-size:18px;font-weight:900;color:var(--ios-blue)}
@keyframes iosMenuIn{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:700px){
  .ios-select-menu{position:fixed;left:12px;right:12px;top:auto;bottom:max(12px,env(safe-area-inset-bottom));max-height:62vh;border-radius:22px;padding:9px}
  .ios-select-option{min-height:52px}
  .info-dialog,.account-dialog,.leaflet-popup-content-wrapper{border-radius:20px!important}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
