/* Material Design 3 refinement - DEV v3.0.31; unchanged road-condition palette. */
:root{
  --m3-elevated-shadow:0 1px 2px rgba(23,43,54,.25),0 1px 3px rgba(23,43,54,.16);
  --m3-elevated-shadow-hover:0 3px 6px rgba(23,43,54,.24),0 2px 5px rgba(23,43,54,.16);
  --m3-datepicker-header:var(--m3-surface-container);--m3-datepicker-selected:var(--primary);--m3-datepicker-on-selected:var(--onprimary);
}
body.dark{
  --m3-elevated-shadow:0 2px 4px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.35);
  --m3-elevated-shadow-hover:0 5px 9px rgba(0,0,0,.45),0 2px 5px rgba(0,0,0,.34);
}
/* Bottom action group: M3 elevated buttons, a single independent elevation layer. */
body{padding-bottom:clamp(88px,11vh,104px);}
.pilot-actions{
  position:fixed;bottom:0;left:0;right:0;z-index:25;
  display:flex;align-items:center;justify-content:center;gap:12px;
  padding:12px max(18px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom));
  background:var(--m3-surface-container);border-top:1px solid var(--m3-outline-variant);
  box-shadow:0 -2px 12px rgba(0,0,0,.06);
}
.pilot-actions button{
  min-height:48px;min-width:0;flex:0 1 196px;
  padding:10px 20px;border:0;border-radius:999px;
  background:var(--m3-surface-high);color:var(--m3-on-surface);
  box-shadow:var(--m3-elevated-shadow);font:500 14px/1.35 Roboto,'Segoe UI',Arial,sans-serif;
  letter-spacing:.1px;white-space:normal;
  transition:box-shadow .18s var(--m3-easing),background-color .18s var(--m3-easing),transform .18s var(--m3-easing);
}
.pilot-actions button:hover:not(:disabled){border-color:transparent;background:var(--m3-surface-high);box-shadow:var(--m3-elevated-shadow-hover);}
.pilot-actions button:active:not(:disabled){box-shadow:var(--m3-elevated-shadow);transform:scale(.985);}
.pilot-actions button:focus-visible{outline:3px solid var(--m3-focus);outline-offset:3px;}
@media(max-width:700px){
  body{padding-bottom:calc(138px + env(safe-area-inset-bottom));}
  .pilot-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px 12px calc(12px + env(safe-area-inset-bottom));}
  .pilot-actions button{width:100%;min-height:48px;font-size:13px;padding:10px 12px;}
}
@media(max-width:350px){.pilot-actions button{font-size:12px;padding:8px 5px;}}
/* Original inputs stay connected to legacy DOM logic and form rules. */
.m3-date-field{position:relative;display:flex;align-items:center;width:100%;margin-top:7px;}
input.m3-date-original,input.m3-date-original:focus{
  position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;
  opacity:0!important;clip-path:inset(50%)!important;pointer-events:none!important;
  margin:0!important;padding:0!important;border:0!important;min-height:0!important;
}
.m3-date-trigger,.fields .m3-date-trigger,.panel .m3-date-trigger{
  width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:0;padding:10px 16px;border:1px solid var(--m3-outline);border-radius:12px;
  background:var(--m3-surface-container);color:var(--m3-on-surface);text-align:left;
  font:500 14px/1.3 Roboto,'Segoe UI',Arial,sans-serif;letter-spacing:.1px;
  cursor:pointer;box-shadow:none;transition:border-color .18s var(--m3-easing),background-color .18s var(--m3-easing);
}
.m3-date-trigger svg{flex:none;color:var(--primary);}
.m3-date-trigger:hover:not(:disabled){background:var(--m3-surface-high);}
.m3-date-trigger:focus-visible{outline:3px solid var(--m3-focus);outline-offset:2px;}
.m3-date-trigger.is-empty .m3-date-value{color:var(--muted);font-weight:400;}
.m3-date-trigger:disabled{opacity:.5;cursor:not-allowed;}
/* Modal date picker: header, month/year controls, calendar grid, optional text entry. */
.m3-date-dialog{
  box-sizing:border-box;width:min(360px,calc(100vw - 32px));max-height:min(92dvh,740px);
  margin:auto;padding:0;border:none;border-radius:28px;
  background:var(--m3-surface);color:var(--m3-on-surface);box-shadow:0 12px 34px rgba(0,0,0,.23);
  overflow:auto;overscroll-behavior:contain;
}
.m3-date-dialog::backdrop{background:rgba(0,0,0,.38);}
.m3-date-header{background:var(--m3-datepicker-header);padding:20px 24px 17px;}
.m3-date-overline{font:500 12px/1.4 Roboto,'Segoe UI',Arial,sans-serif;letter-spacing:.5px;}
.m3-date-headline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:18px;
  font:400 28px/1.2 Roboto,'Segoe UI',Arial,sans-serif;letter-spacing:0;}
