/* Original CHUC styles inspired by public service design patterns. No third party assets. */
.chuc-portal{--portal-width:1184px;--portal-accent:#287a63;--portal-soft:#e8efe7;--portal-warm:#faf1df;--portal-warning:#755313}
.chuc-portal :is(button,input,select,summary,a){-webkit-tap-highlight-color:transparent}
.chuc-portal :focus-visible{outline:3px solid #a86d16;outline-offset:4px}
.chuc-portal .nav-inner{max-width:1240px;padding-bottom:12px;gap:8px 24px}
.chuc-portal .nav .brand{font-size:18px}
.chuc-portal .nav-links{justify-content:flex-start;gap:16px;align-items:center}
.chuc-portal .nav-links>a,.chuc-portal .service-menu>summary{font-size:13px;min-height:44px;padding:11px 10px;border-radius:6px;display:flex;align-items:center;gap:8px;line-height:1.5}
.chuc-portal .nav-links>a[aria-current=location]{background:var(--portal-soft);color:var(--petrol);box-shadow:inset 0 -3px var(--portal-accent)}
.chuc-portal .service-menu{position:relative;margin-left:auto}
.chuc-portal .service-menu>summary{color:var(--petrol);cursor:pointer;font-weight:600;list-style:none}
.chuc-portal .service-menu>summary::-webkit-details-marker{display:none}
.chuc-portal .service-menu>summary span{font-size:20px}
.chuc-portal .service-menu-links{position:absolute;top:calc(100% + 4px);right:0;min-width:245px;display:grid;gap:2px;background:var(--surface);border:1px solid var(--line);box-shadow:0 14px 28px #10383c20;border-radius:10px;padding:8px;z-index:60}
.chuc-portal .service-menu-links a{min-height:44px;border-radius:6px;font-size:13px;padding:11px 14px}
.visit-nav [data-visit-count]{display:grid;place-items:center;border-radius:50%;min-width:23px;height:23px;background:var(--portal-soft);color:var(--petrol);font-size:11px}
.arrival-alert{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--portal-warm);color:var(--portal-warning);padding:15px max(28px,calc((100vw - var(--portal-width))/2));border-bottom:1px solid #dccba5;font-size:13px}
.arrival-label{font-size:10px;font-weight:700;letter-spacing:.12em;display:block;margin-bottom:2px}
.arrival-alert p{line-height:1.5}
.arrival-alert>a{color:inherit;white-space:nowrap;font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px;min-height:44px;display:flex;align-items:center;gap:15px}
.chuc-portal .hero{background:radial-gradient(ellipse at 5% 100%,#3166547a,transparent 55%),linear-gradient(120deg,#123c40,#174b47);border-bottom:0}
.chuc-portal .hero-inner{padding:35px 28px 48px;max-width:1240px}
.chuc-portal .hero-grid{opacity:.14}
.chuc-portal .hero-identity-controls{margin-bottom:25px}
.chuc-portal .project-endorsement{border:none;background:transparent;padding:0;font-size:11px}
.chuc-portal .hybrid-hero-top{grid-template-columns:1.12fr 1fr;gap:64px;align-items:center;margin-top:0}
.chuc-portal .hybrid-hero-top .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:18px}
.chuc-portal .hybrid-hero-top h1{font-size:clamp(43px,4.7vw,66px);line-height:1.04;letter-spacing:-.04em;max-width:17ch;color:#f7f8f1}
.chuc-portal .hybrid-hero-top h1 em{color:#b4ddbb;font-style:normal;margin-top:5px}
.chuc-portal .hybrid-hero-top .hybrid-hero-copy>p{font-size:15px;line-height:1.75;color:#d1e1d9;max-width:52ch;margin-top:20px}
.chuc-portal .finder{border-radius:13px;background:#f8faf4;padding:26px 28px 21px;box-shadow:0 16px 44px #071f2029;border-color:#c7d9c7}
.chuc-portal .finder .finder-kicker{font-size:10px;letter-spacing:.13em;color:#4b685c;margin-bottom:9px}
.chuc-portal .finder h2{font-size:32px;line-height:1.15;color:#173e41;letter-spacing:-.025em}
.chuc-portal .finder .finder-intro{font-size:13px;margin:8px 0 0;color:#466452;line-height:1.5}
.chuc-portal .finder form{margin-top:20px}
.chuc-portal .finder label{font-size:12px;font-weight:600;color:#365746}
.chuc-portal .finder input{border-radius:7px;border-color:#9dbca7;font-size:16px;min-height:51px}
.chuc-portal .finder form button{min-height:46px;background:#206452;border-radius:7px}
.chuc-portal .finder .finder-all{font-size:12px;color:#345b47;margin-top:10px}
.popular-searches{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:13px;font-size:11px;color:#466452}
.popular-searches>span{margin-right:4px}
.chuc-portal .popular-searches button{min-height:36px;padding:6px 10px;display:inline-flex;font-family:inherit;font-size:11px;font-weight:600;color:#355744;background:#e5eee1;border:1px solid #ceddc7;border-radius:5px;box-shadow:none}
.chuc-portal .popular-searches button:hover{background:#d4e5ce;transform:none}
.chuc-portal .hero-contact{display:flex;gap:28px;margin-top:24px;flex-wrap:wrap}
.hero-contact a{font-size:14px;font-weight:700;line-height:1.5;color:#edf4e8;text-decoration:none}
.hero-contact a span{display:block;color:#c3d7c6;font-size:11px;font-weight:400;margin-top:3px}
.chuc-portal .hero-meta{margin-top:22px;padding-top:18px;border-top:1px solid #a6c7b92f;align-items:center}
.chuc-portal .hero-meta .pill{border:0;background:transparent;padding:0;font-size:10px;margin-right:8px}
.chuc-portal .hero-meta .btn-internal,.chuc-portal .hero-meta .btn-prog{font-size:10px;min-height:38px;border-radius:5px;padding:7px 11px}
.chuc-portal .task-links{max-width:var(--portal-width);margin:25px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}
.task-links>a{position:relative;padding:22px 28px;text-decoration:none;color:var(--ink);display:grid;gap:4px;border-left:1px solid var(--line);transition:background .2s}
.task-links>a:first-child{border-left:0}
.task-links>a:hover{background:var(--portal-soft)}
.task-number{font-size:11px;font-weight:700;letter-spacing:.09em;color:var(--teal);margin-bottom:4px}
.task-links strong{font-size:16px;font-weight:650;line-height:1.5;padding-right:28px}
.task-links>a>span:last-of-type{font-size:12px;color:var(--muted);line-height:1.6;max-width:32ch}
.task-links b{position:absolute;right:22px;top:42px;font-size:22px;font-weight:400;color:var(--teal)}
.chuc-portal .visit-journey{max-width:1240px;padding:50px 28px 34px;margin:auto}
.chuc-portal .sec-head h2{font-size:clamp(30px,3.3vw,42px);line-height:1.15}
.chuc-portal .visit-journey .sec-head{margin-bottom:28px}
.chuc-portal .visit-journey .sec-head p{margin-top:10px;font-size:14px}
.process-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:0;margin:0}
.process-list li{display:flex;align-items:flex-start;gap:13px;min-width:0;padding-top:18px;border-top:1px solid var(--line)}
.process-number{display:grid;place-items:center;border-radius:50%;background:var(--portal-soft);color:var(--petrol);font-weight:700;min-width:32px;height:32px;font-size:13px}
.process-list h3{font:650 16px/1.4 Archivo,system-ui;color:var(--ink);margin:3px 0 8px}
.process-list p{font-size:13px;color:var(--muted);line-height:1.65;margin-bottom:11px}
.process-list a{color:var(--teal);font-size:12px;font-weight:600;text-underline-offset:4px;display:inline-block;padding:6px 0}
.chuc-portal #mi-visita{max-width:var(--portal-width);border:1px solid #bdcec0;border-top:4px solid #39806a;border-radius:10px;background:var(--surface);padding:30px 34px;margin:10px auto 34px}
.visit-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:23px}
.visit-heading h2{font-size:34px;line-height:1.2;margin-top:8px}
.visit-heading p{color:var(--muted);font-size:13px;margin-top:9px;line-height:1.65}
.visit-find{display:flex;align-items:center;gap:24px;color:var(--teal);font-size:13px;font-weight:600;text-underline-offset:4px;min-height:44px;white-space:nowrap}
.visit-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:35px}
.visit-selection h3,.visit-checks h3{font:650 15px/1.4 Archivo,system-ui;color:var(--ink)}
.visit-checks{border-left:1px solid var(--line);padding-left:30px}
.visit-progress-row{display:grid;grid-template-columns:1fr 100px;align-items:center;gap:15px;margin-top:10px}
.chuc-portal #visit-progress{margin:0}
.chuc-portal #visit-meter{width:100%}
.chuc-portal .visit-actions{padding-top:19px;margin-top:18px;border-top:1px solid var(--line)}
.chuc-portal .visit-actions p{font-size:11px;line-height:1.6;color:var(--muted);margin-left:auto}
.chuc-portal #prestaciones{max-width:var(--portal-width);padding:34px;border-radius:10px;margin:34px auto;background:var(--surface);box-shadow:none}
.chuc-portal #prestaciones .catalog-heading{display:block;max-width:78ch;margin-bottom:25px}
.chuc-portal #prestaciones .sec-head p{font-size:14px;margin-top:15px}
.chuc-portal #prestaciones .controls{display:grid;grid-template-columns:auto minmax(200px,1fr) minmax(160px,210px) auto;gap:12px;align-items:end;margin-bottom:20px;padding:19px;background:var(--portal-soft);border:1px solid var(--line);border-radius:9px}
.chuc-portal .catalog-label{grid-column:1/-1;font-size:12px;color:var(--petrol);font-weight:650}
.chuc-portal #prestaciones .controls .toggle{margin:0;display:flex;gap:1px;background:var(--surface);padding:3px;border:1px solid var(--line);border-radius:7px;align-self:end}
.chuc-portal #prestaciones .controls .toggle button{border-radius:4px;min-height:43px;font-size:12px;padding:9px 12px}
.chuc-portal #prestaciones .controls .search{min-width:0;min-height:51px;margin:0;background:var(--surface);border:1px solid #a4b9aa;border-radius:7px}
.chuc-portal #prestaciones .search input{font-size:13px;min-width:0;min-height:49px;background:transparent}
.area-control{display:grid;gap:5px}
.area-control label{font-size:11px;font-weight:650;color:var(--petrol)}
.area-control select{width:100%;min-height:51px;border:1px solid #a4b9aa;border-radius:7px;padding:10px;font:13px Archivo,system-ui;background:var(--surface);color:var(--ink)}
.chuc-portal #catalog-clear,.chuc-portal #noRes button{font:600 12px Archivo,system-ui;min-height:44px;cursor:pointer;color:var(--petrol);background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:10px 12px}
.chuc-portal #prestaciones .count{grid-column:1/-1;font-size:12px;font-weight:600;color:var(--petrol);margin:0}
.catalog-search-note{grid-column:1/-1;color:var(--muted);font-size:12px;margin:0;line-height:1.5}
.catalog-search-note:empty{display:none}
.chuc-portal #prestaciones .patient-intro{padding:18px 20px;margin-bottom:25px;font-size:13px;border-radius:8px;border-left:4px solid #57917d;background:var(--portal-soft)}
.chuc-portal #prestaciones .patient-intro p{font-size:12px}
.chuc-portal #prestaciones .group{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:12px;background:var(--surface)}
.chuc-portal #prestaciones .group-head{padding:18px 20px}
.chuc-portal #prestaciones .group-head h3{font:650 16px/1.4 Archivo,system-ui}
.chuc-portal #prestaciones .cards{grid-template-columns:1fr;gap:0;padding:0 20px 10px}
.chuc-portal #prestaciones .card{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;margin:0;padding:0}
.chuc-portal #prestaciones .patient-summary{display:grid;grid-template-columns:1fr auto auto;gap:16px;padding:18px 10px;background:transparent;border-radius:5px;align-items:center}
.chuc-portal #prestaciones .patient-summary .nm{font-size:14px;line-height:1.55}
.chuc-portal #prestaciones .patient-summary .iso{margin:0;font-size:10px;max-width:200px}
.chuc-portal #prestaciones .patient-prompt{margin:0;font-size:10px}
.chuc-portal #prestaciones .patient-info{padding:0 10px 20px}
.procedure-summary{margin:0;display:grid;gap:0}
.procedure-summary>div{display:grid;grid-template-columns:155px 1fr;gap:20px;border-top:1px solid var(--line);padding:14px 0}
.procedure-summary dt{font-size:12px;font-weight:700;color:var(--petrol);line-height:1.6}
.procedure-summary dd{font-size:13px;line-height:1.75;color:var(--ink);margin:0;max-width:85ch}
.chuc-portal #prestaciones .card-tools{flex-wrap:wrap;gap:8px;margin-top:12px}
.chuc-portal #prestaciones .card-tools button{font-size:11px;min-height:41px;border-radius:5px}
.chuc-portal #noRes{padding:28px;background:var(--portal-soft);border-radius:8px;text-align:left}
.chuc-portal #noRes h3{font-size:24px;margin-bottom:12px}
.chuc-portal #noRes p{font-size:14px;margin-bottom:15px;color:var(--muted)}
.chuc-portal #noRes a{margin-left:18px;display:inline-block;font-size:13px;color:var(--teal);padding:10px 0}
.chuc-portal #acceso{max-width:1240px;padding:48px 28px}
.arrival-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.arrival-grid .access-notice{padding:25px;background:var(--portal-warm);border:1px solid #dccba5;border-left:4px solid #a4771f;border-radius:9px;color:var(--portal-warning)}
.arrival-grid .access-notice-heading{display:flex;align-items:center;gap:13px;margin-bottom:13px}
.arrival-grid .access-notice h3{font:700 18px/1.5 Archivo,system-ui;color:inherit}
.arrival-grid .access-notice p{font-size:13px;line-height:1.75;margin-top:10px}
.arrival-grid .access-ticket{padding-bottom:16px;margin-bottom:12px;border-bottom:1px solid #dccba5}
.arrival-grid .access-route{border-top:1px solid #dccba5;padding-top:15px;margin-top:18px}
.arrival-grid .access-route h4{font:700 14px/1.5 Archivo,system-ui;color:inherit}
.arrival-grid .access-mn-label{color:#5e347e}
.arrival-grid .access-signs h3{font:650 15px/1.5 Archivo,system-ui;color:var(--petrol);margin-bottom:15px}
.arrival-grid .access-signs-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.arrival-grid .access-signs figure{margin:0;min-width:0}
.arrival-grid .access-signs img{width:100%;height:260px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}
.arrival-grid .access-signs figcaption{font-size:12px;color:var(--muted);line-height:1.7;margin-top:10px}
.arrival-grid .access-signs a{color:var(--teal);text-underline-offset:4px}
.chuc-portal #equipos .hero-stats{background:var(--portal-soft);border-color:var(--line);margin:25px 0;color:var(--petrol);border-radius:9px}
.chuc-portal #equipos .stat .l{color:var(--muted)}
.chuc-portal #equipos .stat .n{font-size:32px}
.chuc-portal .preview-label{font-size:11px;color:#d0dfd2;margin-bottom:18px}
[data-theme=dark] .chuc-portal{--portal-soft:#254541;--portal-warm:#3c3527;--portal-warning:#f3dbac;--portal-accent:#9cceba}
[data-theme=dark] .chuc-portal :is(.arrival-alert,.arrival-grid .access-notice){border-color:#786543}
[data-theme=dark] .arrival-grid :is(.access-ticket,.access-route){border-color:#786543}
[data-theme=dark] .arrival-grid .access-mn-label{color:#dcc1f4}
[data-theme=dark] .chuc-portal .finder{background:#1c3c3e;border-color:#55766a}
[data-theme=dark] .chuc-portal .finder :is(h2,label,.finder-kicker,.finder-intro,.finder-all){color:#d4e8d9}
[data-theme=dark] .chuc-portal .popular-searches{color:#bdd4c6}
[data-theme=dark] .chuc-portal .popular-searches button{background:#294a46;color:#e0eee5;border-color:#55766a}
[data-theme=dark] .chuc-portal .finder form button{background:#b8d7c7;color:#153538}
[data-theme=dark] .chuc-portal #mi-visita{border-color:#527564}
@media(max-width:1220px){.chuc-portal .task-links,.chuc-portal #mi-visita,.chuc-portal #prestaciones{margin-left:28px;margin-right:28px}.chuc-portal .nav-links{gap:4px}.chuc-portal #prestaciones .controls{grid-template-columns:auto minmax(180px,1fr) 180px}.chuc-portal #catalog-clear{grid-column:1/-1;justify-self:start}}
@media(max-width:1040px){.chuc-portal .nav .nav-links{gap:6px}.chuc-portal .service-menu{width:100%;margin:0}.chuc-portal .service-menu-links{position:static;box-shadow:none;min-width:0;margin-top:5px}.chuc-portal .hybrid-hero-top{gap:32px}.chuc-portal .hero-inner{padding-top:30px}.chuc-portal .finder{padding:24px}.chuc-portal .finder h2{font-size:28px}.chuc-portal #prestaciones .controls{grid-template-columns:1fr 1fr}.chuc-portal #prestaciones .controls .toggle{grid-column:1/-1;justify-self:start}.chuc-portal .visit-layout{gap:25px}.chuc-portal .visit-checks{padding-left:25px}.process-list{gap:20px}.arrival-grid .access-signs-grid{grid-template-columns:1fr}.arrival-grid .access-signs img{height:200px;object-fit:contain;background:var(--portal-soft)}}
@media(max-width:700px){.arrival-alert{padding:12px 20px;gap:15px;align-items:flex-start;flex-direction:column}.arrival-alert>a{min-height:32px}.chuc-portal .hero-inner{padding:27px 20px 31px}.chuc-portal .hybrid-hero-top{grid-template-columns:1fr;gap:23px}.chuc-portal .hybrid-hero-top h1{font-size:48px;max-width:18ch}.chuc-portal .hybrid-hero-top .hybrid-hero-copy>p{font-size:14px}.chuc-portal .hero-identity-controls{margin-bottom:24px}.chuc-portal .finder h2{font-size:30px}.chuc-portal .finder{padding:24px}.chuc-portal .hero-contact{gap:18px;margin-top:20px}.chuc-portal .hero-meta .pill{font-size:9px}.chuc-portal .task-links{grid-template-columns:1fr;margin:18px 20px 0}.task-links>a{border-left:0;border-top:1px solid var(--line);padding:17px 20px;grid-template-columns:26px 1fr;gap:3px 10px}.task-links>a:first-child{border-top:0}.task-number{grid-row:1/3;padding-top:3px}.task-links strong{font-size:15px}.task-links>a>span:last-of-type{max-width:none;font-size:11px}.task-links b{right:20px;top:21px;font-size:19px}.chuc-portal .visit-journey{padding:35px 20px 22px}.process-list{grid-template-columns:1fr;gap:18px}.process-list li{padding-top:16px}.process-list p{max-width:52ch}.chuc-portal #mi-visita{padding:23px 20px;margin:8px 20px 28px}.visit-heading{align-items:flex-start;flex-direction:column;gap:10px}.visit-heading h2{font-size:31px}.visit-find{font-size:12px;gap:14px;min-height:36px}.visit-layout{grid-template-columns:1fr;gap:23px}.visit-checks{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.chuc-portal .visit-actions p{margin-left:0;width:100%}.chuc-portal #prestaciones{margin:28px 20px;padding:24px 20px}.chuc-portal #prestaciones .controls{grid-template-columns:1fr;padding:14px;gap:10px}.chuc-portal .area-control,.chuc-portal #prestaciones .controls .search{grid-column:1}.chuc-portal #prestaciones .controls .toggle{width:100%;justify-self:stretch}.chuc-portal #prestaciones .toggle button{flex:1;padding:9px 8px;font-size:11px}.chuc-portal #prestaciones .search input{font-size:12px}.chuc-portal #prestaciones .patient-intro{padding:15px}.chuc-portal #prestaciones .group-head{padding:16px}.chuc-portal #prestaciones .cards{padding:0 13px 8px}.chuc-portal #prestaciones .patient-summary{grid-template-columns:1fr;gap:6px;padding:16px 4px}.chuc-portal #prestaciones .patient-summary .iso{max-width:none}.chuc-portal #prestaciones .patient-info{padding:0 4px 18px}.procedure-summary>div{grid-template-columns:1fr;gap:5px;padding:13px 0}.chuc-portal #noRes{padding:22px}.chuc-portal #noRes a{margin-left:0;display:block}.chuc-portal #acceso{padding:35px 20px}.arrival-grid{grid-template-columns:1fr;gap:25px}.arrival-grid .access-signs-grid{grid-template-columns:1fr 1fr}.arrival-grid .access-signs img{height:190px}.chuc-portal #equipos .stat{padding:15px}}
@media(max-width:360px){.chuc-portal .hybrid-hero-top h1{font-size:41px}.chuc-portal .hero-contact{flex-direction:column;gap:12px}.chuc-portal .finder{padding:19px}.chuc-portal #mi-visita,.chuc-portal #prestaciones{margin-left:12px;margin-right:12px;padding:21px 15px}.chuc-portal .task-links{margin-left:12px;margin-right:12px}.chuc-portal .finder h2{font-size:28px}.arrival-grid .access-signs-grid{grid-template-columns:1fr}.arrival-grid .access-signs img{height:220px}}
@media print{.arrival-alert,.task-links,.visit-journey,.service-menu,.popular-searches,.hero-contact,.visit-find,.visit-actions,.preview-label{display:none!important}.chuc-portal .procedure-summary dt,.chuc-portal .procedure-summary dd{color:#000!important}.chuc-portal #mi-visita{break-inside:avoid}body.chuc-portal.printing-card>#main-content{display:block!important}body.printing-card main>*:not(#prestaciones){display:none!important}body.printing-card .procedure-summary>div{break-inside:avoid}}

/* Routine arrival directions, without a construction warning. */
.arrival-grid .access-notice.access-directions{background:var(--surface);color:var(--ink);border-color:var(--line);border-left-color:var(--portal-accent)}
.arrival-grid .access-directions :is(.access-ticket,.access-route){border-color:var(--line)}
[data-theme=dark] .chuc-portal .arrival-grid .access-notice.access-directions{border-color:var(--line);border-left-color:var(--portal-accent)}
[data-theme=dark] .chuc-portal .arrival-grid .access-directions :is(.access-ticket,.access-route){border-color:var(--line)}
