
:root{
  --bg:#0f1115;
  --panel:#161a22;
  --panel-soft:#1b2130;
  --text:#e9eef7;
  --muted:#9fb1c3;
  --accent:#e61e2a; /* AVM red */
  --ok:#2bb673;
  --warn:#ffb020;
  --radius:16px;
  --gap:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;line-height:1.35}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:20px}
h1,h2,h3{margin:0 0 12px}
h1{font-size:28px;letter-spacing:0.3px}
h2{font-size:20px;color:var(--muted)}
small{color:var(--muted)}
.card{
  background:linear-gradient(180deg,var(--panel),var(--panel-soft));
  border:1px solid rgba(255,255,255,0.06);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:0 10px 30px rgba(0,0,0,0.33);
}
.row{display:flex;gap:var(--gap);align-items:center;flex-wrap:wrap}
.col{flex:1 1 300px}
.input, .select, .textarea{
  width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,0.12);background:#0c0f14;color:var(--text);outline:none;
}
.textarea{min-height:80px;resize:vertical}
.btn{
  appearance:none;border:none;border-radius:14px;padding:12px 16px;background:var(--accent);color:white;font-weight:600;cursor:pointer;
  box-shadow:0 6px 20px rgba(230,30,42,0.35);
}
.btn.secondary{background:#243044}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.18)}
.btn.block{width:100%}
.toolbar{display:flex;gap:8px;flex-wrap:wrap}
.kbd{padding:1px 6px;border-radius:6px;border:1px solid rgba(255,255,255,0.18);color:var(--muted);font-size:12px}
.list{display:grid;grid-template-columns:1fr;gap:var(--gap);}
.card-item{display:flex;gap:12px;align-items:flex-start;position:relative}
.handle{cursor:grab;user-select:none;font-size:18px;color:var(--muted);padding:4px 6px;border-radius:8px;border:1px dashed rgba(255,255,255,0.18)}
.meta{color:var(--muted);font-size:14px;margin-top:6px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,0.2);font-size:12px;color:var(--muted)}
.actions{display:flex;gap:8px;margin-left:auto}
.linkish{color:var(--text);text-decoration:underline dotted;cursor:pointer}
hr.sep{border:none;border-top:1px solid rgba(255,255,255,0.08);margin:12px 0}
.logo{
  display:flex; align-items:center; gap:10px; font-weight:800;
}
.logo .dot{width:12px;height:12px;border-radius:50%;background:var(--accent)}
footer{opacity:0.7;margin-top:24px;font-size:12px;color:var(--muted)}
.hidden{display:none !important}
input[type=tel].input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Mobile-first adjustments for the DRIVER page */
.driver-header{position:sticky;top:0;background:var(--bg);z-index:10;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,0.08)}
.driver-list{display:grid;grid-template-columns:1fr;gap:12px;padding:16px}
.driver-card{padding:14px;border-radius:16px;background:linear-gradient(180deg,var(--panel),var(--panel-soft));border:1px solid rgba(255,255,255,0.06)}
.driver-title{font-weight:700;font-size:18px;margin-bottom:6px}
.driver-line{display:flex;align-items:center;gap:10px;margin:6px 0;word-break:break-word}
.driver-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.btn.ok{background:var(--ok)}
.btn.warn{background:var(--warn);color:#111}
.strike{opacity:0.55;text-decoration:line-through}

/* Print styles for planner print-out */
@media print{
  body{background:white;color:black}
  .no-print{display:none !important}
  .card, .driver-card{border:1px solid #222;background:white;color:black;box-shadow:none}
  a{color:black;text-decoration:none}
  .handle,.actions,.toolbar{display:none !important}
  .container{max-width:100%;padding:0}
  .list{gap:6px}
}
