*{box-sizing:border-box}html{min-height:100%}body{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 5%,#f5f7fb),#f8fafc 48%,color-mix(in srgb,var(--brand-accent) 4%,#f8fafc));color:#172033;font-size:15px;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:255px;padding:18px 14px;z-index:1040;overflow:auto;transition:transform .2s ease,background .2s ease,color .2s ease}.sidebar-dark{background:linear-gradient(180deg,#0f172a 0%,#172033 55%,color-mix(in srgb,var(--brand) 30%,#111827) 100%);color:#fff}.sidebar-light{background:linear-gradient(180deg,#fff,#f8fafc);color:#172033;border-right:1px solid #e5e7eb;box-shadow:8px 0 28px rgba(15,23,42,.05)}.brand{display:flex;gap:11px;align-items:center;padding:3px 8px 20px}.brand-logo{width:44px;height:44px;object-fit:contain;border-radius:12px;background:#fff;padding:4px;box-shadow:0 4px 14px rgba(0,0,0,.12)}.brand-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--brand),var(--brand-accent));color:#fff;font-size:20px;box-shadow:0 8px 18px color-mix(in srgb,var(--brand) 28%,transparent)}.brand-copy{min-width:0}.brand strong,.brand small{display:block}.brand strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small{opacity:.72;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.sidebar nav a{display:flex;gap:10px;align-items:center;text-decoration:none;padding:9px 10px;border-radius:11px;margin:3px 0;font-weight:500;transition:.16s}.sidebar-dark nav a{color:#dbe3ef}.sidebar-light nav a{color:#435067}.sidebar nav a:hover{transform:translateX(2px)}.sidebar-dark nav a:hover,.sidebar-dark nav a.active{background:rgba(255,255,255,.11);color:#fff}.sidebar-light nav a:hover,.sidebar-light nav a.active{background:color-mix(in srgb,var(--brand) 10%,white);color:var(--brand)}.nav-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.08);font-size:14px;flex:0 0 auto}.sidebar-light .nav-icon{background:#eef2f7}.sidebar nav a.active .nav-icon{background:linear-gradient(135deg,var(--brand),var(--brand-accent));color:#fff;box-shadow:0 5px 12px color-mix(in srgb,var(--brand) 22%,transparent)}.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.52;margin:19px 12px 7px;font-weight:700}.sidebar-footer{padding:20px 10px 0;opacity:.58}.topbar{position:fixed;left:255px;right:0;top:0;height:68px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb;display:flex;align-items:center;padding:0 24px;z-index:1030;box-shadow:0 4px 18px rgba(15,23,42,.035)}.topbar-entity{display:flex;align-items:center;gap:10px;min-width:0}.topbar-logo{width:36px;height:36px;object-fit:contain;border-radius:10px;border:1px solid #e5e7eb;background:#fff;padding:3px}.topbar-logo-placeholder{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--brand) 12%,white);color:var(--brand)}.topbar-title strong,.topbar-title small{display:block}.topbar-title strong{font-size:14px}.topbar-title small{color:#64748b;font-size:10px}.user-chip{display:flex;gap:7px;align-items:center;padding:5px 10px 5px 6px;border-radius:999px;background:#f1f5f9;font-size:13px}.user-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-accent));color:#fff}.main{margin-left:255px;padding:94px 24px 42px;min-height:100vh}.page-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.page-title>div:first-child{position:relative}.page-title h1{font-size:29px;margin:0;font-weight:800;letter-spacing:-.025em}.page-title p{margin:5px 0 0;color:#64748b}.page-heading-row{display:flex;align-items:center;gap:12px}.page-title-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 14%,white),color-mix(in srgb,var(--brand-accent) 12%,white));color:var(--brand);font-size:20px;box-shadow:0 7px 18px rgba(15,23,42,.07);flex:0 0 auto}.card{border:1px solid rgba(226,232,240,.9);border-radius:17px;box-shadow:0 8px 28px rgba(15,23,42,.06);background:rgba(255,255,255,.96)}.card-hover{transition:.18s}.card-hover:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.1)}.metric{padding:19px;position:relative;overflow:hidden}.metric::after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-22px;top:-22px;background:currentColor;opacity:.06}.metric-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:20px;margin-bottom:12px}.metric strong{display:block;font-size:30px;line-height:1}.metric span{color:#64748b}.metric-primary{color:var(--brand)}.metric-primary .metric-icon{background:color-mix(in srgb,var(--brand) 12%,white)}.metric-secondary{color:var(--brand-secondary)}.metric-secondary .metric-icon{background:color-mix(in srgb,var(--brand-secondary) 12%,white)}.metric-accent{color:var(--brand-accent)}.metric-accent .metric-icon{background:color-mix(in srgb,var(--brand-accent) 12%,white)}.metric-success{color:#15803d}.metric-success .metric-icon{background:#dcfce7}.dashboard-hero{position:relative;min-height:230px;border-radius:22px;overflow:hidden;background:linear-gradient(115deg,color-mix(in srgb,var(--brand) 95%,#111827),color-mix(in srgb,var(--brand-accent) 82%,#111827));box-shadow:0 14px 36px color-mix(in srgb,var(--brand) 18%,rgba(15,23,42,.12));margin-bottom:24px;background-size:cover;background-position:center}.dashboard-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(15,23,42,.88) 0%,color-mix(in srgb,var(--brand) 60%,rgba(15,23,42,.72)) 50%,rgba(15,23,42,.25) 100%)}.dashboard-hero-content{position:relative;z-index:1;color:#fff;padding:34px;max-width:760px}.dashboard-hero h1{font-size:34px;font-weight:800;letter-spacing:-.03em}.dashboard-hero p{font-size:16px;opacity:.9;max-width:620px}.hero-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:12px;margin-bottom:14px}.quick-tile{display:flex;gap:12px;align-items:center;text-decoration:none;color:#172033;padding:15px;border:1px solid #e8edf4;border-radius:14px;background:#fff;transition:.18s}.quick-tile:hover{border-color:color-mix(in srgb,var(--brand) 35%,#e8edf4);transform:translateY(-2px);box-shadow:0 9px 22px rgba(15,23,42,.07);color:#172033}.quick-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 10%,white);color:var(--brand);font-size:18px;flex:0 0 auto}.section-title{display:flex;align-items:center;gap:9px;font-weight:800}.section-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 10%,white);color:var(--brand)}.btn-brand{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 70%,var(--brand-accent)));border-color:transparent;color:#fff;box-shadow:0 6px 14px color-mix(in srgb,var(--brand) 20%,transparent)}.btn-brand:hover{filter:brightness(.96);color:#fff;transform:translateY(-1px)}.table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.025em;color:#64748b;background:#f8fafc;border-bottom-color:#e5e7eb}.table tbody tr:hover{background:color-mix(in srgb,var(--brand) 2.5%,white)}.form-control,.form-select{min-height:44px;border-color:#dce3eb;border-radius:10px}.form-control:focus,.form-select:focus{border-color:color-mix(in srgb,var(--brand) 60%,#dce3eb);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--brand) 12%,transparent)}.form-label{font-weight:700;font-size:13px}.input-icon{position:relative}.input-icon>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8a96a8;z-index:3}.input-icon>.form-control,.input-icon>.form-select{padding-left:39px}.help{font-size:12px;color:#64748b}.badge{font-size:11px}.alert-soft{background:color-mix(in srgb,var(--brand) 7%,white);border:1px solid color-mix(in srgb,var(--brand) 22%,white);color:color-mix(in srgb,var(--brand) 75%,#172033)}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:1060}.whatsapp-float>button{width:54px;height:54px;font-size:23px}.branding-preview{border-radius:17px;overflow:hidden;border:1px solid #e2e8f0}.branding-preview-hero{height:150px;position:relative;background:linear-gradient(120deg,var(--brand),var(--brand-accent));background-size:cover;background-position:center}.branding-preview-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.55),rgba(15,23,42,.1))}.branding-preview-body{padding:16px;background:#fff}.brand-swatch{width:38px;height:38px;border-radius:10px;border:2px solid #fff;box-shadow:0 0 0 1px #d7dee8}.current-image{width:100%;max-height:160px;object-fit:cover;border-radius:12px;border:1px solid #e5e7eb}.login-page{min-height:100vh;background:#eef2f7;padding:24px}.login-shell{min-height:calc(100vh - 48px);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);max-width:1320px;margin:auto;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.14)}.login-visual{position:relative;display:flex;align-items:flex-end;padding:46px;background:linear-gradient(135deg,var(--brand),var(--brand-accent));background-size:cover;background-position:center;color:#fff}.login-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.12),rgba(15,23,42,.82))}.login-visual-content{position:relative;z-index:1;max-width:650px}.login-visual-logo{width:74px;height:74px;object-fit:contain;background:#fff;border-radius:18px;padding:7px;margin-bottom:20px;box-shadow:0 12px 30px rgba(0,0,0,.2)}.login-visual-icon{width:74px;height:74px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);font-size:31px;margin-bottom:20px}.login-visual h1{font-size:38px;font-weight:800;letter-spacing:-.03em}.login-visual p{font-size:16px;opacity:.9}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:46px}.login-form-wrap{width:100%;max-width:430px}.login-form-wrap .brand-mini{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-accent));color:#fff;font-size:24px;margin-bottom:20px}.certificate-sheet{width:297mm;height:210mm;position:relative;background:#fff center/cover no-repeat;overflow:hidden;margin:auto}.cert-field{position:absolute;transform:translate(-50%,-50%);text-align:center}@media(max-width:991.98px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.topbar{left:0;padding:0 14px}.main{margin-left:0;padding-left:14px;padding-right:14px}.page-title{align-items:flex-start;flex-direction:column}.login-page{padding:0}.login-shell{min-height:100vh;border-radius:0;grid-template-columns:1fr}.login-visual{min-height:260px;padding:30px}.login-form-panel{padding:34px 24px}.login-visual h1{font-size:30px}.entity-switcher{display:none}}@media(max-width:575.98px){.topbar-title small{display:none}.dashboard-hero-content{padding:26px 22px}.dashboard-hero h1{font-size:28px}.page-title h1{font-size:25px}.page-title-icon{width:40px;height:40px}.metric strong{font-size:26px}}@media print{body{background:#fff}.no-print{display:none!important}.certificate-sheet{box-shadow:none!important;margin:0}@page{size:A4 landscape;margin:0}}

/* v0.4.5 - Dashboard operativo administrador */
.dashboard-hero-compact{min-height:205px}.dashboard-group-title{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:4px 2px 12px}.dashboard-group-title span{font-size:17px;font-weight:800;color:#172033}.dashboard-group-title small{color:#64748b}.ops-metric{display:flex;align-items:center;gap:14px;padding:17px;text-decoration:none;color:#172033;min-height:92px;transition:.18s}.ops-metric:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.1);color:#172033}.ops-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:20px;flex:0 0 auto}.ops-metric strong{display:block;font-size:27px;line-height:1.05}.ops-metric span{display:block;color:#64748b;margin-top:4px;font-size:13px}.ops-blue .ops-icon{background:#dbeafe;color:#1d4ed8}.ops-amber .ops-icon{background:#fef3c7;color:#b45309}.ops-green .ops-icon{background:#dcfce7;color:#15803d}.ops-red .ops-icon{background:#fee2e2;color:#b91c1c}.ops-slate .ops-icon{background:#e2e8f0;color:#475569}.dashboard-attention{overflow:hidden}.attention-list{padding:6px 14px 14px}.attention-item{display:flex;align-items:center;gap:13px;padding:13px 10px;text-decoration:none;color:#172033;border-top:1px solid #eef2f7}.attention-item:first-child{border-top:0}.attention-item:hover{background:#f8fafc;color:#172033;border-radius:12px}.attention-indicator{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto}.attention-copy{min-width:0;flex:1}.attention-copy strong,.attention-copy small{display:block}.attention-copy small{color:#64748b;margin-top:2px}.mini-stat{display:flex;align-items:center;gap:12px;padding:16px;text-decoration:none;color:#172033;transition:.18s;min-height:86px}.mini-stat:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(15,23,42,.09);color:#172033}.mini-stat>i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 10%,white);color:var(--brand);font-size:17px;flex:0 0 auto}.mini-stat strong{display:block;font-size:23px;line-height:1}.mini-stat span{display:block;color:#64748b;font-size:12px;margin-top:5px}.dashboard-summary-list{display:grid;gap:3px}.dashboard-summary-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:#172033;padding:11px 7px;border-bottom:1px solid #eef2f7}.dashboard-summary-list a:last-child{border-bottom:0}.dashboard-summary-list a:hover{background:#f8fafc;border-radius:10px;color:#172033}.dashboard-summary-list span{display:flex;align-items:center;gap:8px;color:#475569}.dashboard-summary-list strong{font-size:18px;color:#172033}@media(max-width:575.98px){.dashboard-group-title{align-items:flex-start;flex-direction:column;gap:2px}.ops-metric{padding:14px;gap:10px}.ops-icon{width:40px;height:40px}.ops-metric strong{font-size:23px}.ops-metric span{font-size:11px}}
