@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--bg-dark: #0b1120;--bg-card: #1e293b;--bg-card-hover: #334155;--bg-glass: rgba(30, 41, 59, .85);--border-glass: rgba(255, 255, 255, .1);--primary: #3b82f6;--primary-hover: #2563eb;--primary-glow: rgba(59, 130, 246, .25);--accent-gold: #f59e0b;--accent-gold-dark: #d97706;--accent-gold-glow: rgba(245, 158, 11, .2);--color-ep: #22c55e;--color-ep-bg: rgba(34, 197, 94, .15);--color-mgp: #38bdf8;--color-mgp-bg: rgba(56, 189, 248, .15);--color-fap: #60a5fa;--color-fap-bg: rgba(96, 165, 250, .15);--color-pnp: #10b981;--color-pnp-bg: rgba(16, 185, 129, .15);--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px rgba(59, 130, 246, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-full: 9999px;--font-heading: "Outfit", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-body);background-color:var(--bg-dark);color:var(--text-main);line-height:1.5;min-height:100vh;background-image:radial-gradient(at 0% 0%,rgba(59,130,246,.08) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(245,158,11,.05) 0px,transparent 50%);background-attachment:fixed;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#475569}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.glass-card{background:#1e293bb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);transition:all .2s ease-in-out}.glass-card:hover{border-color:#fff3;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;min-height:44px;font-family:var(--font-heading);font-weight:600;font-size:.925rem;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;text-decoration:none}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 14px #2563eb59}.btn-primary:hover{background:linear-gradient(135deg,#60a5fa,#2563eb);box-shadow:0 6px 20px #2563eb80}.btn-gold{background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;box-shadow:0 4px 14px #d9770659}.btn-gold:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 6px 20px #d9770680}.btn-secondary{background:#334155;color:var(--text-main);border:1px solid rgba(255,255,255,.1)}.btn-secondary:hover{background:#475569;border-color:#fff3}.btn-danger{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background:#ef4444;color:#fff}.btn-icon{width:44px;height:44px;padding:0;border-radius:var(--radius-sm)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.badge-ep{background:var(--color-ep-bg);color:var(--color-ep);border:1px solid rgba(34,197,94,.3)}.badge-mgp{background:var(--color-mgp-bg);color:var(--color-mgp);border:1px solid rgba(56,189,248,.3)}.badge-fap{background:var(--color-fap-bg);color:var(--color-fap);border:1px solid rgba(96,165,250,.3)}.badge-pnp{background:var(--color-pnp-bg);color:var(--color-pnp);border:1px solid rgba(16,185,129,.3)}.badge-titular{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.badge-familiar{background:#f43f5e26;color:#fb7185;border:1px solid rgba(244,63,94,.3)}.badge-status{padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.status-retiro{background:#94a3b833;color:#cbd5e1}.status-actividad{background:#22c55e33;color:#4ade80}.status-fallecido{background:#ef444433;color:#f87171}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form-label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;min-height:46px;background:#0f172a;border:1px solid #334155;border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font-body);font-size:.95rem;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-select option{background:#1e293b;color:var(--text-main)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease}.modal-content{background:#1e293b;border:1px solid var(--border-glass);border-radius:var(--radius-lg);width:100%;max-width:650px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .25s cubic-bezier(.16,1,.3,1)}.drawer-bottom{position:fixed;bottom:0;left:0;right:0;background:#1e293b;border-top:1px solid var(--border-glass);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);padding:1.5rem;max-height:85vh;overflow-y:auto;z-index:1000;box-shadow:0 -10px 25px #00000080;animation:slideUpBottom .3s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUpBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media print{body *{visibility:hidden}.printable-area,.printable-area *{visibility:visible}.printable-area{position:absolute;left:0;top:0;width:100%}.no-print{display:none!important}}
