:root{--bg:#0f172a;--card:#ffffff;--muted:#64748b;--primary:#2563eb;--border:#e5e7eb;}
*{box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;}
body{margin:0;background:#f1f5f9;color:#0f172a;}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:18px;}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;}
.row{display:flex;gap:14px;flex-wrap:wrap;}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;}
label{font-size:13px;color:#0f172a;font-weight:600;margin:10px 0 6px;display:block;}
.btn{display:inline-block;border:0;background:var(--primary);color:#fff;padding:10px 14px;border-radius:10px;font-weight:700;cursor:pointer;}
.btn.secondary{background:#334155;}
.btn.danger{background:#dc2626;}
.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.err{background:#fee2e2;border:1px solid #fecaca;color:#7f1d1d;padding:10px 12px;border-radius:10px;margin-bottom:12px;}
.ok{background:#dcfce7;border:1px solid #bbf7d0;color:#14532d;padding:10px 12px;border-radius:10px;margin-bottom:12px;}
.muted{color:var(--muted);font-size:12px;}
table{width:100%;border-collapse:collapse;}
th,td{padding:10px;border-bottom:1px solid var(--border);text-align:left;font-size:14px;}
th{color:#0f172a;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
.layout{display:flex;min-height:100vh;}
.sidebar{width:260px;background:var(--bg);color:#fff;padding:18px;position:sticky;top:0;height:100vh;}
.brand{font-size:18px;font-weight:800;margin-bottom:12px;}
.nav a{display:block;padding:10px 12px;border-radius:10px;margin-bottom:6px;color:#cbd5e1;font-weight:700;}
.nav a.active{background:#1e293b;color:#fff;}
.nav a:hover{background:#1e293b;color:#fff;}
.content{flex:1;padding:18px;}
.small{font-size:12px;}


/* --- Mejoras UI v1 --- */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid-span-2{grid-column:1/-1}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0}
.stat{background:#fff;border:1px solid #e6e9ef;border-radius:14px;padding:14px;box-shadow:0 6px 18px rgba(16,24,40,.06)}
.stat .k{font-size:12px;color:#667085;text-transform:uppercase;letter-spacing:.04em}
.stat .v{font-size:28px;font-weight:800;margin-top:4px}
.stat a{display:inline-block;margin-top:10px;text-decoration:none;font-weight:600}
.alert{padding:10px 12px;border-radius:12px;margin:10px 0}
.alert.ok{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}
.alert.err{background:#fef3f2;color:#b42318;border:1px solid #fecdca}
