/* public/assets/style.css (TEMA CLARO) */
:root{
  --bg:#f6f7fb;
  --card:#ffffff;
  --muted:#5b6b84;
  --text:#0f172a;
  --line:#e6eaf2;

  --btn:#2563eb;
  --btn2:#0f172a;

  --warn:#f59e0b;
  --bad:#ef4444;
  --ok:#16a34a;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,Segoe UI,Arial;
  background:var(--bg);
  color:var(--text);
}
a{color:#2563eb; text-decoration:none}
a:hover{text-decoration:underline}

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

.topbar{
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.85);
  position:sticky; top:0;
  backdrop-filter: blur(8px);
}

.brand{font-weight:800; letter-spacing:.2px}
.nav{display:flex; gap:14px; align-items:center; justify-content:space-between}
.navlinks{display:flex; gap:12px; flex-wrap:wrap; align-items:center}

.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}

.grid{display:grid; gap:12px}

.input, select, textarea{
  width:100%;
  padding:10px 10px;
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--text);
}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 12px; border-radius:12px;
  border:1px solid rgba(15,23,42,.08);
  background:var(--btn);
  color:white; font-weight:700;
}
.btn.secondary{
  background:#ffffff;
  color:var(--btn2);
  border:1px solid rgba(15,23,42,.14);
}
.btn.danger{background:#b91c1c; border-color:rgba(185,28,28,.2); color:white}

.badge{
  display:inline-block;
  font-size:12px; padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  color:var(--muted);
  background:#ffffff;
}
.badge.ok{color:var(--ok); border-color:rgba(22,163,74,.28)}
.badge.warn{color:#92400e; border-color:rgba(245,158,11,.32)}
.badge.bad{color:#991b1b; border-color:rgba(239,68,68,.28)}

.small{color:var(--muted); font-size:12px}
.hr{height:1px; background:var(--line); margin:12px 0}

.table{width:100%; border-collapse:collapse}
.table th,.table td{padding:10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top}
.table th{color:var(--muted); font-size:12px; letter-spacing:.6px; text-transform:uppercase}

.box{
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fbfcff;
}

.msg{padding:10px 12px; border-radius:12px; border:1px solid var(--line); background:#fbfcff}
.msg.error{border-color:rgba(239,68,68,.25); color:#991b1b; background:#fff5f5}
.msg.ok{border-color:rgba(22,163,74,.22); color:#14532d; background:#f0fdf4}

/* ===== Tabla moderna (dashboard/listados) ===== */

.table-wrap{
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:var(--card);
}

.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}

.table th, .table td{
  padding:12px 12px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}

.table th{
  position:sticky;
  top:0;
  z-index:2;
  background:var(--card);
  color:var(--muted);
  font-size:12px;
  letter-spacing:.6px;
  text-transform:uppercase;
}

.table tbody tr{
  transition: background .15s ease;
}

.table tbody tr:nth-child(even){
  background: #fbfcff; /* zebra muy suave */
}

.table tbody tr:hover{
  background: #f2f6ff; /* hover */
}

.table td .small{
  margin-top:4px;
}

/* Chips clickeables para acciones */
.chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  color:var(--text);
  font-size:12px;
  line-height:1;
  text-decoration:none;
}
.chip:hover{
  background:#f7f9ff;
  text-decoration:none;
}
.chip.danger{
  border-color:rgba(239,68,68,.25);
  color:#991b1b;
  background:#fff5f5;
}

/* Contenedor con scroll vertical para la tabla (si hay muchas filas) */
.table-scroll{
  max-height:520px;      /* ajustá a gusto */
  overflow:auto;
}

/* Responsive: si no entra, scroll horizontal */
@media(max-width: 820px){
  .table-wrap{ overflow:auto; }
  .table th, .table td{ padding:10px 10px; }
}
