/* Each desktop data row becomes one readable card on phones. */
.cell-content{min-width:0;overflow-wrap:anywhere}
@media(max-width:680px){
  input:not([type=checkbox]),select,textarea{font-size:16px;max-width:100%}
  .route-edit select,.route-edit input{font-size:16px}
  .nav-button{min-height:44px}
  button{min-height:46px}
  .toolbar{flex-wrap:wrap}
  .toolbar>.primary{flex:1;min-width:140px}
  .date-label{flex:1}
  .date-label input{width:100%;font-size:16px}
  .panel.table-scroll{border:0;background:transparent;box-shadow:none;overflow:visible}
  .table-scroll table,.table-scroll tbody{display:block;width:100%}
  .table-scroll thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .table-scroll tbody>tr{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.65rem 1rem;margin-bottom:.8rem;box-shadow:0 2px 4px #17294a03}
  .table-scroll td{display:grid;grid-template-columns:minmax(80px,30%) minmax(0,1fr);gap:1rem;align-items:start;border:0;border-bottom:1px solid #f0f3f8;padding:.7rem 0;font-size:.94rem}
  .table-scroll td:last-child{border-bottom:0}
  .table-scroll td:before{content:attr(data-label);font-size:.79rem;color:#8592a7;line-height:1.5;overflow-wrap:normal}
  .table-scroll tr:hover td{background:transparent}
  .cell-content{width:100%}
  .cell-content input[type=checkbox]{width:24px;height:24px;margin:3px 0}
  .cell-content select{max-width:100%}
  .cell-content small{font-size:.8rem;line-height:1.6}
  .route-edit{min-width:0;width:100%}
  .route-edit strong{font-size:.875rem}
  .inline{align-items:stretch}
  .inline>select,.inline>input,.inline>button{min-width:0;max-width:100%}
  .inline>select,.inline>input{flex-basis:100%}
  .inline>button{flex:1 1 auto}
  .candidate{align-items:flex-start;flex-wrap:wrap}
  .candidate>button{width:100%}
  .remote-screen{overscroll-behavior:contain}
  #provider-screen{min-width:700px;width:100%}
  #login-dialog .remote-screen{max-height:50svh;overflow:auto;touch-action:pan-x pan-y}
  #login-dialog>p{font-size:.875rem}
  .dialog-heading h2{font-size:1.15rem}
  .compact-actions{width:100%}
  .compact-actions button{flex:1}
  .section-bar .muted{font-size:.875rem}
  .search{font-size:16px!important}
}
@media(max-width:360px){
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:.8rem}.stat-label{font-size:.75rem}
  .table-scroll td{grid-template-columns:80px minmax(0,1fr);gap:.6rem}
  .table-scroll tbody>tr{padding:.5rem .75rem}
}

.saved-driver-link{border-top:1px solid var(--line,#dce3ec);padding:16px 0}.saved-driver-link input{width:100%;margin-top:10px}.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;padding:10px 16px;text-decoration:none;background:#eaf0f9;color:#173764;font-weight:700}.saved-driver-link .inline{flex-wrap:wrap}

.collection-share{border-top:1px solid var(--line);padding:1.2rem 0}.collection-share textarea{margin:.5rem 0 1rem}.collection-share .inline{flex-wrap:wrap}#active-driver-links>button{margin-bottom:.7rem}.saved-driver-link h3{margin-top:.5rem}.saved-driver-link progress{width:100%;max-width:280px;height:8px}.saved-driver-link:focus{outline:2px solid #4666d4;outline-offset:4px}.collection-share textarea{line-height:1.6}
.scan-progress{margin:1rem 0}.scan-progress strong{display:block;margin-bottom:.6rem;font-size:.9rem}.scan-progress progress{display:block;width:100%;height:14px;-webkit-appearance:none;appearance:none;accent-color:#4666d4;border:0;border-radius:999px;overflow:hidden}.scan-progress progress::-webkit-progress-bar{background:#e7ebf4;border-radius:999px}.scan-progress progress::-webkit-progress-value{background:#4666d4;border-radius:999px}
.mobile-menu-trigger{display:none}
.route-switcher{display:flex;gap:.5rem;margin:1.25rem 0}.route-switcher button{min-height:44px;border-radius:10px}.route-switcher .active{background:#eaf0ff;border-color:#a8bbed;color:#3155bd}
.driver-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.driver-controls label{min-width:0;font-size:.8rem;color:#647794}.driver-controls input,.driver-controls select{display:block;width:100%;margin-top:.45rem;min-height:46px;min-width:0}.filter-note{font-size:.8rem;line-height:1.7;color:#687d99;max-width:850px}
.manual-route-form{display:grid;gap:.8rem}.manual-route-form>p{margin:.2rem 0}.manual-route-form>button{justify-self:start}.manual-route-form select{width:100%;min-width:0}.manual-route-form input[type=date]{max-width:240px}
@media(max-width:680px){.driver-controls{grid-template-columns:minmax(0,1fr)}.route-switcher button{flex:1}.manual-route-form>button{width:100%}.manual-route-form input[type=date]{max-width:none}}
body.menu-open{overflow:hidden}
#mobile-menu{position:fixed;inset:auto 12px max(12px,env(safe-area-inset-bottom));margin:0 auto;width:calc(100% - 24px);max-width:460px;max-height:calc(100svh - 32px - env(safe-area-inset-top));padding:1.2rem;border:0;border-radius:22px;background:#f9fbff;overscroll-behavior:contain}
#mobile-menu::backdrop{background:#101e36a6;backdrop-filter:blur(4px)}
.mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}
.mobile-menu-heading .eyebrow{font-size:.62rem;color:#8492a9;margin:0 0 .4rem}.mobile-menu-heading h2{font-size:1.5rem;margin:0;color:var(--ink)}
#mobile-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.mobile-tool{display:flex;align-items:center;gap:.65rem;text-align:left;min-width:0;min-height:68px;padding:.8rem .7rem;border:1px solid #e2e8f2;border-radius:13px;background:#fff;line-height:1.35;font-size:.85rem;font-weight:600;color:#405370}
.mobile-tool svg{flex:none;width:23px;height:23px;stroke:#7a8ba9;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none}
.mobile-tool.active{background:#eaf0ff;border-color:#a8bbed;color:#3155bd;box-shadow:inset 0 0 0 1px #a8bbed}.mobile-tool.active svg{stroke:#4369dc}
#mobile-utilities{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;border-top:1px solid var(--line);margin-top:1rem;padding-top:.8rem}#mobile-utilities .mobile-tool{min-height:52px;background:transparent;border-color:transparent;padding:.5rem .2rem}
#mobile-signout{width:100%;margin-top:.4rem;padding:.6rem .2rem;color:#7987a0;font-size:.85rem}
@media(max-width:680px){
  .rail{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;padding:max(.65rem,env(safe-area-inset-top)) 1rem .65rem;border-bottom:1px solid #2e4363}
  .rail>.wordmark{margin:0;font-size:1.7rem}.rail nav{display:none}
  .mobile-menu-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;border-radius:10px;background:#2b4162;border-color:#405674;color:#fff;padding:.55rem .9rem;font-size:.9rem}
  .mobile-menu-trigger:hover{background:#354f76;border-color:#637eaa}.menu-lines{width:17px;height:12px;display:block;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}.menu-lines:after{content:'';position:absolute;top:4px;left:0;right:0;border-top:2px solid currentColor}
  .workspace{padding-top:1.2rem}.topbar{gap:.9rem}.topbar .eyebrow{display:none}.topbar h1{font-size:1.65rem;line-height:1.2}
  .toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:end}.date-label{min-width:0}.date-label input{width:100%;margin-top:.3rem}.toolbar>.primary{min-width:0;min-height:47px;background:#fff;color:#3c577e;border-color:#d2ddeb;box-shadow:none;padding:.7rem .85rem}
}
