/* ═══════════════════════════════════════════════
   CSS ADMIN — AutoPremium Panel
═══════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --bg:       #07070f;
  --bg2:      #0c0c18;
  --bg3:      #111120;
  --bg4:      #16162a;
  --border:   rgba(255,255,255,.07);
  --border2:  rgba(255,255,255,.13);
  --accent:   #6c63ff;
  --accent2:  #a855f7;
  --green:    #22c55e;
  --gold:     #f59e0b;
  --red:      #ef4444;
  --text:     #f0f0f8;
  --text2:    #8888a8;
  --text3:    #55556a;
  --r:        14px;
  --rs:       9px;
  --sb:       240px;   /* sidebar width */
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html  { font-size:16px; }
body  { background:var(--bg); color:var(--text); font-family:'Inter',sans-serif; overflow-x:hidden; }
a     { text-decoration:none; color:inherit; }
button, input, select, textarea { font-family:inherit; }
::-webkit-scrollbar       { width:4px; }
::-webkit-scrollbar-track { background:var(--bg2); }
::-webkit-scrollbar-thumb { background:var(--accent); border-radius:2px; }
h1,h2,h3,h4 { font-family:'Outfit',sans-serif; }

/* ─────────────────────────────────────────────
   LOGIN
───────────────────────────────────────────── */
#login-screen {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(ellipse 80% 70% at 50% 30%, rgba(108,99,255,.1), transparent),
             var(--bg);
}
.login-box {
  background:var(--bg2); border:1px solid var(--border2);
  border-radius:var(--r); padding:2.8rem 2.4rem; width:100%; max-width:400px;
}
.login-logo     { text-align:center; margin-bottom:1.4rem; }
.login-logo .l  { font-family:'Outfit',sans-serif; font-size:2rem; font-weight:900;
                   background:linear-gradient(135deg,var(--accent),var(--accent2));
                   -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.login-logo p   { color:var(--text2); font-size:.78rem; margin-top:.25rem; }
.login-box h2   { font-size:1.3rem; font-weight:900; text-align:center; margin-bottom:1.6rem; }
.fgroup         { margin-bottom:.9rem; }
.fgroup label   { display:block; font-size:.71rem; font-weight:700; color:var(--text2); margin-bottom:.32rem; text-transform:uppercase; letter-spacing:.5px; }
.fgroup input   {
  width:100%; padding:.7rem 1rem;
  background:rgba(255,255,255,.04); border:1px solid var(--border);
  border-radius:8px; color:var(--text); font-size:.87rem; transition:border-color .2s;
}
.fgroup input:focus { outline:none; border-color:var(--accent); background:rgba(108,99,255,.04); }
.btn-full       { width:100%; padding:.85rem; border-radius:var(--rs); font-size:.9rem; font-weight:700; border:none; cursor:pointer; }
.btn-primary    { background:linear-gradient(135deg,var(--accent),var(--accent2)); color:#fff; box-shadow:0 4px 20px rgba(108,99,255,.3); }
.btn-primary:hover { opacity:.9; }
#login-err      { color:var(--red); font-size:.79rem; text-align:center; margin-top:.6rem; display:none; }
.back-to-web    { text-align:center; margin-top:1rem; }
.back-to-web a  { font-size:.79rem; color:var(--text3); transition:color .2s; }
.back-to-web a:hover { color:var(--accent); }

/* ─────────────────────────────────────────────
   LAYOUT
───────────────────────────────────────────── */
#app    { display:none; height:100vh; overflow:hidden; }
#app.ready { display:flex; }

/* SIDEBAR */
.sidebar {
  width:var(--sb); flex-shrink:0; height:100vh; background:var(--bg2);
  border-right:1px solid var(--border); display:flex; flex-direction:column;
  overflow-y:auto; position:relative; z-index:50;
}
.sidebar-logo {
  padding:1.4rem 1.3rem 1rem;
  border-bottom:1px solid var(--border);
}
.sidebar-logo .l {
  font-family:'Outfit',sans-serif; font-size:1.22rem; font-weight:900;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
.sidebar-logo span { display:block; font-size:.63rem; color:var(--text3); margin-top:.1rem; }

.sidebar-nav { flex:1; padding:.9rem .7rem; display:flex; flex-direction:column; gap:.2rem; }

.nav-item {
  display:flex; align-items:center; gap:.7rem;
  padding:.7rem .9rem; border-radius:9px; cursor:pointer;
  font-size:.83rem; font-weight:500; color:var(--text2);
  transition:all .2s; border:none; background:none; width:100%; text-align:left;
}
.nav-item i { font-size:.85rem; width:16px; flex-shrink:0; }
.nav-item:hover { background:rgba(255,255,255,.04); color:var(--text); }
.nav-item.active {
  background:rgba(108,99,255,.12); color:var(--accent);
  border:1px solid rgba(108,99,255,.2);
}
.nav-item.active i { color:var(--accent); }
.nav-divider { height:1px; background:var(--border); margin:.4rem 0; }

.sidebar-bottom {
  padding:.9rem .7rem 1.2rem;
  border-top:1px solid var(--border);
}
.user-chip {
  display:flex; align-items:center; gap:.65rem;
  padding:.6rem .8rem; border-radius:9px;
  background:rgba(255,255,255,.03);
}
.user-avatar {
  width:30px; height:30px; border-radius:8px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  display:flex; align-items:center; justify-content:center;
  font-size:.7rem; font-weight:800; color:#fff; flex-shrink:0;
}
.user-info strong { display:block; font-size:.78rem; font-weight:700; }
.user-info span   { font-size:.65rem; color:var(--text3); }
.btn-logout {
  display:block; width:100%; margin-top:.6rem;
  padding:.55rem .8rem; border-radius:8px;
  background:rgba(239,68,68,.07); border:1px solid rgba(239,68,68,.15);
  color:var(--red); font-size:.78rem; font-weight:700; cursor:pointer;
  text-align:center; transition:all .2s;
}
.btn-logout:hover { background:rgba(239,68,68,.14); }

/* MAIN */
.main { flex:1; display:flex; flex-direction:column; overflow:hidden; }
.topbar {
  padding:.9rem 1.8rem; border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
  flex-shrink:0;
}
.topbar h1 { font-size:1.1rem; font-weight:800; }
.topbar-right { display:flex; align-items:center; gap:1rem; }
.admin-date   { font-size:.73rem; color:var(--text2); }
.btn-sm {
  padding:.45rem .9rem; border-radius:7px; font-size:.78rem; font-weight:700;
  cursor:pointer; border:none; display:inline-flex; align-items:center; gap:.35rem;
}
.btn-accent { background:linear-gradient(135deg,var(--accent),var(--accent2)); color:#fff; }
.btn-accent:hover { opacity:.88; }

.content { flex:1; overflow-y:auto; padding:1.8rem; }

/* ─────────────────────────────────────────────
   SECCIONES
───────────────────────────────────────────── */
.section { display:none; }
.section.active { display:block; }

/* ─────────────────────────────────────────────
   DASHBOARD STATS
───────────────────────────────────────────── */
.stats-row { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:2rem; }
.stat-card {
  background:var(--bg2); border:1px solid var(--border); border-radius:var(--r);
  padding:1.4rem; position:relative; overflow:hidden;
}
.stat-card::before {
  content:''; position:absolute; top:-30px; right:-20px;
  width:80px; height:80px; border-radius:50%;
  background:radial-gradient(var(--stat-color, rgba(108,99,255,.12)), transparent);
}
.stat-label { font-size:.68rem; font-weight:700; color:var(--text2); text-transform:uppercase; letter-spacing:.5px; margin-bottom:.5rem; }
.stat-value { font-family:'Outfit',sans-serif; font-size:2.2rem; font-weight:900; }
.stat-icon  { position:absolute; top:1.2rem; right:1.2rem; font-size:1.3rem; color:var(--text3); }

.recent-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.recent-card {
  background:var(--bg2); border:1px solid var(--border);
  border-radius:var(--r); padding:1.2rem;
}
.recent-card h3 { font-size:.85rem; font-weight:800; margin-bottom:1rem; color:var(--text2); text-transform:uppercase; letter-spacing:.5px; }
.rec-item {
  display:flex; align-items:center; gap:.8rem;
  padding:.6rem 0; border-bottom:1px solid var(--border);
}
.rec-item:last-child { border-bottom:none; }
.rec-thumb { width:52px; height:38px; border-radius:7px; object-fit:cover; background:var(--bg3); flex-shrink:0; }
.rec-avatar {
  width:38px; height:38px; border-radius:9px; flex-shrink:0;
  background:rgba(108,99,255,.1); border:1px solid rgba(108,99,255,.2);
  display:flex; align-items:center; justify-content:center;
  color:var(--accent); font-size:.8rem;
}
.rec-info strong { display:block; font-size:.83rem; font-weight:700; }
.rec-info span   { font-size:.72rem; color:var(--text2); }
.rec-badge { margin-left:auto; font-size:.62rem; font-weight:800; text-transform:uppercase; }
.empty-state { text-align:center; padding:2rem; color:var(--text3); font-size:.82rem; }

/* ─────────────────────────────────────────────
   INVENTARIO
───────────────────────────────────────────── */
.inv-toolbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.2rem; flex-wrap:wrap; gap:.7rem; }
.inv-search  { display:flex; align-items:center; gap:.6rem; background:var(--bg2); border:1px solid var(--border); border-radius:9px; padding:.5rem .9rem; flex:1; max-width:300px; }
.inv-search input { background:none; border:none; outline:none; color:var(--text); font-size:.84rem; width:100%; }
.inv-search input::placeholder { color:var(--text3); }

.table-wrap  { overflow-x:auto; }
.inv-table   { width:100%; border-collapse:collapse; }
.inv-table th {
  text-align:left; padding:.65rem 1rem; font-size:.65rem; font-weight:800;
  color:var(--text3); text-transform:uppercase; letter-spacing:.5px;
  border-bottom:1px solid var(--border);
}
.inv-table td { padding:.75rem 1rem; font-size:.83rem; border-bottom:1px solid var(--border); vertical-align:middle; }
.inv-table tr:last-child td { border-bottom:none; }
.inv-table tr:hover td { background:rgba(255,255,255,.02); }
.car-thumb-sm { width:65px; height:44px; border-radius:7px; object-fit:cover; background:var(--bg3); }
.car-brand-td { font-weight:700; }
.car-model-td { font-size:.75rem; color:var(--text2); }
.car-price-td { font-family:'Outfit',sans-serif; font-weight:900; color:var(--accent); font-size:.95rem; }
.car-meta-td  { font-size:.74rem; color:var(--text2); }
.status-badge { font-size:.62rem; font-weight:800; text-transform:uppercase; padding:.18rem .7rem; border-radius:5px; display:inline-block; }
.st-disp { background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.3); color:#22c55e; }
.st-res  { background:rgba(245,158,11,.12); border:1px solid rgba(245,158,11,.3); color:#f59e0b; }
.st-vend { background:rgba(148,163,184,.08); border:1px solid rgba(148,163,184,.2); color:#94a3b8; }
.tbl-actions { display:flex; gap:.35rem; }
.btn-icon {
  width:30px; height:30px; border-radius:7px;
  background:rgba(255,255,255,.04); border:1px solid var(--border);
  color:var(--text2); cursor:pointer; font-size:.75rem;
  display:flex; align-items:center; justify-content:center; transition:all .2s;
}
.btn-icon:hover { background:rgba(108,99,255,.14); border-color:rgba(108,99,255,.3); color:var(--accent); }
.btn-icon.del:hover { background:rgba(239,68,68,.12); border-color:rgba(239,68,68,.3); color:var(--red); }
.btn-icon.pdf:hover { background:rgba(245,158,11,.12); border-color:rgba(245,158,11,.3); color:var(--gold); }
.empty-row td { text-align:center; padding:3.5rem; color:var(--text3); }

/* ─────────────────────────────────────────────
   KANBAN
───────────────────────────────────────────── */
.kanban-toolbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.2rem; gap:.7rem; flex-wrap:wrap; }
.kanban-board   { display:grid; grid-template-columns:repeat(5,1fr); gap:.9rem; overflow-x:auto; min-height:60vh; }

.kanban-col {
  background:var(--bg2); border:1px solid var(--border);
  border-radius:13px; padding:.85rem; min-width:200px;
}
.kcol-header {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:.8rem; padding-bottom:.7rem; border-bottom:2px solid transparent;
}
.kcol-header.c-nuevo    { border-color:#6c63ff; }
.kcol-header.c-contacto { border-color:#38bdf8; }
.kcol-header.c-visita   { border-color:#22c55e; }
.kcol-header.c-negoc    { border-color:#f59e0b; }
.kcol-header.c-cerrado  { border-color:#94a3b8; }

.kcol-title { font-size:.78rem; font-weight:800; display:flex; align-items:center; gap:.4rem; }
.kcol-count { font-size:.7rem; font-weight:800; padding:.12rem .45rem; border-radius:5px; background:rgba(255,255,255,.07); }

.kcards     { display:flex; flex-direction:column; gap:.65rem; min-height:40px; }

.kcard {
  background:var(--bg3); border:1px solid var(--border);
  border-radius:10px; padding:.85rem; transition:all .2s;
  cursor:default;
}
.kcard:hover { border-color:var(--border2); box-shadow:0 4px 16px rgba(0,0,0,.3); }
.kcard-type { font-size:.6rem; font-weight:800; text-transform:uppercase; letter-spacing:.6px; margin-bottom:.3rem; }
.kcard-name { font-weight:700; font-size:.85rem; margin-bottom:.2rem; }
.kcard-detail { font-size:.74rem; color:var(--text2); margin-bottom:.5rem; line-height:1.5; }
.kcard-meta { display:flex; justify-content:space-between; font-size:.65rem; color:var(--text3); margin-bottom:.55rem; }
.stage-select {
  width:100%; padding:.35rem .5rem; background:rgba(255,255,255,.04);
  border:1px solid var(--border); border-radius:6px;
  color:var(--text2); font-size:.72rem; cursor:pointer; margin-bottom:.5rem;
}
.stage-select option { background:var(--bg3); }
.kcard-actions { display:flex; gap:.35rem; }
.kbtn {
  flex:1; padding:.32rem .4rem; border-radius:6px;
  font-size:.68rem; font-weight:700; cursor:pointer; border:none;
  display:flex; align-items:center; justify-content:center; gap:.3rem; transition:all .2s;
}
.kbtn-wa  { background:rgba(37,211,102,.1); border:1px solid rgba(37,211,102,.25); color:#25D366; }
.kbtn-wa:hover  { background:rgba(37,211,102,.2); }
.kbtn-del { background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.2); color:var(--red); }
.kbtn-del:hover { background:rgba(239,68,68,.16); }
.kcard-empty    { text-align:center; padding:1.5rem .5rem; color:var(--text3); font-size:.75rem; }

/* ─────────────────────────────────────────────
   FORMULARIO COCHE (OVERLAY)
───────────────────────────────────────────── */
.car-overlay {
  display:none; position:fixed; inset:0; z-index:400;
  background:rgba(0,0,0,.88); backdrop-filter:blur(8px);
  overflow-y:auto; padding:2rem 1rem;
}
.car-overlay.open { display:flex; align-items:flex-start; justify-content:center; }
.car-form-box {
  background:var(--bg2); border:1px solid var(--border2); border-radius:var(--r);
  width:100%; max-width:700px; overflow:hidden;
}
.form-header {
  padding:1.4rem 1.8rem; border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
}
.form-header h2 { font-size:1.05rem; font-weight:900; }
.modal-close-x {
  width:30px; height:30px; border-radius:7px;
  background:rgba(255,255,255,.05); border:1px solid var(--border);
  color:var(--text2); cursor:pointer; font-size:.8rem;
  display:flex; align-items:center; justify-content:center;
}
.modal-close-x:hover { background:rgba(239,68,68,.12); color:var(--red); }
.form-body { padding:1.8rem; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.form-grid.cols3 { grid-template-columns:1fr 1fr 1fr; }
.fgroup       { margin-bottom:.6rem; }
.fgroup label { display:block; font-size:.7rem; font-weight:700; color:var(--text2); margin-bottom:.3rem; text-transform:uppercase; letter-spacing:.5px; }
.fgroup input, .fgroup select, .fgroup textarea {
  width:100%; padding:.65rem .9rem;
  background:rgba(255,255,255,.04); border:1px solid var(--border);
  border-radius:8px; color:var(--text); font-size:.85rem; transition:border-color .2s;
}
.fgroup input:focus, .fgroup select:focus, .fgroup textarea:focus {
  outline:none; border-color:var(--accent);
}
.fgroup select option { background:var(--bg2); }
.fgroup textarea      { resize:vertical; min-height:80px; }
.span2 { grid-column:1 / span 2; }
.span3 { grid-column:1 / span 3; }

/* Uploader */
.upload-zone {
  border:2px dashed var(--border); border-radius:10px;
  padding:1.4rem; text-align:center; cursor:pointer; transition:border-color .2s;
}
.upload-zone:hover { border-color:var(--accent); }
.upload-zone p     { font-size:.78rem; color:var(--text2); margin-top:.3rem; }
.upload-zone input { display:none; }
.img-previews      { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.8rem; }
.img-prev-thumb    { width:72px; height:50px; border-radius:7px; object-fit:cover; border:2px solid rgba(108,99,255,.3); }
.upload-status     { font-size:.74rem; color:var(--accent); margin-top:.3rem; }

.form-footer { padding:1.2rem 1.8rem; border-top:1px solid var(--border); display:flex; justify-content:flex-end; gap:.7rem; }
.btn-cancel  { padding:.6rem 1.2rem; border-radius:8px; border:1px solid var(--border); background:transparent; color:var(--text2); font-size:.83rem; font-weight:600; cursor:pointer; }
.btn-save    { padding:.6rem 1.4rem; border-radius:8px; background:linear-gradient(135deg,var(--accent),var(--accent2)); color:#fff; font-size:.83rem; font-weight:700; border:none; cursor:pointer; }

/* ─────────────────────────────────────────────
   PRINT PDF
───────────────────────────────────────────── */
#pdf-preview {
  display:none; position:fixed; inset:0; z-index:500;
  background:rgba(0,0,0,.9); overflow-y:auto; padding:2rem;
}
#pdf-preview.open { display:flex; flex-direction:column; align-items:center; }
#pdf-preview-inner { display:flex; flex-direction:column; align-items:center; gap:1rem; width:100%; }
.pdf-toolbar {
  display:flex; gap:.7rem; align-items:center; flex-shrink:0;
}
.pdf-wrap {
  background:#fff; color:#111; border-radius:6px; overflow:hidden;
  width:100%; max-width:640px; padding:0;
}
@media print {
  body > *:not(#pdf-preview) { display:none !important; }
  #pdf-preview { display:block !important; position:static !important; background:none !important; padding:0 !important; }
  .pdf-toolbar { display:none !important; }
  .pdf-wrap    { max-width:100%; box-shadow:none; }
}
.pdf-header {
  background:#111; color:#fff; padding:1.4rem 2rem;
  display:flex; justify-content:space-between; align-items:center;
}
.pdf-logo   { font-family:'Outfit',sans-serif; font-size:1.5rem; font-weight:900;
               background:linear-gradient(135deg,#6c63ff,#a855f7);
               -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.pdf-date   { font-size:.75rem; color:#888; }
.pdf-img    { width:100%; height:260px; object-fit:cover; }
.pdf-body   { padding:1.8rem 2rem; }
.pdf-name   { font-family:'Outfit',sans-serif; font-size:1.7rem; font-weight:900; color:#111; margin-bottom:.2rem; }
.pdf-price  { font-family:'Outfit',sans-serif; font-size:2rem; font-weight:900; color:#6c63ff; margin-bottom:1.2rem; }
.pdf-specs  { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin-bottom:1.2rem; }
.pdf-spec   { border:1px solid #e4e4e4; border-radius:8px; padding:.7rem; }
.pdf-spec span   { display:block; font-size:.63rem; color:#888; margin-bottom:.15rem; text-transform:uppercase; }
.pdf-spec strong { font-size:.84rem; font-weight:700; }
.pdf-desc        { color:#444; font-size:.83rem; line-height:1.7; margin-bottom:1.2rem; padding:1rem; background:#f8f8f8; border-radius:8px; }
.pdf-garantia    { display:flex; align-items:center; gap:.8rem; background:#f0f0ff; border-radius:8px; padding:.9rem 1.1rem; margin-bottom:1.2rem; }
.pdf-garantia i  { color:#6c63ff; font-size:1.1rem; }
.pdf-garantia strong { display:block; font-size:.85rem; color:#333; }
.pdf-garantia span   { font-size:.76rem; color:#666; }
.pdf-footer { background:#f5f5f5; padding:.9rem 2rem; font-size:.72rem; color:#888; text-align:center; }

/* ─────────────────────────────────────────────
   TOAST
───────────────────────────────────────────── */
.toast {
  position:fixed; bottom:2rem; left:50%; transform:translateX(-50%);
  background:var(--bg2); border:1px solid rgba(108,99,255,.4);
  border-radius:10px; padding:.85rem 1.4rem; font-size:.86rem; font-weight:600;
  z-index:9999; animation:toastIn .3s ease;
  box-shadow:0 8px 28px rgba(108,99,255,.2); white-space:nowrap;
}
@keyframes toastIn { from{opacity:0;transform:translateX(-50%) translateY(8px);} to{opacity:1;transform:translateX(-50%) translateY(0);} }

/* ─────────────────────────────────────────────
   RESPONSIVE ADMIN
───────────────────────────────────────────── */
@media (max-width:1100px) { .kanban-board { grid-template-columns:repeat(3,240px); } }
@media (max-width:860px)  {
  .sidebar { width:200px; }
  .stats-row { grid-template-columns:repeat(2,1fr); }
  .recent-grid { grid-template-columns:1fr; }
}
@media (max-width:640px)  {
  #mobile-menu-toggle { display:flex !important; }
  .sidebar { position:fixed; left:-240px; transition:left .3s; z-index:1000; box-shadow: 10px 0 30px rgba(0,0,0,.5); }
  .sidebar.mobile-open { left:0; }
  .main { width: 100%; }
  .kanban-board { grid-template-columns:repeat(2,240px); }
  .form-grid    { grid-template-columns:1fr; }
  .form-grid.cols3 { grid-template-columns:1fr; }
  .span2, .span3 { grid-column:auto; }
}
