/* Pflegerio interface: reusable dialogs, toast notifications and media viewer. */
body.pf-dialog-active{overflow:hidden;overscroll-behavior:none}
.pf-dialog.pf-modal,.pf-dialog.pf-dialog--modal{width:min(620px,calc(100% - 28px));height:auto;max-height:calc(100dvh - 40px);margin:auto;border-radius:26px;overflow:auto;box-shadow:0 30px 100px #0c0c3533}
.pf-dialog.pf-modal--confirm{width:min(480px,calc(100% - 28px))}
.pf-modal .pf-dialog__header,.pf-dialog--modal .pf-dialog__header{padding:22px 24px 18px;border-bottom-color:#e8ece7}
.pf-modal .pf-dialog__body,.pf-dialog--modal .pf-dialog__body{padding:24px}
.pf-modal .pf-dialog__body>p{font-size:14px;line-height:1.75;margin:0 0 24px;color:#5c6668}
.pf-modal__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;margin-top:26px}
.pf-modal__actions .pf-button{min-width:116px}
.pf-button--danger{background:#a72e3d!important;border-color:#a72e3d!important;color:white!important}
.pf-button--danger:hover{background:#892433!important;border-color:#892433!important}
.pf-dialog--fallback[open]{position:fixed;z-index:100001;inset:0;box-shadow:0 0 0 100vmax #0c0c3577,0 30px 100px #0c0c3533}
.pf-input-action{position:relative;display:flex;align-items:center;width:100%}
.pf-input-action input{padding-right:88px!important;min-width:0}
.pf-input-action__button{position:absolute;right:6px;top:50%;bottom:auto;transform:translateY(-50%);border:0;border-radius:10px;background:#edf4e9;color:#236d24;min-height:40px;padding:8px 12px;font:500 12px 'Poppins',sans-serif;cursor:pointer}
.pf-input-action__button:hover{background:#e2eddc}

.pf-toast-stack{position:fixed;right:16px;bottom:max(18px,env(safe-area-inset-bottom));z-index:100005;display:grid;gap:10px;width:min(410px,calc(100vw - 32px));pointer-events:none}
.pf-notice{display:flex;align-items:flex-start;gap:11px;position:relative;padding:16px 12px 16px 16px;background:#fff;color:#0c0c35;border:1px solid #e0e8dc;border-radius:18px;box-shadow:0 10px 42px #0c0c3529;font:400 13px/1.65 'Poppins',sans-serif;pointer-events:auto;animation:pf-notice-in .2s ease-out}
.pf-notice__icon{flex-shrink:0;display:grid;place-items:center;width:25px;height:25px;margin-top:1px;border-radius:50%;background:#e9f7df;color:#236d24;font-size:14px;font-weight:600;line-height:1}
.pf-notice__text{flex:1;min-width:0;overflow-wrap:anywhere;padding-top:2px}
.pf-notice__close{display:grid;place-items:center;flex-shrink:0;border:0;border-radius:50%;background:transparent;color:#67716d;width:32px;min-height:32px;margin:-4px -4px -4px 0;padding:0;font:400 22px/1 sans-serif;cursor:pointer}
.pf-notice__close:hover{background:#f1f5ef;color:#0c0c35}
.pf-notice--error{border-color:#e8c5cb}
.pf-notice--error .pf-notice__icon{background:#fce8ec;color:#a72e3d}
.pf-notice--info .pf-notice__icon{background:#eeedf7;color:#343267}

.pf-media-card{margin:28px 0;min-width:0}
.pf-media-card__link{position:relative;display:flex;align-items:center;justify-content:center;min-height:220px;aspect-ratio:16/9;border-radius:26px;overflow:hidden;background:#e8efe3;color:#0c0c35;text-decoration:none!important;cursor:pointer;isolation:isolate}
.pf-media-card__link>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.pf-media-card__link:hover>img{transform:scale(1.025)}
.pf-media-card__label{display:flex;align-items:center;gap:12px;position:relative;max-width:calc(100% - 36px);padding:14px 20px;border-radius:16px;background:#fffffff0;color:#0c0c35;font:500 14px/1.5 'Poppins',sans-serif;box-shadow:0 4px 24px #0c0c350e}
.pf-media-card__label .pf-icon{width:26px;height:26px;flex-shrink:0;color:#236d24}
.pf-media-card__label span{overflow-wrap:anywhere}
.pf-media-card figcaption{font:400 12px/1.7 'Poppins',sans-serif;color:#68726e;padding:12px 4px 0;text-align:left}
.pf-media-image{display:block;cursor:zoom-in;border-radius:inherit;line-height:0;overflow:hidden}
.pf-media-image img{transition:filter .25s ease}
.pf-media-image:hover img{filter:brightness(.96)}
.pf-media-open{display:inline-flex;align-items:center;justify-content:center;min-height:42px;gap:10px;background:#e9f2e3;border-radius:30px;padding:8px 18px;margin-top:12px;color:#236d24;text-decoration:none!important;font:500 12px/1.5 'Poppins',sans-serif}
.pf-media-open:hover{background:#dceecf}

.pf-dialog.pf-lightbox{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:0;overflow:hidden;background:#0c0f20;color:#fff;box-shadow:none;animation:pf-viewer-in .18s ease-out}
.pf-lightbox[open]{display:block}
.pf-lightbox__surface{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#0c0f20;color:#fff}
.pf-lightbox__surface:fullscreen{width:100vw;height:100vh;height:100dvh}
.pf-lightbox::backdrop{background:#0c0f20;backdrop-filter:none}
.pf-lightbox [hidden]{display:none!important}
.pf-lightbox__header{display:flex;flex-direction:column;position:relative;gap:13px;padding:16px 16px 12px;background:#141829;border-bottom:1px solid #ffffff12;z-index:3}
.pf-lightbox__heading{display:flex;gap:12px;align-items:center;min-width:0;padding-right:50px;min-height:36px}
.pf-lightbox__heading h2{font:700 20px/1.3 'Ubuntu',sans-serif;color:#fff;margin:0}
.pf-lightbox__count{font-size:11px;color:#b8c0ce;white-space:nowrap}
.pf-lightbox__tools{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.pf-lightbox__button,.pf-lightbox__arrow{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid transparent;background:#ffffff09;color:#fff;min-width:44px;min-height:44px;border-radius:12px;padding:9px;font:500 11px/1 'Poppins',sans-serif;text-decoration:none;cursor:pointer;transition:background .16s ease,border-color .16s ease}
.pf-lightbox__button:hover,.pf-lightbox__arrow:hover{background:#ffffff16;border-color:#ffffff23;color:white}
.pf-lightbox__button:disabled,.pf-lightbox__arrow:disabled{opacity:.28;cursor:default;background:transparent}
.pf-lightbox__button .pf-icon,.pf-lightbox__arrow .pf-icon{width:22px;height:22px}
.pf-lightbox__button--original{gap:8px;padding-inline:12px}
.pf-lightbox__button--original .pf-icon{width:17px;height:17px}
.pf-lightbox__button--close{position:absolute;right:16px;top:12px;color:#0c0c35;background:#79e52a;border-radius:50%}
.pf-lightbox__button--close:hover{color:#0c0c35;background:#8eef42;border-color:#8eef42}
.pf-lightbox__button[aria-pressed=true]{color:#9bf16a;background:#79e52a10}
.pf-lightbox__stage{position:relative;min-width:0;min-height:0;overflow:hidden;isolation:isolate}
.pf-lightbox__canvas{position:absolute;inset:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y}
.pf-lightbox__canvas[data-type=image]{touch-action:none;cursor:zoom-in}
.pf-lightbox__canvas.is-zoomed{cursor:grab}
.pf-lightbox__canvas.is-dragging{cursor:grabbing}
.pf-lightbox__image{display:block;object-fit:contain;max-width:none!important;max-height:none!important;flex-shrink:0;margin:0!important;user-select:none;-webkit-user-drag:none;will-change:transform;transform-origin:50% 50%}
.pf-lightbox__video{display:block;max-width:100%;max-height:100%;width:auto;height:auto;background:#000;border-radius:10px;outline:0}
.pf-lightbox__frame{display:block;width:min(100%,1100px);height:auto;max-height:100%;aspect-ratio:16/9;border:0;background:#fff;border-radius:12px}
.pf-lightbox__frame--map{width:min(100%,1260px);height:100%;max-height:780px;aspect-ratio:auto}
.pf-lightbox__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;min-width:44px;min-height:44px;background:#141829bc;border:1px solid #ffffff23;border-radius:50%;backdrop-filter:blur(8px)}
.pf-lightbox__arrow--prev{left:16px}
.pf-lightbox__arrow--next{right:16px}
.pf-lightbox__arrow:disabled{opacity:0;pointer-events:none}
.pf-lightbox__status{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;padding:32px;text-align:center;color:#c7cfdd;pointer-events:none;font:400 13px/1.7 'Poppins',sans-serif}
.pf-lightbox__status>p{margin:0;max-width:380px}
.pf-lightbox__status .pf-button{pointer-events:auto}
.pf-lightbox__status--loading::before{content:'';display:block;flex-shrink:0;width:30px;height:30px;border:2px solid #ffffff25;border-top-color:#79e52a;border-radius:50%;animation:pf-media-spin .8s linear infinite}
.pf-lightbox__status--error{color:#fff}
.pf-lightbox__consent{max-width:430px;padding:28px 25px;margin:0 18px;border-radius:26px;background:#f5f8f1;color:#0c0c35;text-align:center;box-shadow:0 20px 50px #0003}
.pf-lightbox__provider{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 20px;border-radius:50%;background:#e3f2d8;color:#236d24;font-size:18px;line-height:1}
.pf-lightbox__consent h3{font:700 25px/1.25 'Ubuntu',sans-serif;color:#0c0c35;margin:0 0 14px}
.pf-lightbox__consent p{font:400 13px/1.8 'Poppins',sans-serif;color:#5c6668;margin:0 0 24px}
.pf-lightbox__consent .pf-button{min-width:120px}
.pf-lightbox__caption{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:10px 20px;color:#b8c0ce;font:400 12px/1.75 'Poppins',sans-serif;min-width:0}
.pf-lightbox__caption p{margin:0;max-height:4em;overflow:auto;overflow-wrap:anywhere;min-width:0}
.pf-lightbox__caption span{flex-shrink:0;color:#8c99b1;font-size:10px;padding-top:2px}
.pf-lightbox__thumbnails{display:flex;justify-content:flex-start;gap:8px;overflow:auto;overscroll-behavior:contain;min-width:0;max-width:100%;padding:8px 20px max(14px,env(safe-area-inset-bottom));background:#141829;scrollbar-width:thin;scrollbar-color:#43503f transparent}
.pf-lightbox__thumb{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:70px;height:52px;background:#252b3d;color:#d4dceb;border:2px solid transparent;border-radius:9px;overflow:hidden;padding:0;font-size:20px;cursor:pointer;opacity:.65;transition:opacity .15s,border-color .15s}
.pf-lightbox__thumb img{display:block;object-fit:cover;width:100%;height:100%;margin:0}
.pf-lightbox__thumb:hover{opacity:1}
.pf-lightbox__thumb[aria-current=true]{border-color:#79e52a;opacity:1}
.pf-lightbox__button:focus-visible,.pf-lightbox__arrow:focus-visible,.pf-lightbox__thumb:focus-visible{outline:2px solid #a2f270;outline-offset:3px}
.pf-notice__close:focus-visible,.pf-media-card__link:focus-visible,.pf-media-image:focus-visible,.pf-media-open:focus-visible,.pf-input-action__button:focus-visible{outline:2px solid #236d24;outline-offset:4px}

@keyframes pf-media-spin{to{transform:rotate(1turn)}}
@keyframes pf-notice-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes pf-viewer-in{from{opacity:0}to{opacity:1}}
@media(min-width:700px){
 .pf-lightbox__header{flex-direction:row;align-items:center;justify-content:space-between;padding:16px 22px}
 .pf-lightbox__heading{padding-right:0}
 .pf-lightbox__button--close{position:static;margin-left:8px}
 .pf-lightbox__canvas{inset:20px 76px}
 .pf-lightbox__caption{padding:10px 28px 16px}
 .pf-lightbox__thumbnails{justify-content:safe center;padding-inline:28px}
 .pf-lightbox__thumb{width:84px;height:62px}
 .pf-lightbox__arrow--prev{left:20px}
 .pf-lightbox__arrow--next{right:20px}
 .pf-toast-stack{right:24px;bottom:max(24px,env(safe-area-inset-bottom))}
}
@media(max-height:520px) and (orientation:landscape){
 .pf-lightbox__header{flex-direction:row;align-items:center;padding:8px 12px}
 .pf-lightbox__heading{padding-right:0}
 .pf-lightbox__button--close{position:static;margin-left:6px}
 .pf-lightbox__tools{flex-wrap:nowrap}
 .pf-lightbox__button{min-width:38px;min-height:38px;padding:7px}
 .pf-lightbox__caption{padding-block:3px}
 .pf-lightbox__thumbnails{padding-block:5px;max-height:51px}
 .pf-lightbox__thumb{height:38px;width:54px}
}
@media(prefers-reduced-motion:reduce){
 .pf-lightbox,.pf-notice,.pf-lightbox__status--loading::before{animation:none!important}
 .pf-lightbox__button,.pf-lightbox__arrow,.pf-lightbox__thumb,.pf-media-card__link>img,.pf-media-image img{transition:none!important}
}
@media print{.pf-toast-stack,.pf-lightbox,.pf-media-open,.pf-dialog{display:none!important}}
