/* TMR admin + portal panel styles */
:root{
  --red:#e11d2a;--red-600:#c00d1c;--ink:#0d0e12;--ink-70:#3a3d47;--ink-45:#6b6f7c;
  --line:#e4e6ea;--paper:#fff;--paper-2:#f5f6f8;--ok:#12b981;--warn:#ffb020;
  --radius:14px;--font:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --display:'Sora',var(--font);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--paper-2);color:var(--ink);line-height:1.55}
a{color:var(--red);text-decoration:none}
img{max-width:100%;display:block}

/* layout */
.a-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.a-side{background:var(--ink);color:#fff;padding:24px 18px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh}
.a-side__brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.a-side__brand img{height:26px;filter:brightness(0) invert(1)}
.a-side__brand span{font-family:var(--display);font-weight:700;font-size:.95rem}
.a-side a.a-nav{
  display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;color:rgba(255,255,255,.66);
  font-family:var(--display);font-weight:500;font-size:.9rem;transition:.2s;
}
.a-side a.a-nav:hover{background:rgba(255,255,255,.08);color:#fff}
.a-side a.a-nav.is-active{background:var(--red);color:#fff}
.a-side__foot{margin-top:auto;font-size:.75rem;color:rgba(255,255,255,.4)}
.a-side__foot form{margin-top:10px}
.a-side__foot button{color:#fff;border:1px solid rgba(255,255,255,.2);padding:8px 12px;border-radius:8px;font:inherit;font-size:.8rem;width:100%;background:none;cursor:pointer}
.a-side__foot button:hover{background:rgba(255,255,255,.1)}

.a-main{padding:34px 40px 60px;max-width:1100px}
.a-h1{font-family:var(--display);font-weight:800;font-size:1.7rem;margin-bottom:4px;letter-spacing:-.02em}
.a-sub{color:var(--ink-45);margin-bottom:26px;font-size:.92rem}

/* flash */
.a-flash{padding:12px 16px;border-radius:10px;margin-bottom:18px;font-size:.9rem;font-weight:500}
.a-flash.ok{background:#e7f8f1;color:#0a7a55;border:1px solid #b8ead9}
.a-flash.err{background:#fdeaea;color:#b3261e;border:1px solid #f3c2c0}

/* cards / stats */
.a-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:30px}
.a-stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.a-stat b{display:block;font-family:var(--display);font-weight:800;font-size:1.9rem;letter-spacing:-.02em}
.a-stat span{color:var(--ink-45);font-size:.82rem}

.a-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:22px}
.a-card h2{font-family:var(--display);font-weight:700;font-size:1.1rem;margin-bottom:14px}

/* tables */
.a-table{width:100%;border-collapse:collapse;font-size:.88rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.a-table th,.a-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.a-table th{background:var(--paper-2);font-family:var(--display);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-45)}
.a-table tr:last-child td{border-bottom:0}
.a-table img{width:52px;height:40px;object-fit:cover;border-radius:6px;background:var(--paper-2)}
.a-pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:700;font-family:var(--display)}
.a-pill.on{background:#e7f8f1;color:#0a7a55}
.a-pill.off{background:#f0f1f3;color:var(--ink-45)}
.a-pill.new{background:#fff2e0;color:#a35a00}
.a-pill.contacted{background:#e6f0ff;color:#1a56c4}
.a-pill.test-ride{background:#efe7ff;color:#5b34c4}
.a-pill.won{background:#e7f8f1;color:#0a7a55}
.a-pill.closed{background:#f0f1f3;color:var(--ink-45)}

/* forms */
.a-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.a-form .full{grid-column:1/-1}
.a-form label{display:flex;flex-direction:column;gap:5px;font-family:var(--display);font-weight:600;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-45)}
.a-form input,.a-form select,.a-form textarea{
  font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)
}
.a-form input:focus,.a-form select:focus,.a-form textarea:focus{outline:2px solid var(--red);border-color:transparent}
.a-form .chk{flex-direction:row;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:.9rem}
.a-form .chk input{width:18px;height:18px}
.a-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}

.btn{font-family:var(--display);font-weight:600;font-size:.88rem;padding:11px 20px;border-radius:9px;border:1px solid var(--line);background:var(--paper);cursor:pointer;transition:.2s;color:var(--ink)}
.btn:hover{border-color:var(--ink-45)}
.btn--primary{background:var(--red);border-color:var(--red);color:#fff}
.btn--primary:hover{background:var(--red-600);border-color:var(--red-600)}
.btn--danger{color:#b3261e;border-color:#f3c2c0}
.btn--danger:hover{background:#fdeaea}
.btn--sm{padding:7px 12px;font-size:.8rem}

.a-imgprev{width:120px;height:92px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:var(--paper-2)}

/* auth screens */
.a-auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(120% 80% at 50% 0%,#fff,#eceef2)}
.a-auth__box{width:min(400px,100%);background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:36px}
.a-auth__box img{height:30px;margin-bottom:20px}
.a-auth__box h1{font-family:var(--display);font-weight:800;font-size:1.35rem;margin-bottom:4px}
.a-auth__box p.sub{color:var(--ink-45);font-size:.86rem;margin-bottom:22px}
.a-auth__box label{display:block;font-family:var(--display);font-weight:600;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-45);margin-bottom:6px}
.a-auth__box input{width:100%;font:inherit;padding:11px 13px;border:1px solid var(--line);border-radius:9px;margin-bottom:16px}
.a-auth__box input:focus{outline:2px solid var(--red);border-color:transparent}
.a-auth__box .btn--primary{width:100%}
.a-auth__alt{margin-top:16px;font-size:.85rem;color:var(--ink-45);text-align:center}
.a-hint{margin-top:18px;font-size:.76rem;color:var(--ink-45);background:var(--paper-2);border:1px dashed var(--line);border-radius:8px;padding:10px 12px}

@media (max-width:860px){
  .a-shell{grid-template-columns:1fr}
  .a-side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center}
  .a-side__foot{margin:0}
  .a-side__foot button{width:auto}
  .a-main{padding:24px 18px 50px}
  .a-form{grid-template-columns:1fr}
}
