:root { --ink:#17191c; --gold:#c6923b; --paper:#f2f0eb; --line:#dedbd4; --muted:#717477; --green:#327152; --red:#a1433d; }
* { box-sizing: border-box; }
[hidden] { display:none !important; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button,input,textarea,select { font:inherit; }
button,a { color:inherit; }
a { text-decoration:none; }
.wordmark { display:flex; align-items:center; gap:10px; }
.wordmark > span { width:39px; height:39px; display:grid; place-items:center; border-radius:50%; color:#17191c; background:var(--gold); font:800 14px Georgia,serif; }
.wordmark strong { color:white; font:600 15px Georgia,serif; }
.login-shell { min-height:100vh; display:grid; grid-template-columns:1.1fr .9fr; }
.login-brand { padding:55px 7vw; display:flex; flex-direction:column; justify-content:space-between; color:white; background:radial-gradient(circle at 75% 30%,#3b4147,#202428 38%,#111315 75%); }
.login-brand > div { max-width:680px; margin:100px 0; }
.login-brand p,.kicker { margin:0 0 14px; color:var(--gold); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.18em; }
.login-brand h1 { margin:0; font:500 clamp(44px,6vw,78px)/1.05 Georgia,serif; letter-spacing:-.04em; }
.login-brand small { display:block; margin-top:28px; color:rgba(255,255,255,.58); font-size:13px; }
.login-panel { display:grid; place-items:center; padding:40px; background:#fff; }
.login-panel form { width:min(390px,100%); display:grid; gap:18px; }
.login-panel h2 { margin:0 0 20px; font:500 38px Georgia,serif; }
.login-panel label,.settings-form label { display:grid; gap:7px; color:#56595c; font-size:11px; font-weight:700; }
.login-panel input,.settings-form input { height:47px; padding:0 13px; border:1px solid var(--line); background:#f8f7f4; outline:0; }
.login-panel input:focus,.settings-form input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(198,146,59,.12); }
.primary-button,.secondary-button { min-height:44px; padding:0 18px; border:1px solid transparent; cursor:pointer; font-size:12px; font-weight:750; }
.primary-button { color:white; background:var(--ink); }
.primary-button:hover { background:#303438; }
.primary-button:disabled { opacity:.55; cursor:wait; }
.secondary-button { background:white; border-color:var(--line); }
.form-error { min-height:18px; margin:0; color:var(--red); font-size:12px; }
.back-link { color:var(--muted); font-size:11px; }

.admin-shell { min-height:100vh; display:grid; grid-template-columns:245px 1fr; }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:5; width:245px; padding:28px 20px 22px; display:flex; flex-direction:column; color:white; background:#151719; }
.sidebar .wordmark { padding:0 8px 32px; }
.sidebar nav { display:grid; gap:5px; margin-top:18px; }
.sidebar nav button { min-height:46px; padding:0 13px; display:grid; grid-template-columns:26px 1fr auto; align-items:center; border:0; color:rgba(255,255,255,.56); background:transparent; text-align:left; cursor:pointer; font-size:12px; }
.sidebar nav button:hover,.sidebar nav button.active { color:white; background:rgba(255,255,255,.08); }
.sidebar nav button.active { box-shadow:inset 3px 0 var(--gold); }
.sidebar nav button span { color:#deb05a; font-size:17px; }
.sidebar nav b { min-width:20px; padding:3px 5px; border-radius:15px; color:white; background:#a33e39; text-align:center; font-size:9px; }
.sidebar-bottom { margin-top:auto; display:grid; gap:8px; border-top:1px solid rgba(255,255,255,.1); padding-top:17px; }
.sidebar-bottom a,.sidebar-bottom button { padding:9px 10px; border:0; color:rgba(255,255,255,.53); background:transparent; text-align:left; cursor:pointer; font-size:11px; }
.admin-main { grid-column:2; min-width:0; }
.admin-header { height:88px; padding:0 clamp(25px,4vw,55px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(242,240,235,.94); position:sticky; top:0; z-index:4; backdrop-filter:blur(12px); }
.admin-header > div:first-of-type p { margin:0 0 4px; color:var(--muted); font-size:8px; letter-spacing:.16em; }
.admin-header h1 { margin:0; font:600 21px Georgia,serif; }
.admin-user { display:flex; align-items:center; gap:10px; }
.admin-user > span { width:37px; height:37px; display:grid; place-items:center; border-radius:50%; color:#e8b963; background:var(--ink); font:700 16px Georgia,serif; }
.admin-user div { display:grid; gap:2px; }
.admin-user strong { font-size:11px; }
.admin-user small { color:var(--muted); font-size:9px; }
.sidebar-toggle { display:none; border:0; background:none; font-size:22px; }
.admin-page { display:none; padding:42px clamp(25px,4vw,55px) 70px; }
.admin-page.active { display:block; }
.welcome-card { padding:37px 42px; display:flex; justify-content:space-between; align-items:center; gap:30px; color:white; background:linear-gradient(115deg,#1b1e21,#30353a); }
.welcome-card p { margin:0 0 8px; color:#d9a952; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.welcome-card h2 { margin:0 0 8px; font:500 32px Georgia,serif; }
.welcome-card span { color:rgba(255,255,255,.58); font-size:12px; }
.welcome-card .primary-button { color:#17191c; background:#d7a64f; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin:22px 0; }
.stat-grid article { min-height:137px; padding:22px; display:grid; align-content:start; background:white; border:1px solid var(--line); }
.stat-grid article.accent { background:#f0e3ca; }
.stat-grid span { color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.stat-grid strong { margin:10px 0 5px; font:600 34px Georgia,serif; }
.stat-grid small { color:#999; font-size:9px; }
.dashboard-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.panel { background:white; border:1px solid var(--line); }
.panel-heading { padding:18px 21px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
.panel-heading h3 { margin:0; font:600 17px Georgia,serif; }
.panel-heading button { border:0; color:var(--gold); background:none; cursor:pointer; font-size:10px; font-weight:700; }
.compact-list { min-height:235px; }
.compact-item { padding:14px 20px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; border-bottom:1px solid #ece9e3; }
.compact-item:last-child { border-bottom:0; }
.compact-item img,.compact-icon { width:45px; height:39px; object-fit:cover; background:#ddd; }
.compact-icon { display:grid; place-items:center; border-radius:50%; width:38px; height:38px; color:#9a6b26; background:#f0e2c7; font-weight:800; }
.compact-item div { display:grid; gap:4px; }
.compact-item strong { font-size:11px; }
.compact-item small { color:var(--muted); font-size:9px; }
.compact-item > span { color:var(--gold); font-size:10px; font-weight:700; }
.empty-row { padding:55px 20px; color:var(--muted); text-align:center; font-size:11px; }

.page-tools { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:27px; }
.page-tools h2 { margin:0 0 6px; font:500 34px Georgia,serif; }
.page-tools > div > span { color:var(--muted); font-size:11px; }
.toolbar { padding:12px; display:grid; grid-template-columns:1fr 210px; gap:10px; border:1px solid var(--line); background:white; }
.toolbar input,.toolbar select { height:41px; border:0; padding:0 12px; outline:0; background:#f4f2ee; font-size:11px; }
.table-wrap { margin-top:16px; border:1px solid var(--line); background:white; overflow:auto; }
table { width:100%; border-collapse:collapse; min-width:800px; }
th { padding:13px 15px; color:var(--muted); background:#f8f7f4; text-align:left; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
td { padding:13px 15px; border-top:1px solid #ebe8e2; font-size:11px; }
.car-cell { display:flex; align-items:center; gap:12px; min-width:240px; }
.car-cell img { width:66px; height:45px; object-fit:cover; background:#ddd; }
.car-cell div { display:grid; gap:4px; }
.car-cell strong { font-size:11px; }
.car-cell small { color:var(--muted); font-size:9px; }
.status { display:inline-flex; padding:6px 8px; border-radius:20px; color:var(--green); background:#e1eee6; font-size:9px; font-weight:750; }
.status.reserved { color:#99691e; background:#f4e8cf; }
.status.sold,.status.hidden { color:#686b6e; background:#e9e9e7; }
.row-actions { display:flex; gap:5px; justify-content:end; }
.row-actions button { width:32px; height:32px; border:1px solid var(--line); background:white; cursor:pointer; }
.row-actions button.delete:hover { color:white; border-color:var(--red); background:var(--red); }

.lead-list { display:grid; gap:10px; margin-top:16px; }
.lead-card { padding:18px 20px; display:grid; grid-template-columns:1.1fr .9fr 170px; gap:20px; align-items:center; background:white; border:1px solid var(--line); }
.lead-contact { display:grid; grid-template-columns:42px 1fr; gap:12px; align-items:center; }
.lead-contact > span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:#95671f; background:#f0e3ca; font-weight:800; }
.lead-contact div { display:grid; gap:4px; }
.lead-contact strong { font-size:12px; }
.lead-contact a { color:var(--gold); font-size:12px; font-weight:800; }
.lead-info { display:grid; gap:5px; }
.lead-info strong { font-size:11px; }
.lead-info p { margin:0; color:var(--muted); font-size:10px; line-height:1.5; }
.lead-card select { height:36px; padding:0 9px; border:1px solid var(--line); background:#f7f5f1; font-size:10px; }
.settings-form { max-width:650px; padding:30px; display:grid; gap:18px; }
.settings-form .primary-button { width:max-content; margin-top:5px; }

.editor-modal { width:min(880px,calc(100vw - 28px)); max-height:calc(100vh - 28px); padding:0; border:0; background:white; box-shadow:0 30px 100px rgba(0,0,0,.4); }
.editor-modal::backdrop { background:rgba(10,12,14,.72); backdrop-filter:blur(4px); }
.editor-modal > header { padding:23px 28px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.editor-modal h2 { margin:0; font:500 26px Georgia,serif; }
.editor-modal header button { width:35px; height:35px; border:0; border-radius:50%; background:#eeeae3; cursor:pointer; font-size:22px; }
.admin-form { padding:25px 28px 30px; display:grid; gap:17px; }
.form-grid { display:grid; gap:14px; }
.form-grid.two { grid-template-columns:1fr 1fr; }
.form-grid.three { grid-template-columns:repeat(3,1fr); }
.admin-form input,.admin-form select { min-height:42px; }
.admin-form input[type=file] { padding:9px; }
.check-label { align-content:center; grid-template-columns:auto 1fr !important; align-items:center; padding-top:23px; }
.check-label input { width:17px; min-height:auto; }
.existing-images { display:grid; grid-template-columns:repeat(5,1fr); gap:9px; }
.existing-image { position:relative; }
.existing-image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.existing-image label { position:absolute; inset:auto 3px 3px; padding:5px; display:flex; justify-content:center; color:white; background:rgba(0,0,0,.68); font-size:8px; cursor:pointer; }
.existing-image input { width:auto; min-height:auto; }
.admin-form footer { padding-top:15px; display:flex; justify-content:end; gap:8px; border-top:1px solid var(--line); }
.toast { position:fixed; right:25px; bottom:25px; z-index:20; max-width:380px; padding:13px 18px; color:white; background:var(--green); box-shadow:0 16px 50px rgba(0,0,0,.2); transform:translateY(80px); opacity:0; transition:.25s ease; font-size:11px; }
.toast.show { transform:translateY(0); opacity:1; }
.toast.error { background:var(--red); }

@media (max-width:1000px) {
  .stat-grid { grid-template-columns:1fr 1fr; }
  .dashboard-grid { grid-template-columns:1fr; }
  .lead-card { grid-template-columns:1fr 1fr; }
  .lead-card select { grid-column:1/-1; }
}
@media (max-width:760px) {
  .login-shell { grid-template-columns:1fr; }
  .login-brand { min-height:310px; padding:30px 25px; }
  .login-brand > div { margin:50px 0 0; }
  .login-brand h1 { font-size:42px; }
  .login-panel { padding:45px 25px; }
  .admin-shell { display:block; }
  .sidebar { transform:translateX(-100%); transition:.25s ease; box-shadow:none; }
  .sidebar.open { transform:translateX(0); box-shadow:20px 0 60px rgba(0,0,0,.25); }
  .admin-main { min-width:0; }
  .admin-header { padding:0 18px; }
  .sidebar-toggle { display:block; }
  .admin-header > div:first-of-type { margin-right:auto; margin-left:12px; }
  .admin-user div { display:none; }
  .admin-page { padding:25px 17px 55px; }
  .welcome-card,.page-tools { align-items:start; flex-direction:column; }
  .stat-grid { gap:9px; }
  .stat-grid article { min-height:120px; padding:16px; }
  .toolbar { grid-template-columns:1fr; }
  .lead-card { grid-template-columns:1fr; }
  .lead-card select { grid-column:auto; }
  .form-grid.two,.form-grid.three { grid-template-columns:1fr; }
  .existing-images { grid-template-columns:repeat(3,1fr); }
}
