:root{
  --bg:#f3f4f6; --panel:#fff; --text:#111827; --muted:#6b7280; --line:#e5e7eb;
  --accent:#ea580c; --danger:#b91c1c; --ok:#15803d; --warn:#a16207;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}
button{cursor:pointer}
.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#111827;color:white}
.brand{font-size:22px;font-weight:800}.brand span{color:#fb923c}
.container{max-width:1200px;margin:0 auto;padding:18px}
.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.metric{font-size:30px;font-weight:800;margin-top:8px}
.muted{color:var(--muted)}
.nav{display:flex;gap:8px;overflow:auto;margin:16px 0}
.nav button{border:0;background:white;padding:10px 14px;border-radius:999px;white-space:nowrap}
.nav button.active{background:#111827;color:#fff}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}
th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{background:#f9fafb;font-size:13px}
form{display:grid;gap:10px}
input,select{width:100%;padding:11px;border:1px solid #d1d5db;border-radius:10px;background:#fff}
.primary{border:0;background:var(--accent);color:white;padding:11px 15px;border-radius:10px;font-weight:700}
.secondary{border:1px solid var(--line);background:white;padding:10px 14px;border-radius:10px}
.login{max-width:420px;margin:10vh auto;padding:24px}
.row{display:flex;gap:10px;align-items:center}.space{justify-content:space-between}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;background:#f3f4f6}
.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.badge.danger{background:#fee2e2;color:#991b1b}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px}
.hidden{display:none!important}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.grid{grid-template-columns:1fr}.container{padding:12px}.topbar{padding:12px}}

.vehicle-photo-panel{
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:12px;
  margin-top:12px;
}

.vehicle-photo-card{
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
  background:#fff;
}

.vehicle-photo-card img{
  width:100%;
  height:160px;
  object-fit:cover;
  border-radius:10px;
  display:block;
  margin:8px 0;
}

.vehicle-photo-card input[type="file"]{
  font-size:13px;
}

.vehicle-photo-card button{
  width:100%;
  margin-top:8px;
}

@media(max-width:700px){
  .vehicle-photo-panel{
    grid-template-columns:1fr;
  }

  .vehicle-photo-card img{
    height:220px;
  }
}

.vehicle-photo-card{
  min-width:0;
  overflow:hidden;
}

.vehicle-photo-card input[type="file"]{
  display:block;
  width:100%;
  max-width:100%;
  overflow:hidden;
  margin-top:10px;
}

.vehicle-photo-card .primary{
  display:block;
  width:100%;
  margin-top:8px;
}

.vehicle-photo-panel{
  align-items:start;
}
