/* assets/styles.css - mobile-first, sin Bootstrap (tema oscuro limpio) */
:root{
  --bg:#0d1117;
  --card:#161b22;
  --text:#e6edf3;
  --muted:#9aa4b2;
  --primary:#2f81f7;
  --primary-contrast:#0b1320;
  --danger:#f85149;
  --border:#30363d;
  --ok:#3fb950;
  --shadow:0 10px 30px rgba(0,0,0,.25);
  --radius:16px;
  --gap:12px;
  --font: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
}
*{box-sizing:border-box}
html,body{height:100%}
body.bg{
  margin:0;
  background:linear-gradient(180deg, #0c0f14, #111826);
  color:var(--text);
  font-family:var(--font);
  line-height:1.4;
}
.container{max-width:1100px;margin:0 auto;padding:16px}
.center{display:grid;place-items:center;min-height:100vh}

/* Topbar */
.topbar{
  position:sticky;top:0;z-index:10;
  background:rgba(13,17,23,.8);
  backdrop-filter:blur(8px);
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 16px;border-bottom:1px solid var(--border);
}
.brand{font-weight:700}
.nav a{
  color:var(--text);text-decoration:none;margin-left:12px;
  padding:6px 10px;border-radius:10px;border:1px solid transparent
}
.nav a:hover{border-color:var(--border);background:#0f1521}
.nav a.danger{color:#ffd0ce;border-color:transparent}
.nav a.danger:hover{border-color:var(--danger);background:#1b1212}

/* Cards & layout */
.card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:16px
}
.max-400{max-width:400px;margin-inline:auto}
.max-700{max-width:700px;margin-inline:auto}
.title{margin:0 0 8px}
.muted{color:var(--muted)}
.tiny{font-size:.9rem}
.mt-1{margin-top:12px}
.mt-2{margin-top:20px}
.full{grid-column:1/-1}
.right{text-align:right}
.align-end{display:flex;align-items:flex-end}
.list{list-style:none;padding:0;margin:0}
.list li{padding:8px 0;border-bottom:1px dashed var(--border)}
.list li:last-child{border-bottom:none}

.grid{display:grid;gap:var(--gap)}
.grid.two{grid-template-columns:1fr}
.grid.three{grid-template-columns:1fr}
.flex{display:flex;gap:var(--gap)}
.between{justify-content:space-between}
.wrap{flex-wrap:wrap}

/* Forms */
.form{display:grid;gap:var(--gap)}
.form label{display:grid;gap:6px;font-weight:600}
.form input, .form select, .form textarea{
  background:#0e1524;border:1px solid var(--border);color:var(--text);
  padding:10px;border-radius:12px;outline:none;
}
.form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(47,129,247,.15)}

/* Buttons */
.btn{
  display:inline-block;background:#0e1524;border:1px solid var(--border);
  padding:10px 14px;border-radius:12px;color:var(--text);
  text-decoration:none;cursor:pointer
}
.btn:hover{border-color:var(--primary)}
.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast);font-weight:700}
.btn.sm{padding:6px 10px;font-size:.95rem}
.btn.danger{background:var(--danger);border-color:var(--danger)}

/* KPIs */
.kpi{display:flex;align-items:center;gap:14px;margin:10px 0}
.kpi-value{font-size:2.2rem;font-weight:800}
.kpi-label{color:var(--muted)}

/* Tables */
.table-responsive{overflow:auto;border:1px solid var(--border);border-radius:12px}
.table{width:100%;border-collapse:collapse;min-width:600px}
.table th,.table td{padding:10px;border-bottom:1px solid var(--border);text-align:left}
.table th{background:#0f1626;position:sticky;top:0}

/* Alerts */
.alert{padding:10px 12px;border-radius:12px;margin:8px 0}
.alert.error{background:#2a1212;border:1px solid #3a1a1a;color:#ffb4b0}

/* Footer */
.footer{padding:20px;text-align:center;color:var(--muted)}

/* Responsive: prioridad móvil */
@media (min-width: 700px){
  .grid.two{grid-template-columns:1fr 1fr}
  .grid.three{grid-template-columns:repeat(3, 1fr)}
}
