.site-header{background:var(--color-white);border-bottom:1px solid var(--color-cream-dark);position:sticky;top:0;z-index:100}.skip-link{position:absolute;left:.75rem;top:-100px;z-index:200;padding:.65rem 1rem;border-radius:8px;background:var(--color-forest);color:var(--color-cream);font-weight:600;font-size:.9rem;text-decoration:none;transition:top .15s ease}.skip-link:focus{top:.75rem;color:var(--color-cream);outline:2px solid var(--color-gold);outline-offset:2px}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;position:relative;z-index:2}.logo{display:inline-flex;text-decoration:none;flex-shrink:0}.brand-logo{display:inline-flex;align-items:center;gap:.65rem}.brand-logo__mark{display:block;flex-shrink:0}.brand-logo__text{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-forest);line-height:1}.brand-logo__text--light{color:var(--color-cream)}.footer-brand .brand-logo{margin-bottom:.35rem}.nav{display:flex;align-items:center;gap:1.25rem}.nav-link{font-weight:500;color:var(--color-text-muted)}.nav-link:hover{color:var(--color-forest)}.nav-user{font-size:.9rem;color:var(--color-text-muted);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:2.5rem;height:2.5rem;padding:.45rem;border:1px solid var(--color-cream-dark);border-radius:8px;background:var(--color-cream);cursor:pointer}.nav-toggle-bar{display:block;height:2px;width:100%;border-radius:2px;background:var(--color-forest);transition:transform .2s ease,opacity .2s ease}.site-header.is-menu-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-header.is-menu-open .nav-toggle-bar:nth-child(2){opacity:0}.site-header.is-menu-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-backdrop{display:none}.site-footer{background:var(--color-forest);color:var(--color-cream);padding:2.5rem 0;margin-top:auto}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:1.5rem 2rem;align-items:start}.footer-brand{max-width:28rem}.footer-brand p{margin:.35rem 0 0;opacity:.85;font-size:.9rem;line-height:1.55}.footer-address{margin:.5rem 0 0!important;font-size:.88rem!important;font-style:normal}.footer-address a{color:var(--color-cream);opacity:.9;text-decoration:underline;text-underline-offset:2px}.footer-address a:hover{opacity:1}.footer-nav{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.footer-nav a{color:var(--color-cream);opacity:.85;font-size:.88rem}.footer-nav a:hover{opacity:1}.footer-copy{grid-column:1 / -1;font-size:.8rem!important;opacity:.6!important;margin:0!important}.page-layout{min-height:100vh;display:flex;flex-direction:column}.page-main{flex:1}@media(max-width:860px){.nav-toggle{display:inline-flex}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;border:none;padding:0;margin:0;background:#141c1266;cursor:pointer}.nav{position:absolute;top:calc(100% - .25rem);right:0;left:0;margin:0 auto;width:min(1100px,92vw);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0 .75rem;background:var(--color-white);border:1px solid var(--color-cream-dark);border-radius:12px;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:2}.nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.nav .nav-link,.nav .nav-user,.nav .btn{width:100%;justify-content:flex-start;padding:.85rem 1rem;border-radius:0;border:none;border-bottom:1px solid var(--color-cream-dark);text-align:left}.nav .nav-link:last-of-type,.nav .btn{border-bottom:none}.nav .btn{margin:.35rem .75rem .5rem;width:calc(100% - 1.5rem);justify-content:center;border-radius:8px;border:2px solid var(--color-forest)}.nav .btn-primary{border-color:var(--color-forest)}.nav-user{max-width:none;white-space:normal;font-weight:600;color:var(--color-forest)}.brand-logo__text{font-size:1.25rem}.footer-inner{grid-template-columns:1fr}.footer-nav{flex-direction:column;gap:.65rem}}@media(max-width:480px){.header-inner{padding:.75rem 0}.site-footer{padding:2rem 0}}.waitlist-form h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--color-forest)}.waitlist-desc{color:var(--color-text-muted);margin:0 0 1.25rem;font-size:.95rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.carousel{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--color-forest);box-shadow:var(--shadow-md)}.carousel--hero{aspect-ratio:var(--carousel-aspect, 16/10)}.carousel--gallery{aspect-ratio:var(--carousel-aspect, 4/3)}.carousel-track{position:relative;width:100%;height:100%}.carousel-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .6s ease;pointer-events:none}.carousel-slide.active{opacity:1;pointer-events:auto}.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block}.carousel-caption{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.5rem 1.25rem;background:linear-gradient(transparent,#2d4a3eb8);color:var(--color-cream)}.carousel-caption strong{display:block;font-family:var(--font-display);font-size:1.25rem;margin-bottom:.25rem}.carousel-caption p{margin:0;font-size:.9rem;opacity:.92}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;border:none;border-radius:50%;background:#ffffffeb;color:var(--color-forest);font-size:1.75rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:transform .15s,background .15s;z-index:2}.carousel-btn:hover{background:#fff;transform:translateY(-50%) scale(1.05)}.carousel-btn--prev{left:.75rem}.carousel-btn--next{right:.75rem}.carousel-dots{position:absolute;bottom:.75rem;left:50%;transform:translate(-50%);display:flex;gap:.4rem;z-index:2}.carousel-dots button{width:.55rem;height:.55rem;border-radius:50%;border:none;background:#ffffff73;cursor:pointer;padding:0;transition:transform .15s,background .15s}.carousel-dots button.active{background:#fff;transform:scale(1.25)}.carousel--hero .carousel-dots{bottom:1rem}@media(max-width:640px){.carousel-caption{padding:1.35rem 1rem 1.75rem}.carousel-caption strong{font-size:1.05rem}.carousel-caption p{font-size:.82rem;line-height:1.4}.carousel-btn{width:2.25rem;height:2.25rem;font-size:1.35rem}.carousel-btn--prev{left:.45rem}.carousel-btn--next{right:.45rem}.carousel-dots{bottom:.55rem}}.services-marquee{overflow:hidden;margin:0 -.5rem;padding:.5rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.services-marquee-track{display:flex;gap:1.25rem;width:max-content;animation:services-marquee-scroll 45s linear infinite}.services-marquee:hover .services-marquee-track{animation-play-state:paused}.services-marquee-card{flex:0 0 280px;width:280px;min-height:220px;padding:1.5rem;transition:transform .2s,box-shadow .2s;border:1px solid transparent}.services-marquee-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-cream-dark)}@keyframes services-marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.services-marquee-track{animation:none;flex-wrap:wrap;width:100%;justify-content:center}.services-marquee{-webkit-mask-image:none;mask-image:none}.services-marquee-card{flex:1 1 260px;max-width:320px}}@media(max-width:640px){.services-marquee{margin:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.services-marquee-card{flex:0 0 240px;width:240px;min-height:200px;padding:1.2rem}}.hero{background:linear-gradient(160deg,#faf6ef,#f3ebe0 40%,#e8dfd0);padding:3rem 0 4.5rem;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.hero-tag,.section-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:var(--color-gold);margin:0 0 .75rem}.hero h1{font-size:clamp(2rem,4.5vw,3.1rem);color:var(--color-forest);margin-bottom:1rem;line-height:1.15}.hero-text{font-size:1.05rem;color:var(--color-text-muted);max-width:34rem;margin:0 0 1.5rem;line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.75rem}.hero-actions .has-hover-tip{position:relative}.hero-actions .has-hover-tip:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + .55rem);transform:translate(-50%) translateY(.25rem);width:min(16.5rem,70vw);padding:.55rem .7rem;border-radius:8px;background:var(--color-forest);color:var(--color-cream);font-size:.78rem;font-weight:500;line-height:1.35;text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:5;box-shadow:var(--shadow-md)}.hero-actions .has-hover-tip:hover:after,.hero-actions .has-hover-tip:focus-visible:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.hero-highlights{display:flex;flex-wrap:wrap;gap:1.25rem;list-style:none;margin:0;padding:0}.hero-highlight{display:flex;flex-direction:column;gap:.15rem;padding-right:1.25rem;border-right:1px solid var(--color-cream-dark)}.hero-highlight:last-child{border-right:none}.hero-highlight strong{font-family:var(--font-display);font-size:1.35rem;color:var(--color-forest)}.hero-highlight span{font-size:.8rem;color:var(--color-text-muted)}.hero-carousel-wrap{max-width:420px;margin-left:auto;width:100%}.mission-vision{padding:4.5rem 0;background:var(--color-white)}.mission-vision h2,.services h2,.life-section h2,.gallery-text h2{font-size:clamp(1.75rem,3vw,2.25rem);color:var(--color-forest);text-align:center;margin-bottom:.35rem}.mission-vision .section-eyebrow,.services .section-eyebrow,.life-section .section-eyebrow{text-align:center}.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}.mv-card{padding:2rem;border-top:4px solid var(--color-gold)}.mv-icon{font-size:2rem;display:block;margin-bottom:.75rem}.mv-card h3{font-size:1.35rem;color:var(--color-forest);margin-bottom:.75rem}.mv-card p{color:var(--color-text-muted);margin:0;line-height:1.65;font-size:.98rem}.values-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}.value-pill{background:var(--color-cream);border-radius:var(--radius);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.value-pill strong{color:var(--color-forest);font-size:.95rem}.value-pill span{font-size:.82rem;color:var(--color-text-muted);line-height:1.45}.gallery-section{padding:4rem 0;background:linear-gradient(180deg,#f3ebe0 0%,var(--color-white) 100%)}.gallery-split{display:grid;grid-template-columns:1fr 1.1fr;gap:2.5rem;align-items:center}.gallery-text p:last-child{color:var(--color-text-muted);line-height:1.65;margin:1rem 0 0}.gallery-text h2,.gallery-text .section-eyebrow{text-align:left}.services{padding:4.5rem 0}.section-desc{text-align:center;color:var(--color-text-muted);margin:0 auto 2.5rem;max-width:36rem;line-height:1.6}.service-icon{font-size:2rem;display:block;margin-bottom:.75rem}.services-marquee-card h3,.service-card h3{font-size:1.15rem;color:var(--color-forest);margin-bottom:.5rem}.services-marquee-card p,.service-card p{color:var(--color-text-muted);font-size:.92rem;margin:0;line-height:1.55}.services-grid{display:none}.life-section{padding:4rem 0;background:linear-gradient(180deg,#f5efe6 0%,var(--color-cream) 100%)}.life-themes{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin-bottom:2rem}.life-theme-pill{background:var(--color-white);border:1px solid #d9cbb8;border-radius:999px;padding:.5rem 1.1rem;font-size:.88rem;color:var(--color-forest);font-weight:600}.facility-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.facility-photo{overflow:hidden;padding:0;margin:0;border:1px solid #e5d9c8}.facility-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .35s ease}.facility-photo:hover img{transform:scale(1.03)}.facility-photo figcaption{padding:.75rem 1rem;font-size:.85rem;color:var(--color-forest);font-weight:600;text-align:center;background:var(--color-white)}.life-carousel-full{display:none}.seo-section{padding:4.5rem 0;background:var(--color-white)}.seo-section h2,.faq-section h2{font-size:clamp(1.75rem,3vw,2.25rem);color:var(--color-forest);text-align:center;margin-bottom:.35rem}.seo-section .section-eyebrow,.faq-section .section-eyebrow{text-align:center}.seo-cities{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2rem}.location-address{max-width:32rem;margin:0 auto 2rem;padding:1.35rem 1.5rem;text-align:center;font-style:normal;border-top:4px solid var(--color-gold)}.location-label{margin:0 0 .35rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-gold)}.location-street{margin:0 0 .5rem;font-size:1.05rem;color:var(--color-forest);font-weight:600;line-height:1.5}.location-nap-extra{margin:0 0 1rem;font-size:.9rem;color:var(--color-text-muted)}.location-map-link{display:inline-flex}.seo-city{padding:1.5rem;border-top:3px solid var(--color-gold)}.seo-city-primary{border-top-width:4px;background:linear-gradient(180deg,var(--color-cream) 0%,var(--color-white) 100%)}.seo-city h3{font-size:1.1rem;color:var(--color-forest);margin:0 0 .65rem}.seo-city p{margin:0;font-size:.92rem;color:var(--color-text-muted);line-height:1.6}.seo-keywords-block{margin-top:2.5rem;padding:2rem;background:var(--color-cream);border-radius:var(--radius);max-width:48rem;margin-left:auto;margin-right:auto}.seo-keywords-block h3{font-size:1.2rem;color:var(--color-forest);margin:0 0 .75rem;text-align:center}.seo-keywords-block p{margin:0;color:var(--color-text-muted);line-height:1.65;font-size:.95rem}.faq-section{padding:4.5rem 0;background:linear-gradient(180deg,var(--color-cream) 0%,var(--color-white) 100%)}.faq-list{display:flex;flex-direction:column;gap:.75rem;max-width:44rem;margin:2rem auto 0}.faq-item{padding:0;overflow:hidden}.faq-item summary{padding:1.1rem 1.25rem;font-weight:600;color:var(--color-forest);cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";float:right;color:var(--color-gold);font-weight:700}.faq-item[open] summary:after{content:"−"}.faq-item p{margin:0;padding:0 1.25rem 1.15rem;color:var(--color-text-muted);line-height:1.65;font-size:.94rem}.cta-section{background:var(--color-forest);color:var(--color-cream);padding:3.5rem 0}.cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}.cta-inner h2{text-align:left;color:var(--color-cream);font-size:1.75rem;margin:0}.cta-inner p{opacity:.9;margin:.5rem 0 0;max-width:28rem;line-height:1.55}.waitlist-section{padding:4.5rem 0}.waitlist-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.waitlist-info h2{text-align:left;font-size:1.75rem;color:var(--color-forest)}.waitlist-info .section-eyebrow{text-align:left}.waitlist-info p{color:var(--color-text-muted);margin:.75rem 0 1.25rem;line-height:1.6}.waitlist-info ul{padding-left:1.25rem;color:var(--color-forest)}.waitlist-info li{margin-bottom:.5rem}@media(max-width:960px){.values-row,.facility-gallery{grid-template-columns:repeat(2,1fr)}.hero{padding:2.25rem 0 3.25rem}.mission-vision,.services,.gallery-section,.life-section,.seo-section,.faq-section,.waitlist-section{padding:3.25rem 0}.cta-section{padding:2.75rem 0}}@media(max-width:768px){.hero-inner,.waitlist-inner,.mv-grid,.gallery-split,.seo-cities{grid-template-columns:1fr}.hero-inner{gap:2rem}.hero-carousel-wrap{margin:0 auto;max-width:100%}.facility-gallery{display:none}.life-carousel-full{display:block}.hero-highlight{border-right:none;padding-right:0}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.gallery-text h2,.waitlist-info h2,.cta-inner h2,.gallery-text .section-eyebrow,.waitlist-info .section-eyebrow{text-align:center}.cta-inner{flex-direction:column;text-align:center}.cta-inner p{max-width:none}.cta-inner .btn{width:100%}.location-address{padding:1.15rem 1.1rem}.seo-keywords-block{padding:1.35rem 1.15rem}.faq-item summary{padding:1rem 1.05rem;font-size:.95rem}.faq-item summary:after{float:none;margin-left:.5rem}.waitlist-inner{gap:1.75rem}}@media(max-width:480px){.values-row{grid-template-columns:1fr}.hero{padding:1.75rem 0 2.5rem}.hero-text{font-size:.98rem}.hero-highlights{gap:.85rem}.mv-card,.seo-city{padding:1.35rem 1.15rem}.life-theme-pill{font-size:.82rem;padding:.45rem .85rem}.mission-vision,.services,.gallery-section,.life-section,.seo-section,.faq-section,.waitlist-section{padding:2.5rem 0}}.login-page{display:flex;align-items:center;justify-content:center;padding:3rem 1rem}.login-card{width:min(420px,100%)}.login-brand{display:flex;justify-content:center;margin-bottom:1rem}.login-brand .brand-logo{flex-direction:column;gap:.5rem}.login-card h1{font-size:2rem;color:var(--color-forest);margin-bottom:.35rem}.login-desc{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:.95rem}.login-btn{width:100%;margin-top:.5rem}.login-back{display:inline-block;margin-top:1rem;font-size:.9rem}@media(max-width:480px){.login-page{padding:1.5rem .75rem 2.5rem;align-items:flex-start}.login-card h1{font-size:1.65rem}}.visit-schedule-page{padding:2.5rem 0 4rem}.visit-schedule-inner{max-width:720px}.visit-schedule-page h1{margin:.25rem 0 .75rem;color:var(--color-forest, #2f4a3a);font-size:clamp(1.6rem,3vw,2.1rem)}.visit-schedule-lead{margin:0 0 1.5rem;color:var(--color-text-muted, #5c564c);line-height:1.5}.visit-schedule-form{margin-bottom:1.5rem}.visit-schedule-back{font-size:.95rem}.visit-schedule-back a{color:var(--color-forest, #2f4a3a)}.family-event-calendar{margin-top:1.5rem}.family-cal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.family-cal-header h3{margin:0;font-size:1.15rem}.family-cal-hint{font-size:.88rem;margin-bottom:1rem}.family-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;font-size:.75rem;font-weight:600;color:var(--color-muted, #666);text-align:center}.family-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.family-cal-cell{aspect-ratio:1;min-height:52px;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius, 8px);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:pointer;padding:0;font:inherit;container-type:size}.family-cal-cell.empty{border:none;background:transparent;cursor:default;container-type:normal}.family-cal-cell.has-events{background:#f0f9ff;border-color:#7dd3fc}.family-cal-cell.has-mood{background:#faf8f3;border-color:#e0d5c0}.family-cal-cell.selected{outline:2px solid var(--color-primary, #2563eb);outline-offset:1px}.family-cal-day-num{font-size:.9rem;font-weight:500}.family-cal-cell.has-mood .family-cal-day-num{position:absolute;top:3px;left:5px;font-size:.68rem;font-weight:600;line-height:1;color:var(--color-muted, #666);z-index:1}.family-cal-mood{display:flex;align-items:center;justify-content:center;width:50%;height:50%;font-size:50cqmin;line-height:1;margin:0}.family-cal-cell[data-mood-tip]:hover:after{content:attr(data-mood-tip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);z-index:20;white-space:nowrap;padding:.35rem .65rem;border-radius:8px;background:#2d3a28;color:#faf6ef;font-size:.78rem;font-weight:600;line-height:1.2;pointer-events:none;box-shadow:0 4px 14px #2d3a2840}.family-cal-cell[data-mood-tip]:hover:before{content:"";position:absolute;left:50%;bottom:calc(100% + 2px);transform:translate(-50%);z-index:20;border:5px solid transparent;border-top-color:#2d3a28;pointer-events:none}.family-cal-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-primary, #2563eb);color:#fff;font-size:.65rem;font-weight:700;line-height:16px;text-align:center}.family-cal-status-report{margin:0 0 1rem;padding:.75rem 1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.family-cal-mood-report{margin:0 0 .5rem;font-size:1.05rem}.family-cal-status-block{margin-top:.5rem}.family-cal-status-block p{margin:.25rem 0;font-size:.92rem}.family-cal-day-list{display:flex;flex-direction:column;gap:.75rem}.family-cal-update-card{margin:0}.family-cal-resident{font-size:.82rem;color:var(--color-muted, #666);margin:0 0 .25rem}.family-cal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#141c1273;display:flex;align-items:center;justify-content:center;padding:1rem}.family-cal-modal{width:min(560px,100%);max-height:min(85vh,720px);overflow:hidden;display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 16px 48px #0003}.family-cal-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.family-cal-modal-header h4{margin:0;font-size:1.05rem;text-transform:capitalize;line-height:1.35;color:var(--color-forest, #2d3a28)}.family-cal-modal-close{flex-shrink:0;min-width:2rem;font-size:1.25rem;line-height:1;padding:.15rem .45rem}.family-cal-modal-body{padding:1rem 1.15rem 1.25rem;overflow-y:auto}@media(max-width:640px){.family-cal-header{flex-wrap:wrap;gap:.65rem}.family-cal-header h3{font-size:1.05rem;order:-1;width:100%;text-align:center}.family-cal-weekdays{font-size:.68rem;gap:2px}.family-cal-grid{gap:2px}.family-cal-cell{min-height:0;border-radius:6px}.family-cal-day-num{font-size:.75rem}.family-cal-cell.has-mood .family-cal-day-num{top:2px;left:3px;font-size:.58rem}.family-cal-badge{top:2px;right:2px;min-width:14px;height:14px;font-size:.58rem;line-height:14px}.family-cal-cell[data-mood-tip]:hover:after,.family-cal-cell[data-mood-tip]:hover:before{content:none}.family-cal-modal-overlay{padding:.75rem;align-items:flex-end}.family-cal-modal{width:100%;max-height:min(90vh,780px);border-radius:14px 14px 10px 10px}}.dashboard-page{padding:2.5rem 0 4rem}.dashboard-title{font-size:2rem;color:var(--color-forest)}.dashboard-subtitle{color:var(--color-text-muted);margin:.25rem 0 2rem}.dashboard-loading{text-align:center;padding:3rem;color:var(--color-text-muted)}.dashboard-empty{text-align:center;padding:2rem}.dashboard-empty h2{color:var(--color-forest);margin-bottom:.5rem}.resident-section{margin-bottom:2.5rem}.resident-profile{margin-bottom:1.5rem}.resident-header{display:flex;gap:1.25rem;align-items:center}.resident-avatar{width:64px;height:64px;border-radius:50%;background:var(--color-forest);color:var(--color-cream);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.5rem;font-weight:700}.resident-relation{color:var(--color-gold);font-weight:600;margin:.15rem 0;font-size:.9rem}.resident-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--color-text-muted)}.resident-clinical-summary{white-space:pre-wrap;line-height:1.55;padding:.85rem 1rem;background:var(--color-cream, #f8f6f2);border:1px solid var(--color-cream-dark, #e8e2d8);border-radius:var(--radius, 8px);color:var(--color-text, #1a1a1a)}.resident-clinical-summary-input{width:100%;resize:vertical;min-height:9rem;line-height:1.55;padding:.85rem 1rem;background:var(--color-white, #fff);border:1px solid var(--color-cream-dark, #e8e2d8);border-radius:var(--radius, 8px);color:var(--color-text, #1a1a1a);font:inherit}.resident-clinical-summary-input:focus{outline:2px solid var(--color-gold);outline-offset:1px}.resident-summary{margin:1rem 0 0;padding-top:1rem;border-top:1px solid var(--color-cream-dark);color:var(--color-text-muted)}.updates-section h3{font-size:1.25rem;color:var(--color-forest);margin-bottom:1rem}.updates-list{display:flex;flex-direction:column;gap:1rem}.update-card{background:var(--color-white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);border-left:4px solid var(--color-gold)}.update-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.update-header time{font-size:.8rem;color:var(--color-text-muted)}.update-card h4{font-family:var(--font-body);font-size:1.05rem;margin:0 0 .35rem}.update-card p{margin:0 0 .5rem;color:var(--color-text-muted)}.update-nurse{font-size:.8rem;color:var(--color-text-muted);font-style:italic}.no-updates{color:var(--color-text-muted);font-style:italic}.nurse-grid{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;align-items:start}.residents-sidebar h3{font-size:1.1rem;color:var(--color-forest);margin-bottom:.75rem}.residents-list{list-style:none;padding:0;margin:0 0 1.5rem}.residents-list button{width:100%;text-align:left;padding:.65rem .75rem;border:none;background:transparent;border-radius:8px;display:flex;flex-direction:column;gap:.15rem;font-size:.9rem;transition:background .15s}.residents-list button span{font-size:.75rem;color:var(--color-text-muted)}.residents-list button:hover,.residents-list button.active{background:var(--color-cream)}.residents-list button.active{font-weight:600;color:var(--color-forest)}.notes-workspace-header{margin-bottom:1rem}.notes-workspace-header h2{margin:0 0 .25rem;color:var(--color-forest)}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.form-row-2{grid-template-columns:1fr}}.new-resident-form{border-top:1px solid var(--color-cream-dark);padding-top:1rem}.new-resident-form h4{font-size:.95rem;color:var(--color-forest);margin:0 0 .75rem}.nurse-main{display:flex;flex-direction:column;gap:1.25rem}.resident-detail h2{color:var(--color-forest);margin-bottom:.25rem}.family-links{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-cream-dark);font-size:.9rem}.family-links ul{margin:.5rem 0 0;padding-left:1.25rem}.update-form h3,.recent-updates h3{font-size:1.1rem;color:var(--color-forest);margin-bottom:1rem}.recent-updates ul{list-style:none;padding:0;margin:0}.recent-updates li{padding:.65rem 0;border-bottom:1px solid var(--color-cream-dark);font-size:.9rem;color:var(--color-text-muted)}.recent-updates li strong{color:var(--color-text)}.update-date{display:block;font-size:.75rem;margin-top:.15rem}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--color-cream-dark)}.admin-tabs button{padding:.75rem 1.25rem;border:none;background:transparent;font-weight:600;color:var(--color-text-muted);border-bottom:3px solid transparent;margin-bottom:-2px}.resident-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--color-cream-dark)}.photo-upload{margin-top:.75rem}.hours-highlight{font-size:1.1rem;margin:.75rem 0}.hours-highlight strong{color:var(--color-forest);font-size:1.35rem}.nurse-schedule-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.nurse-schedule-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.nurse-schedule-select{padding:.4rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:.9rem;min-width:12rem}.requests-list{list-style:none;padding:0;margin:0}.requests-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--color-cream-dark);font-size:.9rem}.status-approved{background:#d8f3dc;color:#1b4332}@media(max-width:768px){.nurse-grid{grid-template-columns:1fr}}.resident-subtabs{display:flex;gap:.5rem;margin:1rem 0;border-bottom:1px solid var(--color-cream-dark);padding-bottom:.5rem}.resident-subtabs button{background:none;border:none;padding:.5rem .75rem;cursor:pointer;font-weight:500;color:var(--color-text-muted);border-radius:6px}.resident-subtabs button.active{background:var(--color-cream);color:var(--color-forest);font-weight:600}.resident-tab-panel{padding-top:.5rem}.field-hint{display:block;font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem}.updates-timeline{list-style:none;padding:0;margin:0}.updates-timeline li{padding:.75rem 0;border-bottom:1px solid var(--color-cream-dark)}.updates-timeline li:last-child{border-bottom:none}.updates-timeline .update-date{display:block;font-size:.85rem;color:var(--color-text-muted);margin-bottom:.25rem}.med-times-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.med-time-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.med-time-chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--color-cream);padding:.25rem .5rem;border-radius:999px;font-size:.85rem}.med-time-chip button{border:none;background:none;cursor:pointer;font-size:1rem;line-height:1;color:var(--color-text-muted)}.medications-list{list-style:none;padding:0;margin:1.25rem 0 0}.medication-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--color-cream-dark)}.medication-item strong{display:block}.med-times{display:block;color:var(--color-forest);font-weight:500;margin-top:.2rem}.resident-medications-readonly{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-cream-dark)}.resident-medications-readonly ul{margin:.5rem 0 0;padding-left:1.25rem}.family-dashboard-page{background:linear-gradient(180deg,#faf8f4,#fff 35%)}.family-portal-hero{margin-bottom:2rem}.family-portal-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--color-cream-dark)}.family-portal-tabs button{padding:.65rem 1.25rem;border:none;background:transparent;font-weight:600;color:var(--color-text-muted);border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .15s,border-color .15s}.family-portal-tabs button:hover{color:var(--color-forest)}.family-portal-tabs button.active{color:var(--color-forest);border-bottom-color:var(--color-gold)}.family-portal-hero .dashboard-title{margin-bottom:.35rem}.family-resident-section{margin-bottom:2.5rem}.family-resident-profile{padding:1.75rem;margin-bottom:1.75rem;border:1px solid var(--color-cream-dark);box-shadow:var(--shadow-md)}.family-resident-header{display:flex;gap:1.25rem;align-items:center}.family-resident-photo,.family-resident-avatar{width:88px;height:88px;border-radius:50%;flex-shrink:0;object-fit:cover;border:3px solid var(--color-gold);box-shadow:var(--shadow-sm)}.family-resident-avatar{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--color-forest),#3d5a40);color:#fff;font-size:1.75rem;font-weight:700;font-family:var(--font-heading)}.family-resident-header h2{color:var(--color-forest);margin:0 0 .25rem;font-size:1.65rem}.family-resident-relation{color:var(--color-gold-dark);font-weight:500;margin:0 0 .35rem}.family-resident-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.9rem;color:var(--color-text-muted)}.family-resident-meta span{background:var(--color-cream);padding:.2rem .65rem;border-radius:999px}.family-medications{margin-top:1.25rem;padding:1rem 1.15rem;background:linear-gradient(135deg,#eff6ff,#f8fafc);border-radius:var(--radius);border:1px solid #bfdbfe}.family-medications-title{display:flex;align-items:center;gap:.5rem;color:#1d4ed8;margin-bottom:.65rem}.family-medications ul{list-style:none;margin:0;padding:0}.family-medications li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px dashed #dbeafe;font-size:.92rem}.family-medications li:last-child{border-bottom:none}.family-medications .med-name{font-weight:600;color:var(--color-text)}.family-medications .med-times{color:var(--color-text-muted);white-space:nowrap}.family-content-grid{display:grid;grid-template-columns:1fr 380px;gap:1.5rem;align-items:start}.family-section-title{color:var(--color-forest);font-size:1.15rem;margin:0 0 1rem}.family-updates-list{display:flex;flex-direction:column;gap:1rem}.family-update-card{display:flex;gap:1rem;padding:1.25rem 1.35rem;border-radius:var(--radius);border:1px solid;box-shadow:0 2px 12px #0000000a;transition:transform .15s ease,box-shadow .15s ease}.family-update-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000012}.family-update-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 1px #ffffff80}.family-update-body{flex:1;min-width:0}.family-update-top{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem}.family-update-type{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.family-update-top time{font-size:.78rem;color:var(--color-text-muted);white-space:nowrap}.family-update-card h4{font-family:var(--font-body);font-size:1.08rem;color:var(--color-forest);margin:0 0 .4rem}.family-update-card p{margin:0 0 .5rem;color:var(--color-text);line-height:1.55}.family-update-nurse{font-size:.78rem;color:var(--color-text-muted)}.family-no-updates{color:var(--color-text-muted);font-style:italic;padding:1.5rem;text-align:center;background:var(--color-cream);border-radius:var(--radius)}.family-requests-panel{margin-top:.5rem;padding:1.5rem;max-width:720px}.family-requests-header h3{color:var(--color-forest);margin:0 0 .35rem}.family-requests-list-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.family-requests-list-header h3{margin:0;color:var(--color-forest);font-size:1.05rem}.family-requests-filter{display:inline-flex;border:1px solid var(--color-cream-dark);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-cream)}.family-requests-filter button{border:none;background:transparent;padding:.4rem .85rem;font:inherit;font-size:.82rem;font-weight:600;color:var(--color-text-muted);cursor:pointer}.family-requests-filter button+button{border-left:1px solid var(--color-cream-dark)}.family-requests-filter button.active{background:var(--color-forest);color:#fff}.family-open-requests-alert{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin:0 0 1.25rem;padding:.9rem 1.1rem;border-radius:var(--radius-sm);border:1px solid #fde68a;background:#fffbeb}.family-open-requests-alert strong{display:block;color:#92400e;margin-bottom:.15rem}.family-open-requests-alert p{margin:0;font-size:.88rem;color:#a16207}.family-request-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-cream-dark)}.family-request-form .form-group{margin:0}.family-request-form label{font-size:.82rem;font-weight:600;color:var(--color-forest)}.family-request-form input,.family-request-form select,.family-request-form textarea{width:100%;padding:.55rem .65rem;border:1px solid var(--color-cream-dark);border-radius:var(--radius-sm);font-family:inherit;font-size:.9rem}.family-requests-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem;max-height:420px;overflow-y:auto}.family-request-card{padding:1rem;border-radius:var(--radius-sm);border:1px solid var(--color-cream-dark);background:var(--color-white)}.family-request-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.family-request-card-top time{font-size:.75rem;color:var(--color-text-muted)}.family-request-card h4{font-size:.95rem;margin:0 0 .25rem;color:var(--color-forest)}.family-request-meta{font-size:.78rem;color:var(--color-text-muted);margin:0 0 .5rem}.family-request-message{font-size:.88rem;margin:0;color:var(--color-text);line-height:1.45}.family-request-response{margin-top:.75rem;padding:.65rem .75rem;background:var(--color-cream);border-radius:var(--radius-sm);border-left:3px solid var(--color-forest);font-size:.85rem}.family-request-response p{margin:.25rem 0 0}.family-request-status{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .55rem;border-radius:999px}.family-request-status.status-sent{background:#e0f2fe;color:#0369a1}.family-request-status.status-pending{background:#fef3c7;color:#b45309}.family-request-status.status-viewed{background:#ede9fe;color:#6d28d9}.family-request-status.status-approved{background:#dcfce7;color:#15803d}.family-request-status.status-rejected{background:#fee2e2;color:#b91c1c}.family-requests-empty{text-align:center;padding:1rem}.family-inbox{margin-top:1.5rem}.family-inbox-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.family-inbox-item{padding:1.15rem;border:1px solid var(--color-cream-dark);border-radius:var(--radius);background:var(--color-white)}.family-inbox-item header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.family-inbox-item h4{margin:.35rem 0 0;color:var(--color-forest)}.family-inbox-item time{font-size:.78rem;color:var(--color-text-muted);white-space:nowrap}.family-inbox-from{font-size:.88rem;margin:0 0 .5rem}.family-inbox-message{font-size:.9rem;margin:0 0 .85rem;padding:.65rem;background:var(--color-cream);border-radius:var(--radius-sm)}.family-inbox-actions{display:grid;grid-template-columns:180px 1fr auto;gap:.65rem;align-items:start}.family-inbox-actions select,.family-inbox-actions textarea{padding:.45rem .55rem;border:1px solid var(--color-cream-dark);border-radius:var(--radius-sm);font-family:inherit;font-size:.88rem}.staff-requests-alert{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;margin-bottom:1.25rem;background:linear-gradient(135deg,#fef2f2,#fff7ed);border:2px solid #f87171;border-radius:var(--radius);box-shadow:0 4px 14px #dc26261f}.staff-requests-alert-icon{width:2.25rem;height:2.25rem;border-radius:50%;background:#dc2626;color:#fff;font-weight:800;font-size:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:pulse-alert 1.5s ease-in-out infinite}@keyframes pulse-alert{0%,to{transform:scale(1);box-shadow:0 0 #dc262666}50%{transform:scale(1.05);box-shadow:0 0 0 8px #dc262600}}.staff-requests-alert-body{flex:1}.staff-requests-alert-body strong{color:#991b1b;display:block;margin-bottom:.25rem}.staff-requests-alert-body p{margin:0;font-size:.9rem;color:#7f1d1d}.staff-requests-alert-new{font-weight:700;color:#dc2626}.fee-increase-alert{border-color:#fcd34d;background:#fffbeb}.fee-increase-alert .staff-requests-alert-icon{background:#d97706}.fee-increase-alert-list{margin:.5rem 0 0;padding-left:1.1rem;font-size:.88rem}.fee-increase-alert-list li{margin:.2rem 0}.admin-tabs button,.nurse-dashboard .admin-tabs button{position:relative}.tab-notification-badge{position:absolute;top:-4px;right:-6px;min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:999px;background:#dc2626;color:#fff;font-size:.65rem;font-weight:800;line-height:1.15rem;text-align:center;box-shadow:0 0 0 2px var(--color-white);animation:pulse-badge 1.2s ease-in-out infinite}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.family-requirement-alert{padding:1rem 1.25rem;margin-bottom:1.25rem;background:#fef3c7;border:2px solid #f59e0b;border-radius:var(--radius);color:#92400e}.family-requirements-card{margin-bottom:2rem;padding:1.35rem}.family-requirement-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.family-requirement-item{padding:1rem;border:1px solid var(--color-cream-dark);border-radius:var(--radius-sm);background:var(--color-white)}.family-requirement-item.is-pending{border-color:#f59e0b;background:#fffbeb;box-shadow:0 2px 10px #f59e0b26}.family-requirement-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.family-requirement-message{margin:.5rem 0;line-height:1.5}.family-requirement-ack-form{margin-top:.85rem;display:flex;flex-direction:column;gap:.5rem}.family-requirement-ack-form label{font-size:.82rem;font-weight:600;color:var(--color-forest)}.family-requirement-ack-form textarea{padding:.55rem;border:1px solid #f59e0b;border-radius:var(--radius-sm);font-family:inherit}.family-requirement-response-sent{margin-top:.75rem;padding:.65rem;background:var(--color-cream);border-radius:var(--radius-sm);font-size:.9rem}.resident-requirements-panel .requirement-hint{margin-bottom:1rem}.requirement-form{padding:1rem;background:var(--color-cream);border-radius:var(--radius-sm);margin-bottom:1.25rem}.requirement-form h3{font-size:1rem;color:var(--color-forest);margin:0 0 .75rem}.requirement-history{list-style:none;margin:0;padding:0}.requirement-item{padding:.85rem 0;border-bottom:1px solid var(--color-cream-dark)}.requirement-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.requirement-response{margin-top:.5rem;padding:.5rem;background:#f0fdf4;border-radius:var(--radius-sm);font-size:.88rem}@media(max-width:960px){.family-content-grid{grid-template-columns:1fr}.family-requests-panel{position:static}.family-inbox-actions{grid-template-columns:1fr}}.family-payments-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.payment-alert-card{padding:1rem 1.15rem;border-radius:var(--radius-md);border:1px solid var(--color-cream-dark);background:#fff}.payment-alert-card.payment-alert--light{border-left:4px solid #3b82f6;background:#eff6ff}.payment-alert-card.payment-alert--warning{border-left:4px solid #d97706;background:#fffbeb}.payment-alert-card.payment-alert--critical{border-left:4px solid #dc2626;background:#fef2f2}.payment-alert-card.payment-alert--permanent{box-shadow:0 0 0 1px #0000000f}.payment-alert-card.payment-alert--none{border-left:4px solid #059669;background:#ecfdf5}.payment-alert-header{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-bottom:.5rem}.payment-alert-card h3{margin:0 0 .35rem;font-size:1.05rem;color:var(--color-forest)}.payment-alert-card p{margin:.35rem 0;font-size:.92rem;line-height:1.45}.payment-permanent-note{font-size:.85rem!important;font-style:italic;color:#6b7280}.payment-pause-note{margin-top:.5rem!important;padding:.55rem .7rem;border-radius:var(--radius-sm, 6px);background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:.88rem!important}.bank-transfer-box{padding:1rem 1.15rem;border-radius:var(--radius-md);border:1px solid var(--color-cream-dark);background:#fffef8}.bank-transfer-box h4{margin:0 0 .35rem;font-size:1.05rem;color:var(--color-forest)}.bank-transfer-intro{margin:0 0 .85rem;font-size:.92rem;color:#4b5563}.bank-transfer-grid{display:grid;grid-template-columns:1fr minmax(140px,200px);gap:1rem;align-items:start}@media(max-width:640px){.bank-transfer-grid{grid-template-columns:1fr}}.bank-transfer-details dl{margin:0;display:flex;flex-direction:column;gap:.65rem}.bank-transfer-details dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin-bottom:.15rem}.bank-transfer-details dd{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.95rem}.bank-transfer-details code{font-size:1rem;font-weight:600;letter-spacing:.02em;background:#f3f4f6;padding:.15rem .4rem;border-radius:4px}.bank-transfer-qr{margin:0;text-align:center}.bank-transfer-qr-trigger{display:block;width:100%;max-width:200px;margin:0 auto;padding:0;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:zoom-in;overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease}.bank-transfer-qr-trigger:hover,.bank-transfer-qr-trigger:focus-visible{border-color:var(--color-forest, #1f4d3a);box-shadow:0 0 0 2px #1f4d3a33;outline:none}.bank-transfer-qr-trigger img,.bank-transfer-qr img{width:100%;max-width:200px;height:auto;display:block;background:#fff}.bank-transfer-qr figcaption{margin-top:.35rem;font-size:.78rem;color:#6b7280}.bank-qr-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f170fb8}.bank-qr-lightbox-panel{display:flex;flex-direction:column;gap:.75rem;max-width:min(96vw,920px);max-height:96vh;padding:.85rem 1rem 1rem;border-radius:12px;background:#fff;box-shadow:0 16px 48px #00000059}.bank-qr-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.bank-qr-lightbox-header h5{margin:0;font-size:1rem;color:var(--color-forest, #1f4d3a)}.bank-qr-lightbox-img{display:block;width:auto;height:auto;max-width:min(92vw,880px);max-height:calc(96vh - 5rem);margin:0 auto;object-fit:contain;image-rendering:auto;background:#fff}.payment-amount-line{font-size:.95rem}.payment-status-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.payment-status-badge.status-paid{background:#d1fae5;color:#065f46}.payment-status-badge.status-pending{background:#dbeafe;color:#1e40af}.payment-status-badge.status-overdue{background:#fee2e2;color:#991b1b}.payment-proof-form{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.payment-proof-form label{font-weight:600;font-size:.9rem}.payment-proof-form textarea{width:100%;padding:.5rem;border:1px solid var(--color-cream-dark);border-radius:var(--radius-sm);font-family:inherit}.payment-proofs-sent ul,.payment-proofs-admin-list{list-style:none;margin:.5rem 0 0;padding:0}.payment-proofs-sent li,.payment-proofs-admin-list li{padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:.88rem}.pagos-mensualidad-tab .payments-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1rem 0 1.25rem}.payments-summary-card{padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--color-cream);display:flex;flex-direction:column;gap:.25rem;font-size:.88rem}.payments-summary-num{font-size:1.5rem;font-weight:700;color:var(--color-forest)}.payments-summary-card.status-paid .payments-summary-num{color:#059669}.payments-summary-card.status-pending .payments-summary-num{color:#2563eb}.payments-summary-card.status-overdue .payments-summary-num{color:#dc2626}.payments-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.payment-row.status-overdue{background:#fee2e240}.family-payments-history{margin-top:.5rem}.family-payments-history-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.family-payments-history-header h3{margin:0 0 .35rem;color:var(--color-forest)}.family-payments-year-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-cream-dark)}.family-payments-year-toolbar label{display:flex;align-items:center;gap:.35rem;font-weight:600;color:var(--color-forest)}.family-payments-year-toolbar select{padding:.35rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-cream-dark);font:inherit}.family-payments-table{font-size:.92rem}.family-payments-history-header .btn:disabled{opacity:.65;cursor:not-allowed}.family-account-panel{margin-bottom:1.25rem}.family-whatsapp-toggle{display:flex;align-items:flex-start;gap:.75rem;margin-top:1rem;cursor:pointer;font-weight:600;color:var(--color-forest)}.family-whatsapp-toggle input{margin-top:.2rem;width:1.1rem;height:1.1rem;accent-color:var(--color-forest)}.admin-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table-wrap .admin-table,.family-payments-table{width:100%;min-width:640px;border-collapse:collapse}.family-payments-table th,.family-payments-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--color-cream-dark);vertical-align:middle}.family-payments-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);white-space:nowrap}@media(max-width:768px){.family-dashboard-page.dashboard-page{padding:1.25rem 0 3rem}.family-portal-hero{margin-bottom:1.25rem}.family-portal-hero .dashboard-title{font-size:1.65rem}.family-portal-hero .dashboard-subtitle{font-size:.95rem;margin-bottom:1.25rem}.family-portal-tabs{gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;margin-bottom:1.15rem;padding-bottom:0}.family-portal-tabs button{flex:0 0 auto;padding:.7rem .95rem;font-size:.9rem;white-space:nowrap}.family-resident-profile,.family-requests-panel,.family-account-panel,.family-payments-history,.family-requirements-card,.payment-alert-card,.bank-transfer-box{padding:1.15rem}.family-resident-header h2{font-size:1.35rem}.family-medications li{flex-direction:column;align-items:flex-start;gap:.2rem}.family-medications .med-times{white-space:normal}.family-update-top{flex-wrap:wrap}.family-update-top time{white-space:normal}.family-open-requests-alert{flex-direction:column;align-items:stretch}.family-open-requests-alert .btn{width:100%}.family-requests-list-header{flex-direction:column;align-items:stretch}.family-requests-filter{width:100%}.family-requests-filter button{flex:1;text-align:center}.family-requests-list{max-height:none}.family-payments-year-toolbar{flex-direction:column;align-items:stretch}.family-requirement-item-head,.family-request-card-top{flex-wrap:wrap;gap:.35rem}}@media(max-width:520px){.family-update-card{flex-direction:column;align-items:flex-start;padding:1rem}.family-resident-header{flex-direction:column;text-align:center}.family-resident-meta{justify-content:center}.family-resident-photo,.family-resident-avatar{width:76px;height:76px}.container .family-dashboard .card{border-radius:10px}}.shift-calendar{margin-top:1.25rem}.shift-calendar-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.shift-calendar-header h4{margin:0;color:var(--color-forest);font-size:1.1rem}.shift-calendar-nav{display:flex;align-items:center;gap:.75rem}.shift-calendar-month{font-weight:600;min-width:9rem;text-align:center;color:var(--color-forest)}.shift-calendar-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:var(--color-text-muted);margin-bottom:.75rem}.shift-calendar-legend .dot{display:inline-block;width:.65rem;height:.65rem;border-radius:3px;margin-right:.35rem;vertical-align:middle}.dot-morning{background:#fbbf24;border:1px solid #b45309}.dot-night{background:#6366f1;border:1px solid #312e81}.dot-holiday{background:#fca5a5;border:1px solid #b91c1c}.dot-sunday{background:#bae6fd;border:1px solid #0369a1}.shift-calendar--nurse .dot-morning{background:#fcd34d;border-color:#d97706}.shift-calendar--nurse .dot-night{background:#818cf8;border-color:#4338ca}.shift-calendar--nurse .shift-calendar-legend{font-size:.88rem;gap:1.25rem}.shift-calendar--nurse .shift-calendar-cell{min-height:6rem}.shift-calendar--nurse .shift-calendar-cell--cell-day{background:linear-gradient(180deg,#fffbeb,#fff 55%);box-shadow:inset 0 0 0 2px #fcd34d}.shift-calendar--nurse .shift-calendar-cell--cell-night{background:linear-gradient(180deg,#eef2ff,#fff 55%);box-shadow:inset 0 0 0 2px #818cf8}.shift-calendar--nurse .shift-calendar-cell.today.shift-calendar-cell--cell-day .shift-calendar-daynum,.shift-calendar--nurse .shift-calendar-cell.today.shift-calendar-cell--cell-night .shift-calendar-daynum{background:var(--color-gold);color:#fff}.shift-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;background:var(--color-cream-dark);border:1px solid var(--color-cream-dark);border-radius:var(--radius);overflow:hidden}.shift-calendar-weekday{background:var(--color-forest);color:var(--color-cream);text-align:center;font-size:.75rem;font-weight:600;padding:.5rem .25rem}.shift-calendar-cell{background:var(--color-white);min-height:5.5rem;padding:.35rem;display:flex;flex-direction:column;gap:.2rem}.shift-calendar-cell.empty{background:var(--color-cream)}.shift-calendar-cell.out-of-range{background:#f5f5f4;opacity:.55}.shift-calendar-cell.today .shift-calendar-daynum{background:var(--color-gold);color:#fff;border-radius:50%;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center}.shift-calendar-cell--sunday{background:#f0f9ff}.shift-calendar-cell--holiday{background:#fef2f2}.shift-calendar-cell--holiday .shift-calendar-daynum{color:#b91c1c;font-weight:700}.shift-calendar-cell--sunday .shift-calendar-daynum{color:#0369a1}.shift-calendar-cell--editable{cursor:pointer}.shift-calendar-cell--editable:hover{outline:2px solid var(--color-gold);outline-offset:-2px}.shift-calendar-daynum{font-size:.8rem;font-weight:600;color:var(--color-text-muted);line-height:1.5rem}.shift-calendar-events{display:flex;flex-direction:column;gap:.15rem;flex:1}.shift-event{font-size:.65rem;line-height:1.2;padding:.2rem .3rem;border-radius:4px;border-left:3px solid;overflow:hidden}.shift-event--colored{border-left-style:solid;border-left-width:4px;font-weight:600}.nurse-color-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.nurse-color-chip{display:inline-block;padding:.25rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;border:2px solid}.legend-label{font-weight:600;color:var(--color-forest)}.legend-sep{opacity:.4}.legend-hint{font-size:.78rem;color:var(--color-text-muted);font-style:italic}.shift-event--morning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#d97706;color:#78350f}.shift-event--night{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-color:#4338ca;color:#312e81}.shift-calendar--nurse .shift-event--nurse-view{border-left-width:5px;border-left-style:solid;padding:.45rem .5rem;font-size:.78rem;border-radius:6px;box-shadow:0 1px 3px #00000014}.shift-calendar--nurse .shift-event--morning.shift-event--nurse-view{background:linear-gradient(135deg,#fef08a,#fde047);border-color:#ca8a04;color:#713f12}.shift-calendar--nurse .shift-event--night.shift-event--nurse-view{background:linear-gradient(135deg,#a5b4fc,#818cf8);border-color:#4f46e5;color:#1e1b4b}.shift-event-hours{display:block;font-size:.72rem;font-weight:600;opacity:.9;margin-top:.1rem}.shift-calendar--nurse .shift-event-type{font-size:.82rem;letter-spacing:.01em}.shift-event--afternoon{background:#eff6ff;border-color:#2563eb;color:#1e40af}.shift-event-type{font-weight:700;display:block}.shift-event-nurse{display:block;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.shift-calendar-cell{min-height:4rem}.shift-calendar--nurse .shift-calendar-cell{min-height:5rem}.shift-event-nurse{display:none}}@media(max-width:520px){.shift-calendar-cell{min-height:3.25rem;padding:.2rem}.shift-event{font-size:.6rem;padding:.15rem}}.rte{border:1px solid var(--color-cream-dark, #e2d9c8);border-radius:10px;background:#fff;overflow:hidden}.rte-toolbar{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;padding:.4rem .5rem;border-bottom:1px solid var(--color-cream-dark, #e2d9c8);background:var(--color-cream, #f7f3ea)}.rte-btn{min-width:2rem;height:2rem;padding:0 .45rem;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--color-forest, #2f4a3a);font-size:.9rem;line-height:1;cursor:pointer}.rte-btn:hover,.rte-btn:focus-visible{background:#fff;border-color:var(--color-cream-dark, #e2d9c8);outline:none}.rte-btn-wide{min-width:2.4rem;font-weight:700;letter-spacing:.02em}.rte-sep{width:1px;height:1.25rem;margin:0 .2rem;background:var(--color-cream-dark, #e2d9c8)}.rte-editor-wrap{position:relative}.rte-placeholder{position:absolute;top:.75rem;left:.85rem;color:var(--color-text-muted, #7a7368);pointer-events:none;font-size:.95rem}.rte-editor{padding:.75rem .85rem;outline:none;font-size:.95rem;line-height:1.5;color:var(--color-text, #2a2620)}.rte-editor:focus{box-shadow:inset 0 0 0 2px #2f4a3a1f}.rte-editor ul{margin:.25rem 0 .25rem 1.25rem;padding:0}.rte-editor p,.note-html p{margin:0 0 .4rem}.note-html ul,.note-html ol{margin:.25rem 0 .25rem 1.25rem;padding:0}.note-html strong,.note-html b{font-weight:700}.icon-action-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--color-cream-dark);border-radius:6px;background:#fff;color:var(--color-forest);cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s,color .15s}.icon-action-btn:hover:not(:disabled){background:var(--color-cream);border-color:var(--color-forest)}.icon-action-btn:disabled{opacity:.45;cursor:not-allowed}.icon-action-btn--success{color:#047857;border-color:#a7f3d0;background:#ecfdf5}.icon-action-btn--success:hover:not(:disabled){background:#d1fae5;border-color:#047857}.icon-action-btn--danger{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.icon-action-btn--danger:hover:not(:disabled){background:#fee2e2;border-color:#b91c1c}.actions-cell--icons{flex-wrap:nowrap;gap:.35rem;align-items:center}.admin-dashboard{max-width:100%}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--color-cream-dark);padding-bottom:0}.admin-tabs button{padding:.75rem 1.25rem;border:none;background:transparent;font-weight:600;color:var(--color-text-muted);border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.admin-tabs button:hover{color:var(--color-forest)}.admin-tabs button.active{color:var(--color-forest);border-bottom-color:var(--color-forest)}.admin-section h2{font-size:1.5rem;color:var(--color-forest);margin-bottom:1rem}.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.admin-form h3,.card h3,.card h4{color:var(--color-forest);margin:0 0 1rem;font-size:1.1rem}.form-row-inline{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.muted{color:var(--color-text-muted);font-size:.9rem}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--color-cream-dark)}.admin-table th{font-weight:600;color:var(--color-forest);background:var(--color-cream)}.admin-table.compact td,.admin-table.compact th{padding:.45rem .6rem;font-size:.85rem}.actions-cell{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase}.status-pending{background:#fef3c7;color:#78350f}.status-contacted{background:#dbeafe;color:#1e3a5f}.status-scheduled{background:#ede9fe;color:#5b21b6}.status-accepted,.status-approved{background:#d8f3dc;color:#1b4332}.status-rejected{background:#fee2e2;color:#991b1b}.status-rejected{background:#fde8e6;color:#b5453a}.status-draft{background:var(--color-cream-dark);color:var(--color-text-muted)}.status-published{background:#d8f3dc;color:#1b4332}.status-archived{background:#e5e7eb;color:#4b5563}.schedule-list{list-style:none;padding:0;margin:0}.schedule-list-card{display:flex;flex-direction:column;min-height:0}.schedule-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.35rem}.schedule-list-toolbar h3{margin:0}.schedule-year-filter{display:flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--color-forest)}.schedule-year-filter select{min-width:5.5rem;padding:.35rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-cream-dark);font:inherit}.schedule-list-hint{margin:0 0 .65rem;font-size:.85rem}.schedule-list-wrap{max-height:20rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;border-top:1px solid var(--color-cream-dark);padding-top:.5rem;margin-right:-.25rem;padding-right:.35rem}.schedule-list-empty{margin:.5rem 0 0;padding:.75rem;background:var(--color-cream);border-radius:var(--radius-sm);text-align:center}.schedule-list button{width:100%;text-align:left;padding:.75rem;border:none;background:transparent;border-radius:8px;display:flex;flex-direction:column;gap:.25rem;cursor:pointer}.schedule-list button:hover,.schedule-list button.active{background:var(--color-cream)}.schedule-detail{margin-top:1.5rem}.schedule-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.schedule-actions{display:flex;gap:.75rem;flex-wrap:wrap}.schedule-generate-panel{margin-top:1rem;padding:1rem;border:1px solid var(--color-cream-dark);border-radius:var(--radius-sm);background:var(--color-cream);width:100%}.schedule-generate-panel h4{margin:0 0 .35rem}.schedule-nurse-picker{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:.75rem 0 1rem}.schedule-nurse-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.92rem;cursor:pointer}.schedule-name-edit{margin-bottom:.35rem}.schedule-name-input{font-family:var(--font-heading);font-size:1.35rem;font-weight:600;border:1px solid transparent;border-radius:var(--radius-sm);padding:.15rem .35rem;width:min(100%,28rem);background:transparent;color:var(--color-text)}.schedule-name-input:hover,.schedule-name-input:focus{border-color:var(--color-border);background:var(--color-cream);outline:none}.nurse-reassign-select{min-width:10rem;padding:.35rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:.9rem}.hours-summary h4{margin-bottom:.75rem}.hours-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-bottom:1.25rem}.hours-card{background:var(--color-cream);padding:.75rem 1rem;border-radius:8px;display:flex;flex-direction:column;gap:.25rem}.hours-total{font-size:1.25rem;font-weight:700;color:var(--color-forest)}.hours-breakdown{display:flex;gap:.75rem;font-size:.8rem;color:var(--color-text-muted)}.shift-badge{display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.75rem;font-weight:600}.shift-morning{background:#fef3c7;color:#78350f}.shift-afternoon{background:#dbeafe;color:#1e3a5f}.shift-night{background:#e0e7ff;color:#3730a3}.family-list{list-style:none;padding:0;margin:0}.family-list li{padding:.65rem 0;border-bottom:1px solid var(--color-cream-dark);display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.assignments-table-wrap{max-height:400px;overflow-y:auto}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.form-grid-full{grid-column:1 / -1}.section-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.section-toolbar h3{margin:0}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--color-text-muted);cursor:pointer}.role-badge{display:inline-block;padding:.2rem .55rem;border-radius:6px;font-size:.8rem;font-weight:600}.role-nurse{background:#d8f3dc;color:#1b4332}.role-cook{background:#fef3c7;color:#78350f}.role-cleaning{background:#dbeafe;color:#1e3a5f}.role-hourly{background:#ede9fe;color:#5b21b6}.row-inactive{opacity:.55}.btn-danger{color:var(--color-error)!important;border-color:var(--color-error)!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal-card{width:min(480px,100%);max-height:90vh;overflow-y:auto;background:var(--color-white);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.5rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.employee-form{margin-top:1rem}.payroll-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-cream-dark)}.schedule-documents-block{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.25rem;padding:1rem 1.15rem;background:linear-gradient(135deg,var(--color-cream) 0%,#f8f4eb 100%);border:1px solid var(--color-cream-dark);border-left:4px solid var(--color-gold);border-radius:var(--radius)}.schedule-documents-text h4{margin:0 0 .25rem;font-size:1rem;color:var(--color-forest)}.schedule-documents-text p{margin:0;font-size:.85rem;max-width:36rem}.schedule-documents-text .alert{margin-top:.5rem}.month-documents-card{margin-bottom:1.5rem;border-top:3px solid var(--color-gold)}.month-documents-card h3{margin-bottom:.35rem}.month-documents-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:1rem 0}.month-documents-actions select{min-width:220px;padding:.55rem .75rem;border-radius:var(--radius);border:1px solid var(--color-cream-dark);font-size:.95rem}.month-documents-hint{font-size:.82rem;margin:0;padding-left:1.1rem;line-height:1.55}.month-documents-hint code{font-size:.78rem}.payroll-section h4{margin-bottom:.5rem}.payroll-note{font-size:.8rem;margin-bottom:1rem;max-width:52rem;line-height:1.5}.schedule-hint{font-size:.85rem;margin:0 0 1rem;line-height:1.5}.assignments-details{margin-top:1rem}.assignments-details summary{cursor:pointer;font-weight:600;color:var(--color-forest);font-size:.9rem;padding:.5rem 0}.assignments-details[open] summary{margin-bottom:.75rem}.hourly-events-panel{margin-top:1.5rem}.hourly-events-panel h4{margin-bottom:.35rem}.hourly-events-readonly{padding:.65rem .85rem;background:var(--color-cream);border-radius:var(--radius);margin-bottom:.75rem;font-size:.88rem}.hourly-event-form{margin-top:1rem}.hourly-payroll-section{margin-top:1.5rem}.nurse-color-editor-wrap{margin-bottom:1.5rem}.nurse-color-toggle{margin-bottom:.75rem}.nurse-color-editor{margin-top:0}.nurse-color-table-wrap{overflow-x:auto;margin-top:.75rem}.nurse-color-grid{display:flex;flex-direction:column}.nurse-color-row{display:grid;grid-template-columns:4.5rem minmax(8rem,1fr) 2.75rem 2.75rem 2.75rem 5.5rem 5.25rem 4.25rem;align-items:center;gap:.65rem;padding:.55rem 0;border-bottom:1px solid var(--color-cream-dark)}.nurse-color-row:last-child{border-bottom:none}.nurse-color-header{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;padding-bottom:.35rem;border-bottom:2px solid var(--color-cream-dark)}.nurse-color-header span:nth-child(7),.nurse-color-header span:nth-child(8){text-align:center}.nurse-color-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.color-field{display:flex;justify-content:center}.color-field input[type=color]{width:2.5rem;height:2rem;padding:0;border:1px solid var(--color-cream-dark);border-radius:4px;cursor:pointer}.palette-quick{display:flex;gap:.35rem;justify-content:center}.palette-dot{width:1.25rem;height:1.25rem;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--color-cream-dark);cursor:pointer;padding:0}.nurse-color-chip.preview{border:2px solid;border-radius:999px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;text-align:center;justify-self:start}.nurse-color-btn{width:100%;justify-self:stretch;text-align:center}@media(max-width:768px){.nurse-color-row{grid-template-columns:4rem 1fr repeat(3,2.5rem) 4.5rem 4.75rem 3.75rem;gap:.4rem}.form-grid-3,.admin-grid-2,.patient-form-grid{grid-template-columns:1fr}}.patient-form{margin-bottom:1.5rem}.patient-form h3{margin:0 0 1rem;color:var(--color-forest)}.patient-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1rem;margin-bottom:1rem}.patient-form-grid .form-group-full{grid-column:1 / -1}.patient-edit-form{margin-bottom:1.5rem;border:1px solid var(--color-gold)}.patient-edit-hint{margin:.75rem 0 0;font-size:.85rem}.fee-increase-applied-card{margin-bottom:1rem;background:#ecfdf5;border:1px solid #a7f3d0}.fee-increase-applied-card ul{margin:.5rem 0 0;padding-left:1.25rem}.nurse-sidebar-hint{margin-top:1rem;font-size:.85rem;line-height:1.4}.whatsapp-dev-tab-btn{margin-left:auto;border-color:#059669!important;color:#047857!important}.whatsapp-dev-tab-btn.active{background:#059669!important;color:#fff!important}.whatsapp-dev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem}.whatsapp-dev-card h3{margin-top:0;font-size:1rem}.whatsapp-dev-notes{margin:0;padding-left:1.25rem;line-height:1.6}.contabilidad-recurring-panel{margin-bottom:0;border:2px solid var(--color-gold-dark, #b8860b);background:linear-gradient(180deg,#fffdf8,#fff)}.contabilidad-recurring-panel h3{margin:0 0 .35rem;color:var(--color-forest);font-size:1.15rem}.contabilidad-recurring-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;margin-bottom:1rem}.contabilidad-recurring-totals{display:flex;flex-wrap:wrap;gap:.75rem}.contabilidad-recurring-total{display:flex;flex-direction:column;align-items:flex-end;padding:.5rem .85rem;border-radius:var(--radius-sm);font-weight:700;font-size:1rem;line-height:1.2}.contabilidad-recurring-total small{font-size:.72rem;font-weight:500;opacity:.85}.contabilidad-recurring-total.income{background:#ecfdf5;color:#047857}.contabilidad-recurring-total.expense{background:#fef2f2;color:#b91c1c}.contabilidad-recurring-empty{margin:0 0 .75rem;padding:.75rem 1rem;background:var(--color-cream);border-radius:var(--radius-sm)}.contabilidad-recurring-form{border-top:1px dashed var(--color-cream-dark)}.contabilidad-section-divider{display:flex;align-items:center;gap:1rem;margin:1.75rem 0 1.25rem;color:var(--color-forest);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em}.contabilidad-section-divider:before,.contabilidad-section-divider:after{content:"";flex:1;height:2px;background:var(--color-cream-dark)}.contabilidad-type-pill{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.contabilidad-type-pill.income{background:#d1fae5;color:#047857}.contabilidad-type-pill.expense{background:#fee2e2;color:#b91c1c}.contabilidad-month-movements{margin-top:1rem}.contabilidad-applied-recurring{margin-bottom:1rem;padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--color-cream);border:1px solid var(--color-cream-dark)}.contabilidad-applied-recurring h5{margin:0 0 .65rem;font-size:.85rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.contabilidad-applied-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.contabilidad-applied-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;font-size:.92rem}.contabilidad-layout{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:1.25rem;align-items:start}.contabilidad-months h4{margin:0 0 .75rem}.contabilidad-year-filter{display:flex;align-items:center;gap:.5rem;margin-bottom:.85rem;font-size:.9rem}.contabilidad-year-filter select{flex:1;min-width:0}.contabilidad-month-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.contabilidad-month-btn{width:100%;text-align:left;padding:.55rem .75rem;border:1px solid var(--color-cream-dark);border-radius:var(--radius-sm);background:#fff;cursor:pointer;font:inherit;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.contabilidad-month-btn:hover{border-color:var(--color-forest)}.contabilidad-month-btn.active{background:var(--color-cream);border-color:var(--color-forest);font-weight:600}.contabilidad-closed-badge{font-size:.7rem;font-weight:600;padding:.15rem .45rem;border-radius:999px;background:#d1fae5;color:#047857;flex-shrink:0}.contabilidad-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:1rem;margin-bottom:1rem}.contabilidad-toolbar label{display:flex;align-items:center;gap:.35rem;font-size:.9rem}.contabilidad-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.contabilidad-summary-card{padding:1rem 1.25rem}.contabilidad-summary-card.highlight{border:2px solid var(--color-forest);background:linear-gradient(180deg,#f8faf8,#fff)}.contabilidad-totals-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.contabilidad-totals-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.92rem}.contabilidad-totals-list li.balance{margin-top:.5rem;padding-top:.75rem;border-top:2px solid var(--color-cream-dark);font-size:1.05rem;font-weight:700}.contabilidad-inline-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-cream-dark)}.contabilidad-inline-form input,.contabilidad-inline-form select{min-width:120px;flex:1}@media(max-width:768px){.contabilidad-layout{grid-template-columns:1fr}}.contabilidad-section{margin-top:1rem}.contabilidad-section-header{margin-bottom:.75rem}.contabilidad-data-table th,.contabilidad-data-table td{vertical-align:middle}.contabilidad-fiscal-form{display:flex;flex-direction:column;gap:1rem}.contabilidad-fiscal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem 1rem}.contabilidad-fiscal-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--color-text-muted)}.contabilidad-fiscal-grid input,.contabilidad-fiscal-grid select{font-size:.95rem;padding:.5rem .65rem;border:1px solid var(--color-cream-dark);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-text)}.contabilidad-fiscal-preview{background:var(--color-cream);border:1px solid var(--color-cream-dark);border-radius:var(--radius-sm);padding:.85rem 1rem}.contabilidad-fiscal-preview h5{margin:0 0 .5rem;font-size:.9rem}.contabilidad-fiscal-preview ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.contabilidad-fiscal-preview li{display:flex;justify-content:space-between;gap:1rem;font-size:.92rem}.contabilidad-fiscal-preview li.net{margin-top:.35rem;padding-top:.45rem;border-top:1px solid var(--color-cream-dark);font-weight:600}.contabilidad-code-report-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.shift-day-editor .shift-day-slots{display:grid;gap:1rem;margin-bottom:1rem}.shift-day-editor .modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.analytics-tab{margin-top:.5rem}.analytics-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.analytics-header h3{margin:0 0 .35rem;color:var(--color-forest)}.analytics-days{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--color-forest)}.analytics-days select{padding:.4rem .6rem;border-radius:8px;border:1px solid var(--color-cream-dark);font:inherit}.analytics-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem}.analytics-card{background:#fff;border:1px solid var(--color-cream-dark);border-radius:12px;padding:.85rem 1rem;border-top:3px solid var(--color-gold)}.analytics-card-label{display:block;font-size:.78rem;color:var(--color-text-muted);margin-bottom:.35rem}.analytics-card-value{font-size:1.55rem;color:var(--color-forest);font-weight:700}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.analytics-panel{background:#fff;border:1px solid var(--color-cream-dark);border-radius:12px;padding:1rem 1.15rem}.analytics-panel h4{margin:0 0 .75rem;color:var(--color-forest);font-size:1.05rem}.analytics-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.analytics-bar-meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.88rem;margin-bottom:.25rem}.analytics-bar-track{height:.45rem;border-radius:999px;background:#eee8dc;overflow:hidden}.analytics-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-forest),var(--color-gold-light));border-radius:999px}.analytics-table-wrap{overflow-x:auto}.analytics-table{width:100%;border-collapse:collapse;font-size:.88rem}.analytics-table th,.analytics-table td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--color-cream-dark)}.analytics-table th{color:var(--color-forest)}.ca-chat{position:fixed;right:1.1rem;bottom:1.1rem;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:.55rem;font-family:var(--font-body)}.ca-chat-nudge{max-width:min(260px,calc(100vw - 5.5rem));border:none;cursor:pointer;text-align:left;padding:.7rem .9rem .7rem .85rem;border-radius:14px 14px 4px;background:#fff;color:var(--color-text);font:inherit;font-size:.86rem;font-weight:600;line-height:1.35;box-shadow:0 10px 28px #8b691447;border:1px solid rgba(201,162,39,.45);animation:ca-chat-nudge-in .45s ease;display:flex;align-items:flex-start;gap:.45rem}.ca-chat-nudge-dot{flex-shrink:0;width:.55rem;height:.55rem;margin-top:.3rem;border-radius:50%;background:#e11d48;box-shadow:0 0 #e11d488c;animation:ca-chat-ping 1.6s ease infinite}.ca-chat-launcher{position:relative;display:inline-flex;align-items:center;gap:.45rem;border:none;cursor:pointer;padding:.75rem 1.15rem .75rem .85rem;border-radius:999px;background:linear-gradient(135deg,#c9a227,#a67c00 48%,#8b6914);color:#fffdf5;font-weight:700;font-size:.95rem;letter-spacing:.01em;box-shadow:0 10px 28px #a67c006b;transition:transform .2s ease,box-shadow .2s ease;animation:ca-chat-float 4.5s ease-in-out infinite}.ca-chat-launcher:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 14px 34px #a67c0080}.ca-chat-launcher.is-attention{animation:ca-chat-wiggle .9s ease}.ca-chat-launcher-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:999px;border:2px solid rgba(201,162,39,.55);animation:ca-chat-ring 2.4s ease-out infinite;pointer-events:none}.ca-chat-launcher-icon{display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:50%;background:#fffdf538;font-size:1rem;line-height:1}.ca-chat-launcher-badge{position:absolute;top:.15rem;right:.2rem;width:.7rem;height:.7rem;border-radius:50%;background:#e11d48;border:2px solid #fffdf5;animation:ca-chat-ping 1.8s ease infinite}.ca-chat-panel{width:min(100vw - 1.5rem,380px);height:min(72vh,560px);display:flex;flex-direction:column;background:linear-gradient(165deg,#fffdf8,#f7f0e4 55%,#efe4d2);border:1px solid rgba(201,162,39,.35);border-radius:18px;box-shadow:0 18px 50px #8b691438;overflow:hidden}.ca-chat-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.9rem 1rem .8rem;background:linear-gradient(120deg,#2d4a3e,#3d6b5a 55%,#8b6914 160%);color:var(--color-cream)}.ca-chat-header-main{display:flex;gap:.65rem;align-items:center}.ca-chat-avatar{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:linear-gradient(145deg,#c9a227,#8b6914);color:#fff;font-size:1.05rem;box-shadow:0 0 0 3px #fffdf52e;animation:ca-chat-avatar-pulse 2.8s ease-in-out infinite}.ca-chat-kicker{margin:0;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;opacity:.85}.ca-chat-auth-hint{margin:.25rem 0 0;font-size:.75rem;opacity:.85}.ca-chat-header h2{margin:.1rem 0 0;font-family:var(--font-display);font-size:1.35rem;color:var(--color-cream);font-weight:600}.ca-chat-close{border:none;background:transparent;color:var(--color-cream);font-size:1.6rem;line-height:1;cursor:pointer;padding:0 .2rem;opacity:.85}.ca-chat-close:hover{opacity:1}.ca-chat-messages{flex:1;overflow-y:auto;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.55rem}.ca-chat-bubble{max-width:94%;padding:.72rem .9rem;border-radius:14px;font-size:.9rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.ca-chat-bubble--bot{align-self:flex-start;background:var(--color-white);color:var(--color-text);border:1px solid rgba(201,162,39,.28);border-bottom-left-radius:4px;box-shadow:0 2px 8px #2d4a3e0f}.ca-chat-bubble--user{align-self:flex-end;background:var(--color-forest);color:var(--color-cream);border-bottom-right-radius:4px}.ca-chat-typing{display:inline-flex;gap:.3rem;padding:.85rem 1rem;white-space:normal}.ca-chat-typing span{width:.4rem;height:.4rem;border-radius:50%;background:var(--color-gold-light);animation:ca-chat-bounce 1s infinite ease-in-out}.ca-chat-typing span:nth-child(2){animation-delay:.15s}.ca-chat-typing span:nth-child(3){animation-delay:.3s}.ca-chat-handoff{display:block;margin:0 1rem .45rem;text-align:center;padding:.6rem .85rem;border-radius:10px;background:#25d366;color:#fff!important;font-weight:600;font-size:.88rem}.ca-chat-menu{margin:0 .85rem .45rem;border:1px solid rgba(45,74,62,.2);border-radius:12px;background:#fffdf8eb;overflow:hidden;flex-shrink:0}.ca-chat-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .75rem;font-size:.82rem;font-weight:700;color:var(--color-forest);-webkit-user-select:none;user-select:none}.ca-chat-menu>summary::-webkit-details-marker{display:none}.ca-chat-menu>summary:after{content:"▾";font-size:.85rem;opacity:.7;transition:transform .15s ease}.ca-chat-menu[open]>summary:after{transform:rotate(180deg)}.ca-chat-menu-count{margin-left:auto;margin-right:.35rem;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:#c9a22738;color:#8b6914;font-size:.72rem;display:inline-grid;place-items:center}.ca-chat-actions{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:0 .65rem .65rem;max-height:7.5rem;overflow-y:auto}.ca-chat-chip{border:1px solid var(--color-forest);background:#ffffffe6;color:var(--color-forest);border-radius:10px;padding:.4rem .55rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease;line-height:1.25}.ca-chat-chip:hover:not(:disabled){background:var(--color-forest);color:var(--color-cream)}.ca-chat-chip:disabled{opacity:.55;cursor:default}.ca-chat-composer{display:flex;gap:.45rem;padding:.55rem 1rem .65rem;border-top:1px solid var(--color-cream-dark);background:#fffdf8e6}.ca-chat-composer input{flex:1;border:1px solid var(--color-cream-dark);border-radius:10px;padding:.6rem .75rem;font:inherit;background:var(--color-white)}.ca-chat-send{border:none;border-radius:10px;padding:.6rem .85rem;background:var(--color-gold);color:#fff;font-weight:600;cursor:pointer}.ca-chat-send:disabled{opacity:.5;cursor:default}.ca-chat-foot{margin:0;padding:0 1rem .65rem;font-size:.72rem;color:var(--color-text-muted);text-align:center}.ca-chat-linkish{border:none;background:none;padding:0;color:var(--color-forest);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}@keyframes ca-chat-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}@keyframes ca-chat-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes ca-chat-wiggle{0%,to{transform:translateY(0) rotate(0)}20%{transform:translateY(-6px) rotate(-4deg)}40%{transform:translateY(-2px) rotate(4deg)}60%{transform:translateY(-7px) rotate(-3deg)}80%{transform:translateY(-1px) rotate(2deg)}}@keyframes ca-chat-ring{0%{transform:scale(.92);opacity:.7}70%{transform:scale(1.12);opacity:0}to{transform:scale(1.12);opacity:0}}@keyframes ca-chat-ping{0%{box-shadow:0 0 #e11d4880}70%{box-shadow:0 0 0 8px #e11d4800}to{box-shadow:0 0 #e11d4800}}@keyframes ca-chat-nudge-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ca-chat-avatar-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media(max-width:480px){.ca-chat{right:.65rem;bottom:.65rem;left:.65rem;align-items:stretch}.ca-chat-panel{width:100%;height:min(78vh,620px)}.ca-chat-launcher,.ca-chat-nudge{align-self:flex-end}.ca-chat-actions{grid-template-columns:1fr;max-height:8.5rem}}@media(prefers-reduced-motion:reduce){.ca-chat-launcher,.ca-chat-launcher-ring,.ca-chat-launcher-badge,.ca-chat-nudge-dot,.ca-chat-avatar,.ca-chat-typing span,.ca-chat-nudge{transition:none;animation:none}}:root{--color-gold: #8b6914;--color-gold-light: #c9a227;--color-cream: #faf6ef;--color-cream-dark: #f0e8d8;--color-forest: #2d4a3e;--color-forest-light: #3d6b5a;--color-text: #2c2c2c;--color-text-muted: #6b6b6b;--color-white: #ffffff;--color-success: #2d6a4f;--color-error: #b5453a;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Source Sans 3", system-ui, sans-serif;--shadow-sm: 0 1px 3px rgba(45, 74, 62, .08);--shadow-md: 0 4px 20px rgba(45, 74, 62, .12);--radius: 12px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-body);color:var(--color-text);background:var(--color-cream);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.2;margin:0}a{color:var(--color-forest);text-decoration:none}a:hover{color:var(--color-forest-light)}:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:1rem}.container{width:min(1100px,92vw);margin-inline:auto}@media(max-width:480px){.container{width:min(1100px,94vw)}.card{padding:1.15rem}.btn{padding:.7rem 1.15rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:var(--radius);font-weight:600;font-size:.95rem;transition:transform .15s,box-shadow .15s,background .15s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-forest);color:var(--color-white)}.btn-primary:hover{background:var(--color-forest-light);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--color-gold);color:var(--color-white)}.btn-secondary:hover{background:var(--color-gold-light)}.btn-outline{background:transparent;color:var(--color-forest);border:2px solid var(--color-forest)}.btn-outline:hover{background:var(--color-forest);color:var(--color-white)}.btn-whatsapp{background:#25d366;color:#fff}.btn-whatsapp:hover{background:#1ebe57}.card{background:var(--color-white);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.form-group label{font-weight:600;font-size:.9rem;color:var(--color-text)}.form-group input,.form-group textarea,.form-group select{padding:.75rem 1rem;border:1px solid var(--color-cream-dark);border-radius:8px;background:var(--color-white);transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:2px solid var(--color-forest);outline-offset:1px;border-color:var(--color-forest)}.alert{padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.alert-success{background:#d8f3dc;color:var(--color-success)}.alert-error{background:#fde8e6;color:var(--color-error)}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-health{background:#d8f3dc;color:#1b4332}.badge-activity{background:#dbeafe;color:#1e3a5f}.badge-medication{background:#fce7f3;color:#831843}.badge-visit{background:#fef3c7;color:#78350f}.badge-general{background:var(--color-cream-dark);color:var(--color-text-muted)}
