:root{--bg:#f5f7fb;--surface:#fff;--text:#212529;--muted:#6c757d;--border:#e9ecef;--primary:#0d6efd;--sidebar-w:270px;--sidebar-mini:82px;}
*{box-sizing:border-box} body{background:var(--bg)!important;color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;margin:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:#fff;border-right:1px solid var(--border);position:fixed;left:0;top:0;bottom:0;padding:18px;overflow:auto;z-index:1040;transition:width .25s ease,transform .25s ease,box-shadow .25s ease}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{font-weight:900;color:var(--primary);letter-spacing:.4px;font-size:20px;white-space:nowrap;overflow:hidden}.nav-link{color:#344767;border-radius:12px;padding:10px 12px;margin:3px 0;display:flex;align-items:center;gap:10px;white-space:nowrap}.nav-link:hover,.nav-link.active{background:#eef5ff;color:#0d6efd}.nav-ico{width:24px;text-align:center;flex:0 0 24px}.nav-text{transition:opacity .15s ease}.main{margin-left:var(--sidebar-w);width:calc(100% - var(--sidebar-w));transition:margin-left .25s ease,width .25s ease}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:1000}.menu-toggle{border-radius:12px;font-weight:800}.content{padding:24px}.card{border:0!important;border-radius:18px!important;box-shadow:0 8px 28px rgba(22,34,51,.06);background:#fff}.stat-card{padding:22px}.stat-value{font-size:26px;font-weight:800}.btn{border-radius:12px}.form-control,.form-select{border-radius:12px;padding:10px 12px}.table{vertical-align:middle}.badge{border-radius:999px;padding:7px 10px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#f7fbff,#edf4ff)}.login-card{max-width:430px;width:100%}.portal-hero{background:#fff;border-bottom:1px solid var(--border)}.contract-page{background:#f5f7fb;padding:30px}.contract-paper{background:#fff;max-width:900px;margin:auto;padding:52px;border-radius:6px;box-shadow:0 8px 30px rgba(0,0,0,.08);line-height:1.65}.contract-paper h1{text-align:center;font-size:22px;font-weight:800;margin-bottom:30px}.contract-paper h2{font-size:16px;font-weight:800;margin-top:22px}.print-actions{max-width:900px;margin:0 auto 20px;display:flex;gap:10px;justify-content:flex-end}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:1030}.sidebar-collapsed .sidebar{width:var(--sidebar-mini);padding-left:14px;padding-right:14px}.sidebar-collapsed .brand span,.sidebar-collapsed .nav-text{opacity:0;visibility:hidden;width:0;display:inline-block}.sidebar-collapsed .nav-link{justify-content:center;padding-left:8px;padding-right:8px}.sidebar-collapsed .main{margin-left:var(--sidebar-mini);width:calc(100% - var(--sidebar-mini))}@media(max-width:991px){.sidebar{transform:translateX(-105%);width:285px;box-shadow:0 18px 50px rgba(15,23,42,.18)}.sidebar.mobile-open{transform:translateX(0)}.sidebar-backdrop.show{display:block}.app-shell{display:block}.main,.sidebar-collapsed .main{margin-left:0;width:100%}.sidebar-collapsed .sidebar{width:285px}.sidebar-collapsed .brand span,.sidebar-collapsed .nav-text{opacity:1;visibility:visible;width:auto;display:inline}.sidebar-collapsed .nav-link{justify-content:flex-start;padding:10px 12px}.topbar{height:auto;min-height:64px;padding:14px;gap:10px;flex-wrap:wrap}.content{padding:14px}.contract-paper{padding:24px}.print-actions{justify-content:center;flex-wrap:wrap}}@media print{body{background:#fff!important}.print-actions{display:none!important}.contract-page{padding:0;background:#fff}.contract-paper{box-shadow:none;max-width:none;padding:0;border-radius:0}.no-print,.sidebar,.topbar,.sidebar-backdrop{display:none!important}.main{margin-left:0!important;width:100%!important}}

/* Tarjetas de personas estilo ficha */
.people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.person-card{background:#fff;border:2px solid #e5e7eb;border-radius:20px;padding:28px 30px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.person-name{font-size:28px;font-weight:900;color:#050505;margin:0 0 22px}.person-data{font-size:20px;line-height:1.45;color:#6b7280;margin:10px 0;word-break:break-word}.person-data span{color:#6b7280}.person-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}.btn-person{font-size:20px;font-weight:800;border-radius:12px;padding:14px 28px;min-width:150px}.btn-outline-danger.btn-person{color:#df8b92;border-color:#e5e7eb}.btn-outline-danger.btn-person:hover{color:#fff}@media(max-width:575px){.people-grid{grid-template-columns:1fr}.person-card{padding:24px 18px}.person-name{font-size:24px}.person-data{font-size:18px}.btn-person{width:100%;min-width:0}}

/* Página de planes */
.plans-page{max-width:980px;margin:0 auto;padding-bottom:38px}.plans-hero h2{font-weight:900;font-size:30px;line-height:1.05;color:#111;margin:4px 0 10px}.plans-hero p{font-weight:700;color:#111;margin-bottom:14px}.billing-toggle{background:#f4f4f6;border:1px solid #ddd;border-radius:8px;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:6px;max-width:680px;margin:0 auto 30px}.billing-toggle button{border:0;border-radius:8px;background:transparent;padding:12px 14px;font-weight:700;color:#111}.billing-toggle button.active{background:#2f5bf4;color:#fff}.billing-toggle span{background:#ff3d57;color:#fff;border-radius:999px;padding:3px 8px;font-size:12px;margin-left:5px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;align-items:start}.price-card{background:#fff;border:1px solid #dfe3ea;border-radius:10px;padding:28px 26px;box-shadow:0 6px 18px rgba(15,23,42,.04)}.price-card.featured{border-color:#2f5bf4}.plan-tag{display:inline-block;background:#f4f7ff;color:#2354ef;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800;margin-bottom:14px}.price-card h3{font-size:24px;font-weight:900;margin-bottom:26px;color:#111}.price-card h3 span{color:#2f5bf4}.price-old{font-size:24px;color:#697180;text-decoration:line-through;font-weight:800}.price-old b{text-decoration:none;background:#ff304c;color:#fff;border-radius:999px;font-size:13px;padding:4px 8px;margin-left:8px;display:inline-block;vertical-align:middle}.price-old small{text-decoration:none;color:#111;font-size:12px;font-weight:800;margin-left:5px}.price-now{font-size:42px;line-height:1;font-weight:950;color:#111;margin-top:4px}.price-now span{font-size:17px;font-weight:500}.price-after{font-size:13px;color:#111;margin:9px 0 24px}.price-card ul{padding-left:18px;margin-bottom:28px}.price-card li{margin:10px 0;color:#1f2937;font-size:15px}.price-card .btn{font-weight:900;padding:12px;border-radius:7px}.plan-review{text-align:center;color:#f4b400;font-weight:900;margin-top:-10px}.plan-review small{color:#111;font-weight:500}.plans-note{text-align:center;color:#4b5563;font-size:12px;margin-top:24px}.whatsapp-float{position:fixed;right:28px;bottom:28px;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25d366;color:#fff!important;font-size:28px;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.22);z-index:1100}@media(max-width:700px){.plans-page{padding:4px 0 28px}.plans-hero h2{font-size:23px}.billing-toggle{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr;gap:22px}.price-card{padding:26px 24px}.price-now{font-size:38px}}
