:root{
  --ink:#0B2623;--ink-2:#103A34;--brass:#C6A24C;--brass-deep:#A9852F;
  --paper:#F4F6F5;--card:#ffffff;--text:#17201E;--muted:#6b7a76;
  --line:#e4e9e7;--line-2:#d3dbd8;--ok:#1f9d6b;--warn:#c98a1e;--bad:#c0473f;
  --sans:"Inter",system-ui,sans-serif;--mono:"IBM Plex Mono",monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);background:var(--paper);color:var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.mono{font-family:var(--mono)}

/* login */
.login-wrap{min-height:100vh;display:grid;place-items:center;background:
  radial-gradient(800px 400px at 80% -10%,rgba(198,162,76,.18),transparent 60%),var(--ink)}
.login-card{background:#fff;border-radius:18px;padding:2.4rem;width:min(400px,92vw);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.login-card .brand{display:flex;align-items:center;gap:.6rem;margin-bottom:1.6rem}
.login-card .mark{width:40px;height:40px;border-radius:10px;background:linear-gradient(150deg,var(--ink-2),var(--ink));color:var(--brass);display:grid;place-items:center;font-weight:700;font-size:1.2rem}
.login-card h1{font-size:1.35rem;font-weight:700}
.login-card p.sub{color:var(--muted);font-size:.9rem;margin-top:.2rem}

/* layout */
.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.sidebar{background:var(--ink);color:#cfe0db;padding:1.4rem 0;position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar .brand{display:flex;align-items:center;gap:.6rem;padding:0 1.4rem 1.4rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:1rem}
.sidebar .mark{width:36px;height:36px;border-radius:9px;background:linear-gradient(150deg,var(--ink-2),#0a1f1c);color:var(--brass);display:grid;place-items:center;font-weight:700}
.sidebar .brand b{color:#fff;font-size:1.05rem}
.sidebar .brand span{display:block;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:#8ba39d}
.nav-group{padding:.4rem 0}
.nav-group .lbl{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#7d948e;padding:.6rem 1.4rem .3rem}
.sidebar a.item{display:flex;align-items:center;gap:.7rem;padding:.7rem 1.4rem;font-size:.92rem;color:#bcd0ca;border-left:3px solid transparent;transition:.2s}
.sidebar a.item:hover{background:rgba(255,255,255,.05);color:#fff}
.sidebar a.item.active{background:rgba(198,162,76,.12);color:#fff;border-left-color:var(--brass)}
.sidebar a.item .badge{margin-left:auto;background:var(--brass);color:var(--ink);font-size:.7rem;font-weight:700;padding:.05rem .45rem;border-radius:999px}

.main{display:flex;flex-direction:column;min-width:0}
.topbar{background:#fff;border-bottom:1px solid var(--line);padding:1rem 1.8rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}
.topbar h1{font-size:1.2rem;font-weight:700}
.topbar .who{display:flex;align-items:center;gap:.8rem;font-size:.88rem;color:var(--muted)}
.topbar .who a{color:var(--bad);font-weight:600}
.content{padding:1.8rem;flex:1}

/* cards / stats */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-bottom:1.6rem}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.3rem}
.stat .k{font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.stat .v{font-size:2rem;font-weight:700;margin-top:.3rem}
.stat .v small{font-size:.9rem;color:var(--muted);font-weight:500}
.stat .accent{color:var(--brass-deep)}

.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:1.6rem}
.card .card-h{padding:1rem 1.3rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.card .card-h h2{font-size:1.02rem;font-weight:700}
.card .card-b{padding:1.3rem}

/* tables */
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:.7rem 1.3rem;border-bottom:1px solid var(--line);background:#fafbfb}
td{padding:.85rem 1.3rem;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:middle}
tr:last-child td{border-bottom:0}
tr:hover td{background:#fafbfb}
.tbl-scroll{overflow-x:auto}

/* pills */
.pill{display:inline-block;font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;border:1px solid}
.pill.new{background:#eef7f2;color:var(--ok);border-color:#bfe6d3}
.pill.contacted{background:#fdf5e6;color:var(--warn);border-color:#f0dcaf}
.pill.closed{background:#f1f2f2;color:#7a807e;border-color:#dfe2e1}
.pill.available{background:#eef7f2;color:var(--ok);border-color:#bfe6d3}
.pill.reserved{background:#fdf5e6;color:var(--warn);border-color:#f0dcaf}
.pill.sold{background:#fbeeee;color:var(--bad);border-color:#f0cccb}
.pill.car{background:#eef2fb;color:#3b62c9;border-color:#c9d6f2}
.pill.finance{background:#fdf5e6;color:var(--warn);border-color:#f0dcaf}
.pill.lic{background:#f3eefb;color:#7b45c9;border-color:#dbc9f2}
.pill.health{background:#eef7f2;color:var(--ok);border-color:#bfe6d3}
.pill.all,.pill.other{background:#f1f2f2;color:#7a807e;border-color:#dfe2e1}

/* forms */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.3rem}
.form-grid .full{grid-column:1/-1}
label.fl{display:block;font-size:.8rem;font-weight:600;color:var(--text);margin-bottom:.4rem}
input[type=text],input[type=number],input[type=email],input[type=password],input[type=tel],select,textarea{
  width:100%;padding:.65rem .8rem;border:1px solid var(--line-2);border-radius:9px;font-family:var(--sans);font-size:.92rem;background:#fff;transition:border-color .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brass)}
textarea{resize:vertical}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.62rem 1.1rem;border-radius:9px;font-weight:600;font-size:.88rem;cursor:pointer;border:1px solid transparent;transition:.2s}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{background:var(--ink-2)}
.btn-brass{background:var(--brass);color:var(--ink)}
.btn-brass:hover{background:var(--brass-deep);color:#fff}
.btn-ghost{background:#fff;border-color:var(--line-2);color:var(--text)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-danger{background:#fff;border-color:#e6b7b4;color:var(--bad)}
.btn-danger:hover{background:var(--bad);color:#fff}
.btn-sm{padding:.4rem .7rem;font-size:.8rem}
.actions{display:flex;gap:.5rem;flex-wrap:wrap}

.flash{padding:.85rem 1.1rem;border-radius:10px;margin-bottom:1.3rem;font-size:.9rem}
.flash.ok{background:#eef7f2;color:var(--ok);border:1px solid #bfe6d3}
.flash.err{background:#fbeeee;color:var(--bad);border:1px solid #f0cccb}

.thumb{width:56px;height:40px;border-radius:6px;object-fit:cover;background:var(--ink);display:inline-block}
.photo-count{position:absolute;top:.55rem;left:2.6rem;background:var(--ink);color:#fff;font-size:.62rem;font-weight:700;padding:.05rem .34rem;border-radius:999px;border:1px solid #fff}

/* car gallery in edit form */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.9rem}
.gitem{position:relative;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:#fff}
.gitem.is-cover{border-color:var(--brass);box-shadow:0 0 0 2px rgba(198,162,76,.25)}
.gitem img{width:100%;height:100px;object-fit:cover;display:block}
.gitem .cover-tag{position:absolute;top:.4rem;left:.4rem;background:var(--brass);color:var(--ink);font-size:.62rem;font-weight:700;padding:.1rem .45rem;border-radius:999px}
.gitem .gactions{display:flex;gap:.3rem;padding:.4rem;justify-content:space-between}
.gitem .gactions form{display:inline;flex:0}
.gitem .gactions .btn-sm{padding:.25rem .45rem;font-size:.72rem}
.muted{color:var(--muted)}
.right{text-align:right}
.empty{padding:2.5rem;text-align:center;color:var(--muted)}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}
.filters a{padding:.4rem .9rem;border:1px solid var(--line-2);border-radius:999px;font-size:.84rem;background:#fff}
.filters a.on{background:var(--ink);color:#fff;border-color:var(--ink)}

@media(max-width:900px){
  .shell{grid-template-columns:1fr}
  .sidebar{position:static;height:auto}
  .stat-grid{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr}
}
