.auth-page{display:grid;place-items:center;padding:1.25rem}.login-wrap{width:min(100%,30rem)}.login-card{background:#fff;border:1px solid var(--line);border-radius:var(--r3);box-shadow:var(--shadow);padding:clamp(1.5rem,5vw,2.5rem)}.login-brand{color:var(--green);font-size:1.5rem;font-weight:800}.login-subtitle{color:var(--muted);margin:.25rem 0 2rem}.login-card h1{font-size:2rem;margin-bottom:1.5rem}.login-form{display:grid;gap:1.25rem;margin-top:1.25rem}.login-form .button{width:100%}.login-help{color:var(--muted);font-size:.9rem;margin-bottom:0}.app-shell{min-height:100vh;display:grid;grid-template:"header header" auto "side main" 1fr "footer footer" auto/16rem minmax(0,1fr)}.app-header{grid-area:header;display:grid;grid-template-columns:minmax(12rem,1fr) auto minmax(12rem,1fr);align-items:center;gap:1.5rem;padding:1rem 2rem;background:#fff;border-bottom:1px solid var(--line)}.app-header>div:first-child,.user-area{display:grid}.live-clock{text-align:center;display:grid;line-height:1.25}.clock-time{font-size:1.45rem;font-weight:800;font-variant-numeric:tabular-nums}.clock-date,.clock-zone,.user-email{color:var(--muted);font-size:.82rem}.user-area{justify-items:end;gap:.25rem}.user-name{font-weight:750}.button--secondary{background:#fff;color:var(--green)}.app-sidebar{grid-area:side;padding:2rem;background:linear-gradient(180deg,#f5fbf8,#f8fbfc);border-right:1px solid var(--line);color:var(--muted)}.sidebar-brand,.app-sidebar a{color:var(--green);font-weight:750;text-decoration:none}.sidebar-note{margin-top:2rem;font-size:.85rem}.app-main{grid-area:main;width:min(100%,82rem);padding:2rem clamp(1rem,4vw,3rem);background:radial-gradient(circle at 95% 2%,rgba(64,145,132,.08),transparent 20rem)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.dashboard-grid .card{margin:0}.staff-summary-card{grid-column:span 2;position:relative;overflow:hidden}.medical-mark{position:absolute;right:1rem;top:.5rem;font-size:5rem;font-weight:800;color:rgba(28,126,101,.09)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1rem 0 1.5rem}.summary-grid div{display:grid;padding:.75rem;border-radius:.75rem;background:#f2faf6}.summary-grid strong{font-size:1.5rem;color:var(--green)}.summary-grid span{font-size:.82rem;color:var(--muted)}.home-hero,.staff-hero{padding:1.25rem;border-left:4px solid var(--green);border-radius:0 1rem 1rem 0;background:linear-gradient(90deg,#eef9f3,#f3f8fb)}.staff-title-row{display:flex;justify-content:space-between;gap:1rem;align-items:center}.filter-grid,.form-grid,.inline-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;align-items:end}.staff-form{display:grid;gap:1rem}.staff-form .card{margin:0}.form-actions{display:flex;gap:.75rem}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.detail-grid .card{margin:0}.detail-list{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:.5rem 1rem}.detail-list dt{font-weight:750}.detail-list dd{margin:0}.record-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.record-row form{display:flex;gap:.5rem;align-items:center}.status-badge{display:inline-flex;padding:.2rem .65rem;border-radius:999px;background:#edf2f2;font-size:.82rem;font-weight:750}.status-active,.status-available,.status-verified{background:#dcf5e9;color:#175f45}.status-onboarding,.status-pending,.status-warning,.status-expiring_soon{background:#fff1c9;color:#765700}.status-inactive,.status-suspended,.status-rejected,.status-expired{background:#fde4e4;color:#8b2d2d}.preserve-lines{white-space:pre-wrap}.record-meta,.module-boundary{color:var(--muted);font-size:.88rem}.status-dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:var(--green)}.session-card dl div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.session-card dt{font-weight:700}.session-card dd{margin:0}.weather-placeholder{background:#f8fbfc}@media(max-width:900px){.app-header{grid-template-columns:1fr auto}.live-clock{order:3;grid-column:1/-1;border-top:1px solid var(--line);padding-top:.75rem}.dashboard-grid{grid-template-columns:1fr}.staff-summary-card{grid-column:auto}.app-shell{display:block}.app-sidebar{display:none}}@media(max-width:650px){.staff-title-row,.record-row{align-items:stretch;flex-direction:column}.detail-grid,.summary-grid{grid-template-columns:1fr}.record-row form{align-items:stretch;flex-direction:column}}@media(max-width:560px){.app-header{padding:1rem;gap:.75rem}.platform,.user-email{display:none}.user-area .button{min-height:2.5rem}.login-card{padding:1.25rem}}@media print{.user-area form,.app-sidebar,.weather-placeholder,.inline-form{display:none}.app-shell{display:block}.app-header{display:flex;justify-content:space-between}}

.staff-identity,.staff-identity-header{display:flex;align-items:center;gap:.75rem}.staff-avatar{display:inline-grid;place-items:center;border-radius:50%;object-fit:cover;background:#e7eef1;color:#25434d;font-weight:700;flex:none}.staff-avatar--small{width:2.5rem;height:2.5rem}.staff-avatar--hero{width:6rem;height:6rem;font-size:1.5rem}.photo-manager form{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:.75rem}@media(max-width:640px){.staff-avatar--hero{width:4.5rem;height:4.5rem}.staff-identity-header{align-items:flex-start}}

.staff-avatar--small{position:relative;z-index:1;border:1px solid rgba(37,67,77,.16);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;transform-origin:left center;will-change:transform}@media(hover:hover) and (pointer:fine){.staff-avatar--small:hover{z-index:100;transform:scale(5);border-color:rgba(37,67,77,.28);box-shadow:0 .75rem 2rem rgba(20,48,57,.24)}}@media(hover:none),(pointer:coarse){.staff-avatar--small{transition:none;transform:none!important}}
.id-card-document{margin:0;background:#edf5f6}.id-card-document__shell{box-sizing:border-box;max-width:70rem;margin:0 auto;padding:2rem}.staff-title-actions,.id-card-actions{display:flex;gap:.7rem;flex-wrap:wrap}.id-card-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,32rem),1fr));gap:1.5rem;align-items:start}.id-card{box-sizing:border-box;width:min(100%,32rem);aspect-ratio:85.6/53.98;overflow:hidden;border:1px solid #bed3d8;border-radius:1rem;background:#fff;color:#16343b;box-shadow:0 .9rem 2.2rem rgba(18,57,65,.16);display:flex;flex-direction:column}.id-card__brand,.id-card__back-brand{display:flex;align-items:center;gap:.7rem;padding:1rem 1.2rem;background:linear-gradient(125deg,#0d5962,#167483);color:#fff}.id-card__brand strong,.id-card__brand span{display:block}.id-card__brand strong{font-size:clamp(.82rem,2.1vw,1.08rem);line-height:1.15;max-width:21rem;overflow-wrap:anywhere}.id-card__brand span{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85}.id-card__medical-mark{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:.55rem;background:#fff;color:#13717d;font-size:1.55rem;font-weight:800}.id-card__front-body{display:grid;grid-template-columns:31% 1fr;gap:1rem;padding:1rem 1.2rem .7rem;min-height:0;flex:1}.id-card__photo{width:100%;aspect-ratio:4/5;max-height:11.2rem;align-self:center;border-radius:.75rem;border:.16rem solid #d8e7ea;object-fit:cover;background:#e9f2f3}.id-card__placeholder{display:grid;place-items:center;color:#176772;font-size:clamp(1.5rem,5vw,2.8rem);font-weight:800}.id-card__identity{align-self:center;min-width:0}.id-card__label{margin:0 0 .25rem;color:#53757b;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.id-card__identity h2{margin:0;color:#123d45;font-size:clamp(1rem,3.4vw,1.55rem);line-height:1.05;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.id-card__designation,.id-card__branch{margin:.35rem 0 0;font-size:clamp(.7rem,1.9vw,.92rem);line-height:1.15;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.id-card__designation{font-weight:700;color:#176772}.id-card__branch{color:#466a70}.id-card__number{display:inline-block;margin:.65rem 0 0;padding:.32rem .55rem;border-radius:.38rem;background:#e5f1f2;color:#123d45;font-size:.82rem;font-weight:800;letter-spacing:.08em}.id-card__status{padding:.42rem 1.2rem;background:#e7ecee;color:#4b5f64;font-size:.7rem;font-weight:800;text-align:right;text-transform:uppercase;letter-spacing:.07em}.id-card__status--active{background:#e8f4ee;color:#236244}.id-card__status--onboarding{background:#fff4d6;color:#765716}.id-card__status--inactive{background:#e7ecee;color:#4b5f64}.id-card__status--suspended{background:#fbe9d7;color:#8a4b14}.id-card__status--separated{background:#f8e7e5;color:#8a312c}.id-card__back{background:linear-gradient(145deg,#fff 0 68%,#e7f2f3 68%)}.id-card__back-brand{padding:.85rem 1.15rem}.id-card__back-brand strong{font-size:clamp(.82rem,2.1vw,1rem);overflow-wrap:anywhere}.id-card__back-body{padding:.9rem 1.3rem .5rem;flex:1;min-height:0}.id-card__back-body h2{margin:0 0 .45rem;color:#125d67;font-size:1rem}.id-card__back-body p{margin:.25rem 0;font-size:.72rem;line-height:1.3}.id-card__back-body dl{display:grid;grid-template-columns:auto 1fr;gap:.18rem .55rem;margin:.55rem 0;font-size:.7rem}.id-card__back-body dt{font-weight:800}.id-card__back-body dd{margin:0;overflow-wrap:anywhere}.id-card__instruction{font-weight:700;color:#315e65}.id-card__back-footer{padding:.45rem 1.2rem;color:#315e65;font-size:.62rem;font-weight:700;text-align:right}.id-card-calibration{max-width:64rem;color:#537078;font-size:.85rem}@media(max-width:560px){.id-card-document__shell{padding:1rem}.id-card{border-radius:.7rem}.id-card__brand{padding:.7rem .8rem}.id-card__front-body{gap:.7rem;padding:.7rem .8rem .45rem}.id-card__status{padding:.32rem .8rem}.id-card__back-body{padding:.65rem .9rem .35rem}}@media print{@page{size:85.6mm 53.98mm;margin:0}html,body{margin:0!important;padding:0!important;background:#fff!important}.app-header,.app-sidebar,.app-shell>footer,.id-card-page-header,.id-card-calibration,.session-status,.weather-placeholder{display:none!important}.app-shell,.app-main,.id-card-preview{display:block!important;margin:0!important;padding:0!important;width:auto!important;max-width:none!important;background:#fff!important}.id-card{width:85.6mm!important;height:53.98mm!important;aspect-ratio:auto!important;margin:0!important;border-radius:0!important;border:0!important;box-shadow:none!important;break-after:page;page-break-after:always;print-color-adjust:exact;-webkit-print-color-adjust:exact}.id-card,.id-card *{box-sizing:border-box!important}.id-card{display:flex!important;flex-direction:column!important;max-width:85.6mm!important;max-height:53.98mm!important;overflow:hidden!important;break-inside:avoid!important;page-break-inside:avoid!important}.id-card__brand,.id-card__back-brand{flex:0 0 10mm!important;min-height:10mm!important;padding:2mm 3mm!important;gap:2mm!important;overflow:hidden!important}.id-card__medical-mark{flex:0 0 7mm!important;width:7mm!important;height:7mm!important;border-radius:1.5mm!important;font-size:5mm!important}.id-card__brand-copy,.id-card__identity,.id-card__back-body,.id-card__back-body dd{min-width:0!important}.id-card__brand-copy strong{font-size:8pt!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.id-card__brand-copy span{font-size:5.5pt!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.id-card__front-body{display:grid!important;grid-template-columns:22mm minmax(0,1fr)!important;gap:3mm!important;flex:1 1 auto!important;min-height:0!important;padding:3mm 3mm 2mm!important;overflow:hidden!important}.id-card__photo{width:22mm!important;height:27.5mm!important;max-height:none!important;aspect-ratio:auto!important;border-width:.5mm!important;border-radius:2mm!important;object-fit:cover!important}.id-card__identity{align-self:center!important;overflow:hidden!important}.id-card__label{margin:0 0 1mm!important;font-size:5.5pt!important;line-height:1!important}.id-card__identity h2{display:-webkit-box!important;margin:0!important;max-height:11.2mm!important;overflow:hidden!important;font-size:10pt!important;line-height:1.05!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important}.id-card__designation,.id-card__branch{display:-webkit-box!important;margin:.8mm 0 0!important;max-height:6mm!important;overflow:hidden!important;font-size:7pt!important;line-height:1.12!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}.id-card__number{display:block!important;max-width:100%!important;margin:1.5mm 0 0!important;padding:1mm 1.5mm!important;overflow:hidden!important;font-size:7pt!important;line-height:1!important;white-space:nowrap!important;text-overflow:ellipsis!important}.id-card__status{flex:0 0 6mm!important;min-height:6mm!important;padding:1.3mm 3mm!important;overflow:hidden!important;font-size:6pt!important;line-height:1!important;white-space:nowrap!important;text-overflow:ellipsis!important}.id-card__back-brand{flex-basis:9mm!important;min-height:9mm!important;font-size:8pt!important;line-height:1!important}.id-card__back-body{flex:1 1 auto!important;min-height:0!important;padding:2.5mm 3.5mm 1.5mm!important;overflow:hidden!important}.id-card__back-body h2{margin:0 0 1mm!important;font-size:8pt!important;line-height:1.05!important}.id-card__back-body p{display:-webkit-box!important;margin:0 0 1.3mm!important;max-height:6mm!important;overflow:hidden!important;font-size:6pt!important;line-height:1.2!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}.id-card__back-body dl{margin:0!important;font-size:6pt!important;line-height:1.15!important}.id-card__back-body dt,.id-card__back-body dd{margin-top:.6mm!important}.id-card__back-body dd{overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}.id-card__back-footer{flex:0 0 5mm!important;min-height:5mm!important;padding:1.2mm 3mm!important;overflow:hidden!important;font-size:5.5pt!important;line-height:1!important;white-space:nowrap!important;text-overflow:ellipsis!important}.id-card:last-child{break-after:auto;page-break-after:auto}}
.patient-hero{border-left:.3rem solid #167483}.patient-status{display:inline-block;padding:.25rem .55rem;border-radius:999px;font-weight:700}.patient-status--active{background:#e8f4ee;color:#236244}.patient-status--onboarding{background:#fff4d6;color:#765716}.patient-status--inactive{background:#e7ecee;color:#4b5f64}.patient-status--suspended{background:#fbe9d7;color:#8a4b14}.patient-status--discharged{background:#f8e7e5;color:#8a312c}.patient-form .card{margin-bottom:1rem}@media(max-width:640px){.patient-hero .staff-title-row{align-items:flex-start}.patient-status{white-space:normal}}

.patient-location-form{display:grid;gap:1rem}.patient-location-form .card{margin:0}.gps-capture{margin-top:1rem;min-height:2.75rem}.gps-status{color:var(--muted);min-height:1.5rem}.map-link{display:inline-flex;margin-top:.75rem}@media(max-width:640px){.patient-location .staff-title-row{align-items:stretch}.gps-capture{width:100%;min-height:3rem}}
.care-team{margin-top:1rem}.care-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.care-team-member{border:1px solid #d7e2e5;border-radius:12px;padding:1rem;min-width:0}.care-team-member h3{margin:.2rem 0;overflow-wrap:anywhere}.care-team-avatar{width:44px;height:44px;min-width:44px}.care-team-history{margin-top:1rem}.care-team-history summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}.empty-state{padding:1rem;border:1px dashed #b8c9ce;border-radius:10px;background:#f7fafb}.patient-care-team-form select,.patient-care-team-form input{max-width:100%}@media(max-width:640px){.care-team-member .form-actions{align-items:stretch}.care-team-member .form-actions>*{width:100%}.care-team-member form .button{width:100%}}

.schedule-header,.schedule-navigation,.schedule-mode,.schedule-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.schedule-navigation{justify-content:flex-start;margin:1rem 0}.schedule-filters{margin-bottom:1rem}.schedule-days,.schedule-list{display:grid;gap:1rem}.schedule-day{margin:0}.schedule-visit{display:grid;grid-template-columns:7rem minmax(0,1fr) auto;gap:1rem;padding:1rem;border:1px solid var(--line);border-left:.3rem solid #1c7e65;border-radius:.75rem;background:#fff}.schedule-visit--cancelled{border-left-color:#a53a3a;background:#fffafa}.schedule-visit--completed{border-left-color:#65777c;background:#f7f9f9}.schedule-time{display:grid;align-content:start;font-variant-numeric:tabular-nums}.schedule-time strong{font-size:1.35rem}.schedule-time span,.schedule-identity p{color:var(--muted);font-size:.88rem}.schedule-identity h3{margin:.35rem 0 .1rem}.schedule-identity p{margin:.2rem 0}.status-scheduled{background:#dcf5e9;color:#175f45}.status-cancelled{background:#fde4e4;color:#8b2d2d}.status-completed{background:#e7ecee;color:#465b61}.schedule-actions{justify-content:flex-end;align-content:start}.schedule-actions .button{min-height:44px}@media(max-width:760px){.schedule-visit{grid-template-columns:1fr}.schedule-time{display:flex;align-items:center;gap:.75rem}.schedule-actions{justify-content:flex-start}.schedule-actions .button{flex:1 1 9rem;text-align:center}}@media(max-width:480px){.schedule-header{align-items:stretch;flex-direction:column}.schedule-mode,.schedule-navigation{display:grid;grid-template-columns:1fr 1fr}.schedule-navigation{grid-template-columns:1fr}.schedule-mode .button,.schedule-navigation .button,.schedule-actions .button{width:100%}}

/* VC.3F weather-aware schedule */
.schedule-hero{position:relative;display:grid;grid-template-columns:1fr auto;gap:1rem;overflow:hidden;padding:1.6rem;border:1px solid rgba(36,112,95,.18);border-radius:1.4rem;background:linear-gradient(135deg,#fff 0%,#eef8f4 58%,#edf6fa 100%);box-shadow:0 18px 44px rgba(30,68,70,.09)}.schedule-hero:after{content:"";position:absolute;width:14rem;height:14rem;right:-5rem;top:-7rem;border-radius:50%;background:radial-gradient(circle,rgba(68,157,135,.18),transparent 70%)}.schedule-date{margin:.45rem 0 0;color:var(--muted);font-size:1.05rem}.schedule-summary{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;position:relative;z-index:1}.schedule-summary span{display:grid;padding:.7rem .9rem;border:1px solid rgba(36,112,95,.12);border-radius:.8rem;background:rgba(255,255,255,.78);color:var(--muted);font-size:.78rem}.schedule-summary strong{color:var(--ink);font-size:1.15rem}.schedule-day{padding:1.15rem;background:rgba(255,255,255,.9)}.schedule-day__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.schedule-day__heading h2{margin:0}.schedule-day__heading span{color:var(--muted);font-size:.85rem}.schedule-visit{position:relative;overflow:hidden;grid-template-columns:6.5rem minmax(14rem,1fr) auto;box-shadow:0 8px 24px rgba(27,61,66,.06);transition:transform .18s ease,box-shadow .18s ease}.schedule-visit:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(27,61,66,.1)}.weather-panel{position:relative;isolation:isolate;grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;overflow:hidden;padding:1rem 1.1rem;border:1px solid rgba(56,94,108,.13);border-radius:1rem;background:linear-gradient(135deg,#eef6f8,#f8fbfc);color:#244d58}.weather-panel:before{content:"";position:absolute;z-index:-1;inset:0;opacity:.6;background:radial-gradient(circle at 8% 0%,rgba(255,255,255,.95),transparent 45%)}.weather--clear{background:linear-gradient(135deg,#fff8df,#f4fbf8)}.weather--partly-cloudy{background:linear-gradient(135deg,#edf6fb,#fbfcf7)}.weather--cloudy,.weather--fog{background:linear-gradient(135deg,#edf2f4,#f8fafb)}.weather--rain{background:linear-gradient(135deg,#e4f1f8,#f3f8fa)}.weather--thunderstorm{background:linear-gradient(135deg,#e5ebf2,#f1f4f8)}.weather--snow{background:linear-gradient(135deg,#eff9fb,#fff)}.weather-primary{display:flex;align-items:center;gap:.8rem;min-width:12rem}.weather-icon{width:3.2rem;height:3.2rem;flex:none;color:#2e7d7f}.weather-temperature{display:block;color:#173f49;font-size:clamp(1.75rem,4vw,2.55rem);line-height:1}.weather-condition{display:block;margin-top:.25rem;font-weight:750}.weather-feels{margin:0;color:var(--muted);font-size:.88rem}.weather-metrics{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(10rem,1fr);gap:.8rem}.weather-metrics>div{display:grid;gap:.2rem;padding:.65rem .75rem;border-radius:.75rem;background:rgba(255,255,255,.65)}.weather-metrics span,.weather-metrics small{color:#587478}.weather-metrics progress{width:100%;height:.45rem;border:0;border-radius:99px;overflow:hidden;background:#d8e6e8}.weather-metrics progress::-webkit-progress-bar{background:#d8e6e8}.weather-metrics progress::-webkit-progress-value{background:linear-gradient(90deg,#4d9bb1,#24705f)}.weather-metrics progress::-moz-progress-bar{background:#24705f}.weather-wind{grid-template-columns:auto 1fr!important;align-items:center}.weather-wind>span{font-size:2rem;animation:weather-wind 3.5s ease-in-out infinite}.weather-wind p{display:grid;margin:0}.weather-details{grid-column:1/-1;border-top:1px solid rgba(56,94,108,.14);padding-top:.65rem}.weather-details summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:750}.weather-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.25rem 0}.weather-details dl div{display:flex;justify-content:space-between;gap:1rem}.weather-details dd{margin:0}.weather-art{position:absolute;z-index:-1;inset:0;pointer-events:none}.weather-art i{position:absolute;display:block;opacity:.18}.weather--clear .weather-art i:first-child{width:8rem;height:8rem;right:-1rem;top:-4rem;border-radius:50%;background:#f9c84d;filter:blur(2px);animation:weather-glow 7s ease-in-out infinite}.weather--partly-cloudy .weather-art i,.weather--cloudy .weather-art i{width:7rem;height:2rem;right:8%;top:20%;border-radius:50%;background:#91aab3;filter:blur(9px);animation:weather-cloud 18s linear infinite}.weather--rain .weather-art i,.weather--thunderstorm .weather-art i{width:1px;height:2.4rem;top:-2rem;background:#3f8097;transform:rotate(12deg);animation:weather-rain 1.6s linear infinite}.weather--rain .weather-art i:nth-child(1),.weather--thunderstorm .weather-art i:nth-child(1){left:72%}.weather--rain .weather-art i:nth-child(2),.weather--thunderstorm .weather-art i:nth-child(2){left:82%;animation-delay:.5s}.weather--rain .weather-art i:nth-child(3),.weather--thunderstorm .weather-art i:nth-child(3){left:92%;animation-delay:1s}.weather--thunderstorm:after{content:"";position:absolute;inset:0;z-index:-1;background:#fff;opacity:0;animation:weather-lightning 12s ease-in-out infinite}.weather--fog .weather-art i{left:-20%;width:55%;height:1rem;border-radius:50%;background:#a8b7bc;filter:blur(8px);animation:weather-fog 16s ease-in-out infinite}.weather-panel--state{grid-template-columns:auto 1fr;background:linear-gradient(135deg,#f1f5f5,#fafcfc)}.weather-panel--state strong{display:block}.weather-panel--state p{margin:.2rem 0;color:var(--muted);font-size:.88rem}.weather-compact{display:flex;gap:.75rem;flex-wrap:wrap}.weather-compact span{padding:.35rem .55rem;border-radius:999px;background:rgba(255,255,255,.7);font-size:.8rem}@keyframes weather-glow{50%{transform:scale(1.12);opacity:.28}}@keyframes weather-cloud{from{transform:translateX(-20%)}to{transform:translateX(70%)}}@keyframes weather-rain{to{transform:translate(1rem,8rem) rotate(12deg)}}@keyframes weather-wind{50%{transform:translateX(.35rem)}}@keyframes weather-fog{50%{transform:translateX(85%)}}@keyframes weather-lightning{0%,96%,100%{opacity:0}97%{opacity:.13}98%{opacity:0}99%{opacity:.08}}@media(max-width:900px){.weather-panel{grid-template-columns:auto 1fr}.weather-metrics,.weather-details{grid-column:1/-1}}@media(max-width:760px){.schedule-summary{grid-template-columns:repeat(2,1fr)}.schedule-visit{grid-template-columns:1fr}.weather-panel{grid-template-columns:1fr}.weather-primary{min-width:0}.weather-metrics{grid-template-columns:1fr 1fr}.weather-details dl{grid-template-columns:1fr}.schedule-actions .button{min-height:44px}}@media(max-width:480px){.schedule-hero{grid-template-columns:1fr;padding:1.1rem}.schedule-summary{grid-template-columns:1fr 1fr}.weather-metrics{grid-template-columns:1fr}.weather-panel{padding:.85rem}.weather-temperature{font-size:2rem}.weather-compact{display:grid;grid-template-columns:1fr 1fr}.schedule-day{padding:.8rem}}@media(prefers-reduced-motion:reduce){.weather-panel *,.weather-panel:after,.schedule-visit{animation:none!important;transition:none!important;transform:none!important}.weather-art{display:none}}

/* VC.3F.R1 weather experience and resilient form layout */
.branch-weather{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(12rem,.6fr);gap:1.25rem;overflow:hidden;margin:1rem 0;padding:clamp(1.4rem,4vw,2.25rem);border-radius:1.6rem;background:linear-gradient(135deg,#0d4f83 0%,#176eaa 52%,#5ea9d0 100%);box-shadow:0 22px 48px rgba(12,67,111,.22);color:#fff}.branch-weather:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.25),transparent 22rem);pointer-events:none}.branch-weather .eyebrow{color:#d9f1ff}.branch-weather h2{max-width:36rem;margin:0 0 .8rem;font-size:clamp(1.35rem,3vw,2rem);overflow-wrap:anywhere}.branch-weather__copy>strong{display:block;font-size:clamp(1.6rem,4vw,2.8rem);line-height:1.05}.branch-weather__copy>p:last-child{max-width:38rem;margin:.75rem 0 0;color:#e7f5ff}.branch-weather__visual{position:relative;display:grid;place-items:center;min-height:9rem}.branch-weather__visual .weather-icon{width:6rem;height:6rem;color:#fff;filter:drop-shadow(0 10px 16px rgba(0,35,66,.2))}.branch-weather__visual span{position:absolute;width:8rem;height:2.2rem;border-radius:50%;background:rgba(255,255,255,.13);filter:blur(8px);animation:weather-cloud 18s linear infinite;pointer-events:none}.branch-weather__visual span:last-child{width:5rem;top:65%;animation-delay:-8s}.branch-weather__forecast-placeholder{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.22);border-radius:1rem;background:rgba(7,50,86,.25);backdrop-filter:blur(4px)}.branch-weather__forecast-placeholder span{color:#d9effb}.branch-weather__forecast-placeholder strong{text-align:right;overflow-wrap:anywhere}.weather-warnings{margin:1rem 0;padding:1.2rem}.weather-warnings__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.weather-warnings__heading h2{margin:0}.weather-warnings__heading>span{flex:none;padding:.3rem .65rem;border-radius:999px;background:#eef5f6;color:#315e65;font-size:.8rem;font-weight:750}.weather-warning-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.75rem;margin-top:1rem}.weather-warning{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;min-width:0;padding:.9rem;border:1px solid transparent;border-radius:1rem}.weather-warning .weather-icon{width:2.25rem;height:2.25rem}.weather-warning strong{display:block}.weather-warning p{margin:.2rem 0 0;font-size:.88rem;overflow-wrap:anywhere}.weather-warning--heat{background:#fff2d9;border-color:#efca80;color:#744c08}.weather-warning--rain{background:#e7f3fb;border-color:#a9d0e7;color:#174e72}.weather-warning--wind{background:#e6f5f0;border-color:#acd8ca;color:#175f4c}.weather-warning--storm{background:#f0eafa;border-color:#c7b7e8;color:#503a78}.weather-warnings__empty,.weather-warnings__note{color:var(--muted)}.weather-warnings__note{margin:.8rem 0 0;font-size:.8rem}.weather-context{grid-column:1/-1;color:#406873;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.form-layout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:end}.form-layout>*,.form-grid>*,.patient-form>*,.patient-location-form>*,.patient-care-team-form>*{min-width:0}.schedule-filters label{align-self:stretch}.schedule-filters input,.schedule-filters select{width:100%;min-width:0;height:2.9rem}.schedule-filter-actions{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap;min-width:0}.schedule-filter-actions .button{flex:1 1 6rem;min-height:2.9rem;text-align:center}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.form-grid label,.patient-location-form label,.patient-care-team-form label,.patient-form label{min-width:0;overflow-wrap:anywhere}.form-grid input,.form-grid select,.form-grid textarea,.patient-location-form input,.patient-location-form select,.patient-location-form textarea,.patient-care-team-form input,.patient-care-team-form select,.patient-care-team-form textarea,.patient-form input,.patient-form select,.patient-form textarea{width:100%;max-width:100%;min-width:0}.form-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;clear:both}.field-error,.alert p{overflow-wrap:anywhere}.schedule-identity,.schedule-actions{min-width:0}.schedule-identity h3,.schedule-identity p{overflow-wrap:anywhere}.schedule-actions .button{white-space:normal;text-align:center}.weather-art,.branch-weather__visual span,.branch-weather:before{pointer-events:none}.branch-weather,.weather-panel{z-index:0}.schedule-filters{position:relative;z-index:2}.schedule-filters select{position:relative;z-index:3}
@media(max-width:1050px){.form-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-filter-actions{grid-column:1/-1}.schedule-visit{grid-template-columns:6.5rem minmax(0,1fr)}.schedule-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:767px){.branch-weather{grid-template-columns:1fr}.branch-weather__visual{display:none}.branch-weather__forecast-placeholder{align-items:flex-start;flex-direction:column}.branch-weather__forecast-placeholder strong{text-align:left}.form-layout,.form-grid{grid-template-columns:1fr}.schedule-filter-actions{grid-column:auto}.schedule-filter-actions>*{width:100%}.form-actions{align-items:stretch}.form-actions>*{flex:1 1 100%;text-align:center}.weather-warnings__heading{align-items:flex-start}.weather-warning-list{grid-template-columns:1fr}}
@media(max-width:420px){.branch-weather{padding:1.1rem;border-radius:1.1rem}.weather-warnings{padding:1rem}.schedule-filters{padding:1rem}.schedule-summary{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.branch-weather *,.branch-weather:before,.weather-warning,.weather-warnings *{animation:none!important;transition:none!important;transform:none!important}}
/* VC.3G branch management */
.branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem}.branch-card{margin:0}.branch-card .form-actions form{margin:0}.branch-form{display:grid;gap:1rem}.operational-location{padding:1rem;border:1px solid var(--line);border-radius:1rem}.operational-location legend{font-weight:800}.operational-location [data-geolocation-status]{color:var(--muted)}@media(max-width:767px){.branch-card .form-actions>*{width:100%}.branch-card .form-actions form .button{width:100%}}

/* VC.3G.R2 schedule navigation and branch weather dashboard */
.schedule-hero:after{pointer-events:none}.schedule-hero>*,.schedule-mode{position:relative;z-index:2}.schedule-mode a{min-height:44px;pointer-events:auto}
.branch-weather{width:min(100%,70rem);min-height:25rem;display:grid;grid-template-rows:auto 1fr auto;gap:0;margin:1rem 0;padding:1.25rem 1.25rem 1rem;border:1px solid rgba(164,220,255,.2);border-radius:1.5rem;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 58% 43%,#267fb5 0,#13588e 26%,#092d58 67%,#061d3d 100%);box-shadow:0 24px 54px rgba(3,29,61,.28),inset 0 1px rgba(255,255,255,.15);color:#fff}.branch-weather:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(115deg,rgba(255,255,255,.07),transparent 38%,rgba(80,191,255,.08));pointer-events:none}.branch-weather__atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.branch-weather__atmosphere i{position:absolute;border-radius:50%;filter:blur(30px);background:#63c9ff;opacity:.13}.branch-weather__atmosphere i:nth-child(1){width:18rem;height:18rem;left:35%;top:7%}.branch-weather__atmosphere i:nth-child(2){width:10rem;height:10rem;right:-2rem;top:-2rem}.branch-weather__atmosphere i:nth-child(3){width:16rem;height:5rem;left:8%;bottom:3rem}.branch-weather__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;z-index:2}.branch-weather .eyebrow{margin:0 0 .2rem;color:#9edcff}.branch-weather h2{margin:0;color:#fff;font-size:clamp(1rem,2vw,1.35rem);letter-spacing:.03em}.branch-weather__date{margin:.3rem 0 0;color:#b9d9ee;font-size:.88rem}.branch-weather__temperature{text-align:right}.branch-weather__temperature strong{display:block;font-size:clamp(3rem,7vw,5rem);font-weight:500;line-height:.8;letter-spacing:-.07em;text-shadow:0 8px 25px rgba(0,20,47,.3)}.branch-weather__temperature span{display:block;margin-top:.55rem;color:#d8effc;font-weight:700}.branch-weather__body{display:grid;grid-template-columns:10rem minmax(18rem,1fr) 6rem;align-items:center;min-height:13rem}.branch-weather__metrics{display:grid;gap:.6rem;margin:0;z-index:2}.branch-weather__metrics div{display:grid;grid-template-columns:3.2rem 1fr;align-items:baseline;gap:.35rem}.branch-weather__metrics dt{color:#9ecce7;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.branch-weather__metrics dd{margin:0;color:#fff;font-size:.95rem;font-weight:800}.branch-weather__scene{grid-column:2/4;align-self:center;justify-self:center;width:min(100%,25rem);height:13rem;pointer-events:none}.weather-scene{display:block;width:100%;height:100%;overflow:visible}.weather-scene .scene-sun,.weather-scene .scene-cloud,.weather-scene .scene-rain,.weather-scene .scene-mist,.weather-scene .scene-bolt{transform-origin:center}.weather-scene--clear .scene-cloud,.weather-scene--clear .scene-rain,.weather-scene--clear .scene-mist,.weather-scene--clear .scene-bolt,.weather-scene--partly-cloudy .scene-rain,.weather-scene--partly-cloudy .scene-mist,.weather-scene--partly-cloudy .scene-bolt,.weather-scene--cloudy .scene-sun,.weather-scene--cloudy .scene-rain,.weather-scene--cloudy .scene-mist,.weather-scene--cloudy .scene-bolt,.weather-scene--rain .scene-sun,.weather-scene--rain .scene-mist,.weather-scene--rain .scene-bolt,.weather-scene--heavy-rain .scene-sun,.weather-scene--heavy-rain .scene-mist,.weather-scene--heavy-rain .scene-bolt,.weather-scene--thunderstorm .scene-sun,.weather-scene--thunderstorm .scene-mist,.weather-scene--fog .scene-sun,.weather-scene--fog .scene-cloud,.weather-scene--fog .scene-rain,.weather-scene--fog .scene-bolt{display:none}.weather-scene--clear .scene-sun{animation:branch-sun 9s ease-in-out infinite}.weather-scene--partly-cloudy .scene-cloud--front{animation:branch-cloud 12s ease-in-out infinite}.weather-scene--rain .scene-rain{animation:branch-rain 1.4s linear infinite}.weather-scene--heavy-rain .scene-rain{animation:branch-rain .75s linear infinite}.weather-scene--thunderstorm .scene-rain{animation:branch-rain 1s linear infinite}.weather-scene--thunderstorm .scene-bolt{animation:branch-lightning 10s ease-in-out infinite}.weather-scene--fog .scene-mist{animation:branch-fog 13s ease-in-out infinite}.branch-forecast{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;padding:.55rem;border:1px solid rgba(164,220,255,.18);border-radius:1rem;background:rgba(3,24,55,.47);box-shadow:inset 0 1px rgba(255,255,255,.08);overflow-x:auto;overscroll-behavior-inline:contain}.branch-forecast__period{min-width:0;display:grid;place-items:center;gap:.15rem;padding:.48rem .25rem;border:1px solid transparent;border-radius:.75rem;color:#d2ebfa;text-align:center}.branch-forecast__period.is-current{border-color:rgba(151,221,255,.38);background:rgba(61,154,210,.25);box-shadow:0 5px 16px rgba(0,16,39,.2)}.branch-forecast__period strong{font-size:.65rem;letter-spacing:.07em}.branch-forecast__period .weather-icon{width:1.8rem;height:1.8rem;color:#eefaff}.branch-forecast__period>span{font-size:1.05rem;font-weight:850}.branch-forecast__period small{color:#93c8e7;font-size:.62rem;white-space:nowrap}.branch-weather__empty{display:flex;align-items:center;justify-content:center;gap:1rem;min-height:15rem}.branch-weather__empty .weather-icon{width:4.5rem;height:4.5rem;color:#a9ddf7}.branch-weather__empty strong{font-size:1.35rem}.branch-weather__empty p{margin:.35rem 0;color:#bddbed}.weather-warnings--empty{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem}.weather-warnings--empty .weather-warnings__heading{flex:1}.weather-warnings--empty .weather-warnings__heading .eyebrow,.weather-warnings--empty .weather-warnings__note{display:none}.weather-warnings--empty h2{font-size:1rem}.weather-warnings--empty .weather-warnings__empty{margin:0;font-size:.82rem}
@keyframes branch-sun{50%{transform:scale(1.035);filter:brightness(1.08)}}@keyframes branch-cloud{50%{transform:translateX(5px)}}@keyframes branch-rain{to{transform:translate(7px,12px)}}@keyframes branch-lightning{0%,94%,96%,100%{opacity:0}95%,97%{opacity:1}}@keyframes branch-fog{50%{transform:translateX(18px);opacity:.75}}
@media(max-width:1024px){.branch-weather{width:100%}.branch-weather__body{grid-template-columns:9rem minmax(15rem,1fr)}.branch-weather__scene{grid-column:2}.branch-forecast{gap:.3rem}.branch-forecast__period{padding:.42rem .15rem}}
@media(max-width:768px){.branch-weather{min-height:24rem}.branch-weather__body{grid-template-columns:8rem 1fr}.branch-weather__scene{height:11rem}.branch-forecast{grid-template-columns:repeat(7,minmax(5.2rem,1fr))}.weather-warnings--empty{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.branch-weather{min-height:0;padding:1rem;border-radius:1.15rem}.branch-weather__temperature strong{font-size:3rem}.branch-weather__body{grid-template-columns:1fr;min-height:17rem}.branch-weather__metrics{grid-template-columns:1fr 1fr;order:2}.branch-weather__scene{grid-column:1;width:100%;height:11rem;order:1}.branch-forecast{margin-top:.65rem;grid-template-columns:repeat(7,5.1rem)}.branch-weather__empty{min-height:12rem;align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.weather-scene *,.branch-weather__atmosphere *,.branch-forecast__period{animation:none!important;transition:none!important;transform:none!important}}
/* VC.3G.R4: keep the three primary schedule frames on one parent-width contract. */
.schedule-hero,.branch-weather,.weather-warnings{width:100%;max-width:none;box-sizing:border-box}
.branch-weather__body{grid-template-columns:minmax(0,1fr) minmax(18rem,28%);gap:clamp(1rem,3vw,2.5rem);padding-inline:.5rem}
.branch-weather__metrics{grid-template-columns:repeat(2,minmax(7rem,1fr));justify-self:center;width:min(100%,24rem)}
.branch-weather__scene{grid-column:2;justify-self:end;width:100%;max-width:22rem;height:13rem;padding:0 1rem 0 .5rem;box-sizing:border-box;overflow:visible;pointer-events:none}
@media(max-width:1024px){.branch-weather__body{grid-template-columns:minmax(0,1fr) minmax(15rem,32%);gap:1rem}.branch-weather__scene{grid-column:2;max-width:19rem;padding-right:.8rem}}
@media(max-width:768px){.branch-weather__body{grid-template-columns:minmax(0,1fr) minmax(12rem,36%)}.branch-weather__metrics{grid-template-columns:1fr}.branch-weather__scene{grid-column:2;max-width:16rem;height:10rem;padding-right:.65rem}}
@media(max-width:480px){.branch-weather__body{grid-template-columns:1fr;padding-inline:0}.branch-weather__metrics{grid-template-columns:1fr 1fr;width:100%;max-width:none}.branch-weather__scene{grid-column:1;justify-self:center;width:100%;max-width:19rem;height:10.5rem;padding:0 .75rem}}
/* VC.3G.R4A: four independent current-weather regions; operational text stays in normal grid flow. */
.branch-weather__current{position:relative;z-index:2;display:grid;grid-template-areas:"identity primary metrics scene";grid-template-columns:minmax(15rem,1.3fr) minmax(9rem,.7fr) minmax(11rem,.8fr) minmax(14rem,1fr);column-gap:clamp(.85rem,2vw,1.6rem);align-items:center;min-width:0}
.branch-weather__current>.branch-weather__identity,.branch-weather__current>.branch-weather__primary,.branch-weather__current>.branch-weather__metrics,.branch-weather__current>.branch-weather__scene-slot{min-width:0;max-width:100%}
.branch-weather__identity{grid-area:identity;position:relative;z-index:2}
.branch-weather__identity h2{margin:.18rem 0;color:#fff;font-size:clamp(1rem,1.6vw,1.35rem);letter-spacing:.045em}
.branch-weather__identity--empty{margin-bottom:1rem}
.branch-weather__primary{grid-area:primary;display:grid;align-content:center;justify-items:start;min-width:0}
.branch-weather__primary strong{font-size:clamp(3rem,5vw,4.75rem);font-weight:900;line-height:.88;letter-spacing:-.07em;white-space:nowrap}
.branch-weather__primary span{display:block;margin-top:.45rem;color:#d7effc;font-size:clamp(.9rem,1.4vw,1.08rem);font-weight:750;line-height:1.2;overflow-wrap:anywhere}
.branch-weather__metrics{grid-area:metrics;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.48rem .7rem;align-content:center;width:100%;margin:0;justify-self:stretch}
.branch-weather__metrics div{display:contents}
.branch-weather__metrics dt{align-self:baseline;color:#9ecce7;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.branch-weather__metrics dd{align-self:baseline;justify-self:end;min-width:0;margin:0;color:#fff;font-size:.9rem;font-weight:800;white-space:nowrap}
.branch-weather__scene-slot{grid-area:scene;position:relative;display:grid;place-items:center;align-self:stretch;width:100%;min-height:12rem;padding:1rem 1.2rem;box-sizing:border-box;overflow:hidden;contain:layout paint;isolation:isolate;pointer-events:none}
.branch-weather__scene-slot .weather-scene{display:block;width:min(100%,18rem);max-width:100%;height:auto;aspect-ratio:360/220;overflow:hidden;pointer-events:none}
.branch-weather__current+.branch-forecast{position:relative;z-index:2;grid-row:auto;margin-top:.8rem}
@media(max-width:1100px){.branch-weather__current{grid-template-areas:"identity primary" "metrics scene";grid-template-columns:minmax(15rem,1.3fr) minmax(14rem,1fr);row-gap:.8rem}.branch-weather__primary{justify-items:end;text-align:right}.branch-weather__metrics{align-self:center;max-width:22rem}.branch-weather__scene-slot{min-height:10.5rem;padding:.6rem 1rem}.branch-weather__scene-slot .weather-scene{width:min(100%,16rem)}}
@media(max-width:768px){.branch-weather__current{grid-template-columns:minmax(0,1fr) minmax(12rem,.85fr);column-gap:.75rem}.branch-weather__primary strong{font-size:3.2rem}.branch-weather__metrics{max-width:none}.branch-weather__scene-slot{min-height:9rem;padding:.5rem}.branch-weather__scene-slot .weather-scene{width:min(100%,14rem)}}
@media(max-width:600px){.branch-weather__current{grid-template-areas:"identity" "primary" "scene" "metrics";grid-template-columns:minmax(0,1fr);row-gap:.75rem}.branch-weather__primary{justify-items:start;text-align:left}.branch-weather__scene-slot{min-height:9.5rem;padding:.35rem .75rem}.branch-weather__scene-slot .weather-scene{width:min(100%,17rem)}.branch-weather__metrics{grid-template-columns:max-content minmax(0,1fr);max-width:none}.branch-weather__current+.branch-forecast{margin-top:.65rem}}

/* VC.3H care visit attendance: touch-safe, normal-flow operational controls. */
.attendance-hero{border-left:4px solid #167a62;background:linear-gradient(100deg,#edf9f4,#f4f8fb)}
.attendance-state{display:inline-flex;align-items:center;min-height:2.75rem;padding:.45rem .85rem;border-radius:999px;background:#e7eef0;color:#315a63;font-size:.82rem;font-weight:850;letter-spacing:.08em}
.attendance-state--checked_in,.attendance-badge--checked_in{background:#fff0c7!important;color:#765300!important}.attendance-state--checked_out,.attendance-badge--checked_out{background:#dff4e8!important;color:#185f43!important}
.attendance-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.attendance-layout>.card{margin:1rem 0 0;min-width:0}
.attendance-action{margin-top:1rem}.attendance-form{display:grid;gap:1rem;max-width:48rem}.attendance-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.attendance-location-grid>*{min-width:0}.attendance-location-grid input{width:100%;max-width:100%;min-width:0}.attendance-location-button,.attendance-submit,.attendance-action-link{min-height:44px}.attendance-submit{justify-self:start;min-width:11rem}.attendance-summary{margin:.45rem 0;color:#486870;font-size:.85rem}.schedule-visit--attendance-checked_in{border-color:#e1bd57;box-shadow:inset .3rem 0 #e1bd57}.schedule-visit--attendance-checked_out{border-color:#79bd9d}
@media(max-width:700px){.attendance-layout,.attendance-location-grid{grid-template-columns:1fr}.attendance-action .button,.attendance-form .button{width:100%;justify-content:center}.attendance-hero .staff-title-row{align-items:flex-start;flex-direction:column}.attendance-state{align-self:flex-start}}
/* VC.3I structured care documentation */
.documentation-form{display:grid;gap:1rem}.documentation-form label{display:grid;gap:.45rem;font-weight:700}.documentation-form textarea{width:100%;min-height:8rem;resize:vertical;line-height:1.5}.documentation-state,.documentation-badge,.documentation-summary{display:inline-flex;align-items:center;min-height:2rem;padding:.35rem .65rem;border-radius:.65rem;background:#eaf3f1;color:#174b45;font-weight:700}.documentation-completed dd{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:768px){.documentation-form .form-actions{display:grid;grid-template-columns:1fr}.documentation-form .button{min-height:48px;width:100%}.documentation-hero .staff-title-row{align-items:flex-start}}

/* Update 009: VERTO Care brand lockup */
.brand-lockup{display:flex;align-items:center;gap:.8rem;min-width:0}
.brand-logo{display:block;width:auto;height:58px;max-width:230px;object-fit:contain}
.brand-lockup .platform{display:block}
@media(max-width:720px){.brand-logo{height:44px;max-width:170px}.brand-lockup .platform{display:none}}

/* Update 012: prevent VERTO CARE header logo clipping */
.app-header{min-height:96px;overflow:visible}
.brand-lockup{min-height:64px;overflow:visible}
.brand-logo{height:46px!important;max-width:190px!important;object-fit:contain;object-position:center}
@media(max-width:720px){.brand-logo{height:38px!important;max-width:155px!important}}


/* Update 020 — shared UI spacing and alignment polish */
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  vertical-align:middle;
}
.card > form:not(.patient-form):not(.staff-form):not(.branch-form):not(.documentation-form):not(.attendance-form):not(.observation-form):not(.prescription-form){
  margin-block:.8rem;
}
.card > form:first-child{margin-top:0}
.card > form:last-child{margin-bottom:0}
.card > .button + form,
.card > form + .button,
.card > form + form,
.card > .button + .button{margin-top:.8rem}
.patient-form > .button,
.patient-form > button.button{justify-self:start}
.clinic-action-stack{
  display:grid;
  gap:.8rem;
  align-items:start;
  margin-top:1rem;
  max-width:34rem;
}
.clinic-action-stack form{margin:0}
.clinic-action-stack .button{
  min-height:2.75rem;
  width:100%;
  justify-content:flex-start;
  padding-inline:1rem;
}
.clinic-action-stack--primary{margin-top:1rem}
.clinic-action-stack--primary .button:first-child{font-weight:750}
.card > h2 + .clinic-action-stack{margin-top:.75rem}
.card label + .button,
.card input + .button,
.card select + .button,
.card textarea + .button{margin-top:.25rem}
.staff-title-row{flex-wrap:wrap}
.form-actions{row-gap:.75rem}
.invoice-print-actions{row-gap:.55rem}
.invoice-print-actions form{display:flex;align-items:center}
@media(max-width:767px){
  .clinic-action-stack{max-width:none;width:100%}
  .clinic-action-stack .button{justify-content:center}
  .patient-form > .button,.patient-form > button.button{justify-self:stretch;width:100%}
  .staff-title-row{align-items:flex-start}
}

/* Compact, wrapping language selection in the existing header and sign-in shell. */
.language-switcher{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem;max-width:100%;margin:.5rem 0}.language-switcher label{display:grid;gap:.25rem;font-size:.85rem}.language-switcher select{max-width:100%;min-width:8rem}.language-switcher .button{padding:.55rem .8rem}.login-wrap>.language-switcher{justify-content:flex-end}

/* Keep long patient names within the physician encounter header. */
.physician-hero h1{overflow-wrap:anywhere}

/* Evidence hashes, regulatory references and synthetic warnings must wrap on narrow screens. */
.formulary-page{min-width:0;overflow-wrap:anywhere}
.formulary-page pre{white-space:pre-wrap;overflow-wrap:anywhere}
.formulary-page input,.formulary-page select{max-width:100%;min-width:0}
.formulary-page .form-grid>*{min-width:0}
.formulary-page dd{overflow-wrap:anywhere}