@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');:root{--sidebar:270px;--primary:#4f46e5;--bg:#f5f7fb;--panel:#fff;--border:#e8ebf2;--text:#182033}*{box-sizing:border-box}body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text)}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);background:#2b456a;color:#e5e7eb;position:fixed;inset:0 auto 0 0;z-index:1030;transition:.25s}.brand{display:flex;align-items:center;gap:12px;padding:22px}.brand-icon{width:44px;height:44px;display:grid;place-items:center;background:linear-gradient(135deg,#6366f1,#22c55e);border-radius:14px;font-size:20px}.brand small{display:block;color:#9ca3af}.sidebar nav a,.sidebar nav span{color:#cbd5e1;text-decoration:none;padding:12px 14px;border-radius:10px;margin:2px 0;display:flex;align-items:center;gap:12px}.sidebar nav a:hover{background:#1f2937;color:#fff}.sidebar nav i{width:20px}.nav-title{font-size:11px;text-transform:uppercase;color:#6b7280;padding:20px 14px 6px}.main-content{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));transition:.25s}.topbar{height:72px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:1020}.sidebar-collapsed .sidebar{transform:translateX(-100%)}.sidebar-collapsed .main-content{margin-left:0;width:100%}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-head h1{font-weight:800;font-size:28px;margin:0}.page-head p{color:#697386;margin:5px 0 0}.panel,.kpi-card,.course-card{background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:0 10px 30px rgba(22,34,51,.04)}.panel{padding:22px}.panel-head{display:flex;justify-content:space-between;margin-bottom:20px}.kpi-card{padding:18px;height:100%}.kpi-card span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eef2ff;color:var(--primary);margin-bottom:14px}.kpi-card small{display:block;color:#697386}.kpi-card strong{font-size:24px}.btn-primary{background:var(--primary);border-color:var(--primary)}.login-body{background:#eef2ff}.login-card{max-width:1050px;width:100%;border-radius:26px;background:#fff;box-shadow:0 30px 80px rgba(30,41,59,.2)}.login-hero{background:linear-gradient(140deg,#2b456a,#2b456a 55%,#06b6d4);color:#fff;padding:60px;display:flex;align-items:center;min-height:590px}.login-hero h1{font-size:52px;font-weight:800}.login-hero p{font-size:18px;opacity:.9}.login-hero strong,.login-hero small{display:block}.course-card{padding:22px;height:100%}.course-card h5{font-weight:700;margin-top:18px}.course-meta{display:grid;gap:8px;color:#697386;font-size:14px}.course-meta i{width:22px}.price{font-size:22px;color:var(--primary)}.score{display:inline-grid;place-items:center;min-width:36px;height:36px;border-radius:50%;font-weight:800;font-size:12px}.score-hot{background:#fee2e2;color:#dc2626}.score-warm{background:#fef3c7;color:#d97706}.score-cold{background:#e0f2fe;color:#0284c7}.kanban-wrap{display:flex;gap:16px;overflow-x:auto;padding-bottom:16px}.kanban-column{min-width:310px;width:310px;background:#eef1f6;border-radius:16px;padding:12px}.kanban-column header{display:flex;align-items:center;gap:8px;padding:8px}.dot{width:10px;height:10px;border-radius:50%}.kanban-list{min-height:500px}.lead-card{background:var(--panel);padding:15px;border-radius:13px;margin:10px 0;border:1px solid var(--border);box-shadow:0 6px 18px rgba(22,34,51,.05);cursor:grab}.lead-card p{color:#697386;font-size:13px;margin:10px 0}.lead-card small{color:#697386}.dark{--bg:#0f172a;--panel:#111827;--border:#243044;--text:#e5e7eb}.dark .table{--bs-table-color:#e5e7eb;--bs-table-bg:transparent}.dark .form-control,.dark .form-select{background:#0f172a;color:#e5e7eb;border-color:#334155}@media(max-width:991px){.sidebar{transform:translateX(-100%)}.main-content{margin-left:0;width:100%}.sidebar-open .sidebar{transform:translateX(0)}.login-hero{display:none}.page-head{align-items:flex-start;gap:14px}.page-head h1{font-size:23px}}@media print{.sidebar,.topbar,.page-head .btn,.panel form{display:none!important}.main-content{margin:0;width:100%}.panel{box-shadow:none;border:none}}
/* Estados visuales del pipeline Kanban */
.lead-card { cursor: grab; user-select: none; touch-action: none; }
.lead-card:active { cursor: grabbing; }
.kanban-ghost { opacity: .35; border: 2px dashed var(--bs-primary); }
.kanban-chosen { transform: rotate(1deg); box-shadow: 0 14px 35px rgba(0,0,0,.16); }
.kanban-drag { opacity: .95; }
.lead-card.is-saving { opacity: .6; pointer-events: none; position: relative; }
.lead-card.is-saving::after { content: 'Guardando...'; position: absolute; inset: 0; display: grid; place-items: center; background: rgba(255,255,255,.82); border-radius: inherit; font-weight: 700; }
.dark .lead-card.is-saving::after { background: rgba(17,24,39,.84); }
