/* Archivo alojada en el propio dominio (sin Google Fonts: la CSP solo permite 'self') */
@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/archivo-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/archivo-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/archivo-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/archivo-latin-800-normal.woff2) format('woff2')}
/* Bóveda — base visual de las vistas previas (Fase 0). Sistema DK de DaiBackup como punto de partida:
   Archivo, texto #242128, secundario #5f5b66, bordes #e5e0ea, fondo #f6f2fa, tarjetas blancas, violeta solo en acciones,
   radios 4 px (botones) y 8 px (tarjetas), sin degradados. El acento cambiará con la marca definitiva. */
:root{
  --bv-ink:#242128;--bv-mut:#5f5b66;--bv-line:#e5e0ea;--bv-line2:#d6cfe0;--bv-bg:#f6f2fa;--bv-card:#fff;
  --bv-acc:#8130c6;--bv-acc2:#631dae;--bv-acc3:#470e90;--bv-accbg:#f1e8fb;
  --bv-ok:#065F46;--bv-okbg:#ECFDF5;--bv-warn:#92400E;--bv-warnbg:#FFFBEB;--bv-crit:#991B1B;--bv-critbg:#FEF2F2;
  --bv-r:4px;--bv-rc:8px;--bv-sh:0 1px 2px rgba(36,33,40,.06),0 4px 14px rgba(36,33,40,.05);
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:Archivo,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--bv-ink);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
.bv-fondo{background:var(--bv-bg);min-height:100vh}
.bv-mut{color:var(--bv-mut)}
.bv-mono{font-family:ui-monospace,Menlo,Consolas,monospace}
a{color:var(--bv-acc2)}a:hover{color:var(--bv-acc3)}
.bv-card{background:var(--bv-card);border:1px solid var(--bv-line);border-radius:var(--bv-rc)}
.bv-oculto{display:none !important}

/* botones */
.bv-btn{font:inherit;font-weight:600;font-size:14px;border-radius:var(--bv-r);padding:9px 16px;border:1px solid var(--bv-line2);background:#fff;color:var(--bv-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.bv-btn:hover{border-color:#bfb5cc;background:#faf8fc;color:var(--bv-ink)}
.bv-btn:focus-visible,.bv-in:focus-visible,.bv-ico-btn:focus-visible{outline:2px solid var(--bv-acc);outline-offset:2px}
.bv-btn-pri{background:var(--bv-acc);border-color:var(--bv-acc);color:#fff}
.bv-btn-pri:hover{background:var(--bv-acc2);border-color:var(--bv-acc2);color:#fff}
.bv-btn-pri:disabled{background:#cdb8e3;border-color:#cdb8e3;cursor:not-allowed}
.bv-btn-crit{background:#fff;border-color:#f3c4c4;color:var(--bv-crit)}
.bv-btn-crit:hover{background:var(--bv-critbg);border-color:#e8a3a3;color:var(--bv-crit)}
.bv-btn-sm{padding:6px 10px;font-size:13px}
.bv-btn-link{border:0;background:none;color:var(--bv-acc2);padding:0;font-weight:600}
.bv-btn-link:hover{background:none;color:var(--bv-acc3)}
.bv-ico-btn{border:0;background:none;color:var(--bv-mut);width:30px;height:30px;border-radius:var(--bv-r);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.bv-ico-btn:hover{background:var(--bv-bg);color:var(--bv-ink)}
.bv-ico-btn svg,.bv-btn svg{width:16px;height:16px;flex:none}

/* campos */
.bv-lab{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--bv-mut);margin:0 0 6px}
.bv-in{font:inherit;width:100%;padding:9px 12px;border:1px solid var(--bv-line2);border-radius:var(--bv-r);background:#fff;color:var(--bv-ink)}
.bv-in::placeholder{color:#9a94a3}
.bv-campo{margin-bottom:16px}
.bv-in-grupo{display:flex;align-items:stretch}
.bv-in-grupo .bv-in{border-top-right-radius:0;border-bottom-right-radius:0}
.bv-in-grupo .bv-ico-btn{border:1px solid var(--bv-line2);border-left:0;border-radius:0 var(--bv-r) var(--bv-r) 0;height:auto;width:40px}

/* avisos */
.bv-aviso{display:flex;gap:10px;align-items:flex-start;border-radius:var(--bv-rc);padding:12px 14px;font-size:13px}
.bv-aviso svg{width:18px;height:18px;flex:none;margin-top:1px}
.bv-aviso-crit{background:var(--bv-critbg);color:var(--bv-crit);border:1px solid #f6d0d0}
.bv-aviso-warn{background:var(--bv-warnbg);color:var(--bv-warn);border:1px solid #f5e1b8}
.bv-aviso-info{background:var(--bv-accbg);color:var(--bv-acc3);border:1px solid #e2d0f5}
.bv-aviso b{font-weight:700}

/* etiqueta de la vista previa (para cambiar de estado sin servidor) */
.bv-prev{position:fixed;left:12px;bottom:12px;z-index:50;display:flex;gap:6px;flex-wrap:wrap;align-items:center;background:#242128;color:#fff;padding:6px 8px 6px 12px;border-radius:999px;font-size:12px;box-shadow:var(--bv-sh);max-width:calc(100vw - 24px)}
.bv-prev button{font:inherit;font-size:12px;border:0;border-radius:999px;padding:4px 10px;background:#3a3540;color:#fff;cursor:pointer}
.bv-prev button[aria-pressed="true"]{background:var(--bv-acc)}

/* marca provisoria */
.bv-marca{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:-.01em;color:var(--bv-ink);text-decoration:none}
.bv-marca-ico{width:30px;height:30px;border-radius:7px;background:var(--bv-acc);display:flex;align-items:center;justify-content:center}
.bv-marca-ico svg{width:18px;height:18px}
.bv-marca small{font-size:11px;font-weight:600;color:var(--bv-mut);letter-spacing:.06em;margin-left:2px}

@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}
