.cafe-cookie-popup,.cafe-cookie-dialog,.cafe-recovery{box-sizing:border-box;color:#1c2724;background:#f5f0e8;border:1px solid #b9c8bd;font:15px/1.55 system-ui,sans-serif;box-shadow:0 16px 55px #0003;text-align:left}
.cafe-cookie-popup{position:fixed;z-index:19000;bottom:max(18px,env(safe-area-inset-bottom));left:18px;width:min(420px,calc(100vw - 36px));padding:20px;border-radius:12px;animation:cafe-popup-enter .2s ease-out}
.cafe-cookie-popup[hidden],.cafe-recovery[hidden]{display:none!important}
html body.pine-preview :is(.cafe-cookie-popup,.cafe-cookie-dialog,.cafe-recovery) h2{font:700 22px/1.25 system-ui,sans-serif!important;letter-spacing:normal!important;color:#1c2724!important;margin:0 0 10px!important}
.cafe-cookie-popup p,.cafe-cookie-dialog p,.cafe-recovery p{font:15px/1.55 system-ui,sans-serif!important;color:#42574a!important;margin:8px 0 14px!important}
.cafe-cookie-actions{display:flex;flex-wrap:wrap;gap:10px}
.cafe-cookie-actions button,.cafe-recovery button,.cafe-map-placeholder button{min-height:44px;max-width:100%;padding:11px 16px;border-radius:12px;border:1px solid #355746;background:#f5f0e8;color:#1c2724;cursor:pointer;font:600 14px/1.3 system-ui,sans-serif}
.cafe-cookie-actions .cafe-cookie-primary,.cafe-map-placeholder button{background:#244f3d;color:#fff;border-color:#244f3d}
.cafe-cookie-actions button:focus-visible,.cafe-cookie-dialog input:focus-visible,.cafe-cookie-link:focus-visible{outline:3px solid #976b30;outline-offset:3px}
.cafe-cookie-popup .cafe-cookie-status,.cafe-cookie-dialog .cafe-cookie-status{font-size:13px!important;margin-bottom:0!important}
.cafe-cookie-popup,.cafe-cookie-dialog{background:#fffefa;border-color:#d9dfd9;box-shadow:0 10px 35px #15251c1f}
html body.pine-preview :is(.cafe-cookie-popup,.cafe-cookie-dialog) h2{font-size:20px!important;line-height:1.3!important;margin-bottom:8px!important}
html body.pine-preview :is(.cafe-cookie-popup,.cafe-cookie-dialog) p{font-size:14px!important;line-height:1.55!important;margin:0 0 14px!important}
.cafe-cookie-actions{gap:8px}.cafe-cookie-actions button{border-radius:8px;padding:10px 14px}
.cafe-cookie-popup .cafe-cookie-actions{display:grid;grid-template-columns:1fr 1fr}
.cafe-cookie-popup .cafe-cookie-actions button:last-child{grid-column:1/-1;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;min-height:34px;padding:5px}
.cafe-cookie-status:empty{display:none}
.cafe-cookie-dialog{width:min(480px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border-radius:14px;padding:22px}
.cafe-cookie-dialog::backdrop{background:#101b1766}
.cafe-cookie-dialog label{display:flex;gap:18px;align-items:center;margin:0;padding:12px 0;border:0;border-top:1px solid #e4e8e2;border-radius:0;cursor:pointer}
.cafe-cookie-dialog label span{display:block;flex:1;font-size:14px;font-weight:600}.cafe-cookie-dialog input{order:2;width:18px;height:18px;margin:0;accent-color:#244f3d;color-scheme:light;flex-shrink:0}.cafe-cookie-dialog small{display:block;color:#657268;font-size:12px;font-weight:400;line-height:1.5;margin-top:3px}
.cafe-cookie-dialog .cafe-cookie-actions{margin-top:12px;justify-content:flex-end}
.cafe-cookie-link{border:0;background:transparent;color:#244f3d;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:0;min-height:44px}
.cafe-map-placeholder{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:12px;text-align:center;background:#e7e9e1;color:#244334}
.cafe-map-placeholder p{max-width:35ch}.cafe-map-placeholder button{z-index:1}.cafe-map-placeholder[hidden],.cafe-map-frame[hidden]{display:none!important}
.cafe-recovery{position:fixed;z-index:19100;top:125px;right:18px;width:min(470px,calc(100vw - 36px));padding:20px;border-radius:18px}
html body.pine-preview .cafe-recovery h2{font-size:19px!important}.cafe-recovery nav{display:flex;gap:10px;flex-wrap:wrap}
.public-faq details{padding:18px 0;border-bottom:1px solid #c9d4ca}.public-faq summary{cursor:pointer;font-size:19px;font-weight:650;line-height:1.5;padding:5px 20px 5px 0}.public-faq details p{margin:12px 0 8px}.public-faq summary:focus-visible{outline:3px solid #976b30;outline-offset:4px}
@keyframes cafe-popup-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:600px){.cafe-cookie-popup{bottom:max(12px,env(safe-area-inset-bottom));left:12px;width:calc(100vw - 24px);padding:18px}.cafe-cookie-actions button{flex:1 1 42%}.cafe-cookie-dialog{padding:18px}.cafe-recovery{top:105px;right:12px;width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){.cafe-cookie-popup{animation:none}}
/* Compact account forms; keep the existing Pine palette and all role checks. */
body.pine-preview :is(#authModalOverlay,#adminModalOverlay) .admin-modal{border-radius:16px;padding:24px;max-width:480px}
body.pine-preview :is(#authModalOverlay,#adminModalOverlay) .admin-modal h3{font:650 25px/1.25 system-ui,sans-serif!important;letter-spacing:-.02em!important;margin-bottom:8px}
body.pine-preview :is(#authModalOverlay,#adminModalOverlay) .field-group{margin:12px 0}
body.pine-preview :is(#authModalOverlay,#adminModalOverlay) .field-group input{min-height:44px;border-radius:8px}
body.pine-preview #authLoginForm .login-remember{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin:16px 0;font:500 14px/1.4 system-ui,sans-serif}
body.pine-preview #authLoginForm .login-remember input{appearance:auto;color-scheme:light;accent-color:#244f3d;width:18px;height:18px;min-height:18px;margin:1px 0 0;flex-shrink:0}
body.pine-preview #authLoginForm .login-remember small{display:block;font:400 12px/1.5 system-ui,sans-serif;color:#627066;margin-top:2px}
