.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--indigo-50: #EEEDFB;--indigo-100: #DEDCF7;--indigo-200: #BFBAEF;--indigo-300: #9C97E6;--indigo-400: #7B74E0;--indigo-500: #5F58DD;--indigo-600: #4B47D6;--indigo-700: #3E3BB0;--indigo-800: #322F8C;--indigo-900: #25236B;--indigo-950: #1B1A3A;--ember-300: #FCD34D;--ember-400: #FBBF24;--ember-500: #F59E0B;--ember-600: #D97706;--ember-700: #B45309;--slate-50: #F8FAFC;--slate-100: #F1F5F9;--slate-200: #E2E8F0;--slate-300: #CBD5E1;--slate-400: #94A3B8;--slate-500: #64748B;--slate-600: #475569;--slate-700: #334155;--slate-800: #1E293B;--slate-900: #0F172A;--emerald-500: #16A34A;--emerald-bg: #DCFCE7;--amber-600: #CA8A04;--amber-bg: #FEF3C7;--rose-600: #E11D48;--rose-bg: #FFE4E8;--color-bg: #F6F7FB;--color-surface: #FFFFFF;--color-surface-sunken: var(--slate-50);--color-border: #E8E9F3;--color-border-strong: var(--slate-300);--color-text: var(--indigo-950);--color-text-muted: var(--slate-500);--color-text-subtle: var(--slate-400);--color-text-on-dark: #EDEEF7;--color-primary: var(--indigo-600);--color-primary-hover: var(--indigo-700);--color-primary-active: var(--indigo-800);--color-primary-soft: var(--indigo-50);--color-on-primary: #FFFFFF;--color-accent: var(--ember-500);--color-accent-hover: var(--ember-600);--color-focus-ring: var(--indigo-400);--color-link: var(--indigo-600);--status-draft: var(--slate-400);--status-draft-bg: var(--slate-100);--status-running: var(--ember-500);--status-running-bg: var(--amber-bg);--status-pending: var(--amber-600);--status-pending-bg: var(--amber-bg);--status-approved: var(--emerald-500);--status-approved-bg: var(--emerald-bg);--status-rejected: var(--rose-600);--status-rejected-bg: var(--rose-bg);--font-display: "Sora", "Segoe UI", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extra: 800;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(27, 26, 58, .06), 0 1px 1px rgba(27, 26, 58, .04);--shadow-md: 0 4px 12px rgba(27, 26, 58, .08), 0 2px 4px rgba(27, 26, 58, .05);--shadow-lg: 0 12px 32px rgba(27, 26, 58, .12), 0 4px 8px rgba(27, 26, 58, .06);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .12s;--dur-base: .2s}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:4px}.logo{display:inline-flex;align-items:center;gap:10px}.logo-word{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:1.3rem;letter-spacing:-.03em;color:var(--color-text)}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.btn{font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--text-sm);border-radius:10px;padding:10px 18px;border:1px solid transparent;cursor:pointer;transition:background var(--dur-fast) ease,box-shadow var(--dur-fast) ease,border-color var(--dur-fast) ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-accent{background:var(--color-accent);color:#3a2700}.btn-accent:hover:not(:disabled){background:var(--color-accent-hover);color:#fff}.btn-ghost{background:transparent;color:var(--color-primary);border-color:var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-primary-soft)}.btn-danger{background:var(--rose-600);color:#fff}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.input{font-family:var(--font-body);font-size:var(--text-base);padding:11px 13px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-text);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.input::placeholder{color:var(--color-text-subtle)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.input-error{border-color:var(--rose-600)}.field-error{font-size:var(--text-xs);color:var(--rose-600)}.form-error{background:var(--rose-bg);color:var(--rose-600);border-radius:10px;padding:10px 14px;font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:16px}.badge{display:inline-flex;align-items:center;gap:7px;font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:5px 11px 5px 9px;border-radius:var(--radius-full);white-space:nowrap}.badge .dot{width:8px;height:8px;border-radius:50%}.badge.draft{background:var(--status-draft-bg);color:var(--slate-600)}.badge.draft .dot{background:var(--status-draft)}.badge.running{background:var(--status-running-bg);color:var(--ember-700)}.badge.running .dot{background:var(--status-running);animation:pulse 1.4s ease-in-out infinite}.badge.pending{background:var(--status-pending-bg);color:var(--status-pending)}.badge.pending .dot{background:var(--status-pending)}.badge.approved{background:var(--status-approved-bg);color:var(--status-approved)}.badge.approved .dot{background:var(--status-approved)}.badge.rejected{background:var(--status-rejected-bg);color:var(--status-rejected)}.badge.rejected .dot{background:var(--status-rejected)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.78)}}.pill{font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:3px 10px;border-radius:var(--radius-full)}.pill.on{background:var(--status-approved-bg);color:var(--status-approved)}.pill.off{background:var(--slate-100);color:var(--slate-500)}.spinner-wrap{display:flex;align-items:center;gap:10px;color:var(--color-text-muted);font-size:var(--text-sm);padding:24px 0}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-border-strong);border-top-color:var(--color-primary);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px}.page-head h1{font-size:var(--text-2xl)}.page-sub{color:var(--color-text-muted);margin:4px 0 0;font-size:var(--text-sm)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px 24px;margin-bottom:18px}.card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.card-head h3{font-size:var(--text-lg)}.card-note{font-size:var(--text-xs);color:var(--color-text-subtle);font-family:var(--font-mono);letter-spacing:.04em}.onboard-progress-card{display:flex;flex-direction:column;gap:10px}.onboard-progress-label{font-weight:var(--weight-semibold)}.onboard-progress-bar{height:8px;border-radius:999px;background:var(--color-surface-sunken, var(--color-bg));overflow:hidden}.onboard-progress-fill{height:100%;background:var(--color-primary);border-radius:999px;transition:width var(--dur-fast, .15s) ease}.onboard-optional-note{margin-bottom:12px}.onboard-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.onboard-item{display:flex;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid var(--color-border)}.onboard-item:last-child{border-bottom:none}.onboard-check{flex-shrink:0;width:26px;height:26px;border-radius:50%;border:2px solid var(--color-border-strong);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:var(--weight-bold);color:transparent}.onboard-item.done .onboard-check{border-color:var(--status-approved);background:var(--status-approved);color:#fff}.onboard-item-body{flex:1;min-width:0}.onboard-item-head{display:flex;align-items:center;gap:8px}.onboard-item-title{font-weight:var(--weight-semibold)}.onboard-item.done .onboard-item-title{color:var(--color-text-muted)}.onboard-optional-tag{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-subtle);border:1px solid var(--color-border);border-radius:999px;padding:1px 8px}.onboard-item-desc{margin:2px 0 0;font-size:var(--text-sm);color:var(--color-text-muted);max-width:60ch}.onboard-item-btn{flex-shrink:0}.invite-show-all{display:flex;align-items:center;align-self:center;gap:6px;font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap;cursor:pointer}.report-from-beginning{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap;cursor:pointer;align-self:flex-end;padding-bottom:10px}.project-budget-card{margin-bottom:18px}.budget-indicator{display:inline-block;margin-left:8px;font-size:.85em;cursor:help}.budget-indicator.budget-over{color:var(--status-rejected)}.budget-indicator.budget-under{color:var(--status-approved)}.budget-indicator.budget-equal{color:var(--color-text-muted)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px;display:flex;flex-direction:column;gap:6px}.kpi-card.accent{background:linear-gradient(160deg,var(--indigo-950),var(--indigo-800));border:none;color:#fff}.kpi-card.accent .kpi-label,.kpi-card.accent .kpi-foot{color:#b9b7e8}.kpi-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.kpi-value{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-4xl);line-height:1}.kpi-value.mono{font-family:var(--font-mono);font-size:var(--text-3xl)}.kpi-foot{font-size:var(--text-xs);color:var(--color-text-subtle)}.entry-list{display:flex;flex-direction:column;gap:10px}.entry{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-sunken)}.avatar{width:34px;height:34px;flex-shrink:0;border-radius:50%;background:var(--indigo-100);color:var(--indigo-700);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:var(--text-sm)}.entry-info{flex:1;min-width:0}.entry-title{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.entry-sub{font-size:var(--text-xs);color:var(--color-text-muted)}.entry-timer{font-size:var(--text-lg);font-weight:var(--weight-medium)}.entry-timer.live{color:var(--ember-600)}.table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table th{text-align:left;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-weight:var(--weight-semibold);padding:12px 16px;background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border)}.table td{padding:13px 16px;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.table tr:last-child td{border-bottom:none}.cell-strong{font-weight:var(--weight-semibold)}.cell-muted{color:var(--color-text-muted)}.col-actions{text-align:right;white-space:nowrap}.link-btn{background:none;border:none;cursor:pointer;color:var(--color-primary);font-weight:var(--weight-medium);font-size:var(--text-sm);padding:4px 8px;border-radius:6px}.link-btn:hover{background:var(--color-primary-soft)}.link-btn.danger{color:var(--rose-600)}.link-btn.danger:hover{background:var(--rose-bg)}.create-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px 20px;margin-bottom:18px}.create-actions{display:flex;justify-content:flex-end}.empty{background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:36px;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.placeholder-note{margin-top:18px;font-size:var(--text-xs);color:var(--color-text-subtle)}.notfound{max-width:420px;margin:12vh auto;text-align:center}.notfound h1{font-size:var(--text-3xl);margin-bottom:10px}.notfound p{color:var(--color-text-muted);margin-bottom:22px}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:36px}.field-hint{margin:-10px 0 16px;font-size:var(--text-xs);color:var(--color-text-subtle)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:480px){.field-row{grid-template-columns:1fr}}.form-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0 0 16px}.crud-form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:0 16px}.col-full{grid-column:1 / -1}.col-half{grid-column:span 6}.textarea{min-height:84px;resize:vertical;font-family:var(--font-body);line-height:1.5}.switch-field{display:inline-flex;align-items:center;gap:9px;margin:2px 0 14px;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.switch-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.tag-default{margin-left:8px;font-size:.66rem;font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary-hover);background:var(--color-primary-soft);padding:2px 7px;border-radius:var(--radius-full);vertical-align:middle}@media(max-width:560px){.crud-form-grid>*{grid-column:1 / -1!important}}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 16px;padding:4px 0 6px}.check{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);cursor:pointer}.check input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.checks-empty{font-size:var(--text-sm);color:var(--color-text-subtle)}.task-editor{display:flex;flex-direction:column;gap:8px;padding:4px 0 6px}.task-head{display:grid;grid-template-columns:1fr 180px auto;gap:10px;padding:0 0 2px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-subtle)}.task-head-spacer{width:60px}.task-row{display:grid;grid-template-columns:1fr 180px auto;gap:10px;align-items:center}.task-date{max-width:180px}.task-empty{margin:0 0 2px;font-size:var(--text-sm);color:var(--color-text-subtle)}@media(max-width:560px){.task-head{display:none}.task-row{grid-template-columns:1fr}.task-date{max-width:none}}.clock-card{display:flex;flex-direction:column;gap:1rem}.clock-now{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.clock-state{display:flex;align-items:center;gap:.75rem;min-width:0}.clock-what{min-width:0}.clock-title{font-weight:var(--weight-semibold);font-size:var(--text-base)}.clock-sub{font-size:var(--text-xs);color:var(--color-text-muted)}.clock-dot-idle{width:12px;height:12px;border-radius:50%;background:var(--color-border-strong);flex-shrink:0}.clock-timer{font-size:var(--text-3xl);font-weight:var(--weight-medium);letter-spacing:.5px;color:var(--color-text-subtle)}.clock-timer.live{color:var(--ember-600)}.clock-form{display:flex;flex-wrap:wrap;gap:1rem;padding-top:.25rem;border-top:1px solid var(--color-border)}.clock-form .field{flex:1 1 220px;margin:0}.clock-actions{display:flex;gap:.5rem;flex-wrap:wrap}.clock-error{color:var(--status-rejected, #b42318);font-size:var(--text-sm);margin:0}.settings-card{display:flex;flex-direction:column;gap:1rem}.settings-hint{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.settings-ok{font-size:var(--text-sm);color:var(--status-approved, #067647);margin:0}.day-toggles{display:flex;flex-wrap:wrap;gap:.4rem}.day-toggle{min-width:52px;padding:.45rem .6rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-weight:var(--weight-semibold);font-size:var(--text-sm);cursor:pointer}.day-toggle.on{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.day-toggle:disabled{cursor:default;opacity:.6}.band-grid{display:flex;flex-direction:column;gap:.75rem}.band-row{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.band-row-label{display:flex;flex-direction:column;gap:6px;min-width:96px;font-weight:var(--weight-semibold);font-size:var(--text-sm)}.band-row-label:before{content:" ";font-size:var(--text-sm);font-weight:var(--weight-medium);visibility:hidden}.band-row .field{margin:0;flex:0 0 140px}.band-history{border-top:1px solid var(--color-border);padding-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.band-history-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:var(--text-sm)}.band-history-times{color:var(--color-text-muted)}.clock-rest{display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap;border-top:1px solid var(--color-border);padding-top:.75rem}.clock-rest .field{margin:0;flex:1 1 200px}.rate-help{color:var(--color-text-muted);font-size:var(--text-sm);margin:-.4rem 0 1rem;max-width:60ch}.rate-help-note{margin-top:-.6rem;font-style:italic}.rate-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.rate-tab{padding:.5rem .9rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-weight:var(--weight-semibold);font-size:var(--text-sm);cursor:pointer}.rate-tab.on{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.rate-form{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:var(--color-surface-sunken, var(--color-surface))}.rate-field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.rate-field-grid .field{margin:0}.rate-periods{display:flex;flex-direction:column;gap:.75rem}.rate-period{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.85rem 1rem}.rate-period-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.6rem}.rate-range{font-weight:var(--weight-semibold)}.rate-period-actions{margin-left:auto;display:flex;gap:.25rem}.rate-values{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem 1rem}.rate-value{display:flex;flex-direction:column}.rate-value-label{font-size:var(--text-xs);color:var(--color-text-muted)}.rate-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.rate-filter{display:flex;align-items:center;gap:.4rem;font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer}.rate-subject{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.rate-edit-subject{font-size:var(--text-sm);color:var(--color-text-muted)}.rate-field-grid .field{display:flex;flex-direction:column}.rate-field-grid .field label{min-height:2.4em;line-height:1.2;display:flex;align-items:flex-start}.appr-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.appr-presets{display:flex;gap:.4rem;flex-wrap:wrap}.appr-preset{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:999px;padding:.35rem .8rem;font-size:var(--text-sm);cursor:pointer}.appr-preset.on{background:var(--color-accent-soft, rgba(99, 102, 241, .12));border-color:var(--color-accent, #6366f1);color:var(--color-accent, #6366f1);font-weight:var(--weight-semibold)}.appr-range{display:flex;align-items:flex-end;gap:.6rem}.appr-range .field{margin:0}.appr-list{display:flex;flex-direction:column}.appr-row{display:grid;grid-template-columns:2rem minmax(140px,1.6fr) 5rem 3.5rem minmax(120px,1fr) auto;align-items:center;gap:.75rem;padding:.6rem .25rem}.appr-head{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.appr-num{text-align:right}.appr-member{border-bottom:1px solid var(--color-border)}.appr-expand{width:1.75rem;height:1.75rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);font-size:1.1rem;line-height:1;cursor:pointer;color:var(--color-text)}.appr-name{font-weight:var(--weight-semibold)}.appr-actions{display:flex;justify-content:flex-end}.appr-detail{padding:.25rem .25rem 1rem 2.75rem;display:flex;flex-direction:column;gap:.75rem}.appr-day{border:1px solid var(--color-border);border-radius:10px;padding:.6rem .8rem;background:var(--color-surface)}.appr-day-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.appr-day-date{font-weight:var(--weight-semibold)}.appr-entry{display:grid;grid-template-columns:7.5rem minmax(100px,1fr) 4rem auto;align-items:center;gap:.6rem;padding:.3rem 0;font-size:var(--text-sm)}.appr-entry-type{font-weight:var(--weight-medium)}.appr-entry-hours{text-align:right}.appr-entry-comment{grid-column:1 / -1;color:var(--color-text-muted);font-style:italic}.icon-btn{font-size:1rem;line-height:1;padding:2px 4px}.appr-edit{border:1px dashed var(--color-border);border-radius:10px;padding:.75rem;margin:.4rem 0;display:flex;flex-direction:column;gap:.6rem}.appr-detail-bar{display:flex;justify-content:flex-end;margin-bottom:.25rem}.appr-entry-tools{display:flex;gap:.6rem;justify-content:flex-end}.appr-tool-slot{display:inline-flex;justify-content:center;width:2rem}.appr-entry-extra{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.4rem}.appr-chip{background:var(--color-surface-sunken, var(--color-bg));border:1px solid var(--color-border);border-radius:999px;padding:.15rem .6rem;font-size:var(--text-xs);color:var(--color-text-muted)}.hol-year{display:flex;align-items:center;gap:.5rem}.hol-year-label{font-size:var(--text-lg);font-weight:var(--weight-semibold);min-width:4ch;text-align:center}.hol-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column}.hol-row{display:grid;grid-template-columns:12rem 1fr auto;align-items:center;gap:.75rem;padding:.55rem .25rem;border-bottom:1px solid var(--color-border)}.hol-date{color:var(--color-text-muted)}.hol-name{font-weight:var(--weight-medium)}.hol-actions{display:flex;gap:.5rem;align-items:center}.hol-tags{display:flex;align-items:center;gap:.75rem;justify-content:flex-end}.hol-public{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.member-edit-row>td{background:var(--color-surface-2, rgba(127,127,127,.04))}.member-edit{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0}.member-toggles{display:flex;flex-wrap:wrap;gap:1.25rem}.member-toggles label{display:flex;align-items:center;gap:.45rem;font-size:var(--text-sm)}.cell-right{text-align:right}.agenda-board{display:flex;gap:1rem;overflow-x:auto;align-items:flex-start;padding:.25rem 0 1rem}.agenda-col{flex:0 0 260px;max-width:260px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-2, rgba(127, 127, 127, .04));display:flex;flex-direction:column}.agenda-col.today{border-color:var(--color-accent, #6366f1);box-shadow:0 0 0 1px var(--color-accent, #6366f1)}.agenda-col-head{display:flex;align-items:baseline;gap:.45rem;padding:.6rem .8rem;border-bottom:1px solid var(--color-border)}.agenda-weekday{font-weight:var(--weight-semibold)}.agenda-date{color:var(--color-text-muted);font-size:var(--text-sm)}.agenda-count{margin-left:auto;background:var(--color-accent-soft, rgba(99, 102, 241, .12));color:var(--color-accent, #6366f1);border-radius:999px;padding:0 .5rem;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.agenda-col-body{display:flex;flex-direction:column;gap:.6rem;padding:.6rem;min-height:56px}.agenda-empty{color:var(--color-text-muted);text-align:center;padding:.5rem 0}.agenda-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:.6rem;display:flex;flex-direction:column;gap:.2rem;box-shadow:0 1px 2px #0000000a}.agenda-pno{align-self:flex-start;background:var(--color-accent-soft, rgba(99, 102, 241, .12));color:var(--color-accent, #6366f1);border-radius:6px;padding:.05rem .4rem;font-size:var(--text-xs)}.agenda-card-task{font-weight:var(--weight-semibold)}.agenda-card-project,.agenda-card-owner,.agenda-card-equip{font-size:var(--text-sm);color:var(--color-text-muted)}.switch-row{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0;cursor:pointer}.switch-row.disabled{opacity:.6;cursor:default}.switch{position:relative;display:inline-flex;flex:0 0 auto;margin-top:.1rem}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{width:40px;height:22px;border-radius:999px;background:var(--color-border);transition:background .15s;display:inline-block;position:relative}.switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.switch input:checked+.switch-track{background:var(--color-accent, #6366f1)}.switch input:checked+.switch-track .switch-thumb{transform:translate(18px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--color-accent, #6366f1);outline-offset:2px}.switch-text{display:flex;flex-direction:column;gap:.1rem}.switch-label{font-weight:var(--weight-medium)}.switch-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.legal-note{background:var(--color-warning-soft, rgba(234, 179, 8, .1));border:1px solid var(--color-warning, rgba(234, 179, 8, .45));border-radius:8px;padding:.6rem .8rem;font-size:var(--text-sm);margin:.4rem 0}.textarea{width:100%;border:1px solid var(--color-border);border-radius:8px;padding:.5rem;font:inherit;resize:vertical;background:var(--color-surface);color:var(--color-text)}.consent-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border:1px solid var(--color-accent, #6366f1);background:var(--color-accent-soft, rgba(99, 102, 241, .08));border-radius:12px;padding:.8rem 1rem;margin-bottom:1rem}.consent-text p{margin:.2rem 0 0;font-size:var(--text-sm);color:var(--color-text-muted);max-width:64ch}.consent-actions{display:flex;gap:.5rem}.privacy-status{display:flex;align-items:center;gap:.6rem;font-size:var(--text-sm);color:var(--color-text-muted);margin:-.25rem 0 1rem;padding:0 .1rem}.auth-row-end{display:flex;justify-content:flex-end;margin:-.3rem 0 .6rem}.auth-link{font-size:var(--text-sm);color:var(--color-accent, #6366f1);text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-divider{display:flex;align-items:center;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);margin:1rem 0;gap:.75rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-providers{display:flex;flex-direction:column;align-items:center;gap:.6rem}.gsi-button{min-height:40px;display:flex;justify-content:center;width:100%}.gsi-button>div{margin:0 auto}.provider-btn{width:100%;max-width:320px;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.6rem 1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--weight-medium);cursor:pointer;transition:background .15s,border-color .15s}.provider-btn:hover:not(:disabled){background:var(--color-surface-2, rgba(127,127,127,.05))}.provider-btn:disabled{opacity:.6;cursor:default}.provider-mark{width:18px;height:18px;display:inline-block;background-size:contain;background-repeat:no-repeat}.provider-mark.ms{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21"><rect width="9" height="9" x="1" y="1" fill="%23f25022"/><rect width="9" height="9" x="11" y="1" fill="%237fba00"/><rect width="9" height="9" x="1" y="11" fill="%2300a4ef"/><rect width="9" height="9" x="11" y="11" fill="%23ffb900"/></svg>')}.kpi-row{display:flex;flex-wrap:wrap;gap:.8rem;margin:.25rem 0 1rem}.kpi-card{flex:1 1 130px;min-width:120px;display:flex;flex-direction:column;gap:.25rem;padding:.8rem 1rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.kpi-card.profit{border-color:var(--color-accent, #6366f1)}.kpi-label{font-size:var(--text-sm);color:var(--color-text-muted)}.kpi-value{font-size:1.4rem;font-weight:var(--weight-semibold)}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:720px){.report-grid{grid-template-columns:1fr}}.report-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.report-table th,.report-table td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.report-table th{color:var(--color-text-muted);font-weight:var(--weight-medium)}.report-table td.num,.report-table th.num{text-align:right;font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto}.muted{color:var(--color-text-muted)}.report-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.report-filters .field{flex:1 1 180px;min-width:160px;margin:0}.report-price-toggles{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;align-self:flex-end;padding-bottom:10px}.report-actions{display:flex;gap:.5rem}.row-expand-btn{padding:0 4px;font-size:.9rem;line-height:1}.report-breakdown-row td{background:var(--color-surface-sunken, var(--color-bg));padding:.6rem 1rem}.report-breakdown{display:flex;flex-direction:column;gap:.35rem}.breakdown-item{display:flex;align-items:baseline;gap:1rem;font-size:var(--text-sm)}.breakdown-label{font-weight:var(--weight-semibold)}.breakdown-amounts{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.project-report-subtotals{margin-bottom:1rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal-panel{background:var(--color-surface);border-radius:14px;width:100%;max-width:480px;max-height:90vh;overflow:auto;box-shadow:0 12px 40px #0000004d}.modal-panel.wide{max-width:720px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--color-border)}.modal-head h3{margin:0}.modal-close{border:none;background:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--color-text-muted)}.modal-body{padding:1.1rem}.map-view{width:100%;border-radius:10px;overflow:hidden;border:1px solid var(--color-border);position:relative;z-index:0}.map-view .leaflet-container{height:100%;width:100%}.map-addr{color:var(--color-text-muted);margin:0 0 .6rem}.map-actions{margin:.7rem 0 0}.invite-card{margin-bottom:1.25rem}.invite-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.invite-form .field{flex:1 1 220px;min-width:180px;margin:0}.invite-result{margin-top:.9rem;padding:.8rem 1rem;border:1px solid var(--color-accent, #6366f1);background:var(--color-accent-soft, rgba(99, 102, 241, .08));border-radius:10px}.invite-link-row{display:flex;gap:.5rem;margin:.5rem 0}.invite-link{flex:1;font-family:monospace;font-size:var(--text-sm);padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text)}.access-meta{display:block;margin-top:.15rem;font-size:var(--text-sm)}.extend-form{display:flex;flex-direction:column;gap:.75rem}.extend-form .modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.org-chips{display:flex;flex-wrap:wrap;gap:.3rem}.org-chip{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:var(--color-surface-2, rgba(120,120,140,.12));font-size:var(--text-sm)}.shell-loading{display:flex;justify-content:center;padding:3rem 0}.access-wall{display:flex;justify-content:center;align-items:flex-start;padding:3rem 1rem}.access-wall-card{max-width:460px;text-align:center;padding:2rem;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.access-wall-card h1{margin:0 0 .75rem}.access-wall-actions{margin-top:1.25rem;display:flex;justify-content:center}.logo-row{display:flex;align-items:center;gap:16px;margin:2px 0 6px}.logo-preview{height:48px;max-width:180px;object-fit:contain;border:1px solid var(--color-border);border-radius:10px;padding:6px 10px;background:var(--color-surface)}.logo-placeholder{display:flex;align-items:center;justify-content:center;height:48px;width:96px;border:1px dashed var(--color-border);border-radius:10px;font-size:var(--text-xs);color:var(--color-text-subtle)}.file-btn{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--color-border);border-radius:10px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);cursor:pointer;background:var(--color-surface)}.file-btn:hover{background:var(--color-primary-soft);color:var(--color-primary-hover);border-color:var(--color-primary-soft)}.file-btn.busy{opacity:.6;cursor:default}.group-sub{font-size:var(--text-xs);color:var(--color-text-subtle);margin-top:2px}.readonly-banner{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 20px;background:var(--amber-bg);color:var(--amber-600);border-bottom:1px solid #f3e2b3;font-size:var(--text-sm);font-weight:var(--weight-medium)}.readonly-banner-btn{padding:6px 14px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);text-decoration:none;font-weight:var(--weight-semibold)}.readonly-banner-btn:hover{background:var(--color-primary-hover)}.readonly-banner-note{opacity:.85}.cookie-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg, 0 12px 32px rgba(15, 23, 42, .18));max-width:720px;margin:0 auto}.cookie-consent-text{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;flex:1 1 320px}.cookie-consent-link{color:var(--color-primary);font-weight:var(--weight-medium);text-decoration:underline}.cookie-consent-actions{display:flex;gap:10px;flex-shrink:0}.cookie-consent-btn{padding:8px 16px;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;border:1px solid transparent}.cookie-consent-decline{background:transparent;border-color:var(--color-border-strong);color:var(--color-text)}.cookie-consent-decline:hover{background:var(--color-surface-sunken)}.cookie-consent-accept{background:var(--color-primary);color:var(--color-on-primary)}.cookie-consent-accept:hover{background:var(--color-primary-hover)}.sub-status{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}.sub-status-head{display:flex;align-items:center;gap:12px}.sub-badge{display:inline-flex;padding:4px 12px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em}.sub-badge-trial{background:var(--color-primary-soft);color:var(--color-primary)}.sub-badge-active{background:#e6f6ec;color:#1a7f43}.sub-badge-readonly{background:var(--amber-bg);color:var(--amber-600)}.sub-plan-name{font-weight:var(--weight-semibold)}.sub-status-body p{margin:2px 0}.sub-readonly-note{color:var(--amber-600);font-weight:var(--weight-medium)}.sub-plans-title{margin:8px 0 4px}.sub-plans-hint{margin:0 0 16px}.sub-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sub-plan-card{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;background:var(--color-surface);display:flex;flex-direction:column;gap:8px;align-items:flex-start}.sub-plan-card.current{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.sub-plan-current{position:absolute;top:12px;right:12px;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-primary);background:var(--color-primary-soft);padding:3px 10px;border-radius:var(--radius-full)}.sub-plan-card h3{margin:0;font-family:var(--font-display)}.sub-plan-price{font-size:var(--text-3xl);font-weight:var(--weight-bold);font-family:var(--font-display)}.sub-plan-per{font-size:var(--text-sm);color:var(--color-text-subtle);font-weight:400;margin-left:2px}.sub-plan-users{color:var(--color-text-muted);margin:0}.sub-plan-card button{margin-top:8px;width:100%}@media(max-width:720px){.sub-plan-grid{grid-template-columns:1fr}}.sub-processing{padding:10px 16px;margin-bottom:16px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--weight-medium)}.org-switcher{position:relative}.org-switcher-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 10px;font-weight:var(--weight-semibold);color:var(--color-text);cursor:pointer}.org-switcher-btn:hover{background:var(--color-surface-sunken)}.org-switcher-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-switcher-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:220px;max-height:320px;overflow-y:auto;list-style:none;margin:0;padding:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.org-switcher-menu li button{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text);font-size:var(--text-sm)}.org-switcher-menu li button:hover{background:var(--color-surface-sunken)}.org-switcher-menu li button.active{color:var(--color-primary);font-weight:var(--weight-semibold)}.entry-comments-btn{position:relative}.entry-comments-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:2px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-size:10px;font-weight:var(--weight-semibold);vertical-align:super}.comments-thread{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;margin-bottom:12px}.comment-bubble{background:var(--color-surface-sunken);border-radius:var(--radius-md);padding:10px 12px}.comment-bubble.mine{background:var(--color-primary-soft)}.comment-bubble-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px}.comment-author{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.comment-approver-tag{margin-left:6px;font-size:10px;font-weight:var(--weight-semibold);text-transform:uppercase;color:var(--color-primary);background:var(--color-surface);border-radius:var(--radius-full);padding:1px 6px}.comment-time{font-size:var(--text-xs);color:var(--color-text-subtle);white-space:nowrap}.comment-body{margin:0;font-size:var(--text-sm);white-space:pre-wrap}.comments-composer{display:flex;gap:8px;align-items:flex-end}.comments-composer textarea{flex:1;resize:vertical;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 10px;font:inherit}.my-day{margin-top:16px}.my-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.my-day-nav{display:flex;align-items:center;gap:8px}.my-day-date{min-width:90px;text-align:center;font-weight:var(--weight-medium)}.my-day-list{display:flex;flex-direction:column;gap:6px}.my-day-entry{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--color-border-subtle, var(--color-border))}.my-day-entry-time{min-width:108px;color:var(--color-text-muted)}.my-day-entry-type{font-weight:var(--weight-medium)}.my-day-entry-meta{flex:1}.my-day-entry-tools{margin-left:auto}@media(max-width:640px){.band-row{flex-direction:column;align-items:stretch;gap:.4rem}.band-row-label{font-size:var(--text-base)}.band-row-label:before{display:none}.band-row .field{flex:none;width:100%}.hol-row{grid-template-columns:1fr auto;grid-template-areas:"date tags" "name tags";row-gap:.15rem;column-gap:.5rem}.hol-date{grid-area:date;font-size:var(--text-sm)}.hol-name{grid-area:name}.hol-tags,.hol-public{grid-area:tags;align-self:center}.appr-range{flex-direction:column;align-items:stretch;width:100%}.appr-range .field{width:100%;flex:none}.appr-range>.btn,.appr-range>button{width:100%}.report-from-beginning{align-self:flex-start}.report-filters{flex-direction:column;align-items:stretch}.report-filters .field{width:100%;flex:none;min-width:0}.agenda-board{flex-direction:column;overflow-x:visible}.agenda-col{flex:none;width:100%;max-width:none}.appr-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem}.appr-row.appr-head{display:none}.appr-expand{order:1}.appr-name{order:2;flex:1 1 auto;min-width:0}.appr-num{order:3;text-align:left}.appr-status{order:4;flex-basis:100%}.appr-actions{order:5;flex-basis:100%;justify-content:flex-start}.appr-detail{padding-left:.5rem;padding-right:.5rem}.appr-entry{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem}.appr-entry-time{order:1}.appr-entry-type{order:2}.appr-entry-hours{order:3;margin-left:auto}.appr-entry-tools{order:4;flex-basis:100%;justify-content:flex-start}.appr-entry-extra{order:5}.appr-entry-comment{order:6}.report-grid section.card{overflow-x:auto}.report-grid .report-table{min-width:480px}.table-scroll .report-table{min-width:900px}.kpi-card{flex:1 1 130px}.mobile-card-table thead{display:none}.mobile-card-table,.mobile-card-table tbody,.mobile-card-table tr{display:block;width:100%}.mobile-card-table tr{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.5rem .8rem;margin-bottom:.6rem}.mobile-card-table tr.member-edit-row{border:none;padding:0;margin-bottom:0}.mobile-card-table td{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem 0;border:none}.mobile-card-table td:not(:last-child){border-bottom:1px solid var(--color-border-subtle, var(--color-border))}.mobile-card-table td[data-label]:before{content:attr(data-label);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);flex-shrink:0}.mobile-card-table td[colspan]{display:block;padding:0}.mobile-card-table td.cell-right,.mobile-card-table td.row-actions,.mobile-card-table td.col-actions{justify-content:flex-end;gap:.5rem}.onboard-item{flex-wrap:wrap}.onboard-item-body{flex-basis:100%;order:1;margin-left:40px;margin-top:-4px}.onboard-item-btn{order:2;margin-left:40px}}.auth{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.auth-brand{position:relative;overflow:hidden;padding:48px;display:flex;align-items:center;color:var(--color-text-on-dark);background:radial-gradient(125% 125% at 80% 0%,#322f8c,#25236b 40%,#1b1a3a)}.auth-brand-inner{max-width:430px;margin:auto}.auth-tagline{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:2.4rem;line-height:1.1;letter-spacing:-.03em;margin:30px 0 14px;color:#fff}.auth-tagline .em{color:var(--ember-400)}.auth-sub{color:#b9b7e8;font-size:var(--text-lg);margin:0}.auth-mark{margin-top:44px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.35))}.auth-panel{display:flex;align-items:center;justify-content:center;padding:48px;background:var(--color-bg)}.auth-card{width:100%;max-width:380px}.auth-card-logo{display:none;margin-bottom:28px}.auth-heading{font-size:var(--text-2xl);margin-bottom:6px}.auth-help{color:var(--color-text-muted);margin:0 0 28px}.auth-submit{width:100%;margin-top:6px}.auth-foot{margin-top:22px;font-size:var(--text-sm);color:var(--color-text-muted)}.choose-org-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.choose-org-card{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;font:inherit}.choose-org-card:hover:not(:disabled){border-color:var(--color-primary)}.choose-org-card:disabled{opacity:.6;cursor:default}.choose-org-name{font-weight:var(--weight-medium);color:var(--color-text)}.choose-org-role{font-size:var(--text-sm);color:var(--color-text-muted)}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{overflow-y:auto;background:var(--color-surface);border-right:1px solid var(--color-border);padding:20px 14px;display:flex;flex-direction:column}.sidebar-logo{padding:8px 8px 16px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.nav-section-label{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-subtle);padding:16px 12px 6px}.nav-section-icon{color:var(--color-primary)}.nav-icon,.nav-section-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.nav-icon svg,.nav-section-icon svg{width:18px;height:18px}.nav-link-sub{padding-left:40px}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--color-text-muted);font-weight:var(--weight-medium);font-size:var(--text-sm);text-decoration:none}.nav-link:hover{background:var(--color-primary-soft);color:var(--color-primary-hover);text-decoration:none}.nav-link.active{background:var(--color-primary-soft);color:var(--color-primary-hover);font-weight:var(--weight-semibold)}.sidebar-foot{margin-top:auto;padding:12px 10px 4px;font-size:var(--text-xs);color:var(--color-text-subtle);font-family:var(--font-mono)}.shell-main{display:flex;flex-direction:column;min-width:0}.topbar{height:60px;flex-shrink:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar-org{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.topbar-right{display:flex;align-items:center;gap:12px}.role-chip{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-primary-hover);background:var(--color-primary-soft);padding:4px 11px;border-radius:var(--radius-full)}.shell-content{flex:1;padding:28px 28px 48px;background:var(--color-bg)}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.topbar-burger{display:none;align-items:center;justify-content:center;width:40px;height:40px;margin-left:-8px;border:none;background:transparent;color:var(--color-text-muted);border-radius:10px;cursor:pointer}.topbar-burger:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}.sidebar-overlay{display:none}@media(max-width:880px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;height:100vh;width:264px;z-index:50;transform:translate(-100%);transition:transform .22s ease;box-shadow:0 12px 40px #0f172a38}.sidebar.open{transform:translate(0)}.sidebar-overlay.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;z-index:40}.topbar-burger{display:inline-flex}}@media(max-width:880px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.auth-card-logo{display:block}}@media(max-width:820px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.kpi-grid{grid-template-columns:1fr}}.lang-switcher select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:6px 28px 6px 10px;font-size:14px;color:var(--text, #0f172a);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M3 4.5 6 8l3-3.5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.lang-switcher select:hover{border-color:var(--primary, #4f7cff)}.lang-picker{position:relative}.lang-picker-btn{display:inline-flex;align-items:center;gap:8px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:8px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text, #0f172a);cursor:pointer}.lang-picker-btn:hover{border-color:var(--color-primary, #4f7cff)}.lang-picker-label{line-height:1}.lang-picker-caret{font-size:10px;color:var(--color-text-muted, #64748b);margin-left:2px}.flag{display:block;border-radius:2px;box-shadow:0 0 0 1px #0f172a14;flex:none}.lang-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:184px;margin:0;padding:4px;list-style:none;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:10px;box-shadow:0 10px 30px #0f172a24}.lang-picker.align-left .lang-menu{right:auto;left:0}.lang-option{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-radius:7px;padding:8px 10px;font:inherit;font-size:14px;color:var(--color-text, #0f172a);cursor:pointer;text-align:left}.lang-option:hover{background:var(--color-surface-2, #f1f5f9)}.lang-option.active{background:var(--color-primary-soft, #eef2ff);font-weight:600}.auth-panel{position:relative}.auth-lang{position:absolute;top:16px;right:16px;z-index:5}@media(max-width:640px){.lang-picker-label{display:none}}.mkt{min-height:100vh;display:flex;flex-direction:column;background:var(--color-surface);color:var(--color-text);font-family:var(--font-body)}.mkt main{flex:1}.mkt-container{width:100%;max-width:1080px;margin:0 auto;padding:0 24px}.mkt-header{position:sticky;top:0;z-index:20;background:#ffffffd9;-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--color-border)}.mkt-header-inner{display:flex;align-items:center;justify-content:space-between;height:66px}.mkt-brand{display:inline-flex;text-decoration:none}.mkt-nav{display:flex;align-items:center;gap:22px}.mkt-nav-link{color:var(--color-text-muted);text-decoration:none;font-weight:var(--weight-medium);font-size:var(--text-sm)}.mkt-nav-link:hover{color:var(--color-text)}.mkt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-full);font-weight:var(--weight-semibold);font-size:var(--text-sm);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .15s ease,transform .05s ease,border-color .15s ease;white-space:nowrap}.mkt-btn:active{transform:translateY(1px)}.mkt-btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.mkt-btn-primary:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.mkt-btn-ghost{background:transparent;color:var(--color-text);border-color:var(--color-border-strong)}.mkt-btn-ghost:hover{background:var(--color-surface-sunken)}.mkt-btn-onaccent{background:#fff;color:var(--color-primary)}.mkt-btn-onaccent:hover{background:var(--indigo-50)}.mkt-btn-lg{padding:13px 26px;font-size:var(--text-base)}.mkt-hero{position:relative;overflow:hidden;background:radial-gradient(1100px 480px at 50% -12%,var(--indigo-50),transparent 70%),var(--color-surface);border-bottom:1px solid var(--color-border)}.mkt-hero-inner{text-align:center;padding:84px 24px 92px}.mkt-eyebrow{display:inline-block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary);background:var(--color-primary-soft);padding:6px 14px;border-radius:var(--radius-full);margin-bottom:22px}.mkt-hero-title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.08;letter-spacing:-.02em;margin:0 auto 20px;max-width:16ch;color:var(--color-text)}.mkt-hero-sub{font-size:clamp(1rem,2.2vw,1.2rem);color:var(--color-text-muted);line-height:1.6;max-width:60ch;margin:0 auto 32px}.mkt-hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.mkt-hero-note{margin-top:20px;font-size:var(--text-sm);color:var(--color-text-subtle)}.mkt-apps{padding:48px 0;background:var(--color-surface-sunken, var(--color-bg));border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.mkt-apps-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}.mkt-apps-inner h2{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:clamp(1.3rem,2.5vw,1.6rem);letter-spacing:-.02em;margin:0 0 4px}.mkt-apps-inner p{color:var(--color-text-muted);margin:0}.mkt-app-badges{display:flex;flex-wrap:wrap;gap:12px}.mkt-app-badge{display:flex;align-items:center;gap:10px;padding:9px 16px;border-radius:10px;background:#0b0b0d;color:#fff;text-decoration:none;transition:opacity var(--dur-fast) ease}.mkt-app-badge:hover{opacity:.85}.mkt-app-badge-icon{width:22px;height:22px;flex-shrink:0}.mkt-app-badge-icon svg{width:100%;height:100%}.mkt-app-badge-text{display:flex;flex-direction:column;line-height:1.15}.mkt-app-badge-sub{font-size:10px;opacity:.85}.mkt-app-badge-main{font-size:var(--text-base);font-weight:var(--weight-semibold)}@media(max-width:560px){.mkt-apps-inner{flex-direction:column;align-items:flex-start}}.mkt-features{padding:80px 0}.mkt-signin{padding:64px 0}.mkt-signin .mkt-section-head{max-width:60ch}.mkt-section-head{text-align:center;max-width:46ch;margin:0 auto 48px}.mkt-section-head h2{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:clamp(1.6rem,3.5vw,2.25rem);letter-spacing:-.02em;margin:0 0 10px}.mkt-section-head p{color:var(--color-text-muted);font-size:var(--text-lg);margin:0}.mkt-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.mkt-feature{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease}.mkt-feature:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.mkt-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--color-primary-soft);color:var(--color-primary);margin-bottom:16px}.mkt-feature-icon svg{width:24px;height:24px}.mkt-feature h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0 0 8px}.mkt-feature p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6;margin:0}.mkt-cta{background:radial-gradient(700px 300px at 50% 120%,var(--indigo-500),transparent 70%),var(--indigo-700);color:#fff}.mkt-cta-inner{text-align:center;padding:72px 24px}.mkt-cta-inner h2{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:clamp(1.6rem,3.5vw,2.25rem);letter-spacing:-.02em;margin:0 0 10px;color:#fff}.mkt-cta-inner p{color:var(--indigo-100);font-size:var(--text-lg);margin:0 0 26px}.mkt-footer{background:var(--color-surface-sunken);border-top:1px solid var(--color-border);padding:40px 0 28px}.mkt-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--color-border)}.mkt-footer-tag{margin:8px 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}.mkt-footer-links{display:flex;gap:24px;flex-wrap:wrap}.mkt-footer-links a{color:var(--color-text-muted);text-decoration:none;font-size:var(--text-sm);font-weight:var(--weight-medium)}.mkt-footer-links a:hover{color:var(--color-text)}.mkt-footer-legal{padding-top:20px;color:var(--color-text-subtle);font-size:var(--text-xs)}.mkt-legal{padding:56px 0 72px}.mkt-legal-inner{max-width:760px}.mkt-legal-head{margin-bottom:28px}.mkt-legal-head h1{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-4xl);letter-spacing:-.02em;margin:0 0 8px}.mkt-legal-updated{color:var(--color-text-subtle);font-size:var(--text-sm);margin:0}.mkt-legal-note{background:var(--amber-bg);color:var(--amber-600);border:1px solid #f3e2b3;border-radius:var(--radius-lg);padding:12px 16px;font-size:var(--text-sm);margin-bottom:32px}.mkt-legal section{margin-bottom:26px}.mkt-legal h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:0 0 10px}.mkt-legal p{color:var(--color-text-muted);line-height:1.7;margin:0}.mkt-legal a{color:var(--color-link);text-decoration:none}.mkt-legal a:hover{text-decoration:underline}.mkt-support-card{background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px 26px;margin-bottom:36px}.mkt-support-card h2{margin:0 0 8px;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold)}.mkt-support-card p{margin:0;color:var(--color-text-muted);line-height:1.7}.mkt-faq{display:flex;flex-direction:column;gap:18px}.mkt-faq-item h3{font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0 0 6px}.mkt-faq-item p{color:var(--color-text-muted);line-height:1.65;margin:0}@media(max-width:820px){.mkt-feature-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.mkt-feature-grid{grid-template-columns:1fr}.mkt-nav{gap:14px}.mkt-nav .mkt-nav-link{display:none}.mkt-hero-inner{padding:60px 20px 68px}.mkt-footer-inner{flex-direction:column;align-items:flex-start}}.mkt-pricing{padding:80px 0;background:var(--color-surface-sunken)}.mkt-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.mkt-price-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:32px 26px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.mkt-price-card.featured{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-6px)}.mkt-price-flag{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:4px 14px;border-radius:var(--radius-full)}.mkt-price-card h3{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.mkt-price{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-bold);color:var(--color-text)}.mkt-price-per{font-size:var(--text-base);color:var(--color-text-subtle);font-weight:400}.mkt-price-users{font-weight:var(--weight-semibold);margin:0}.mkt-price-note{color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 8px}.mkt-price-card .mkt-btn{width:100%;margin-top:auto}.mkt-price-trial{text-align:center;margin-top:24px;color:var(--color-text-subtle);font-size:var(--text-sm)}@media(max-width:820px){.mkt-price-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}.mkt-price-card.featured{transform:none}}.mkt-hero-compact .mkt-hero-inner{padding:56px 24px 48px}.mkt-price-feature-list{list-style:none;margin:0 auto;padding:0;max-width:640px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 32px}.mkt-price-feature-list li{position:relative;padding-left:28px;color:var(--color-text);font-size:var(--text-base);line-height:1.5}.mkt-price-feature-list li:before{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--color-primary-soft);border:2px solid var(--color-primary)}@media(max-width:640px){.mkt-price-feature-list{grid-template-columns:1fr}}.mkt-faq{padding:80px 0;background:var(--color-surface-sunken)}.mkt-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:840px;margin:0 auto}.mkt-faq-item h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0 0 8px}.mkt-faq-item p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6;margin:0}@media(max-width:640px){.mkt-faq-grid{grid-template-columns:1fr}}
