.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}}html,html.scheme-dark.theme-ocean{color-scheme:dark;--app-theme-color: #0b0c10;--app-body-bg: radial-gradient(circle at center, #1b264f 0%, #0b0c10 100%);--app-text: #f1f5f9;--app-text-heading: #f8fafc;--app-text-muted: #94a3b8;--app-text-subtle: #64748b;--app-surface: rgba(11, 12, 16, .75);--app-surface-alt: rgba(11, 12, 16, .6);--app-surface-hover: rgba(11, 12, 16, .85);--app-surface-inset: rgba(255, 255, 255, .02);--app-border: rgba(212, 175, 55, .25);--app-border-subtle: rgba(255, 255, 255, .08);--app-border-muted: rgba(212, 175, 55, .15);--app-input-bg: rgba(11, 12, 16, .85);--app-input-bg-focus: #0b0c10;--app-input-border: rgba(148, 163, 184, .25);--app-input-text: #f1f5f9;--app-accent: #d97706;--app-accent-light: #fbbf24;--app-accent-gradient: linear-gradient(135deg, #fef08a 0%, #d97706 100%);--app-accent-bg: rgba(217, 119, 6, .1);--app-accent-border: rgba(217, 119, 6, .2);--app-accent-focus-ring: rgba(217, 119, 6, .2);--app-btn-primary-text: #0b0c10;--app-btn-secondary-bg: rgba(255, 255, 255, .05);--app-btn-secondary-border: rgba(255, 255, 255, .12);--app-btn-secondary-text: #e2e8f0;--app-btn-secondary-hover-bg: rgba(255, 255, 255, .08);--app-icon-btn-bg: rgba(255, 255, 255, .05);--app-icon-btn-border: rgba(255, 255, 255, .1);--app-divider: rgba(255, 255, 255, .06);--app-shadow: 0 20px 50px rgba(0, 0, 0, .6), inset 0 0 0 1px rgba(255, 255, 255, .05);--app-card-shadow: 0 10px 25px rgba(0, 0, 0, .3);--app-error-bg: rgba(244, 63, 94, .08);--app-error-text: #fda4af;--app-error-border: #f43f5e;--app-warning-text: #f43f5e;--app-warning-bg: rgba(244, 63, 94, .08);--app-warning-border: rgba(244, 63, 94, .2);--app-empty-border: rgba(255, 255, 255, .08);--app-empty-bg: rgba(255, 255, 255, .02);--app-sidebar-active-bg: rgba(217, 119, 6, .12);--app-sidebar-active-border: #d97706;--app-sidebar-active-text: #fbbf24;--app-header-border: rgba(212, 175, 55, .15);--app-table-border: rgba(255, 255, 255, .08);--app-progress-bar: linear-gradient(90deg, #d97706, #fbbf24, #d97706);--app-backdrop: blur(20px);--app-radius-card: 16px;--app-radius-input: 10px;--app-radius-btn: 10px}html.scheme-light.theme-ocean{color-scheme:light;--app-theme-color: #e2e8f0;--app-body-bg: linear-gradient(165deg, #dbeafe 0%, #f8fafc 42%, #e2e8f0 100%);--app-text: #1e293b;--app-text-heading: #0f172a;--app-text-muted: #475569;--app-text-subtle: #64748b;--app-surface: rgba(255, 255, 255, .88);--app-surface-alt: rgba(255, 255, 255, .78);--app-surface-hover: rgba(255, 255, 255, .96);--app-surface-inset: rgba(15, 23, 42, .03);--app-border: rgba(217, 119, 6, .28);--app-border-subtle: rgba(15, 23, 42, .1);--app-border-muted: rgba(217, 119, 6, .18);--app-input-bg: #ffffff;--app-input-bg-focus: #ffffff;--app-input-border: rgba(100, 116, 139, .35);--app-input-text: #0f172a;--app-accent: #b45309;--app-accent-light: #d97706;--app-accent-gradient: linear-gradient(135deg, #fcd34d 0%, #b45309 100%);--app-accent-bg: rgba(217, 119, 6, .12);--app-accent-border: rgba(217, 119, 6, .25);--app-accent-focus-ring: rgba(217, 119, 6, .25);--app-btn-primary-text: #0b0c10;--app-btn-secondary-bg: rgba(15, 23, 42, .04);--app-btn-secondary-border: rgba(15, 23, 42, .12);--app-btn-secondary-text: #334155;--app-btn-secondary-hover-bg: rgba(15, 23, 42, .07);--app-icon-btn-bg: rgba(15, 23, 42, .04);--app-icon-btn-border: rgba(15, 23, 42, .1);--app-divider: rgba(15, 23, 42, .08);--app-shadow: 0 16px 40px rgba(15, 23, 42, .12), inset 0 0 0 1px rgba(255, 255, 255, .6);--app-card-shadow: 0 8px 24px rgba(15, 23, 42, .1);--app-error-bg: rgba(244, 63, 94, .08);--app-error-text: #be123c;--app-error-border: #e11d48;--app-warning-text: #be123c;--app-warning-bg: rgba(244, 63, 94, .06);--app-warning-border: rgba(244, 63, 94, .2);--app-empty-border: rgba(15, 23, 42, .12);--app-empty-bg: rgba(15, 23, 42, .02);--app-sidebar-active-bg: rgba(217, 119, 6, .1);--app-sidebar-active-border: #d97706;--app-sidebar-active-text: #b45309;--app-header-border: rgba(217, 119, 6, .2);--app-table-border: rgba(15, 23, 42, .1);--app-progress-bar: linear-gradient(90deg, #d97706, #fbbf24, #d97706);--app-backdrop: blur(20px);--app-radius-card: 16px;--app-radius-input: 10px;--app-radius-btn: 10px}html.scheme-dark.theme-material{color-scheme:dark;--app-theme-color: #121212;--app-body-bg: #121212;--app-text: #f1f5f9;--app-text-heading: #f8fafc;--app-text-muted: #94a3b8;--app-text-subtle: #64748b;--app-surface: #1e1e1e;--app-surface-alt: #1e1e1e;--app-surface-hover: #252525;--app-surface-inset: #2a2a2a;--app-border: #2d2d2d;--app-border-subtle: #2d2d2d;--app-border-muted: #2d2d2d;--app-input-bg: #2a2a2a;--app-input-bg-focus: #2a2a2a;--app-input-border: #3d3d3d;--app-input-text: #f1f5f9;--app-accent: #00adb5;--app-accent-light: #00adb5;--app-accent-gradient: linear-gradient(135deg, #00adb5 0%, #008f95 100%);--app-accent-bg: rgba(0, 173, 181, .12);--app-accent-border: rgba(0, 173, 181, .3);--app-accent-focus-ring: rgba(0, 173, 181, .2);--app-btn-primary-text: #ffffff;--app-btn-secondary-bg: #2a2a2a;--app-btn-secondary-border: #3d3d3d;--app-btn-secondary-text: #f1f5f9;--app-btn-secondary-hover-bg: #333333;--app-icon-btn-bg: #2a2a2a;--app-icon-btn-border: #3d3d3d;--app-divider: #2d2d2d;--app-shadow: 0 4px 6px rgba(0, 0, 0, .3);--app-card-shadow: 0 4px 6px rgba(0, 0, 0, .3);--app-error-bg: rgba(244, 63, 94, .08);--app-error-text: #fda4af;--app-error-border: #f43f5e;--app-warning-text: #f43f5e;--app-warning-bg: rgba(244, 63, 94, .08);--app-warning-border: rgba(244, 63, 94, .2);--app-empty-border: #2d2d2d;--app-empty-bg: #1a1a1a;--app-sidebar-active-bg: rgba(0, 173, 181, .08);--app-sidebar-active-border: #00adb5;--app-sidebar-active-text: #00adb5;--app-header-border: #2d2d2d;--app-table-border: #2d2d2d;--app-progress-bar: linear-gradient(90deg, #00adb5, #008f95, #00adb5);--app-backdrop: none;--app-radius-card: 4px;--app-radius-input: 4px;--app-radius-btn: 4px}html.scheme-light.theme-material{color-scheme:light;--app-theme-color: #fafafa;--app-body-bg: #fafafa;--app-text: #212121;--app-text-heading: #111827;--app-text-muted: #616161;--app-text-subtle: #757575;--app-surface: #ffffff;--app-surface-alt: #ffffff;--app-surface-hover: #f5f5f5;--app-surface-inset: #f5f5f5;--app-border: #e0e0e0;--app-border-subtle: #eeeeee;--app-border-muted: #e0e0e0;--app-input-bg: #ffffff;--app-input-bg-focus: #ffffff;--app-input-border: #bdbdbd;--app-input-text: #212121;--app-accent: #00838f;--app-accent-light: #00838f;--app-accent-gradient: linear-gradient(135deg, #00838f 0%, #006064 100%);--app-accent-bg: rgba(0, 131, 143, .1);--app-accent-border: rgba(0, 131, 143, .25);--app-accent-focus-ring: rgba(0, 131, 143, .2);--app-btn-primary-text: #ffffff;--app-btn-secondary-bg: #f5f5f5;--app-btn-secondary-border: #e0e0e0;--app-btn-secondary-text: #424242;--app-btn-secondary-hover-bg: #eeeeee;--app-icon-btn-bg: #f5f5f5;--app-icon-btn-border: #e0e0e0;--app-divider: #e0e0e0;--app-shadow: 0 2px 4px rgba(0, 0, 0, .08);--app-card-shadow: 0 2px 8px rgba(0, 0, 0, .08);--app-error-bg: rgba(244, 63, 94, .08);--app-error-text: #be123c;--app-error-border: #e11d48;--app-warning-text: #be123c;--app-warning-bg: rgba(244, 63, 94, .06);--app-warning-border: rgba(244, 63, 94, .2);--app-empty-border: #e0e0e0;--app-empty-bg: #fafafa;--app-sidebar-active-bg: rgba(0, 131, 143, .08);--app-sidebar-active-border: #00838f;--app-sidebar-active-text: #00838f;--app-header-border: #e0e0e0;--app-table-border: #e0e0e0;--app-progress-bar: linear-gradient(90deg, #00838f, #00adb5, #00838f);--app-backdrop: none;--app-radius-card: 4px;--app-radius-input: 4px;--app-radius-btn: 4px}html.scheme-dark.theme-cupertino{color-scheme:dark;--app-theme-color: #000000;--app-body-bg: #000000;--app-text: #ffffff;--app-text-heading: #ffffff;--app-text-muted: #aeaeb2;--app-text-subtle: #8e8e93;--app-surface: rgba(28, 28, 30, .72);--app-surface-alt: rgba(28, 28, 30, .72);--app-surface-hover: rgba(44, 44, 46, .85);--app-surface-inset: rgba(255, 255, 255, .05);--app-border: rgba(255, 255, 255, .1);--app-border-subtle: rgba(255, 255, 255, .1);--app-border-muted: rgba(255, 255, 255, .08);--app-input-bg: rgba(255, 255, 255, .05);--app-input-bg-focus: rgba(255, 255, 255, .07);--app-input-border: rgba(255, 255, 255, .12);--app-input-text: #ffffff;--app-accent: #0a84ff;--app-accent-light: #0a84ff;--app-accent-gradient: linear-gradient(135deg, #0a84ff 0%, #007aff 100%);--app-accent-bg: rgba(10, 132, 255, .12);--app-accent-border: rgba(10, 132, 255, .3);--app-accent-focus-ring: rgba(10, 132, 255, .25);--app-btn-primary-text: #ffffff;--app-btn-secondary-bg: rgba(255, 255, 255, .08);--app-btn-secondary-border: rgba(255, 255, 255, .12);--app-btn-secondary-text: #ffffff;--app-btn-secondary-hover-bg: rgba(255, 255, 255, .12);--app-icon-btn-bg: rgba(255, 255, 255, .08);--app-icon-btn-border: rgba(255, 255, 255, .12);--app-divider: rgba(255, 255, 255, .08);--app-shadow: none;--app-card-shadow: none;--app-error-bg: rgba(255, 69, 58, .12);--app-error-text: #ff6961;--app-error-border: #ff453a;--app-warning-text: #ff6961;--app-warning-bg: rgba(255, 69, 58, .12);--app-warning-border: rgba(255, 69, 58, .25);--app-empty-border: rgba(255, 255, 255, .1);--app-empty-bg: rgba(255, 255, 255, .04);--app-sidebar-active-bg: rgba(10, 132, 255, .15);--app-sidebar-active-border: #0a84ff;--app-sidebar-active-text: #0a84ff;--app-header-border: rgba(255, 255, 255, .1);--app-table-border: rgba(255, 255, 255, .1);--app-progress-bar: linear-gradient(90deg, #0a84ff, #007aff, #0a84ff);--app-backdrop: blur(25px);--app-radius-card: 12px;--app-radius-input: 8px;--app-radius-btn: 9999px}html.scheme-light.theme-cupertino{color-scheme:light;--app-theme-color: #f2f2f7;--app-body-bg: #f2f2f7;--app-text: #1c1c1e;--app-text-heading: #000000;--app-text-muted: #636366;--app-text-subtle: #8e8e93;--app-surface: rgba(255, 255, 255, .82);--app-surface-alt: rgba(255, 255, 255, .82);--app-surface-hover: rgba(255, 255, 255, .95);--app-surface-inset: rgba(0, 0, 0, .03);--app-border: rgba(0, 0, 0, .08);--app-border-subtle: rgba(0, 0, 0, .06);--app-border-muted: rgba(0, 0, 0, .08);--app-input-bg: #ffffff;--app-input-bg-focus: #ffffff;--app-input-border: rgba(0, 0, 0, .12);--app-input-text: #1c1c1e;--app-accent: #007aff;--app-accent-light: #007aff;--app-accent-gradient: linear-gradient(135deg, #007aff 0%, #0a84ff 100%);--app-accent-bg: rgba(0, 122, 255, .1);--app-accent-border: rgba(0, 122, 255, .25);--app-accent-focus-ring: rgba(0, 122, 255, .2);--app-btn-primary-text: #ffffff;--app-btn-secondary-bg: rgba(0, 0, 0, .05);--app-btn-secondary-border: rgba(0, 0, 0, .08);--app-btn-secondary-text: #1c1c1e;--app-btn-secondary-hover-bg: rgba(0, 0, 0, .08);--app-icon-btn-bg: rgba(0, 0, 0, .05);--app-icon-btn-border: rgba(0, 0, 0, .08);--app-divider: rgba(0, 0, 0, .08);--app-shadow: none;--app-card-shadow: 0 2px 12px rgba(0, 0, 0, .06);--app-error-bg: rgba(255, 59, 48, .1);--app-error-text: #d70015;--app-error-border: #ff3b30;--app-warning-text: #d70015;--app-warning-bg: rgba(255, 59, 48, .08);--app-warning-border: rgba(255, 59, 48, .2);--app-empty-border: rgba(0, 0, 0, .08);--app-empty-bg: rgba(0, 0, 0, .02);--app-sidebar-active-bg: rgba(0, 122, 255, .1);--app-sidebar-active-border: #007aff;--app-sidebar-active-text: #007aff;--app-header-border: rgba(0, 0, 0, .08);--app-table-border: rgba(0, 0, 0, .08);--app-progress-bar: linear-gradient(90deg, #007aff, #0a84ff, #007aff);--app-backdrop: blur(25px);--app-radius-card: 12px;--app-radius-input: 8px;--app-radius-btn: 9999px}.text-muted{color:var(--app-text-muted)}.text-subtle{color:var(--app-text-subtle)}.text-heading{color:var(--app-text-heading)}html.scheme-light #root{border-inline-color:var(--app-border-subtle)}html.scheme-light,html.scheme-dark{--text: var(--app-text);--text-h: var(--app-text-heading);--code-bg: var(--app-icon-btn-bg);--border: var(--app-border-subtle)}*,*:before,*:after{box-sizing:border-box}body{margin:0}#root{width:100%;max-width:100%;min-height:100svh;display:flex;flex-direction:column;align-items:center}:root{--app-scrollbar-size: 10px}@media(hover:none),(pointer:coarse),(max-width:768px){:root{--app-scrollbar-size: 14px}}html{scrollbar-width:auto;scrollbar-color:var(--app-accent-light) var(--app-surface-inset);-webkit-overflow-scrolling:touch}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{width:var(--app-scrollbar-size);height:var(--app-scrollbar-size)}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,*::-webkit-scrollbar-track{background:var(--app-surface-inset);border-radius:calc(var(--app-scrollbar-size) / 2)}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--app-accent-light) 55%,transparent);border-radius:calc(var(--app-scrollbar-size) / 2);min-height:48px}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--app-accent-light) 80%,transparent)}@media(hover:none),(pointer:coarse),(max-width:768px){html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--app-accent-light) 70%,transparent)}html::-webkit-scrollbar-thumb:active,body::-webkit-scrollbar-thumb:active,*::-webkit-scrollbar-thumb:active{background:var(--app-accent-light)}}body{background:var(--app-body-bg);min-height:100vh;margin:0;font-family:system-ui,-apple-system,sans-serif;color:var(--app-text)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:var(--app-input-text);background:var(--app-icon-btn-bg);border:1px solid var(--app-icon-btn-border);font-size:15px;line-height:135%;padding:4px 8px;border-radius:4px;display:inline-flex}#root:has(.auth-screen){width:100%;max-width:none;border-inline:none;text-align:initial}.auth-screen{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:100svh;padding:24px 16px calc(48px + env(safe-area-inset-bottom,0px));box-sizing:border-box;background-image:linear-gradient(#0f172a4d,#0f172a80),url(/login-bg.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.auth-card{background:var(--app-surface);backdrop-filter:var(--app-backdrop);-webkit-backdrop-filter:var(--app-backdrop);border:1px solid var(--app-border);border-radius:var(--app-radius-card);padding:40px;width:450px;max-width:90%;box-shadow:var(--app-shadow);display:flex;flex-direction:column;align-items:center;box-sizing:border-box;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.auth-brand{text-align:center;margin-bottom:30px;width:100%}.auth-logo-img{width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(212,175,55,.35));margin-bottom:15px}.auth-brand-title-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-bottom:14px}.auth-brand-title-row h1,.auth-brand h1{font-size:32px;font-weight:700;color:var(--app-text-heading);background:var(--app-accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0;line-height:1.25;letter-spacing:-.5px}.auth-brand .tagline{font-size:14.5px;color:var(--app-text-muted);margin:0;line-height:1.45}.auth-form{width:100%;display:flex;flex-direction:column;gap:20px}.input-group{position:relative;width:100%}.input-text{width:100%;background:var(--app-input-bg);border:1px solid var(--app-input-border);border-radius:var(--app-radius-input);padding:14px 16px;font-size:16px;color:var(--app-input-text);outline:none;box-sizing:border-box;transition:all .3s ease}.input-text:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-focus-ring);background:var(--app-input-bg-focus)}select.input-text{color-scheme:inherit;cursor:pointer}.time-input-24h{display:flex;align-items:center;gap:8px;width:100%}.time-input-24h__select,.time-input-24h__native{flex:1 1 0;min-width:0;padding-left:12px;padding-right:12px;text-align:center;font-variant-numeric:tabular-nums}input[type=time].time-input-24h__native{color-scheme:inherit;cursor:pointer}.time-input-24h__sep{flex-shrink:0;font-size:18px;font-weight:600;line-height:1;color:var(--app-text-muted);-webkit-user-select:none;user-select:none}.course-dial-section{grid-column:1 / -1}.course-dial-tabs{display:flex;gap:8px;margin-bottom:12px}.course-dial-tab{flex:1;padding:8px 12px;border-radius:8px;border:1px solid var(--app-border-subtle);background:var(--app-btn-secondary-bg);color:var(--app-text-muted);font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.course-dial-tab.is-active{background:var(--app-accent-bg);border-color:var(--app-accent-border);color:var(--app-accent-light)}.course-dial-tab:disabled{opacity:.6;cursor:not-allowed}.course-dial{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:260px;margin:0 auto}.course-dial--sm{max-width:220px}.course-dial--disabled{opacity:.65;pointer-events:none}.course-dial__step-toolbar{display:flex;gap:6px;width:100%}.course-dial__step-btn{flex:1;padding:6px 8px;border-radius:6px;border:1px solid var(--app-border-subtle);background:var(--app-surface-alt);color:var(--app-text-muted);font-size:12px;font-weight:600;cursor:pointer}.course-dial__step-btn.is-active{border-color:var(--app-accent-border);background:var(--app-accent-bg);color:var(--app-accent-light)}.course-dial__ring-wrap{width:100%;touch-action:none}.course-dial__svg{width:100%;height:auto;display:block;cursor:pointer;-webkit-user-select:none;user-select:none}.course-dial__track{fill:none;stroke:var(--app-border);stroke-width:2}.course-dial__tick{stroke:var(--app-text-subtle);stroke-width:1.5}.course-dial__label{fill:var(--app-text-muted);font-size:9px;font-weight:600;font-variant-numeric:tabular-nums}.course-dial__needle line{stroke:var(--app-accent-light);stroke-width:3;stroke-linecap:round}.course-dial__needle circle{fill:var(--app-accent-light)}.course-dial__center{fill:var(--app-text);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.course-dial__hint{margin:0;font-size:12px;color:var(--app-text-muted);text-align:center;line-height:1.4}.course-dial__error{margin:0;width:100%;font-size:12px;color:#f87171;text-align:center}.course-dial__input{width:100%;text-align:center;font-variant-numeric:tabular-nums}.course-dial__mode-toggle{border:none;background:none;color:var(--app-accent-light);font-size:13px;font-weight:500;cursor:pointer;text-decoration:underline;padding:4px}@media(prefers-reduced-motion:reduce){.course-dial__needle{transition:none}}@media(max-width:640px){.course-dial{max-width:min(72vw,220px)}.course-dial--sm{max-width:min(68vw,200px)}.course-dial__label{font-size:8px}}.themed-select{position:relative;width:100%}.themed-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%}.themed-select-chevron{flex-shrink:0;opacity:.75;transition:transform .2s ease}.themed-select.is-open .themed-select-chevron{transform:rotate(180deg)}.themed-select-menu{position:absolute;z-index:120;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;border:1px solid var(--app-input-border);border-radius:var(--app-radius-input);box-shadow:var(--app-card-shadow);max-height:240px;overflow-y:auto;isolation:isolate}html.scheme-light .themed-select-menu{background:#fff;color:#0f172a}html.scheme-dark .themed-select-menu{background:#1c1c1e;color:#f8fafc}.themed-select-option{padding:10px 12px;border-radius:calc(var(--app-radius-input) - 2px);cursor:pointer;font-size:16px;font-weight:500;line-height:1.4}html.scheme-light .themed-select-option{color:#0f172a;-webkit-text-fill-color:#0f172a}html.scheme-dark .themed-select-option{color:#f8fafc;-webkit-text-fill-color:#f8fafc}.themed-select-option:hover{background:var(--app-accent-bg)}html.scheme-light .themed-select-option:hover{color:var(--app-accent);-webkit-text-fill-color:var(--app-accent)}html.scheme-dark .themed-select-option:hover{color:var(--app-accent-light);-webkit-text-fill-color:var(--app-accent-light)}.themed-select-option.is-selected{background:var(--app-accent-bg);font-weight:600}html.scheme-light .themed-select-option.is-selected{color:var(--app-accent);-webkit-text-fill-color:var(--app-accent)}html.scheme-dark .themed-select-option.is-selected{color:var(--app-accent-light);-webkit-text-fill-color:var(--app-accent-light)}.input-textarea{width:100%;background:var(--app-input-bg);border:1px solid var(--app-input-border);border-radius:var(--app-radius-input);padding:14px;font-size:15px;color:var(--app-input-text);outline:none;box-sizing:border-box;resize:none;font-family:inherit;transition:all .3s ease}.input-textarea:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-focus-ring);background:var(--app-input-bg-focus)}.auth-submit-actions{display:flex;flex-direction:column;gap:12px;width:100%}.btn{width:100%;padding:14px;font-size:16px;font-weight:600;border:none;border-radius:var(--app-radius-btn);cursor:pointer;transition:all .25s ease;display:flex;justify-content:center;align-items:center;gap:8px}.btn.primary{background-color:var(--app-accent);background-image:var(--app-accent-gradient);color:var(--app-btn-primary-text);box-shadow:0 4px 15px var(--app-accent-focus-ring)}.btn.primary:hover:not(:disabled){transform:translateY(-1.5px);filter:brightness(1.05)}.btn.primary:active:not(:disabled){transform:translateY(.5px)}.btn.secondary{background:var(--app-btn-secondary-bg);color:var(--app-btn-secondary-text);border:1px solid var(--app-btn-secondary-border)}.btn.secondary:hover:not(:disabled){background:var(--app-btn-secondary-hover-bg)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.auth-header{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.auth-icon{margin-bottom:12px}.auth-icon.warn{color:#f59e0b}.auth-icon.accent{color:#d97706}.auth-card h2{font-size:24px;font-weight:600;color:var(--app-text-heading);margin:0}.recovery-warning{font-size:13.5px;color:var(--app-warning-text);background:var(--app-warning-bg);border:1px solid var(--app-warning-border);border-radius:8px;padding:12px 14px;line-height:145%;margin-bottom:25px;text-align:left}.registration-disclaimer{max-width:560px;max-height:min(90vh,820px);display:flex;flex-direction:column}.registration-disclaimer--modal{position:relative;width:min(560px,calc(100vw - 32px));margin:0}.registration-disclaimer__close{position:absolute;top:12px;right:12px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer}.registration-disclaimer__close:hover{background:#94a3b81f;color:#e2e8f0}.disclaimer-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;background:#020617b8}.disclaimer-modal-panel{width:100%;max-width:560px;max-height:min(90vh,820px);display:flex;flex-direction:column;min-height:0;overflow:hidden}.disclaimer-modal-panel>.registration-disclaimer{flex:1 1 auto;min-height:0;max-height:100%;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.feedback-modal{position:relative}.feedback-modal__close{top:12px;right:12px;z-index:1}.feedback-status{text-align:center;padding:8px 0 4px}.feedback-status p{margin:12px 0 0;font-size:15px;line-height:1.5}.feedback-status--success{color:#4ade80;padding:24px 8px 32px}.feedback-status--success p{color:var(--app-text-heading, #f1f5f9)}.feedback-status--error{color:var(--app-error-text, #fda4af);background:var(--app-error-bg, rgba(244, 63, 94, .08));border:1px solid var(--app-error-border, #f43f5e);border-radius:8px;margin-bottom:16px;padding:10px 12px;text-align:left}.feedback-status--error p{margin:0;font-size:14px}.feedback-modal .auth-actions{margin-top:0}.registration-disclaimer.feedback-modal{align-items:stretch;width:100%}.registration-disclaimer.feedback-modal .auth-header,.registration-disclaimer.feedback-modal>p,.registration-disclaimer.feedback-modal .nmea-import-summary,.registration-disclaimer.feedback-modal .nmea-import-warning,.registration-disclaimer.feedback-modal .nmea-import-mode,.registration-disclaimer.feedback-modal .feedback-form__field,.registration-disclaimer.feedback-modal .nmea-import-checkbox,.registration-disclaimer.feedback-modal .nmea-preview-actions,.registration-disclaimer.feedback-modal .nmea-preview-list,.registration-disclaimer.feedback-modal .auth-actions{width:100%;box-sizing:border-box}.nmea-import-warning{width:100%;margin:0 0 16px;padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.5;text-align:left;color:var(--app-warning-text, #fcd34d);background:var(--app-warning-bg, rgba(251, 191, 36, .1));border:1px solid var(--app-warning-border, rgba(251, 191, 36, .35));box-sizing:border-box}.nmea-import-summary{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:var(--app-surface-inset);border:1px solid var(--app-border-muted);text-align:left;font-size:13px;line-height:1.5}.nmea-import-summary p{margin:0}.nmea-import-summary p+p{margin-top:6px}.nmea-import-mode{border:1px solid var(--app-border-muted);border-radius:8px;padding:12px 16px;margin:0 0 16px;display:flex;flex-direction:column;gap:10px;text-align:left}.nmea-import-mode legend{padding:0 4px;font-size:13px;font-weight:600;color:var(--app-text-heading, #f1f5f9)}.nmea-import-mode label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;line-height:1.4}.nmea-import-checkbox{display:flex;align-items:center;gap:10px;margin-bottom:16px;cursor:pointer;text-align:left;font-size:14px}.nmea-preview-actions{display:flex;gap:8px;margin-bottom:12px}.nmea-preview-actions .btn{flex:1;margin:0}.nmea-preview-list{display:flex;flex-direction:column;gap:8px;max-height:min(45vh,360px);overflow-y:auto;margin-bottom:16px;padding:2px}.nmea-preview-row{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid var(--app-border-muted);border-radius:8px;background:var(--app-surface-inset);cursor:pointer;text-align:left;transition:border-color .15s ease}.nmea-preview-row:hover{border-color:var(--app-accent-border, rgba(212, 175, 55, .35))}.nmea-preview-row__check{flex-shrink:0;margin:2px 0 0;width:18px;height:18px;accent-color:var(--app-accent-light, #d4af37)}.nmea-preview-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.nmea-preview-row__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nmea-preview-time{font-variant-numeric:tabular-nums;font-weight:600;font-size:14px;color:var(--app-accent-light, #d4af37);min-width:3.25rem}.nmea-preview-source{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:#94a3b826;color:var(--app-text-muted, #94a3b8)}.nmea-preview-remarks{font-size:13px;line-height:1.45;color:var(--app-text, #e2e8f0);word-break:break-word}.feedback-form{display:flex;flex-direction:column;gap:16px}.feedback-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.feedback-form__field{display:flex;flex-direction:column;gap:6px;text-align:left}.feedback-form__field>span{font-size:13px;font-weight:600;color:var(--app-text-heading, #f1f5f9)}.feedback-form__field select,.feedback-form__field input,.feedback-form__field textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--app-input-border, rgba(148, 163, 184, .25));background:var(--app-input-bg, rgba(15, 23, 42, .6));color:var(--app-text, #e2e8f0);font:inherit;resize:vertical}.feedback-form__field select:focus,.feedback-form__field input:focus,.feedback-form__field textarea:focus{outline:none;border-color:var(--app-accent, #38bdf8)}.feedback-form__actions{display:flex;gap:10px;justify-content:flex-end}.feedback-form__actions .btn{width:auto;min-width:100px;margin:0}.registration-disclaimer__intro{margin:0 0 16px;font-size:14px;line-height:1.55;color:var(--app-text-muted, #94a3b8);text-align:left}.registration-disclaimer__sections{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;margin-bottom:16px;padding-right:4px;text-align:left}.registration-disclaimer__section h3{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--app-text-heading, #f1f5f9)}.registration-disclaimer__section p{margin:0;font-size:13.5px;line-height:1.55;color:var(--app-text-muted, #94a3b8)}.registration-disclaimer__copyright{margin:0 0 20px;font-size:12px;color:var(--app-text-muted, #64748b);text-align:center}.phrase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin-bottom:30px}.phrase-word{background:var(--app-input-bg);border:1px solid var(--app-border-subtle);border-radius:6px;padding:12px 8px;font-size:14.5px;color:var(--app-text);text-align:center;font-family:ui-monospace,monospace}.word-num{color:var(--app-accent);font-size:11px;margin-right:4px}.auth-actions{display:flex;gap:12px;width:100%}.auth-error{width:100%;background:var(--app-error-bg);color:var(--app-error-text);border-left:3px solid var(--app-error-border);padding:10px 12px;font-size:14px;border-radius:4px;text-align:left;box-sizing:border-box}.auth-footer{margin-top:30px;width:100%;border-top:1px solid var(--app-divider);padding-top:20px;display:flex;justify-content:space-between;box-sizing:border-box}.btn-icon-text{background:none;border:none;color:var(--app-text-muted);font-size:13.5px;display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 10px;border-radius:6px;transition:all .2s ease;text-decoration:none}.btn-icon-text:hover{color:var(--app-accent);background:var(--app-accent-bg)}.btn-icon-text.link-sec{color:var(--app-text-subtle)}.btn-icon-text.link-sec:hover{color:var(--app-text-muted)}.dashboard-mock{color:#f8fafc;background:#0b0c10bf;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(212,175,55,.25);border-radius:20px;padding:40px;text-align:center;max-width:600px;width:90%;box-sizing:border-box;animation:fadeIn .4s ease-out}.dashboard-mock h2{font-size:28px;color:#fbbf24;margin-top:0}.dashboard-mock p{color:#94a3b8;line-height:150%;margin-bottom:24px}.dashboard-container{width:100%;max-width:1200px;min-height:100vh;display:flex;flex-direction:column;padding:24px;box-sizing:border-box;color:var(--app-text)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--app-header-border)}.header-brand{display:flex;align-items:center;gap:12px}.header-logo{color:var(--app-accent-light);filter:drop-shadow(0 0 8px var(--app-accent-focus-ring))}.header-brand h1{font-size:24px;font-weight:700;margin:0;background:var(--app-accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.header-brand .subtitle{font-size:12px;color:var(--app-text-muted);margin:2px 0 0}.header-actions{display:flex;align-items:center;gap:16px}.conn-status{display:flex;align-items:center;gap:6px;font-size:13px;padding:6px 12px;border-radius:20px;font-weight:500}.conn-status.online{background:#22c55e1a;color:#4ade80;border:1px solid rgba(34,197,94,.2)}.conn-status.offline{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2)}.skipper-badge.btn-icon{width:auto;border-radius:18px;padding:0 12px;gap:6px;font-size:13px;font-weight:500;-webkit-user-select:none;user-select:none}.skipper-badge__name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-icon{background:var(--app-icon-btn-bg);border:1px solid var(--app-icon-btn-border);color:var(--app-text-muted);width:36px;height:36px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:var(--app-accent-bg);border-color:var(--app-accent);color:var(--app-accent-light)}.btn-icon.danger{background:#ef44442e;border-color:#ef444459;color:#f87171}.btn-icon.danger:hover{background:#ef44444d;border-color:#ef4444;color:#fca5a5}.btn-icon.danger:disabled{opacity:.45;cursor:not-allowed}.btn-icon.logout:hover{background:var(--app-accent-bg);border-color:var(--app-accent);color:var(--app-accent-light)}.dashboard-main{display:grid;grid-template-columns:350px 1fr;gap:32px;align-items:start}@media(max-width:900px){.dashboard-main{grid-template-columns:1fr;padding:0 10px}}.dashboard-account-section{width:100%;max-width:720px;margin:40px auto 48px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}.profile-main{max-width:900px;margin:0 auto;padding:0 24px 48px;display:flex;flex-direction:column;gap:24px;text-align:left}.dashboard-header--profile .profile-header-brand{align-items:flex-start;flex:1;min-width:0;gap:16px}.profile-back-btn{margin-top:4px;flex-shrink:0}.profile-dl{margin:0;display:flex;flex-direction:column;gap:16px}.profile-dl-row{display:grid;grid-template-columns:minmax(140px,200px) minmax(0,1fr);gap:8px 20px;align-items:start}.profile-dl-row dt{margin:0;font-size:13px;color:var(--app-text-muted);text-align:left;line-height:1.4}.profile-dl-row dd{margin:0;font-size:14px;color:var(--app-text);word-break:break-word;text-align:left;justify-self:start}.profile-user-id{display:flex;align-items:center;gap:8px}.profile-user-id code{font-size:12px;border-radius:6px;word-break:break-all}.profile-copy-btn{flex-shrink:0}.profile-accordion{margin-bottom:12px;border:1px solid var(--app-border-muted);border-radius:var(--app-radius-card);background:var(--app-surface);overflow:hidden}.profile-accordion__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;font-weight:600;color:var(--app-text-heading)}.profile-accordion__summary::-webkit-details-marker{display:none}.profile-accordion__title{display:flex;align-items:center;gap:10px}.profile-accordion__chevron{flex-shrink:0;transition:transform .2s ease;opacity:.7}.profile-accordion[open] .profile-accordion__chevron{transform:rotate(180deg)}.profile-accordion__body{padding:0 16px 16px;border-top:1px solid var(--app-border-muted)}.profile-accordion-inner-card{margin-top:12px}.profile-accordion-inner-card.form-card,.profile-accordion-inner-card.member-editor-card{margin-bottom:0}.btn-link{background:none;border:none;padding:0;color:var(--app-accent, #f59e0b);text-decoration:underline;cursor:pointer;font:inherit}.profile-section-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.profile-section-header h3{margin:0;font-size:16px}.profile-section-desc,.profile-pin-status,.profile-empty{margin:0 0 12px;font-size:13px;color:var(--app-text-muted);line-height:1.5;text-align:left}.profile-pin-form{display:flex;flex-direction:column;gap:12px}.profile-field-label,.profile-pin-form .input-group label{display:block;text-align:left;font-size:13.5px;color:var(--app-text-muted);margin-bottom:6px;font-weight:500}.profile-main .form-actions:not(.account-danger-zone__actions){justify-content:flex-start}.profile-passkey-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.profile-passkey-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:var(--app-icon-btn-bg);border:1px solid var(--app-icon-btn-border)}.profile-passkey-main{flex:1;min-width:0}.profile-passkey-label{display:block;font-size:14px;font-weight:600;color:var(--app-text);margin-bottom:2px}.profile-passkey-rename{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.profile-passkey-rename .input-text{flex:1 1 160px;min-width:0;padding:10px 12px;font-size:14px}.profile-add-passkey{margin-top:16px}.profile-add-passkey .input-group label{display:block;text-align:left;font-size:13.5px;color:var(--app-text-muted);margin-bottom:6px;font-weight:500}.profile-security-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.profile-security-item{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4}.profile-security-item--ok{color:#4ade80}.profile-security-item--warn{color:#fbbf24}.profile-recovery-hint{margin-bottom:0;font-size:12px}.profile-recovery-actions{margin-top:16px;justify-content:flex-start}.profile-recovery-actions .btn{width:auto}.profile-recovery-card .phrase-grid{margin-bottom:24px}.profile-recovery-warning{margin:0 0 20px;font-size:13px;line-height:1.5;color:#fbbf24;text-align:left}.profile-device-status{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px}.account-danger-zone__hint{margin:0 0 16px;font-size:13px;color:var(--app-text-muted);line-height:1.5}.profile-passkey-id{display:block;font-family:ui-monospace,monospace;font-size:13px;color:var(--app-input-text)}.profile-passkey-transports{display:block;font-size:11px;color:var(--app-text-muted);margin-top:2px}@media(max-width:640px){.profile-dl-row{grid-template-columns:1fr;gap:4px}.dashboard-header--profile .profile-header-brand{flex-direction:column;align-items:stretch;gap:12px}.profile-back-btn{margin-top:0;align-self:flex-start}}.account-danger-zone{border-top:1px solid rgba(239,68,68,.2);padding-top:24px}.account-danger-zone__header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.account-danger-zone__icon{color:#ef4444;flex-shrink:0}.account-danger-zone__title{margin:0;color:#ef4444;font-size:16px}.account-danger-zone__desc{font-size:13.5px;color:#94a3b8;line-height:1.45;margin:0 0 16px}.account-danger-zone__actions{justify-content:flex-start}.account-danger-zone__actions .btn{width:auto}.create-section{background:var(--app-surface-alt);backdrop-filter:var(--app-backdrop);-webkit-backdrop-filter:var(--app-backdrop);border:1px solid var(--app-border-muted);border-radius:var(--app-radius-card);padding:24px;box-sizing:border-box}.create-section h2{font-size:18px;margin-top:0;margin-bottom:20px;color:var(--app-text-heading)}.dashboard-form{display:flex;flex-direction:column;gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.list-section{display:flex;flex-direction:column;gap:20px}.dashboard-list-controls{display:flex;flex-direction:column;gap:16px}.dashboard-filter-bar,.dashboard-sort-bar{display:flex;flex-direction:column;gap:8px}.dashboard-sort-label{font-size:13px;font-weight:600;color:var(--app-text-muted)}.dashboard-sort-row{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.dashboard-sort-group{display:flex;flex:0 0 auto;gap:6px}.dashboard-sort-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:8px;border:1px solid var(--app-border-subtle);background:var(--app-surface-alt);color:var(--app-text-muted);cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}.dashboard-sort-btn:hover{border-color:var(--app-border);color:var(--app-text-heading)}.dashboard-sort-btn.is-active{border-color:var(--app-accent-border);background:var(--app-accent-bg);color:var(--app-accent-light)}.dashboard-sort-btn:focus-visible{outline:2px solid var(--app-accent-focus-ring);outline-offset:2px}.dashboard-filter-label{font-size:13px;font-weight:600;color:var(--app-text-muted);margin:0}.dashboard-filter-input-wrap{position:relative;display:flex;align-items:center;width:100%}.dashboard-filter-icon{position:absolute;left:14px;color:var(--app-text-muted);pointer-events:none;flex-shrink:0}.dashboard-filter-input{width:100%;padding-left:42px;padding-right:42px;min-height:44px}.dashboard-filter-input::-webkit-search-cancel-button{display:none}.dashboard-filter-clear{position:absolute;right:6px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--app-text-muted);cursor:pointer;transition:color .2s,background-color .2s}.dashboard-filter-clear:hover{color:var(--app-text-heading);background:var(--app-accent-bg)}.dashboard-filter-clear:focus-visible{outline:2px solid var(--app-accent-focus-ring);outline-offset:2px}.dashboard-filter-meta{margin:0;font-size:13px;color:var(--app-text-muted)}.section-title-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.section-title-bar h2{font-size:20px;margin:0;color:var(--app-text-heading)}.section-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.copy-link-row{display:flex;gap:8px;align-items:center;width:100%;min-width:0}.copy-link-row .input-text{flex:1;min-width:0}.link-with-qr{display:flex;flex-direction:column;gap:16px}.link-qr-block{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border-radius:var(--app-radius-card, 12px);background:var(--app-surface-inset, rgba(0, 0, 0, .2));border:1px solid var(--app-border-subtle)}.link-qr-label{margin:0;font-size:13px;color:var(--app-text-muted);text-align:center}.link-qr-image{display:block;border-radius:8px;background:#fff;padding:8px;box-sizing:content-box}.form-actions--start{justify-content:flex-start}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.btn-refresh{background:none;border:none;color:var(--app-text-muted);cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-refresh:hover{color:var(--app-accent-light)}.spin{animation:rotation 1s infinite linear}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.dashboard-status-msg{padding:40px;text-align:center;color:#94a3b8;border-radius:16px;background:#ffffff05;border:1px dashed rgba(255,255,255,.08)}.logbooks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.logbook-card-select{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;padding:0;margin:0;border:none;border-radius:inherit;background:transparent;cursor:pointer}.logbook-card>.card-icon,.logbook-card>.card-info{position:relative;z-index:1;pointer-events:none}.logbook-card>.card-info{flex:1;min-width:0}.logbook-card-chevron{position:relative;z-index:1;flex-shrink:0;align-self:center;margin-left:auto;color:#475569;pointer-events:none}.logbook-card .logbook-title-editable,.logbook-card .logbook-title-inline-edit,.logbook-card .card-title-row{pointer-events:auto}.logbook-card--editing-title>.card-info{pointer-events:auto}.logbook-card{background:var(--app-surface-alt);backdrop-filter:var(--app-backdrop);-webkit-backdrop-filter:var(--app-backdrop);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-card);padding:20px;display:flex;align-items:flex-start;gap:16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.logbook-card:hover,.logbook-card:focus-within{transform:translateY(-2px);border-color:var(--app-border);box-shadow:var(--app-card-shadow);background:var(--app-surface-hover)}.sync-conflict-banner{display:flex;gap:12px;align-items:flex-start;margin:0 0 16px;padding:16px;border-radius:var(--app-radius-card);border:1px solid var(--app-warning-border, #f59e0b);background:var(--app-warning-bg, rgba(245, 158, 11, .12));color:var(--app-text)}.sync-conflict-banner__body p{margin:4px 0 12px;font-size:14px;color:var(--app-text-muted)}.sync-conflict-banner__actions{display:flex;flex-wrap:wrap;gap:8px}.storage-persist-hint{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:12px 16px;border-radius:var(--app-radius-card)}.storage-persist-hint p{margin:0;flex:1;min-width:200px;font-size:14px;color:var(--app-text-muted)}.logbook-card--shared{border-left:3px solid #38bdf8}.logbook-sections{display:flex;flex-direction:column;gap:28px}.logbook-section-header h3{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--app-text-heading)}.logbook-section-hint{margin:0 0 14px;font-size:13px;line-height:1.45;color:var(--app-text-muted);max-width:52rem}.card-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.card-title-row h3{margin:0;flex:1 1 8rem;min-width:0;max-width:100%}.card-title-row .role-badge{flex-shrink:0}.logbook-card-actions{flex-shrink:0;align-self:flex-start;display:flex;align-items:center;margin-top:-2px;position:relative;z-index:2}.logbook-card-actions .btn-delete{position:static;top:auto;right:auto;opacity:0}.logbook-card:hover .logbook-card-actions .btn-delete,.logbook-card:focus-within .logbook-card-actions .btn-delete{opacity:1}@media(hover:none),(pointer:coarse){.logbook-card-actions .btn-delete{opacity:1}}.logbook-title-editable{cursor:text;border-radius:4px;transition:background-color .15s ease}.logbook-title-editable:hover{background:var(--app-accent-bg)}.logbook-title-inline-edit{flex:1 1 8rem;min-width:0;max-width:100%;margin:0;padding:2px 8px;font-size:16px;font-weight:600;line-height:1.4}.card-icon{background:var(--app-accent-bg);color:var(--app-accent-light);width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--app-accent-border)}.card-info{flex-grow:1;min-width:0}.card-info h3{margin:0;font-size:16px;font-weight:600;color:var(--app-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:11px}.sync-badge{padding:2px 6px;border-radius:4px;font-weight:500}.sync-badge.synced{background:#22c55e1a;color:#86efac}.sync-badge.local{background:#eab3081a;color:#fde047}.date-badge{color:var(--app-text-subtle)}.entry-sign-badge{position:relative;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.entry-sign-badge--skipper.valid{color:#86efac;background:#22c55e1f;border:1px solid rgba(34,197,94,.25);padding:3px 7px}.entry-sign-badge--skipper.invalid{color:#fde68a;background:#fbbf241f;border:1px solid rgba(251,191,36,.28)}.entry-sign-badge__sr-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-delete{background:#ef44442e;border:1px solid rgba(239,68,68,.35);color:#f87171;cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease;position:absolute;top:12px;right:12px}.logbook-card:hover .btn-delete{opacity:1}.btn-delete:hover{color:#fca5a5;background:#ef44444d;border-color:#ef4444}.btn-pdf{background:none;border:none;color:#64748b;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease;position:absolute;top:12px;right:44px}.logbook-card:hover .btn-pdf{opacity:1}.btn-pdf:hover{color:#38bdf8;background:#38bdf81a}.app-layout{width:100%;max-width:1200px;min-height:100vh;display:flex;flex-direction:column;padding:24px;box-sizing:border-box;color:var(--app-text)}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--app-header-border)}.app-header-left{display:flex;align-items:center;gap:16px}.btn-back{background:var(--app-btn-secondary-bg);border:1px solid var(--app-btn-secondary-border);color:var(--app-accent-light);padding:8px 16px;border-radius:8px;display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:500;transition:all .2s}.btn-back:hover{background:var(--app-accent-bg);border-color:var(--app-accent)}.app-title-area h2{font-size:20px;margin:0;color:var(--app-text-heading)}.app-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.app-title-area .app-subtitle{font-size:12px;color:var(--app-text-muted);margin:2px 0 0}.app-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}.app-bottom-nav{display:none}@media(max-width:768px){.app-body{grid-template-columns:minmax(0,1fr);padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.app-sidebar{display:none}.app-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;justify-content:space-around;align-items:stretch;gap:4px;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));background:var(--app-surface-alt);-webkit-backdrop-filter:var(--app-backdrop);backdrop-filter:var(--app-backdrop);border-top:1px solid var(--app-border-subtle);box-sizing:border-box}.bottom-nav-btn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px;border:none;border-radius:8px;background:transparent;color:var(--app-text-muted);font-size:10px;font-weight:500;cursor:pointer}.bottom-nav-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.bottom-nav-btn.active{background:var(--app-sidebar-active-bg);color:var(--app-sidebar-active-text)}}.app-sidebar{display:flex;flex-direction:column;gap:8px;background:var(--app-surface-alt);-webkit-backdrop-filter:var(--app-backdrop);backdrop-filter:var(--app-backdrop);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-card);padding:16px;box-sizing:border-box}.sidebar-btn{background:none;border:none;color:var(--app-text-muted);padding:12px 16px;border-radius:8px;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left;font-weight:500;transition:all .2s;width:100%;box-sizing:border-box}.sidebar-btn:hover{background:var(--app-surface-inset);color:var(--app-text)}.sidebar-btn.active{background:var(--app-sidebar-active-bg);border:1px solid var(--app-accent-border);color:var(--app-sidebar-active-text)}.app-content{background:var(--app-surface-alt);-webkit-backdrop-filter:var(--app-backdrop);backdrop-filter:var(--app-backdrop);border:1px solid var(--app-border-muted);border-radius:var(--app-radius-card);padding:32px;min-height:400px;box-sizing:border-box;animation:fadeIn .3s ease-out}.tab-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;color:var(--app-text-muted)}.tab-placeholder h3{font-size:24px;color:var(--app-accent-light);margin-top:16px;margin-bottom:8px}.tab-placeholder p{max-width:400px;line-height:150%;margin:0}.form-card{background:var(--app-surface-alt);backdrop-filter:var(--app-backdrop);-webkit-backdrop-filter:var(--app-backdrop);border:1px solid var(--app-border-muted);border-radius:var(--app-radius-card);padding:32px;box-sizing:border-box;width:100%}.form-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.form-header h2{font-size:20px;margin:0;color:var(--app-accent-light);min-width:0;flex-shrink:1;word-break:break-word}.form-icon{color:var(--app-accent-light)}.vessel-form{display:flex;flex-direction:column;gap:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:1024px){.form-grid{grid-template-columns:1fr}.vessel-photo-wrapper,.sails-section,.grid-span-2{grid-column:span 1!important}}.vessel-form label{display:block;font-size:13.5px;color:var(--app-text-muted);margin-bottom:6px;font-weight:500}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:12px}.success-toast{display:flex;align-items:center;gap:8px;color:#4ade80;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500}.crew-dashboard-layout{display:flex;flex-direction:column;gap:24px;width:100%}.member-editor-card{background:var(--app-surface-inset);border:1px solid var(--app-border-muted);border-radius:var(--app-radius-card);padding:24px;box-sizing:border-box}.editor-header{display:flex;justify-content:space-between;align-items:center}.editor-header h3{margin:0;font-size:16px;color:var(--app-accent-light)}.editor-actions{display:flex;justify-content:flex-end}.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.crew-member-card{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px;display:flex;flex-direction:column;position:relative}.crew-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:8px}.crew-card-header h4{margin:0;font-size:16px;font-weight:600;color:#f1f5f9}.card-actions{display:flex;gap:8px}.crew-card-body{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#94a3b8}.crew-card-body p{margin:0;line-height:140%}.crew-card-body strong{color:#cbd5e1}.deviation-grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;width:100%}@media(max-width:480px){.deviation-grid-container{grid-template-columns:1fr 1fr}}.deviation-cell{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:8px}.cell-label{font-size:12px;font-weight:600;color:#fbbf24;font-family:ui-monospace,monospace}.cell-input{text-align:center;padding:6px 8px;font-size:14px}.events-scroll-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:#0b0c1066;border:1px solid rgba(255,255,255,.06);border-radius:12px;box-sizing:border-box}.events-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.events-table th{background:#0b0c10cc;color:#fbbf24;padding:12px 16px;font-weight:600;border-bottom:1px solid rgba(212,175,55,.2);white-space:nowrap}.events-table td{padding:12px 16px;color:#e2e8f0;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}.events-actions-td{width:1%;min-width:88px;white-space:nowrap;vertical-align:middle}.events-actions-cell{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}.events-table tbody tr:hover{background:#ffffff05}.table-weather-img{width:32px;height:32px;display:block;margin:-6px 0;object-fit:contain}.remarks-td{min-width:160px;max-width:300px;white-space:normal;word-break:break-word}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-sm{font-size:12px}.sync-progress-bar{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--app-progress-bar);background-size:200% 100%;animation:sync-slide 1.5s infinite linear;z-index:9999}@keyframes sync-slide{0%{background-position:200% 0}to{background-position:0 0}}.conn-status.syncing{background:#3b82f61a;color:#60a5fa;border:1px solid rgba(59,130,246,.25)}.conn-status.warning{background:#fbbf241a;color:#fbbf24;border:1px solid rgba(251,191,36,.25)}.pulse-dot{width:8px;height:8px;border-radius:50%;background-color:#fbbf24;display:inline-block;margin-right:6px;animation:pulse-animation 1.5s infinite ease-in-out}@keyframes pulse-animation{0%{transform:scale(.9);opacity:.6}50%{transform:scale(1.2);opacity:1}to{transform:scale(.9);opacity:.6}}@media(max-width:640px){.hide-mobile{display:none!important}.dashboard-header,.app-header{flex-wrap:wrap;align-items:flex-start;gap:12px}.app-header-left{flex:1 1 100%;min-width:0;align-items:flex-start;gap:10px}.app-title-area{min-width:0;flex:1}.app-title-area h2{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.app-title-row{gap:6px}.app-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-brand{flex:1 1 auto;min-width:0}.header-brand h1{font-size:20px}.header-actions{flex:1 1 100%;flex-wrap:wrap;justify-content:flex-end;gap:8px}.conn-status>span:not(.pulse-dot){display:none}.skipper-badge__name{display:none}.skipper-badge.btn-icon{width:36px;padding:0}.btn-back{padding:8px 10px;flex-shrink:0}.section-title-bar{flex-direction:column;align-items:stretch;gap:12px}.section-toolbar{display:flex;flex-wrap:wrap;gap:8px;width:100%}.section-toolbar .btn{flex:1 1 auto;min-width:0}.section-toolbar .btn.primary{flex:1 1 100%}.section-title-left{flex-direction:column;align-items:stretch;gap:10px}.section-title-left .form-header h2{font-size:16px;white-space:normal;word-break:break-word}.dashboard-sort-bar{flex-direction:row;align-items:center;gap:10px}.dashboard-sort-label{flex-shrink:0;min-width:4.75rem}.dashboard-sort-row{flex:1;min-width:0;flex-wrap:nowrap;gap:12px}.dashboard-sort-group{flex:1;min-width:0;gap:6px}.dashboard-sort-btn{flex:1;width:auto;min-width:44px;height:44px}.logbooks-grid{grid-template-columns:1fr;gap:16px}.logbook-card{flex-wrap:nowrap;padding:16px;gap:12px}.logbook-card-actions{margin-top:0}.logbook-card-actions .btn-delete{opacity:1}.card-meta{flex-wrap:wrap}.card-title-row h3,.logbook-title-inline-edit{flex-basis:100%}.card-info h3{white-space:normal;word-break:break-word}.editor-header{flex-wrap:wrap;gap:10px}.crew-grid{grid-template-columns:1fr}.copy-link-row{flex-direction:column;align-items:stretch}.copy-link-row .btn{width:100%}.form-actions--start{flex-direction:column;align-items:stretch}.form-actions--start .btn{width:100%}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive table{min-width:480px}.custom-dialog-overlay{padding:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right));align-items:flex-end}.custom-dialog-card{width:100%;max-width:none;padding:22px 18px;margin-bottom:env(safe-area-inset-bottom,0px)}.custom-dialog-actions{flex-direction:column-reverse;gap:10px}.custom-dialog-actions .btn{width:100%;margin:0!important}.disclaimer-modal-overlay{padding:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));align-items:flex-end}.disclaimer-modal-panel,.registration-disclaimer--modal{width:100%;max-width:none}.auth-card{padding:28px 20px;max-width:calc(100vw - 24px)}.app-layout,.dashboard-container{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.track-info-left{flex-wrap:wrap}.track-actions{width:100%}.track-actions .btn{flex:1 1 calc(50% - 4px);justify-content:center}#openseamap-container,.track-map-container{height:min(360px,45svh)}.sails-picker-pills{gap:4px}.sails-picker-container.is-collapsible .sails-picker-toggle{display:inline-flex}.sail-pill{padding:3px 8px;font-size:11px;border-radius:12px;line-height:1.2}}@media(max-width:480px){.sails-picker-container.is-collapsible.is-collapsed .sails-picker-pills{max-height:3.25rem}.sail-pill{padding:2px 7px;font-size:10px}}html.theme-material{font-family:Roboto,Noto Sans,system-ui,-apple-system,sans-serif}html.theme-cupertino{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif}html.theme-material .sidebar-btn{border-radius:0;border-left:4px solid transparent}html.theme-material .sidebar-btn.active{border-left:4px solid var(--app-sidebar-active-border);border-top:none;border-right:none;border-bottom:none}html.theme-material .btn.primary{background-image:none}html.theme-cupertino .btn.primary,html.theme-cupertino .btn.secondary,html.theme-cupertino .btn-back{border-radius:var(--app-radius-btn)}html.theme-material .events-table th,html.theme-cupertino .events-table th{color:var(--app-accent);border-bottom-color:var(--app-table-border)}html.theme-material .events-table td,html.theme-cupertino .events-table td{border-bottom-color:var(--app-table-border)}html.theme-material .events-scroll-container,html.theme-cupertino .events-scroll-container{border-color:var(--app-table-border)}html.theme-cupertino .events-scroll-container{background:var(--app-surface-inset)}.photo-attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;width:100%}.photo-card{position:relative;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#0f172a66;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.photo-card:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 10px 25px #0006;border-color:#d4af374d}.photo-container{position:relative;width:100%;aspect-ratio:16 / 9;background:#0b0c10;overflow:hidden}.photo-container img{width:100%;height:100%;object-fit:cover;display:block}.photo-btn-delete{position:absolute;top:8px;right:8px;background:#ef444438;border:1px solid rgba(239,68,68,.4);color:#fca5a5;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.photo-btn-delete:hover{background:#ef444473;border-color:#ef4444;color:#fff;transform:scale(1.08)}.photo-caption-bar{padding:10px 12px;background:#0f172a8c;font-size:13px;color:#e2e8f0;border-top:1px solid rgba(255,255,255,.05);text-align:center;font-weight:500;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.custom-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0b0c10bf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000}.custom-dialog-card{background:#0f172ad9;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;width:90%;max-width:420px;box-shadow:0 25px 50px -12px #0009;text-align:center;display:flex;flex-direction:column;align-items:center}.custom-dialog-title{font-size:19px;font-weight:700;color:#fbbf24;margin:0 0 14px;text-transform:uppercase;letter-spacing:.5px}.custom-dialog-message{font-size:15px;color:#e2e8f0;line-height:1.5;margin:0 0 24px;white-space:pre-line}.custom-dialog-actions{display:flex;justify-content:center;gap:16px;width:100%}.sails-section{grid-column:span 2;border-top:1px solid #1e293b;padding-top:20px;margin-top:10px}.sails-section h3{font-size:16px;color:#fbbf24;margin:0 0 8px}.sails-section p.help-text{font-size:13px;color:#64748b;margin:0 0 12px}.sails-badges-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.sail-badge{display:inline-flex;align-items:center;gap:6px;background:#1e293bb3;border:1px solid #334155;color:#e2e8f0;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500}.sail-badge button.remove-btn{background:none;border:none;color:#94a3b8;cursor:pointer;display:flex;align-items:center;padding:0;margin:0;transition:color .2s ease}.sail-badge button.remove-btn:hover{color:#ef4444}.no-sails-msg{color:#64748b;font-size:14px;font-style:italic}.add-sail-form{display:flex;gap:10px;max-width:400px}.sails-picker-container{display:flex;flex-direction:column;gap:8px;grid-column:1 / -1;margin-top:-4px}.sails-picker-pills{display:flex;flex-wrap:wrap;gap:6px;position:relative}.sails-picker-container.is-collapsible.is-collapsed .sails-picker-pills{max-height:3.75rem;overflow:hidden}.sails-picker-container.is-collapsible.is-collapsed .sails-picker-pills:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1.25rem;background:linear-gradient(to bottom,transparent,var(--app-surface, #0f172a));pointer-events:none}.sails-picker-toggle{display:none;align-items:center;gap:4px;margin:4px auto 0;padding:2px 8px;background:none;border:none;color:var(--app-text-muted, #94a3b8);font-size:12px;cursor:pointer}.sails-picker-toggle:hover{color:var(--app-accent, #fbbf24)}.sail-pill{background:#1e293b80;border:1px solid #334155;color:#94a3b8;padding:4px 10px;border-radius:15px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;white-space:nowrap}.sail-pill:hover{border-color:#fbbf24;color:#fbbf24}.sail-pill.active{background:#fbbf2426;border-color:#fbbf24;color:#fbbf24}.sail-pill.motor-pill{border-color:#38bdf8;color:#38bdf8}.sail-pill.motor-pill:hover{border-color:#7dd3fc;color:#7dd3fc}.sail-pill.motor-pill.active{background:#38bdf826;border-color:#38bdf8;color:#38bdf8}.logs-view-toggle{display:inline-flex;gap:4px;margin-right:4px}.logs-view-toggle-btn.is-active{background:#3b82f633;border-color:#3b82f673;color:var(--app-accent-light, #93c5fd)}.logs-journal{width:100%;min-width:0}.live-log-card{width:100%;min-width:0;min-height:420px}.live-log-subtitle{margin:4px 0 0;font-size:13px;color:var(--app-text-muted)}.live-log-gps-hint{display:flex;align-items:flex-start;gap:8px;margin:0 0 16px;padding:10px 12px;border-radius:8px;font-size:14px;line-height:1.45;color:var(--app-text-muted);background:#3b82f61a;border:1px solid rgba(59,130,246,.25)}.live-log-gps-hint svg{flex-shrink:0;margin-top:2px;color:var(--app-accent-light, #93c5fd)}.live-log-gps-hint-modal{font-weight:500;color:var(--app-text, inherit)}.live-log-gps-error-modal{color:var(--app-warning-text, #b45309);background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);border-radius:8px;padding:8px 10px}.gps-signal-hint{margin:8px 0 0;font-size:13px;line-height:1.45}.gps-signal-hint-label{display:inline-flex;align-items:flex-start;gap:8px}.gps-signal-icon{flex-shrink:0;margin-top:2px}.gps-signal-bars{display:inline-flex;align-items:flex-end;gap:2px;height:14px;flex-shrink:0}.gps-signal-bar{width:4px;border-radius:1px;background:var(--app-border, rgba(148, 163, 184, .45))}.gps-signal-bar:nth-child(1){height:4px}.gps-signal-bar:nth-child(2){height:7px}.gps-signal-bar:nth-child(3){height:10px}.gps-signal-bar:nth-child(4){height:14px}.gps-signal-bar.is-active{background:var(--app-accent-light, #22c55e)}.gps-signal-excellent .gps-signal-bar.is-active{background:#22c55e}.gps-signal-good .gps-signal-bar.is-active{background:#84cc16}.gps-signal-fair .gps-signal-bar.is-active,.gps-signal-unknown .gps-signal-bar.is-active{background:#eab308}.gps-signal-poor .gps-signal-bar.is-active{background:#f97316}.gps-signal-poor,.gps-signal-fair{color:var(--app-warning-text, #b45309)}.gps-signal-hint-editor{margin-top:6px}.gps-signal-hint-modal{margin:0 0 10px}.live-log-layout{display:grid;grid-template-columns:minmax(148px,200px) 1fr;gap:20px;align-items:start}.live-log-actions{display:flex;flex-direction:column;gap:8px}.live-log-action-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border-radius:var(--app-radius-btn, 10px);border:1px solid var(--app-border-muted);background:var(--app-surface);color:var(--app-text);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.live-log-action-btn:hover:not(:disabled){background:#3b82f614;border-color:#3b82f64d}.live-log-action-btn:disabled{opacity:.55;cursor:not-allowed}.live-log-action-btn.is-active{background:#fbbf2426;border-color:#fbbf2473;color:#fbbf24}.live-log-stream-panel{min-height:280px;border:1px solid var(--app-border-muted);border-radius:var(--app-radius-card, 12px);background:#0000001f;padding:16px 18px}.live-log-stream-title{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--app-accent-light)}.live-log-empty{margin:0;color:var(--app-text-muted);font-size:14px}.live-log-stream{list-style:none;margin:0;padding:0;max-height:min(60vh,520px);overflow-y:auto}.live-log-entry{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid var(--app-border-muted);font-size:14px;line-height:1.4}.live-log-entry:last-child{border-bottom:none}.live-log-time{flex-shrink:0;min-width:3.25rem;font-variant-numeric:tabular-nums;font-weight:600;color:var(--app-text-muted)}.live-log-summary{flex:1}.live-log-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;background:#020617c7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px}.live-log-modal{width:min(420px,100%);padding:20px;border-radius:var(--app-radius-card, 12px);background:var(--app-surface-alt);border:1px solid var(--app-border-muted);box-shadow:0 25px 50px -12px #0000008c}.live-log-modal--dial{width:min(320px,100%)}.live-log-dial-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;border-radius:var(--app-radius-input, 8px);background:var(--app-surface-inset);border:1px solid var(--app-border-subtle)}.live-log-dial-field label{font-size:13px;font-weight:600;color:var(--app-text-muted)}.live-log-modal h3{margin:0 0 16px;font-size:17px}.live-log-modal-hint{margin:-8px 0 12px;font-size:13px;color:var(--app-text-muted);line-height:1.4}.live-log-sail-pills{margin-bottom:12px}.live-log-sails-selection{margin:0 0 12px;font-size:13px;color:var(--app-accent-light, #93c5fd);line-height:1.4}.live-log-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.live-log-summary-block{display:flex;flex-direction:column;gap:8px;min-width:0}.live-log-summary-block .voice-memo-player-shell{margin-top:2px}.live-voice-modal .live-voice-modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.live-voice-modal .live-voice-modal-header h3{margin:0}.live-voice-record-btn,.live-voice-stop-btn{width:100%;justify-content:center}.live-voice-recording-indicator{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-weight:600;color:#f87171}.live-voice-recording-dot{width:10px;height:10px;border-radius:50%;background:#ef4444;animation:live-voice-pulse 1s ease-in-out infinite}@keyframes live-voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.live-voice-caption-field{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13px}.voice-memo-player-shell{display:block;max-width:100%;padding:2px 4px 2px 0;box-sizing:border-box}.voice-memo-player{display:block;width:100%;max-width:300px;min-width:260px;height:36px;box-sizing:border-box;padding-inline:2px 12px}.voice-memo-player--compact{max-width:280px;min-width:240px;padding-inline-end:14px}.voice-memo-player-unavailable{font-size:12px;color:#94a3b8;font-style:italic}.event-remarks-cell{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.event-remarks-cell--voice{gap:8px}.events-table .remarks-td{padding-right:20px}.events-table .remarks-td+.events-actions-td{padding-left:12px}@media(max-width:720px){.live-log-layout{grid-template-columns:1fr}.live-log-actions{flex-direction:row;flex-wrap:wrap}.live-log-action-btn{width:auto;flex:1 1 calc(50% - 4px);min-width:140px;justify-content:center;font-size:13px;padding:10px 12px}.live-log-weather-group{flex:1 1 100%}}.live-log-weather-group{display:flex;flex-direction:column;gap:6px}.live-log-weather-toggle{justify-content:space-between}.live-log-weather-toggle.is-expanded{border-color:#3b82f659}.live-log-weather-submenu{display:flex;flex-direction:column;gap:4px;padding-left:8px}.live-log-subaction-btn{display:flex;align-items:center;width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--app-border-muted);background:#00000026;color:var(--app-text-muted);font-size:13px;cursor:pointer}.live-log-subaction-btn-owm{border-color:#3b82f659;color:var(--app-text);font-weight:500}.live-log-subaction-btn:hover:not(:disabled){color:var(--app-text);border-color:#3b82f64d}.live-log-undo-bar{position:fixed;inset-inline:0;bottom:24px;z-index:10060;display:flex;justify-content:center;padding-inline:16px;pointer-events:none}.live-log-undo-bar-inner{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:var(--app-surface-alt);border:1px solid var(--app-border-muted);box-shadow:0 8px 24px #00000040;font-size:14px;max-width:min(100%,420px)}.live-log-position-coords{margin:0;padding:0;border:none;min-width:0}.live-log-position-label{display:block;margin:0 0 10px;padding:0;font-size:13px;font-weight:600;color:var(--app-text-muted)}.live-log-position-coords-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}.live-log-position-field{display:flex;flex-direction:column;gap:6px;min-width:0}.live-log-position-field-label{font-size:12px;color:var(--app-text-muted)}.live-log-position-field .input-text{width:100%;box-sizing:border-box}.live-log-position-gps-row{margin-top:10px}.live-log-position-gps-btn{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px}.live-camera-modal{width:min(480px,100%)}.live-camera-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.live-camera-header h3{margin:0}.live-camera-close{width:auto;padding:8px 10px}.live-camera-preview-wrap{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:var(--app-radius-input, 8px);overflow:hidden;background:#000;margin-bottom:12px}.live-camera-preview{width:100%;height:100%;object-fit:cover}.live-camera-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin:0;padding:12px;text-align:center;font-size:14px;color:var(--app-text-muted);background:#00000073}.live-camera-caption{margin-bottom:12px}.live-camera-actions{margin-top:0}.live-camera-shutter{display:inline-flex;align-items:center;gap:8px}.live-camera-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.live-camera-preview-still{display:block;object-fit:contain;background:#000}.live-camera-native-prompt{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:12px}.live-camera-open-native{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%}.live-camera-actions{flex-wrap:wrap}.stats-event-series-block+.stats-event-series-block{margin-top:16px}.stats-event-series-list{list-style:none;margin:8px 0 0;padding:0;max-height:180px;overflow-y:auto}.stats-event-series-item{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--app-border-muted);font-size:13px}.stats-event-series-when{color:var(--app-text-muted);white-space:nowrap}.stats-event-series-value{text-align:right}.grid-span-2{grid-column:span 2}.vessel-photo-wrapper{grid-column:span 2;display:flex;flex-direction:column;align-items:center;gap:12px;background:#1e293b66;border:1px dashed #334155;border-radius:12px;padding:24px;margin-bottom:12px}.vessel-photo-preview{position:relative;width:200px;height:150px;border-radius:8px;overflow:hidden;background:#0f172a;border:1px solid #1e293b;display:flex;align-items:center;justify-content:center;cursor:pointer}.vessel-photo{width:100%;height:100%;object-fit:cover}.vessel-photo-placeholder{color:#475569;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.vessel-photo-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0f172acc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .2s ease;color:#fbbf24;font-size:13px;font-weight:500}.vessel-photo-preview:hover .vessel-photo-overlay{opacity:1}.vessel-photo-actions{display:flex;gap:12px}.btn-sm{padding:6px 12px!important;font-size:12.5px!important;height:auto!important;min-height:auto!important}.btn-inline-icon{width:auto!important;display:inline-flex!important;align-items:center;gap:6px}.btn.danger{background:#ef444433!important;color:#fca5a5!important;border:1px solid rgba(239,68,68,.38)!important}.btn.danger:hover{background:#ef444452!important;border-color:#ef4444!important;color:#fecaca!important}.crew-card-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid #334155}.crew-card-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:#1e293b99;border:1px solid #334155;display:flex;align-items:center;justify-content:center;color:#475569}@media(max-width:1024px){.app-layout{padding:16px}.app-content,.form-card{padding:20px}.member-editor-card{padding:16px}}@media(max-width:480px){.app-layout{padding:12px}.app-content,.form-card{padding:16px}.form-grid{grid-template-columns:1fr!important;gap:16px}.form-actions{flex-direction:column-reverse;align-items:stretch;width:100%;gap:12px}.form-actions button{width:100%}.member-editor-card{padding:12px}}.gps-input-row{display:flex;gap:8px;width:100%}.gps-input-row input{flex:1;min-width:0}.gps-input-row button{flex:0 0 auto}@media(max-width:480px){.gps-input-row{flex-wrap:wrap}.gps-input-row input{flex:1 1 calc(50% - 4px);min-width:70px}.gps-input-row button{flex:1 1 calc(50% - 4px)}}.section-title-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap;min-width:0;flex:1}.consumption-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.consumption-grid .input-group{display:flex;flex-direction:column;height:100%}.consumption-grid .input-group label{flex:1 1 auto;min-height:2.75em;display:flex;align-items:flex-end;margin-bottom:8px;line-height:1.35}.consumption-grid .input-group .input-text{flex-shrink:0;-moz-appearance:textfield}.consumption-grid .input-text::-webkit-outer-spin-button,.consumption-grid .input-text::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.consumption-grid .consumption-value{color:#4ade80;font-weight:700;text-align:center;pointer-events:none;cursor:default}@media(max-width:480px){.consumption-grid{grid-template-columns:1fr;gap:10px}}.tank-liter-slider{--tank-slider-track-h: 10px;--tank-slider-thumb: 26px;width:100%;height:var(--tank-slider-thumb);margin:10px 0 6px;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;accent-color:#4ade80;cursor:pointer;touch-action:none}.tank-liter-slider::-webkit-slider-runnable-track{height:var(--tank-slider-track-h);border-radius:999px;background:#94a3b859}.tank-liter-slider::-webkit-slider-thumb{-webkit-appearance:none;width:var(--tank-slider-thumb);height:var(--tank-slider-thumb);margin-top:calc((var(--tank-slider-track-h) - var(--tank-slider-thumb)) / 2);border-radius:50%;background:#4ade80;border:2px solid rgba(15,23,42,.85);box-shadow:0 2px 6px #00000059}.tank-liter-slider::-moz-range-track{height:var(--tank-slider-track-h);border-radius:999px;background:#94a3b859}.tank-liter-slider::-moz-range-thumb{width:var(--tank-slider-thumb);height:var(--tank-slider-thumb);border-radius:50%;background:#4ade80;border:2px solid rgba(15,23,42,.85);box-shadow:0 2px 6px #00000059}.tank-liter-slider:disabled{opacity:.5;cursor:not-allowed}.tank-liter-input .tank-liter-slider-hint{font-size:.75rem;color:#94a3b8;margin-bottom:6px;text-align:center}.weather-metrics-grid{gap:12px 16px}.weather-metrics-grid .weather-metrics-span-2{grid-column:1 / -1}.metric-range-input--compact{gap:0;margin:0}.metric-range-input--compact .metric-range-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.metric-range-input--compact .metric-range-header label{margin:0;font-size:13px;line-height:1.25}.metric-range-input--compact .metric-range-value{font-size:.8125rem;font-weight:600;color:#cbd5e1;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.metric-range-input--compact .metric-range-control-row{display:flex;align-items:center;gap:10px}.metric-range-input--compact .metric-range-slider{flex:1;min-width:0;width:auto;margin:0}.metric-range-input--compact .metric-range-number{width:4.25rem;min-width:4.25rem;max-width:4.25rem;flex-shrink:0;padding:8px 6px;text-align:center;font-size:.9375rem}@media(max-width:480px){.tank-liter-input .tank-liter-slider{--tank-slider-track-h: 12px;--tank-slider-thumb: 32px;margin:12px 0 8px}.metric-range-input--compact .metric-range-slider{--tank-slider-track-h: 12px;--tank-slider-thumb: 28px}.metric-range-input--compact .metric-range-number{width:3.75rem;min-width:3.75rem;max-width:3.75rem;padding:10px 4px}}.vessel-tanks-section{grid-column:1 / -1;margin-top:8px;padding-top:16px;border-top:1px solid rgba(148,163,184,.2)}.vessel-tanks-section h3{font-size:1rem;margin:0 0 4px;color:#e2e8f0}.vessel-tanks-help{font-size:.85rem;color:#94a3b8;margin:0 0 12px}.vessel-tanks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.track-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed rgba(212,175,55,.3);border-radius:12px;padding:30px;background:#ffffff05;color:#94a3b8;cursor:pointer;transition:all .3s ease;text-align:center;box-sizing:border-box}.track-upload-zone:hover,.track-upload-zone.dragover{border-color:#fbbf24;background:#fbbf240d;color:#fbbf24}.track-upload-icon{color:#fbbf24;margin-bottom:12px}.track-upload-text{font-size:14px;font-weight:500}.track-upload-subtext{font-size:12px;color:#64748b;margin-top:4px}.track-info-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding:12px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.track-info-left{display:flex;align-items:center;gap:8px}.track-info-name{font-size:14px;font-weight:500;color:#f8fafc}.track-info-stats{font-size:12px;color:#94a3b8}.track-actions{display:flex;gap:8px;flex-wrap:wrap}.track-error-msg{color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.2);padding:8px 12px;border-radius:8px;font-size:13px;margin-bottom:12px}.track-stats-grid{margin-top:16px;align-items:start}.track-map-wrapper{margin-top:12px}#openseamap-container,.track-map-container{width:100%;height:400px;border-radius:12px;border:1px solid rgba(212,175,55,.2);position:relative;z-index:1;box-sizing:border-box;overflow:hidden;background:#dbeafe}.track-map-legend{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:11px;color:#94a3b8}.track-map-legend-bar{flex:1;height:8px;border-radius:4px;background:linear-gradient(to right,#1eb81e,#b8b81e,#b81e1e);border:1px solid rgba(255,255,255,.12)}.track-map-container.leaflet-container{font-family:inherit}.track-map-container .leaflet-tile,.track-map-container img.leaflet-tile{max-width:none!important;max-height:none!important}.track-map-container .leaflet-control-attribution{font-size:10px;background:#fffc}.stats-subtitle{margin:4px 0 0;font-size:14px;color:var(--app-text-muted);font-weight:400}.stats-scope-toggle{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.stats-scope-toggle .btn{width:auto;padding:10px 18px}.stats-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.stats-kpi-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--app-radius-card);border:1px solid var(--app-border-subtle)}.stats-kpi-icon{color:var(--app-accent-light);flex-shrink:0;margin-top:2px}.stats-kpi-label{display:block;font-size:12px;color:var(--app-text-muted);margin-bottom:4px}.stats-kpi-value{font-size:22px;font-weight:700;line-height:1.2;color:var(--app-text-primary)}.stats-kpi-unit{font-size:13px;font-weight:500;color:var(--app-text-muted);margin-left:4px}.stats-section-title{margin:0 0 8px;font-size:17px;font-weight:600}.stats-section-sub{margin:0 0 16px;font-size:13px;color:var(--app-text-muted)}.stats-section-subtitle{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--app-text-primary)}.stats-route-chain{margin:0;font-size:15px;line-height:1.6;color:var(--app-text-primary)}.stats-route-arrow{color:var(--app-accent-light);font-weight:600}.stats-multi-track-map{min-height:320px}.stats-track-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:12px;font-size:13px;color:var(--app-text-muted)}.stats-track-legend-item{display:inline-flex;align-items:center;gap:6px}.stats-track-legend-swatch{width:14px;height:14px;border-radius:3px;flex-shrink:0}.stats-bar-chart{display:flex;align-items:flex-end;gap:8px;min-height:180px;padding-top:8px;overflow-x:auto}.stats-bar-column{display:flex;flex-direction:column;align-items:center;min-width:52px;flex:1 0 52px}.stats-bar-column--grouped{min-width:44px}.stats-bar-value{font-size:10px;color:var(--app-text-muted);min-height:14px;margin-bottom:4px}.stats-bar-track{width:100%;max-width:36px;height:120px;display:flex;align-items:flex-end;justify-content:center;background:var(--app-surface-muted);border-radius:6px 6px 2px 2px;overflow:hidden}.stats-bar-track--short{max-width:14px;height:100px}.stats-bar{width:100%;border-radius:4px 4px 0 0;min-height:2px;transition:height .2s ease}.stats-bar--distance{background:linear-gradient(180deg,var(--app-accent-light),var(--app-accent))}.stats-bar--fuel{background:linear-gradient(180deg,#fbbf24,#d97706)}.stats-bar--water{background:linear-gradient(180deg,#38bdf8,#0284c7)}.stats-bar--motor-hours{background:linear-gradient(180deg,#a78bfa,#7c3aed)}.stats-bar--fuel-per-hour{background:linear-gradient(180deg,#fb923c,#ea580c)}.stats-bar-label{margin-top:8px;font-size:11px;color:var(--app-text-muted);text-align:center}.stats-bar-sublabel{font-size:10px;color:var(--app-text-muted);opacity:.85}.stats-bar-group{display:flex;gap:4px;align-items:flex-end;height:100px}.stats-consumption-chart{flex-direction:column;align-items:stretch;min-height:auto}.stats-consumption-chart .stats-bar-column--grouped{display:inline-flex;vertical-align:bottom}.stats-consumption-chart{display:block;overflow-x:auto;white-space:nowrap;padding-bottom:8px}.stats-consumption-chart .stats-bar-column--grouped{display:inline-flex;white-space:normal}.stats-consumption-legend{display:flex;gap:20px;margin-top:16px;font-size:13px;color:var(--app-text-muted)}.stats-consumption-legend span{display:inline-flex;align-items:center;gap:6px}.stats-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:2px}.stats-propulsion-bar{display:flex;width:100%;height:18px;border-radius:999px;overflow:hidden;background:var(--app-surface-muted)}.stats-propulsion-segment--sail{background:var(--app-accent)}.stats-propulsion-segment--motor{background:#d97706}.stats-propulsion-segment--unknown{background:var(--app-text-muted);opacity:.45}.stats-propulsion-labels{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:12px;font-size:13px;color:var(--app-text-primary)}.stats-hint{margin:12px 0 0;font-size:12px;color:var(--app-text-muted)}.stats-account-table-wrap{overflow-x:auto}.stats-account-table{width:100%;border-collapse:collapse;font-size:14px}.stats-account-table th,.stats-account-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--app-border-subtle)}.stats-account-table th{font-size:12px;font-weight:600;color:var(--app-text-muted);text-transform:uppercase;letter-spacing:.03em}@media(max-width:1024px){.stats-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.stats-kpi-grid{grid-template-columns:1fr}.stats-kpi-value{font-size:20px}.profile-stats-section.form-card{padding:20px 16px}.profile-stats-section .form-header{margin-bottom:12px;gap:10px}.profile-stats-section .form-header h2{font-size:18px}.profile-stats-section .stats-subtitle{font-size:12px;line-height:1.35}.profile-stats-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0}.profile-stats-kpi-grid .stats-kpi-card{padding:10px;gap:8px;align-items:center}.profile-stats-kpi-grid .stats-kpi-icon{margin-top:0}.profile-stats-kpi-grid .stats-kpi-icon svg{width:16px;height:16px}.profile-stats-kpi-grid .stats-kpi-label{font-size:11px;margin-bottom:2px;line-height:1.25}.profile-stats-kpi-grid .stats-kpi-value{font-size:16px}.profile-stats-kpi-grid .stats-kpi-unit{font-size:11px}}.signature-grid{align-items:start}.signature-pad-group{width:100%}.signature-pad-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.signature-pad-header label{display:block;font-size:13.5px;color:#94a3b8;font-weight:500}.signature-pad-clear{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:#94a3b8;font-size:12px;cursor:pointer;padding:0}.signature-pad-clear:hover{color:#e2e8f0;text-decoration:underline}.signature-pad{position:relative;width:100%;height:132px;border-radius:10px;border:1px dashed rgba(148,163,184,.45);background:#fffffff5;overflow:hidden;touch-action:none}.signature-pad.disabled{opacity:.65}.signature-pad-canvas,.signature-pad-image{display:block;width:100%;height:100%}.signature-pad-canvas{cursor:crosshair}.signature-pad-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:13px;pointer-events:none;-webkit-user-select:none;user-select:none}.signature-legacy-text{min-height:132px;display:flex;align-items:center;padding:12px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#e2e8f0;font-size:18px;letter-spacing:.08em;text-transform:uppercase}.signature-role-block{display:flex;flex-direction:column;gap:10px}.signature-hint{margin:0;font-size:12px;color:#e2e8f0a6;line-height:1.4}.signature-mode-toggle{display:inline-flex;gap:4px;padding:3px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.signature-mode-btn{border:none;border-radius:7px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;color:#e2e8f0bf;background:transparent}.signature-mode-btn.active{color:#0f172a;background:#e2e8f0}.signature-mode-btn:hover:not(.active){color:#f8fafc;background:#ffffff0f}.signature-lock-notice{margin:0 0 16px;padding:10px 12px;border-radius:10px;border:1px solid rgba(212,175,55,.25);background:#d4af3714;color:#fef3c7f2;font-size:13px;line-height:1.45}.signature-lock-notice.locked{border-color:#22c55e4d;background:#22c55e14;color:#dcfce7f2}.passkey-sign-block{display:flex;flex-direction:column;gap:8px}.passkey-sign-label{font-size:13px;font-weight:600;color:#cbd5e1}.passkey-sign-badge{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid rgba(34,197,94,.35);background:#22c55e14;color:#dcfce7}.passkey-sign-badge.invalid{border-color:#fbbf2473;background:#fbbf2414;color:#fef3c7}.passkey-sign-badge-text{display:flex;flex-direction:column;gap:2px;font-size:13px}.passkey-sign-date{font-size:11px;opacity:.85}.passkey-sign-invalid-hint{display:inline-flex;align-items:center;gap:4px;font-size:11px;width:100%}.passkey-sign-btn{align-self:flex-start}.passkey-sign-clear{align-self:flex-start;padding:0;font-size:12px}.passkey-sign-error{margin:0;font-size:12px;color:#fca5a5}.pwa-install-banner{position:fixed;left:0;right:0;width:calc(100% - 32px);bottom:calc(36px + env(safe-area-inset-bottom,0px));z-index:1200;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:16px 44px 16px 16px;border-radius:16px;border:1px solid rgba(212,175,55,.25);background:#0b0c10eb;box-shadow:0 16px 40px #00000073;animation:fadeIn .35s ease-out;max-width:560px;margin:0 auto}.pwa-install-inline{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:16px;border-radius:14px;border:1px solid rgba(212,175,55,.2);background:#ffffff08;margin-bottom:16px}.pwa-install-icon{color:#fbbf24;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#fbbf241a;flex-shrink:0}.pwa-install-body{min-width:0}.pwa-install-title{margin:0 0 6px;font-size:16px;font-weight:600;color:#f8fafc}.pwa-install-text{margin:0;font-size:13.5px;line-height:1.45;color:#94a3b8}.pwa-install-steps{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.pwa-install-steps li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#e2e8f0}.pwa-ios-add-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;border:1px solid rgba(148,163,184,.6);font-size:12px;font-weight:700;line-height:1}.pwa-install-hint{margin:10px 0 0;font-size:12px;color:#64748b}.pwa-install-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.pwa-install-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;padding:10px 14px!important;font-size:14px!important}.pwa-install-dismiss-row{display:flex;gap:12px;justify-content:flex-end}.pwa-install-link{background:transparent;border:none;color:#cbd5e1;font-size:12px;cursor:pointer;padding:0;text-decoration:underline}.pwa-install-link.muted{color:#64748b}.pwa-install-close{position:absolute;top:10px;right:10px;background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:8px}.pwa-install-banner .pwa-install-actions{grid-column:1 / -1}@media(max-width:640px){.pwa-install-banner{grid-template-columns:auto 1fr;padding-right:40px}.pwa-install-actions{grid-column:1 / -1}}.pwa-update-banner{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:0;right:0;width:calc(100% - 32px);z-index:1300;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 44px 14px 14px;border-radius:14px;border:1px solid var(--app-accent-border);background:var(--app-surface);box-shadow:var(--app-card-shadow);animation:fadeIn .35s ease-out;max-width:640px;margin:0 auto}.pwa-update-icon{color:var(--app-accent-light);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--app-accent-bg);flex-shrink:0}.pwa-update-body{min-width:0}.pwa-update-title{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--app-text-heading)}.pwa-update-text{margin:0;font-size:13px;line-height:1.45;color:var(--app-text-muted)}.pwa-update-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px}.pwa-update-btn{white-space:nowrap;padding:10px 14px;font-size:14px}.pwa-update-link{background:none;border:none;color:var(--app-text-muted);font-size:12px;cursor:pointer;padding:2px 4px}.pwa-update-link:hover{color:var(--app-text)}.pwa-update-close{position:absolute;top:10px;right:10px;background:none;border:none;color:var(--app-text-muted);cursor:pointer;padding:4px;border-radius:6px}.pwa-update-close:hover{color:var(--app-text);background:var(--app-surface-inset)}@media(max-width:720px){.pwa-update-banner{grid-template-columns:auto 1fr;padding-right:40px}.pwa-update-actions{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center}}.app-version-footer{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px));font-size:13px;line-height:1.4;color:#64748b;background:#0b0c10b8;border-top:1px solid rgba(255,255,255,.06);pointer-events:none}@media(max-width:768px){body:has(.app-bottom-nav) .app-version-footer{display:none}}.app-version-footer a,.app-version-footer button{pointer-events:auto}.app-version-footer__version{font-variant-numeric:tabular-nums;color:#94a3b8}.app-version-footer__sep{opacity:.65}.app-version-footer__copyright{color:#94a3b8}.app-version-footer__copyright a{color:inherit;text-decoration:none}.app-version-footer__copyright a:hover{color:#e2e8f0;text-decoration:underline}.kofi-footer-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:13px;font-weight:500;color:#94a3b8;text-decoration:none;background:#ff5e5b14;border:1px solid rgba(255,94,91,.18);transition:color .15s ease,background .15s ease,border-color .15s ease}.kofi-footer-badge:hover{color:#fecaca;background:#ff5e5b24;border-color:#ff5e5b52}.demo-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#fbbf24;background:#fbbf241f;border:1px solid rgba(251,191,36,.25)}.beta-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--app-accent-light);background:var(--app-accent-bg);border:1px solid var(--app-accent-focus-ring);flex-shrink:0}.header-brand-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.role-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.role-badge--owner{color:#86efac;background:#22c55e1f;border:1px solid rgba(34,197,94,.25)}.role-badge--crew{color:#7dd3fc;background:#38bdf81f;border:1px solid rgba(56,189,248,.28)}.role-badge--read{color:#cbd5e1;background:#94a3b81f;border:1px solid rgba(148,163,184,.25)}.backup-panel{text-align:left}.backup-export-form,.backup-import-form{display:flex;flex-direction:column;gap:16px}.backup-panel .input-group label{display:block;font-size:13.5px;color:var(--app-text-muted);margin-bottom:6px;font-weight:500;text-align:left}.backup-panel .backup-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--app-border-subtle)}.backup-panel .backup-section--import{margin-bottom:0;padding-bottom:0;border-bottom:none}.backup-section-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:14px;font-weight:600;color:var(--app-text-heading)}.backup-section-desc{font-size:13px;margin:0 0 14px}.backup-actions-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.backup-preview{margin-top:16px;padding:14px 16px;border-radius:var(--app-radius-card);border:1px solid var(--app-border-subtle)}.backup-preview-title{margin:0 0 10px;font-size:16px;font-weight:600;color:var(--app-text-heading)}.backup-preview-stats{margin:0 0 8px;padding-left:18px;font-size:13px;color:var(--app-text-muted)}.backup-preview-date{margin:0;font-size:12px}.app-tour-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;pointer-events:none}.app-tour-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0206179e;pointer-events:auto}.app-tour-backdrop--cutout{background:#02061780}.app-tour-spotlight{position:fixed;border-radius:12px;border:2px solid #38bdf8;box-shadow:0 0 0 1px #ffffff38,0 0 32px #38bdf880,0 12px 40px #00000059;pointer-events:none;z-index:10001}body.app-tour-active .app-tour-target-active{position:relative;z-index:10001!important;isolation:isolate}.app-tour-tooltip{position:fixed;z-index:10002;box-sizing:border-box;width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);padding:20px 20px 16px;border-radius:16px;background:#1e293b;border:1px solid rgba(148,163,184,.45);box-shadow:0 24px 64px #000000a6;pointer-events:auto}.app-tour-tooltip:not(.centered){left:50%;transform:translate(-50%)}.app-tour-tooltip:not(.centered).app-tour-tooltip--anchored{transform:none}.app-tour-tooltip.centered{top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-width:calc(100vw - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}.app-tour-close{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer}.app-tour-close:hover{background:#94a3b81f;color:#e2e8f0}.app-tour-progress{margin:0 0 8px;font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.app-tour-title{margin:0 0 8px;font-size:20px;color:#fff}.app-tour-body{margin:0 0 16px;font-size:14px;line-height:1.55;color:#e2e8f0}.app-tour-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-tour-link{border:none;background:transparent;color:#cbd5e1;font-size:13px;cursor:pointer;padding:0}.app-tour-link:hover{color:#e2e8f0}.app-tour-nav{display:flex;gap:8px;margin-left:auto}.app-tour-nav-btn{width:auto;padding:8px 14px;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}@media(max-width:520px){.app-tour-tooltip{padding:18px 16px 14px}.app-tour-actions{flex-direction:column;align-items:stretch;gap:10px}.app-tour-nav{margin-left:0;width:100%}.app-tour-nav-btn{flex:1;justify-content:center;min-width:0}}body.app-tour-active .pwa-install-banner{display:none!important}body.app-tour-active .disclaimer-modal-overlay.feedback-modal-overlay--tour{z-index:9990;pointer-events:none}body.app-tour-active .feedback-modal-overlay--tour .disclaimer-modal-panel{pointer-events:none}.crew-selection-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.crew-selection-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md, 8px);border:1px solid var(--border-subtle, rgba(255, 255, 255, .12));cursor:pointer}.crew-selection-item input{flex-shrink:0}
