/* CRM Abogados v2 · estilos (paleta del CRM del 17-sep: azul marino y dorado) */
:root{
  --navy:#16233F; --navy-2:#1F3864; --gold:#B08D2B; --gold-2:#D8B65A; --gold-text:#7A5F17;
  --bg:#F6F4EF; --surface:#FFFFFF; --surface-2:#FAF9F5; --border:#E5E1D6; --text:#20283A; --mute:#5F6673;
  --danger:#A63D26; --success:#2F6B4F; --radius:8px; --focus:#2F6FDE;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45;}
h1,h2,h3{font-family:'Source Serif 4',Georgia,serif;font-weight:600;color:var(--navy);margin:0 0 6px;line-height:1.2;}
h1{font-size:26px;} h2{font-size:21px;} h3{font-size:17px;}
a{color:var(--navy-2);}
button,input,select,textarea{font:inherit;}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.saltar{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:200;border-radius:6px;}
.saltar:focus{left:8px;}

/* --- armazón --- */
#app{display:flex;min-height:100vh;}
.sidebar{width:236px;background:var(--navy);color:#fff;flex-shrink:0;display:flex;flex-direction:column;padding:18px 0 12px;position:sticky;top:0;height:100vh;overflow-y:auto;}
.brand{display:flex;align-items:center;gap:10px;padding:0 18px 16px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:8px;}
.brand img,.brand .logo-letra{width:34px;height:34px;border-radius:6px;object-fit:cover;flex-shrink:0;}
.logo-letra{background:var(--gold);display:flex;align-items:center;justify-content:center;color:var(--navy);font-weight:700;}
.brand-name{font-family:'Source Serif 4',serif;font-size:16px;font-weight:600;line-height:1.2;word-break:break-word;}
.nav{display:flex;flex-direction:column;}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 18px;color:rgba(255,255,255,.82);cursor:pointer;font-size:14px;border:0;border-left:3px solid transparent;background:none;text-align:left;width:100%;}
.nav-item:hover{background:rgba(255,255,255,.07);color:#fff;}
.nav-item[aria-current="page"]{background:rgba(255,255,255,.11);color:#fff;border-left-color:var(--gold);}
.nav-ico{width:18px;text-align:center;opacity:.9;}
.nav-badge{margin-left:auto;background:var(--gold);color:var(--navy);font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;}
.sidebar-pie{margin-top:auto;padding:14px 18px 0;font-size:12px;color:rgba(255,255,255,.65);border-top:1px solid rgba(255,255,255,.12);}
.sidebar-pie button{background:none;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:6px;padding:5px 10px;cursor:pointer;margin-top:6px;font-size:12.5px;}
.main{flex:1;min-width:0;padding:24px 32px 40px;display:flex;flex-direction:column;}
.main > #vista{flex:1;}
.pie-neferalis{margin-top:32px;text-align:center;font-size:11.5px;color:var(--mute);}
.barra-movil{display:none;}
.banda-demo{background:#FFF7E0;border-bottom:1px solid #EBDFB6;color:#5F4E1E;font-size:12.5px;padding:6px 16px;text-align:center;}

/* --- componentes --- */
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap;}
.topbar .acciones{display:flex;gap:8px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--navy-2);color:#fff;border:1px solid transparent;padding:8px 15px;border-radius:var(--radius);font-size:14px;cursor:pointer;font-weight:600;text-decoration:none;line-height:1.2;}
.btn:hover{background:var(--navy);}
.btn.gold{background:var(--gold);color:var(--navy);}
.btn.gold:hover{background:var(--gold-2);}
.btn.ghost{background:#fff;color:var(--navy-2);border-color:var(--border);}
.btn.ghost:hover{background:var(--surface-2);}
.btn.danger{background:#fff;color:var(--danger);border-color:var(--danger);}
.btn.ok{background:var(--success);color:#fff;}
.btn.sm{padding:5px 10px;font-size:12.5px;}
.btn[disabled]{opacity:.55;cursor:not-allowed;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:14px;min-width:0;}
.card.flush{padding:0;}
.card h3{margin-bottom:10px;}
.grid{display:grid;gap:14px;}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.kpi{font-size:27px;font-weight:700;color:var(--navy);font-family:'Source Serif 4',serif;}
.kpi.red{color:var(--danger);} .kpi.gold{color:var(--gold-text);}
.kpi-label{font-size:12.5px;color:var(--mute);margin-top:2px;}
.kpi-card{cursor:default;}
button.kpi-card{text-align:left;width:100%;font:inherit;cursor:pointer;}
.muted{color:var(--mute);}
.small{font-size:12.5px;}
.empty{text-align:center;padding:30px 16px;color:var(--mute);}
.note{background:#FAF6E9;border:1px solid #EBDFB6;border-radius:8px;padding:11px 13px;font-size:13px;color:#5F4E1E;margin-bottom:14px;}
.note.blue{background:#EEF2FA;border-color:#CBD8EF;color:#2A3E63;}
.note.green{background:#E8F3EC;border-color:#BFDCC9;color:#22533B;}
.note.red{background:#FBEDE8;border-color:#EBC3B6;color:#7A2C1B;}
.flex{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.flex-between{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.derecha{justify-content:flex-end;}
.pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:600;white-space:nowrap;}
.pill.gray{background:#EEECE4;color:#4A4F57;}
.pill.green{background:#E4F0E8;color:var(--success);}
.pill.gold{background:#F5EBD2;color:var(--gold-text);}
.pill.red{background:#F5E4DE;color:var(--danger);}
.pill.blue{background:#E3E9F5;color:var(--navy-2);}
.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.chip{display:inline-flex;align-items:center;gap:6px;background:#EEECE4;border-radius:16px;padding:3px 6px 3px 10px;font-size:12.5px;}
.chip.off{opacity:.55;text-decoration:line-through;}
.chip button{border:0;background:none;cursor:pointer;color:var(--mute);font-size:14px;line-height:1;padding:2px 4px;border-radius:10px;}
.chip button:hover{background:#ddd;}
.var-chip{display:inline-block;background:#EEECE4;padding:2px 7px;border-radius:5px;font-family:ui-monospace,monospace;font-size:11.5px;margin:1px;cursor:pointer;border:0;}
.tabs{display:flex;gap:2px;margin-bottom:14px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:thin;}
.tab{padding:8px 13px;font-size:13.5px;font-weight:600;color:var(--mute);cursor:pointer;border:0;border-bottom:2px solid transparent;background:none;white-space:nowrap;}
.tab[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--gold);}
.filtros{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.filtro{border:1px solid var(--border);background:#fff;border-radius:16px;padding:4px 11px;font-size:12.5px;cursor:pointer;color:var(--text);}
.filtro[aria-pressed="true"]{background:var(--navy-2);color:#fff;border-color:var(--navy-2);}

/* --- formularios --- */
input,select,textarea{width:100%;padding:8px 10px;border:1px solid #CFCABD;border-radius:6px;font-size:14px;background:#fff;color:var(--text);min-width:0;}
textarea{min-height:84px;resize:vertical;}
input[type=checkbox]{width:auto;}
label{font-size:12.5px;font-weight:600;color:var(--mute);display:block;margin-bottom:4px;}
.field{margin-bottom:11px;min-width:0;}
.obligatorio::after{content:" *";color:var(--danger);}
.ayuda{font-size:12px;color:var(--mute);margin-top:3px;}
.buscar{max-width:340px;}

/* --- tablas: en celular se vuelven tarjetas --- */
.tabla-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:13.5px;}
th{text-align:left;color:var(--mute);font-weight:600;font-size:12px;border-bottom:1px solid var(--border);padding:8px 10px;white-space:nowrap;}
td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;}
tbody tr:hover td{background:var(--surface-2);}
tr:last-child td{border-bottom:0;}
.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;}

/* --- modal --- */
.modal-bg{position:fixed;inset:0;background:rgba(20,25,40,.5);display:flex;align-items:flex-start;justify-content:center;padding:32px 14px;overflow:auto;z-index:50;}
.modal{background:#fff;border-radius:10px;padding:20px 22px;width:580px;max-width:100%;box-shadow:0 18px 50px rgba(0,0,0,.25);}
.modal.wide{width:880px;}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;}
.close-x{cursor:pointer;font-size:20px;color:var(--mute);background:none;border:none;padding:2px 8px;border-radius:6px;}
.close-x:hover{background:#eee;}
.toast{position:fixed;bottom:18px;right:18px;left:auto;max-width:calc(100% - 36px);background:var(--navy);color:#fff;padding:11px 16px;border-radius:8px;font-size:13.5px;z-index:99;box-shadow:0 6px 20px rgba(0,0,0,.2);}
.toast.error{background:var(--danger);}

/* --- calendario --- */
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;}
.cal-cell{border:1px solid var(--border);border-radius:6px;min-height:78px;padding:5px;font-size:11.5px;background:#fff;min-width:0;}
.cal-cell.out{background:var(--surface-2);}
.cal-cell.hoy{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);}
.cal-cell.feriado{background:#FBF6E7;}
.cal-daynum{font-weight:700;font-size:12px;margin-bottom:3px;}
.cal-evt{display:block;width:100%;text-align:left;background:var(--navy-2);color:#fff;border:0;border-radius:4px;padding:1px 5px;margin-bottom:2px;font-size:10.5px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-evt.auto{background:var(--success);}
.cal-evt.urgent{background:var(--danger);}

/* --- prospectos --- */
.pipeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:14px;}
.etapa{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;text-align:left;font:inherit;color:inherit;}
.etapa[aria-pressed="true"]{border-color:var(--navy-2);box-shadow:inset 0 0 0 1px var(--navy-2);}
.etapa b{display:block;font-size:20px;font-family:'Source Serif 4',serif;color:var(--navy);}
.etapa span{font-size:11.5px;color:var(--mute);}
.toque{border:1px solid #EBDFB6;background:#FFFCF3;border-radius:8px;padding:10px 12px;margin-bottom:8px;}
.toque.hecho{background:#F3F7F4;border-color:#CFE3D6;}
.toque pre{white-space:pre-wrap;font-family:inherit;margin:6px 0;background:#fff;border:1px dashed #E2D6AE;border-radius:6px;padding:8px;font-size:13px;}
.checklist{list-style:none;padding:0;margin:0;}
.checklist li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.checklist li:last-child{border-bottom:0;}
.checklist .item{flex:1;min-width:140px;}
.carpeta{margin-bottom:10px;}
.carpeta summary{cursor:pointer;font-weight:600;padding:6px 0;}
.file-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:7px 10px;margin-bottom:6px;font-size:13px;flex-wrap:wrap;}
.file-chip span{overflow-wrap:anywhere;}

/* --- correos --- */
.correo-original{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto;}
.correo-original mark{background:#FCE9A6;padding:0 2px;border-radius:3px;}
.datos-ext{width:100%;font-size:13px;}
.datos-ext th{width:38%;white-space:normal;}
.json{background:#1E2433;color:#E8ECF4;border-radius:8px;padding:10px;font-size:11.5px;overflow:auto;max-height:240px;white-space:pre;}

/* --- acceso --- */
.acceso{flex:1;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px 16px;background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);}
.acceso .card{width:400px;max-width:100%;padding:26px 24px;}
.acceso .marca{display:flex;align-items:center;gap:10px;margin-bottom:16px;}

/* --- responsive --- */
@media (max-width:1100px){ .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));} .pipeline{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:900px){
  #app{flex-direction:column;}
  .barra-movil{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--navy);color:#fff;padding:10px 14px;position:sticky;top:0;z-index:40;}
  .barra-movil .brand{border:0;padding:0;margin:0;}
  .barra-movil button{background:none;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:6px;padding:6px 10px;cursor:pointer;}
  .sidebar{position:fixed;inset:0 auto 0 0;width:260px;max-width:85vw;height:100vh;z-index:60;transform:translateX(-100%);transition:transform .2s;}
  .sidebar.abierta{transform:none;box-shadow:0 0 0 100vmax rgba(0,0,0,.45);}
  .sidebar .brand{display:none;}
  .main{padding:16px 16px 28px;}
  .grid-3,.grid-2{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:640px){
  h1{font-size:22px;}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pipeline{grid-template-columns:repeat(2,minmax(0,1fr));}
  .kpi{font-size:22px;}
  .card{padding:13px 13px;}
  .modal{padding:16px 14px;}
  .modal-bg{padding:10px 8px;}
  .buscar{max-width:none;}
  /* tablas → tarjetas */
  table.resp thead{display:none;}
  table.resp, table.resp tbody, table.resp tr, table.resp td{display:block;width:100%;}
  table.resp tr{border-bottom:1px solid var(--border);padding:8px 4px;}
  table.resp td{border:0;padding:3px 8px;display:flex;gap:10px;}
  table.resp td::before{content:attr(data-label);flex:0 0 38%;max-width:38%;color:var(--mute);font-size:12px;font-weight:600;}
  table.resp td[data-label=""]::before{display:none;}
  table.resp td.row-actions{justify-content:flex-start;}
  .cal-cell{min-height:54px;padding:3px;}
  .cal-evt{font-size:9.5px;padding:0 3px;}
  .toast{left:18px;right:18px;}
}
@media (prefers-reduced-motion:reduce){ .sidebar{transition:none;} }
@media print{ .sidebar,.barra-movil,.topbar .acciones,.banda-demo{display:none!important;} .main{padding:0;} }
/* Historial de contactos del prospecto (fase 2) */
.historial{list-style:none;margin:8px 0 0;padding:0 0 0 14px;border-left:2px solid #E2D6AE;}
.historial li{position:relative;padding:0 0 10px 6px;overflow-wrap:anywhere;}
.historial li::before{content:"";position:absolute;left:-21px;top:5px;width:10px;height:10px;border-radius:50%;background:#C9A54A;}

/* ═══ Tema «Lujo» (5-oct-2026) · ónix + oro champán · se superpone a lo de arriba ═══
   Para volver al anterior: borrar este bloque (copia en v2/app.antes-del-tema-lujo.css.bak) */
:root{
  --navy:#0E1420; --navy-2:#1A2333; --onyx:#0A0E16; --onyx-2:#121A28;
  --gold:#C8A45C; --gold-2:#E6CC8F; --gold-text:#8A6A24;
  --oro:linear-gradient(135deg,#F1DDA4 0%,#C8A45C 45%,#9C7A35 100%);
  --bg:#F4F1EA; --surface:#FFFFFF; --surface-2:#FAF8F3; --border:#E6E0D2; --text:#1B2130; --mute:#6A6F7A;
  --radius:12px; --focus:#C8A45C;
  --sombra:0 1px 2px rgba(14,20,32,.04),0 8px 24px -12px rgba(14,20,32,.14);
  --sombra-alta:0 2px 4px rgba(14,20,32,.06),0 22px 48px -18px rgba(14,20,32,.28);
}
body{background:radial-gradient(1200px 600px at 100% -10%,#FBF7EC 0%,transparent 60%),var(--bg);letter-spacing:.005em;}
h1,h2,h3,.brand-name,.kpi,.etapa b{font-family:'Cormorant Garamond','Source Serif 4',Georgia,serif;}
.kpi,.etapa b,h1,h2,h3{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;}
h1{font-size:34px;font-weight:600;letter-spacing:-.01em;}
h2{font-size:26px;} h3{font-size:20px;}
::selection{background:#EAD9AE;color:var(--onyx);}

/* casco oscuro */
.sidebar{background:radial-gradient(500px 300px at 0% 0%,rgba(200,164,92,.13),transparent 70%),linear-gradient(180deg,var(--onyx-2) 0%,var(--onyx) 100%);border-right:1px solid rgba(200,164,92,.18);}
.brand{border-bottom:1px solid rgba(200,164,92,.2);padding-bottom:18px;}
.logo-letra{background:var(--oro);color:var(--onyx);border-radius:10px;box-shadow:0 0 0 1px rgba(255,255,255,.15) inset,0 6px 18px -6px rgba(200,164,92,.6);}
.brand img{border-radius:10px;box-shadow:0 0 0 1px rgba(200,164,92,.45);}
.brand-name{font-size:20px;letter-spacing:.02em;color:#F5EBD2;}
.nav{padding:4px 10px;gap:2px;}
.nav-item{border-left:0;border-radius:9px;padding:10px 12px;color:rgba(235,228,212,.72);font-weight:500;letter-spacing:.01em;transition:background .18s,color .18s;}
.nav-item:hover{background:rgba(200,164,92,.08);color:#F5EBD2;}
.nav-item[aria-current="page"]{background:linear-gradient(90deg,rgba(200,164,92,.22),rgba(200,164,92,.04));color:#F7E7BC;box-shadow:inset 2px 0 0 var(--gold);}
.nav-item[aria-current="page"] .nav-ico{color:var(--gold-2);}
.nav-badge{background:var(--oro);color:var(--onyx);}
.sidebar-pie{border-top:1px solid rgba(200,164,92,.18);color:rgba(235,228,212,.55);}
.sidebar-pie button{border-color:rgba(200,164,92,.4);color:#F5EBD2;border-radius:8px;}
.sidebar-pie button:hover{background:rgba(200,164,92,.12);}
.main{padding:30px 40px 44px;}
.pie-neferalis{letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;}
.banda-demo{background:linear-gradient(90deg,#1A2333,#0E1420);border-bottom:1px solid rgba(200,164,92,.3);color:#E6CC8F;letter-spacing:.02em;}

/* botones */
.btn{background:var(--navy);border-radius:10px;padding:9px 17px;letter-spacing:.01em;box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 6px 16px -8px rgba(14,20,32,.5);transition:transform .15s,box-shadow .15s,background .15s;}
.btn:hover{background:var(--navy-2);transform:translateY(-1px);}
.btn.gold{background:var(--oro);color:var(--onyx);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 8px 20px -10px rgba(156,122,53,.8);}
.btn.gold:hover{background:var(--oro);filter:brightness(1.05);}
.btn.ghost{background:rgba(255,255,255,.7);color:var(--navy);border-color:var(--border);box-shadow:none;backdrop-filter:blur(6px);}
.btn.ghost:hover{border-color:var(--gold);background:#fff;}
.btn.danger,.btn.ok{box-shadow:none;}
.btn[disabled]{transform:none;}

/* tarjetas */
.card{border-radius:16px;border-color:var(--border);box-shadow:var(--sombra);padding:20px 22px;}
.card.flush{overflow:hidden;}
.kpi-card{position:relative;overflow:hidden;}
.kpi-card::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--oro);opacity:.85;}
button.kpi-card{transition:transform .18s,box-shadow .18s;}
button.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--sombra-alta);}
.kpi{font-size:38px;font-weight:600;line-height:1.05;color:var(--navy);}
.kpi.gold{background:var(--oro);-webkit-background-clip:text;background-clip:text;color:transparent;}
.kpi-label{text-transform:uppercase;letter-spacing:.11em;font-size:10.5px;font-weight:600;}
.note{border-radius:12px;}
.pill{letter-spacing:.02em;padding:3px 10px;}
.pill.gold{background:linear-gradient(135deg,#F7EDD3,#EFDDAE);color:#6E5419;}
.tab{letter-spacing:.02em;}
.tab[aria-selected="true"]{border-bottom-color:var(--gold);}
.filtro{border-radius:20px;padding:5px 13px;transition:border-color .15s;}
.filtro:hover{border-color:var(--gold);}
.filtro[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#F5EBD2;}

/* formularios */
input,select,textarea{border-color:#DCD5C4;border-radius:10px;padding:9px 12px;transition:border-color .15s,box-shadow .15s;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(200,164,92,.16);}
label{text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;}

/* tablas */
th{text-transform:uppercase;letter-spacing:.09em;font-size:10.5px;background:var(--surface-2);}
tbody tr:hover td{background:#FBF7EC;}

/* modal y avisos */
.modal-bg{background:rgba(8,11,18,.55);backdrop-filter:blur(6px);}
.modal{border-radius:18px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);border:1px solid rgba(200,164,92,.25);}
.toast{background:var(--onyx);border:1px solid rgba(200,164,92,.4);color:#F5EBD2;border-radius:12px;}

/* calendario y prospectos */
.cal-cell{border-radius:10px;}
.cal-cell.hoy{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold),0 6px 16px -10px rgba(156,122,53,.6);}
.cal-evt{background:var(--navy);border-radius:6px;}
.etapa{border-radius:14px;box-shadow:var(--sombra);transition:transform .15s;}
.etapa:hover{transform:translateY(-1px);}
.etapa b{font-size:28px;}
.etapa span{text-transform:uppercase;letter-spacing:.08em;font-size:10px;}
.etapa[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold),var(--sombra);}
.historial{border-left-color:rgba(200,164,92,.5);}
.historial li::before{background:var(--oro);}

/* acceso */
.acceso{background:radial-gradient(800px 500px at 15% 10%,rgba(200,164,92,.18),transparent 60%),radial-gradient(700px 500px at 90% 100%,rgba(60,80,120,.35),transparent 60%),linear-gradient(160deg,#0A0E16 0%,#121A28 100%);position:relative;}
.acceso::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(200,164,92,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(200,164,92,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);pointer-events:none;}
.acceso .card{position:relative;background:rgba(255,255,255,.97);border:1px solid rgba(200,164,92,.35);border-radius:20px;box-shadow:0 40px 90px -30px rgba(0,0,0,.7);padding:32px 30px;}

@media (max-width:900px){
  .barra-movil{background:linear-gradient(90deg,var(--onyx-2),var(--onyx));border-bottom:1px solid rgba(200,164,92,.25);}
  .barra-movil button{border-color:rgba(200,164,92,.45);color:#F5EBD2;}
  .main{padding:18px 16px 30px;}
}
@media (max-width:640px){ h1{font-size:27px;} .kpi{font-size:29px;} }
@media (prefers-reduced-motion:reduce){ .btn,.etapa,button.kpi-card{transition:none;transform:none!important;} }
