:root{--ink:#292263;--blue:#087cae;--soft:#ecf2ff;--line:#dce4f2;--muted:#62728b;--paper:#f7f9fd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font:15px/1.6 'Avenir Next',Avenir,system-ui,sans-serif;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button,.outline{border:1px solid var(--line);border-radius:50px;background:white;padding:11px 18px;color:var(--ink)}a:hover,button:hover{filter:brightness(.94)}:focus-visible{outline:3px solid #6998ff;outline-offset:4px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 6%;background:#ffffffed;position:sticky;top:0;z-index:5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font-size:19px;font-weight:650;letter-spacing:-.8px}.brand small{display:block;font-size:9px;letter-spacing:4px;font-weight:500;color:var(--blue)}.symbol{font-size:35px;color:var(--blue)}nav{display:flex;align-items:center;gap:24px;font-size:13px}.hero{position:relative;min-height:650px;padding:85px 8% 85px;overflow:hidden;background:radial-gradient(ellipse at 75% 30%,#dde5ff 0%,transparent 52%),linear-gradient(115deg,#eef5ff,#b9d0fa 65%,#c2c2ec)}.hero-copy{position:relative;z-index:2;max-width:680px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#315a9c;font-weight:700}h1{font-size:clamp(44px,6.1vw,86px);line-height:1.05;font-weight:450;letter-spacing:-4px;margin:24px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.hero p{max-width:425px;font-size:17px;color:#3f587e;margin:27px 0}.primary{display:inline-flex;justify-content:center;align-items:center;gap:25px;border:0;background:var(--blue);color:white;padding:15px 23px;border-radius:50px;font-size:14px}.hero-foot{font-size:11px;color:#52698d;margin-top:22px}.hero-side{position:absolute;right:6%;top:44%;letter-spacing:3px;font-size:10px;line-height:2.5;color:#375f97}.scroll{position:absolute;bottom:24px;left:8%;font-size:9px;letter-spacing:2px}.orb{position:absolute;width:510px;height:510px;border-radius:50%;right:9%;top:55px;background:radial-gradient(circle at 32% 24%,#effaffbd 0,#a3c1f799 35%,#597bd54d 63%,#7497ee55 68%,transparent 70%);box-shadow:inset -40px -20px 55px #546db944,inset 20px 20px 60px #ffffffa6;transform:rotate(-25deg);opacity:.8}.mesh{position:absolute;width:65%;height:130%;right:-20%;top:-10%;border-radius:50%;transform:rotate(26deg);background-image:radial-gradient(#396cde66 1px,transparent 1.5px);background-size:9px 9px;mask-image:linear-gradient(90deg,transparent,#000 55%,transparent)}.section{max-width:1240px;margin:auto;padding:65px 6%}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:28px}h2{font-size:clamp(26px,3.2vw,40px);font-weight:500;letter-spacing:-1.4px;line-height:1.2;margin:12px 0}h3{font-size:21px;letter-spacing:-.5px;line-height:1.35}p{color:var(--muted)}.pill{padding:7px 12px;border:1px solid var(--line);border-radius:30px;font-size:11px;white-space:nowrap}.filters{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr auto;gap:12px;align-items:end;padding:18px;background:white;border:1px solid var(--line);border-radius:17px}label{display:block;font-size:11px;color:#556886}input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;background:white;border:1px solid var(--line);border-radius:9px;padding:11px;margin-top:6px;color:var(--ink);font-size:13px}textarea{resize:vertical}.list-heading{display:flex;justify-content:space-between;gap:10px;margin:22px 0;color:var(--muted);font-size:12px}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-card{background:white;border-radius:18px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}.event-art{min-height:130px;background:radial-gradient(ellipse at 80% 10%,#d4d9fc,transparent 65%),linear-gradient(125deg,#e8f5ff,#b3cef4);position:relative;display:flex;align-items:end;justify-content:space-between;padding:18px;overflow:hidden}.event-art:before{content:'';width:130px;height:130px;border:24px solid #ffffff55;border-radius:50%;position:absolute;right:-15px;top:13px}.date{background:#ffffffed;border-radius:10px;padding:8px 13px;font-size:10px;text-align:center;z-index:1}.date b{display:block;font-size:25px;line-height:1.2}.tag{font-size:9px;text-transform:uppercase;letter-spacing:1px;background:#ffffffed;padding:6px 9px;border-radius:20px;z-index:1}.card-body{padding:22px;display:flex;flex:1;flex-direction:column}.category{font-size:10px;color:var(--blue);letter-spacing:.5px}.event-card h3{margin:11px 0 15px;font-size:20px}.meta{font-size:12px;color:var(--muted);margin:3px 0}.card-link{border-top:1px solid var(--line);margin-top:auto;padding-top:17px;display:flex;justify-content:space-between;color:var(--blue);font-size:13px}.empty{grid-column:1/-1;text-align:center;border:1px dashed #c3d2ee;border-radius:18px;padding:50px 25px;background:#eef3fd}.empty h3{font-weight:500}.alerts{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#eaf0fc;border-radius:25px;margin:25px auto 65px;max-width:1100px}.alerts h2{font-size:42px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checks{display:flex;flex-wrap:wrap;gap:8px}.checks label{background:white;border-radius:20px;padding:6px 10px;font-size:11px;display:flex;gap:5px;align-items:center}.checks input{accent-color:var(--blue)}fieldset{border:0;margin:15px 0;padding:0}legend{font-size:12px;margin-bottom:8px}.consent{margin:15px 0}.consent a{text-decoration:underline}.muted{font-size:12px}.space{margin-top:40px}.plans{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.plans article{background:white;border:1px solid var(--line);padding:35px;border-radius:20px}.plans small{font-size:13px}.login{max-width:450px}.login label{margin:15px 0}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.toolbar select{width:auto}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:20px;background:white;border:1px solid var(--line);border-radius:14px;padding:20px;margin:12px 0}.admin-row h3{font-size:17px;margin:0 0 5px}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button{font-size:12px}.detail{background:white;border-radius:22px;padding:35px;margin-top:25px}.detail p{white-space:pre-line}.detail dl{display:grid;grid-template-columns:1fr 2fr;gap:10px}.detail dt{color:var(--muted)}.detail dd{margin:0}dialog{width:min(700px,94vw);border:1px solid var(--line);border-radius:20px;padding:28px;color:var(--ink);max-height:90vh}dialog::backdrop{background:#06152e88}dialog label{margin:10px 0}dialog h2{font-size:26px}footer{padding:35px 6%;background:#10274c;color:#dfeafe}footer p{color:#aabedb}footer>div{display:flex;gap:25px;flex-wrap:wrap;font-size:12px}#load-error,#editor-status{color:#a32b42}[hidden]{display:none!important}@media(max-width:1000px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-side{display:none}.orb{right:-120px}.alerts{margin:20px 4% 50px;gap:30px}}@media(max-width:700px){header{padding:15px 5%;flex-wrap:wrap}nav{gap:14px;flex-wrap:wrap;font-size:11px}.hero{padding:65px 7% 90px;min-height:580px}h1{letter-spacing:-2px}.orb{opacity:.35;right:-230px}.hero p{font-size:15px}.event-grid,.alerts,.plans{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.section{padding:40px 5%}.section-heading,.admin-row{align-items:start;flex-direction:column}.list-heading{flex-direction:column}.alerts h2{font-size:34px}input:not([type=checkbox]),select,textarea{font-size:16px}.two{grid-template-columns:1fr}.detail{padding:20px}.detail dl{grid-template-columns:1fr}.detail dd{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Identidad FesamedCare: logo original, celeste y azul oscuro. */
.brand-logo{display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:260px}
.brand-logo img{display:block;width:230px;height:auto;max-width:100%}
.brand-logo small{padding-left:55px;font-size:9px;color:#292263;letter-spacing:4px}
.footer-logo{background:white;padding:12px 18px;border-radius:12px}
.footer-logo img{width:205px}
.hero{background:radial-gradient(ellipse at 75% 30%,#e3e3fb 0%,transparent 52%),linear-gradient(115deg,#eff9ff,#c5e7f8 65%,#cccdf0)}
.category{color:#087cae}footer{background:#292263}
@media(max-width:700px){.brand-logo img{width:195px}.brand-logo small{padding-left:45px}}

.footer-logo{background:transparent;padding:0;border-radius:0}.footer-logo small{color:white}#subscription-success{max-width:520px;text-align:center;padding:35px}#subscription-success h2{font-size:28px}#recover{margin-left:10px}

.directory-notice{max-width:680px;margin:14px 0 0;color:#546582;font-size:14px;line-height:1.6;font-weight:400}
