:root{--font-sans:"Raleway", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-logo:"Cinzel", "Cormorant Garamond", Georgia, serif;--color-green:#006039;--color-green-dark:#004d2e;--color-green-light:#007a4d;--color-green-muted:#0060391a;--color-gold:#c5a962;--color-gold-dark:#a8893e;--color-gold-light:#d4bc7a;--color-gold-muted:#c5a9622e;--color-gold-text:#7a6228;--color-bg:#fafaf8;--color-bg-subtle:#fff;--color-surface:#fff;--color-surface-hover:#f5f4f0;--color-surface-elevated:#f0efe9;--color-border:#0060391a;--color-border-strong:#00603933;--color-text:#1a1a1a;--color-text-muted:#5c5c5c;--color-text-subtle:#8a8a8a;--color-primary:var(--color-green);--color-primary-hover:var(--color-green-dark);--color-primary-muted:var(--color-green-muted);--color-accent:var(--color-gold);--color-accent-muted:var(--color-gold-muted);--color-accent-text:var(--color-gold-text);--color-success:#006039;--color-error:#b91c1c;--color-error-muted:#b91c1c14;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px #004d2e0f;--shadow-md:0 4px 24px #004d2e14;--shadow-lg:0 12px 48px #004d2e1a;--header-height:72px;--page-max-width:1120px;--page-narrow:440px;font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.6}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 50% at 50% -20%, #0060390d, transparent), radial-gradient(ellipse 60% 40% at 100% 0%, #c5a9620f, transparent), var(--color-bg);min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;font-weight:600;line-height:1.15}p,label,button,input,.nav-link{letter-spacing:.02em}a{color:var(--color-primary);text-decoration:none;transition:color .15s}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.site-header{z-index:1100;height:var(--header-height);background:var(--color-green);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:0 1.5rem;display:flex;position:sticky;top:0}.site-header nav{align-items:center;gap:.25rem;display:flex}.logo{color:inherit;align-items:center;gap:.85rem;text-decoration:none;transition:opacity .2s;display:flex}.logo:hover{opacity:.92}.logo:hover .logo-endorse{color:var(--color-gold-light)}.logo:hover .logo-ph{color:#fff}.logo-emblem{filter:drop-shadow(0 1px 3px #00000047);flex-shrink:0;width:44px;height:44px;transition:filter .2s,transform .2s}.logo:hover .logo-emblem{filter:drop-shadow(0 2px 8px #c5a96273);transform:translateY(-.5px)}.logo-wordmark{flex-direction:column;gap:.15rem;line-height:1;display:flex}.logo-name{align-items:baseline;gap:.15rem;display:flex}.logo-endorse{font-family:var(--font-logo);letter-spacing:.14em;text-transform:uppercase;color:#fff;font-size:1.05rem;font-weight:600;transition:color .2s}.logo-ph{font-family:var(--font-logo);letter-spacing:.08em;color:var(--color-gold-light);font-size:1.05rem;font-weight:700;transition:color .2s}.logo-sub{font-family:var(--font-sans);letter-spacing:.28em;text-transform:uppercase;color:#d4bc7ad9;font-size:.58rem;font-weight:500}.site-header .nav-link{color:#ffffffd9;font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:500}.site-header .nav-link:hover{color:#fff;background:#ffffff1a}.site-header .nav-link.active{color:var(--color-gold-light);background:#ffffff1f}.nav-link{border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;padding:.45rem .85rem;font-size:.78rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.nav-link:hover{color:var(--color-text);background:var(--color-green-muted)}.nav-link.active{color:var(--color-green);background:var(--color-green-muted)}.nav-link--cta{background:linear-gradient(135deg, var(--color-gold-light), var(--color-gold));font-family:var(--font-logo);letter-spacing:.14em;margin-left:.5rem;padding:.5rem 1.1rem;font-size:.72rem;font-weight:600;box-shadow:0 2px 8px #0003;color:#1a1408!important}.nav-link--cta:hover{background:linear-gradient(135deg, #edd596, var(--color-gold-light));color:#1a1408!important}.nav-link--cta.active{background:var(--color-gold-light);color:#1a1408!important}.nav-user{border-left:1px solid #fff3;align-items:center;gap:.75rem;margin-left:.5rem;padding-left:.75rem;display:flex}.nav-user-email{color:#ffffffbf;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.8rem;overflow:hidden}.btn-ghost{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-subtle);color:var(--color-text-muted);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:.4rem .75rem;font-size:.72rem;font-weight:500;transition:border-color .15s,color .15s,background .15s}.btn-ghost:hover{border-color:var(--color-green);color:var(--color-green);background:var(--color-green-muted)}.btn-ghost--danger{color:var(--color-error);background:var(--color-error-muted);border-color:#b91c1c59}.btn-ghost--danger:hover{border-color:var(--color-error);color:#fff;background:var(--color-error)}.site-header .btn-ghost{color:#ffffffe6;background:0 0;border-color:#ffffff59}.site-header .btn-ghost:hover{border-color:var(--color-gold-light);color:var(--color-gold-light);background:#ffffff14}.site-footer{background:var(--color-green-dark);border-top:none;padding:2rem 1.5rem}.footer-inner{max-width:var(--page-max-width);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex}.footer-brand{color:#ffffffa6;font-size:.875rem}.footer-links{gap:1.25rem;display:flex}.footer-links a{color:#ffffffa6;font-size:.875rem}.footer-links a:hover{color:var(--color-gold-light)}.page{max-width:var(--page-max-width);margin:0 auto;padding:2.5rem 1.5rem 4rem}.page-header{margin-bottom:2rem}.page-header h1{color:var(--color-green-dark);margin:0 0 .5rem;font-size:clamp(2rem,4vw,2.75rem);font-style:italic;font-weight:600}.page-header p{color:var(--color-text-muted);max-width:540px;margin:0;font-size:1rem;font-weight:300;line-height:1.75}.back-link{color:var(--color-text-muted);align-items:center;gap:.35rem;margin-bottom:1.25rem;font-size:.875rem;font-weight:500;display:inline-flex}.back-link:hover{color:var(--color-primary)}.page--home{padding-top:0}.hero{text-align:center;padding:4rem 1.5rem 5rem;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(70% 60% at 50% 0,#00603912,#0000 70%),radial-gradient(50% 40% at 80% 20%,#c5a9621a,#0000);position:absolute;inset:0}.hero-inner{max-width:680px;margin:0 auto;position:relative}.hero-badge{border:1px solid var(--color-gold);background:var(--color-gold-muted);font-family:var(--font-sans);color:var(--color-gold-text);letter-spacing:.22em;text-transform:uppercase;border-radius:999px;margin-bottom:1.5rem;padding:.4rem 1rem;font-size:.68rem;font-weight:500;display:inline-block}.hero h1{letter-spacing:.02em;color:var(--color-green-dark);margin:0 0 1.25rem;font-size:clamp(2.5rem,6vw,3.75rem);font-style:italic;font-weight:600;line-height:1.08}.hero-tagline{color:var(--color-text-muted);letter-spacing:.03em;margin:0 0 2.25rem;font-size:clamp(1rem,2.5vw,1.125rem);font-weight:300;line-height:1.75}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.venue-category-buttons{flex-wrap:wrap;gap:1rem;display:flex}.venue-category-buttons--hero{justify-content:center;gap:1.25rem;margin-bottom:.25rem}.venue-category-buttons--toolbar{gap:.75rem;margin-top:1.25rem}.venue-category-btn{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:2px solid #0000;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:block;position:relative;overflow:hidden}.venue-category-buttons--hero .venue-category-btn{aspect-ratio:4/3;width:min(100%,18rem)}.venue-category-buttons--toolbar .venue-category-btn{aspect-ratio:16/10;width:min(100%,11.5rem)}.venue-category-btn-image{object-fit:cover;width:100%;height:100%;transition:transform .35s;position:absolute;inset:0}.venue-category-btn-overlay{background:linear-gradient(#0000000d 0%,#0003 45%,#000000b8 100%);transition:background .2s;position:absolute;inset:0}.venue-category-btn-label{z-index:1;font-family:var(--font-sans);letter-spacing:.04em;text-transform:none;color:#fff;text-shadow:0 1px 3px #00000073;padding:1rem 1.1rem;font-size:1rem;font-weight:600;position:absolute;bottom:0;left:0;right:0}.venue-category-buttons--hero .venue-category-btn-label{padding:1.15rem 1.25rem;font-size:1.15rem}.venue-category-btn:hover{border-color:var(--color-gold);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.venue-category-btn:hover .venue-category-btn-image{transform:scale(1.04)}.venue-category-btn:hover .venue-category-btn-overlay{background:linear-gradient(#0000001a 0%,#00603959 45%,#006039d1 100%)}.venue-category-btn--active{border-color:var(--color-green);box-shadow:0 0 0 3px var(--color-green-muted), var(--shadow-lg)}.venue-category-btn--active .venue-category-btn-overlay{background:linear-gradient(#00000014 0%,#00603966 45%,#006039e0 100%)}.venue-category-btn--construction{opacity:.92}.venue-category-btn--construction .venue-category-btn-image{filter:grayscale(.35)}.venue-category-btn-badge{z-index:2;letter-spacing:.03em;text-transform:uppercase;color:#1e293b;background:#fde68a;border-radius:999px;padding:.25rem .55rem;font-size:.65rem;font-weight:700;position:absolute;top:.65rem;right:.65rem;box-shadow:0 1px 4px #0003}.venue-detail-construction-banner{border-radius:var(--radius-md);color:#92400e;background:#fef3c7;border:1px solid #fcd34d;margin:0 0 1rem;padding:.75rem 1rem;font-size:.9rem}.page-header-clear{margin:.75rem 0 0;font-size:.875rem}.page-header-clear a{color:var(--color-text-muted)}.page-header-clear a:hover{color:var(--color-green)}.venues-page .page-header{margin-bottom:1.5rem}.venues-browse-types{background:var(--color-surface-elevated);border-block:1px solid var(--color-border);margin:0 -1.5rem 2.5rem;padding:1.5rem 1.5rem 1.75rem}.venues-browse-types:not(:has(.venue-category-buttons)){display:none}.venues-browse-types-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-subtle);margin:0 0 1rem;font-size:.75rem;font-weight:500}.venues-browse-types .venue-category-buttons--toolbar{margin-top:0}.venues-list-section{padding-top:.25rem}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:none;justify-content:center;align-items:center;gap:.4rem;padding:.85rem 1.75rem;font-size:.78rem;font-weight:500;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-green);color:#fff;box-shadow:0 2px 8px #00603940}.btn-primary:hover{background:var(--color-green-dark);color:#fff;box-shadow:0 4px 16px #0060394d}.btn-secondary{color:var(--color-green);border:1px solid var(--color-green);background:#fff}.btn-secondary:hover{background:var(--color-green-muted);color:var(--color-green-dark)}.hero-auth{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:2rem}.hero-auth p{color:var(--color-text-muted);margin:0;font-size:.9rem}.hero-auth strong{color:var(--color-text);font-weight:500}.features{max-width:var(--page-max-width);margin:0 auto;padding:0 1.5rem 4rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.feature-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:1.5rem;transition:border-color .2s,background .2s}.feature-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.feature-icon{border-radius:var(--radius-md);background:var(--color-green-muted);justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:1rem;font-size:1.25rem;display:flex}.feature-card h3{font-family:var(--font-display);color:var(--color-green-dark);margin:0 0 .5rem;font-size:1.25rem;font-style:italic;font-weight:600}.feature-card p{color:var(--color-text-muted);letter-spacing:.02em;margin:0;font-size:.875rem;font-weight:300;line-height:1.65}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;padding:1.25rem;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card h2{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.3rem;font-style:italic;font-weight:600}.card h2 a{color:var(--color-text);text-decoration:none}.card h2 a:hover{color:var(--color-primary)}.card-meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 0 .75rem;font-size:.85rem;display:flex}.card-meta-sep{color:var(--color-text-subtle)}.card-price{font-family:var(--font-logo);letter-spacing:.06em;color:var(--color-gold-dark);margin-top:auto;padding-top:.75rem;font-size:1.05rem;font-weight:600}.card-price-label{font-family:var(--font-sans);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.18em;font-size:.62rem;font-weight:500}.badge{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.3rem;margin-top:.5rem;padding:.25rem .65rem;font-size:.62rem;font-weight:500;display:inline-flex}.badge--endorsement{background:var(--color-gold-muted);color:var(--color-gold-text);border:1px solid #c5a96259}.badge--access{background:var(--color-green-muted);color:var(--color-green);border:1px solid #00603933}.detail-layout{grid-template-columns:1fr 320px;align-items:start;gap:2rem;display:grid}.detail-main h1{color:var(--color-green-dark);margin:0 0 .75rem;font-size:clamp(1.75rem,4vw,2.5rem);font-style:italic;font-weight:600}.detail-meta{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.detail-description{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:1rem;line-height:1.7}.detail-sidebar{top:calc(var(--header-height) + 1.5rem);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);border-top:3px solid var(--color-gold);padding:1.5rem;position:sticky}.detail-price{font-family:var(--font-display);color:var(--color-gold-dark);letter-spacing:.01em;margin:0 0 .25rem;font-size:2rem;font-weight:600}.detail-price-type{color:var(--color-text-muted);margin:0 0 1.25rem;font-size:.875rem}.detail-sidebar .btn{width:100%}.detail-notes{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin:1rem 0 0;padding-top:1rem;font-size:.85rem}.auth-page{min-height:calc(100vh - var(--header-height) - 80px);justify-content:center;align-items:center;padding:2rem 1.5rem;display:flex}.auth-card{width:100%;max-width:var(--page-narrow);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-lg);padding:2.25rem}.auth-card h1{font-family:var(--font-display);color:var(--color-green-dark);margin:0 0 .35rem;font-size:2rem;font-style:italic;font-weight:600}.auth-subtitle{color:var(--color-text-muted);letter-spacing:.03em;margin:0 0 1.75rem;font-size:.9rem;font-weight:300}.google-sign-in{justify-content:center;margin-bottom:.25rem;display:flex}.google-sign-in>div{width:100%}.auth-divider{color:var(--color-text-muted);align-items:center;gap:1rem;margin:1.25rem 0;font-size:.85rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}form{flex-direction:column;gap:1.1rem;display:flex}label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);flex-direction:column;gap:.4rem;font-size:.72rem;font-weight:500;display:flex}input{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-subtle);color:var(--color-text);padding:.7rem .85rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--color-text-subtle)}input:hover{border-color:#00603959}input:focus{border-color:var(--color-green);box-shadow:0 0 0 3px var(--color-green-muted);outline:none}select,textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-subtle);width:100%;color:var(--color-text);padding:.7rem .85rem;font-family:inherit;font-size:1rem;line-height:1.4;transition:border-color .15s,box-shadow .15s,background .15s}textarea{resize:vertical;min-height:5rem}select{cursor:pointer;appearance:none;background-color:var(--color-bg-subtle);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23006039' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;background-size:1rem;min-height:2.75rem;padding-right:2.75rem}select:hover,textarea:hover{background-color:#fff;border-color:#00603959}select:focus,textarea:focus{border-color:var(--color-green);box-shadow:0 0 0 3px var(--color-green-muted);background-color:#fff;outline:none}select:disabled,textarea:disabled{opacity:.65;cursor:not-allowed;background-color:var(--color-surface-elevated)}select option{color:var(--color-text);background:#fff;padding:.5rem}.form-field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.form-field>span,.form-field-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);font-size:.72rem;font-weight:500}.form-field-hint{color:var(--color-text-muted);text-transform:none;letter-spacing:normal;font-size:.8125rem;font-weight:300;line-height:1.5}.form-field-error{color:var(--color-error);text-transform:none;letter-spacing:normal;font-size:.8125rem}.form-field input:not([type=file]):not([type=checkbox]):not([type=radio]){width:100%;min-height:2.75rem}.form-field input[type=file]{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-elevated);width:100%;color:var(--color-text-muted);cursor:pointer;padding:.65rem .85rem;font-size:.875rem}.form-field input[type=file]::file-selector-button{border-radius:var(--radius-sm);background:var(--color-green);color:#fff;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;margin-right:.75rem;padding:.4rem .85rem;font-family:inherit;font-size:.72rem;font-weight:500}.form-field input[type=file]:hover::file-selector-button{background:var(--color-green-dark)}form button[type=submit]{border-radius:var(--radius-md);background:var(--color-green);color:#fff;font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:none;margin-top:.25rem;padding:.85rem;font-size:.78rem;font-weight:500;transition:background .15s}form button[type=submit]:hover:not(:disabled){background:var(--color-green-dark)}form button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.auth-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);text-align:center;margin:1.5rem 0 0;padding-top:1.25rem;font-size:.875rem}.muted{color:var(--color-text-muted)}.disclaimer{border-radius:var(--radius-md);border-left:3px solid var(--color-gold);background:var(--color-gold-muted);color:var(--color-gold-text);margin:1.5rem 0 0;padding:1rem 1.15rem;font-size:.875rem;line-height:1.55}.error{border-radius:var(--radius-sm);background:var(--color-error-muted);color:var(--color-error);margin:0;padding:.65rem .85rem;font-size:.875rem}.loading,.empty-state{text-align:center;color:var(--color-text-muted);padding:3rem 1.5rem}.empty-state-icon{opacity:.5;margin-bottom:.75rem;font-size:2rem}.empty-state p{margin:0}.empty-state.venue-category-under-construction{flex-direction:column;align-items:center;width:100%;display:flex}.empty-state.venue-category-under-construction h2{margin:.5rem 0 .25rem}.empty-state.venue-category-under-construction p{text-align:center;max-width:36rem;margin:.5rem 0}.venue-category-under-construction-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem;display:flex}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.skeleton-card{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-surface-elevated) 50%, var(--color-surface) 75%);background-size:200% 100%;height:140px;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=640px){.logo-sub{display:none}.logo-endorse,.logo-ph{font-size:.95rem}.logo-emblem{width:38px;height:38px}}@media (width<=768px){.site-header{padding:0 1rem}.nav-user-email{display:none}.detail-layout{grid-template-columns:1fr}.detail-sidebar{position:static}.hero{padding:2.5rem 1rem 3.5rem}}@media (width<=480px){.site-header nav{gap:0}.nav-link{padding:.4rem .55rem;font-size:.85rem}.nav-link--cta{margin-left:.25rem;padding:.4rem .75rem}}.loading-text{color:var(--color-text-muted)}.venue-card-grid .venue-card{padding:0;overflow:hidden}.venue-card-link{height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}.venue-card-media{aspect-ratio:16/10;background:var(--color-surface-elevated);overflow:hidden}.venue-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.venue-card-link:hover .venue-card-media img{transform:scale(1.03)}.venue-card-media-placeholder{background:linear-gradient(135deg, var(--color-green-muted), var(--color-surface-elevated));width:100%;height:100%}.venue-card-body{padding:1.1rem 1.25rem 1.25rem}.venue-card-body h2{margin:0 0 .35rem;font-size:1.1rem}.venue-card-price{color:var(--color-green-dark);margin:.5rem 0 0;font-weight:600}.venue-card-price-note{color:var(--color-text-muted);font-size:.85rem;font-weight:400}.venue-detail-page{max-width:var(--page-wide,1200px);margin:0 auto}.venue-detail-breadcrumb{color:var(--color-text-muted);flex-wrap:wrap;gap:.35rem .5rem;margin-bottom:1.25rem;font-size:.875rem;display:flex}.venue-detail-breadcrumb a{color:var(--color-green)}.venue-detail-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:2rem;display:grid}.venue-detail-gallery{flex-direction:column;gap:1.5rem;min-width:0;display:flex}.venue-detail-gallery .venue-detail-map-block{margin-bottom:0}.venue-detail-panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:1.5rem}.venue-detail-gallery .venue-map{height:320px}.venue-detail-sidebar{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-sm);padding:1.5rem}.venue-detail-sidebar h1{margin:0 0 .35rem;font-size:1.65rem}.venue-detail-location{color:var(--color-text-muted);margin:0 0 1.25rem;font-size:.95rem}.venue-detail-block{margin-bottom:1.25rem}.venue-detail-block h2{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 .5rem;font-size:.78rem;font-weight:600}.venue-detail-block p,.formatted-text{color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;margin:0;line-height:1.65}.form-field-textarea--long{resize:vertical;min-height:11rem;max-height:min(32rem,70vh);line-height:1.55}.venue-detail-map-block h2{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 .5rem;font-size:.78rem;font-weight:600}.venue-map{z-index:0;isolation:isolate;border-radius:var(--radius-lg,12px);border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-alt,#f8fafc);width:100%;height:280px;position:relative;overflow:hidden}.venue-detail-map-block .venue-map{margin-top:.75rem}.venue-detail-map-address{color:var(--color-text-muted,#64748b);font-size:.95rem}.venue-detail-map-links{margin-top:.75rem}.venue-detail-map-links a{color:var(--color-primary,#1d4ed8);font-weight:600;text-decoration:none}.venue-detail-map-links a:hover{text-decoration:underline}.venue-location-picker{flex-direction:column;gap:.75rem;display:flex}.venue-location-picker-help{color:var(--color-text-muted,#64748b);margin:0;font-size:.875rem;line-height:1.5}.venue-location-picker-link{margin:0}.venue-location-picker-link-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.venue-location-picker-link-row input{flex:16rem;min-width:0}.venue-location-picker-actions{flex-wrap:wrap;gap:.5rem;display:flex}.venue-location-picker-error{margin:0}.venue-detail-facts{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:auto 1fr;gap:.5rem 1.25rem;margin:0 0 1.25rem;padding:1rem 0;display:grid}.venue-detail-facts dt{color:var(--color-text-muted);margin:0;font-size:.85rem;font-weight:500}.venue-detail-facts dd{margin:0;font-weight:600}.venue-detail-facts-note,.venue-fee-estimate-deposit-note{color:var(--color-text-muted,#64748b);margin:.35rem 0 0;font-size:.8rem;font-weight:400;line-height:1.45}.venue-availability{margin-top:1.5rem;margin-bottom:1.25rem}.venue-availability-toggle{width:100%}.venue-availability-panel{border:1px solid var(--border,#e2e8f0);background:var(--surface-alt,#f8fafc);border-radius:8px;margin-top:1rem;padding:1rem}.venue-availability-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.venue-availability-header h2{text-align:center;flex:1;margin:0;font-size:1.1rem}.venue-availability-legend{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;font-size:.75rem;display:flex}.venue-availability-intro{color:var(--color-text-muted);margin:0 0 1rem;font-size:.875rem;font-weight:300;line-height:1.6}.venue-availability-legend .cal-day{cursor:default;border-radius:4px;min-width:auto;padding:.15rem .4rem}.venue-availability-weekdays{text-align:center;color:var(--muted,#64748b);grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;font-size:.7rem;font-weight:600;display:grid}.venue-availability-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-day{aspect-ratio:1;cursor:default;background:#fff;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;min-height:2rem;padding:0;font-size:.8rem;display:flex}.cal-day--empty{visibility:hidden;border:none}.cal-day--available{color:#166534;cursor:pointer;background:#dcfce7}.cal-day--available:hover:not(:disabled){border-color:#16a34a}.cal-day--blocked{color:#991b1b;background:#fee2e2}.venue-blocked-dates-admin .cal-day--admin-selectable{cursor:pointer}.venue-blocked-dates-admin .cal-day--blocked.cal-day--admin-selectable:hover:not(:disabled){border-color:#991b1b}.venue-blocked-dates-admin .venue-availability-panel{margin-top:0}.cal-day--pending{color:#854d0e;background:#fef9c3}.cal-day--reserved,.cal-day--unavailable{color:#475569;background:#e2e8f0}.cal-day--selected{outline-offset:1px;outline:2px solid #2563eb}.cal-day:disabled{opacity:.85;cursor:not-allowed}.venue-availability-success{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;margin-top:1rem;padding:1rem}.venue-availability-success strong{margin-bottom:.35rem;display:block}.venue-availability-reserve{border-top:1px solid var(--border,#e2e8f0);margin-top:1rem;padding-top:1rem}.venue-availability-reserve-hint{color:var(--color-text-muted);margin:.5rem 0 1rem;font-size:.875rem;font-weight:300;line-height:1.6}.venue-availability-reserve .form-field{margin-bottom:.75rem}.venue-detail-actions{flex-direction:column;gap:.75rem;margin-top:1.25rem;display:flex}.venue-availability+.venue-detail-actions{margin-top:0}.venue-detail-actions .btn{justify-content:center;width:100%}.image-carousel--empty{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);min-height:280px;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.image-carousel-main{display:block;position:relative}.image-carousel-slide{border-radius:var(--radius-lg);cursor:zoom-in;background:var(--color-surface-elevated);aspect-ratio:4/3;touch-action:pan-y pinch-zoom;border:none;width:100%;padding:0;display:block;position:relative;overflow:hidden}.image-carousel-slide img{object-fit:cover;width:100%;height:100%;display:block}.image-carousel-zoom-hint{border-radius:var(--radius-sm);color:#fff;pointer-events:none;background:#0000008c;padding:.25rem .55rem;font-size:.75rem;position:absolute;bottom:.75rem;right:.75rem}.image-carousel-counter{border-radius:var(--radius-sm);color:#fff;pointer-events:none;background:#0000008c;padding:.25rem .55rem;font-size:.75rem;position:absolute;bottom:.75rem;left:.75rem}.image-carousel-hint{color:var(--color-text-muted);text-align:center;margin:.65rem 0 0;font-size:.8rem}@media (width>=901px){.image-carousel-hint{display:none}}.image-carousel-nav{z-index:2;width:2.75rem;height:2.75rem;color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-md);background:#ffffffeb;border:none;border-radius:50%;font-size:1.75rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.image-carousel-nav--prev{left:.75rem}.image-carousel-nav--next{right:.75rem}.image-carousel-nav:hover{color:var(--color-green-dark);background:#fff}.image-carousel-nav:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.image-carousel-dots{justify-content:center;gap:.5rem;margin-top:.85rem;display:flex}.image-carousel-dot{background:var(--color-border-strong);cursor:pointer;border:none;border-radius:50%;width:.55rem;height:.55rem;padding:0}.image-carousel-dot--active{background:var(--color-green)}.image-carousel-thumbs{flex-wrap:wrap;gap:.5rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.image-carousel-thumb{border-radius:var(--radius-sm);cursor:pointer;opacity:.7;border:2px solid #0000;width:4.5rem;height:3rem;padding:0;overflow:hidden}.image-carousel-thumb--active{border-color:var(--color-green);opacity:1}.image-carousel-thumb img{object-fit:cover;width:100%;height:100%}.image-lightbox{z-index:2000;background:#000000e0;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.image-lightbox-img{object-fit:contain;border-radius:var(--radius-md);max-width:min(96vw,1200px);max-height:90vh}.image-lightbox-close{z-index:2;color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:2.75rem;height:2.75rem;font-size:1.75rem;line-height:1;position:absolute;top:1rem;right:1rem}.image-lightbox-stage{touch-action:pan-y pinch-zoom;justify-content:center;align-items:center;max-width:min(96vw,1200px);max-height:90vh;display:flex}.image-lightbox-nav{z-index:2;color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.image-lightbox-nav:hover{background:#ffffff47}.image-lightbox-nav--prev{left:1rem}.image-lightbox-nav--next{right:1rem}.image-lightbox-counter{z-index:2;color:#fff;background:#00000073;border-radius:999px;padding:.35rem .75rem;font-size:.85rem;position:absolute;top:1rem;left:50%;transform:translate(-50%)}@media (width<=900px){.venue-detail-layout{grid-template-columns:1fr}}.bookings-table-wrap{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-lg,12px);background:#fff;overflow-x:auto}.bookings-table{border-collapse:collapse;width:100%;font-size:.9rem}.bookings-table th,.bookings-table td{text-align:left;border-bottom:1px solid var(--color-border,#e2e8f0);vertical-align:middle;padding:.85rem 1rem}.bookings-table td.bookings-status-cell{vertical-align:top}.bookings-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted,#64748b);background:var(--color-surface-alt,#f8fafc);font-size:.75rem;font-weight:600}.bookings-table tbody tr:last-child td{border-bottom:none}.bookings-venue-link{color:var(--color-primary,#1d4ed8);font-weight:600;text-decoration:none}.bookings-venue-link:hover{text-decoration:underline}.bookings-confirmation-code{background:var(--color-surface-alt,#f8fafc);border:1px solid var(--color-border,#e2e8f0);letter-spacing:.12em;text-transform:uppercase;border-radius:4px;padding:.15rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;display:inline-block}.bookings-meta,.bookings-notes,.bookings-hint{color:var(--color-text-muted,#64748b);margin:.25rem 0 0;font-size:.8rem}.bookings-actions{white-space:nowrap}.bookings-actions>*+*{margin-left:.5rem}.bookings-actions-done{color:var(--color-text-muted,#94a3b8)}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.bookings-status-cell{min-width:8rem}.bookings-table-row--clickable:hover td{background:var(--color-surface-hover,#f8fafc)}.reservation-detail-header h1{margin-bottom:.25rem}.reservation-detail-title-row{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.reservation-detail-meta{color:var(--color-text-muted,#64748b);margin:.25rem 0 0;font-size:.95rem}.reservation-detail-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.reservation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.reservation-detail-card{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-lg,12px);background:#fff;padding:1.25rem}.reservation-detail-card--wide{margin-bottom:1rem}.reservation-detail-card h2{margin:0 0 .75rem;font-size:1.05rem}.reservation-detail-dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.25rem;margin:0;display:grid}.reservation-detail-dl>div{flex-direction:column;gap:.15rem;display:flex}.reservation-detail-dl--full{grid-column:1/-1}.reservation-detail-dl dt{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted,#64748b);margin:0;font-size:.75rem;font-weight:600}.reservation-detail-dl dd{margin:0;font-size:.95rem}.reservation-detail-empty{color:var(--color-text-muted,#64748b);margin:0;font-size:.9rem}.reservation-ocular-form{border-top:1px solid var(--color-border,#e2e8f0);flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.reservation-ocular-form label{flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}.reservation-ocular-form-check{align-items:center;flex-direction:row!important;gap:.5rem!important}.reservation-ocular-form-actions{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.reservation-ocular-form-hint{color:var(--color-text-muted,#64748b);margin:0;font-size:.8rem;line-height:1.45}.reservation-payment-section{margin-bottom:1rem}.reservation-payment-section h2{margin:0 0 .75rem;font-size:1.05rem}.reservation-payment-section h3{margin:1rem 0 .5rem;font-size:.95rem}.reservation-payment-intro{color:var(--color-text-muted,#64748b);margin:0 0 .85rem;line-height:1.55}.reservation-payment-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.reservation-payment-hint,.reservation-payment-submitted{color:var(--color-text-muted,#64748b);margin:0;font-size:.85rem;line-height:1.45}.reservation-payment-submitted{margin-bottom:.75rem}.reservation-payment-upload{cursor:pointer;align-items:center;margin-bottom:.5rem;display:inline-flex}.reservation-payment-upload input{display:none}.reservation-payment-upload-label{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-md,8px);color:var(--color-green,#006039);background:#fff;padding:.55rem 1rem;font-size:.9rem;font-weight:600;display:inline-block}.reservation-payment-upload:hover .reservation-payment-upload-label{border-color:var(--color-green,#006039);background:var(--color-green-muted,#ecfdf5)}.reservation-payment-proof-image{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-md,8px);object-fit:contain;background:var(--color-surface-alt,#f8fafc);max-width:min(100%,420px);max-height:520px;display:block}.reservation-detail-event-data .manage-booking-tabs{margin-top:0}.reservation-detail-event-data [role=tabpanel]{margin-top:.5rem}.reservation-detail-back{margin-top:1.5rem;font-size:.9rem}.venue-availability-suggestion{border-radius:var(--radius-md,8px);background:var(--color-green-muted,#ecfdf5);color:var(--color-green-dark,#065f46);margin:0 0 .75rem;padding:.65rem .85rem;font-size:.9rem}.venue-fee-estimate{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-lg,12px);background:var(--color-bg-subtle,#f8fafc);margin:.75rem 0 1rem;padding:1rem 1.1rem}.venue-fee-estimate h3{margin:0 0 .65rem;font-size:.95rem}.venue-fee-estimate-dl{flex-direction:column;gap:.45rem;margin:0;display:flex}.venue-fee-estimate-dl>div{justify-content:space-between;gap:1rem;font-size:.9rem;display:flex}.venue-fee-estimate-dl dt{color:var(--color-text-muted,#64748b);margin:0}.venue-fee-estimate-dl dd{text-align:right;margin:0}.venue-fee-estimate-total{border-top:1px solid var(--color-border,#e2e8f0);margin-top:.35rem;padding-top:.5rem;font-weight:600}.customer-contact-form{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-lg,12px);background:var(--color-bg-subtle,#f8fafc);flex-direction:column;gap:.75rem;max-width:28rem;margin:0 0 1.25rem;padding:1rem 1.1rem;display:flex}.customer-contact-form-intro{color:var(--color-text-muted,#64748b);margin:0;font-size:.9rem}.venue-fee-estimate-note{color:var(--color-text-muted,#64748b);margin:.65rem 0 0;font-size:.8rem}.reservation-detail-pricing dd{line-height:1.5}@media (width<=768px){.reservation-detail-grid,.reservation-detail-dl{grid-template-columns:1fr}}.bookings-status-cell .status-badge{margin-bottom:.15rem}.status-badge{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.3rem .65rem;font-size:.75rem;font-weight:600;line-height:1.2;display:inline-flex}.status-badge--compact{letter-spacing:0;padding:.22rem .5rem;font-size:.68rem}.status-badge--pending{color:#854d0e;background:#fef9c3;border-color:#fde047}.status-badge--confirmed{color:#166534;background:#dcfce7;border-color:#86efac}.status-badge--rejected{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.status-badge--payment-pending{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.status-badge--payment-confirmation-pending{color:#92400e;background:#fef3c7;border-color:#fcd34d}.status-badge--cancelled{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.page-header--admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-venues-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.admin-venues-filters .form-field{min-width:10rem}.venue-admin-form{max-width:40rem}.venue-admin-fieldset{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-md);margin:0 0 1.25rem;padding:1rem 1.25rem}.venue-admin-fieldset legend{padding:0 .25rem;font-weight:600}.venue-admin-form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.venue-admin-form-row{grid-template-columns:1fr}}.form-field--checkbox{flex-direction:row;align-items:center;gap:.5rem;display:flex}.form-field-checkbox-label{cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.venue-fee-estimate-dt-with-tooltip{flex-wrap:wrap;align-items:center;gap:.15rem;display:flex}.form-field--checkbox input{width:auto}.field-tooltip{vertical-align:middle;align-items:center;margin-left:.35rem;line-height:1;display:inline-flex;position:relative}.field-tooltip-trigger{width:1.2rem;height:1.2rem;color:var(--color-text-muted,#64748b);cursor:help;font:inherit;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.field-tooltip-trigger:hover,.field-tooltip-trigger:focus-visible{color:var(--color-green,#166534)}.field-tooltip-trigger:focus-visible{outline:2px solid var(--color-green-muted,#d1fae5);outline-offset:2px}.field-tooltip-icon{font-size:.85rem;font-weight:600;line-height:1}.field-tooltip-bubble{z-index:200;border-radius:var(--radius-md,8px);background:var(--color-text,#0f172a);color:#fff;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;width:max-content;max-width:min(18rem,100vw - 2rem);padding:.55rem .7rem;font-size:.78rem;font-weight:400;line-height:1.45;transition:opacity .15s,visibility .15s;position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0f172a33}.field-tooltip-bubble:after{content:"";border:5px solid #0000;border-top-color:var(--color-text,#0f172a);margin-left:-5px;position:absolute;top:100%;left:50%}.field-tooltip:hover .field-tooltip-bubble,.field-tooltip:focus-within .field-tooltip-bubble,.field-tooltip--open .field-tooltip-bubble{opacity:1;visibility:visible}.venue-detail-facts dt .field-tooltip{margin-left:.25rem}.form-field--checkbox .field-tooltip{flex-shrink:0;margin-left:.25rem}.form-field-label-with-tooltip{flex-wrap:wrap;align-items:center;gap:.15rem;display:inline-flex}.venue-admin-image-list{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.venue-admin-image-list li{flex-direction:column;gap:.5rem;display:flex}.venue-admin-image-list img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);width:100%}.venue-photo-dropzone{border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg-subtle);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;margin-top:1rem;padding:2.25rem 1.5rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.venue-photo-dropzone:hover:not(.venue-photo-dropzone--disabled){border-color:var(--color-green);background:var(--color-green-muted)}.venue-photo-dropzone:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.venue-photo-dropzone--dragging{border-color:var(--color-green);background:var(--color-green-muted);box-shadow:inset 0 0 0 1px #00603926}.venue-photo-dropzone--disabled{opacity:.65;cursor:not-allowed}.venue-photo-dropzone-icon{margin-bottom:.25rem;font-size:1.75rem;line-height:1}.venue-photo-dropzone-title{font-family:var(--font-display);color:var(--color-green-dark);margin:0;font-size:1.15rem;font-weight:600}.venue-photo-dropzone-hint{color:var(--color-text-muted);margin:0;font-size:.875rem;font-weight:300}.bookings-page--admin .bookings-table--admin{table-layout:auto;border-top:1px solid var(--color-border,#e2e8f0);width:100%}.bookings-table--admin{table-layout:auto}.bookings-table--admin th,.bookings-table--admin td{vertical-align:top;padding:1.2rem 1.5rem;line-height:1.55}.bookings-table--admin td.bookings-status-cell,.bookings-table--admin td.bookings-actions{vertical-align:middle}.bookings-table--admin th:first-child,.bookings-table--admin td:first-child{min-width:6.5rem}.bookings-table--admin th:nth-child(2),.bookings-table--admin td:nth-child(2){min-width:12rem}.bookings-table--admin th:nth-child(3),.bookings-table--admin td:nth-child(3){min-width:10rem}.bookings-table--admin th:nth-child(4),.bookings-table--admin td:nth-child(4){min-width:12rem}.bookings-table--admin th:nth-child(5),.bookings-table--admin td:nth-child(5){min-width:8rem}.bookings-table--admin th:nth-child(6),.bookings-table--admin td:nth-child(6){white-space:nowrap;min-width:7rem;padding-left:1rem;padding-right:1rem;overflow:visible}.bookings-table--admin .bookings-actions{white-space:nowrap;overflow:visible}.bookings-code-cell{white-space:nowrap}.bookings-venue-cell .bookings-venue-link{line-height:1.45;display:block}.bookings-venue-cell .bookings-meta{margin-top:.45rem;line-height:1.45}.bookings-schedule-cell{font-size:.9rem}.bookings-schedule-primary{margin:0;line-height:1.5}.bookings-schedule-cell .bookings-meta{margin-top:.45rem;line-height:1.45}.bookings-schedule-sep{color:var(--color-text-muted,#94a3b8)}.bookings-customer-cell{font-size:.9rem}.bookings-customer-name{color:var(--color-text,#0f172a);margin:0 0 .4rem;font-weight:600}.bookings-customer-contacts a{color:var(--color-text-muted,#64748b);word-break:break-word;text-decoration:none}.bookings-customer-contacts a:hover{color:var(--color-green);text-decoration:underline}.table-actions-dropdown-trigger{text-transform:none;letter-spacing:normal;align-items:center;gap:.35rem;padding:.5rem .85rem;font-size:.85rem;display:inline-flex}.table-actions-dropdown{display:inline-block;position:relative}.table-actions-dropdown-chevron{opacity:.75;font-size:.7rem;line-height:1}.table-actions-dropdown-menu{z-index:100;border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-md,8px);background:#fff;min-width:9rem;padding:.35rem;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 8px 24px #0f172a1f}.table-actions-dropdown-item{width:100%;color:var(--color-text,#0f172a);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.55rem .75rem;font-size:.85rem;text-decoration:none;display:block}.table-actions-dropdown-item:hover:not(:disabled){background:var(--color-surface-hover,#f8fafc)}.table-actions-dropdown-item:disabled{opacity:.55;cursor:not-allowed}.table-actions-dropdown-item--danger{color:#b91c1c}.table-actions-dropdown-item--danger:hover:not(:disabled){background:#fef2f2}.manage-booking-header h1{margin-bottom:.25rem}.supplier-instructions-panel,.manage-booking-notice-panel{border:1px solid var(--color-border-strong);border-left:4px solid var(--color-gold);background:var(--color-gold-muted);border-radius:10px;margin:1rem 0 .5rem;padding:1.25rem 1.35rem}.supplier-instructions-panel h2,.manage-booking-notice-panel h2{color:var(--color-green-dark);margin:0 0 .5rem;font-size:1.05rem}.supplier-instructions-panel p,.manage-booking-notice-panel p{color:var(--color-text-muted);margin:0 0 .85rem;font-size:.92rem;line-height:1.55}.supplier-instructions-panel p:last-of-type,.manage-booking-notice-panel p:last-of-type{margin-bottom:.85rem}.supplier-instructions-list,.manage-booking-notice-list{color:var(--color-text-muted);margin:0;padding-left:1.25rem;font-size:.92rem;line-height:1.55}.supplier-instructions-list li+li,.manage-booking-notice-list li+li{margin-top:.55rem}.supplier-instructions-link,.manage-booking-notice-link{font:inherit;color:var(--color-green);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline;display:inline}.supplier-instructions-link:hover,.manage-booking-notice-link:hover{color:var(--color-green-dark)}.manage-booking-tabs{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 1rem;display:flex}.manage-booking-tab{border:1px solid var(--color-border,#cbd5e1);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:.5rem 1rem}.manage-booking-tab.active{background:var(--color-primary,#1d4ed8);color:#fff;border-color:var(--color-primary,#1d4ed8)}.manage-booking-section{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-lg,12px);background:#fff;padding:1.25rem}.manage-booking-section h2{margin:0 0 .5rem;font-size:1.1rem}.manage-booking-hint{color:var(--color-text-muted,#64748b);margin:0 0 1rem;font-size:.9rem}.manage-booking-form{flex-direction:column;gap:.75rem;max-width:32rem;margin-bottom:1.25rem;display:flex}.manage-booking-form--inline{grid-template-columns:minmax(10rem,2fr) minmax(8rem,1fr) minmax(8rem,1fr) minmax(10rem,1.2fr) auto;align-items:end;gap:.75rem 1rem;max-width:none;display:grid}.manage-booking-form--inline>.btn{white-space:nowrap;min-height:2.75rem}.manage-booking-form--grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.75rem 1rem;max-width:none;display:grid}.manage-booking-form--grid>.btn{grid-column:1/-1;justify-self:start;min-height:2.75rem}@media (width<=900px){.manage-booking-form--inline{grid-template-columns:1fr 1fr}.manage-booking-form--inline>.btn{grid-column:1/-1;width:100%}}@media (width<=520px){.manage-booking-form--inline,.manage-booking-form--grid{grid-template-columns:1fr}}.manage-booking-guest-table-wrap{margin-top:.25rem}.manage-booking-guest-table{table-layout:fixed;min-width:640px}.manage-booking-guest-table th:first-child,.manage-booking-guest-table td:first-child{width:28%}.manage-booking-guest-table th:nth-child(2),.manage-booking-guest-table td:nth-child(2),.manage-booking-guest-table th:nth-child(3),.manage-booking-guest-table td:nth-child(3){width:16%}.manage-booking-guest-table th:nth-child(4),.manage-booking-guest-table td:nth-child(4){width:24%}.manage-booking-guest-table th:nth-child(5),.manage-booking-guest-table td:nth-child(5){width:9rem}.manage-booking-guest-add-row td{vertical-align:bottom;background:var(--color-surface-subtle,#f8fafc)}.manage-booking-guest-table input,.manage-booking-guest-table select{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-md,8px);width:100%;min-height:2.75rem;font:inherit;background:#fff;padding:.55rem .75rem}.manage-booking-guest-table .bookings-actions .btn{justify-content:center;width:100%;min-height:2.75rem}.manage-booking-guest-name{font-weight:600}.manage-booking-guest-email{color:var(--color-green);word-break:break-all}.manage-booking-import{margin-bottom:1rem}.manage-booking-message{color:#065f46;background:#ecfdf5;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.manage-booking-list{margin:0;padding:0;list-style:none}.manage-booking-list li{border-bottom:1px solid var(--color-border,#e2e8f0);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.65rem 0;display:flex}.manage-booking-list-item-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.manage-booking-list-item-main>span:first-of-type{color:var(--color-text-muted);font-size:.85rem}.manage-booking-list-contacts{color:var(--color-text-muted);flex-wrap:wrap;gap:.35rem 1rem;font-size:.85rem;display:flex}.manage-booking-list-contacts a{color:var(--color-green);word-break:break-all}.manage-booking-list li:last-child{border-bottom:none}.manage-booking-list span{color:var(--color-text-muted,#64748b);font-size:.85rem}.manage-booking-plate-preview{border:1px solid var(--color-border,#e2e8f0);border-radius:8px;max-width:200px}.manage-suppliers-table-wrap{margin-top:.25rem}.manage-suppliers-table{min-width:36rem}.manage-suppliers-table-name{color:var(--color-text);font-weight:600}.manage-suppliers-table td a{color:var(--color-green);word-break:break-word}.manage-booking-empty{color:var(--color-text-muted);margin:0;font-size:.9rem}.portal-access-modal-backdrop{z-index:2000;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.portal-access-modal{background:#fff;border-radius:12px;width:min(100%,32rem);padding:1.5rem;box-shadow:0 20px 40px #0f172a26}.portal-access-modal h2{margin:0 0 .75rem}.portal-access-copy-row{align-items:center;gap:.5rem;display:flex}.portal-access-copy-row input{flex:1;min-width:0}.portal-access-otp{letter-spacing:.2em;font-family:ui-monospace,monospace;font-size:1.25rem}.portal-access-modal-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.supplier-portal-otp{max-width:28rem}.manage-booking-breadcrumb{color:var(--color-text-muted,#64748b);margin-bottom:.5rem;font-size:.875rem}.manage-booking-breadcrumb a{color:var(--color-primary,#0d9488);text-decoration:none}.manage-booking-breadcrumb a:hover{text-decoration:underline}.manage-supplier-item-lines{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.manage-supplier-item-line{grid-template-columns:1fr 5rem 1fr auto;align-items:end;gap:.75rem;display:grid}@media (width<=720px){.manage-supplier-item-line{grid-template-columns:1fr}}.manage-booking-back{margin-top:2rem}@media (width<=640px){.bookings-table:not(.bookings-table--admin) th:nth-child(5),.bookings-table:not(.bookings-table--admin) td:nth-child(5){display:none}}.endorsement-validation-page .endorsement-validation-status{margin-bottom:1rem}.endorsement-validation-notice{color:var(--color-text-muted,#8fa595);margin:0 0 1rem;line-height:1.55}.endorsement-validation-letter{white-space:pre-wrap}.reservation-endorsement-section,.reservation-admin-cancel-section{margin-top:1.25rem}.reservation-ocular-form textarea{resize:vertical;width:100%;min-height:6rem}.link-button{color:var(--color-link,#7ec99a);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}
