/* Settings (1.2): section headers, fleet table, vehicle profile, row menu, tabbed
   camera editor, multi-camera apply, places. Same tokens as app.css. */

.sethead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:2px 0 2px}
.sethead h2{font-family:var(--fd);font-size:18px;font-weight:600;letter-spacing:-.2px}
.sethead p.muted{font-size:12.5px;margin-top:3px;max-width:640px;line-height:1.5}
.sethead .row{flex:none}
.savebar{padding-top:4px}
.kv .v.plain{font-family:inherit}
/* the settings column must be allowed to shrink, or a wide tab strip / table widens the page */
.setwrap>[data-body]{min-width:0}
/* leave room for the Oracle button in the bottom-right corner */
.savebar{padding-right:76px}
.cedit~.applybar{margin-right:72px}

/* fleet tables */
.vcard{padding:6px 8px}
.tscroll{overflow-x:auto}
.vtbl tbody tr,.ptbl tbody tr{cursor:pointer}
.vtbl tbody tr:hover td,.ptbl tbody tr:hover td{background:var(--surface-2)}
.vtbl tbody tr:focus-visible,.ptbl tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.vtbl td b,.ptbl td b{font-weight:600}
.vtbl .chip .sd{width:7px;height:7px}
.vtbl td.c-menu,.ptbl td.c-menu{width:1%;text-align:right}
.vtbl td.c-fuel{font-size:11.5px}
.vtbl a.chip{text-decoration:none}

/* the ⋯ row menu */
.rowmenu{position:fixed;z-index:160;min-width:210px;background:var(--glass-solid);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:5px;display:flex;flex-direction:column}
.rowmenu a,.rowmenu button{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;border:none;background:none;color:var(--ink);font:inherit;font-size:12.5px;text-decoration:none;text-align:left;cursor:pointer}
.rowmenu a:hover,.rowmenu button:hover,.rowmenu a:focus-visible,.rowmenu button:focus-visible{background:var(--surface-2);outline:none}
.rowmenu svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;color:var(--muted);flex:none}
.rowmenu .danger{color:var(--crit)}.rowmenu .danger svg{color:var(--crit)}
.rowmenu hr{border:none;border-top:1px solid var(--line);margin:4px 2px}

/* vehicle profile */
.vhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.vh-id{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}
.vh-id h2{font-family:var(--fd);font-size:17px;font-weight:600}
.vh-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);flex:none}
.vh-ic svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vh-act{gap:6px}

/* tabbed camera editor */
.cedit{padding-bottom:6px}
.ctabs{margin:12px -16px 0;padding:0 10px;overflow-x:auto;scrollbar-width:thin;flex-wrap:nowrap}
.ctabs button{white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.tcount{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--on-accent);font-family:var(--fm);font-size:10px;font-weight:600}
.tcount.bad{background:var(--crit);color:#fff}
.tblurb{font-size:12px;margin:10px 0 2px}
.sgroup{margin-top:10px}
.sgroup+.sgroup{border-top:1px solid var(--line);padding-top:6px;margin-top:12px}
.sgh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:8px 0 2px}
.sgh h4{font-family:var(--fd);font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:600}
.sgh .muted{font-size:11.5px}
.sgroup .srow:first-of-type{border-top:none}

/* apply to several cameras */
.pickcams{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto}
.pickcam{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:pointer;font-size:12.5px}
.pickcam:has(input:checked){border-color:var(--accent)}
.pickcam b{display:block;font-weight:600}.pickcam .faint{font-size:11px}
.mresults{display:flex;flex-direction:column;gap:6px}
.mres{display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:10px;padding:8px 10px;border-radius:9px;background:var(--surface-2);font-size:12px;border-left:3px solid var(--faint)}
.mres.go{border-left-color:var(--ok)}.mres.bad{border-left-color:var(--crit)}.mres.same{opacity:.75}
.mres b{font-weight:600}

/* fuel link card */
.fuelcard{display:flex;gap:14px;align-items:flex-start}
.fc-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);flex:none}
.fc-ic svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media (max-width:900px){
  .sethead{align-items:flex-start}
  .ctabs{margin:12px -16px 0}
  .applybar{flex-wrap:wrap}
  .applybar .ab-note{display:none}
  /* tables → cards */
  .vtbl thead,.ptbl thead,.dtbl thead,.atbl thead{display:none}
  .vtbl tr,.ptbl tr,.dtbl tr,.atbl tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:11px 6px;border-bottom:1px solid var(--line);position:relative}
  .vtbl tr:last-child,.ptbl tr:last-child,.dtbl tr:last-child,.atbl tr:last-child{border-bottom:none}
  .vtbl td,.ptbl td,.dtbl td,.atbl td{border:none;padding:0;font-size:12px}
  .vtbl td.c-name,.ptbl td.c-name{flex:1 1 calc(100% - 50px);font-size:13px}
  .vtbl td.c-menu,.ptbl td.c-menu{position:absolute;top:9px;right:6px;width:auto}
  .vtbl td.c-veh,.vtbl td.c-cam,.ptbl td.c-where{flex:1 1 100%}
  .vtbl td.c-fuel:has(.faint),.vtbl td.c-drv:has(.faint),.vtbl td.c-veh:has(.faint){display:none}
  .vtbl tbody tr:hover td{background:none}
  .ptbl td.c-in:has(.faint){display:none}
  .dtbl td:first-child{flex:1 1 calc(100% - 70px)}
  .dtbl td:last-child{margin-left:auto}
  .atbl td:first-child{flex:1 1 100%;font-size:11px;color:var(--muted)}
  .mres{grid-template-columns:1fr}
  .vh-act .btn{flex:1 1 auto}
}
@media (max-width:520px){
  .srow{flex-wrap:wrap}
  .srow .sc{width:100%}
  .srow .sc .select,.srow .sc .input{flex:1;min-width:0;width:100%}
  .srow .sc .toggle{margin-left:auto}
}
@media (max-width:900px){
  .applybar>span[style*="flex:1"]{display:none}
  .applybar b{flex:1}
  .applybar [data-a="many"],.applybar [data-a="review"]{flex:1 1 40%}
}

/* tech Wi-Fi hotspot card */
.hsform{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 18px;margin-top:12px;align-items:start}
.hsform .hsrow{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.hsform .hsrow .sl{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.hsform .hsrow .sl small{color:var(--muted);font-size:11.5px}
.pwrow{display:flex;gap:6px;align-items:center}
.pwrow .input{flex:1;min-width:0}
.hsact{margin-top:12px;flex-wrap:wrap;gap:8px}
.linkbtn{background:none;border:none;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.hshelp{margin-top:12px;font-size:12.5px;line-height:1.55}
.hshelp summary{cursor:pointer;color:var(--muted);font-weight:600}
.hshelp ul{margin:8px 0 0 18px;display:flex;flex-direction:column;gap:6px}
@media (max-width:720px){.hsform{grid-template-columns:1fr}}

/* Fuel → Cards: WEX vehicles (kept here so app.css stays untouched) */
.wvgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-top:12px}
.wexv{display:flex;flex-direction:column;gap:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:11px 12px;min-width:0}
.wexv.unlinked{border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}
.wexv .chip{flex:none;text-decoration:none}
.wvkv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 12px;font-size:12px}
.wvkv span{color:var(--muted)}
.wvkv b{font-weight:500;overflow-wrap:anywhere}
.wvact{gap:6px;flex-wrap:wrap}
.wvact .select{flex:1 1 140px;width:auto;min-width:0}
@media (max-width:520px){.wvgrid{grid-template-columns:1fr}}