.m3-date-switch,.m3-date-nav button,.m3-date-text-button,.m3-date-filled-button{
  display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:0;cursor:pointer;font:500 14px Roboto,'Segoe UI',Arial,sans-serif;
  transition:background .18s var(--m3-easing);
}
.m3-date-switch,.m3-date-nav button{border-radius:50%;background:transparent;color:var(--m3-on-surface);}
.m3-date-switch:hover,.m3-date-nav button:hover{background:var(--m3-surface-high);}
.m3-date-body{padding:6px 16px 8px;}
.m3-date-nav{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:55px;}
.m3-date-nav button{font-size:27px;line-height:1;}
.m3-date-month-selector{display:flex;gap:3px;align-items:center;flex:1;justify-content:center;}
.m3-date-month-selector select{min-height:42px;border:0;background:transparent;color:var(--m3-on-surface);font:500 14px Roboto,'Segoe UI',Arial,sans-serif;max-width:125px;border-radius:8px;}
.m3-date-month-selector select:last-child{max-width:85px;}
.m3-date-weekdays,.m3-date-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;}
.m3-date-weekdays{margin:2px 0 7px;}
.m3-date-weekdays span{width:40px;text-align:center;padding:9px 0;color:var(--muted);font:500 12px Roboto,'Segoe UI',Arial,sans-serif;}
.m3-date-days{row-gap:1px;}
.m3-date-day{width:min(40px,10vw);height:40px;display:grid;place-items:center;border:0;border-radius:50%;padding:0;
  background:transparent;color:var(--m3-on-surface);font:400 14px Roboto,'Segoe UI',Arial,sans-serif;cursor:pointer;}
.m3-date-day.outside{opacity:.43;}
.m3-date-day.today{border:1px solid var(--primary);}
.m3-date-day.selected{background:var(--m3-datepicker-selected);color:var(--m3-datepicker-on-selected);font-weight:600;border:0;}
.m3-date-day:hover:not(:disabled):not(.selected){background:var(--m3-surface-high);}
.m3-date-day:disabled{opacity:.22;cursor:not-allowed;}
.m3-date-day:focus-visible,.m3-date-dialog button:focus-visible,.m3-date-dialog input:focus-visible,.m3-date-dialog select:focus-visible{outline:3px solid var(--m3-focus);outline-offset:2px;}
.m3-date-typing{padding:16px 8px;}
.m3-date-typing label,.m3-date-time label{display:block;font-size:13px;font-weight:500;margin-bottom:7px;}
.m3-date-typing input,.m3-date-time input{width:100%;min-height:52px;padding:10px 14px;border-radius:8px;border:1px solid var(--m3-outline);
  background:var(--m3-surface-container);color:var(--m3-on-surface);font:400 16px Roboto,'Segoe UI',Arial,sans-serif;}
.m3-date-typing p{font-size:12px;color:var(--muted);}
.m3-date-time{padding:9px 8px 8px;}
.m3-date-error{font-size:12px;color:#b3261e;margin:6px 8px 0;}
body.dark .m3-date-error{color:#ffb4ab;}
.m3-date-actions{display:flex;align-items:center;gap:3px;padding:12px 14px 16px;}
.m3-date-action-spacer{flex:1;}
.m3-date-text-button{border-radius:100px;color:var(--primary);background:transparent;padding:0 11px;}
.m3-date-text-button:hover{background:var(--m3-surface-high);}
.m3-date-filled-button{border-radius:100px;background:var(--primary);color:var(--onprimary);padding:0 23px;}
.m3-date-filled-button:hover{filter:brightness(.96);}
.m3-date-dialog [hidden]{display:none!important;}
@media(prefers-reduced-motion:reduce){.m3-date-dialog,.pilot-actions button{transition:none!important;}}
