/* Estilo coherente con lectia.es / iageae.es
   Inter + paleta clara, acento azul, sidebar oscuro, bordes 12px, sombras suaves */
@import url("https://rsms.me/inter/inter.css");

:root{
  --bg:#FAFAFA; --surface:#FFFFFF; --text:#0B1220; --muted:#64748B;
  --accent:#0B5FFF; --accent-2:#1D4ED8; --success:#22C55E; --danger:#EF4444; --warning:#F59E0B;
  --sidebar:#0B1220; --sidebar-text:#CBD5E1; --sidebar-active:#0B5FFF;
  --border:#E5E7EB; --radius:12px; --shadow:0 4px 24px rgba(11,18,32,.06);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* Layout */
.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:24px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px}
.sidebar .brand{font-weight:700;font-size:18px;color:#fff;letter-spacing:.02em;padding:8px 12px 24px;display:flex;align-items:center;gap:8px}
.sidebar .brand span{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent)}
.sidebar a{display:flex;align-items:center;gap:10px;color:var(--sidebar-text);padding:10px 12px;border-radius:10px;font-weight:500;font-size:14px}
.sidebar a:hover{background:rgba(255,255,255,.05);color:#fff;text-decoration:none}
.sidebar a.active{background:var(--accent);color:#fff}
.sidebar .group{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#475569;padding:18px 12px 6px}
.sidebar .footer{margin-top:auto;font-size:12px;color:#475569;padding:12px}

.main{padding:28px 36px;max-width:1280px;width:100%}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.topbar h1{font-size:24px;font-weight:700;margin:0}
.topbar .user{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}
.topbar .user .badge{background:#EEF2FF;color:var(--accent);padding:4px 10px;border-radius:999px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em}

/* Cards */
.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);padding:20px;margin-bottom:20px}
.card h2{font-size:16px;margin:0 0 14px;font-weight:600}

/* KPI grid */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:24px}
.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.kpi .label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.kpi .value{font-size:30px;font-weight:700;color:var(--text);margin-top:6px}
.kpi .delta{font-size:12px;color:var(--success);margin-top:4px}

/* Tables */
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}
th{font-weight:600;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:#F8FAFC}
tbody tr:hover{background:#F8FAFC}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;padding:10px 18px;border-radius:10px;font-weight:600;font-size:14px;border:none;cursor:pointer;transition:all .15s}
.btn:hover{background:var(--accent-2);text-decoration:none}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn.ghost:hover{background:#F1F5F9}
.btn.success{background:var(--success)}
.btn.danger{background:var(--danger)}
.btn.sm{padding:6px 12px;font-size:12.5px}

/* Forms */
label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px;color:var(--text)}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=file],select,textarea{
  width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(11,95,255,.12)}
textarea{min-height:200px;font-family:'JetBrains Mono','Fira Code',Menlo,monospace;font-size:13px}

/* Badges / status */
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.badge.active{background:#DCFCE7;color:#166534}
.badge.draft{background:#F1F5F9;color:#475569}
.badge.sending{background:#FEF3C7;color:#92400E}
.badge.sent{background:#DBEAFE;color:#1E40AF}
.badge.paused{background:#FEE2E2;color:#991B1B}
.badge.unsubscribed,.badge.bounced{background:#FEE2E2;color:#991B1B}

/* Flash */
.flash{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px}
.flash.success{background:#DCFCE7;color:#166534;border:1px solid #BBF7D0}
.flash.error{background:#FEE2E2;color:#991B1B;border:1px solid #FECACA}

/* Login */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0B1220 0%,#0B5FFF 100%);padding:24px}
.login-card{background:#fff;border-radius:16px;padding:40px;max-width:420px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.login-card h1{margin:0 0 8px;font-size:24px}
.login-card p{color:var(--muted);margin:0 0 24px}

/* Filters */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.filters input,.filters select{max-width:240px}

/* Spam meter */
.meter{height:8px;background:#E5E7EB;border-radius:999px;overflow:hidden;margin:8px 0}
.meter > span{display:block;height:100%;background:linear-gradient(90deg,#22C55E,#F59E0B,#EF4444)}

/* RGPD pages */
.public-wrap{max-width:520px;margin:80px auto;padding:32px;background:#fff;border-radius:16px;box-shadow:var(--shadow)}
.public-wrap h1{font-size:22px;margin:0 0 12px}
.public-wrap p{color:var(--muted)}

@media(max-width:768px){
  .layout{grid-template-columns:1fr}
  .sidebar{position:static;height:auto}
  .main{padding:18px}
}
