.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;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.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{max-width:none!important;max-height:none!important;width:auto;padding:0}.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:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.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{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.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;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;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{-webkit-transition:none;-moz-transition:none;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{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 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-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.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-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.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{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;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:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;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{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.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{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.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{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.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{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;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{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--forest: #183d36;--forest-dark: #086338;--panel: #099647;--pine: #2e6652;--sage: #a9c2a0;--sky: #c9e3e1;--sand: #f4f0e5;--sun: #e7a44e;--paper: #fffdf8;--ink: #18332f;--muted: #668078;--red: #c96b55;--radius: 18px;--font-display: "Trebuchet MS", system-ui, sans-serif;--font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}a{color:var(--pine);font-weight:700;text-decoration:none}html,body,#root{min-height:100%;margin:0}html{background:var(--sand)}body{min-height:100dvh;font-family:var(--font-body);color:var(--ink);background:var(--sand)}#root{background:var(--sand)}button,input{font:inherit}.version-mark{position:fixed;top:max(5px,env(safe-area-inset-top));right:max(7px,env(safe-area-inset-right));z-index:100;color:var(--forest);font-size:.62rem;font-weight:700;letter-spacing:.02em;line-height:1;opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none}.camping-home{position:relative;min-height:100dvh;overflow:hidden;background:var(--forest-dark)}.camping-nav{max-width:1240px;margin:0 auto;padding:22px 28px 0;display:flex;justify-content:center}.camping-nav .logo{display:block}.camping-nav .logo-img{width:84px;height:84px;border:0;border-radius:50%;box-shadow:none;background:transparent;object-fit:contain}.camping-nav__name,.camping-nav__season{display:none}.camping-hero{position:relative;max-width:1240px;margin:0 auto;padding:22px 28px 64px;display:flex;flex-direction:column;align-items:center;gap:26px}.camping-badge{width:min(100%,520px);height:auto;transform:rotate(-2deg);filter:drop-shadow(0 10px 0 rgba(0,0,0,.22))}.camping-panel{position:relative;width:min(100%,720px)}.camping-panel__bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;image-rendering:auto}.camping-panel__content{position:relative;padding:42px 52px 48px;display:flex;flex-direction:column;align-items:center;gap:22px}.camping-panel__title{margin:0;color:var(--sand);font-family:var(--font-display);font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800;letter-spacing:-.03em;text-align:center}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.role-card{min-height:64px;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:14px 18px;border:0;border-radius:16px;cursor:pointer;color:var(--forest-dark);text-align:left;background:var(--sand);box-shadow:0 5px #0003;transition:transform .2s ease,box-shadow .2s ease}.role-card:hover{transform:translateY(-3px);box-shadow:0 8px #00000038}.role-card:active{transform:translateY(1px);box-shadow:0 2px #00000038}.role-card__emoji{display:none}.role-card__icon{width:44px;height:44px;flex:none;object-fit:contain}.role-card__label{font-family:var(--font-display);font-size:.95rem;font-weight:800}.role-card__description{display:none}.camping-panel__content{min-height:300px}.panel-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-text{margin:-8px 0 0;max-width:40ch;text-align:center;color:var(--sand);opacity:.92;font-size:1rem;line-height:1.5}.panel-text strong{color:#fff}.camping-panel .back-button{color:var(--sand);padding:6px 10px;font-size:.95rem}.camping-panel .back-button:hover{background:#ffffff24}.role-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;border-radius:999px;background:var(--sand);color:var(--forest-dark);font-family:var(--font-display);font-weight:800;font-size:.85rem}.role-chip__icon{width:26px;height:26px;object-fit:contain}.camping-panel .form{width:min(100%,420px);gap:14px}.camping-panel .phone-field{border:0;background:var(--sand);box-shadow:0 5px #0003;border-radius:16px}.camping-panel .phone-field__prefix{color:var(--forest-dark);border-right-color:#0863384d}.camping-panel .phone-field input{color:var(--forest-dark);text-align:center}.camping-panel .phone-field input::placeholder{color:#08633866}.camping-panel .button{border-radius:16px}.camping-panel .button--primary{background:var(--sun);color:var(--forest-dark);box-shadow:0 5px #00000038}.camping-panel .button--primary:active:not(:disabled){box-shadow:0 2px #00000038}.camping-panel .button--secondary{background:var(--sand);color:var(--forest-dark);box-shadow:0 5px #00000038}.camping-panel .otp-boxes input{border:0;background:var(--sand);color:var(--forest-dark);box-shadow:0 5px #0003;border-radius:14px}.camping-panel .otp-boxes input:focus{outline:3px solid var(--sun)}.camping-panel .countdown{background:var(--sand);color:var(--forest-dark);border:0}.camping-panel .countdown--expired{background:#f5d6cc;color:#9a3f31}.camping-panel .message--error{background:#f5d6cc;color:#9a3f31;border:0;max-width:420px}.camping-panel .resend-button{align-self:center;color:var(--sand);font-size:.85rem}.camping-panel .resend-button:disabled{color:#f4f0e599;cursor:default}.camping-panel .resend-button:hover:not(:disabled){background:#ffffff24}.camping-panel .mock-note{color:#f4f0e5bf}.camping-cloud{position:absolute;left:clamp(0px,4vw,80px);top:48px;width:clamp(70px,8vw,110px);height:auto;transform:rotate(-4deg);pointer-events:none}.camping-cactus{position:absolute;left:clamp(-10px,3vw,60px);bottom:-28px;width:clamp(140px,15vw,220px);height:auto;pointer-events:none;filter:drop-shadow(0 6px 0 rgba(0,0,0,.2))}.camping-sun{position:absolute;right:clamp(-40px,2vw,40px);bottom:24px;width:clamp(150px,20vw,250px);height:auto;transform:rotate(6deg);pointer-events:none}.screen{max-width:640px;margin:0 auto;padding:32px 20px 48px;display:flex;flex-direction:column;align-items:center;gap:18px;animation:pop-in .35s ease}.screen--narrow{max-width:460px}@keyframes pop-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.logo{display:flex;flex-direction:column;align-items:center;gap:8px}.logo-img{border-radius:26%;border:5px solid #fff;box-shadow:0 8px 20px #183d362e;background:#fff}.logo-name{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--pine)}.title{font-family:var(--font-display);font-size:clamp(2rem,6vw,2.8rem);font-weight:800;margin:4px 0 0;text-align:center;color:var(--forest)}.title__accent{color:var(--pine)}.title--small{font-size:clamp(1.5rem,5vw,2rem)}.subtitle{margin:0;text-align:center;color:var(--muted);font-size:1.05rem;font-weight:600;max-width:40ch}.role-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:999px;font-family:var(--font-display);font-weight:700;font-size:.95rem;border:2px solid;background:#fff}.role-chip--orange{border-color:var(--sun);background:#f8dfbb}.role-chip--green{border-color:var(--sage);background:#c5d9c0}.role-chip--red{border-color:var(--red);background:#e8b8a9}.role-chip--purple{border-color:#8eaab4;background:#c8d6dc}.role-chip--small{font-size:.8rem;padding:4px 12px}.form{width:100%;display:flex;flex-direction:column;gap:14px;align-items:stretch}.button{font-family:var(--font-display);font-weight:700;font-size:1.05rem;padding:14px 24px;border-radius:999px;border:0;cursor:pointer;transition:transform .15s ease,filter .15s ease}.button--primary{background:var(--forest);color:#fff;box-shadow:0 5px 0 var(--forest-dark)}.button--primary:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1)}.button--primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 var(--forest-dark)}.button--primary:disabled{opacity:.55;cursor:not-allowed}.button--secondary{background:#fff;color:var(--forest);box-shadow:0 5px #183d361f}.back-button,.resend-button{align-self:flex-start;background:none;border:0;font-family:var(--font-display);font-weight:700;color:var(--pine);cursor:pointer;padding:6px 10px;border-radius:12px}.back-button:hover,.resend-button:hover{background:#fff9}.phone-field{display:flex;align-items:center;gap:10px;background:#fff;border:3px solid var(--sage);border-radius:var(--radius);padding:12px 16px;box-shadow:0 5px #183d361a;cursor:text}.phone-field--disabled{opacity:.7}.phone-field__prefix{font-weight:800;color:var(--pine);font-size:1.1rem;border-right:2px dashed #cbd9d2;padding-right:10px;white-space:nowrap}.phone-field input{border:0;outline:0;flex:1;min-width:0;font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--ink);background:transparent}.phone-field input::placeholder{color:#9aada6}.otp-boxes{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.otp-boxes input{width:52px;height:62px;text-align:center;font-family:var(--font-display);font-size:1.8rem;font-weight:800;color:var(--ink);background:#fff;border:3px solid var(--sage);border-radius:var(--radius);box-shadow:0 5px #183d361a;outline:0}.otp-boxes input:focus{border-color:var(--pine);transform:translateY(-3px)}.countdown{font-family:var(--font-display);font-weight:700;color:#9a641e;background:#f8dfbb;border:2px solid var(--sun);padding:6px 16px;border-radius:999px}.countdown--expired,.message--error{color:#9a3f31;background:#f5d6cc;border-color:var(--red)}.message{font-weight:700;text-align:center;margin:0}.message--error{border:2px solid;border-radius:var(--radius);padding:10px 14px}.attempts{opacity:.85}.mock-note,.footer-note{color:var(--muted);font-size:.85rem;text-align:center}.user-card,.frozen-card{width:100%;background:var(--paper);border:3px solid #fff;border-radius:var(--radius);box-shadow:0 6px #183d361f;padding:18px}.user-card__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:2px dashed #d8e1db}.user-card__row:last-child{border-bottom:0}.user-card__label{color:var(--muted);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.user-card__value{font-family:var(--font-display);font-weight:700}.user-card__roles{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.confetti,.decoration{color:var(--pine);font-size:1.6rem;letter-spacing:8px}.frozen-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:36px 28px}.frozen-card__emoji{font-size:3.2rem}@media (max-width: 760px){.camping-nav{padding:18px 18px 0}.camping-nav .logo-img{width:72px;height:72px}.camping-hero{padding:16px 16px 200px;gap:20px}.camping-badge{width:min(100%,360px)}.camping-panel__content{padding:30px 22px 34px;gap:16px;min-height:0}.camping-panel .otp-boxes{gap:6px}.camping-panel .otp-boxes input{width:44px;height:54px;font-size:1.5rem}.role-card{min-height:58px;padding:12px 14px}.camping-sun{right:50%;bottom:20px;width:150px;transform:translate(50%) rotate(6deg)}.camping-cloud{left:10px;top:0;width:60px}.camping-cactus{left:6px;width:110px}.camping-sun{right:14px;transform:rotate(6deg);width:110px}}@media (max-width: 390px){.role-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.admin-page--wide{max-width:1080px}.admin-page{max-width:820px;margin:0 auto;padding:24px 20px 64px;display:flex;flex-direction:column;gap:16px;animation:pop-in .35s ease}.admin-head{display:flex;align-items:center;gap:12px}.admin-title{flex:1;margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,5vw,2rem);font-weight:800;color:var(--forest);display:flex;align-items:center;gap:10px}.admin-title__icon{width:1.15em;height:1.15em;object-fit:contain;flex:none}.admin-head__action-icon{width:1.25em;height:1.25em;object-fit:contain;display:inline-block;vertical-align:-.2em;margin-right:6px}.admin-head__actions{display:flex;align-items:center;gap:8px;flex:none}.admin-head__new{padding:10px 18px;font-size:.95rem;white-space:nowrap}.button--secondary.admin-head__new:disabled{opacity:.5;cursor:not-allowed}.admin-intro{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}.admin-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;text-align:center;background:var(--paper);border:3px dashed var(--sage);border-radius:var(--radius);color:var(--muted)}.admin-empty__emoji{font-size:3rem}.admin-empty__icon{width:72px;height:72px;object-fit:contain}.admin-empty__icon--lg{width:148px;height:148px}.cat-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.cat-tab{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:8px 14px;border:3px solid var(--sage);border-radius:999px;background:#fff;color:var(--pine);font-family:var(--font-display);font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 4px #183d361a;transition:transform .15s ease,background .15s ease}.cat-tab:hover{transform:translateY(-2px)}.cat-tab--active{background:var(--forest);border-color:var(--forest);color:#fff;box-shadow:0 4px 0 var(--forest-dark)}.cat-tab__emoji{font-size:1.2rem}.cat-tab__count{min-width:24px;padding:2px 8px;border-radius:999px;background:var(--sun);color:var(--forest-dark);font-size:.75rem;text-align:center}.cat-tab--active .cat-tab__count{background:var(--sun)}.cat-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}.cat-side{position:sticky;top:16px;display:flex;flex-direction:column;gap:10px}.cat-side__new{padding:12px 16px;font-size:.95rem;width:100%}.cat-side__list{display:flex;flex-direction:column;gap:6px;background:var(--paper);border:3px solid #fff;border-radius:var(--radius);box-shadow:0 6px #183d361f;padding:8px}.cat-side__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:var(--pine);font-family:var(--font-display);font-weight:700;font-size:.95rem;text-align:left;cursor:pointer;transition:background .15s ease,transform .15s ease}.cat-side__item:hover{background:#f3f7f4}.cat-side__item--active{background:var(--forest);color:#fff;box-shadow:0 3px 0 var(--forest-dark)}.cat-side__emoji{font-size:1.2rem;line-height:1;flex:none}.cat-side__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-side__count{flex:none;min-width:24px;padding:2px 8px;border-radius:999px;background:var(--sun);color:var(--forest-dark);font-size:.75rem;text-align:center}.cat-side__empty{margin:0;padding:16px;text-align:center;color:var(--muted);font-size:.9rem;background:var(--paper);border:3px dashed var(--sage);border-radius:var(--radius)}.cat-main{min-width:0;display:flex;flex-direction:column;gap:16px}@media (max-width: 720px){.cat-layout{grid-template-columns:1fr}.cat-side{position:static}.cat-side__list{flex-direction:row;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.cat-side__item{flex:none;width:auto}.cat-side__name{overflow:visible}}.cat-panel{background:var(--paper);border:3px solid #fff;border-radius:var(--radius);box-shadow:0 6px #183d361f;padding:20px;display:flex;flex-direction:column;gap:16px}.cat-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.cat-panel__title{display:flex;gap:12px;align-items:flex-start}.cat-panel__title h2{margin:0;font-family:var(--font-display);font-size:1.4rem;color:var(--forest)}.cat-panel__emoji{font-size:2.4rem;line-height:1}.cat-panel__desc{margin:2px 0 0;color:var(--muted);font-size:.9rem}.cat-panel__meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.meta-chip{padding:3px 10px;border-radius:999px;background:#e6eee8;color:var(--pine);font-size:.78rem;font-weight:700}.meta-chip--audience{background:#f8dfbb;color:#9a641e;display:inline-flex;align-items:center;gap:4px}.audience-icon{width:18px;height:18px;object-fit:contain;vertical-align:middle;flex:none}.chip-toggle .audience-icon{width:24px;height:24px}.chip-toggle:not(.chip-toggle--tall){flex-direction:row;align-items:center;gap:8px}.role-chip--small .role-chip__icon{width:20px;height:20px}.cat-panel__actions{display:flex;gap:6px}.icon-btn{width:40px;height:40px;flex:none;border:2px solid var(--sage);border-radius:12px;background:#fff;cursor:pointer;font-size:1rem;color:var(--pine);transition:transform .15s ease}.icon-btn>svg{display:block;margin:0 auto}.confirm__emoji svg{vertical-align:-.15em;margin-right:4px}.icon-btn--lg{width:46px;height:46px;font-size:1.15rem;border-radius:14px;box-shadow:0 3px #183d361f}.icon-btn:hover:not(:disabled){transform:translateY(-2px);background:#f3f7f4}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn--danger:hover:not(:disabled){border-color:var(--red);background:#f5d6cc}.icon-btn--warn{border-color:var(--sun);background:#fdf1d3;color:#9a641e}.icon-btn--warn:hover:not(:disabled){background:var(--sun);color:var(--forest-dark)}.opt-list{display:flex;flex-direction:column;gap:12px}.opt-add{display:flex;gap:8px}.opt-add .cat-input{flex:1}.opt-add__btn{padding:10px 18px;font-size:.95rem;white-space:nowrap}.opt-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.opt-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fff;border:2px solid #e2ebe5;border-radius:14px}.opt-item--inactive{opacity:.6;border-style:dashed}.opt-item__num{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--sky);color:var(--forest);font-family:var(--font-display);font-weight:800;font-size:.8rem}.opt-item__label{flex:1;min-width:0;text-align:left;background:none;border:0;padding:6px 8px;border-radius:10px;font:inherit;font-weight:700;color:var(--ink);cursor:text;display:flex;align-items:center;gap:8px}button.opt-item__label:hover:not(:disabled){background:#f3f7f4}span.opt-item__label{cursor:default}.opt-item__badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#eef2ef;padding:2px 8px;border-radius:999px}.opt-item__badge--icon{display:inline-flex;align-items:center;gap:4px;text-transform:none;letter-spacing:0;font-size:.8rem}.opt-item__edit{flex:1;padding:6px 10px}.opt-item__actions{display:flex;gap:4px}.opt-item__actions .icon-btn{width:34px;height:34px;font-size:.8rem;border-radius:10px}.opt-empty{margin:0;text-align:center;color:var(--muted);padding:20px}.cat-form{background:var(--paper);border:3px solid var(--sun);border-radius:var(--radius);box-shadow:0 6px #183d361f;padding:20px;display:flex;flex-direction:column;gap:14px}.cat-form__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cat-form__head .toggle{height:auto}.cat-form__title{margin:0;font-family:var(--font-display);font-size:1.3rem;color:var(--forest)}.cat-form__row{display:flex;gap:10px}.cat-field{display:flex;flex-direction:column;gap:6px}.cat-field--grow{flex:1}.cat-field--weight{max-width:160px}.cat-field--emoji{width:auto}.cat-field--narrow{max-width:160px}.chip-toggle__icon{width:24px;height:24px;object-fit:contain}.admin-empty__img{width:84px;height:84px;object-fit:contain}.swatch-group{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:34px;height:34px;border-radius:10px;border:3px solid rgba(24,61,54,.12);cursor:pointer;padding:0;transition:transform .15s ease}.swatch:hover{transform:translateY(-2px)}.swatch--on{border-color:var(--pine);box-shadow:0 0 0 2px #fff,0 0 0 5px var(--pine)}.swatch--custom{display:inline-flex;align-items:center;justify-content:center;background:conic-gradient(#e8503a,#f4c430,#2fae60,#3b6ff2,#7d3bf2,#e8503a);overflow:hidden}.swatch--custom input{opacity:0;width:100%;height:100%;cursor:pointer;border:0}.transport-badge{display:inline-flex;align-items:center;justify-content:center;position:relative;flex:none}.transport-badge--car{line-height:1}.bus-logo,.car-logo{flex:none;display:block;filter:drop-shadow(0 1px 1px rgba(24,61,54,.18))}.transport-dot{display:inline-block;width:12px;height:12px;border-radius:999px;margin-right:2px;vertical-align:-1px}.transport-row__body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.transport-row__name{font-family:var(--font-display);font-weight:800;color:var(--forest);font-size:1.05rem}.transport-row__meta{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.85rem;font-weight:600}.transport-row__actions{display:flex;align-items:center;gap:6px;flex:none}.transport-preview{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:3px solid var(--sage);border-radius:14px}.transport-preview .cat-hint{margin:0}.transport-head,.transport-list,.transport-form{max-width:560px;width:100%}.transport-form .cat-field--narrow{max-width:none}.transport-form .cat-input{width:100%}.transport-form .cat-form__actions{justify-content:stretch}.transport-form .cat-form__actions .button{flex:1}.cat-field__hint{font-style:normal;font-weight:600;color:var(--muted)}.emoji-pick{position:relative}.emoji-pick__btn{display:inline-flex;align-items:center;gap:4px;height:49px;padding:0 8px 0 10px;border:3px solid var(--sage);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.emoji-pick__btn:hover:not(:disabled){transform:translateY(-1px)}.emoji-pick__btn--open,.emoji-pick__btn:focus-visible{border-color:var(--pine);outline:0}.emoji-pick__btn:disabled{opacity:.6;cursor:not-allowed}.emoji-pick__value{font-size:1.5rem;line-height:1}.emoji-pick__caret{font-size:.8rem;color:var(--muted)}.emoji-pick__pop{position:absolute;z-index:20;top:calc(100% + 8px);left:0;width:272px;padding:10px;background:#fff;border:3px solid var(--sage);border-radius:16px;box-shadow:0 10px 24px #183d362e;animation:pop-in .15s ease}.emoji-pick__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.emoji-pick__item{height:40px;border:2px solid transparent;border-radius:10px;background:#f7faf8;font-size:1.3rem;cursor:pointer}.emoji-pick__item:hover{background:#e6eee8}.emoji-pick__item--active{border-color:var(--sun);background:#f8dfbb}.emoji-pick__custom{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:2px dashed #e2ebe5}.emoji-pick__input{flex:1;min-width:0;padding:6px 10px;border:2px solid var(--sage);border-radius:10px;font:inherit;font-size:1.1rem;outline:0}.emoji-pick__input:focus{border-color:var(--pine)}.emoji-pick__ok{padding:0 12px;border:0;border-radius:10px;background:var(--forest);color:#fff;font-family:var(--font-display);font-weight:800;font-size:.85rem;cursor:pointer}.emoji-pick__ok:disabled{opacity:.4;cursor:not-allowed}.cat-field__label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.cat-field__label--split{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.cat-field__link{font-size:.78rem;text-transform:none;letter-spacing:0}.transport-chip{gap:7px}.transport-chip .bus-logo,.transport-chip .car-logo{margin:-3px 0}.cat-input{width:100%;padding:12px 14px;border:3px solid var(--sage);border-radius:14px;background:#fff;font:inherit;font-weight:600;color:var(--ink);outline:0}.cat-input:focus{border-color:var(--pine)}.cat-input--area{resize:vertical;line-height:1.5}.cat-input--busy,.cat-input--busy:focus{border-color:var(--sun);animation:ai-field-pulse 1.4s ease-in-out infinite}@keyframes ai-field-pulse{0%,to{background:#fff;box-shadow:0 0 #f0b42800}50%{background:#fff6da;box-shadow:0 0 0 4px #f0b42838}}@media (prefers-reduced-motion: reduce){.cat-input--busy{animation:none}}.cat-input[type=date],.cat-input[type=time]{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:49px;padding:0 12px;line-height:43px;font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);min-width:0}.cat-input[type=date]{width:170px}.cat-input[type=time]{width:118px}.time-input{display:inline-flex;align-items:center;gap:2px;width:118px;height:49px;padding:0 10px;border:3px solid var(--sage);border-radius:14px;background:#fff;box-sizing:border-box}.time-input:focus-within{border-color:var(--pine)}.time-input__box{width:2.2ch;padding:0;border:0;background:transparent;font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums;font-size:1rem;color:var(--ink);text-align:center;outline:0}.time-input__box::placeholder{color:var(--muted)}.time-input__sep{font-family:var(--font-display);font-weight:700;color:var(--ink)}.time-input.meds__custom-input{width:auto;height:38px;padding:0 10px;border-width:2px;border-radius:999px}.time-input.meds__custom-input .time-input__box{font-size:.85rem}.cat-input[type=date]::-webkit-datetime-edit,.cat-input[type=time]::-webkit-datetime-edit{padding:0}.cat-input[type=date]::-webkit-datetime-edit-fields-wrapper,.cat-input[type=time]::-webkit-datetime-edit-fields-wrapper{padding:0}.cat-input[type=date]::-webkit-date-and-time-value,.cat-input[type=time]::-webkit-date-and-time-value{text-align:left;min-height:1.2em}.cat-input[type=date]::-webkit-calendar-picker-indicator,.cat-input[type=time]::-webkit-calendar-picker-indicator{width:18px;height:18px;margin-left:6px;padding:2px;border-radius:6px;cursor:pointer;opacity:.7}.cat-input[type=date]::-webkit-calendar-picker-indicator:hover,.cat-input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1;background:#e6eee8}.cat-input[type=date]::-webkit-inner-spin-button,.cat-input[type=time]::-webkit-inner-spin-button{display:none}.cat-fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cat-fieldset>legend{margin-bottom:8px}.change-room__caretaker{margin-top:12px}.change-room__title{display:flex;align-items:center;gap:8px;font-weight:800;margin-bottom:10px}.change-room__title .admin-title__icon{width:1.25em;height:1.25em}.chip-group{display:flex;gap:8px;flex-wrap:wrap}.chip-toggle{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:48px;padding:10px 16px;border:3px solid var(--sage);border-radius:16px;background:#fff;font-family:var(--font-display);font-weight:700;color:var(--pine);cursor:pointer;transition:transform .15s ease}.chip-toggle:hover{transform:translateY(-2px)}.chip-toggle--on{background:var(--forest);border-color:var(--forest);color:#fff;box-shadow:0 4px 0 var(--forest-dark)}.chip-toggle--tall{flex:1;min-width:160px}.chip-toggle__hint{font-family:var(--font-body);font-weight:600;font-size:.75rem;opacity:.75}.cat-hint{margin:0;color:var(--muted);font-size:.85rem;line-height:1.5}.cat-hint--error{color:#9a3f31}.cat-form__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@media (max-width: 560px){.cat-panel__head,.opt-add{flex-direction:column}.cat-form__actions .button{flex:1}}.dash{min-height:100dvh;display:flex;flex-direction:column}.dash-top{background:var(--forest-dark);color:var(--sand);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dash-top>*{max-width:820px}.dash-brand{display:flex;align-items:center;gap:10px}.dash-brand .logo-img{width:48px;height:48px;border:0;border-radius:50%;box-shadow:none;background:transparent;object-fit:contain}.dash-brand__name{font-family:var(--font-display);font-weight:800;font-size:1.1rem;letter-spacing:-.02em}.dash-user{display:flex;align-items:center;gap:8px}.dash-user .role-chip{border:0;background:var(--sand);color:var(--forest-dark);padding:5px 12px 5px 6px;gap:8px}.dash-user .role-chip__icon{width:26px;height:26px;object-fit:contain}.dash-user__chip{cursor:pointer;font:inherit;font-family:var(--font-display);font-weight:800;font-size:.85rem;transition:transform .15s ease,box-shadow .15s ease}.dash-user__chip:hover{transform:translateY(-2px)}.dash-user__chip--active{box-shadow:0 0 0 3px var(--sun)}.dash-iconbtn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:none;border:2px solid rgba(244,240,229,.4);color:var(--sand);border-radius:999px;cursor:pointer;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}.dash-iconbtn:hover{background-color:#ffffff24;transform:translateY(-1px)}.dash-iconbtn--active{background-color:var(--sand);color:var(--forest-dark);border-color:var(--sand);box-shadow:0 0 0 3px var(--sun)}.dash-iconbtn--active:hover{background-color:var(--sand)}.dash-iconbtn--logout:hover{background-color:#c96b5559;border-color:#c96b5599}.dash-tabs{background:var(--forest-dark);display:flex;gap:6px;padding:0 20px;overflow-x:auto;scrollbar-width:none}.dash-tabs::-webkit-scrollbar{display:none}.dash-tab{flex:none;display:inline-flex;align-items:center;gap:8px;padding:10px 18px 12px;border:0;border-radius:16px 16px 0 0;background-color:#ffffff1a;color:var(--sand);font-family:var(--font-display);font-weight:800;font-size:.95rem;cursor:pointer;opacity:.85;transition:background-color .15s ease,opacity .15s ease}.dash-tab:hover{opacity:1;background-color:#ffffff2e}.dash-tab--active{background-color:var(--sand);color:var(--forest-dark);opacity:1;box-shadow:0 -4px 0 var(--sun)}.dash-tab--active:hover{background-color:#fff3d6}.dash-tab--root,.dash-tab--root:hover{background-color:var(--sand);cursor:default}.dash-tab__icon{width:28px;height:28px;object-fit:contain}.dash-tab__emoji{font-size:1.2rem;line-height:1}.dash-body{flex:1;background:var(--sand);container-type:inline-size}.dash-foot{background:var(--sand);padding:0 20px}.dash-foot:not(:empty){padding:4px 20px 28px}.dash-foot .footer-note{max-width:820px;margin:0 auto}.dash-body .admin-page{padding-top:20px}.dash-body .screen{padding-top:24px}@media (max-width: 560px){.dash-top{padding:10px 14px}.dash-brand__name{display:none}.dash-tabs{padding:0 10px}.dash-tab{padding:8px 12px 10px;font-size:.85rem}}.room-group{display:flex;flex-direction:column;gap:12px}.room-group+.room-group{margin-top:36px}.room-group__head{display:flex;align-items:center;gap:10px;padding-bottom:2px}.room-group__title{flex:none;margin:0;font-family:var(--font-display);font-size:1.08rem;font-weight:800;display:flex;align-items:center;gap:7px}.room-group__title .audience-icon{height:28px;width:auto}.room-group__title--pink{color:#b04a7a}.room-group__title--blue{color:#2f6b9a}.room-group__title--green{color:var(--forest)}.room-group__stats{flex:1;color:var(--muted);font-size:.82rem;font-weight:600}.room-group__head .icon-btn{width:30px;height:30px;font-size:1rem;font-weight:800;border-radius:9px}.room-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-grid>li{min-width:0}.room-card{width:100%;height:100%;min-height:156px;display:flex;flex-direction:column;gap:10px;padding:16px 18px;border:2px solid #fff;border-top-width:5px;border-radius:14px;background:var(--paper);box-shadow:0 4px #183d361a;text-align:left;cursor:pointer;font:inherit;color:var(--ink);transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.room-card__row{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-card:hover:not(:disabled),.room-card:focus-visible:not(:disabled){transform:translateY(-2px);box-shadow:0 7px #183d361f;background:#fff;outline:0}.room-card:focus-visible:not(:disabled){border-color:var(--sun)}.room-card:disabled{cursor:not-allowed;opacity:.7}.room-card--pink{border-top-color:#e8a5c4}.room-card--blue{border-top-color:#9ec4e3}.room-card--green{border-top-color:var(--sage)}.room-card__name{min-width:0;font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--forest);line-height:1.1;overflow-wrap:anywhere}.room-card__availability{flex:none;padding:4px 9px;border-radius:999px;background:#e5f2ec;color:var(--forest);font-size:.72rem;font-weight:800;white-space:nowrap}.room-card__availability--full{background:#f3e8e1;color:#975740}.room-card__occupancy-copy{color:var(--muted);font-size:.82rem;line-height:1.25}.room-card__occupancy-copy strong{color:var(--pine);font-size:.95rem}.room-card__occ{display:flex;align-items:center;gap:6px}.room-card__bar{flex:1;width:100%;height:7px;border-radius:999px;background:#e2ebe5;overflow:hidden}.room-card__bar-fill{display:block;height:100%;background:var(--pine);border-radius:999px;transition:width .2s ease}.room-card__count{font-size:.72rem;font-weight:800;color:var(--muted);white-space:nowrap}.room-card__details{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px;padding-top:10px;border-top:1px solid #dfe8e2}.room-card__beds,.room-card__who{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:.76rem;font-weight:700;color:var(--pine)}.room-card__who{flex:none;color:var(--muted)}.room-card__who>span,.room-card__beds>span{display:inline-flex;align-items:center;gap:4px}.room-card__notes{padding-top:1px;font-size:.74rem;color:var(--muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 620px){.room-group+.room-group{margin-top:30px}.room-group__head{flex-wrap:wrap}.room-group__stats{order:3;flex-basis:100%;padding-left:35px}.room-grid{grid-template-columns:1fr;gap:10px}.room-card{min-height:0;padding:15px 16px}}.counter{display:flex;align-items:stretch;border:3px solid var(--sage);border-radius:14px;background:#fff;overflow:hidden}.counter__btn{width:44px;border:0;background:#f3f7f4;color:var(--pine);font-family:var(--font-display);font-size:1.3rem;font-weight:800;cursor:pointer}.counter__btn:hover:not(:disabled){background:#e6eee8}.counter__btn:disabled{opacity:.35;cursor:not-allowed}.counter__input{flex:1;min-width:0;width:60px;border:0;outline:0;text-align:center;font-family:var(--font-display);font-size:1.2rem;font-weight:800;color:var(--ink);background:transparent;-moz-appearance:textfield}.counter__input::-webkit-outer-spin-button,.counter__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.capacity-box{align-items:center;justify-content:center;min-width:120px;padding:6px 14px;border-radius:14px;background:#f8dfbb}.capacity-box__value{font-family:var(--font-display);font-size:2rem;font-weight:800;color:#9a641e;line-height:1}.day-group{display:flex;flex-direction:column;gap:10px}.timeline{list-style:none;margin:0;padding:0 0 0 14px;display:flex;flex-direction:column;gap:8px;border-left:3px dashed var(--sage)}.timeline__item{display:flex;gap:14px;align-items:flex-start}.timeline__time{flex:none;width:54px;display:flex;flex-direction:column;align-items:flex-start;padding-top:12px;font-family:var(--font-display);font-weight:800;color:var(--forest);line-height:1.2;position:relative}.timeline__time:before{content:"";position:absolute;left:-24.5px;top:calc(12px + .6em);width:18px;height:18px;box-sizing:border-box;transform:translateY(-50%);border-radius:50%;background:var(--sun);border:3px solid var(--sand)}.timeline__end{font-size:.75rem;font-weight:700;color:var(--muted)}.event-card{flex:1;min-width:0;background:var(--paper);border:3px solid #fff;border-radius:var(--radius);box-shadow:0 6px #183d361f;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.event-card__title{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--forest)}.event-card--plain{padding:8px 12px 8px 16px;box-shadow:0 3px #183d3614}.event-card--plain .event-card__title{font-size:1rem}.event-card--clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.event-card--clickable:hover,.event-card--clickable:focus-visible{transform:translateY(-2px);box-shadow:0 8px #183d3624;outline:0}.event-card--clickable:focus-visible{border-color:var(--sun)}.timeline__item--past{opacity:.6}.past-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:2px dashed var(--sage);border-radius:var(--radius);background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:.9rem;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.past-toggle:hover,.past-toggle:focus-visible{background:#f3f7f4;border-color:var(--pine);color:var(--pine);outline:0}.past-toggle__icon{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#fff;border:2px solid var(--sage);font-size:.85rem;color:var(--pine)}.past-toggle--open .past-toggle__icon{border-color:var(--pine)}.past-toggle__label{flex:1}.past-toggle__hint{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.timeline__item--now .timeline__time:before{background:var(--forest);border-color:var(--sun);animation:now-pulse 1.6s ease-in-out infinite}.event-card--now{border-color:var(--sun);box-shadow:0 6px #c77f1f}.event-card__now{display:inline-block;margin-right:6px;padding:2px 8px;border-radius:999px;background:var(--sun);color:var(--forest-dark);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;vertical-align:middle}.my-role{align-items:center}@keyframes now-pulse{0%,to{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.25)}}.event-role{gap:8px;padding:12px 16px}.event-role--default{border-style:dashed;border-color:#bfdde6;background:#f7fbfc}.event-role__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.event-role__name{border:0;background:none;padding:0;font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--forest);cursor:pointer;transition:color .15s ease}.event-role__name:hover,.event-role__name:focus-visible{color:#c77f1f;outline:0}.event-role__docs{display:flex;flex-direction:column;gap:12px;margin-top:2px}.staff-card__missing{color:#9a3f31;font-style:normal;font-weight:700}.cat-form__sub{font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--muted);margin-left:6px}.assign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px}.assign-role{background:#fff;border:2px solid #e2ebe5;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.assign-role__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.assign-role__name{font-family:var(--font-display);font-weight:800;color:var(--forest)}.assign-role__count{padding:2px 10px;border-radius:999px;background:var(--sun);color:var(--forest-dark);font-size:.75rem;font-weight:800}.assign-role--empty{border-style:dashed}.assign-role__empty{margin:0;color:var(--muted);font-size:.85rem;font-style:italic}.assign-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.assign-item{display:flex;align-items:center;gap:8px}.assign-item__name{flex:0 1 45%;min-width:0;font-weight:700;font-size:.9rem;line-height:1.2}.assign-item__detail{flex:1 1 auto;min-width:150px;padding:8px 12px;border:2px solid #e2ebe5;border-radius:10px;font:inherit;font-size:.9rem;font-weight:600;color:var(--ink);outline:0;background:#fff}.assign-item__detail::placeholder{color:#9aada6;font-weight:500}.assign-item__detail:focus{border-color:var(--pine)}.assign-item__remove{width:28px;height:28px;font-size:.7rem;border-radius:8px}.assign-role__tools{display:flex;align-items:center;gap:6px}.assign-role__add{width:30px;height:30px;font-size:1.1rem;font-weight:800;border-radius:9px}.dialog__panel:has(.picker){overflow:hidden}.picker{display:flex;flex-direction:column;gap:10px;padding:20px;max-height:calc(100dvh - 48px);overflow:hidden;background:var(--paper);border:3px solid var(--sage);border-radius:var(--radius)}.picker .cat-form__title{margin:0;flex:none}.picker .cat-input,.picker .cat-hint,.picker .message,.picker .cat-form__actions,.picker .opt-empty{flex:none}.picker__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-height:0;max-height:min(42dvh,280px);overflow:auto;-webkit-overflow-scrolling:touch}.picker__item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border:2px solid transparent;border-radius:10px;background:#fff;text-align:left;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}.picker__item--cursor{border-color:var(--pine);background:#f3f7f4}.picker__item--busy{color:var(--muted)}.picker__name{flex:1;min-width:0}.picker__busy{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding:4px 10px;border-radius:10px;background:#f8dfbb;color:#9a641e;font-size:.78rem;font-weight:800}.picker__busy-where{font-size:.68rem;font-weight:600;opacity:.85}.picker__group{display:flex;flex-direction:column;gap:4px}.picker__group .picker__list{max-height:none;overflow:visible}.picker__group+.picker__group{margin-top:8px}.picker__group-title{margin:0;padding:2px 4px;display:flex;align-items:baseline;gap:8px;color:var(--muted);font-family:var(--font-display);font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.picker__group-hint{font-family:var(--font-body);font-weight:600;font-size:.72rem;text-transform:none;letter-spacing:0}.picker__group--other .picker__group-title{color:#9a3f31}.picker__meta{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:1px;color:var(--muted);font-size:.78rem;font-weight:700}.picker__item--other{background:#f5d6cc;color:#9a3f31}.picker__item--other .picker__meta{color:#9a3f31}.picker__item--other.picker__item--cursor{border-color:var(--red);background:#efc4b6}.staff-tag{display:inline-flex;align-items:center;gap:6px}.staff-tag--empty{background:#eef2ef;color:var(--muted)}.staff-tag--empty .staff-tag__n{background:var(--muted)}.staff-tag__n{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--forest);color:#fff;font-size:.7rem;text-align:center}.link-btn{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--pine);text-decoration:none;cursor:pointer}.instructions{width:100%;margin-top:4px;padding:12px 16px;border-radius:14px;background:#fff;border:2px solid #e2ebe5;line-height:1.55;font-size:.95rem}.instructions>:first-child{margin-top:0}.instructions>:last-child{margin-bottom:0}.instructions h2{font-size:1.15rem;margin:.6em 0 .3em;color:var(--forest)}.instructions h3{font-size:1rem;margin:.6em 0 .3em;color:var(--pine)}.instructions ul,.instructions ol{padding-left:1.4em}.instructions blockquote{margin:.5em 0;padding:4px 12px;border-left:4px solid var(--sage);color:var(--muted)}.instructions a{color:var(--pine)}.slot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.slot-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fff;border:2px solid #e2ebe5;border-radius:14px}.slot-item__emoji{font-size:1.2rem}.slot-item__name{flex:1;min-width:0;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.slot-item__remove{width:34px;height:34px;font-size:.8rem}.rte{border:3px solid var(--sage);border-radius:14px;background:#fff;overflow:hidden}.rte:focus-within{border-color:var(--pine)}.rte--disabled{opacity:.6}.rte__bar{display:flex;flex-wrap:wrap;gap:2px;padding:6px;background:#f3f7f4;border-bottom:2px solid #e2ebe5}.rte__btn{min-width:34px;height:32px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--pine);font-family:var(--font-display);font-weight:800;font-size:.85rem;cursor:pointer}.rte__btn:hover:not(:disabled){background:#e2ebe5}.rte__btn--active{background:var(--forest);color:#fff}.rte__btn--b{font-weight:900}.rte__btn--i{font-style:italic}.rte__btn--s{text-decoration:line-through}.rte__sep{width:2px;height:22px;margin:5px 4px;background:#d8e1db;border-radius:2px}.rte__content .tiptap{min-height:160px;padding:12px 14px;outline:0;line-height:1.55;font-size:.95rem}.rte__content .tiptap>:first-child{margin-top:0}.rte__content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#9aada6;pointer-events:none;height:0}.rte__content .tiptap h2{font-size:1.15rem;margin:.6em 0 .3em;color:var(--forest)}.rte__content .tiptap h3{font-size:1rem;margin:.6em 0 .3em;color:var(--pine)}.rte__content .tiptap ul,.rte__content .tiptap ol{padding-left:1.4em}.rte__content .tiptap blockquote{margin:.5em 0}.rte__content .tiptap a{color:var(--pine)}.rte__content .tiptap hr{border:0;border-top:2px dashed var(--sage);margin:12px 0}.rte__content .tiptap img{display:block;max-width:100%;height:auto;border-radius:12px;margin:8px 0}.rte__content .tiptap img.ProseMirror-selectednode{outline:3px solid var(--sun)}.rte__error{margin:0;padding:6px 12px;background:#f5d6cc;color:#9a3f31;font-size:.85rem;font-weight:700}.rte__spacer{flex:1}.rte__btn--code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;letter-spacing:-.04em}.rte-source{display:flex;flex-direction:column;min-height:0;flex:1;background:#1f2a26}.rte-source__bar{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#16201c;border-bottom:2px solid #0f1714}.rte-source__label{font-family:var(--font-display);font-size:.78rem;font-weight:800;color:#9fc4b3;text-transform:uppercase;letter-spacing:.06em}.rte-source__btn{height:30px;padding:0 11px;border:2px solid #35463f;border-radius:8px;background:#22302b;color:#d7e6df;font-family:var(--font-display);font-weight:800;font-size:.8rem;cursor:pointer}.rte-source__btn:hover:not(:disabled){background:#2c3d37}.rte-source__btn--go{border-color:var(--forest);background:var(--forest);color:#fff}.rte-source__btn--go:hover:not(:disabled){background:var(--pine)}.rte-source__area{flex:1;min-height:240px;width:100%;padding:12px 14px;border:0;background:transparent;color:#e8f2ed;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;line-height:1.6;-moz-tab-size:2;tab-size:2;resize:vertical;outline:0;white-space:pre;overflow:auto}.rte-source__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;margin:0;padding:7px 12px;background:#16201c;color:#8fae9f;font-size:.76rem;font-weight:600}.rte-source__warn{color:#f0b8b1;font-weight:800}.rte-source__meta{color:#74907f}.rte--workspace .rte-source__area{min-height:100%;resize:none}.rte__btn--ai{background:#fff3d6;color:var(--forest);border:2px solid var(--sun)}.rte__btn--ai:hover:not(:disabled){background:var(--sun);color:#fff}.rte__btn--ai.rte__btn--active{background:var(--sun);color:#fff}.ai-workspace{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;flex-direction:column;background:var(--sand);animation:pop-in .2s ease}.ai-workspace__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:var(--forest);color:#fff}.ai-workspace__title{font-family:var(--font-display);font-weight:900;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-workspace__done{padding:10px 20px;font-size:.95rem}.ai-workspace__body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:16px;padding:16px 20px 20px}.ai-workspace__editor{min-height:0;display:flex;flex-direction:column}.rte--workspace{flex:1;min-height:0;display:flex;flex-direction:column}.rte--workspace .rte__content{flex:1;min-height:0;overflow:auto}.rte--workspace .rte__content .tiptap{min-height:100%}.rte--placeholder{padding:24px;text-align:center;color:var(--muted);font-weight:700;border-style:dashed}.rte--placeholder p{margin:0}.ai-panel{min-height:0;display:flex;flex-direction:column;background:var(--paper);border:3px solid var(--sage);border-radius:14px;overflow:hidden}.ai-panel__head{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#f3f7f4;border-bottom:2px solid #e2ebe5}.ai-panel__title{font-family:var(--font-display);font-weight:900;color:var(--forest)}.ai-model{position:relative;margin-left:auto}.ai-model__button{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 10px;border:2px solid var(--sage);border-radius:10px;background:#fff;color:var(--forest);font-weight:700;font-size:.85rem;font-family:var(--font-display);cursor:pointer}.ai-model__button:disabled{opacity:.6;cursor:not-allowed}.ai-model__caret{font-size:.75rem;opacity:.7}.ai-model__menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:180px;margin:0;padding:4px;list-style:none;background:#fff;border:2px solid var(--sage);border-radius:12px;box-shadow:0 8px 24px #183d3626}.ai-model__option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--forest);font-weight:700;font-size:.85rem;font-family:var(--font-display);text-align:left;cursor:pointer}.ai-model__option:hover,.ai-model__option.is-active{background:#f3f7f4}.ai-vendor-logo{width:16px;height:16px;flex:none;object-fit:contain}.about-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:0}.about-facts dt{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.about-facts dd{margin:2px 0 0;font-family:var(--font-display);font-size:1.4rem;font-weight:800;color:var(--forest)}.about-vendors{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.about-vendor{padding:12px 14px;border:2px solid #e2ebe5;border-radius:12px;background:#fff}.about-vendor__head{display:flex;align-items:center;gap:8px}.about-vendor__name{font-family:var(--font-display);font-weight:800;color:var(--forest)}.about-vendor__share{margin-left:auto;font-weight:700;color:var(--pine)}.about-vendor__bar{height:6px;margin:8px 0;border-radius:999px;background:#e2ebe5;overflow:hidden}.about-vendor__bar span{display:block;height:100%;background:var(--forest);border-radius:999px}.about-vendor__stats{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.85rem;color:var(--muted)}.about-vendor__stats b{color:var(--forest)}.about-vendor__models{list-style:none;margin:8px 0 0;padding:0;font-size:.8rem;color:var(--muted)}.about-vendor__models code{color:var(--pine)}.ai-paste{display:flex;flex-wrap:wrap;gap:8px}.ai-paste__chip{position:relative}.ai-paste__card{display:flex;flex-direction:column;width:150px;padding:0;border:2px solid #e2ebe5;border-radius:10px;background:#fff;overflow:hidden;cursor:pointer;text-align:left;font:inherit}.ai-paste__card:hover,.ai-paste__chip.is-open .ai-paste__card{border-color:var(--sage)}.ai-paste__mini{display:block;height:56px;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:5px;line-height:1.35;color:#6b7c74;white-space:pre-wrap;word-break:break-word;overflow:hidden;mask-image:linear-gradient(#000 60%,transparent);-webkit-mask-image:linear-gradient(#000 60%,transparent);pointer-events:none}.ai-paste__meta{display:block;padding:5px 8px;border-top:1px solid #e2ebe5;background:#f3f7f4;color:var(--pine);font-size:.7rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-paste__img{display:block;width:72px;height:72px;border:2px solid #e2ebe5;border-radius:10px;overflow:hidden;background:#fff}.ai-paste__img img{width:100%;height:100%;object-fit:cover;display:block}.ai-msg__images{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.ai-msg__voice{margin:0 0 4px;font-size:.8rem;font-weight:700;opacity:.85}.ai-paste__audio{width:auto;padding:8px 12px;cursor:default;font-size:.8rem;font-weight:700;color:var(--pine);justify-content:center}.ai-msg__images img{max-width:140px;max-height:140px;border-radius:8px;display:block}.ai-paste__remove{position:absolute;top:-7px;right:-7px;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:var(--forest);color:#fff;font-size:14px;line-height:20px;cursor:pointer}.ai-paste__preview{flex-basis:100%;max-height:180px;margin:0;padding:10px 12px;overflow:auto;border:2px solid #e2ebe5;border-radius:10px;background:#fff;font-size:.8rem;white-space:pre-wrap;word-break:break-word}.ai-panel__list{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.ai-panel__hint{color:var(--muted);font-size:.9rem;line-height:1.5}.ai-panel__hint p{margin:0 0 8px}.ai-panel__hint--warn{padding:10px 12px;border-radius:12px;background:#fff3d6;color:#8a5a10;font-weight:700}.ai-msg{max-width:92%;padding:10px 12px;border-radius:14px;font-size:.9rem;line-height:1.45}.ai-msg--user{align-self:flex-end;background:var(--forest);color:#fff;border-bottom-right-radius:4px;white-space:pre-wrap}.ai-msg--assistant{align-self:flex-start;background:#fff;border:2px solid #e2ebe5;border-bottom-left-radius:4px}.ai-msg--error{border-color:#f0c2b4;background:#fbeae4}.ai-msg__text,.ai-msg__status{margin:0}.ai-msg__status{font-weight:700;color:var(--pine)}.ai-msg--error .ai-msg__status{color:#9a3f31}.ai-msg__count{font-weight:400;color:var(--muted);font-size:.8rem}.ai-msg__lookups{margin:0 0 4px;font-size:.8rem;color:var(--muted)}.ai-msg__thought{display:flex;flex-direction:column;gap:4px;margin-bottom:6px;max-height:160px;overflow:auto;padding:8px 10px;border-radius:10px;background:#f3f7f4;font-size:.8rem;color:var(--muted);font-style:italic}.ai-msg__thought p{margin:0}.ai-msg__actions{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.ai-msg__btn--review{border-color:var(--sun);background:#fff8e6}.ai-diff{gap:14px}.ai-diff__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.ai-diff__summary{color:var(--muted);font-weight:700;font-size:.85rem}.ai-diff__tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ai-diff__tab{height:34px;padding:0 14px;border:2px solid var(--sage);border-radius:999px;background:#fff;color:var(--pine);font-family:var(--font-display);font-weight:800;font-size:.85rem;cursor:pointer}.ai-diff__tab.is-active{border-color:var(--forest);background:var(--forest);color:#fff}.ai-diff__toggle{margin-left:auto;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.82rem;font-weight:700;cursor:pointer}.ai-diff__toggle input{width:18px;height:18px;accent-color:var(--forest)}.ai-diff__list{list-style:none;margin:0;padding:0;max-height:58vh;overflow:auto;display:flex;flex-direction:column;gap:6px}.ai-diff__row{border-radius:12px;border:2px solid transparent;overflow:hidden}.ai-diff__row--same{opacity:.6}.ai-diff__text{display:flex;gap:8px;margin:0;padding:8px 12px;line-height:1.5;font-size:.9rem}.ai-diff__mark{flex:none;width:12px;font-family:var(--font-display);font-weight:900}.ai-diff__row--added .ai-diff__text,.ai-diff__text--after{background:#e7f4ea;color:#1d5c39}.ai-diff__row--removed .ai-diff__text,.ai-diff__text--before{background:#fdeceb;color:#8d3a2e;text-decoration:line-through;text-decoration-color:#8d3a2e59}.ai-diff__row--changed{border-color:#f2d6a2}.ai-diff__preview{max-height:58vh;overflow:auto}.ai-msg__btn{height:30px;padding:0 10px;border:2px solid var(--sage);border-radius:999px;background:#fff;color:var(--forest);font-weight:800;font-size:.8rem;cursor:pointer}.ai-msg__btn:hover:not(:disabled){background:var(--sand)}.ai-msg__btn:disabled{opacity:.5;cursor:not-allowed}.ai-msg__answer{margin:0;white-space:pre-wrap}.ai-msg__answer+.ai-msg__status{margin-top:6px}.ai-panel__quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px}.ai-panel__chip{height:30px;padding:0 10px;border:2px solid #e2ebe5;border-radius:999px;background:#fff;color:var(--pine);font-weight:700;font-size:.8rem;cursor:pointer}.ai-panel__chip:hover:not(:disabled){border-color:var(--sage);background:#f3f7f4}.ai-panel__chip:disabled{opacity:.5;cursor:not-allowed}.ai-panel__form{padding:10px 14px 14px;border-top:2px solid #e2ebe5;background:#f3f7f4;display:flex;flex-direction:column;gap:8px}.ai-panel__input{width:100%;box-sizing:border-box;resize:none;padding:10px 12px;border:2px solid var(--sage);border-radius:12px;font:inherit;font-size:.95rem;background:#fff}.ai-panel__input:focus{outline:0;border-color:var(--pine)}.ai-panel__row{--voice-blue: #2277e6;display:flex;align-items:center;justify-content:space-between;gap:8px}.ai-panel__scope{color:var(--muted);font-size:.8rem;font-weight:700}.ai-panel__send{padding:10px 18px;font-size:.95rem}.ai-panel__scope{flex:1;min-width:0}.ai-voice{flex:none;width:40px;height:40px;display:grid;place-items:center;padding:0;border:2px solid var(--sage);border-radius:999px;background:#fff;font-size:1.1rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.ai-voice:hover:not(:disabled){background:var(--sand)}.ai-voice:disabled{opacity:.5;cursor:not-allowed}.ai-voice--on{background:#fff;border-color:#1a1a1a;color:#1a1a1a;font-size:.95rem}.ai-voice--on:hover:not(:disabled){background:#f3f3f3}.ai-voice--send{background:var(--forest-dark);border-color:var(--forest-dark);color:#fff}.ai-voice--send:hover:not(:disabled){background:var(--forest);border-color:var(--forest)}.ai-voice__live{display:flex;align-items:center;gap:8px;width:100%;color:var(--voice-blue)}.ai-voice__wave{flex:1;min-width:60px;max-width:220px;height:26px;color:var(--voice-blue)}.ai-voice__clock{font-variant-numeric:tabular-nums;font-weight:800}.ai-voice__dot{width:9px;height:9px;border-radius:999px;background:var(--voice-blue);animation:ai-pulse 1.2s ease-in-out infinite}.ai-panel__voice-error{margin:0;font-size:.8rem;font-weight:700;color:#9a3f31}.ai-pulse{animation:ai-pulse 1.4s ease-in-out infinite}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.35}}.ai-thinking{display:inline-flex;align-items:center;gap:8px}.ai-thinking__dots{display:inline-flex;gap:3px}.ai-thinking__dots i{width:6px;height:6px;border-radius:999px;background:var(--pine);animation:ai-bounce 1.2s ease-in-out infinite}.ai-thinking__dots i:nth-child(2){animation-delay:.2s}.ai-thinking__dots i:nth-child(3){animation-delay:.4s}@keyframes ai-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}.rte .ProseMirror .ai-target{background:#f4c43073;box-shadow:0 0 0 2px #f4c43073;border-radius:3px}.rte .ProseMirror .ai-target--busy{animation:ai-pulse 1.4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.ai-pulse,.ai-voice__dot,.ai-thinking__dots i,.rte .ProseMirror .ai-target--busy{animation:none}}@media (max-width: 860px){.ai-workspace__body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,45%);padding:12px;gap:12px}}.instructions img{display:block;margin:8px 0}.prep-countdown{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:var(--radius);background:var(--forest-dark);color:var(--sand);box-shadow:0 6px 0 var(--forest)}.prep-countdown__emoji{font-size:2.2rem;line-height:1}.prep-countdown__text{display:flex;flex-direction:column;gap:2px}.prep-countdown__text strong{font-family:var(--font-display);font-size:1.35rem;font-weight:800;line-height:1.1}.prep-countdown__text span{font-size:.85rem;font-weight:600;opacity:.9}.prep-sections{display:flex;flex-direction:column;gap:14px}.prep-section{gap:8px}.prep-section__head{display:flex;align-items:center;gap:10px}.prep-section__head .prep-section__title{flex:1}.prep-section__title{margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:var(--forest);display:flex;align-items:center;gap:8px}.prep-countdown__text{flex:1}.prep-progress{display:flex;flex-direction:column;align-items:center;padding:6px 14px;border-radius:14px;background:#ffffff24}.prep-progress strong{font-family:var(--font-display);font-size:1.3rem;font-weight:800;line-height:1.1}.prep-progress span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.9;white-space:nowrap}.prep-check{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer}.prep-check:disabled{opacity:.6;cursor:wait}.prep-check__box{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;border:3px solid var(--sage);background:#fff;color:#fff;font-size:1.1rem;font-weight:900;line-height:1;transition:transform .15s ease,background-color .15s ease,border-color .15s ease}.prep-check:hover:not(:disabled) .prep-check__box{transform:scale(1.08);border-color:var(--pine)}.prep-check--on .prep-check__box{background:var(--forest);border-color:var(--forest);color:var(--sun)}.prep-section--done{opacity:.62;background:#f3f2ec;border-color:#e2ebe5;box-shadow:none}.prep-section--done .prep-section__title{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--sage)}.prep-section--role{border-color:var(--sun)}.prep-section__tag{padding:2px 9px;border-radius:999px;background:var(--sun);color:var(--forest-dark);font-family:var(--font-body);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.prep-section--done .prep-section__tag{background:#e2ebe5;color:var(--muted)}.prep-section__title .staff-tag__n{font-family:var(--font-body);font-size:.75rem;font-weight:700}.instr-tabs{margin-bottom:4px}.cat-tab--now:not(.cat-tab--active){border-color:var(--sun)}.cat-tab--past:not(.cat-tab--active){opacity:.5;border-style:dashed;box-shadow:none;color:var(--muted)}.cat-tab--past:not(.cat-tab--active):hover{transform:none}.cat-tab--past.cat-tab--active{background:var(--muted);border-color:var(--muted);box-shadow:0 4px #4f5f57}.cat-tab__count--past{background:#e2ebe5;color:var(--muted)}.instr-panel--past{border-color:#e2ebe5;background:#f3f2ec;box-shadow:none}.instr-panel--past .prep-section__title{color:var(--muted)}.prep-section__tag--past{background:#e2ebe5;color:var(--muted)}.instr-when{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.instr-when__item{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.9rem;color:var(--muted)}.instr-when__item--past{opacity:.55;text-decoration:line-through;text-decoration-color:var(--sage)}.instr-when__item--now .instr-when__time{color:#c77f1f}.instr-when__time{font-weight:800;color:var(--pine);font-variant-numeric:tabular-nums}.instr-when__title{color:var(--forest);font-weight:600}@media (max-width: 560px){.timeline__item{flex-direction:column;gap:4px}.timeline__time{flex-direction:row;gap:6px;width:auto;align-items:baseline;padding-top:0}.timeline__time:before{top:.6em}.slot-item{flex-wrap:wrap}}.dialog{width:calc(100% - 32px);padding:0;border:0;border-radius:var(--radius);background:transparent}.dialog::backdrop{background:#183d368c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog[open]{animation:pop-in .2s ease}.dialog__panel{max-height:calc(100dvh - 48px);overflow:auto;border-radius:var(--radius)}.dialog--full{width:100%;max-width:none!important;height:100dvh;max-height:none;margin:0;border-radius:0}.dialog--full .dialog__panel{height:100dvh;max-height:none;overflow:hidden;border-radius:0}@media (min-width: 900px){.dialog--full{width:calc(100% - 64px);max-width:900px!important;height:calc(100dvh - 64px);margin:32px auto;border-radius:var(--radius)}.dialog--full .dialog__panel{height:100%;border-radius:var(--radius)}}.lookup-result .admin-page{padding:0;animation:none}@media (max-width: 560px){.dialog--full-mobile{width:100%;max-width:none!important;height:100dvh;max-height:none;margin:0;border-radius:0}.dialog--full-mobile .dialog__panel{height:100dvh;max-height:none;border-radius:0}.dialog--full-mobile .qr-scanner{min-height:100dvh;border:0;border-radius:0;box-shadow:none;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.dialog--full-mobile .qr-scanner__viewport{flex:1;min-height:260px;max-height:none;aspect-ratio:auto}.dialog--full-mobile .qr-scanner__actions{margin-top:auto}}.draw{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 24px 24px;text-align:center;background:var(--sand);border:4px solid #fff;border-radius:var(--radius);box-shadow:0 8px #183d3626}.draw__icon{width:72px;height:72px;object-fit:contain}.draw--rolling .draw__icon{animation:draw-shake .35s ease-in-out infinite}.draw__label{margin:0;font-family:var(--font-display);font-weight:800;color:var(--pine);font-size:1.05rem}.draw__number{font-family:var(--font-display);font-weight:900;font-size:clamp(4rem,18vw,6.5rem);line-height:1;color:var(--forest);background:#fff;border-radius:28px;min-width:2.2em;padding:10px 24px;box-shadow:0 6px #183d361f;height:1.2em;overflow:hidden;box-sizing:content-box}.draw__reel{display:flex;flex-direction:column;transition-property:transform;transition-timing-function:cubic-bezier(.15,.75,.25,1);will-change:transform}.draw__cell{display:block;height:1.2em;line-height:1.2;text-align:center}.draw--rolling .draw__number{color:var(--sun)}.draw--done .draw__number{animation:draw-land .55s cubic-bezier(.2,1.6,.4,1)}.draw__winner{min-height:64px;display:flex;flex-direction:column;align-items:center;gap:4px}.draw__name{font-family:var(--font-display);font-size:clamp(1.4rem,6vw,2rem);font-weight:900;color:var(--forest);animation:pop-in .4s ease .15s both}.draw__room{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:700;animation:pop-in .4s ease .3s both}.draw__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}.draw-confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.draw-confetti i{position:absolute;top:-20px;display:block;opacity:.95;animation:draw-confetti-fall linear both}@keyframes draw-confetti-fall{0%{transform:translateY(-10vh) rotate(0)}to{transform:translateY(110vh) rotate(calc(var(--spin, 1) * 720deg))}}@keyframes draw-shake{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes draw-land{0%{transform:scale(.4)}60%{transform:scale(1.15)}to{transform:scale(1)}}.access-pop{overflow:hidden;border-radius:var(--radius);background:var(--paper);text-align:center}.access-pop__sky{position:relative;height:150px;display:grid;place-items:center}.access-pop--soon .access-pop__sky{background:linear-gradient(160deg,#ffd88a 0%,var(--sun) 45%,#c96b55 100%)}.access-pop--ended .access-pop__sky{background:linear-gradient(160deg,#6fc3b8 0%,var(--panel) 50%,var(--forest) 100%)}.access-pop__sky:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-40px;height:80px;background:var(--paper);border-radius:50% 50% 0 0}.access-pop__emoji{position:relative;z-index:1;font-size:4.2rem;filter:drop-shadow(0 6px 0 rgba(0,0,0,.18));animation:access-bob 2.4s ease-in-out infinite}@keyframes access-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}.access-pop__body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;padding:8px 28px 30px}.access-pop__title{margin:0;font-family:var(--font-display);font-size:1.6rem;color:var(--forest)}.access-pop__text{margin:0;color:var(--ink);font-size:1.05rem;line-height:1.5}.access-pop__when{display:block;margin-top:10px;padding:10px 18px;border-radius:999px;font-family:var(--font-display);font-weight:800;text-transform:capitalize;color:#9a641e;background:#f8dfbb;border:2px solid var(--sun)}.access-pop--ended .access-pop__title{color:var(--forest-dark)}.access-pop__confetti{font-size:1.5rem;letter-spacing:8px}.access-pop__btn{min-width:180px}.cat-form--embedded{border-color:var(--sage);box-shadow:none}.cat-form--plain,.dialog .cat-form{border-color:#fff}.staff-tag--everyone{background:#d9ecf1;color:#1f5f73}.staff-tag--everyone .staff-tag__n{background:#1f5f73}.slot-item--everyone{border-color:#bfdde6;background:#f4fafc}.slot-item__badge--everyone{color:#1f5f73;background:#d9ecf1}.slot-add{display:flex;gap:8px;align-items:center}.slot-add .cat-input,.slot-add__hint{flex:1}.slot-add__new{padding:10px 16px;font-size:.9rem;white-space:nowrap}.assign-default{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:2px dashed #e2ebe5}.assign-default__label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.detail-title{display:flex;align-items:center;gap:10px}.detail-title .audience-icon{height:40px;width:auto}.detail-card{background:var(--paper);border:3px solid #fff;border-radius:var(--radius);box-shadow:0 6px #183d361f;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.detail-grid{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:4px 18px;align-items:center}.detail-grid dt{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);min-height:32px;display:flex;align-items:center}.detail-grid dd{margin:0;font-weight:700;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:32px}.detail-grid dd .wa-btn--sm,.detail-grid dd .icon-btn{width:30px;height:30px}.detail-grid dd .room-card__occ{width:220px}.detail-alerts{display:flex;flex-direction:column;gap:4px;padding-top:10px;border-top:2px dashed #e2ebe5}.detail-section{display:flex;flex-direction:column;gap:10px;margin-top:16px}.detail-h2{margin:6px 0 0;font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:var(--forest);display:flex;align-items:center;gap:8px}.detail-h3{margin:4px 0 0;font-family:var(--font-display);font-size:.95rem;font-weight:800;color:var(--pine)}.detail-day{display:flex;flex-direction:column;gap:6px}.escala-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.escala-item{display:flex;gap:12px;align-items:flex-start;padding:10px 14px;background:var(--paper);border:2px solid #fff;border-radius:14px;box-shadow:0 3px #183d3614}.escala-item__time{flex:none;width:56px;display:flex;flex-direction:column;font-family:var(--font-display);font-weight:800;color:var(--forest);padding-top:2px;line-height:1.15}.escala-item__date{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.escala-item__actions{display:flex;gap:12px}.escala-item--removable{position:relative;padding-right:84px}.escala-item--addable{position:relative;padding-right:52px}.escala-item__corner{position:absolute;top:8px;right:8px;display:flex;gap:6px}.escala-item__corner-btn{width:30px;height:30px;font-size:.85rem;border-radius:9px}.instructions--scroll{max-height:65vh;overflow:auto;padding-right:6px}.instructions--flat{margin:0;padding:0;border:0;background:transparent}.rich-box{display:flex;flex-direction:column;gap:4px}.rich-box__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rich-box__actions{display:flex;align-items:center;gap:2px;flex:none}.rich-box__expand{color:var(--pine)}.rich-box__expand:disabled{opacity:.35;cursor:not-allowed}.rich-box__expand:disabled:hover{opacity:.35}.rich-box__frame{position:relative;border:2px solid #e2ebe5;border-radius:14px;background:#fff}.rich-box__empty{margin:0;padding:12px 16px;color:var(--muted);font-size:.92rem}.rich-box--empty .rich-box__frame{border:0;background:transparent}.rich-box--empty .rich-box__empty{padding:2px 0 4px;color:var(--ink);opacity:.75}.rich-box__scroll{overflow:auto;overscroll-behavior:contain;padding:12px 16px}.rich-box--clamped .rich-box__frame:after{content:"";position:absolute;left:2px;right:2px;bottom:2px;height:46px;border-radius:0 0 12px 12px;background:linear-gradient(to bottom,#fff0,#fff 85%);pointer-events:none}.doc-full{display:flex;flex-direction:column;height:100%;background:var(--paper)}.doc-full__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:2px solid #e2ebe5;background:var(--paper)}.doc-full__head .rich-box__actions{align-items:flex-start;gap:6px}.doc-full__sub{display:block;margin-left:0}.doc-full__body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:6px;padding:16px 20px}.doc-full__body .instructions{font-size:1.02rem}.doc-full__actions{display:flex;justify-content:flex-end;padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:2px solid #e2ebe5;background:var(--paper)}.instructions img{max-width:100%;height:auto;border-radius:12px}.instructions-dialog .cat-form__sub{display:block;font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--muted)}.escala-item__line{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;line-height:1.4}.escala-item__prep{color:var(--muted);font-weight:600}.text-link{background:none;border:0;padding:0;font:inherit;font-weight:800;color:var(--forest);cursor:pointer;border-radius:6px;transition:color .15s ease}.text-link:hover,.text-link:focus-visible{color:#c77f1f;outline:0}.escala-item__add{width:30px;height:30px;font-size:1rem;font-weight:800;border-radius:9px}.crumbs__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--muted)}.crumbs__item{display:inline-flex;align-items:center;gap:4px;min-width:0}.crumbs__sep{color:var(--sage);font-size:1.1rem;line-height:1}.crumbs__link{background:none;border:0;padding:4px 8px;margin:-4px;border-radius:10px;font:inherit;color:var(--pine);cursor:pointer;text-decoration:none;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;transition:background .15s ease}.crumbs__link:hover,.crumbs__link:focus-visible{background:#ffffffb3;color:#c77f1f;outline:0}.crumbs__current{color:var(--forest);white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.link-btn--danger{color:#9a3f31}.link-btn:disabled{opacity:.5;cursor:not-allowed}.staff-card__alert--soft{color:var(--pine);font-weight:600}.detail-note{margin:0;color:var(--ink);line-height:1.5}.link-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:2px solid var(--sage);border-radius:999px;background:#fff;font:inherit;font-weight:700;color:var(--pine);cursor:pointer;transition:transform .15s ease,background .15s ease}.link-chip:hover{background:#f3f7f4;transform:translateY(-1px)}.staff-tag--link{border:0;cursor:pointer;font:inherit;font-family:var(--font-display);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.02em;transition:transform .15s ease}.staff-tag--link:hover{transform:translateY(-1px);filter:brightness(.97)}.staff-tag--soft{background:#eef2ef;color:var(--pine)}.staff-tag--team{border:2px solid;box-shadow:0 1px #183d361a}.staff-tag--inline{padding:2px 10px;font-size:.7rem;vertical-align:middle}.team-filter__list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.team-filter__chip{gap:6px}.team-filter__chip.chip-toggle--on{box-shadow:0 3px #183d3633}.detail-h2-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.detail-h2-row .detail-h2{margin:0}.escala-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.escala-item__event{font-weight:700}.escala-item__role{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.escala-item__role .staff-tag__n{text-transform:none;letter-spacing:0;padding:1px 8px}.staff-card--clickable{transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.staff-card--clickable .staff-card__body{cursor:pointer;outline:0}.staff-card--clickable:has(.staff-card__body:hover),.staff-card--clickable:has(.staff-card__body:focus-visible){background:#f3f7f4;transform:translateY(-2px);box-shadow:0 8px #183d361f}.staff-card--clickable:has(.staff-card__body:focus-visible){border-color:var(--sage)}@supports not selector(:has(a)){.staff-card--clickable:hover{background:#f3f7f4}}.staff-card--compact{padding:10px 14px}.cat-field__label--icon{display:inline-flex;align-items:center;gap:5px}.detail-h2 .audience-icon{height:26px;width:auto}.kid-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.kid-card{background:var(--paper);border:2px solid #fff;border-left:6px solid var(--sky);border-radius:14px;box-shadow:0 3px #183d3614;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.kid-card__main{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:0 12px 12px 0;outline:0}.kid-card__main--static{cursor:default}.kid-card:has(>.kid-card__main:not(.kid-card__main--static):hover),.kid-card:has(>.kid-card__main:focus-visible){background:#f3f7f4;transform:translateY(-2px);box-shadow:0 5px #183d361a}.kid-card:has(>.kid-card__main:focus-visible){border-color:var(--sage)}.kid-card__body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.kid-card__name{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--forest);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kid-card__age{font-family:var(--font-body);font-size:.75rem;font-weight:700;color:var(--muted);background:#eef2ef;padding:2px 8px;border-radius:999px}.kid-card__chevron{flex:none;color:var(--muted);font-size:1.4rem;line-height:1;padding:0 4px}.kid-card--with-corner{position:relative}.kid-card--with-corner .kid-card__main{padding-right:60px}.kid-card__corner{position:absolute;top:8px;right:8px;z-index:1}.wa-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 3px #183d3626;text-decoration:none;transition:transform .15s ease,filter .15s ease}.wa-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.wa-btn:active{transform:translateY(1px);box-shadow:0 1px #183d3626}.wa-btn:focus-visible{outline:3px solid var(--sage);outline-offset:2px}.wa-btn--sm{width:30px;height:30px;box-shadow:0 2px #183d3626}.wa-btn--sm svg{width:16px;height:16px}@media (max-width: 560px){.detail-grid{grid-template-columns:1fr;gap:2px 0}.detail-grid dt{margin-top:8px}.escala-item{flex-direction:column;gap:4px}}.staff-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.health-filter{display:flex;gap:6px;flex-wrap:wrap}.health-filter .chip-toggle{gap:6px}.health-filter .chip-toggle:disabled{opacity:.45;cursor:not-allowed;transform:none}.health-filter .chip-toggle--on .cat-tab__count{background:var(--sun)}.staff-toolbar__search{flex:1;min-width:220px;position:relative;display:flex;align-items:center}.staff-toolbar__search .cat-input{padding:10px 14px 10px 42px}.staff-toolbar__search-icon{position:absolute;left:14px;color:var(--muted);pointer-events:none}.staff-toolbar__search:focus-within .staff-toolbar__search-icon{color:var(--pine)}.staff-toolbar__filters{display:flex;gap:6px}.staff-toolbar__filters .cat-tab{min-height:42px;padding:6px 12px;font-size:.85rem}.staff-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.staff-card{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--paper);border:3px solid #fff;border-radius:var(--radius);box-shadow:0 6px #183d361f}.staff-card--inactive{opacity:.6;border-style:dashed;border-color:var(--sage)}.staff-card__body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.staff-card__name{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--forest);display:flex;align-items:center;gap:8px}.staff-card__inactive{font-family:var(--font-body);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#eef2ef;padding:2px 8px;border-radius:999px}.staff-card__meta{margin:0;color:var(--muted);font-size:.85rem;font-weight:600}.staff-card__tags{display:flex;gap:6px;flex-wrap:wrap}.roommate-section{gap:12px}.roommate-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.roommate-head .detail-h2{margin:0}.roommate-count{flex:none;color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap}.roommate-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.roommate-card{min-width:0;min-height:64px;display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px solid #fff;border-left:5px solid var(--sun);border-radius:14px;background:var(--paper);box-shadow:0 3px #183d3614}.roommate-card__icon{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#eef2ef}.roommate-card__icon--caretaker{background:#fff0d7}.roommate-card__icon--helper{background:#e5f3f0}.roommate-card__icon img{display:block;width:40px;height:40px;object-fit:contain}.roommate-card__body{min-width:0;display:flex;flex-direction:column;gap:2px}.roommate-card__name{overflow:hidden;color:var(--forest);font-family:var(--font-display);font-size:.95rem;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.roommate-card__role{color:var(--muted);font-size:.76rem;font-weight:700}.roommate-card__wa{flex:none;margin-left:auto}.roommate-card__team{align-self:flex-start;margin-top:2px}.staff-tag{padding:6px 14px;border-radius:999px;background:transparent;border:2px solid var(--sage);color:var(--forest);font-family:var(--font-display);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.02em}.staff-tag--transport{padding:0;gap:6px;border:0;background:transparent}.staff-tag--transport .bus-logo,.staff-tag--transport .car-logo{margin:-4px 0}.staff-tag--transport.staff-tag--pill{padding:4px 12px 4px 8px;border:2px solid var(--sage);border-radius:999px}@media (max-width: 560px){.roommate-list{grid-template-columns:1fr}.roommate-card{min-height:60px}}.staff-card__alert{margin:0;color:#c0392b;font-weight:700;font-size:.85rem;display:flex;align-items:baseline;gap:6px}.staff-card__alert-icon{flex:none;display:inline-flex;align-items:center}.no-pill{width:1.15em;height:1.15em;vertical-align:-.2em;flex:none}.button--edit{flex:none;padding:12px 26px;border-radius:16px;background:#f9f0c6;color:var(--forest);font-size:.95rem;box-shadow:0 4px #183d3626}.button--edit:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.03)}.button--edit:disabled{opacity:.5;cursor:not-allowed}.button--danger{background:#d84a3a;color:#fff;box-shadow:0 5px #a33124}.button--danger:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.06)}.button--danger:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #a33124}.confirm__message{margin:0;color:var(--ink);line-height:1.5}.confirm__message strong{color:var(--forest)}.button--warn{background:var(--sun);color:var(--forest-dark);box-shadow:0 5px #c77f1f}.button--warn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.06)}.button--warn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #c77f1f}.button--warn:disabled{opacity:.55;cursor:not-allowed}.confirm{position:relative}.confirm__close{position:absolute;top:12px;right:12px;width:30px;height:30px;border:0;border-radius:50%;background:#183d3614;color:var(--forest);font-size:.85rem;font-weight:800;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.confirm__close:hover{background:#183d3629}.confirm__options{display:flex;flex-direction:column;padding:8px 12px;border-radius:14px;background:#0f9a8a14;max-height:46vh;overflow-y:auto}.confirm__options-all{border-bottom:2px solid rgba(15,154,138,.22);margin-bottom:2px}.confirm__options-all .toggle{font-weight:800;color:var(--forest)}.confirm__options-title{margin:0 0 2px;font-family:var(--font-display);font-weight:800;font-size:.85rem;color:var(--forest)}.confirm__options .toggle{height:40px;font-size:.85rem;text-align:left}.confirm__options .toggle__track{width:42px;height:24px}.confirm__options .toggle__knob{width:20px;height:20px;top:2px;left:2px}.confirm__options .toggle--on .toggle__knob{transform:translate(18px)}.confirm__option-icon{width:1.25em;height:1.25em;object-fit:contain;vertical-align:-.22em}.confirm .cat-form__title{padding-right:40px}.print-dialog__kinds{display:grid;grid-template-columns:1fr 1fr;gap:10px}.print-kind{display:flex;align-items:center;gap:10px;padding:12px;border:3px solid var(--sage);border-radius:16px;background:#fff;text-align:left;font:inherit;color:var(--ink);cursor:pointer;transition:transform .15s ease,border-color .15s ease}.print-kind:hover:not(:disabled){transform:translateY(-2px)}.print-kind--active{border-color:var(--forest-dark);background:#eef6ef;box-shadow:0 4px #0863382e}.print-kind__emoji{font-size:1.9rem;flex:none}.print-kind__text{display:flex;flex-direction:column;gap:2px;min-width:0}.print-kind__text strong{font-family:var(--font-display);font-size:1.05rem;color:var(--forest)}.print-kind__text small{font-size:.78rem;color:var(--muted);line-height:1.3}.print-kind__size{font-weight:700}.print-dialog__scope{display:flex;flex-direction:column;gap:6px}.print-scope{display:flex;align-items:center;gap:8px;font-weight:700;cursor:pointer}.print-scope em{font-style:normal;color:var(--muted);font-weight:600}.print-batch{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:2px dashed var(--sage);border-radius:14px;background:#fff}.print-batch__stepper{display:flex;align-items:center;gap:10px}.print-batch__arrow:disabled{opacity:.35;cursor:not-allowed}.print-batch__label{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.print-batch__label strong{font-family:var(--font-display);font-size:1.05rem;color:var(--forest)}.print-batch__label small{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.print-batch__dots{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.print-batch__dot{width:30px;height:30px;border-radius:999px;border:2px solid var(--sage);background:#fff;font:inherit;font-weight:800;font-size:.8rem;color:var(--pine);cursor:pointer}.print-batch__dot--current{border-color:var(--forest-dark);box-shadow:0 0 0 3px #0863382e}.print-batch__dot--done{background:var(--forest-dark);border-color:var(--forest-dark);color:#fff}.print-dialog__hint{margin:0;font-size:.85rem;color:var(--muted);line-height:1.4}@media (max-width: 480px){.print-dialog__kinds{grid-template-columns:1fr}}.link-danger{align-self:center;background:none;border:0;font-family:var(--font-display);font-weight:700;color:#9a3f31;cursor:pointer;padding:8px 12px;border-radius:12px}.link-danger:hover:not(:disabled){background:#f5d6cc}.toggle{display:inline-flex;align-items:center;gap:10px;height:49px;padding:0 4px;border:0;background:none;font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--muted);cursor:pointer}.toggle__track{position:relative;width:52px;height:30px;flex:none;border-radius:999px;background:#cfd9d2;transition:background .2s ease;box-shadow:inset 0 2px 3px #0000001f}.toggle__knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #00000040;transition:transform .2s cubic-bezier(.4,0,.2,1)}.toggle--on{color:var(--forest)}.toggle--on .toggle__track{background:var(--forest)}.toggle--on .toggle__knob{transform:translate(22px)}.toggle:focus-visible .toggle__track{outline:3px solid var(--sun);outline-offset:2px}.toggle:disabled{opacity:.5;cursor:not-allowed}.staff-form__row{flex-wrap:wrap;align-items:flex-start}.staff-form__row>.cat-field--grow{min-width:180px}.staff-form__row>.cat-form__actions{align-self:flex-end}.cat-form .phone-field{padding:8px 14px;border-radius:14px;box-shadow:none}.cat-form .phone-field input{font-size:1.05rem}select.cat-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'><path d='M1 1l6 6 6-6' fill='none' stroke='%232e6652' stroke-width='2.5' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}.disclosure{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;padding:12px 14px;border:3px dashed var(--sage);border-radius:14px;background:#fff;font-family:var(--font-display);font-weight:800;color:var(--pine);cursor:pointer;text-align:left}.disclosure:hover{background:#f3f7f4}.disclosure--open{border-style:solid}.disclosure__arrow{display:inline-block;font-size:.75rem;transition:transform .15s ease}.disclosure--open .disclosure__arrow{transform:rotate(90deg)}.disclosure__badge{padding:2px 8px;border-radius:999px;background:var(--sun);color:var(--forest-dark);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.disclosure__hint{font-family:var(--font-body);font-weight:600;font-size:.78rem;color:var(--muted)}.staff-form__obs{display:flex;flex-direction:column;gap:14px;padding:14px;border-radius:14px;background:#fff;border:2px solid #e2ebe5}.chip-toggle--small{min-height:38px;padding:6px 12px;font-size:.85rem;border-width:2px;border-radius:999px}@media (max-width: 560px){.staff-card{flex-direction:column;align-items:stretch}.staff-card__body{align-items:flex-start}.button--edit{width:100%}.staff-card>.icon-btn--lg{width:100%}.staff-form__row{flex-direction:column}.staff-form__row>.cat-field--grow{min-width:0}}.play-scene{position:relative;height:190px;margin:24px calc(50% - 50cqw) -64px;pointer-events:none;overflow:hidden;perspective:900px;perspective-origin:50% 30%}.play-prop{position:absolute;bottom:8px;height:auto;filter:drop-shadow(0 6px 0 rgba(24,61,54,.12));will-change:transform;animation-iteration-count:infinite;animation-fill-mode:both}.play-prop--bounce-in{left:-90px;animation-name:ball-bounce;animation-timing-function:linear}@keyframes ball-bounce{0%{transform:translateY(-160px) rotate(0)}5%{transform:translate(110px) rotate(.4turn);animation-timing-function:ease-out}8%{transform:translate(170px,-70px) rotate(.6turn);animation-timing-function:ease-in}11%{transform:translate(230px) rotate(.8turn);animation-timing-function:ease-out}13%{transform:translate(270px,-30px) rotate(.95turn);animation-timing-function:ease-in}15%{transform:translate(300px) rotate(1.05turn);animation-timing-function:ease-out}16.5%{transform:translate(320px,-10px) rotate(1.1turn)}18%,31%{transform:translate(330px) rotate(1.15turn)}40%{transform:translate(430px) rotate(1.5turn)}50%,to{transform:translate(120vw) rotate(3turn)}}.play-car{--car-width: 260px;position:absolute;left:calc(-1 * var(--car-width));bottom:0;width:var(--car-width);height:180px;animation:car-drive 16s .5s linear infinite both;will-change:transform}.play-car__canvas{display:block;width:100%;height:100%}.play-car__fallback{position:absolute;width:65%;height:auto;left:17.5%;bottom:20px;filter:drop-shadow(0 5px 3px rgba(24,61,54,.18))}@keyframes car-drive{0%,52%{transform:translateZ(0)}61%{transform:translate3d(calc(30vw + var(--car-width) * .3),0,0);animation-timing-function:ease-out}68%{transform:translate3d(calc(48vw + var(--car-width) * .5),0,0);animation-timing-function:ease-in-out}75%{transform:translate3d(calc(56vw + var(--car-width) * .5),0,0);animation-timing-function:cubic-bezier(.65,0,.9,.45)}90%,to{transform:translate3d(calc(100vw + var(--car-width) * 2),0,0)}}@media (prefers-reduced-motion: reduce){.play-car{left:28%;transform:none;will-change:auto}}.play-prop--float{bottom:60px;animation-name:kite-float;animation-timing-function:ease-in-out;transform-origin:50% 90%}@keyframes kite-float{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-26px) rotate(6deg)}}.play-garden{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.play-garden__canvas{display:block;width:100%;height:100%}@media (max-width: 560px){.play-scene{display:none}}.sync-dot{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:0;border-radius:999px;background:#ffffff2e;color:var(--sand);font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.02em;cursor:pointer}.sync-dot__led{width:10px;height:10px;border-radius:50%;background:#9aada6;box-shadow:0 0 0 2px #ffffff40}.sync-dot--online .sync-dot__led{background:#7ddc8a;box-shadow:0 0 0 2px #7ddc8a59,0 0 10px #7ddc8acc}.sync-dot--connecting .sync-dot__led{background:var(--sun);animation:sync-blink 1s ease-in-out infinite}.sync-dot--offline{background:#c96b5559}.sync-dot--offline .sync-dot__led{background:var(--red);box-shadow:0 0 0 2px #c96b5559}@keyframes sync-blink{50%{opacity:.35}}@media (max-width: 560px){.sync-dot__text{display:none}.sync-dot{padding:8px}}.install-banner{display:flex;gap:14px;align-items:flex-start;margin:14px 16px 0;padding:14px 16px;border-radius:var(--radius);background:#fff3d6;border:3px solid var(--sun);box-shadow:0 6px #9a641e2e;animation:install-pop .5s cubic-bezier(.2,1.4,.4,1)}@keyframes install-pop{0%{transform:scale(.96);opacity:0}}.install-banner__icon{width:48px;height:48px;flex:none;border-radius:12px;border:3px solid #fff;background:var(--forest);box-shadow:0 3px #0000001f;object-fit:contain}.install-banner__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.install-banner__title{font-family:var(--font-display);font-size:1rem;color:#7a4a10}.install-banner__text{margin:0;font-size:.9rem;line-height:1.45;color:#5a3c14}.install-banner__actions{display:flex;align-items:center;gap:14px;margin-top:4px;flex-wrap:wrap}.install-banner__cta{padding:10px 18px;font-size:.95rem}.install-banner__later{color:#7a4a10;font-size:.85rem}.install-how{display:flex;flex-direction:column;align-items:center;gap:14px;padding:26px 22px;text-align:center;background:var(--paper);border:4px solid #fff;border-radius:var(--radius);box-shadow:0 10px #183d362e}.install-how__icon{border-radius:18px;border:4px solid #fff;background:var(--forest);box-shadow:0 6px #183d361f}.install-how__title{margin:0;font-family:var(--font-display);font-size:1.4rem;color:var(--forest)}.install-how__steps{margin:0;padding-left:22px;text-align:left;line-height:1.55;display:flex;flex-direction:column;gap:8px}.install-how__glyph{display:inline-block;padding:0 6px;border:2px solid var(--sage);border-radius:6px;font-weight:800;color:var(--pine)}.install-how__text{margin:0}.form-box{display:flex;flex-direction:column;gap:14px;padding:14px;border-radius:14px;background:#fff;border:3px solid var(--sage)}.form-box--plain{border:0;padding:0;background:none;margin-top:18px}.meds{display:flex;flex-direction:column;gap:12px}.meds__card{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:14px;background:#fff;border:2px solid #e2ebe5}.meds__dose{flex:1 1 200px}.meds__remove{align-self:flex-end}.meds__chip-time{opacity:.7;font-weight:600;font-size:.78rem}.meds__custom{display:inline-flex;align-items:center;gap:6px}.meds__custom-input{width:auto;padding:6px 10px;border-width:2px;border-radius:999px;font-size:.85rem;min-height:38px}.meds__add{align-self:flex-start;padding:10px 18px;font-size:.95rem}.meds__list{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:4px}.meds__when{color:var(--pine);font-weight:700}.meds__when--missing{color:#9a641e}.opt-field{gap:4px}.opt-field__head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.opt-field__head .toggle{height:36px;padding:0}.opt-field__head .toggle__label{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.opt-field__head .no-pill,.cat-field__label .no-pill{width:20px;height:20px;vertical-align:-.35em}.opt-field__head .toggle--on .toggle__label{color:var(--pine)}.opt-field>.cat-field,.opt-field>.cat-fieldset{margin-top:4px}.form-box__title{margin:0;display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:1rem;color:var(--pine)}.emoji-pick__input--error{border-color:var(--red)}.emoji-pick__error{margin:6px 0 0}.staff-tag--person{padding:0;overflow:hidden}.staff-tag--person .staff-tag__open{display:inline-flex;align-items:center;gap:6px;padding:5px 4px 5px 10px;border:0;background:none;color:inherit;font:inherit;font-family:var(--font-display);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.02em;cursor:pointer}.staff-tag--person .staff-tag__open:hover{opacity:.8}.staff-tag__x{width:28px;align-self:stretch;border:0;border-left:2px solid rgba(24,61,54,.08);background:none;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer}.staff-tag__x:hover:not(:disabled){background:#f5d6cc;color:#9a3f31}.staff-tag__x:disabled{opacity:.4;cursor:not-allowed}.staff-tag--busy{opacity:.5}.event-role__add{margin-left:auto;font-size:1.2rem;font-weight:800}.add-person-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:2px solid var(--sage);border-radius:999px;background:none;color:var(--pine);font-family:var(--font-display);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;transition:border-color .15s ease,color .15s ease}.add-person-btn span{font-size:1rem;line-height:1}.add-person-btn:hover:not(:disabled),.add-person-btn:focus-visible{border-color:var(--pine);color:var(--forest);outline:0}.add-person-btn:disabled{opacity:.45;cursor:not-allowed}.escala-item__everyone{margin:0}.swap{display:flex;flex-direction:column;gap:12px}.swap__flow{display:flex;align-items:stretch;gap:10px}.swap__card{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:16px;border:3px solid var(--sage);background:#fff}.swap__card--from{border-style:dashed;opacity:.85}.swap__card--to{border-color:var(--forest);background:#eef6f1;box-shadow:0 4px #183d3626}.swap__label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.swap__card--to .swap__label{color:var(--forest-dark)}.swap__role{font-family:var(--font-display);font-size:1.05rem;color:var(--forest)}.swap__where{font-size:.85rem;color:var(--muted)}.swap__arrow{align-self:center;flex:none;font-size:1.6rem;color:var(--sun)}@media (max-width: 520px){.swap__flow{flex-direction:column}.swap__arrow{transform:rotate(90deg)}}.checkin-picker{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.checkin-picker__item{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;background:var(--paper);border:3px solid #fff;border-top:8px solid var(--sun);border-radius:var(--radius);box-shadow:0 6px #183d361f;cursor:pointer;text-align:left;font:inherit;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.checkin-picker__item:hover,.checkin-picker__item:focus-visible{transform:translateY(-2px);background:#f3f7f4;box-shadow:0 8px #183d361f;outline:0}.checkin-picker__item:active{transform:translateY(1px);box-shadow:0 3px #183d361f}.checkin-picker__emoji{width:32px;text-align:center;font-size:1.6rem;line-height:1}.checkin-picker__icon{width:32px;height:32px;object-fit:contain}.checkin-picker__name{min-width:0;font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--forest)}.checkin-picker__arrow{color:var(--sage);font-family:var(--font-display);font-size:1.5rem;font-weight:800;line-height:1}@media (max-width: 800px){.checkin-picker{grid-template-columns:1fr}.checkin-picker__item{border-top-width:3px;border-left:8px solid var(--sun)}}.message--warn{border:2px solid var(--sun);border-radius:var(--radius);padding:10px 14px;background:#fdf1d3;color:#9a641e}.vest-status--late{color:#b3261e}.vest-toggle .disclosure__arrow{color:var(--pine)}.vest-toggle--open .disclosure__arrow{transform:rotate(90deg)}.vest-details{flex-basis:100%;font-weight:600;color:var(--muted);line-height:1.4}.birthday-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;border:3px solid var(--sun);border-radius:var(--radius);background:#fdf1d3;box-shadow:0 6px #e7a44e40}.birthday-banner__emoji{flex:none;font-size:2rem;line-height:1}.birthday-banner__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.birthday-banner__title{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:#9a641e}.birthday-banner__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px;font-size:.95rem;color:#9a641e}.birthday-banner__item--today{font-weight:700}.message--ok{border:2px solid #8fc59a;border-radius:var(--radius);padding:10px 14px;background:#e3f3e6;color:#1f5f34}.checkin-progress{flex:none;font-family:var(--font-display);font-weight:800;color:var(--forest);background:var(--sun);padding:8px 14px;border-radius:999px;box-shadow:0 3px #183d3626;white-space:nowrap}.checkin-card--done{opacity:.72;background:#eef6f0}.checkin-card__when{color:var(--muted);font-weight:600}.checkin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.checkin-item{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:#fff;border:2px solid #e2ebe5;border-radius:14px;transition:border-color .15s ease,background .15s ease}.checkin-item--ok{border-color:#8fc59a;background:#f1f9f3}.checkin-item__info{display:flex;flex-direction:column;gap:2px}.checkin-item__title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:flex;align-items:center;gap:4px}.checkin-item__text{font-weight:700;color:var(--ink);white-space:pre-wrap}.checkin-check{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:700;color:var(--pine);-webkit-user-select:none;user-select:none;min-height:32px}.checkin-check input{width:24px;height:24px;margin:0;accent-color:var(--forest-dark);cursor:pointer;flex:none}.checkin-check input:disabled{cursor:not-allowed}.checkin-item--ok .checkin-check{color:#1f5f34}.vehicle{background:var(--paper);border:3px solid #fff;border-left:8px solid var(--sun);border-radius:var(--radius);box-shadow:0 6px #183d361f;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.vehicle--complete{border-left-color:#6fb37f}.vehicle--none{border-left-color:var(--red)}.vehicle__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.vehicle__title{margin:0;display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--forest)}.vehicle__counts{display:flex;gap:14px;font-weight:800;color:var(--pine);font-variant-numeric:tabular-nums}.vehicle__counts span{display:inline-flex;align-items:center;gap:4px}.vehicle__progress{display:flex;align-items:center;gap:12px}.vehicle__bar{flex:1;height:14px;border-radius:999px;background:#e2ebe5;overflow:hidden}.vehicle__bar-fill{display:block;height:100%;background:linear-gradient(90deg,var(--pine),#6fb37f);border-radius:999px;transition:width .3s ease}.vehicle__pct{flex:none;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.vehicle__pct strong{color:var(--forest);font-size:1.1rem}.vehicle__hint{margin:0;color:var(--muted);font-weight:600}.vehicle__hint strong{color:var(--forest)}.vehicle__hint--warn{color:#9a3f31}.vehicle__kids,.vehicle__staff{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:2px dashed #e2ebe5}.vehicle__subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.vehicle__h3{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--forest);display:flex;align-items:center;gap:6px}.vehicle__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.vehicle__person{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:2px dashed #eef2ef}.vehicle__person:last-child{border-bottom:0}.vehicle__person--ok{opacity:.6}.vehicle__person-name{font-weight:800;color:var(--ink);display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.vehicle__person-meta{color:var(--muted);font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:10px}.vehicle__person{align-items:center}.vehicle__person-name .link-btn{color:var(--ink)}.vehicle__check{flex:none;width:28px;height:28px;border-radius:8px;border:3px solid var(--sage);background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:900;color:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.vehicle__check:hover:not(:disabled){transform:translateY(-1px)}.vehicle__check--on{background:var(--forest-dark);border-color:var(--forest-dark)}.vehicle__check:disabled{opacity:.5;cursor:default}.bus-trip-picker{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bus-trip-picker__item{width:100%;min-height:132px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:20px;border:3px solid #fff;border-left:8px solid var(--sun);border-radius:var(--radius);background:var(--paper);box-shadow:0 6px #183d361f;cursor:pointer;text-align:left;font:inherit;transition:transform .15s ease,background-color .15s ease}.bus-trip-picker__item:hover,.bus-trip-picker__item:focus-visible{transform:translateY(-2px);background:#f3f7f4;outline:0}.bus-trip-picker__item:active{transform:translateY(1px)}.bus-trip-picker__emoji{width:46px;text-align:center;font-size:2.2rem;line-height:1}.bus-trip-picker__body{min-width:0;display:flex;flex-direction:column;gap:5px}.bus-trip-picker__body strong{font-family:var(--font-display);font-size:1.18rem;color:var(--forest)}.bus-trip-picker__body span{color:var(--muted);font-size:.88rem;line-height:1.35}@media (max-width: 620px){.bus-trip-picker{grid-template-columns:1fr}.bus-trip-picker__item{min-height:108px}}.trip-swap{flex:none;white-space:nowrap;gap:6px}.bus-picker{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;align-items:stretch}.bus-picker>li{display:flex}.bus-picker__item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 20px;background:var(--paper);border:3px solid #fff;border-left:8px solid var(--sun);border-radius:var(--radius);box-shadow:0 6px #183d361f;cursor:pointer;text-align:left;font:inherit;transition:transform .15s ease,background .15s ease}.bus-picker__item:hover{transform:translateY(-2px);background:#f3f7f4}.bus-picker__item--done{border-left-color:#6fb37f}.bus-picker__name{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--forest)}.bus-picker__foot{width:100%;margin-top:auto;display:flex;flex-direction:column;gap:6px}.bus-picker__count{font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.bus-picker__bar{height:8px;border-radius:999px;background:#e2ebe5;overflow:hidden}.bus-picker__bar i{display:block;height:100%;border-radius:999px;background:var(--sun);transition:width .3s ease}.bus-picker__item--done .bus-picker__bar i{background:#6fb37f}.bus-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.bus-row{width:100%;display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--paper);border:3px solid #fff;border-radius:16px;box-shadow:0 4px #183d361a;cursor:pointer;text-align:left;font:inherit;transition:background .15s ease,transform .1s ease}.bus-row:active:not(:disabled){transform:scale(.99)}.bus-row:disabled:not(.bus-row--locked):not(.bus-row--readonly){opacity:.6;cursor:wait}.bus-row--readonly:disabled{opacity:1;cursor:default}.bus-row--readonly.bus-row--locked:disabled{opacity:.55}.bus-row--on{background:#e3f3e6;border-color:#b9dfc2}.bus-row__check{flex:none;width:36px;height:36px;border-radius:10px;border:3px solid var(--sage);background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:900;color:#fff;transition:background .15s ease,border-color .15s ease}.bus-row__check--on{background:var(--forest-dark);border-color:var(--forest-dark)}.bus-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.bus-row__name{font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--forest);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.strike{position:relative;display:inline-block}.strike:after{content:"";position:absolute;left:-2px;right:-2px;top:50%;height:3px;border-radius:2px;background:var(--sun);transform:translateY(-50%) rotate(-1.5deg) scaleX(0);transform-origin:left center;transition:transform .2s ease-in;pointer-events:none}.strike--on:after{transform:translateY(-50%) rotate(-1.5deg) scaleX(1);transition:transform .45s cubic-bezier(.25,.8,.35,1) .05s}.bus-row--roll{transition:background .2s ease,border-color .2s ease,transform .1s ease}.bus-row--roll .bus-row__check{line-height:1;box-sizing:border-box}.bus-row--roll .bus-row__check>svg{display:block}.bus-row--roll .bus-row__check--on svg{animation:vest-tick .25s cubic-bezier(.2,1.4,.5,1) both}.bus-item--leaving{animation:vest-leave .65s ease-in both;pointer-events:none}.bus-item--leaving>.bus-row:disabled{opacity:1}.bus-row__meta{font-size:.85rem;font-weight:600;color:var(--muted)}.bus-row--locked{opacity:.55;cursor:not-allowed;background:#f4f4f1;border-style:dashed;border-color:var(--sage)}.bus-row--locked .bus-row__check{font-size:1rem;border-style:dashed}.team-swatch{display:inline-block;width:14px;height:14px;border-radius:4px;border:2px solid;vertical-align:-2px}.team-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.team-card{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--paper);border:3px solid #fff;border-left:10px solid var(--sun);border-radius:var(--radius);box-shadow:0 5px #183d361f}.team-card__badge{flex:none;min-width:44px;height:44px;padding:0 10px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:900;font-size:1.1rem;box-shadow:0 3px #183d3626}.team-card__body{flex:1;min-width:0}.team-card__name{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--forest)}.team-card__meta{margin:2px 0 0;color:var(--muted);font-size:.85rem;font-weight:600}.team-card__actions{flex:none;display:inline-flex;gap:6px}.team-joker{align-self:flex-start}.color-picker{display:flex;flex-direction:column;gap:10px}.color-picker__custom{position:relative;display:block;cursor:pointer}.color-picker__custom input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.color-picker__preview{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:14px;border:3px solid #fff;box-shadow:0 4px #183d361f;font-family:var(--font-display);font-weight:800;font-size:1.1rem}.color-picker__presets{display:flex;flex-wrap:wrap;gap:8px}.color-picker__swatch{width:34px;height:34px;border-radius:10px;border:3px solid #fff;box-shadow:0 3px #183d3626;cursor:pointer;transition:transform .1s ease}.color-picker__swatch:hover:not(:disabled){transform:translateY(-2px)}.color-picker__swatch--on{outline:3px solid var(--forest);outline-offset:2px}.score-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:rank}.score-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--paper);border:3px solid #fff;border-left:10px solid var(--sun);border-radius:var(--radius);box-shadow:0 5px #183d361f}.score-card--leader{background:#fff8e1}.score-card__rank{flex:none;width:38px;text-align:center;font-family:var(--font-display);font-weight:900;font-size:1.3rem;color:var(--forest)}.score-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.score-card__name{align-self:flex-start;border:0;background:none;padding:0;font:inherit;font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--forest);cursor:pointer;text-align:left}.score-card__name:hover{opacity:.8}.score-card__bar{display:block;height:10px;border-radius:999px;background:#e2ebe5;overflow:hidden}.score-card__fill{display:block;height:100%;border-radius:999px;transition:width .4s ease}.score-card__points{flex:none;min-width:56px;padding:8px 12px;border-radius:14px;text-align:center;font-family:var(--font-display);font-weight:900;font-size:1.35rem;font-variant-numeric:tabular-nums;box-shadow:0 3px #183d3626}.score-card__actions{flex:none;display:inline-flex;gap:6px}.score-btn{font-size:1.05rem}.bulk-points__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.bulk-points__kid{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center;padding:10px 14px;border:2px solid #fff;border-left:6px solid var(--sage);border-radius:14px;background:#fff;box-shadow:0 3px #183d3614;cursor:pointer;text-align:left;font:inherit;transition:transform .1s ease}.bulk-points__kid:hover:not(:disabled){transform:translateY(-1px)}.bulk-points__kid:disabled{opacity:.55;cursor:not-allowed}.bulk-points__name{font-family:var(--font-display);font-weight:800;color:var(--forest)}.bulk-points__team{grid-row:2;color:var(--muted);font-weight:600;font-size:.8rem}.bulk-points__plus{grid-row:1 / span 2;padding:4px 12px;border-radius:999px;background:#e3f3e6;color:#1e6b3a;font-family:var(--font-display);font-weight:900}.bulk-points__kid{position:relative}.bulk-points__kid--cheer{background:#e3f3e6;border-color:#b9dfc2;animation:bulk-cheer .6s cubic-bezier(.2,1.4,.4,1) both}.bulk-points__kid--cheer{cursor:default}.bulk-points__cheer-actions{grid-row:1 / span 2;display:inline-flex;align-items:center;gap:12px}.bulk-points__plus--given{background:var(--forest);color:#fff;animation:bulk-cheer-chip .6s cubic-bezier(.2,1.6,.4,1) both}.bulk-points__burst{position:absolute;right:120px;top:50%;width:0;height:0;pointer-events:none}.bulk-points__burst i{position:absolute;left:0;top:0;font-style:normal;font-size:1.15rem;line-height:1;animation:bulk-burst .9s ease-out both;animation-delay:calc(var(--i) * 40ms);--a: calc(var(--i) * 60deg)}.bulk-points__item--leaving{animation:bulk-leave 3s ease-in both}.bulk-points__item--undoing .bulk-points__kid--cheer{animation:none;background:var(--paper);border-color:#fff}@keyframes bulk-cheer{0%{transform:scale(1)}35%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes bulk-cheer-chip{0%{transform:scale(.6)}50%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes bulk-burst{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--a)) translateY(0) scale(.5)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-56px) scale(1.2)}}@keyframes bulk-leave{0%,80%{opacity:1;transform:none;max-height:120px}93%{opacity:0;transform:translateY(24px);max-height:120px;margin-bottom:0}to{opacity:0;transform:translateY(24px);max-height:0;margin-bottom:-8px;overflow:hidden;pointer-events:none}}.bulk-points__done{display:flex;flex-direction:column;gap:8px;margin-top:6px;padding-top:14px;border-top:2px dashed #d8e1db}.bulk-points__done-title{margin:0;font-family:var(--font-display);font-size:1rem;color:var(--muted)}.bulk-points__kid--done{cursor:default;background:var(--paper);box-shadow:none}.bulk-points__kid--done .bulk-points__name{color:var(--pine)}.bulk-points__undo{grid-row:1 / span 2;font-size:.9rem;white-space:nowrap}.score-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.score-log__item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--paper);border:3px solid #fff;border-left:8px solid var(--sage);border-radius:16px;box-shadow:0 3px #183d361a}.score-log__item--remove{background:#fdf3f0}.score-log__item--reset{background:#f3f3f3}.score-log__kind{font-size:.95rem}.score-log__del{width:34px;height:34px;font-size:.9rem}.score-log__line .link-btn{font-family:var(--font-display)}.score-log__dot{flex:none;width:14px;height:14px;border-radius:50%}.score-log__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.score-log__line{font-size:.98rem;color:var(--forest)}.score-log__pts{font-family:var(--font-display);font-weight:900;padding:1px 8px;border-radius:999px;background:#e3f3e6;color:#1e6b3a}.score-log__pts--remove{background:#f5d6cc;color:#9a3f31}.score-log__pts--reset{background:#eee;color:var(--muted)}.score-log__note{font-size:.9rem;color:var(--pine);font-style:italic}.score-log__meta{font-size:.78rem;font-weight:600;color:var(--muted)}.score-pos{color:#1e6b3a}.score-neg{color:#9a3f31}.score-days{display:flex;flex-direction:column;gap:18px}.score-day{display:flex;flex-direction:column;gap:8px}.score-day__title{margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--forest)}.score-day__meta{font-size:.8rem;font-weight:600;color:var(--muted);white-space:nowrap}.score-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.score-section{display:flex;flex-direction:column;gap:10px}.score-section__title{margin:0;display:flex;align-items:baseline;gap:12px;font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--forest)}.score-section__clear{margin-left:auto;font-size:.85rem;white-space:nowrap}.score-swatch{display:inline-block;width:.9em;height:.9em;border-radius:6px;border:2px solid #fff;box-shadow:0 2px #183d3626}.score-hero{display:flex;flex-direction:column;align-items:center;gap:2px;padding:18px;border:3px solid #fff;border-radius:var(--radius);box-shadow:0 5px #183d3626}.score-hero__pts{font-family:var(--font-display);font-weight:900;font-size:3rem;line-height:1;font-variant-numeric:tabular-nums}.score-hero__meta{font-weight:700;font-size:.9rem;opacity:.85}.stat-card--static{cursor:default}.stat-card--static:hover{transform:none}.stat-card__label{color:inherit}.score-events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.score-event{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center;padding:10px 14px;border:2px solid #fff;border-left:6px solid var(--sage);border-radius:14px;background:#fff;box-shadow:0 3px #183d3614;cursor:pointer;text-align:left;font:inherit;transition:transform .1s ease}.score-event:hover:not(.score-event--static){transform:translateY(-1px)}.score-event--static{cursor:default}.score-event--on{background:#fff8e1}.score-event__name{font-family:var(--font-display);font-weight:800;color:var(--forest);text-align:left}.score-event__meta{grid-row:2;color:var(--muted);font-weight:600;font-size:.8rem}.score-event__pts{grid-row:1 / span 2;padding:4px 12px;border-radius:999px;background:#e3f3e6;color:#1e6b3a;font-family:var(--font-display);font-weight:900;font-variant-numeric:tabular-nums}.score-event__side{grid-row:1 / span 2;display:inline-flex;flex-direction:column;align-items:flex-end;gap:4px}.score-event__filter{font-size:.8rem}.score-recent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.score-recent__item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:2px solid #fff;border-left:6px solid var(--sage);border-radius:14px;box-shadow:0 3px #183d3614}.score-recent__text{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px;font-size:.95rem;color:var(--forest)}.score-recent__meta{width:100%;font-size:.76rem;font-weight:600;color:var(--muted)}@media (max-width: 560px){.score-card{flex-wrap:wrap}.score-card__actions{width:100%;justify-content:flex-end}.team-card{flex-wrap:wrap}.team-card__actions{width:100%;justify-content:flex-end}}.fab{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:120;display:inline-flex;align-items:center;gap:10px;padding:14px 20px 14px 16px;border:3px solid #fff;border-radius:999px;background:var(--sun);color:var(--forest-dark);font-family:var(--font-display);font-weight:800;font-size:1rem;box-shadow:0 6px #183d3640,0 10px 24px #183d3640;cursor:pointer;transition:transform .15s ease,filter .15s ease}.fab:hover{transform:translateY(-2px);filter:brightness(1.05)}.fab:active{transform:translateY(2px);box-shadow:0 2px #183d3640,0 6px 16px #183d3633}.fab__icon{font-size:1.5rem;line-height:1;display:inline-flex}.fab--icon{width:60px;height:60px;padding:0;justify-content:center}.fab--emergency{padding:8px 18px 8px 10px;background:var(--forest);color:#fff;box-shadow:0 6px 0 var(--forest-dark),0 10px 24px #183d364d}.fab--emergency:active{box-shadow:0 2px 0 var(--forest-dark),0 6px 16px #183d3640}.fab__kid{flex:none;width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 1px 0 rgba(0,0,0,.2))}.fab--emergency .fab__label{font-size:.95rem;line-height:1.1}@media (max-width: 560px){.fab{padding:14px}.fab--emergency{padding:6px 14px 6px 8px}.fab--emergency .fab__label{font-size:.85rem}.admin-page{padding-bottom:96px}}.foreign-lookup-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.foreign-lookup-list__item{border:2px solid rgba(24,61,54,.12);border-radius:var(--radius);padding:10px 14px;background:#fff}.foreign-lookup-list__item--blocked{border-color:var(--red);background:#fdecea}.foreign-lookup-list__item>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}.foreign-lookup-list__count{font-size:.9rem;color:var(--forest-dark);opacity:.8}.foreign-lookup-list__names{margin:6px 0 0;font-size:.9rem;color:#9a641e}.scan-points__fields{display:grid;grid-template-columns:1fr 130px;gap:10px;align-items:end}.scan-points__fields .cat-field{margin:0}.scan-points__viewport{transition:box-shadow .15s ease}.scan-points__viewport--ok{box-shadow:0 0 0 6px #2fbf5b;animation:scan-blink-ok .5s ease}.scan-points__viewport--error{box-shadow:0 0 0 6px var(--red);animation:scan-blink-error .5s ease}.scan-points__flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;text-align:center;color:#fff;font-family:var(--font-display);font-weight:800;font-size:1.15rem;pointer-events:none;animation:scan-flash-in .15s ease}.scan-points__flash--ok{background:#1f8f48d1}.scan-points__flash--error{background:#aa2e20db}.scan-points__flash-icon{font-size:3rem;line-height:1}.scan-points__flash-text{max-width:26ch;text-shadow:0 2px 6px rgba(0,0,0,.3)}.scan-points__repoint{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.scan-points__repoint-btn{padding:8px 14px;font-size:.9rem}.scan-points__summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;color:var(--forest);font-weight:700;text-align:center}.scan-points__summary-hint{color:var(--muted);font-weight:600;font-size:.85rem}@keyframes scan-blink-ok{0%{box-shadow:0 0 #2fbf5b}50%{box-shadow:0 0 0 14px #2fbf5b}to{box-shadow:0 0 0 6px #2fbf5b}}@keyframes scan-blink-error{0%{box-shadow:0 0 0 0 var(--red)}25%{box-shadow:0 0 0 14px var(--red)}50%{box-shadow:0 0 0 4px var(--red)}75%{box-shadow:0 0 0 14px var(--red)}to{box-shadow:0 0 0 6px var(--red)}}@keyframes scan-flash-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (max-width: 560px){.scan-points__fields{grid-template-columns:1fr 110px}.scan-points__viewport{min-height:240px}}.vest-row{cursor:default}.vest-row:active{transform:none}.vest-row--back{background:#e3f3e6;border-color:#b9dfc2}.vest-row--late,.vest-row--tab.vest-row--late{background:#fff6dc;border-color:#f3dfa0}.vest-row__icon{flex:none;width:36px;height:36px;object-fit:contain;display:block}.vest-row>.bus-row__check{line-height:1;box-sizing:border-box}.vest-row .bus-row__check>svg{display:block}.vest-row .bus-row__body{min-height:36px;justify-content:center}.vest-row__swap{flex:none;position:relative;width:36px;height:36px}.vest-row__swap>*{position:absolute;top:0;right:0;bottom:0;left:0;width:36px;height:36px;transition:opacity .3s ease}.vest-row__swap-then,.vest-row__swap--next .vest-row__swap-now{opacity:0}.vest-row__swap--next .vest-row__swap-then{opacity:1}.vest-row__undo{width:36px;height:36px;border-radius:10px}.vest-row__undo:disabled{opacity:.5;cursor:default}.vest-row__phone{font-size:inherit}.vest-row__phone:hover{opacity:.75}.vest-row--tab{background:var(--paper);border-color:#fff;transition:background .2s ease,border-color .2s ease,opacity .35s ease,transform .35s ease}.vest-row--tab.vest-row--ticked{background:#e3f3e6;border-color:#b9dfc2}.vest-row--tab .bus-row__check--on{background:var(--forest-dark);border-color:var(--forest-dark)}.vest-row--tab .bus-row__check--on svg{animation:vest-tick .25s cubic-bezier(.2,1.4,.5,1) both}.vest-row--tab.vest-row--leaving{animation:vest-leave .65s ease-in both;pointer-events:none}@keyframes vest-tick{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes vest-leave{0%{opacity:1;transform:none;max-height:200px;overflow:hidden}45%{opacity:0;transform:translate(16px);max-height:200px;margin-bottom:0;overflow:hidden}to{opacity:0;transform:translate(16px);max-height:0;padding-top:0;padding-bottom:0;border-width:0;margin-bottom:-8px;overflow:hidden}}.vest-row__tap{padding:0;cursor:pointer;font-family:inherit}.vest-row__tap:active:not(:disabled){transform:scale(.94)}.vest-row__tap:disabled{cursor:default}.vest-row__actions{flex:none;display:inline-flex;align-items:center;gap:8px}.vest-row__btn{padding:10px 16px;font-size:.95rem}.vest-row__btn:disabled{opacity:.55;cursor:wait}.vest-divider{display:flex;align-items:center;gap:12px;margin:10px 0 2px;font-family:var(--font-display);font-weight:700;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.vest-divider:before,.vest-divider:after{content:"";flex:1;height:2px;background:var(--sage);border-radius:2px}.cat-tab__img{width:1.4em;height:1.4em;object-fit:contain;vertical-align:middle}@media (max-width: 560px){.vest-row{flex-wrap:wrap}.vest-row__actions{width:100%;justify-content:flex-end}}.qr-scanner{display:flex;flex-direction:column;gap:14px;padding:20px;background:var(--paper);border:3px solid #fff;border-radius:var(--radius);box-shadow:0 6px #183d361f}.qr-scanner__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.qr-scanner__head .cat-form__title{margin:0 0 4px}.qr-scanner__head .cat-hint{margin:0}.qr-scanner__close{flex:none;width:38px;height:38px;border:0;border-radius:50%;background:#e8eeea;color:var(--forest);font:inherit;font-weight:900;cursor:pointer}.qr-scanner__close:disabled{opacity:.5;cursor:wait}.qr-scanner__viewport{position:relative;overflow:hidden;min-height:300px;aspect-ratio:1 / 1;border-radius:20px;background:#10211e}.qr-scanner__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:cover}.qr-scanner__viewport>.scan-region-highlight{border-radius:18px;outline:9999px solid rgba(5,18,15,.5)}.qr-scanner__viewport>.code-outline-highlight{stroke:var(--sun)!important;stroke-width:5!important}.qr-scanner__status{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;background:#091c18c7;color:#fff;font-family:var(--font-display);font-weight:800;text-align:center}.qr-scanner__spinner{width:34px;height:34px;border:4px solid rgba(255,255,255,.35);border-top-color:var(--sun);border-radius:50%;animation:qr-spin .8s linear infinite}.qr-scanner__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}@keyframes qr-spin{to{transform:rotate(360deg)}}@media (max-width: 560px){.qr-scanner__viewport{min-height:260px}.qr-scanner__actions .button{flex:1}}.staff-tag--here{background:#cfeed6;color:#1f5f34}.staff-tag--late{background:#f5d6cc;color:#9a3f31}.vehicle__deadline{margin-left:auto;font-family:var(--font-body);font-size:.78rem;font-weight:700;color:var(--muted)}.dash-body--settings{display:grid;grid-template-columns:240px minmax(0,1fr);gap:0 12px;align-items:start;align-self:stretch;width:100%;box-sizing:border-box;padding:0 max(20px,calc((100% - 1100px)/2))}.dash-body--settings>.admin-page{padding-left:0;padding-right:0;max-width:none;width:100%;margin-left:0;margin-right:0}.settings-nav{position:sticky;top:16px;margin:24px 0;padding:14px 10px;background:var(--paper);border:3px solid #fff;border-radius:var(--radius);box-shadow:0 6px #183d361f}.settings-nav__title{margin:0 0 10px;padding:0 10px;font-family:var(--font-display);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.settings-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.settings-nav__item{width:100%;display:flex;align-items:center;gap:10px;min-height:46px;padding:8px 12px;border:0;border-radius:14px;background:transparent;text-align:left;font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--pine);cursor:pointer;transition:background .15s ease,transform .15s ease}.settings-nav__item:hover{background:#eef2ef;transform:translate(2px)}.settings-nav__item--active{background:var(--forest);color:#fff;box-shadow:0 4px 0 var(--forest-dark)}.settings-nav__item--active:hover{background:var(--forest);transform:none}.settings-nav__emoji{flex:none;width:28px;text-align:center;font-size:1.25rem}.settings-nav__label{flex:1;min-width:0;line-height:1.2}@media (max-width: 760px){.dash-body--settings{display:block;padding:0}.dash-body--settings>.admin-page{padding-left:20px;padding-right:20px;padding-top:12px}.settings-nav{position:static;width:100%;box-sizing:border-box;margin:16px 0 0;padding:0 20px;background:transparent;border:0;box-shadow:none;border-radius:0}.settings-nav__title{display:none}.settings-nav__list{flex-direction:row;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px}.settings-nav__list::-webkit-scrollbar{display:none}.settings-nav__item{width:auto;min-height:42px;padding:6px 14px;border:3px solid var(--sage);border-radius:999px;background:#fff;white-space:nowrap;box-shadow:0 4px #183d361a}.settings-nav__item:hover{transform:none;background:#fff}.settings-nav__item--active{border-color:var(--forest);background:var(--forest)}.settings-nav__item--active:hover{background:var(--forest)}.settings-nav__emoji{width:auto;font-size:1.1rem}}.helpers-list{margin:0;padding:0;list-style:none}.helpers-tag{padding-right:6px}.helpers-tag__x{width:24px;height:24px;border:0;border-radius:50%;background:#183d361f;color:var(--forest);font-size:.7rem;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.helpers-tag__x:hover{background:#183d3638}.helpers-tag__x:disabled{opacity:.4;cursor:default}.list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.list-head>.cat-form__title,.list-head>.bus-helpers__vehicle-name{flex:1;min-width:0;margin:0}.list-head__add{flex:none;white-space:nowrap;margin-left:auto}.bus-helpers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.bus-helpers__vehicle{padding:12px 14px 14px;background:#fff;border-left:6px solid var(--sun);border-radius:14px;display:flex;flex-direction:column;gap:10px;min-width:0}.bus-helpers__vehicle-name{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:1.05rem;color:var(--forest)}.settings-tools{display:flex;gap:10px;flex-wrap:wrap}.settings-tools .button{padding:10px 16px;font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center}.selfcheck{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:var(--radius);background:#fff5d6;border:3px solid var(--sun);box-shadow:0 6px #183d361f;animation:pop-in .35s ease}.selfcheck--done{background:#e3f3e6;border-color:#8fc59a}.selfcheck__badge{flex:none;width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;font-size:1.7rem;border-radius:14px;background:#fff;border:3px solid #fff;box-shadow:0 4px #183d361f}.selfcheck__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.selfcheck__title{margin:0;font-family:var(--font-display);font-size:1.2rem;font-weight:800;color:var(--forest)}.selfcheck__text{margin:0;font-size:.95rem;line-height:1.5;color:var(--ink)}.selfcheck__text strong{color:var(--forest)}.selfcheck .message{text-align:left}.selfcheck__cta{align-self:flex-start;margin-top:4px}@media (max-width: 560px){.selfcheck{flex-direction:column}.selfcheck__cta{align-self:stretch}}.selfcheck--popup{position:relative;margin:0;padding:22px 22px 20px;animation:none;border-color:#fff;box-shadow:0 10px #183d362e;flex-direction:column;align-items:center;text-align:center}.selfcheck--popup .selfcheck__badge{order:-1}.selfcheck--popup .selfcheck__body{width:100%;align-items:center}.selfcheck--popup .selfcheck__title{font-size:1.35rem;font-weight:900}.selfcheck__close{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:50%;background:#183d3614;color:var(--forest);font-size:1rem;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.selfcheck__close:hover{background:#183d3629}.selfcheck__close:disabled{opacity:.4;cursor:default}.selfcheck__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px}.selfcheck--popup .selfcheck__actions{justify-content:center}.selfcheck--popup .selfcheck__cta{align-self:center}.selfcheck__location-note{margin:2px 0 0;font-size:.78rem;line-height:1.4;color:var(--ink);opacity:.58}.selfcheck--popup .selfcheck__location-note{text-align:center}@media (max-width: 560px){.selfcheck__actions{flex-direction:column;align-items:stretch}.selfcheck--popup .selfcheck__actions{align-items:center}}.notif-group{display:flex;flex-direction:column;gap:12px;margin:0 0 28px}.notif-group__head{display:flex;align-items:center;gap:12px;padding:0 4px}.notif-group__mark{flex:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:var(--paper);box-shadow:0 3px #183d361a;font-size:1.4rem}.notif-group__icon{width:34px;height:34px;object-fit:contain}.notif-group__title{margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:var(--forest)}.notif-group__hint{margin:2px 0 0;font-size:.85rem;color:var(--muted);line-height:1.35}.notif-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.notif-item{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--radius);background:var(--paper);border:3px solid #fff;box-shadow:0 6px #183d361f;transition:border-color .15s ease,background .15s ease}.notif-item--on{border-color:#b9dfc2;background:#f1f9f3}.notif-item__emoji{flex:none;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;border-radius:14px;background:#fff;box-shadow:0 3px #183d361a}.notif-item__emoji--pair{width:auto;min-width:48px;padding:0 8px;font-size:1.25rem;gap:2px}.notif-item__icon{width:38px;height:38px;object-fit:contain}.notif-item__plus{font-family:var(--font-display);font-weight:900;font-size:1rem;color:var(--forest)}.notif-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.notif-item__title{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--forest)}.notif-item__text{margin:0;font-size:.9rem;line-height:1.45;color:var(--muted)}.notif-item .toggle{flex:none}@media (max-width: 560px){.notif-item{flex-wrap:wrap}.notif-item .toggle{margin-left:62px}}.contact-form{gap:14px}.contact-person{width:100%;min-height:72px;display:flex;align-items:center;gap:12px;padding:12px 14px;border:3px solid var(--sage);border-radius:var(--radius);background:#fff;color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 4px #183d361a;transition:transform .15s ease,border-color .15s ease}.contact-person:hover:not(:disabled){transform:translateY(-2px);border-color:var(--pine)}.contact-person:disabled{opacity:.55;cursor:default}.contact-person__icon,.contact-item__icon{flex:none;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:#e5f1e8;font-size:1.35rem}.contact-person__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.contact-person__body strong{font-family:var(--font-display);color:var(--forest)}.contact-person__body span{color:var(--muted);font-size:.82rem}.contact-person__action{flex:none;font-family:var(--font-display);font-size:.84rem;font-weight:800;color:var(--pine)}.contacts-section{display:flex;flex-direction:column;gap:12px}.contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.contact-item{display:flex;align-items:center;gap:14px;min-height:78px;padding:12px 14px;border-radius:var(--radius);background:var(--paper);border:3px solid #fff;box-shadow:0 5px #183d361a}.contact-item__main{flex:1;min-width:0;display:flex;align-items:center;gap:12px}.contact-item__body{min-width:0}.contact-item__body h3{margin:0 0 3px;font-family:var(--font-display);font-size:1rem;color:var(--forest)}.contact-item__body p{margin:0;color:var(--muted);font-size:.9rem}.contact-item__actions{flex:none;display:flex;align-items:center;gap:5px}@media (max-width: 620px){.contact-item{align-items:flex-start;flex-direction:column}.contact-item__main{width:100%}.contact-item__actions{align-self:flex-end}}.settings-nav__icon{flex:none;width:28px;height:28px;object-fit:contain}@media (max-width: 760px){.settings-nav__icon{width:22px;height:22px}}.helpers-tag__name{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px}.helpers-tag__detail{font-size:.68rem;font-weight:700;text-transform:none;letter-spacing:0;opacity:.85}.rte--tall .rte__bar{position:sticky;top:0;z-index:2}.rte--tall .rte__content .tiptap{min-height:60vh;font-size:1rem;padding:16px 18px}.admin-page--wide{max-width:1000px}.instruction-reader{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:start;gap:16px}.instruction-sidebar{position:sticky;top:20px;min-width:0;padding:14px 10px;border:3px solid #fff;border-radius:var(--radius);background:var(--paper);box-shadow:0 6px #183d361f}.instruction-sidebar__title{margin:0 8px 9px;font-family:var(--font-display);font-size:.78rem;font-weight:800;color:var(--muted)}.instruction-sidebar__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.instruction-sidebar__link{width:100%;min-width:0;display:flex;align-items:center;gap:8px;padding:9px 10px;border:0;border-radius:12px;background:transparent;color:var(--pine);text-align:left;font:inherit;font-weight:700;cursor:pointer}.instruction-sidebar__link:hover,.instruction-sidebar__link:focus-visible{background:#e8eeea;outline:0}.instruction-sidebar__link--selected{background:var(--forest);color:#fff;box-shadow:0 3px 0 var(--forest-dark)}.instruction-sidebar__link--selected:hover,.instruction-sidebar__link--selected:focus-visible{background:var(--forest);color:#fff}.instruction-sidebar__text{min-width:0;display:flex;flex-direction:column;gap:1px}.instruction-sidebar__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instruction-event{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:-8px 0 18px;padding:10px 12px;border-radius:12px;background:#eef4ef;color:var(--pine);font-size:.9rem}.instruction-event>span:last-child{color:var(--muted);font-size:.82rem}.instruction-event--now{background:#f8dfbb;color:var(--forest-dark)}.instruction-event__now{padding:2px 7px;border-radius:999px;background:var(--sun);color:var(--forest-dark);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.instruction-sidebar__link--past{opacity:.5}.instruction-sidebar__link--past.instruction-sidebar__link--selected{opacity:.8}@media (max-width: 720px){.instruction-reader{grid-template-columns:1fr}.instruction-sidebar{position:static;padding:10px}.instruction-sidebar__title{margin-bottom:7px}.instruction-sidebar__list{flex-direction:row;overflow-x:auto;scrollbar-width:none}.instruction-sidebar__list::-webkit-scrollbar{display:none}.instruction-sidebar__list li{flex:0 0 160px;min-width:0}.instruction-sidebar__link{background:#fff}}.instruction-row .staff-card__name span[aria-hidden]{margin-right:4px}.instruction-row .staff-card__name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.instruction-row--past{opacity:.55}.instruction-row .staff-card__name .staff-tag__n,.instruction-doc__title .staff-tag__n{font-family:var(--font-body);font-size:.75rem;font-weight:700}.instruction-doc__title{flex-wrap:wrap}.instruction-doc{padding:20px 24px 16px}.instruction-doc .instruction-event+*{margin-top:0}.instruction-doc .admin-head{margin:0}.instruction-doc__title{display:flex;align-items:center;gap:10px}.instruction-doc .instructions{font-size:1rem;border:0;padding:4px 0 0;background:transparent}.instruction-doc .footer-note{margin:4px 0 0}.instruction-row__chevron{flex:none;font-size:1.6rem;font-weight:800;color:var(--sage);padding:0 6px}.occurrence-access{margin:0;padding:10px 14px;border:2px solid #f2d6a2;border-radius:14px;background:#fff5d6;color:#7a4a10;font-size:.88rem;font-weight:700;line-height:1.45}.occurrence-form{gap:18px}.occurrence-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.occurrence-people{min-width:0;padding:14px;border:2px solid #e2ebe5;border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:9px}.occurrence-people__title{flex:1;min-width:0;margin:0;font-family:var(--font-display);font-size:1rem;color:var(--forest);display:flex;align-items:center;gap:7px}.occurrence-people__add{padding:8px 12px;font-size:.82rem;white-space:nowrap}.occurrence-people__empty{margin:0;padding:10px 0 2px;color:var(--muted);font-size:.86rem;font-style:italic}.occurrence-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}.occurrence-chips .staff-tag{padding:7px 6px 7px 11px;border-radius:999px;background:#e6eee8;color:var(--forest);font-weight:700;font-size:.86rem}.occurrence-list{display:flex;flex-direction:column;gap:12px}.occurrence-card{gap:10px}.occurrence-card__head{width:100%;display:grid;grid-template-columns:116px minmax(0,1fr) auto;align-items:center;gap:12px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.occurrence-card__date{font-family:var(--font-display);font-size:.8rem;font-weight:800;color:var(--pine);font-variant-numeric:tabular-nums}.occurrence-card__summary{min-width:0;display:flex;flex-direction:column;gap:2px}.occurrence-card__summary strong{color:var(--forest);font-family:var(--font-display);font-size:1rem;line-height:1.25}.occurrence-card__summary small{color:var(--muted);font-size:.78rem}.occurrence-card__chevron{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#eef2ef;color:var(--forest);font-family:var(--font-display);font-size:1.2rem;font-weight:800}.occurrence-card__people{display:flex;flex-wrap:wrap;gap:6px}.occurrence-badge{padding:4px 9px;border-radius:999px;background:#e6eee8;color:var(--pine);font-size:.75rem;font-weight:700}.occurrence-badge--camper{background:#f8dfbb;color:#7a4a10}.occurrence-badge--private{background:#e8e3ec;color:#62506c}.occurrence-card__description{margin-top:2px}@media (max-width: 680px){.occurrence-people-grid{grid-template-columns:1fr}.occurrence-card__head{grid-template-columns:1fr auto}.occurrence-card__date{grid-column:1 / -1}}@media (max-width: 460px){.occurrence-people .list-head{align-items:stretch}.occurrence-people__add{width:100%}}.instructions blockquote{border-left:0;border-radius:12px;padding:10px 14px;background:#fff5d6;border:2px solid #f2d6a2;color:var(--ink)}.instructions blockquote>p{margin:0}.instructions blockquote>p+p{margin-top:6px}.instructions blockquote[data-callout=ok]{background:var(--forest);border-color:var(--forest);color:#fff;box-shadow:0 4px 0 var(--forest-dark)}.instructions blockquote[data-callout=ok] strong{color:#fff}.instructions blockquote[data-callout=ok]>p>strong:first-child{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;opacity:.9}.instructions blockquote[data-callout=ok]>p>br+strong{font-size:1.05rem;letter-spacing:0;text-transform:none;opacity:1;font-family:var(--font-display)}.instructions blockquote[data-callout=lock]{background:#fff5d6;border-color:#f2d6a2}.instructions blockquote[data-callout=warn]{background:#fdeceb;border-color:#f0b8b1}.instructions mark,.rte__content .tiptap mark{display:inline-block;padding:2px 9px;margin:1px 0;border-radius:999px;background:#e6eee8;color:var(--forest);font-size:.78rem;font-weight:800;line-height:1.4;vertical-align:middle;white-space:nowrap}.instructions summary mark,.rte__content .tiptap summary mark{background:#fff3d6;color:#7a4a10;text-transform:uppercase;letter-spacing:.04em}.instructions blockquote[data-callout=ok] mark{background:#ffffff2e;color:#fff}.instructions details{margin:10px 0;padding:0;border:2px solid #e2ebe5;border-radius:14px;background:#fff;overflow:hidden}.instructions summary{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;list-style:none;font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:var(--forest);background:#f3f7f4;-webkit-user-select:none;user-select:none}.instructions summary::-webkit-details-marker{display:none}.instructions summary:before{content:"▸";flex:none;font-size:.95rem;color:var(--pine);transition:transform .15s ease}.instructions details[open]>summary:before{transform:rotate(90deg)}.instructions summary:hover{background:#e8eeea}.instructions details>div[data-type=detailsContent]{padding:10px 14px 12px}.instructions details>div[data-type=detailsContent]>:first-child{margin-top:0}.instructions details>div[data-type=detailsContent]>:last-child{margin-bottom:0}.instructions details h3{margin-top:.8em}.rte__content .tiptap blockquote{border-left:0;border-radius:12px;padding:8px 12px;background:#fff5d6;border:2px solid #f2d6a2;color:var(--ink)}.rte__content .tiptap blockquote>p{margin:0}.rte__content .tiptap blockquote>p+p{margin-top:6px}.rte__content .tiptap blockquote[data-callout=ok]{background:var(--forest);border-color:var(--forest);color:#fff}.rte__content .tiptap blockquote[data-callout=ok] strong{color:#fff}.rte__content .tiptap blockquote[data-callout=ok] mark{background:#ffffff2e;color:#fff}.rte__content .tiptap blockquote[data-callout=warn]{background:#fdeceb;border-color:#f0b8b1}.rte__content .tiptap [data-type=details]{display:flex;gap:6px;margin:10px 0;padding:6px 8px 6px 6px;border:2px solid #e2ebe5;border-radius:14px;background:#fff}.rte__content .tiptap [data-type=details]>button{flex:none;width:26px;height:26px;margin-top:4px;padding:0;border:0;border-radius:8px;background:#f3f7f4;color:var(--pine);font-size:.9rem;cursor:pointer}.rte__content .tiptap [data-type=details]>button:before{content:"▸";display:inline-block;transition:transform .15s ease}.rte__content .tiptap [data-type=details].is-open>button:before{transform:rotate(90deg)}.rte__content .tiptap [data-type=details]>button:hover{background:#e8eeea}.rte__content .tiptap [data-type=details]>div{flex:1;min-width:0}.rte__content .tiptap [data-type=details] summary{display:block;padding:6px 4px;font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:var(--forest);list-style:none}.rte__content .tiptap [data-type=detailsContent]{padding:4px;border-top:2px dashed #e2ebe5;margin-top:2px}.rte__content .tiptap [data-type=detailsContent][hidden]{display:none}.rte__content .tiptap [data-type=detailsContent]>:first-child{margin-top:0}.rte__content .tiptap [data-type=detailsContent]>:last-child{margin-bottom:0}.instructions figure,.rte__content .tiptap figure{margin:12px 0;padding:0}.instructions figure img,.rte__content .tiptap figure img{margin:0}.instructions figcaption,.rte__content .tiptap figcaption{margin-top:6px;color:var(--muted);font-size:.84rem;font-weight:700;line-height:1.45;text-align:center}.rte__content .tiptap figure.ProseMirror-selectednode{outline:3px solid var(--sun);border-radius:12px}.instructions table,.rte__content .tiptap table{width:100%;margin:12px 0;border-collapse:collapse;border-radius:12px;overflow:hidden;font-size:.9rem;table-layout:fixed}.instructions table{display:block;overflow-x:auto}.instructions th,.instructions td,.rte__content .tiptap th,.rte__content .tiptap td{padding:8px 11px;border:2px solid #e2ebe5;text-align:left;vertical-align:top;min-width:80px}.instructions th,.rte__content .tiptap th{background:#f3f7f4;color:var(--forest);font-family:var(--font-display);font-weight:800;font-size:.84rem}.instructions tbody tr:nth-child(2n) td,.rte__content .tiptap tbody tr:nth-child(2n) td{background:#fbfdfc}.instructions th>p,.instructions td>p,.rte__content .tiptap th>p,.rte__content .tiptap td>p{margin:0}.instructions th>p+p,.instructions td>p+p,.rte__content .tiptap th>p+p,.rte__content .tiptap td>p+p{margin-top:5px}.rte__content .tiptap .selectedCell{position:relative;background:#fff3d6}.rte__content .tiptap table,.rte__content .tiptap colgroup col{min-width:0!important}.ai-image{gap:14px}.ai-image__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}.ai-image__shapes{display:flex;gap:8px}.ai-image__shape{display:flex;flex-direction:column;align-items:center;gap:6px;padding:9px 12px;border:3px solid var(--sage);border-radius:14px;background:#fff;color:var(--pine);font-family:var(--font-display);font-weight:800;font-size:.78rem;cursor:pointer}.ai-image__shape:hover:not(:disabled){border-color:var(--pine)}.ai-image__shape.is-active{border-color:var(--forest);background:#eef4ef;color:var(--forest)}.ai-image__shape:disabled{opacity:.5;cursor:not-allowed}.ai-image__frame{display:block;border:2px solid currentColor;border-radius:4px;opacity:.75}.ai-image__frame--wide{width:30px;height:20px}.ai-image__frame--square{width:24px;height:24px}.ai-image__frame--tall{width:20px;height:30px}.ai-image__model{flex:1;min-width:160px}.ai-image__select{position:relative;display:flex;align-items:center;gap:8px}.ai-image__select .ai-vendor-logo{position:absolute;left:12px;pointer-events:none}.ai-image__select select{padding-left:36px}.ai-image__style{display:flex;align-items:center;gap:9px;color:var(--pine);font-size:.88rem;font-weight:700;cursor:pointer}.ai-image__style input{width:20px;height:20px;accent-color:var(--forest)}.ai-image__waiting{margin:0;padding:14px;border:3px dashed var(--sage);border-radius:14px;background:#f3f7f4;color:var(--pine);font-family:var(--font-display);font-weight:800;text-align:center}.ai-image__preview{margin:0;padding:8px;border:3px solid var(--sage);border-radius:14px;background:#f3f7f4}.ai-image__preview img{display:block;width:100%;max-height:46vh;object-fit:contain;border-radius:10px;background:#fff}.ai-image__preview figcaption{margin-top:6px;color:var(--muted);font-size:.76rem;font-weight:700;text-align:center}.cat-field__ai{color:var(--sun);font-weight:700;font-size:.8rem}.ai-title-btn svg,.rte__btn--ai svg,.ai-panel__title svg,.ai-workspace__title svg,.cat-field__ai svg,.cat-form__title svg.ai{color:var(--sun);vertical-align:-.15em}.ai-title-btn svg{width:18px;height:18px}.rte__btn--ai:hover:not(:disabled) svg,.rte__btn--ai.rte__btn--active svg{color:#fff}.cat-input-wrap{position:relative;display:block}.cat-input-wrap .cat-input:has(+.ai-title-btn){padding-right:46px}.ai-title-btn{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:2px solid var(--sage);border-radius:10px;background:#fff;font-size:.95rem;line-height:1;cursor:pointer}.ai-title-btn:hover:not(:disabled){border-color:var(--pine);background:#f3f7f4}.ai-title-btn:disabled{cursor:default;opacity:.7}.ai-title-btn--busy{animation:ai-pulse 1s ease-in-out infinite}@keyframes ai-pulse{50%{opacity:.45}}.cat-field__label--ai{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-notes-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:0;border-radius:999px;background:#eef2ef;font:inherit;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);cursor:pointer}.ai-notes-btn svg{color:var(--muted);font-size:.85em;vertical-align:-.15em}.ai-notes-btn--on{background:var(--forest);color:#fff}.ai-notes-btn--on svg{color:var(--sun)}.ai-notes-btn--busy svg{animation:ai-spin 1.1s linear infinite}.ai-notes-btn:hover:not(:disabled){opacity:.85}.ai-notes-btn:disabled{cursor:default;opacity:.6}@keyframes ai-spin{to{transform:rotate(360deg)}}.staff-card--orphan{background:#fff6cc;border-color:#f2d36b}.staff-card--orphan:has(.staff-card__body:hover){background:#fdf0b8}.orphan-msg,.orphan-tag{color:#8a5a00;font-weight:800}.orphan-tag--btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:0;font:inherit;color:inherit;font-weight:inherit;cursor:pointer}.orphan-tag--btn:hover{opacity:.75}.orphan-tag--on{background:#f2d36b;color:#5c3d00;border-radius:999px;padding:1px 8px}.big-options{display:flex;flex-direction:column;gap:10px}.big-options--row{flex-direction:row;flex-wrap:wrap}.big-options--row .big-option{flex:1;min-width:200px}.big-option{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;padding:14px 16px;min-height:64px;border:3px solid var(--sage);border-radius:16px;background:#fff;font:inherit;color:var(--pine);cursor:pointer;transition:transform .15s ease,background .15s ease}.big-option:hover:not(:disabled){transform:translateY(-2px)}.big-option--on{background:var(--forest);border-color:var(--forest);color:#fff;box-shadow:0 4px 0 var(--forest-dark)}.big-option__emoji{grid-row:1 / span 2;font-size:1.6rem}.big-option__label{font-family:var(--font-display);font-weight:800;font-size:1.05rem}.big-option__hint{font-size:.8rem;opacity:.8}.button--sm{padding:6px 12px;font-size:.85rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:6px 0}.stat-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;border:3px solid var(--sage);border-radius:16px;background:#fff;font:inherit;color:var(--pine);cursor:pointer;box-shadow:0 4px #183d361a;transition:transform .15s ease}.stat-card:hover{transform:translateY(-2px)}.stat-card--on{background:var(--forest);border-color:var(--forest);color:#fff;box-shadow:0 4px 0 var(--forest-dark)}.stat-card__emoji{font-size:1.6rem}.stat-card__n{font-family:var(--font-display);font-weight:800;font-size:2.2rem;line-height:1.1}.stat-card__label{font-weight:700;font-size:.8rem;text-align:center}.parent-kid{padding-top:8px;border-top:3px dashed var(--sage);gap:14px}.parent-kid:first-of-type{border-top:0;padding-top:0}.parent-contact{gap:12px}.parent-contact__title{margin:0 0 2px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.parent-qr{align-items:center;text-align:center}.camper-qr{margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:8px}.camper-qr__code{width:100%;aspect-ratio:1;padding:10px;background:#fff;border:3px solid #fff;border-radius:var(--radius);box-shadow:0 6px #183d361f}.camper-qr__code svg{width:100%;height:100%;display:block}.camper-qr__name{font-family:var(--font-display);font-weight:800;color:var(--forest);text-align:center}.qr-dialog{border-color:var(--forest)}.qr-dialog__codes{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.history-item{padding:12px 14px;background:#fff;border:2px solid var(--sage);border-radius:14px;display:flex;flex-direction:column;gap:8px}.history-item--medical{border-color:var(--red)}.history-item__head{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.history-item__head strong{color:var(--forest)}.history-item__changes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.history-item__changes li{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:.9rem}.history-item__field{font-weight:800;color:var(--forest);min-width:120px}.history-item__before{color:var(--muted);text-decoration:line-through}.history-item__after{font-weight:700;color:var(--ink)}.sms-example{display:block;margin-top:6px;padding:8px 10px;border-radius:10px;background:#eef2ef;color:var(--ink);font-family:var(--font-body);font-size:.85rem;line-height:1.45;white-space:pre-wrap}.spot-card{display:flex;flex-direction:column;gap:10px;padding:14px;border:2px dashed #d8e1db;border-radius:var(--radius);background:#fff;margin-bottom:12px}.spot-map{width:100%;border-radius:calc(var(--radius) - 4px);overflow:hidden;border:2px solid #d8e1db;z-index:0}.spot-map__pin{font-size:24px;line-height:28px;text-align:center;background:none;border:0}.icon-btn--bare{border:0;background:none;box-shadow:none;width:30px;height:30px}.icon-btn--bare:hover{transform:none;opacity:.75}.pencil-icon{width:1.15em;height:1.15em;vertical-align:-.2em}.icon-btn--bare .pencil-icon{width:20px;height:20px;vertical-align:middle}.pencil{display:inline-block;transform:scaleX(-1)}.button svg,.cat-form__title svg,.admin-intro svg,.score-log__line svg{vertical-align:-.15em}.gallery-group{display:flex;flex-direction:column;gap:10px}.gallery-group__date{color:var(--muted);font-size:.85em;font-weight:600}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media (min-width: 560px){.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 920px){.gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.gallery-cell{position:relative;display:flex;flex-direction:column;min-width:0}.gallery-tile{position:relative;aspect-ratio:1;width:100%;padding:0;border:3px solid #fff;border-radius:16px;overflow:hidden;background:var(--sky);cursor:zoom-in;box-shadow:0 4px #183d361f;transition:transform .28s cubic-bezier(.22,.61,.36,1),border-color .2s ease,box-shadow .2s ease}.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s cubic-bezier(.22,.61,.36,1)}.gallery-cell:hover .gallery-tile img{transform:scale(1.07)}.gallery-cell__row{display:flex;align-items:center;gap:6px}.admin-head__actions .toggle{flex:none}.gallery-pub{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;border:2px solid var(--sage);border-radius:999px;background:#fff;color:var(--pine);font-family:var(--font-display);font-weight:700;font-size:.72rem;cursor:pointer;transition:transform .15s ease}.gallery-pub:hover:not(:disabled){transform:translateY(-1px)}.gallery-pub--on{background:var(--forest);border-color:var(--forest);color:#fff}.gallery-pub:disabled{opacity:.5;cursor:not-allowed}.gallery-drop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#183d368c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;animation:pop-in .2s ease}.gallery-drop__box{display:flex;align-items:center;gap:10px;max-width:440px;padding:20px;background:var(--paper);border:3px dashed var(--sun);border-radius:var(--radius);box-shadow:0 6px #183d361f;font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--forest);text-align:center}.gallery-surface .admin-empty{background:none;border:0;padding:24px 16px}.gallery-picker__row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px}.field-btn{flex:1;min-width:200px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;border:3px solid var(--sage);border-radius:14px;background:#fff;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease}.field-btn:hover{border-color:var(--pine)}.field-btn__label{color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.field-btn__value{font-family:var(--font-display);font-weight:700;color:var(--forest)}.dialog__panel:has(.ev-pick){overflow:hidden}.ev-pick{max-height:min(70dvh,620px);overflow:hidden;gap:12px}.ev-pick__search{position:relative;display:flex;align-items:center}.ev-pick__search .cat-input{padding:10px 14px 10px 42px}.ev-pick__search-icon{position:absolute;left:14px;color:var(--muted);pointer-events:none}.ev-pick__search:focus-within .ev-pick__search-icon{color:var(--pine)}.ev-pick__list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin:0 -4px;padding:0 4px 4px}.ev-pick__day{display:flex;flex-direction:column;gap:6px}.ev-pick__dayhead{position:sticky;top:0;z-index:2;margin:4px 0 0;padding:8px 2px 6px;background:var(--paper);box-shadow:0 8px 10px -6px #183d362e;font-family:var(--font-display);font-size:.8rem;font-weight:800;color:var(--pine);text-transform:uppercase;letter-spacing:.06em}.ev-pick__day:first-of-type .ev-pick__dayhead{margin-top:0}.ev-pick__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:3px solid var(--sage);border-radius:14px;background:#fff;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.ev-pick__item:hover{border-color:var(--pine)}.ev-pick__item--on{border-color:var(--forest);background:#f3f7f4}.ev-pick__emoji{flex:none;font-size:1.3rem}.ev-pick__body{display:flex;flex-direction:column;min-width:0}.ev-pick__title{font-family:var(--font-display);font-weight:700;color:var(--forest);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev-pick__meta{color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}.ev-pick__check{margin-left:auto;color:var(--forest);font-weight:800}.gallery-surface{display:flex;flex-direction:column;gap:16px}.gallery-group__head{display:flex;align-items:center;gap:12px}.gallery-group__head .room-group__title{flex:1;min-width:0}.pick-head{flex:none;display:flex;align-items:center;gap:10px}.pick-head__actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;animation:pop-in .18s ease}.pick-head__count{font-family:var(--font-display);font-weight:800;font-size:.85rem;color:var(--forest);white-space:nowrap}.pick-head__actions .button{padding:7px 12px;font-size:.85rem;box-shadow:none}.pick-all{flex:none;display:inline-flex;padding:4px;border:0;border-radius:10px;background:none;cursor:pointer}.pick-all:hover:not(:disabled){background:#f3f7f4}.pick-all:disabled{opacity:.5;cursor:not-allowed}.pick-all__box{width:22px;height:22px;display:grid;place-items:center;border:3px solid var(--sage);border-radius:7px;background:#fff;color:#fff;font-weight:800;font-size:.85rem;line-height:1;transition:background .15s ease,border-color .15s ease}.pick-all__box--on,.pick-all__box--some{background:var(--forest);border-color:var(--forest)}@media (max-width: 560px){.pick-head__count{display:none}}.gallery-cell--picked .gallery-tile{transform:scale(.88);border-color:var(--sky);box-shadow:0 2px #183d361a}.gallery-cell--picked:hover .gallery-tile img{transform:none}.gallery-tile__pick{position:absolute;left:8px;top:8px;z-index:2;width:24px;height:24px;display:grid;place-items:center;padding:0;border:2px solid rgba(255,255,255,.95);border-radius:999px;background:#ffffff59;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:transparent;font-size:.8rem;font-weight:800;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease,transform .15s ease}.gallery-cell:hover .gallery-tile__pick,.gallery-tile__pick:focus-visible{opacity:1}.gallery-tile__pick:hover{background:#fff9;transform:scale(1.08)}.gallery-tile__pick--on{opacity:1;background:var(--sky);border-color:#fff;color:var(--forest)}@media (hover: none){.gallery-tile__pick{opacity:1}}.gallery-marquee{position:fixed;z-index:1000;pointer-events:none;border:2px solid var(--pine);border-radius:6px;background:#2e66522e}.gallery-cell--going{animation:tile-poof .38s cubic-bezier(.4,0,.6,1) var(--poof-delay, 0ms) both;pointer-events:none;transform-origin:50% 60%}.gallery-cell--going .gallery-tile__pick{opacity:0}@keyframes tile-poof{0%{opacity:1;transform:none}35%{opacity:1;transform:scale(1.06) rotate(-3deg)}to{opacity:0;transform:scale(.35) rotate(8deg)}}.gallery-cell--moving{opacity:.35}.gallery-cell--before:before{content:"";position:absolute;left:-7px;top:0;bottom:0;width:4px;border-radius:2px;background:var(--sun)}.gallery-grid--target{outline:3px dashed var(--sun);outline-offset:6px;border-radius:12px}.gallery-group--target .room-group__title{color:var(--sun)}.gallery-cell[draggable=true] .gallery-tile{cursor:grab}.gallery-surface--selecting{cursor:crosshair}.gallery-surface--selecting .gallery-tile{cursor:pointer}body:has(.gallery-marquee){user-select:none;-webkit-user-select:none;cursor:crosshair}body:has(.gallery-marquee) .gallery-tile,body:has(.gallery-marquee) .gallery-tile__pick{cursor:crosshair}.gallery-surface img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.gallery-move{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.gallery-move__item{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;border:3px solid var(--sage);border-radius:14px;background:#fff;font:inherit;font-weight:700;color:var(--ink);text-align:left;cursor:pointer}.gallery-move__item:hover:not(:disabled){border-color:var(--pine)}.gallery-move__item:disabled{opacity:.5;cursor:not-allowed}.gallery-move__hint{margin-left:auto;color:var(--muted);font-size:.82rem;font-weight:600}.gallery-upload{background:var(--paper);border:3px solid var(--sun);border-radius:var(--radius);box-shadow:0 6px #183d361f;padding:16px 18px;display:flex;flex-direction:column;gap:8px}.gallery-upload__title{margin:0;font-family:var(--font-display);font-weight:800;color:var(--forest)}.gallery-upload__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto}.gallery-upload__item{font-size:.85rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-upload__item--err{color:#9a3f31;font-weight:700}.gallery-upload__close{align-self:flex-end;border:0;background:none;color:var(--pine);font-family:var(--font-display);font-weight:700;font-size:.85rem;cursor:pointer;padding:4px 8px;border-radius:10px}.gallery-upload__close:hover{background:#f3f7f4}.gallery-upload__head{display:flex;align-items:center;gap:10px}.gallery-upload__head .gallery-upload__title{flex:1;min-width:0}.gallery-upload__head .gallery-upload__close{align-self:center}.gallery-upload__pct{font-family:var(--font-display);font-weight:800;color:var(--pine);font-variant-numeric:tabular-nums}.gallery-upload__stop{flex:none;align-self:center;padding:7px 12px;font-size:.85rem;box-shadow:none}.gallery-upload--done{border-color:var(--forest);transition:border-color .3s ease}.gallery-upload--leaving{animation:up-leave .42s cubic-bezier(.4,0,.2,1) forwards;overflow:hidden}@keyframes up-leave{0%{opacity:1;transform:none;max-height:340px;padding-top:16px;padding-bottom:16px;margin-bottom:0}to{opacity:0;transform:translateY(-6px);max-height:0;padding-top:0;padding-bottom:0;margin-bottom:-16px;border-width:0}}.gallery-upload--picker{border-style:dashed;align-items:stretch}.gallery-upload--picker .button{align-self:flex-start}.up-bar{height:10px;border-radius:999px;background:#e6eee8;overflow:hidden}.up-bar__fill{height:100%;width:0;border-radius:999px;background:var(--sun);transition:width .3s ease}.up-bar__fill--ok{background:var(--forest)}.up-check{flex:none;width:34px;height:34px}.up-check circle,.up-check path{fill:none;stroke:var(--forest);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.up-check--warn circle,.up-check--warn path{stroke:var(--sun)}.up-check__circle{stroke-dasharray:145;stroke-dashoffset:145;animation:up-ring .45s cubic-bezier(.65,0,.45,1) forwards}.up-check__tick{stroke-dasharray:40;stroke-dashoffset:40;animation:up-tick .3s cubic-bezier(.65,0,.45,1) .4s forwards}@keyframes up-ring{to{stroke-dashoffset:0}}@keyframes up-tick{to{stroke-dashoffset:0}}.lightbox{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;background:var(--paper);border:3px solid #fff;border-radius:var(--radius);box-shadow:0 6px #183d361f}.lightbox__img{max-width:100%;max-height:52dvh;object-fit:contain;border-radius:14px;border:3px solid #fff;box-shadow:0 8px #183d3626;background:var(--paper)}.lightbox__nav{display:flex;align-items:center;gap:16px}.lightbox__count{font-family:var(--font-display);font-weight:800;color:var(--forest);font-variant-numeric:tabular-nums}.lightbox__caption{margin:0;font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--forest);text-align:center}.lightbox__meta{margin:0;text-align:center;color:var(--muted);font-size:.85rem}.lb-reel{display:flex;gap:8px;width:100%;padding:4px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:thin}.lb-reel__item{flex:none;width:64px;height:64px;padding:0;border:3px solid transparent;border-radius:12px;overflow:hidden;background:var(--sky);cursor:pointer;opacity:.6;transition:opacity .15s ease,border-color .15s ease,transform .15s ease}.lb-reel__item:hover{opacity:1;transform:translateY(-2px)}.lb-reel__item--on{opacity:1;border-color:var(--forest)}.lb-reel__item img{width:100%;height:100%;object-fit:cover;display:block}@media (max-width: 560px){.lb-reel__item{width:52px;height:52px}}.cleanup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.cleanup-card{background:var(--paper);border:3px solid #fff;border-radius:var(--radius);box-shadow:0 6px #183d361f;padding:16px;display:flex;flex-direction:column;gap:8px}.cleanup-card__title{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--forest);display:flex;align-items:center;gap:8px}.cleanup-card__icon{width:1.3em;height:1.3em;object-fit:contain;flex:none}.cleanup-card__count{margin:0;font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}.cleanup-card .cat-hint{flex:1}.cleanup-card .button{width:100%;padding:10px 14px;font-size:.9rem}.cleanup-card .button:disabled{opacity:.5;cursor:not-allowed}.cleanup-all{background:#fdece8;border:3px solid #d84a3a;border-radius:var(--radius);box-shadow:0 6px #183d361f;padding:20px;display:flex;flex-direction:column;gap:12px}.cleanup-all__title{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:#9a3f31}.cleanup-all__text{margin:0;color:var(--ink);font-size:.95rem;line-height:1.5}.cleanup-all__button{align-self:flex-start}@media (max-width: 560px){.cleanup-all__button{align-self:stretch}}
