:root{
  --bg:#0b0f19;
  --card:#121a2a;
  --text:#e8eefc;
  --muted:#aab6d6;
  --accent:#6ea8fe;
  --danger:#ff6b6b;
  --ok:#51cf66;

  --primary:#001F5B;
  --primary-700:#002a78;
  --secondary:#6c757d;
  --secondary-700:#5c636a;
  --success:#198754;
  --success-700:#157347;
  --danger2:#dc3545;
  --danger2-700:#bb2d3b;
  --border:#ccd5e6;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial;
  background:#f5f7fb;
  color:#111
}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:1100px;margin:0 auto;padding:18px}

.topbar{background:var(--primary);color:#fff}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-weight:700}
.nav a{color:#fff;margin-left:12px;opacity:.9}
.nav a:hover{opacity:1}

.card{
  background:#fff;
  border:1px solid #e6eaf2;
  border-radius:12px;
  padding:14px;
  margin:12px 0;
  box-shadow:0 1px 2px rgba(0,0,0,.03)
}

.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.col-6{grid-column:span 6}
.col-12{grid-column:span 12}
.col-5{grid-column:span 5}
.col-4{grid-column:span 4}
.col-3{grid-column:span 3}
.col-2{grid-column:span 2}
.col-8{grid-column:span 8}
@media(max-width:800px){.col-6,.col-5,.col-4,.col-3,.col-2,.col-8{grid-column:span 12}}

h1,h2{margin:8px 0 10px}

label{display:block;font-size:.92rem;margin:10px 0 6px}

/* Inputs */
input,select,textarea{
  width:100%;
  padding:10px;
  border:1px solid var(--border);
  border-radius:10px;
  font-size:1rem
}

/* OJO: el botón por defecto era width:100%; lo mantenemos para forms,
   pero ahora creamos clases .btn para botones inline (acciones). */
button{
  width:100%;
  padding:10px;
  border:1px solid transparent;
  border-radius:10px;
  font-size:1rem;
  background:var(--primary);
  color:#fff;
  cursor:pointer
}
button:hover{filter:brightness(.95)}

/* Tablas */
.table{width:100%;border-collapse:collapse}
.table th,.table td{
  border:1px solid #e6eaf2;
  padding:8px;
  font-size:.92rem;
  vertical-align:top
}

/* Badges */
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-size:.8rem;
  border:1px solid #dbe3f2;
  background:#f2f6ff
}
.badge.ok{background:#e9fbef;border-color:#c1f1cf}
.badge.no{background:#fff0f0;border-color:#ffd1d1}

.flash{padding:10px 12px;border-radius:12px;margin:10px 0;border:1px solid #e6eaf2}
.flash.success{background:#e9fbef;border-color:#c1f1cf}
.flash.error{background:#fff0f0;border-color:#ffd1d1}

.inline{display:flex;gap:10px;align-items:center}
.inline > *{flex:1}

.small{font-size:.9rem;color:#334}
.muted{color:#667; font-size:.92rem}

/* Contenedores de acciones */
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.actions form{margin:0}

/* ===== BOTONES UNIFICADOS ===== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  width:auto !important;          /* <- evita desbordes */
  padding:10px 14px;
  border-radius:12px;

  font-weight:600;
  font-size:.95rem;
  line-height:1;

  text-decoration:none !important;
  border:1px solid transparent;

  cursor:pointer;
  user-select:none;
  white-space:nowrap;
}

.btn-sm{
  padding:8px 10px;
  border-radius:10px;
  font-size:.9rem;
}

.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-700);border-color:var(--primary-700)}

.btn-secondary{background:var(--secondary);color:#fff;border-color:var(--secondary)}
.btn-secondary:hover{background:var(--secondary-700);border-color:var(--secondary-700)}

.btn-success{background:var(--success);color:#fff;border-color:var(--success)}
.btn-success:hover{background:var(--success-700);border-color:var(--success-700)}

.btn-danger{background:var(--danger2);color:#fff;border-color:var(--danger2)}
.btn-danger:hover{background:var(--danger2-700);border-color:var(--danger2-700)}

.btn-outline{
  background:#fff;
  color:var(--primary);
  border-color:#d9dde5;
}
.btn-outline:hover{background:#f6f7f9}

/* Para evitar que dentro de celdas se estiren */
.table .btn, .table button.btn{width:auto !important}

/* Estilo para links tipo botón dentro de tabla */
.btn:focus{outline:2px solid rgba(0,31,91,.25);outline-offset:2px}

hr{border:none;border-top:1px solid #e6eaf2;margin:14px 0}


.form-hero{padding:0;overflow:hidden}
.form-hero__image{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;background:#fff}
.form-hero__meta{padding:12px 14px;border-top:1px solid #e6eaf2;display:flex;flex-direction:column;gap:6px;color:#44506a}
.privacy-card p{line-height:1.55;margin:0 0 12px 0;color:#334}

.nav-logout{display:inline;margin:0}.link-button{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:none}.link-button:hover{text-decoration:underline}
