:root { --ink:#1d252c; --navy:#27313b; --gold:#c99027; --paper:#f5f6f7; --line:#d8dde1; --muted:#68737c; --danger:#b42318; --ok:#097969; font-family:Arial, Helvetica, sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; }
button,.button-link { border:0; border-radius:6px; background:var(--navy); color:#fff; cursor:pointer; padding:10px 14px; font:inherit; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
button:hover,.button-link:hover { background:#111920; }
button:disabled { cursor:wait; opacity:.7; }
.button-secondary { background:#e9edf0; color:var(--ink); }
.button-secondary:hover { background:#dce3e8; }
input,select,textarea { width:100%; border:1px solid #bfc8cf; border-radius:5px; padding:9px; font:inherit; color:var(--ink); background:#fff; }
label { display:grid; gap:6px; font-size:13px; font-weight:700; }
.eyebrow { margin:0; color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1 { margin:4px 0 0; font-size:25px; } h2 { margin:4px 0; font-size:18px; } p { line-height:1.45; } .muted { color:var(--muted); } .small { font-size:13px; }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; background:linear-gradient(135deg,#151c22,#34424d); }
.login-card { display:grid; gap:15px; background:#fff; max-width:390px; width:100%; padding:32px; border-radius:12px; box-shadow:0 20px 50px #0005; }
.login-card h1 { font-size:30px; }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:20px max(24px,calc((100% - 1380px)/2)); background:#fff; border-bottom:1px solid var(--line); }
.topbar-actions,.button-row { display:flex; align-items:center; gap:10px; }
main { max-width:1380px; margin:0 auto; padding:24px; }
.panel { background:#fff; border:1px solid var(--line); border-radius:9px; padding:16px; }
.toolbar { display:grid; grid-template-columns:2fr 1.1fr 1.1fr 1.1fr auto auto auto auto; align-items:end; gap:12px; }
.summary { color:var(--muted); font-size:14px; }
.fleet-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.vehicle-card { background:#fff; border:1px solid var(--line); border-radius:9px; overflow:hidden; display:grid; grid-template-rows:205px auto; }
.vehicle-image { width:100%; height:205px; object-fit:cover; background:#dde2e5; }
.vehicle-body { padding:15px; display:grid; grid-template-columns:1fr auto; gap:7px; align-items:start; }
.vehicle-heading { grid-column:1; } .brand { margin:0; color:var(--muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.availability { border-radius:99px; padding:5px 8px; font-size:12px; font-weight:700; background:#fbe9e7; color:var(--danger); white-space:nowrap; }.availability.free { background:#e4f4ee; color:var(--ok); }
.rate,.specs { margin:2px 0; color:var(--muted); font-size:14px; grid-column:1 / -1; }.rate { color:var(--ink); font-weight:700; }.edit { grid-column:1 / -1; margin-top:7px; }
.dialog { max-width:650px; width:calc(100% - 32px); border:0; border-radius:12px; padding:28px; box-shadow:0 25px 80px #0006; }.wide-dialog { max-width:1000px; }.dialog::backdrop { background:#0008; }.close { position:absolute; top:10px; right:12px; padding:3px 10px; background:transparent; color:var(--ink); font-size:28px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.form-grid .full { grid-column:1 / -1; }.checkbox { display:flex; align-items:center; gap:8px; }.checkbox input { width:auto; }
.editor { display:grid; grid-template-columns:1.25fr .75fr; gap:24px; }.editor h2 { font-size:24px; }.editor-section { display:grid; gap:13px; }.editor .form-grid { margin-top:14px; }.photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.photo { position:relative; }.photo img { width:100%; height:110px; object-fit:cover; border-radius:6px; }.photo button { position:absolute; bottom:6px; right:6px; padding:4px 7px; background:#991b1b; font-size:12px; }.inline-note { font-size:13px; color:var(--muted); }.error { min-height:18px; color:var(--danger); margin:0; font-size:13px; }.success { color:var(--ok); }
@media (max-width:950px) { .toolbar { grid-template-columns:1fr 1fr; }.editor { grid-template-columns:1fr; }.topbar { padding:16px; } }
@media (max-width:560px) { main { padding:14px; }.toolbar,.form-grid { grid-template-columns:1fr; }.toolbar button { width:100%; }.topbar { align-items:flex-start; gap:12px; }.topbar-actions { flex-direction:column; align-items:flex-end; }.vehicle-card { grid-template-rows:180px auto; }.vehicle-image { height:180px; } }
