.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}}*{box-sizing:border-box}:root{color-scheme:dark;--theme-surface-60: rgba(15, 23, 42, .6);--theme-surface-50: rgba(15, 23, 42, .5);--theme-surface-40: rgba(15, 23, 42, .4);--theme-surface-80: rgba(15, 23, 42, .8);--theme-surface-30: rgba(15, 23, 42, .3);--theme-surface-35: rgba(15, 23, 42, .35);--theme-surface-90: rgba(15, 23, 42, .9);--theme-surface-95: rgba(15, 23, 42, .95);--theme-surface-70: rgba(15, 23, 42, .7);--theme-surface-15: rgba(15, 23, 42, .15);--theme-surface-25: rgba(15, 23, 42, .25);--theme-bg-body: radial-gradient(circle at top, #1e293b, #0f172a 45%);--theme-fg: #f8fafc;--theme-fg-muted: #94a3b8;--theme-fg-soft: #e2e8f0;--theme-fg-softer: #cbd5e1;--theme-fg-dim: #64748b;--theme-slate-600: #475569;--theme-card-bg: linear-gradient(180deg, var(--theme-surface-90), #0f172a);--theme-card-border: rgba(148, 163, 184, .15);--theme-card-shadow: 0 18px 40px rgba(15, 23, 42, .35);--theme-select-bg: #0f172a;--theme-border-strong: #334155;--theme-deep-bg: #0f172a;--theme-panel: #1e293b;--theme-border-deep: #0f172a;--theme-gradient-hero: linear-gradient(180deg, #0f172a 60%, var(--theme-surface-95));--theme-gradient-header: linear-gradient(180deg, #1e293b, #0f172a);--theme-ghost-border: rgba(148, 163, 184, .3);--theme-ghost-hover: rgba(148, 163, 184, .12);--theme-row-hover: rgba(148, 163, 184, .06);--theme-tab-text: #cbd5f5;--theme-tab-active-text: #f8fafc;--theme-tab-active-bg: rgba(56, 189, 248, .18);--theme-input-bg: var(--theme-surface-80);--theme-input-border: rgba(148, 163, 184, .2);--theme-tabs-bg: var(--theme-surface-60);--theme-tabs-border: rgba(148, 163, 184, .2);--theme-row-accent-bg: #253044;--theme-dropdown-border: rgba(255, 255, 255, .08);--theme-dropdown-divider: rgba(255, 255, 255, .06);--theme-dropdown-hover: rgba(255, 255, 255, .06);--theme-dropdown-shadow: 0 12px 32px rgba(0, 0, 0, .4)}[data-theme=light]{color-scheme:light;--theme-bg-body: linear-gradient(180deg, #f4f7fb 0%, #eef2f7 52%, #e7edf5 100%);--theme-fg: #1f2937;--theme-fg-muted: #5f6f82;--theme-fg-soft: #334155;--theme-fg-softer: #475569;--theme-fg-dim: #5f6f82;--theme-slate-600: #475569;--theme-card-bg: linear-gradient(180deg, #fdfefe 0%, #f4f7fb 100%);--theme-card-border: rgba(71, 85, 105, .18);--theme-card-shadow: 0 8px 24px rgba(15, 23, 42, .08);--theme-select-bg: #f8fbff;--theme-border-strong: #c7d2e0;--theme-deep-bg: #eef3f8;--theme-panel: #f8fbff;--theme-border-deep: #e2e8f0;--theme-gradient-hero: linear-gradient(180deg, #f4f7fb 60%, rgba(238, 243, 248, .98));--theme-gradient-header: linear-gradient(180deg, #eef3f8, #e4ebf4);--theme-ghost-border: rgba(51, 65, 85, .2);--theme-ghost-hover: rgba(51, 65, 85, .06);--theme-row-hover: rgba(51, 65, 85, .05);--theme-tabs-bg: rgba(232, 238, 247, .92);--theme-tabs-border: rgba(71, 85, 105, .2);--theme-tab-text: #526174;--theme-tab-active-text: #1f2937;--theme-tab-active-bg: rgba(56, 189, 248, .16);--theme-input-bg: #fdfefe;--theme-input-border: rgba(71, 85, 105, .22);--theme-surface-60: rgba(241, 245, 251, .92);--theme-surface-50: rgba(238, 243, 249, .9);--theme-surface-40: rgba(231, 237, 245, .9);--theme-surface-80: #fdfefe;--theme-surface-30: rgba(51, 65, 85, .06);--theme-surface-35: rgba(51, 65, 85, .08);--theme-surface-90: rgba(253, 254, 255, .98);--theme-surface-95: rgba(247, 250, 254, .99);--theme-surface-70: rgba(247, 250, 254, .96);--theme-surface-15: rgba(51, 65, 85, .06);--theme-surface-25: rgba(51, 65, 85, .08);--theme-row-accent-bg: rgba(51, 65, 85, .06);--theme-dropdown-border: rgba(71, 85, 105, .22);--theme-dropdown-divider: rgba(71, 85, 105, .12);--theme-dropdown-hover: rgba(71, 85, 105, .08);--theme-dropdown-shadow: 0 12px 32px rgba(15, 23, 42, .12)}body{margin:0;font-family:DM Sans,Inter,system-ui,-apple-system,sans-serif;background:var(--theme-bg-body);color:var(--theme-fg);overflow-x:hidden}.page{max-width:960px;margin:0 auto;padding:48px 24px 64px;display:flex;flex-direction:column;gap:24px}.billing-paywall-page{max-width:520px;min-height:60vh;justify-content:center}.billing-paywall-card{width:100%}.billing-paywall-title{margin-top:0;font-size:1.5rem}.billing-paywall-body{line-height:1.55;margin:0}.billing-paywall-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.header h1{margin:0 0 8px;font-size:32px}.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-app-header{flex-wrap:wrap;row-gap:12px;align-items:flex-start}.page-app-header .header-actions{align-self:center;margin-left:auto}.header-title-block{display:flex;flex-direction:column;gap:6px;min-width:0}.page-app-header .header-title-block>h1{margin:0;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--theme-fg)}.page-app-header .header-title-block>.subtitle{margin:0}.page-app-header--auth .header-title-block>h1{font-size:clamp(1.5rem,2.4vw,2rem)}.page-app-header--auth .eyebrow{margin-bottom:0}.theme-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--theme-card-border);background:var(--theme-surface-60);color:var(--theme-fg-soft);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.theme-toggle:hover{background:var(--theme-row-hover);color:var(--theme-fg);border-color:var(--theme-ghost-border)}.theme-toggle:focus-visible{outline:2px solid rgba(56,189,248,.6);outline-offset:2px}.theme-toggle-auth{align-self:flex-start}.account-appearance-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-appearance-label{font-size:14px;font-weight:500;color:var(--theme-fg-soft)}.app-top-banners{position:fixed;top:0;left:0;right:0;z-index:10001;display:flex;flex-direction:column}.strava-sync-banner{border-bottom:1px solid var(--theme-card-border);background:color-mix(in srgb,rgb(15,23,42) 95%,transparent);box-shadow:var(--theme-card-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.gear-refresh-banner.strava-sync-banner--busy{background:linear-gradient(180deg,#1c2a3a,#0f172a)}[data-theme=light] .gear-refresh-banner.strava-sync-banner--busy{background:linear-gradient(180deg,#e9ecfc,#f8fbff)}.strava-sync-banner--busy{background:linear-gradient(180deg,#16303e,#0f172a)}.strava-sync-banner--ok{background:linear-gradient(180deg,#142d22,#0f172a)}.strava-sync-banner--err{background:linear-gradient(180deg,#301c1c,#0f172a)}[data-theme=light] .strava-sync-banner{background:#f8fbff}[data-theme=light] .strava-sync-banner--busy{background:linear-gradient(180deg,#dcf2fe,#f8fbff)}[data-theme=light] .strava-sync-banner--ok{background:linear-gradient(180deg,#d6fae7,#f8fbff)}[data-theme=light] .strava-sync-banner--err{background:linear-gradient(180deg,#fee2e2,#f8fbff)}.strava-sync-banner-inner{max-width:960px;margin:0 auto;padding:10px 24px 12px;display:flex;flex-direction:column;gap:2px}.strava-sync-banner-title{font-size:13px;font-weight:600;color:var(--theme-fg)}.strava-sync-banner-detail{font-size:12px;color:var(--theme-fg-muted);line-height:1.45}.strava-sync-banner-progress{height:3px;width:100%;background:var(--theme-surface-30);overflow:hidden}.strava-sync-banner-progress-indeterminate{height:100%;width:42%;background:linear-gradient(90deg,transparent,#38bdf8,transparent);animation:strava-sync-indeterminate 1.35s ease-in-out infinite}@keyframes strava-sync-indeterminate{0%{transform:translate(-100%)}to{transform:translate(340%)}}body.app-top-banners-visible{padding-top:76px}body.app-top-banners-visible[data-app-top-banner-count="2"]{padding-top:148px}.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--theme-fg-muted);margin-bottom:12px}.subtitle{margin:0;font-size:.95rem;color:var(--theme-fg-muted);line-height:1.5}.card{background:color-mix(in srgb,var(--theme-panel) 88%,transparent);border:1px solid var(--theme-card-border);border-radius:24px;padding:26px 24px;box-shadow:var(--theme-card-shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}[data-theme=light] .card{box-shadow:0 0 0 1px #fffc inset,0 16px 40px -12px #0f172a1a}.card.error{border-color:#f87171;color:#fecaca}.auth-page{max-width:1100px}.auth-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px}.auth-hero h2{margin:0 0 12px;font-size:24px}.auth-hero .muted{color:var(--theme-fg-muted);margin-bottom:20px}.feature-list{margin:0;padding-left:18px;color:var(--theme-tab-text);display:grid;gap:12px}.auth-card{display:flex;flex-direction:column;gap:20px}.tabs{display:flex;gap:12px;background:var(--theme-tabs-bg);border:1px solid var(--theme-tabs-border);padding:6px;border-radius:999px}.tabs button{flex:1;border:none;border-radius:999px;padding:8px 12px;color:var(--theme-tab-text);background:transparent;cursor:pointer;transition:all .2s ease}.tabs button.active,.tabs button:hover{background:var(--theme-tab-active-bg);color:var(--theme-tab-active-text)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form input{border-radius:12px;border:1px solid var(--theme-input-border);background:var(--theme-surface-80);color:var(--theme-fg);padding:12px 14px;font-size:14px}.auth-form input:focus{outline:2px solid rgba(56,189,248,.6);outline-offset:2px}.button{border:1px solid transparent;border-radius:999px;padding:10px 20px;font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease,color .15s ease}.button.primary{background:linear-gradient(135deg,#7dd3fc,#a5b4fc,#818cf8);color:#0f172a;box-shadow:0 4px 14px #6366f147}.button.primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px #6366f166}.button.ghost{background:transparent;border-color:var(--theme-ghost-border);color:var(--theme-fg-soft)}.button.ghost:hover{background:var(--theme-ghost-hover);border-color:#38bdf84d}.error,.notice{border-radius:16px;padding:14px 16px;font-size:14px;line-height:1.5}.error{background:#f871711a;border:1px solid rgba(248,113,113,.35);color:#fecaca}.notice{background:#38bdf814;border:1px solid rgba(56,189,248,.25);color:#bae6fd}.profile{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--theme-fg-muted);margin-bottom:6px;display:block}.goals{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.goal-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-radius:12px;background:var(--theme-surface-60)}.goal-title{font-weight:600;margin-bottom:4px}.goal-status{color:var(--theme-fg-muted);font-size:14px}select{border-radius:14px;border:1px solid var(--theme-input-border);background:var(--theme-input-bg);color:var(--theme-fg);padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}select:focus{outline:none;border-color:#38bdf88c;box-shadow:0 0 0 3px #38bdf826}.strava-connect-card{border:1px dashed rgba(252,82,0,.35)}.strava-connect-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.strava-heading{margin:0 0 6px;font-size:18px}.strava-btn{background:linear-gradient(135deg,#fc5200,#e34902);color:#fff;white-space:nowrap;flex-shrink:0}.strava-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #fc520059}.strava-connected-card{padding:14px 20px}.strava-connected-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.strava-connected-info{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--theme-fg-softer)}.strava-connected-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0}.strava-connected-label{font-weight:500}.upcoming-card{display:flex;flex-direction:column;gap:12px}.upcoming-header{display:flex;align-items:center;justify-content:space-between}.upcoming-title{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.upcoming-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 0}.upcoming-list{display:flex;flex-direction:column;gap:2px}.upcoming-row{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;cursor:pointer;transition:background .12s}.upcoming-row:hover{background:var(--theme-row-hover)}.upcoming-date{font-size:13px;font-weight:600;color:#38bdf8;white-space:nowrap}.upcoming-info{display:flex;align-items:center;gap:8px;min-width:0}.upcoming-type-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:var(--theme-ghost-hover);color:var(--theme-fg-muted);white-space:nowrap;flex-shrink:0}.upcoming-name{font-weight:500;color:var(--theme-fg-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-targets{display:flex;gap:12px;font-size:13px;color:var(--theme-fg-muted);white-space:nowrap}.upcoming-effort{color:#fb923c;font-weight:600}.upcoming-row-done{opacity:.7}.upcoming-done-badge{font-size:11px;font-weight:700;color:#22c55e;background:#22c55e1f;padding:2px 8px;border-radius:10px;white-space:nowrap}.races-card{border-left:3px solid #ef4444}.races-card-hint{margin:-4px 0 0;font-size:13px;line-height:1.4}.races-card-hint strong{color:var(--theme-fg-soft);font-weight:600}.races-list{display:flex;flex-direction:column;gap:2px}.race-row{display:grid;grid-template-columns:90px 1fr minmax(100px,auto);align-items:center;gap:12px;padding:12px 14px;border-radius:14px;cursor:pointer;transition:background .12s}.race-row:hover{background:var(--theme-row-hover)}.race-row-date{font-size:13px;font-weight:600;color:#f87171;white-space:nowrap}.race-row-body{min-width:0;display:flex;flex-direction:column;gap:4px}.race-row-name{font-weight:600;color:var(--theme-fg-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-row-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--theme-fg-muted)}.race-countdown{font-size:14px;font-weight:700;color:#fca5a5;text-align:right;white-space:nowrap}.races-empty{padding:16px 0}.tw-card{display:flex;flex-direction:column;gap:16px}.tw-header{display:flex;align-items:flex-start;justify-content:space-between}.tw-title{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.tw-range{font-size:13px;color:var(--theme-fg-dim)}.tw-connect-hint{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 0}.tw-empty{padding:16px 0;text-align:center}.tw-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}.tw-stat{display:flex;flex-direction:column;gap:2px;padding:14px 14px 16px;border-radius:16px;background:var(--theme-surface-40);border:1px solid rgba(148,163,184,.12)}[data-theme=light] .tw-stat{background:#f1f5f9eb;border-color:#4755691f}.tw-stat-value{font-size:18px;font-weight:700;color:var(--theme-fg)}.tw-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--theme-fg-dim)}.tw-activities{display:flex;flex-direction:column;gap:2px}.tw-activity{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;cursor:pointer;transition:background .12s ease}.tw-activity:hover{background:var(--theme-row-hover)}.tw-act-day{font-size:12px;font-weight:600;color:#22c55e;white-space:nowrap}.tw-act-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.tw-act-title-row{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.tw-act-gear{font-size:11px;color:var(--theme-fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tw-act-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:#22c55e1a;color:#22c55e;white-space:nowrap;flex-shrink:0}.tw-act-name{font-weight:500;color:var(--theme-fg-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-act-metrics{display:flex;gap:12px;font-size:13px;color:var(--theme-fg-muted);white-space:nowrap}.tw-act-hr{color:#f87171}@media (max-width: 600px){.button{min-height:44px;padding:12px 20px;font-size:14px}.button.small{min-height:40px;padding:10px 16px;font-size:13px}.button.ghost{min-height:40px}button,a,[role=button]{min-height:36px}.cal-day-add{min-height:28px;min-width:28px;display:inline-flex;align-items:center;justify-content:center}.cs-athlete-row{min-height:44px}.notif-item{min-height:48px;padding:12px}.avatar-menu-btn,.notif-bell-btn{min-height:36px;min-width:36px}.upcoming-row,.race-row{min-height:48px}.wl-collapse-btn{min-height:40px;min-width:40px}.wb-interval-row button{min-height:36px;min-width:36px}.tw-stats{grid-template-columns:repeat(3,1fr);gap:6px}.tw-stat{padding:8px}.tw-activity{grid-template-columns:48px 1fr;gap:6px;padding:8px 10px}.tw-act-metrics{grid-column:1 / -1;font-size:12px;gap:8px;padding-left:0}.page{padding:16px 12px 32px;gap:16px}.auth-page{padding:16px;min-height:auto;max-width:100%}.auth-layout{gap:16px}.auth-card{padding:20px 16px}.auth-card h2{font-size:22px}.auth-card input{font-size:16px}.calendar-main{max-height:none;overflow:visible}.calendar-page{min-height:auto}.calendar-scroll-container{flex:none;overflow-y:visible;overflow-x:hidden;max-height:calc(100vh - 120px);overflow-y:auto;margin:0}.calendar-page-header{padding:12px 12px 8px}.calendar-page-header.page-app-header .header-title-block>h1{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-page-header.page-app-header .header-actions .button.ghost.small{padding:8px 14px;font-size:12px;min-height:36px}.calendar-nav{padding:0 12px 8px;gap:8px}.cal-nav-today{padding:8px 14px;font-size:13px;min-height:36px}.cal-nav-label{font-size:15px;min-width:0;padding:8px 10px;min-height:36px}.cal-nav-label-caret{font-size:10px}.cal-date-picker{width:calc(100vw - 24px);max-width:280px;padding:10px;left:-12px}.cal-day-header{font-size:9px;letter-spacing:.05em;padding:6px 0}.cal-day-cell{min-height:52px;padding:2px;gap:2px}.cal-day-top{margin-bottom:0}.cal-day-number{font-size:10px;padding:1px 2px}.cal-day-first{font-size:9px}.cal-day-add{opacity:1;font-size:14px;padding:0 2px;color:var(--theme-slate-600)}.cal-day-workouts{gap:2px}.workout-card{padding:2px 3px;font-size:9px;border-left-width:2px;border-radius:3px;line-height:1.25}.workout-card-type{font-size:8px;letter-spacing:0}.workout-card-name{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-card-stats{display:none}.matched-check{font-size:8px}.matched-type-row{gap:4px}.workout-card-effort{font-size:9px}.cal-month-divider{padding:6px 8px 2px}.cal-month-divider-label{font-size:11px}.cal-sentinel{height:1px}.dashboard-main{padding:12px 12px 32px}.dashboard-main>*{max-width:100%}.card{padding:16px}.upcoming-row{grid-template-columns:1fr;gap:4px;padding:10px 12px}.race-row{grid-template-columns:1fr;gap:6px;padding:10px 12px}.race-countdown{text-align:left;font-size:13px}.upcoming-date{font-size:11px}.upcoming-info{flex-wrap:wrap;gap:6px}.upcoming-targets{gap:8px;font-size:12px}.upcoming-name{font-size:13px}.account-page{padding:12px;max-width:100%}.account-page>.page-app-header{margin-bottom:12px}.account-page>.page-app-header .header-title-block>h1{font-size:1.15rem}.account-card{padding:14px;border-radius:10px}.account-card-title{font-size:15px;margin-bottom:12px}.account-input{font-size:16px}.avatar-upload-section{flex-direction:column;align-items:center;text-align:center}.avatar-upload-controls{align-items:center}.notif-dropdown{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-height:75vh;border-radius:16px 16px 0 0;box-shadow:0 -8px 40px #00000080}.notif-dropdown-header{position:sticky;top:0;z-index:1}.avatar-dropdown{min-width:200px;right:-8px}.modal-backdrop{padding:0;align-items:flex-end}.modal-content{max-width:100%;width:100%;max-height:92vh;padding:16px 14px 24px;border-radius:16px 16px 0 0;margin:0}.wb-modal{max-width:100%}.workout-detail-modal,.week-summary-modal{max-width:100%;max-height:92vh}.modal-title{font-size:17px}.modal-close{top:12px;right:12px;width:30px;height:30px;font-size:18px}.wb-header{gap:4px}.wb-date{font-size:12px}.wb-type-pills{gap:4px}.wb-type-pill{padding:5px 9px;font-size:11px}.wb-title-input{font-size:16px}.wb-targets{grid-template-columns:1fr 1fr;gap:8px}.wb-target-label{font-size:11px}.wb-effort-section{padding:8px 0}.wb-effort-slider-row{padding:0}.wb-notes{font-size:14px}.wb-step{border-radius:8px}.wb-step-drag-handle{width:20px}.wb-step-body{padding:8px 10px;gap:6px}.wb-step-fields{flex-wrap:wrap;gap:6px}.wb-sf{min-width:0}.wb-sf-label{font-size:10px}.wb-sf-input{width:56px;font-size:13px;padding:4px 6px}.wb-sf-sm{width:38px}.wb-sf-effort{width:90px;font-size:12px}.wb-step-type-pills{flex-wrap:wrap;gap:3px}.wb-step-type-pill{padding:3px 7px;font-size:10px}.wb-add-step-row{flex-wrap:wrap;gap:4px}.wb-add-step-btn{font-size:11px;padding:4px 10px}.wb-step-notes{font-size:12px}.wb-submit{font-size:14px;padding:10px 16px}.detail-grid{grid-template-columns:1fr 1fr;gap:8px}.detail-stat-value{font-size:16px}.detail-stat-label{font-size:10px}.cmp-header-row,.cmp-row{grid-template-columns:60px 1fr 1fr 60px;font-size:11px;gap:4px}.zone-bar-row,.dist-bar-row{grid-template-columns:80px 1fr 50px;font-size:11px}.week-act-row{flex-wrap:wrap;gap:4px}.week-act-name{max-width:140px;font-size:12px}.week-act-date{min-width:50px;font-size:10px}.week-act-metrics{width:100%;font-size:11px}.coaching-invite-row{flex-direction:column;align-items:flex-start;gap:8px}.coaching-coach-row{flex-direction:column;align-items:flex-start;gap:6px}.notif-prefs-header,.notif-prefs-row{grid-template-columns:1fr 44px 44px;gap:4px}.notif-prefs-label{font-size:12px}.notif-prefs-label-col,.notif-prefs-toggle-col{font-size:10px}.cs-confirm-dialog{max-width:300px;padding:16px 20px}.cs-confirm-actions{flex-direction:column}.cs-confirm-actions .button{width:100%;justify-content:center}.comment-row{gap:8px}.comment-body{font-size:12px}}.strava-card{display:flex;flex-direction:column;gap:16px}.strava-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.strava-header-actions{display:flex;align-items:center;gap:12px}.strava-tabs{font-size:13px}.button.small{padding:6px 12px;font-size:12px}.muted{color:var(--theme-fg-muted);margin:0}.strava-activities{display:flex;flex-direction:column;gap:12px}.activity-row{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:12px;background:var(--theme-surface-60)}.activity-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.activity-head{display:flex;flex-direction:column;gap:2px;min-width:0}.activity-name{font-weight:600;font-size:15px}.activity-gear{font-size:12px;color:var(--theme-fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-date{color:var(--theme-fg-muted);font-size:13px;white-space:nowrap}.activity-metrics{display:flex;flex-wrap:wrap;gap:20px}.metric{display:flex;flex-direction:column;gap:2px}.metric-value{font-weight:600;font-size:14px;color:var(--theme-fg-soft)}.metric-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--theme-fg-dim)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-block{padding:16px;border-radius:12px;background:var(--theme-surface-60)}.stat-block-label{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--theme-fg-muted)}.stat-block-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.header-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.avatar-menu{position:relative}.avatar-btn{width:38px;height:38px;min-width:38px;min-height:38px;border-radius:50%;border:2px solid rgba(99,102,241,.5);background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;font-size:14px;font-weight:700;letter-spacing:.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;flex-shrink:0;transition:border-color .15s,box-shadow .15s,transform .1s}.avatar-btn:hover{border-color:#818cf8;box-shadow:0 0 0 3px #6366f133;transform:scale(1.05)}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-upload-section{display:flex;align-items:center;gap:16px;margin-bottom:20px}.avatar-upload-preview{width:72px;height:72px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(99,102,241,.4);display:flex;align-items:center;justify-content:center;background:#6366f11a}.avatar-upload-img{width:100%;height:100%;object-fit:cover}.avatar-upload-placeholder{color:var(--theme-fg-dim);font-size:11px;text-align:center}.avatar-upload-controls{display:flex;flex-direction:column;gap:6px}.avatar-upload-label{cursor:pointer}.avatar-upload-hint{font-size:11px;color:var(--theme-fg-dim)}.avatar-crop-section{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.avatar-crop-title{font-size:15px;font-weight:600;color:var(--theme-fg-soft);margin:0}.avatar-crop-hint{font-size:12px;color:var(--theme-fg-dim);margin:0}.avatar-crop-container{position:relative;width:280px;max-width:100%;border-radius:12px;overflow:hidden;background:var(--theme-deep-bg);user-select:none;-webkit-user-select:none}.avatar-crop-source{display:block;width:100%;height:auto;pointer-events:none}.avatar-crop-dimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;pointer-events:none}.avatar-crop-circle{position:absolute;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 9999px #0000008c;cursor:grab;z-index:2;transition:border-color .15s}.avatar-crop-circle:hover{border-color:#38bdf8}.avatar-crop-circle:active{cursor:grabbing;border-color:#6366f1}.avatar-crop-actions{display:flex;gap:10px;align-items:center}.avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:color-mix(in srgb,var(--theme-panel) 92%,transparent);border:1px solid var(--theme-dropdown-border);border-radius:18px;box-shadow:var(--theme-dropdown-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:1000;overflow:hidden;animation:avatarDropIn .15s ease-out}@keyframes avatarDropIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.avatar-dropdown-user{padding:14px 16px;display:flex;flex-direction:column;gap:2px}.avatar-dropdown-name{font-size:14px;font-weight:600;color:var(--theme-fg)}.avatar-dropdown-email{font-size:12px;color:var(--theme-fg-muted)}.avatar-dropdown-divider{height:1px;background:var(--theme-dropdown-divider)}.avatar-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;border:none;background:none;color:var(--theme-fg-softer);font-size:13px;cursor:pointer;transition:background .12s,color .12s;text-align:left}.avatar-dropdown-item:hover{background:var(--theme-dropdown-hover);color:var(--theme-fg)}.avatar-dropdown-item svg{flex-shrink:0;opacity:.6}.avatar-dropdown-item:hover svg{opacity:1}.avatar-dropdown-logout:hover{color:#f87171}.avatar-dropdown-logout:hover svg{color:#f87171}.calendar-page{min-height:100vh;padding:0;display:flex;align-items:stretch}.calendar-page-header{padding:0 24px 16px;flex-shrink:0;width:100%;box-sizing:border-box}.calendar-nav{display:flex;align-items:center;gap:16px;padding:0 24px 12px}.cal-nav-today{background:transparent;border:1px solid rgba(148,163,184,.25);color:var(--theme-fg-muted);border-radius:999px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.cal-nav-today:hover{background:var(--theme-ghost-hover);color:var(--theme-fg-soft)}.cal-nav-month-picker{position:relative}.cal-nav-label{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em;min-width:200px;text-align:left;background:none;border:none;color:var(--theme-fg);cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border-radius:8px;transition:background .15s}.cal-nav-label:hover{background:#94a3b81a}.cal-nav-label-caret{font-size:12px;color:var(--theme-fg-dim)}.cal-date-picker{position:absolute;top:calc(100% + 6px);left:0;background:color-mix(in srgb,var(--theme-panel) 92%,transparent);border:1px solid var(--theme-card-border);border-radius:18px;box-shadow:0 12px 40px #00000073;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:100;padding:14px;width:260px}.cal-picker-year-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-picker-year{font-size:16px;font-weight:600;color:var(--theme-fg-soft)}.cal-picker-year-btn{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--theme-fg-muted);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.cal-picker-year-btn:hover{background:var(--theme-ghost-hover);color:var(--theme-fg-soft)}.cal-picker-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.cal-picker-month{padding:8px 4px;border:none;border-radius:8px;background:transparent;color:var(--theme-fg-muted);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,color .12s}.cal-picker-month:hover{background:var(--theme-ghost-hover);color:var(--theme-fg-soft)}.cal-picker-month-current{color:#38bdf8;font-weight:600}.cal-picker-month-selected{background:#6366f133;color:#818cf8;font-weight:700}.calendar-loading{text-align:center;color:var(--theme-fg-muted);padding:12px 0}.calendar-scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;margin:0 12px;position:relative}.calendar-grid{display:flex;flex-direction:column}.cal-day-header-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) 120px}.cal-sticky-header{position:sticky;top:0;z-index:10;background:var(--theme-gradient-hero)}.cal-day-header{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--theme-fg-dim);padding:8px 0;border-bottom:1px solid rgba(148,163,184,.12)}.cal-summary-header{color:var(--theme-slate-600);font-size:10px}.cal-month-divider{padding:14px 10px 6px}.cal-month-divider-label{font-size:14px;font-weight:700;color:var(--theme-slate-600);letter-spacing:.02em}.cal-sentinel{height:1px;width:100%}.cal-week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) 120px}.cal-day-cell{min-height:100px;border:1px solid rgba(148,163,184,.08);border-top:none;padding:4px;display:flex;flex-direction:column;gap:3px;background:var(--theme-surface-30);transition:background .15s ease}.cal-day-cell:hover{background:var(--theme-surface-60)}.cal-day-today{background:#38bdf80f;box-shadow:inset 0 0 0 1px #38bdf840}.cal-day-today:hover{background:#38bdf81a}.cal-day-number{font-size:12px;font-weight:500;color:var(--theme-fg-muted);padding:2px 4px;line-height:1}.cal-day-first{color:var(--theme-fg-softer);font-weight:700;font-size:11px}.cal-day-today .cal-day-number{color:#38bdf8;font-weight:700}.cal-day-workouts{display:flex;flex-direction:column;gap:3px;flex:1;overflow-y:auto}.cal-day-top{display:flex;align-items:center;justify-content:space-between}.cal-day-add{background:none;border:1px dashed rgba(148,163,184,.2);color:var(--theme-slate-600);font-size:18px;line-height:1;padding:2px 8px;cursor:pointer;border-radius:6px;transition:all .12s ease;opacity:.6}.cal-day-cell:hover .cal-day-add{opacity:1}.cal-day-add:hover{color:#38bdf8;background:#38bdf81a;border-color:#38bdf84d}.workout-card{border-left:3px solid #94a3b8;border-radius:4px;padding:4px 6px;background:var(--theme-surface-70);font-size:11px;line-height:1.35;cursor:default;transition:background .12s ease;position:relative}.workout-card-clickable{cursor:pointer}.workout-card:hover{background:#1e293be6}.workout-card-planned{border-left-style:dashed;background:var(--theme-surface-50)}.workout-card-done{opacity:.6}.workout-card-effort{color:#fb923c;font-weight:600}.workout-card-matched{background:#22c55e0f;border-left-width:3px}.matched-card-top{display:flex;align-items:center;justify-content:space-between;gap:4px}.matched-check{font-size:9px;font-weight:700;color:#22c55e;background:#22c55e1f;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}.matched-delta{font-weight:700;font-size:10px}.delta-hit{color:#22c55e}.delta-over{color:#38bdf8}.delta-under{color:#fb923c}.workout-card-type{font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.workout-card-name{color:var(--theme-fg-soft);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-card-gear{font-size:9px;color:var(--theme-fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.workout-card-stats{display:flex;gap:6px;color:var(--theme-fg-muted);font-size:10px}.workout-card-stats span{white-space:nowrap}.workout-card-hr{color:#f87171;font-size:10px}.cal-week-summary{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 10px;min-height:110px;border:1px solid rgba(148,163,184,.08);border-top:none;border-left:2px solid rgba(56,189,248,.15);background:var(--theme-surface-15);font-size:11px}.week-summary-count{font-weight:600;color:var(--theme-fg-softer);font-size:12px}.week-summary-stat{color:var(--theme-fg-muted)}.week-summary-empty{color:var(--theme-slate-600);font-style:italic}.cal-week-summary-clickable{cursor:pointer;transition:background .15s,border-color .15s}.cal-week-summary-clickable:hover{background:#38bdf814;border-left-color:#38bdf866}.week-summary-hr-hint{color:#f87171;font-size:10px;margin-top:2px}.week-summary-modal{max-width:640px;max-height:85vh;overflow-y:auto}.week-badge{background:#38bdf826;color:#38bdf8}.week-type-breakdown{color:var(--theme-fg-muted);font-size:13px}.zone-section{margin-top:20px;padding-top:16px;border-top:1px solid rgba(148,163,184,.1)}.zone-heading{font-size:14px;font-weight:600;color:var(--theme-fg-soft);margin:0 0 4px}.zone-note{font-size:11px;color:var(--theme-fg-dim);margin:0 0 12px}.zone-bars{display:flex;flex-direction:column;gap:8px}.zone-bar-row{display:grid;grid-template-columns:140px 1fr 90px;align-items:center;gap:10px}.zone-bar-label{display:flex;align-items:center;gap:6px;font-size:12px}.zone-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.zone-name{font-weight:600;color:var(--theme-fg-softer)}.zone-label-text{color:var(--theme-fg-muted);font-size:11px}.zone-bar-track{height:10px;background:#94a3b814;border-radius:5px;overflow:hidden}.zone-bar-fill{height:100%;border-radius:5px;transition:width .3s ease}.zone-bar-stats{display:flex;gap:8px;font-size:12px;justify-content:flex-end}.zone-pct{font-weight:600;color:var(--theme-fg-softer)}.zone-time{color:var(--theme-fg-muted)}.zone-strip{display:flex;height:6px;border-radius:3px;overflow:hidden;margin-top:12px}.zone-strip-segment{transition:width .3s ease}.week-activity-list{margin-top:20px;padding-top:16px;border-top:1px solid rgba(148,163,184,.1)}.week-activity-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .12s}.week-activity-row:hover{background:#94a3b814}.week-act-left{display:flex;align-items:center;gap:10px;min-width:0}.week-act-date{color:var(--theme-fg-dim);font-size:12px;white-space:nowrap;min-width:80px}.week-act-name{color:var(--theme-fg-soft);font-weight:500;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.week-act-type{color:var(--theme-fg-muted);font-size:11px;text-transform:capitalize}.week-act-right{display:flex;gap:12px;font-size:12px;color:var(--theme-fg-muted);white-space:nowrap;flex-shrink:0}.week-act-hr{color:#f87171}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal-content{background:color-mix(in srgb,var(--theme-panel) 92%,transparent);border:1px solid var(--theme-card-border);border-radius:24px;padding:32px;width:100%;max-width:560px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 32px 64px #00000080}.builder-modal{max-width:680px}.modal-close{position:absolute;top:18px;right:20px;background:none;border:none;color:var(--theme-fg-muted);font-size:24px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .12s ease}.modal-close:hover{color:var(--theme-fg);background:var(--theme-ghost-hover)}.modal-header{margin-bottom:20px}.modal-type-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#22c55e;background:#22c55e1a;border:1px solid rgba(34,197,94,.25);padding:4px 10px;border-radius:999px;margin-bottom:10px}.planned-badge{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b40}.modal-header-badges{display:flex;align-items:center;gap:8px;margin-bottom:10px}.modal-header-badges .modal-type-badge{margin-bottom:0}.modal-matched-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#22c55e;background:#22c55e1a;border:1px solid rgba(34,197,94,.25);padding:4px 10px;border-radius:999px}.modal-pending-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--theme-fg-dim);background:#64748b1a;border:1px solid rgba(100,116,139,.2);padding:4px 10px;border-radius:999px}.cmp-grid{display:flex;flex-direction:column;gap:0;margin-bottom:20px;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.1)}.cmp-header-row{display:grid;grid-template-columns:90px 1fr 1fr 90px;gap:8px;padding:8px 14px;background:var(--theme-surface-50)}.cmp-col-head{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--theme-fg-dim)}.cmp-row{display:grid;grid-template-columns:90px 1fr 1fr 90px;gap:8px;padding:10px 14px;background:var(--theme-surface-25);border-top:1px solid rgba(148,163,184,.06);align-items:center}.cmp-row:hover{background:var(--theme-surface-40)}.cmp-label{font-size:12px;font-weight:600;color:var(--theme-fg-muted)}.cmp-target{font-size:14px;color:var(--theme-fg-dim)}.cmp-actual{font-size:14px;font-weight:600;color:var(--theme-fg)}.cmp-delta{font-size:12px;font-weight:700;text-align:right}.cmp-hit{color:#22c55e}.cmp-close{color:#facc15}.cmp-off{color:#fb923c}.completed-tag{display:inline-block;font-size:11px;font-weight:600;color:#22c55e;margin-left:8px}.modal-title{margin:0 0 6px;font-size:22px;font-weight:700;letter-spacing:-.02em}.modal-date{color:var(--theme-fg-muted);margin:0;font-size:14px}.modal-description{color:var(--theme-fg-softer);font-size:14px;line-height:1.6;margin:0 0 16px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-bottom:20px}.detail-stat{display:flex;flex-direction:column;gap:2px;padding:14px 14px 16px;border-radius:16px;background:var(--theme-surface-40);border:1px solid rgba(148,163,184,.12)}[data-theme=light] .detail-stat{background:#f1f5f9eb;border-color:#4755691f}.detail-stat-value{font-size:18px;font-weight:700;color:var(--theme-fg)}.detail-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--theme-fg-dim)}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;align-items:center}.workout-export-wrap{position:relative;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.workout-export-menu{position:absolute;z-index:1;left:0;bottom:calc(100% + 6px);min-width:220px;max-width:min(320px,92vw);max-height:min(70vh,420px);overflow-x:hidden;overflow-y:auto;padding:6px;border-radius:12px;border:1px solid var(--theme-dropdown-border);background-color:var(--theme-deep-bg);background-image:none;box-shadow:var(--theme-dropdown-shadow)}[data-theme=light] .workout-export-menu{background-color:var(--theme-input-bg)}.workout-export-menu-item{display:block;width:100%;text-align:left;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--theme-fg);font-size:13px;cursor:pointer}.workout-export-menu-item:hover{background:var(--theme-dropdown-hover)}.workout-export-feedback{font-size:12px;color:var(--theme-fg-muted);white-space:nowrap}.workout-export-wrap--library{display:inline-flex;align-items:center}.workout-export-feedback--library{font-size:10px;max-width:100%;white-space:normal;line-height:1.25}.wl-export-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#00000073}.wl-export-panel{width:300px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);overflow-y:auto;border-radius:14px;border:1px solid var(--theme-dropdown-border);background-color:var(--theme-deep-bg);box-shadow:var(--theme-dropdown-shadow);padding:6px}[data-theme=light] .wl-export-panel{background-color:var(--theme-input-bg)}.wl-export-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 6px}.wl-export-panel-title{font-size:13px;font-weight:600;color:var(--theme-fg-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.wl-export-panel-close{flex-shrink:0;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--theme-fg-muted);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.wl-export-panel-close:hover{background:var(--theme-dropdown-hover);color:var(--theme-fg)}.wl-export-panel .workout-export-menu-item{padding:10px;font-size:13px}.modal-delete-confirm{flex:1 1 100%;display:flex;flex-direction:column;gap:16px;margin-top:20px;padding:18px 18px 20px;border-radius:16px;border:1px solid rgba(248,113,113,.35);background:var(--theme-surface-15);box-sizing:border-box}.modal-delete-confirm-text{margin:0;font-size:14px;line-height:1.5;color:var(--theme-fg-soft)}.modal-delete-confirm-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center}.modal-gear-editor{margin-top:14px;padding:14px;border-radius:16px;background:var(--theme-surface-40);border:1px solid var(--theme-input-border)}.modal-gear-editor .account-input{width:100%;margin-top:6px}.modal-gear-select{margin-top:6px;cursor:pointer}.modal-gear-loading,.modal-gear-hint{margin:8px 0 0;font-size:12px;line-height:1.4}.button.primary.danger-btn{background:linear-gradient(135deg,#f87171,#dc2626)!important;color:#fff!important;border-color:transparent!important}.button.primary.danger-btn:hover{box-shadow:0 10px 24px #f8717159}.link-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:12px 0;background:var(--theme-panel);border-radius:8px;border:1px solid var(--theme-border-strong)}.link-bar-label{font-size:13px;color:var(--theme-fg-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-bar-label strong{color:var(--theme-fg-soft)}.link-bar-actions{display:flex;gap:6px;flex-shrink:0}.link-picker{margin:12px 0;border:1px solid var(--theme-border-strong);border-radius:10px;background:var(--theme-panel);overflow:hidden}.link-picker-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--theme-border-strong)}.link-picker-header h4{margin:0;font-size:14px;font-weight:600;color:var(--theme-fg)}.link-picker-close{background:none;border:none;color:var(--theme-fg-muted);font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.link-picker-close:hover{color:var(--theme-fg)}.link-picker-list{max-height:240px;overflow-y:auto}.link-picker-row{display:flex;flex-direction:column;gap:4px;width:100%;padding:10px 14px;border:none;border-bottom:1px solid var(--theme-border-deep);background:transparent;cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:background .12s}.link-picker-row:last-child{border-bottom:none}.link-picker-row:hover{background:var(--theme-row-accent-bg)}.link-picker-row-main{display:flex;align-items:center;gap:8px}.link-picker-name{font-size:14px;font-weight:500;color:var(--theme-fg)}.link-picker-type{font-size:11px;color:var(--theme-fg-dim);text-transform:uppercase}.link-picker-row-stats{display:flex;gap:12px;font-size:12px;color:var(--theme-fg-muted)}.link-picker-empty{padding:16px;text-align:center;color:var(--theme-fg-dim);font-size:13px}.detail-map-section{margin:16px 0 4px;border-radius:8px;overflow:hidden;border:1px solid rgba(148,163,184,.12)}.route-map-container{background:var(--theme-panel)}.route-map-container .leaflet-tile-pane{filter:brightness(.85) saturate(.7)}.workout-detail-modal{max-width:640px;max-height:88vh;overflow-y:auto}.workout-detail-modal .modal-actions{position:relative;z-index:1200;isolation:isolate}.streams-loading{font-size:12px;color:var(--theme-fg-dim);margin:8px 0}.mile-splits-section{margin:14px 0 10px}.mile-splits-heading{margin:0 0 4px;font-size:12px;font-weight:600;color:var(--theme-fg-muted);text-transform:uppercase;letter-spacing:.04em}.mile-splits-heading-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:4px}.mile-splits-heading-row .mile-splits-heading{margin-bottom:0}.splits-mode-toggle{display:inline-flex;border-radius:8px;border:1px solid rgba(148,163,184,.2);overflow:hidden}.splits-mode-btn{padding:5px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:transparent;color:var(--theme-fg-muted);border:none;cursor:pointer}.splits-mode-btn:hover:not(:disabled){background:var(--theme-row-accent-bg);color:var(--theme-fg)}.splits-mode-btn--active{background:#f9731626;color:var(--theme-fg)}.splits-mode-btn:disabled{opacity:.45;cursor:not-allowed}.mile-splits-sub{margin:0 0 10px;font-size:12px;color:var(--theme-fg-dim);line-height:1.4}.mile-splits-table-wrap{border:1px solid rgba(148,163,184,.12);border-radius:8px;overflow:hidden;background:var(--theme-surface-40)}.mile-splits-table{width:100%;border-collapse:collapse;font-size:13px}.mile-splits-table th,.mile-splits-table td{padding:8px 12px;text-align:left;border-bottom:1px solid rgba(148,163,184,.08)}.mile-splits-table th{font-size:11px;font-weight:600;color:var(--theme-fg-dim);text-transform:uppercase;letter-spacing:.03em;background:var(--theme-surface-60)}.mile-splits-table tbody tr:last-child td{border-bottom:none}.mile-splits-table tbody tr:hover td{background:#6366f10f}.mile-splits-table tbody tr.mile-splits-row-hoverable{cursor:pointer}.mile-splits-table tbody tr.mile-splits-row-hoverable:hover td{background:#22d3ee29}.mile-splits-table td{color:var(--theme-fg-soft)}.mile-splits-cell-mile{font-weight:600;color:var(--theme-fg)}.mile-splits-cell-dist{font-variant-numeric:tabular-nums;white-space:nowrap}.mile-splits-total-row td{font-weight:600;border-top:1px solid rgba(148,163,184,.18);background:#0f172a73;color:var(--theme-fg-soft);font-size:12px}.mile-splits-total-approx td{font-weight:500;color:var(--theme-fg-muted)}.mile-splits-total-row:hover td{background:#0f172a73}.elevation-profile{margin:12px 0 4px;border:1px solid rgba(148,163,184,.12);border-radius:8px;overflow:hidden;background:var(--theme-surface-40)}.elevation-profile-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 2px}.elevation-head-left{display:flex;align-items:center;gap:10px}.elevation-profile-title{font-size:12px;font-weight:600;color:var(--theme-fg-muted);text-transform:uppercase;letter-spacing:.04em}.elevation-hover-stats{display:flex;gap:10px;font-size:12px;color:var(--theme-fg-softer)}.elevation-legend{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--theme-fg-dim);text-transform:uppercase;letter-spacing:.04em}.elev-lg-item{display:inline-flex;align-items:center;gap:4px}.elev-lg-dot{width:7px;height:7px;border-radius:999px}.elev-lg-alt{background:#f97316}.elev-lg-hr{background:#22c55e}.elev-lg-pace{background:#38bdf8}.elev-lg-splits-line{display:inline-block;width:14px;height:0;border-top:2px dashed rgba(148,163,184,.65);vertical-align:middle}.elev-hr{color:#f87171}.elev-pace{color:#38bdf8}.elevation-svg{display:block;width:100%;height:100px;cursor:crosshair;padding:0 12px 8px;box-sizing:border-box}.stream-dist{margin:16px 0 4px;padding-top:12px;border-top:1px solid rgba(148,163,184,.1)}.stream-dist-title{font-size:14px;font-weight:600;color:var(--theme-fg-soft);margin:0 0 10px;display:flex;align-items:baseline;gap:10px}.stream-dist-subtitle{font-size:12px;font-weight:400;color:var(--theme-fg-muted)}.dist-bars{display:flex;flex-direction:column;gap:6px}.dist-bar-row{display:grid;grid-template-columns:130px 1fr 90px;align-items:center;gap:8px}.dist-bar-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--theme-fg-softer)}.dist-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dist-bar-track{height:10px;background:#94a3b814;border-radius:5px;overflow:hidden}.dist-bar-fill{height:100%;border-radius:5px;transition:width .3s ease}.dist-bar-value{display:flex;gap:8px;font-size:12px;justify-content:flex-end}.dist-pct{font-weight:600;color:var(--theme-fg-softer)}.dist-time{color:var(--theme-fg-muted)}.dist-strip{display:flex;height:6px;border-radius:3px;overflow:hidden;margin-top:10px}.dist-strip-seg{transition:width .3s ease}.interval-section{margin-bottom:16px}.interval-heading{font-size:13px;font-weight:600;margin:0 0 10px;color:var(--theme-fg-muted);text-transform:uppercase;letter-spacing:.06em}.iv-visual-strip{display:flex;height:6px;border-radius:3px;overflow:hidden;margin-bottom:12px;gap:2px}.iv-visual-segment{border-radius:2px;min-width:8px;transition:flex .2s ease}.iv-list{display:flex;flex-direction:column;gap:4px}.iv-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--theme-surface-35);font-size:13px}.iv-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.iv-type{font-weight:700;text-transform:capitalize;color:var(--theme-fg-soft);min-width:72px}.iv-details{color:var(--theme-fg-muted)}.iv-details strong{color:var(--theme-fg-soft);margin-right:2px}.iv-notes{color:var(--theme-fg-dim);font-style:italic;margin-left:auto}.wb-modal{max-width:680px}.wb-header{display:flex;align-items:baseline;gap:12px;margin-bottom:4px}.wb-date{font-size:13px;color:var(--theme-fg-dim)}.wb-form{display:flex;flex-direction:column;gap:16px}.wb-type-pills{display:flex;flex-wrap:wrap;gap:6px}.wb-type-pill{padding:6px 14px;border-radius:999px;border:1px solid var(--theme-card-border);background:transparent;color:var(--theme-fg-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit}.wb-type-pill:hover{border-color:#38bdf84d;color:var(--theme-fg-soft)}.wb-type-pill.active{background:#38bdf81f;border-color:#38bdf866;color:#38bdf8}.wb-title-input{width:100%;padding:10px 14px;border-radius:10px;border:1px solid var(--theme-input-border);background:var(--theme-surface-50);color:var(--theme-fg);font-size:16px;font-weight:600;font-family:inherit;box-sizing:border-box}.wb-title-input:focus{outline:2px solid rgba(56,189,248,.5);outline-offset:1px}.wb-title-input::placeholder{color:var(--theme-slate-600);font-weight:400}.wb-targets{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.wb-targets--nonrunning{grid-template-columns:1fr;max-width:240px}.wb-other-hint{font-size:13px;line-height:1.45;color:var(--theme-fg-muted);margin:0 0 4px;padding:12px 14px;border-radius:10px;background:var(--theme-surface-30);border:1px solid rgba(148,163,184,.12)}.wb-target{display:flex;flex-direction:column;gap:4px}.wb-target-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--theme-fg-dim)}.wb-target-input-wrap{display:flex;align-items:center;gap:4px}.wb-target-input-wrap input,.wb-pace-wrap input{flex:1;padding:8px 10px;border-radius:8px;border:1px solid var(--theme-input-border);background:var(--theme-surface-50);color:var(--theme-fg);font-size:14px;font-family:inherit;min-width:0}.wb-target-input-wrap input:focus,.wb-pace-wrap input:focus{outline:2px solid rgba(56,189,248,.5);outline-offset:1px}.wb-target-input-wrap--time input.wb-time-input{max-width:88px;font-variant-numeric:tabular-nums;letter-spacing:.02em}.wb-time-chunk{font-variant-numeric:tabular-nums}.wb-target-unit{color:var(--theme-fg-dim);font-size:12px;font-weight:500;flex-shrink:0}.wb-pace-wrap{display:flex;align-items:center;gap:3px}.wb-pace-field{width:44px;text-align:center}.wb-pace-colon{color:var(--theme-fg-dim);font-weight:700;font-size:14px}.wb-notes{width:100%;padding:10px 14px;border-radius:10px;border:1px solid var(--theme-card-border);background:var(--theme-surface-40);color:var(--theme-fg-softer);font-size:13px;font-family:inherit;resize:vertical;box-sizing:border-box}.wb-notes:focus{outline:2px solid rgba(56,189,248,.5);outline-offset:1px}.wb-notes::placeholder{color:var(--theme-slate-600)}.wb-intervals-section{border-radius:12px;border:1px solid rgba(148,163,184,.1);background:var(--theme-surface-30);overflow:hidden}.wb-intervals-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:transparent;border:none;color:var(--theme-fg-muted);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:color .15s ease}.wb-intervals-toggle:hover{color:var(--theme-fg-soft)}.wb-intervals-toggle.active{color:var(--theme-fg-soft);border-bottom:1px solid rgba(148,163,184,.1)}.wb-intervals-icon{font-size:10px;display:inline-flex;width:14px}.wb-step-count{margin-left:auto;font-size:11px;font-weight:500;color:var(--theme-fg-dim);background:#64748b26;padding:2px 8px;border-radius:999px}.wb-steps-list{padding:12px;display:flex;flex-direction:column;gap:8px}.wb-step{display:flex;border-radius:10px;background:var(--theme-surface-50);border:1px solid rgba(148,163,184,.08);overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease;cursor:grab}.wb-step:active{cursor:grabbing}.wb-step:hover{border-color:#94a3b82e}.wb-step-drag-over{border-color:#38bdf880!important;box-shadow:0 0 0 1px #38bdf840}.wb-step-drag-handle{display:flex;align-items:center;justify-content:center;width:28px;flex-shrink:0;color:var(--theme-slate-600);font-size:16px;cursor:grab;-webkit-user-select:none;user-select:none;transition:color .12s ease}.wb-step-drag-handle:hover{color:var(--theme-fg-muted)}.wb-drag-dots{line-height:1}.wb-step-color-bar{width:4px;flex-shrink:0;border-radius:0}.wb-step-body{flex:1;padding:10px 12px;display:flex;flex-direction:column;gap:8px;min-width:0}.wb-step-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.wb-step-type-pills{display:flex;gap:4px;flex-wrap:wrap}.wb-step-type-pill{padding:3px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.12);background:transparent;color:var(--theme-fg-dim);font-size:11px;font-weight:600;cursor:pointer;transition:all .12s ease;font-family:inherit}.wb-step-type-pill:hover{border-color:#94a3b84d;color:var(--theme-fg-muted)}.wb-step-type-pill.active{font-weight:700}.wb-step-actions{display:flex;gap:2px;flex-shrink:0}.wb-step-action{background:none;border:none;color:var(--theme-slate-600);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:6px;transition:all .12s ease;line-height:1}.wb-step-action:hover{color:var(--theme-fg-muted);background:#94a3b81a}.wb-step-action-del:hover{color:#f87171;background:#f871711a}.wb-step-fields{display:flex;gap:10px;flex-wrap:wrap}.wb-sf{display:flex;flex-direction:column;gap:2px}.wb-sf-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--theme-slate-600)}.wb-sf-input{padding:6px 8px;border-radius:6px;border:1px solid var(--theme-card-border);background:var(--theme-surface-60);color:var(--theme-fg);font-size:13px;font-family:inherit;width:72px}.wb-sf-input:focus{outline:2px solid rgba(56,189,248,.5);outline-offset:1px}.wb-sf-sm{width:48px;text-align:center}.wb-sf-pace{display:flex;align-items:center;gap:2px}.wb-step-notes{width:100%;padding:5px 8px;border-radius:6px;border:1px solid rgba(148,163,184,.08);background:var(--theme-surface-30);color:var(--theme-fg-muted);font-size:11px;font-family:inherit;box-sizing:border-box}.wb-step-notes:focus{outline:2px solid rgba(56,189,248,.4);outline-offset:1px;color:var(--theme-fg-softer)}.wb-step-notes::placeholder{color:var(--theme-slate-600)}.wb-sf-time{width:76px;font-variant-numeric:tabular-nums;letter-spacing:.02em}.wb-interval-totals{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:4px;padding:10px 12px;border-radius:10px;border:1px solid rgba(56,189,248,.2);background:#38bdf80f}.wb-interval-totals-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--theme-fg-muted)}.wb-interval-totals-values{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.wb-interval-totals-chip{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--theme-fg-soft);padding:4px 10px;border-radius:999px;background:var(--theme-surface-50);border:1px solid rgba(148,163,184,.12)}.wb-add-step-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding-top:4px}.wb-add-step-btn{padding:5px 12px;border-radius:999px;border:1px dashed;background:transparent;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease;opacity:.7}.wb-add-step-btn:hover{opacity:1;background:#ffffff08}.wb-error{padding:10px 14px;border-radius:8px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#fca5a5;font-size:13px;line-height:1.5}.wb-submit{margin-top:4px}.wb-effort-section{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:10px;background:var(--theme-surface-30);border:1px solid rgba(148,163,184,.08)}.wb-effort-header{display:flex;align-items:center;gap:10px}.wb-effort-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--theme-fg-dim)}.wb-effort-current{font-size:13px;font-weight:700}.wb-effort-clear{margin-left:auto;background:none;border:none;color:var(--theme-slate-600);font-size:11px;cursor:pointer;padding:2px 6px;border-radius:4px;font-family:inherit}.wb-effort-clear:hover{color:var(--theme-fg-muted);background:#94a3b81a}.wb-effort-slider-row{display:flex;flex-direction:column;gap:4px}.wb-effort-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#94a3b826;border-radius:3px;outline:none;cursor:pointer}.wb-effort-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:currentColor;cursor:pointer;border:2px solid var(--theme-surface-80);box-shadow:0 1px 4px #0000004d}.wb-effort-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:currentColor;cursor:pointer;border:2px solid var(--theme-surface-80);box-shadow:0 1px 4px #0000004d}.wb-effort-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--theme-slate-600);padding:0 2px}.wb-sf-effort{width:110px;padding:6px 8px;border-radius:6px;border:1px solid var(--theme-card-border);background:var(--theme-surface-60);color:var(--theme-fg);font-size:12px;font-family:inherit;cursor:pointer}.wb-sf-effort:focus{outline:2px solid rgba(56,189,248,.5);outline-offset:1px}.iv-effort{font-size:11px;font-weight:700;flex-shrink:0}.iv-row-group{display:flex;flex-direction:column}.iv-loading{font-weight:400;font-size:12px;color:var(--theme-fg-dim);text-transform:none;letter-spacing:0}.iv-actual-row{display:flex;align-items:center;gap:12px;padding:4px 12px 8px 30px;font-size:12px}.iv-actual-label{color:var(--theme-fg-dim);font-weight:600;flex-shrink:0;min-width:52px}.iv-actual-stat{color:var(--theme-fg-softer);white-space:nowrap}.iv-actual-pace{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--theme-fg-soft)}.iv-pace-delta{font-size:10px;font-weight:700;padding:1px 5px;border-radius:6px}.iv-delta-hit{color:#22c55e;background:#22c55e1f}.iv-delta-close{color:#f59e0b;background:#f59e0b1f}.iv-delta-off{color:#ef4444;background:#ef44441f}.iv-actual-hr{color:#f87171;font-weight:500}.iv-hr-max{color:var(--theme-fg-muted);font-weight:400}.danger-btn{color:#f87171!important;border-color:#f8717140!important}.danger-btn:hover{background:#f871711a!important}@media (max-width: 900px){.auth-layout{grid-template-columns:1fr}.header-row,.strava-connect-inner,.strava-header{flex-direction:column;align-items:flex-start}.activity-metrics{gap:12px}.cal-day-header-row,.cal-week-row{grid-template-columns:repeat(7,minmax(0,1fr))}.cal-week-summary,.cal-summary-header{display:none}.cal-day-cell{min-height:70px;padding:2px}.calendar-scroll-container{margin:0 4px}.calendar-page-header.page-app-header{padding:0 16px 12px}.wl-sidebar,.coach-sidebar{display:none}.calendar-with-sidebar,.dashboard-with-sidebar{padding-top:0;flex-direction:column}.account-sections{padding:0 8px}.account-service-row{flex-direction:column;align-items:flex-start;gap:10px}.account-service-actions{flex-wrap:wrap}.account-page{padding:16px}.account-card{padding:18px}.dashboard-main{padding:0 16px 48px}.page{padding:32px 16px 48px}.modal-backdrop{padding:8px}.modal-content{max-width:100%;max-height:92vh;padding:20px;border-radius:12px}.wb-modal{max-width:100%}.workout-detail-modal{max-width:100%;max-height:92vh}.week-summary-modal{max-width:100%}.wb-targets{grid-template-columns:1fr 1fr}.notif-dropdown{width:320px;right:-40px}.calendar-main{overflow:visible;max-height:none}.calendar-scroll-container{max-height:calc(100vh - 130px);overflow-y:auto}}.account-page{max-width:640px;margin:0 auto;padding:24px;min-height:100vh}.account-page>.page-app-header{margin-bottom:28px}.account-sections{display:flex;flex-direction:column;gap:20px}.account-card{background:color-mix(in srgb,var(--theme-panel) 88%,transparent);border:1px solid var(--theme-card-border);border-radius:20px;padding:26px 24px;box-shadow:var(--theme-card-shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.account-card-title{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;margin:0 0 16px;color:var(--theme-fg)}.account-card-danger{border-color:#ef444433;display:flex;flex-direction:column;align-items:flex-start}.account-card-danger p{margin:0 0 16px;font-size:13px;color:var(--theme-fg-soft)}.account-field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.account-label{font-size:12px;font-weight:500;color:var(--theme-fg-muted);text-transform:uppercase;letter-spacing:.04em}.account-input{background:var(--theme-input-bg);border:1px solid var(--theme-input-border);border-radius:14px;padding:12px 14px;font-size:14px;color:var(--theme-fg);font-family:inherit;transition:border-color .15s}.account-input:focus{outline:none;border-color:#38bdf88c;box-shadow:0 0 0 3px #38bdf826}.account-input::placeholder{color:var(--theme-slate-600)}.account-msg{font-size:13px;margin:0 0 10px;padding:8px 12px;border-radius:6px}.account-msg.success{background:#22c55e1a;color:#22c55e}.account-msg.error{background:#ef44441a;color:#f87171}.account-service-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;background:var(--theme-surface-50);border:1px solid var(--theme-input-border)}.account-service-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.account-service-name{font-weight:600;font-size:14px;color:var(--theme-fg-soft)}.account-service-status{font-size:12px}.account-service-status.connected{color:#22c55e}.account-service-meta{color:var(--theme-fg-dim);font-size:11px}.account-service-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.account-service-actions .button{white-space:nowrap}.gear-page{max-width:1040px}.gear-stitch{font-family:DM Sans,Inter,system-ui,-apple-system,sans-serif;display:flex;flex-direction:column;gap:20px}.gear-stitch-refetch{margin:0;padding:10px 14px;border-radius:12px;background:#38bdf814;border:1px solid rgba(56,189,248,.22);font-size:13px}.gear-stitch-hero{padding:28px 28px 24px;border-radius:24px;background:color-mix(in srgb,var(--theme-panel) 85%,transparent);border:1px solid var(--theme-card-border);box-shadow:0 0 0 1px #ffffff0a inset,0 20px 44px -16px #00000059;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}[data-theme=light] .gear-stitch-hero{background:#ffffffb3;box-shadow:0 0 0 1px #ffffffd9 inset,0 16px 40px -12px #0f172a1a}.gear-stitch-hero-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--theme-fg-muted);margin:0 0 10px}.gear-stitch-hero-title{margin:0 0 6px;font-size:clamp(1.5rem,3.2vw,2rem);font-weight:700;letter-spacing:-.03em;color:var(--theme-fg);line-height:1.15;word-break:break-word}.gear-stitch-hero-meta{margin:0 0 4px;font-size:14px;color:var(--theme-fg-muted)}.gear-stitch-toolbar.gear-toolbar{margin-top:18px;padding-top:20px;border-top:1px solid rgba(148,163,184,.14)}.gear-stitch-select.gear-shoe-select{border-radius:14px;padding:12px 14px;font-family:inherit;font-size:15px;border:1px solid var(--theme-input-border);background:var(--theme-input-bg);color:var(--theme-fg);transition:border-color .15s ease,box-shadow .15s ease}.gear-stitch-select.gear-shoe-select:focus{outline:none;border-color:#38bdf88c;box-shadow:0 0 0 3px #38bdf833}.gear-stitch-refresh-btn{border:none;border-radius:14px;padding:12px 18px;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:-.01em;cursor:pointer;color:#0f172a;background:linear-gradient(135deg,#7dd3fc,#a5b4fc,#818cf8);box-shadow:0 4px 14px #6366f152;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.gear-stitch-refresh-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.gear-stitch-refresh-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px #6366f166}.gear-stitch-card.card{border-radius:24px;padding:26px 24px;background:color-mix(in srgb,var(--theme-panel) 88%,transparent);border:1px solid var(--theme-card-border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 0 0 1px #ffffff0a inset,0 20px 44px -16px #00000052}[data-theme=light] .gear-stitch-card.card{background:#ffffffb8;box-shadow:0 0 0 1px #fffc inset,0 16px 40px -12px #0f172a1a}.gear-stitch-empty{text-align:left}.gear-stitch-empty-title{font-size:18px;font-weight:700;margin:0 0 8px;letter-spacing:-.02em;color:var(--theme-fg)}.gear-stitch-section-title{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--theme-fg)}.gear-stitch-section-label{font-size:11px;font-weight:700;letter-spacing:.1em}.gear-stitch-stat{padding:14px 14px 16px;border-radius:16px;background:var(--theme-surface-40);border:1px solid rgba(148,163,184,.12);box-sizing:border-box}[data-theme=light] .gear-stitch-stat{background:#f1f5f9eb;border-color:#4755691f}.gear-stitch-metrics-grid{gap:12px!important}.gear-stitch-efforts-heading{border-top-color:#94a3b824!important}.gear-stitch-efforts-grid{gap:12px!important}button.gear-effort-stat--interactive.gear-stitch-stat{border-radius:16px;padding:14px 14px 16px}.gear-stitch-table-scroll{margin:16px -6px 0;padding:8px 6px 4px;border-radius:16px;background:var(--theme-surface-30)}[data-theme=light] .gear-stitch-table-scroll{background:#f1f5f9a6}.gear-stitch-table.gear-workouts-table thead th{padding:12px 10px;background:#94a3b81a;border-bottom:1px solid rgba(148,163,184,.14);font-size:10px;letter-spacing:.06em}.gear-stitch-table.gear-workouts-table tbody td{border-bottom-color:#94a3b81a;padding:12px 10px}.gear-stitch-table.gear-workouts-table-row:hover{background:#38bdf80f}.gear-stitch-pagination{margin-top:18px}.gear-stitch-page-btn{border-radius:12px;padding:10px 18px;font-family:inherit;font-weight:600;font-size:13px;border:1px solid var(--theme-ghost-border);background:var(--theme-surface-50);color:var(--theme-fg-soft);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.gear-stitch-page-btn:hover:not(:disabled){border-color:#38bdf859;background:#38bdf814;color:var(--theme-fg)}.gear-stitch-page-btn:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 640px){.gear-stitch-hero{padding:22px 18px 18px;border-radius:20px}.gear-stitch-card.card{padding:20px 16px;border-radius:20px}.gear-stitch-toolbar.gear-toolbar,.gear-stitch-toolbar .gear-toolbar-controls{flex-direction:column;align-items:stretch}.gear-stitch-refresh-btn{width:100%}}.dashboard-main .gear-page{display:flex;flex-direction:column;gap:24px}.gear-toolbar{display:flex;flex-direction:column;gap:8px}.gear-toolbar-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--theme-fg-muted);margin:0}.gear-toolbar-controls{display:flex;flex-direction:column;gap:10px;min-width:0}.gear-shoe-select{width:100%}.gear-recalc-btn{flex-shrink:0;white-space:nowrap}.gear-rebuild-notice{margin:-4px 0 0;font-size:13px;line-height:1.4}.gear-rebuild-notice--ok{color:var(--theme-fg-muted)}.gear-rebuild-notice--err{color:#f87171}[data-theme=light] .gear-rebuild-notice--err{color:#b91c1c}@media (min-width: 640px){.gear-toolbar{flex-direction:row;align-items:center;gap:16px 20px;flex-wrap:wrap}.gear-toolbar-controls{flex:1;flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap}.gear-shoe-select{flex:1;min-width:220px;max-width:560px}}.gear-activities-loading-panel .gear-skeleton-row:last-child{margin-bottom:0}.gear-activities-loading-title{margin:0 0 14px;font-size:14px}.gear-activities-loading-metrics{margin-bottom:18px}.gear-activities-loading-table-head{margin-bottom:8px}.gear-activities-loading-table-head .gear-skeleton-line--title{margin-bottom:0}.gear-metrics-card{display:flex;flex-direction:column;gap:0;position:relative;z-index:2}.gear-workouts-table-card{position:relative;z-index:1}.gear-metrics-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--theme-fg-muted);margin:0 0 6px}.gear-metrics-heading-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid rgba(148,163,184,.12);margin-bottom:12px}.gear-metrics-section-title--inline{margin:0}.gear-heading-info{position:relative;display:inline-flex;align-items:center}.gear-heading-info-btn{width:24px;height:24px;border-radius:6px;border:1px solid rgba(148,163,184,.28);background:#1e293b73;color:var(--theme-fg-muted);cursor:help;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:border-color .15s ease,color .15s ease,background .15s ease}.gear-heading-info-btn:hover,.gear-heading-info-btn:focus-visible{border-color:#38bdf873;color:#7dd3fc;background:#38bdf81a}.gear-heading-info-btn:focus-visible{outline:2px solid rgba(56,189,248,.45);outline-offset:2px}.gear-heading-info-popover{position:absolute;left:0;top:calc(100% + 6px);width:min(280px,calc(100vw - 48px));padding:10px 12px;font-size:12px;font-weight:400;font-style:normal;text-transform:none;letter-spacing:normal;line-height:1.45;color:var(--theme-fg-soft);background:var(--theme-panel);border:1px solid rgba(148,163,184,.22);border-radius:8px;box-shadow:0 10px 28px #00000047;z-index:110;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,visibility .15s ease,transform .15s ease}.gear-heading-info:hover .gear-heading-info-popover,.gear-heading-info:focus-within .gear-heading-info-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}[data-theme=light] .gear-heading-info-btn{background:#f1f5f9f2}[data-theme=light] .gear-heading-info-popover{box-shadow:0 10px 28px #0f172a1f}.gear-metrics-grid{display:grid;gap:10px}.gear-metrics-grid--aggregates{grid-template-columns:repeat(auto-fit,minmax(148px,1fr))}.gear-metrics-grid--efforts{grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}.gear-metrics-grid .detail-stat{min-width:0}.gear-metric-caption{display:block;font-size:11px;line-height:1.35;margin-top:6px;word-break:break-word}.gear-effort-stat{position:relative;align-items:flex-start}.gear-effort-sublabel{display:block;font-size:11px;margin-top:4px;line-height:1.3}button.gear-effort-stat--interactive{border:1px solid transparent;background:var(--theme-surface-50);border-radius:10px;padding:10px 10px 12px;margin:0;width:100%;max-width:100%;box-sizing:border-box;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}button.gear-effort-stat--interactive:hover,button.gear-effort-stat--interactive:focus-visible{border-color:#38bdf859;background:#38bdf80f;box-shadow:0 0 0 1px #38bdf81f}button.gear-effort-stat--interactive:focus-visible{outline:none}.gear-effort-tooltip{position:absolute;z-index:100;left:0;right:0;top:calc(100% + 4px);min-width:min(100%,260px);max-width:min(320px,calc(100vw - 32px));padding:10px 12px 12px;border-radius:10px;background:var(--theme-panel);border:1px solid rgba(148,163,184,.2);box-shadow:0 8px 24px #00000040;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,visibility .15s ease,transform .15s ease}.gear-effort-stat--interactive:hover .gear-effort-tooltip,.gear-effort-stat--interactive:focus-visible .gear-effort-tooltip{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.gear-effort-tooltip-name{font-size:13px;font-weight:600;color:var(--theme-fg-soft);line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.gear-effort-tooltip-date{font-size:11px;margin-top:4px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.12)}.gear-effort-tooltip-dl{margin:0;display:flex;flex-direction:column;gap:5px}.gear-effort-tooltip-row{display:grid;grid-template-columns:92px 1fr;gap:8px;align-items:baseline;font-size:11px;line-height:1.35}.gear-effort-tooltip-row dt{margin:0;color:var(--theme-fg-dim);font-weight:500}.gear-effort-tooltip-row dd{margin:0;color:var(--theme-fg-soft);word-break:break-word}.gear-effort-tooltip-cta{font-size:11px;font-weight:600;margin-top:10px;padding-top:8px;border-top:1px solid rgba(148,163,184,.12);color:#7dd3fc}[data-theme=light] button.gear-effort-stat--interactive{background:#f1f5f9e6}[data-theme=light] button.gear-effort-stat--interactive:hover,[data-theme=light] button.gear-effort-stat--interactive:focus-visible{background:#0ea5e914}[data-theme=light] .gear-effort-tooltip-cta{color:#0369a1}[data-theme=light] .gear-effort-tooltip{box-shadow:0 8px 24px #0f172a1f}.gear-skeleton-line--section-label{width:140px;height:10px;margin-bottom:4px;border-radius:4px}.gear-skeleton-section-gap{margin-top:16px!important}.gear-metrics-skeleton-card .gear-skeleton-metrics{margin-bottom:0}.gear-elevation-loss-stat .gear-elevation-btn{margin-top:8px;align-self:flex-start}.gear-cap-hint{font-size:13px;margin:0 0 12px}.gear-section-title{margin:0 0 12px}.gear-workout-list{display:flex;flex-direction:column;gap:8px}.gear-workout-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--theme-input-border);border-radius:10px;padding:10px 12px;background:var(--theme-surface-40)}.gear-workout-name{font-weight:600;color:var(--theme-fg-soft)}.gear-workout-meta{color:var(--theme-fg-muted);font-size:12px}.gear-workout-metrics{display:flex;gap:10px;color:var(--theme-fg-muted);font-size:13px;white-space:nowrap}.gear-refetch-hint{margin:0 0 8px;font-size:13px}.gear-skeleton-wrap{display:flex;flex-direction:column;gap:16px}.gear-skeleton-card{min-height:48px}.gear-skeleton-line{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--theme-surface-30) 0%,var(--theme-surface-50) 50%,var(--theme-surface-30) 100%);background-size:200% 100%;animation:gear-skeleton-shimmer 1.1s ease-in-out infinite}.gear-skeleton-line--short{width:35%;margin-bottom:10px}.gear-skeleton-line--medium{width:55%}.gear-skeleton-line--title{width:40%;margin-bottom:14px}.gear-skeleton-line--stat-value{width:72%;height:22px;margin-bottom:8px}.gear-skeleton-line--stat-label{width:50%;height:9px}.gear-skeleton-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.gear-skeleton-stat{padding:12px;border-radius:12px;background:var(--theme-surface-40)}.gear-skeleton-row{height:40px;border-radius:8px;margin-bottom:8px;background:linear-gradient(90deg,var(--theme-surface-30) 0%,var(--theme-surface-50) 50%,var(--theme-surface-30) 100%);background-size:200% 100%;animation:gear-skeleton-shimmer 1.1s ease-in-out infinite}@keyframes gear-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.gear-table-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}.gear-table-count{font-size:13px}.gear-workouts-table-card .gear-section-title{margin-bottom:0}.gear-table-scroll{overflow-x:auto;margin:12px -4px 0;padding:0 4px;-webkit-overflow-scrolling:touch}.gear-workouts-table{width:100%;min-width:920px;border-collapse:collapse;font-size:13px}.gear-workouts-table th{text-align:left;padding:8px 10px;color:var(--theme-fg-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--theme-input-border);white-space:nowrap}.gear-workouts-table td{padding:10px;border-bottom:1px solid var(--theme-surface-25);color:var(--theme-fg-soft);vertical-align:top;white-space:nowrap}.gear-workouts-table-row{cursor:pointer;transition:background .12s ease}.gear-workouts-table-row:hover{background:var(--theme-row-hover)}.gear-workouts-table-row:focus-visible{outline:2px solid #38bdf8;outline-offset:-2px}.gear-table-cell-name{max-width:200px;white-space:normal;font-weight:600;color:var(--theme-fg)}.gear-table-cell-device{max-width:140px;overflow:hidden;text-overflow:ellipsis}.gear-table-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;flex-wrap:wrap}.gear-table-page-info{font-size:13px;min-width:8em;text-align:center}.gear-table-hint{margin:12px 0 0;font-size:12px}[data-theme=light] .account-card{background:#ffffffd9;border-color:#0f172a1a;box-shadow:0 0 0 1px #ffffffd9 inset,0 16px 40px -12px #0f172a1a}[data-theme=light] .account-card-title{color:#1e293b}[data-theme=light] .account-label{color:#475569}[data-theme=light] .account-input{color:#0f172a}[data-theme=light] .account-input::placeholder{color:#64748b}.calendar-with-sidebar,.dashboard-with-sidebar{display:flex;gap:0;min-height:100vh;padding-top:0;align-items:stretch}.coach-sidebar{width:240px;min-width:240px;min-height:100vh;box-sizing:border-box;background:color-mix(in srgb,var(--theme-panel) 70%,transparent);border-right:1px solid rgba(148,163,184,.1);padding:24px 12px 16px;display:flex;flex-direction:column;gap:4px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow-y:auto;align-self:stretch;position:sticky;top:0}.calendar-main{flex:1;min-width:0;display:flex;flex-direction:column;max-height:100vh;overflow:hidden;padding-top:24px;box-sizing:border-box}.dashboard-main{flex:1;min-width:0;padding:24px 24px 64px;display:flex;flex-direction:column;align-items:center;gap:24px;box-sizing:border-box}.dashboard-main>*{width:100%;max-width:960px}.cs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 4px}.cs-title{font-size:14px;font-weight:600;color:var(--theme-fg-soft);margin:0}.cs-invite-toggle{width:28px;height:28px;border-radius:50%;border:1px solid var(--theme-ghost-border);background:transparent;color:var(--theme-fg-muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.cs-invite-toggle:hover{background:#6366f133;color:#818cf8;border-color:#818cf8}.cs-invite-form{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px;background:var(--theme-surface-50);border-radius:8px;border:1px solid rgba(148,163,184,.1)}.cs-invite-input{padding:6px 10px;border-radius:6px;border:1px solid var(--theme-input-border);background:var(--theme-surface-60);color:var(--theme-fg-soft);font-size:12px;width:100%;box-sizing:border-box}.cs-invite-msg{font-size:11px;margin:0}.cs-invite-msg.success{color:#22c55e}.cs-invite-msg.error{color:#ef4444}.cs-athlete-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--theme-fg-softer);cursor:pointer;transition:all .15s;text-align:left;font-size:13px}.cs-athlete-btn:hover{background:#6366f11a}.cs-active>.cs-athlete-btn,button.cs-athlete-btn.cs-active{background:#6366f133;color:var(--theme-fg-soft)}.cs-athlete-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:8px;transition:background .15s}.cs-athlete-row:hover{background:#6366f114}.cs-athlete-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.cs-self{background:linear-gradient(135deg,#22c55e,#4ade80);font-size:10px}.cs-avatar-pending{background:linear-gradient(135deg,#64748b,#94a3b8);opacity:.6}.cs-athlete-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-email{font-size:11px;color:var(--theme-fg-muted)}.cs-remove-btn{width:24px;height:24px;border:none;border-radius:50%;background:transparent;color:var(--theme-fg-dim);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .15s}.cs-athlete-row:hover .cs-remove-btn{opacity:1}.cs-remove-btn:hover{background:#ef444433;color:#ef4444}.cs-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:900;display:flex;align-items:center;justify-content:center}.cs-confirm-dialog{background:var(--theme-panel);border:1px solid var(--theme-card-border);border-radius:12px;padding:20px 24px;max-width:320px;width:90%;box-shadow:0 16px 48px #00000080}.cs-confirm-text{margin:0 0 16px;font-size:14px;color:var(--theme-fg-soft);line-height:1.5}.cs-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.button.danger{background:#dc2626;border-color:#dc2626;color:#fff}.button.danger:hover{background:#b91c1c;border-color:#b91c1c}.cs-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--theme-fg-dim);padding:12px 10px 4px}.cs-developer-browse{margin-top:10px;padding-top:10px;border-top:1px solid rgba(192,132,252,.25)}.cs-developer-browse .cs-section-label{color:#c084fc}.cs-dev-hint{font-size:11px;color:var(--theme-fg-dim);margin:0 10px 8px;line-height:1.35}.cs-dev-search{display:block;width:calc(100% - 20px);margin:0 10px 8px;box-sizing:border-box;padding:8px 10px;border-radius:8px;border:1px solid rgba(192,132,252,.35);background:var(--theme-surface-40);color:var(--theme-fg);font-size:13px;font-family:inherit}.cs-dev-search:focus{outline:2px solid rgba(192,132,252,.45);outline-offset:1px}.cs-dev-user-btn .cs-dev-user-meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.cs-dev-user-name{font-weight:600}.cs-dev-user-role{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--theme-fg-dim)}.cs-pending{opacity:.6;padding:6px 10px}.cs-pending-badge{font-size:10px;background:#94a3b833;color:var(--theme-fg-muted);padding:2px 6px;border-radius:4px;margin-left:auto}.cs-pending-athlete-request{flex-wrap:wrap}.cs-athlete-request-actions{flex:1 1 100%;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;padding-top:4px}.link-button{background:none;border:none;padding:0;font:inherit;color:#38bdf8;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.link-button:hover{color:#7dd3fc}.coaching-sub-hint{font-size:13px;margin:0 0 10px}.coaching-catalog-footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--theme-input-border)}.coaching-catalog-footer-hint{margin:10px 0 0;font-size:13px;line-height:1.45;max-width:42rem}.coach-profile-page .coach-profile-mode-toggle{display:flex;gap:8px;margin-bottom:16px}.coach-profile-mode-btn--active{border-color:#6366f180!important;background:#6366f11f!important}.coach-profile-hint{margin-bottom:16px}.coach-profile-form-card .coach-profile-label{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-size:13px;font-weight:600;color:var(--theme-fg-soft)}.coach-profile-input,.coach-profile-textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--theme-input-border);background:var(--theme-surface-80);color:var(--theme-fg);font:inherit}.coach-profile-textarea{resize:vertical;min-height:100px}.coach-profile-check{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;font-size:14px;line-height:1.4;cursor:pointer}.coach-profile-check input{margin-top:3px}.coach-profile-actions{margin-top:8px}.coach-profile-preview-card{max-width:560px}.coach-profile-preview-head{display:flex;align-items:center;gap:16px;margin-bottom:12px}.coach-profile-preview-avatar{width:88px;height:88px;border-radius:50%;object-fit:cover;flex-shrink:0}.coach-profile-preview-avatar--placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;font-size:32px;font-weight:700}.coach-profile-preview-name{margin:0 0 4px;font-size:1.35rem}.coach-profile-preview-headline{margin:0;color:var(--theme-fg-muted);font-size:15px}.coach-profile-preview-meta{margin:8px 0;font-size:14px}.coach-profile-preview-bio p{margin:0 0 10px;line-height:1.5}.coach-profile-preview-creds h3{font-size:14px;margin:16px 0 8px}.coach-profile-preview-listing{margin-top:20px;font-size:13px}.coaching-catalog-toolbar{display:flex;flex-direction:column;gap:16px;margin-bottom:4px}.coaching-catalog-toolbar-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.coaching-catalog-toolbar-row--search .coaching-catalog-field--grow{flex:1 1 240px;min-width:min(100%,240px)}.coaching-catalog-toolbar-row--filters .coaching-catalog-field{flex:1 1 160px;min-width:140px}.coaching-catalog-toolbar-actions{display:flex;align-items:flex-end;flex:0 0 auto;padding-bottom:2px}.coaching-catalog-field{display:flex;flex-direction:column;gap:6px;min-width:0}.coaching-catalog-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--theme-fg-muted)}.coaching-catalog-label--inline{display:block;margin-bottom:8px}.coaching-catalog-input,.coaching-catalog-select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--theme-input-border);background:var(--theme-input-bg);color:var(--theme-fg);font-size:14px;font-family:inherit}.coaching-catalog-input:focus,.coaching-catalog-select:focus{outline:none;border-color:#6366f173;box-shadow:0 0 0 3px #6366f126}.coaching-catalog-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--theme-fg-muted) 50%),linear-gradient(135deg,var(--theme-fg-muted) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 13px) calc(50% - 3px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}.coaching-catalog-focus-wrap{padding-top:4px;border-top:1px solid var(--theme-card-border)}.coaching-catalog-chips{display:flex;flex-wrap:wrap;gap:8px}.coaching-catalog-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--theme-ghost-border);background:var(--theme-surface-40);color:var(--theme-fg-soft);font-size:13px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.coaching-catalog-chip:hover{background:var(--theme-ghost-hover);border-color:#6366f159}.coaching-catalog-chip--active{background:#6366f133;border-color:#6366f180;color:var(--theme-fg)}.coaching-catalog-count{margin:0 0 12px;font-size:13px}.coaching-catalog-page .coaching-catalog-toolbar+.coaching-catalog-count{margin-top:0}.coaching-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.coaching-catalog-card{text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s;border:1px solid var(--theme-input-border)}.coaching-catalog-card:hover{border-color:#6366f159;box-shadow:0 4px 20px #00000014}.coaching-catalog-card-top{display:flex;align-items:center;gap:12px;margin-bottom:8px}.coaching-catalog-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.coaching-catalog-avatar--ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;font-weight:700}.coaching-catalog-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.coaching-catalog-name{font-weight:600;color:var(--theme-fg-soft)}.coaching-catalog-headline{font-size:13px;color:var(--theme-fg-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.coaching-catalog-loc{font-size:12px;display:block;margin-bottom:6px}.coaching-catalog-preview{font-size:13px;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.coaching-catalog-modal{max-width:480px;max-height:90vh;overflow-y:auto}.coaching-catalog-modal-head{display:flex;gap:14px;align-items:center;margin-bottom:12px}.coaching-catalog-modal-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover}.coaching-catalog-modal-avatar--ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;font-size:22px;font-weight:700}.coaching-catalog-modal-name{margin:0 0 4px}.coaching-catalog-modal-bio p{margin:0 0 10px;line-height:1.5}.coaching-catalog-modal-creds h3{font-size:14px;margin:12px 0 6px}.coaching-catalog-modal-actions{margin-top:20px}.cs-mobile-bar{position:relative;padding:8px 12px;border-bottom:1px solid rgba(148,163,184,.1);z-index:20}.cs-mobile-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:1px solid var(--theme-input-border);border-radius:10px;background:var(--theme-surface-60);color:var(--theme-fg-soft);font-size:14px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.cs-mobile-trigger:hover{border-color:#6366f166;background:var(--theme-surface-80)}.cs-mobile-trigger-label{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-mobile-trigger-icon{font-size:16px;flex-shrink:0}.cs-mobile-caret{font-size:11px;color:var(--theme-fg-dim);flex-shrink:0;margin-left:8px}.cs-mobile-dropdown{position:absolute;top:calc(100% + 4px);left:12px;right:12px;background:var(--theme-panel);border:1px solid var(--theme-card-border);border-radius:12px;box-shadow:0 12px 40px #00000073;padding:8px;max-height:60vh;overflow-y:auto;z-index:50;animation:csDropIn .12s ease-out}@keyframes csDropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cs-mobile-dropdown .cs-header{padding:4px 8px 8px}.cs-mobile-dropdown .cs-invite-form{padding:0 8px 8px}.comments-section{margin-top:20px;padding-top:16px;border-top:1px solid rgba(148,163,184,.1)}.comments-heading{font-size:14px;font-weight:600;color:var(--theme-fg-soft);margin:0 0 12px;display:flex;align-items:center;gap:8px}.comments-count{background:#6366f133;color:#818cf8;font-size:11px;font-weight:600;padding:2px 7px;border-radius:10px}.comments-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.comment-item{background:var(--theme-surface-40);border-radius:8px;padding:10px 12px}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.comment-avatar{width:28px;height:28px;min-width:28px;min-height:28px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0;overflow:hidden}.comment-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.comment-author{font-size:12px;font-weight:600;color:var(--theme-fg-soft)}.comment-time{font-size:11px;color:var(--theme-fg-dim);margin-left:auto}.comment-delete{width:20px;height:20px;border:none;border-radius:50%;background:transparent;color:var(--theme-fg-dim);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .15s}.comment-item:hover .comment-delete{opacity:1}.comment-delete:hover{background:#ef444433;color:#ef4444}.comment-body{font-size:13px;color:var(--theme-fg-softer);margin:0;line-height:1.5;white-space:pre-wrap}.comment-input-row{display:flex;gap:8px}.comment-input{flex:1;padding:8px 12px;border-radius:8px;border:1px solid var(--theme-input-border);background:var(--theme-surface-50);color:var(--theme-fg-soft);font-size:13px}.comment-input:focus{outline:none;border-color:#6366f1}.comment-send{flex-shrink:0}.coaching-invites-section,.coaching-coaches-section{margin-bottom:16px}.coaching-sub-heading{font-size:13px;font-weight:600;color:var(--theme-fg-muted);margin:0 0 10px;text-transform:uppercase;letter-spacing:.04em}.coaching-invite-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--theme-surface-40);border-radius:8px;margin-bottom:8px}.coaching-invite-info{font-size:13px;color:var(--theme-fg-soft)}.coaching-invite-actions{display:flex;gap:8px}.coaching-coach-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--theme-surface-40);border-radius:8px;margin-bottom:8px}.coaching-coach-name{font-size:13px;font-weight:600;color:var(--theme-fg-soft);margin-right:8px}.coaching-coach-email{font-size:12px;color:var(--theme-fg-dim)}.notif-bell-wrapper{position:relative}.notif-bell-btn{width:36px;height:36px;border-radius:50%;border:none;background:#94a3b81a;color:var(--theme-fg-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:all .15s}.notif-bell-btn:hover{background:#6366f133;color:#818cf8}.notif-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;border-radius:9px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:420px;background:color-mix(in srgb,var(--theme-panel) 92%,transparent);border:1px solid var(--theme-card-border);border-radius:18px;box-shadow:0 16px 48px #0006;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:1000;overflow:hidden;animation:avatarDropIn .15s ease-out}.notif-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid rgba(148,163,184,.1)}.notif-dropdown-title{font-size:14px;font-weight:600;color:var(--theme-fg-soft)}.notif-mark-all{background:none;border:none;color:#818cf8;font-size:12px;cursor:pointer;padding:0}.notif-mark-all:hover{text-decoration:underline}.notif-empty{padding:32px 16px;text-align:center;color:var(--theme-fg-dim);font-size:13px}.notif-list{overflow-y:auto;max-height:360px}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;transition:background .1s;border-bottom:1px solid rgba(148,163,184,.06)}.notif-item:hover{background:#6366f114}.notif-unread{background:#6366f10f}.notif-unread:before{content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:#6366f1}.notif-item{position:relative}.notif-linked:hover{background:#6366f124}.notif-arrow{font-size:18px;color:var(--theme-fg-dim);flex-shrink:0;align-self:center;transition:transform .15s}.notif-linked:hover .notif-arrow{transform:translate(2px);color:var(--theme-fg-muted)}.notif-icon{font-size:16px;flex-shrink:0;margin-top:1px}.notif-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-title{font-size:13px;color:var(--theme-fg-soft);line-height:1.4}.notif-body{font-size:12px;color:var(--theme-fg-dim);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-time{font-size:11px;color:var(--theme-slate-600);flex-shrink:0;margin-top:2px}.notif-prefs-table{display:flex;flex-direction:column;gap:0}.notif-prefs-header{display:grid;grid-template-columns:1fr 60px 60px;gap:8px;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.1)}.notif-prefs-label-col{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--theme-fg-dim)}.notif-prefs-toggle-col{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--theme-fg-dim);text-align:center}.notif-prefs-row{display:grid;grid-template-columns:1fr 60px 60px;gap:8px;padding:10px 0;align-items:center;border-bottom:1px solid rgba(148,163,184,.05)}.notif-prefs-label{font-size:13px;color:var(--theme-fg-soft)}.notif-prefs-toggle{display:flex;justify-content:center;cursor:pointer}.notif-prefs-toggle input{display:none}.notif-toggle-slider{width:36px;height:20px;border-radius:10px;background:#94a3b833;position:relative;transition:background .2s}.notif-toggle-slider:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#94a3b8;top:2px;left:2px;transition:all .2s}.notif-prefs-toggle input:checked+.notif-toggle-slider{background:#6366f1}.notif-prefs-toggle input:checked+.notif-toggle-slider:after{background:#fff;left:18px}.modal-created-by{font-size:12px;color:#818cf8;font-style:italic}.wl-sidebar{flex-shrink:0;display:flex;align-self:stretch;min-height:100vh;box-sizing:border-box;border-left:1px solid rgba(148,163,184,.1);background:color-mix(in srgb,var(--theme-panel) 70%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:width .2s ease;width:260px;overflow:hidden;padding-top:24px}.wl-sidebar-collapsed{width:36px;min-height:100vh;box-sizing:border-box;padding-top:24px;background:transparent;border-left:1px solid rgba(148,163,184,.06)}.wl-collapse-btn{flex-shrink:0;width:36px;border:none;background:transparent;color:var(--theme-fg-dim);cursor:pointer;display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:6px;transition:color .15s,background .15s}.wl-collapse-btn:hover{color:var(--theme-fg-soft);background:#94a3b814}.wl-collapse-icon{font-size:14px;line-height:1}.wl-collapse-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--theme-fg-muted)}.wl-sidebar-collapsed .wl-collapse-btn{color:#38bdf8}.workout-library{flex:1;min-width:0;padding:0 10px 16px 4px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:0}.wl-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 0;min-height:28px}.wl-title{font-size:13px;font-weight:600;color:var(--theme-fg-soft);margin:0;white-space:nowrap}.wl-toolbar-btn{flex-shrink:0;padding:3px 8px;border-radius:6px;border:1px solid rgba(148,163,184,.18);background:transparent;color:var(--theme-fg-dim);font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s,background .15s}.wl-toolbar-btn:hover{border-color:#38bdf859;color:#38bdf8;background:#38bdf80f}.wl-search-section{display:flex;flex-direction:column;gap:6px;padding:0 2px}.wl-search-input{width:100%;padding:6px 10px;border-radius:8px;border:1px solid var(--theme-input-border);background:var(--theme-surface-60);color:var(--theme-fg-soft);font-size:12px;outline:none;transition:border-color .15s;box-sizing:border-box}.wl-search-input:focus{border-color:#6366f180}.wl-search-input::placeholder{color:var(--theme-slate-600)}.wl-filter-chips{display:flex;flex-wrap:wrap;gap:4px}.wl-chip{padding:2px 7px;border-radius:10px;border:1px solid;background:transparent;font-size:10px;font-weight:600;cursor:pointer;transition:all .15s;line-height:1.3}.wl-chip:hover{opacity:.85}.wl-chip-active{font-weight:700}.wl-hint{font-size:10px;color:var(--theme-fg-dim);padding:0 4px;opacity:.7}.wl-root-strip{display:flex;align-items:center;justify-content:center;height:22px;margin:0 2px;border-radius:6px;border:1px dashed transparent;font-size:10px;font-weight:600;color:transparent;transition:all .15s ease}.wl-root-strip-active{border-color:#38bdf880;background:#38bdf814;color:#38bdf8b3}.wl-tree{display:flex;flex-direction:column;gap:1px}.wl-folder-block{display:flex;flex-direction:column}.wl-folder-children{display:flex;flex-direction:column;gap:1px;border-left:1px solid rgba(148,163,184,.08);margin-left:12px}.wl-folder-row{display:flex;align-items:center;gap:3px;min-height:28px;padding:2px 4px;border-radius:6px;border:1px solid transparent;position:relative;transition:background .12s,border-color .15s}.wl-folder-row:hover{background:#94a3b80d}.wl-folder-row:not(.wl-folder-row-renaming){cursor:grab}.wl-folder-row.wl-dragging{cursor:grabbing}.wl-folder-row-renaming{cursor:default}.wl-folder-row .wl-folder-chevron,.wl-folder-row .wl-folder-actions{cursor:pointer}.wl-folder-rename-wrap{flex:1;min-width:0}.wl-folder-row-editing{background:#6366f10f;border-color:#6366f133}.wl-drop-inside{border-color:#38bdf873!important;background:#38bdf812!important}.wl-drop-before:before{content:"";position:absolute;top:-1px;left:6px;right:6px;height:2px;background:#38bdf8;border-radius:1px;pointer-events:none;z-index:2;box-shadow:-4px 0 #38bdf8,-5px -1px 0 1px #38bdf8}.wl-drop-after:after{content:"";position:absolute;bottom:-1px;left:6px;right:6px;height:2px;background:#38bdf8;border-radius:1px;pointer-events:none;z-index:2;box-shadow:-4px 0 #38bdf8,-5px -1px 0 1px #38bdf8}.wl-dragging{opacity:.4}.wl-folder-chevron{flex-shrink:0;width:18px;height:22px;border:none;padding:0;background:transparent;color:var(--theme-fg-muted);font-size:10px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:color .12s}.wl-folder-chevron:hover{color:var(--theme-fg-soft)}.wl-folder-icon{flex-shrink:0;cursor:grab;font-size:12px;line-height:1;-webkit-user-select:none;user-select:none}.wl-folder-icon:active{cursor:grabbing}.wl-folder-name{flex:1;min-width:0;color:var(--theme-fg-soft);font-size:11px;font-weight:600;padding:2px 4px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none}.wl-inline-input{flex:1;min-width:0;padding:3px 6px;border-radius:4px;border:1px solid rgba(99,102,241,.4);background:var(--theme-surface-60);color:var(--theme-fg-soft);font-size:11px;font-weight:600;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s}.wl-inline-input:focus{border-color:#6366f1b3;box-shadow:0 0 0 2px #6366f11f}.wl-folder-actions{display:flex;flex-shrink:0;gap:1px;opacity:0;transition:opacity .12s}.wl-folder-row:hover .wl-folder-actions{opacity:1}.wl-folder-action{width:20px;height:20px;border:none;border-radius:4px;background:transparent;color:var(--theme-fg-dim);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;line-height:1;transition:background .12s,color .12s}.wl-folder-action:hover{background:#94a3b81f;color:var(--theme-fg-soft)}.wl-folder-action-danger:hover{background:#ef444426;color:#ef4444}.wl-delete-confirm{display:flex;flex-direction:column;gap:6px;padding:8px 10px;margin:2px 0;border-radius:6px;background:#ef44440f;border:1px solid rgba(239,68,68,.18);animation:wl-fade-in .12s ease}.wl-delete-confirm-text{font-size:11px;color:var(--theme-fg-soft);line-height:1.35}.wl-delete-confirm-actions{display:flex;gap:6px}.wl-delete-confirm-btn{padding:3px 10px;border-radius:5px;border:1px solid rgba(148,163,184,.15);background:transparent;color:var(--theme-fg-dim);font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .12s}.wl-delete-confirm-btn:hover{border-color:#94a3b84d;color:var(--theme-fg-soft)}.wl-delete-confirm-yes{border-color:#ef444466;color:#ef4444;background:#ef444414}.wl-delete-confirm-yes:hover{background:#ef44442e;border-color:#ef444499}@keyframes wl-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.wl-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 8px;color:var(--theme-fg-dim);font-size:12px;text-align:center}.wl-template-card{border-left:3px solid #94a3b8;border-radius:4px;padding:6px 8px;background:var(--theme-surface-50);font-size:11px;line-height:1.35;cursor:pointer;transition:background .12s,box-shadow .15s,transform .1s;position:relative}.wl-template-card:hover{background:#1e293bcc;box-shadow:0 1px 6px #0000002e}.wl-template-card:active{transform:scale(.98)}.wl-card-top{display:flex;align-items:center;justify-content:space-between}.wl-card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;opacity:0;transition:opacity .12s}.wl-template-card:hover .wl-card-actions{opacity:1}.wl-card-type{font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.wl-card-delete{width:18px;height:18px;border:none;border-radius:50%;background:transparent;color:var(--theme-slate-600);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s;line-height:1}.wl-card-delete:hover{background:#ef444433;color:#ef4444}.wl-card-name{color:var(--theme-fg-soft);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wl-card-stats{display:flex;gap:6px;color:var(--theme-fg-muted);font-size:10px}.wl-card-stats span{white-space:nowrap}.wl-add-btn{width:100%;padding:8px;border-radius:6px;border:1px dashed rgba(148,163,184,.18);background:transparent;color:var(--theme-fg-dim);font-size:12px;cursor:pointer;transition:all .15s;font-family:inherit;margin-top:2px}.wl-add-btn:hover{border-color:#38bdf866;color:#38bdf8;background:#38bdf80d}[data-theme=light] .wl-folder-children{border-left-color:#94a3b826}[data-theme=light] .wl-template-card:hover{background:#f1f5f9cc;box-shadow:0 1px 6px #0000000f}[data-theme=light] .wl-folder-row:hover{background:#94a3b814}[data-theme=light] .wl-delete-confirm{background:#ef44440a}[data-theme=light] .wl-inline-input{border-color:#6366f14d}[data-theme=light] .wl-inline-input:focus{border-color:#6366f199;box-shadow:0 0 0 2px #6366f114}.cal-day-drop-target{background:#38bdf81a!important;box-shadow:inset 0 0 0 2px #38bdf866}.cal-day-drop-target .cal-day-number{color:#38bdf8}.workout-card-planned[draggable=true]{cursor:grab}.workout-card-planned[draggable=true]:active{cursor:grabbing;opacity:.6}@media (max-width: 1200px){.wl-sidebar{display:none}}.admin-page{max-width:960px}.admin-stats-row{display:flex;gap:16px;flex-wrap:wrap}.admin-stat{flex:1;min-width:100px;background:#1e293b99;border:1px solid rgba(148,163,184,.1);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;align-items:center;gap:4px}.admin-stat-number{font-size:24px;font-weight:700;color:var(--theme-fg-soft)}.admin-stat-label{font-size:11px;color:var(--theme-fg-dim);text-transform:uppercase;letter-spacing:.05em}.admin-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-search{flex:1;min-width:200px;padding:10px 14px;border-radius:10px;border:1px solid var(--theme-input-border);background:var(--theme-surface-60);color:var(--theme-fg-soft);font-size:14px;outline:none;transition:border-color .15s}.admin-search:focus{border-color:#6366f180}.admin-search::placeholder{color:var(--theme-slate-600)}.admin-filter-pills{display:flex;gap:6px}.admin-pill{padding:6px 14px;border-radius:20px;border:1px solid rgba(148,163,184,.25);background:transparent;color:var(--theme-fg-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.admin-pill:hover{border-color:#94a3b880;color:var(--theme-fg-soft)}.admin-pill-active{background:#6366f133;border-color:#6366f166;color:var(--theme-fg-soft)}.admin-user-list{display:flex;flex-direction:column;gap:1px;background:#94a3b814;border-radius:12px;overflow:hidden}.admin-user-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--theme-surface-50);transition:background .1s}.admin-user-row:hover{background:#1e293bb3}.admin-user-avatar{width:36px;height:36px;min-width:36px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#6366f1,#818cf8);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px}.admin-user-avatar img{width:100%;height:100%;object-fit:cover}.admin-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.admin-user-name{font-size:14px;font-weight:600;color:var(--theme-fg-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-email{font-size:12px;color:var(--theme-fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-role-badge{padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.admin-role-select{padding:6px 28px 6px 12px;border-radius:8px;border:1px solid var(--theme-input-border);background:var(--theme-surface-80);color:var(--theme-fg-soft);font-size:12px;cursor:pointer;outline:none;flex-shrink:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.admin-role-select:focus{border-color:#6366f180}.admin-delete-btn{width:30px;height:30px;border-radius:6px;border:none;background:transparent;color:var(--theme-fg-dim);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.admin-delete-btn:hover{background:#ef444426;color:#ef4444}.admin-empty{padding:40px;text-align:center;color:var(--theme-fg-dim);font-size:14px;background:var(--theme-surface-50)}.admin-confirm-modal{max-width:400px;text-align:center}.admin-confirm-modal h3{margin:0 0 8px;font-size:18px;color:var(--theme-fg-soft)}.admin-confirm-modal p{margin:0 0 20px;color:var(--theme-fg-muted);font-size:14px;line-height:1.5}.admin-confirm-actions{display:flex;gap:10px;justify-content:center}.admin-detail-modal{max-width:580px;width:90vw;max-height:85vh;overflow-y:auto;padding:0}.admin-detail-header{display:flex;gap:18px;align-items:center;padding:28px 28px 0}.admin-detail-avatar-lg{width:72px;height:72px;border-radius:50%;background:var(--theme-panel);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;color:var(--theme-fg-muted);flex-shrink:0;overflow:hidden}.admin-detail-avatar-lg img{width:100%;height:100%;object-fit:cover}.admin-detail-header-info{flex:1;min-width:0}.admin-detail-header-info h2{margin:0 0 2px;font-size:20px;font-weight:600;color:var(--theme-fg)}.admin-detail-email{font-size:13px;color:var(--theme-fg-muted)}.admin-detail-meta-row{display:flex;align-items:center;gap:10px;margin-top:6px}.admin-detail-meta{font-size:12px;color:var(--theme-fg-dim)}.admin-detail-stats{display:flex;gap:0;margin:20px 28px;background:color-mix(in srgb,var(--theme-panel) 85%,transparent);border-radius:16px;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.admin-detail-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:14px 8px;border-right:1px solid rgba(148,163,184,.14)}.admin-detail-stat:last-child{border-right:none}.admin-detail-stat-val{font-size:18px;font-weight:700;color:var(--theme-fg)}.admin-detail-stat-lbl{font-size:11px;color:var(--theme-fg-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.admin-detail-section{padding:0 28px 20px}.admin-detail-section-title{font-size:13px;font-weight:600;color:var(--theme-fg-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;padding-top:16px;border-top:1px solid var(--theme-border-deep)}.admin-detail-rel-list{display:flex;flex-direction:column;gap:4px}.admin-detail-rel-row{display:flex;align-items:center;gap:12px;padding:8px 10px;background:var(--theme-panel);border-radius:8px;border:1px solid transparent;cursor:pointer;transition:border-color .15s,background .15s;width:100%;text-align:left;font-family:inherit;color:inherit;font-size:inherit}.admin-detail-rel-row:hover{border-color:var(--theme-border-strong);background:var(--theme-row-accent-bg)}.admin-detail-rel-info{flex:1;min-width:0;display:flex;flex-direction:column}.admin-detail-rel-name{font-size:14px;font-weight:500;color:var(--theme-fg)}.admin-detail-rel-email{font-size:12px;color:var(--theme-fg-dim)}.admin-detail-fields{display:flex;flex-direction:column;gap:12px}.admin-detail-field{display:flex;flex-direction:column;gap:4px}.admin-detail-field label{font-size:12px;font-weight:600;color:var(--theme-fg-muted);text-transform:uppercase;letter-spacing:.5px}.admin-detail-field input,.admin-detail-field select{padding:8px 12px;border-radius:6px;border:1px solid var(--theme-border-strong);background:var(--theme-panel);color:var(--theme-fg);font-size:14px;font-family:inherit}.admin-detail-field input:focus,.admin-detail-field select:focus{outline:none;border-color:#60a5fa}.admin-detail-error{color:#f87171;font-size:13px;margin:6px 0 0}.admin-detail-success{color:#4ade80;font-size:13px;margin:6px 0 0}@media (max-width: 600px){.admin-detail-modal{max-width:100%;width:100%;max-height:100vh;border-radius:0}.admin-detail-header{flex-direction:column;text-align:center;padding:20px 16px 0}.admin-detail-meta-row{justify-content:center}.admin-detail-stats{margin:16px;flex-wrap:wrap}.admin-detail-section{padding:0 16px 16px}}@media (max-width: 600px){.admin-user-row{flex-wrap:wrap;gap:8px;padding:10px 12px}.admin-role-badge{order:5}.admin-role-select{flex:1;min-width:0}.admin-stats-row{gap:8px}.admin-stat{min-width:70px;padding:10px 8px}.admin-stat-number{font-size:18px}}.admin-subheader{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:4px}.admin-api-docs-link{font-size:13px;font-weight:600;color:#a5b4fc;text-decoration:none;white-space:nowrap}.admin-api-docs-link:hover{color:#c7d2fe;text-decoration:underline}.admin-tab-bar{display:flex;gap:4px;background:#1e293b80;border-radius:10px;padding:4px;width:fit-content}.admin-tab{padding:8px 20px;border-radius:8px;border:none;background:transparent;color:var(--theme-fg-muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.admin-tab:hover{color:var(--theme-fg-soft)}.admin-tab-active{background:#6366f133;color:var(--theme-fg-soft)}.webhook-panel{display:flex;flex-direction:column;gap:24px;position:relative}.webhook-section{background:#1e293b80;border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:20px}.webhook-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0}.webhook-section-title{font-size:14px;font-weight:600;color:var(--theme-fg-soft);margin:0 0 14px;text-transform:uppercase;letter-spacing:.5px}.webhook-section-header .webhook-section-title{margin-bottom:0}.webhook-description{font-size:13px;color:var(--theme-fg-muted);margin:0 0 14px;line-height:1.5}.webhook-status-card{display:flex;flex-direction:column;gap:12px}.webhook-status-row{display:flex;align-items:center;gap:12px}.webhook-status-label{font-size:13px;color:var(--theme-fg-muted);min-width:100px}.webhook-status-badge{padding:3px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.webhook-badge-active{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.webhook-badge-inactive{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2)}.webhook-url{font-size:12px;color:#60a5fa;background:var(--theme-surface-60);padding:4px 10px;border-radius:6px;font-family:SF Mono,Fira Code,monospace;word-break:break-all}.webhook-sub-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--theme-surface-50);border-radius:8px;border:1px solid rgba(148,163,184,.08)}.webhook-sub-info{display:flex;flex-direction:column;gap:2px}.webhook-sub-id{font-size:13px;font-weight:600;color:var(--theme-fg-soft)}.webhook-sub-url{font-size:11px;color:var(--theme-fg-dim);font-family:SF Mono,Fira Code,monospace}.webhook-test-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.webhook-select{flex:1;min-width:200px;padding:8px 12px;border-radius:8px;border:1px solid var(--theme-input-border);background:var(--theme-surface-80);color:var(--theme-fg-soft);font-size:13px;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.webhook-select:focus{outline:none;border-color:#6366f180}.webhook-event-list{display:flex;flex-direction:column;gap:1px;background:var(--theme-row-hover);border-radius:10px;overflow:hidden;margin-top:14px}.webhook-event-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--theme-surface-40)}.webhook-event-row:hover{background:#1e293b80}.webhook-event-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.webhook-event-name{font-size:14px;font-weight:500;color:var(--theme-fg-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.webhook-event-meta{font-size:12px;color:var(--theme-fg-dim)}.webhook-event-id{font-size:11px;color:var(--theme-slate-600);font-family:SF Mono,Fira Code,monospace;white-space:nowrap}.webhook-toast{position:absolute;top:-8px;left:50%;transform:translate(-50%);padding:8px 20px;border-radius:8px;font-size:13px;font-weight:500;z-index:10;animation:webhook-toast-in .2s ease}.webhook-toast-success{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.webhook-toast-error{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2)}@keyframes webhook-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast-msg{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:color-mix(in srgb,var(--theme-panel) 90%,transparent);color:var(--theme-fg-soft);padding:12px 24px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:0 8px 24px #0006;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(99,102,241,.3);z-index:10000;animation:toast-in .25s ease;pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.billing-paywall-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.billing-paywall-card{max-width:440px;width:100%;text-align:center}.billing-paywall-title{font-size:24px;margin-bottom:8px}.billing-plan-card{background:color-mix(in srgb,var(--theme-panel) 88%,transparent);border:1px solid var(--theme-card-border);border-radius:20px;padding:24px;margin:20px 0;text-align:left;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.billing-plan-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.billing-plan-name{font-weight:600;font-size:16px}.billing-plan-price{font-size:28px;font-weight:700;color:var(--theme-accent)}.billing-plan-period{font-size:14px;font-weight:400;color:var(--theme-fg-soft)}.billing-plan-features{list-style:none;padding:0;margin:0}.billing-plan-features li{padding:4px 0;font-size:14px;color:var(--theme-fg-soft)}.billing-plan-features li:before{content:"✓ ";color:var(--theme-accent);font-weight:600}.billing-paywall-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.auth-stitch-root{position:relative;min-height:100vh;display:flex;flex-direction:column;font-family:DM Sans,Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden}.auth-stitch-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse 120% 80% at 0% -20%,rgba(99,102,241,.35),transparent 55%),radial-gradient(ellipse 90% 70% at 100% 0%,rgba(56,189,248,.22),transparent 50%),radial-gradient(ellipse 80% 60% at 50% 100%,rgba(167,139,250,.12),transparent 45%),var(--theme-bg-body);pointer-events:none}[data-theme=light] .auth-stitch-bg{background:radial-gradient(ellipse 100% 70% at 10% -10%,rgba(99,102,241,.18),transparent 55%),radial-gradient(ellipse 80% 60% at 95% 5%,rgba(14,165,233,.14),transparent 48%),radial-gradient(ellipse 70% 50% at 50% 100%,rgba(139,92,246,.08),transparent 45%),var(--theme-bg-body)}.auth-stitch-noise{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.auth-stitch-topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:20px 28px;max-width:1200px;width:100%;margin:0 auto}.auth-stitch-wordmark{font-size:15px;font-weight:600;letter-spacing:-.02em;color:var(--theme-fg)}.auth-stitch-grid{position:relative;z-index:1;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:clamp(24px,5vw,64px);align-items:center;max-width:1120px;width:100%;margin:0 auto;padding:12px 28px 48px}.auth-stitch-brand{padding-right:clamp(0px,4vw,48px)}.auth-stitch-brand-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--theme-fg-muted);margin:0 0 16px}.auth-stitch-brand-headline{font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.12;letter-spacing:-.03em;margin:0 0 16px;color:var(--theme-fg)}.auth-stitch-brand-copy{font-size:1.05rem;line-height:1.55;color:var(--theme-fg-muted);margin:0 0 28px;max-width:36ch}.auth-stitch-brand-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.auth-stitch-brand-list li{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--theme-fg-soft)}.auth-stitch-brand-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#38bdf8,#818cf8);flex-shrink:0}.auth-stitch-main{display:flex;justify-content:center;align-items:flex-start}.auth-stitch-card{width:100%;max-width:420px;padding:32px 28px 28px;border-radius:24px;background:color-mix(in srgb,var(--theme-panel) 88%,transparent);border:1px solid var(--theme-card-border);box-shadow:0 0 0 1px #ffffff0a inset,0 24px 48px -12px #00000059;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}[data-theme=light] .auth-stitch-card{background:#ffffffb8;box-shadow:0 0 0 1px #fffc inset,0 20px 40px -16px #0f172a1f}.auth-stitch-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 20px;padding:0;border:none;background:none;font-family:inherit;font-size:14px;font-weight:500;color:var(--theme-fg-muted);cursor:pointer;transition:color .15s ease}.auth-stitch-back:hover{color:var(--theme-fg-soft)}.auth-stitch-segmented{display:flex;padding:4px;margin-bottom:24px;border-radius:14px;background:var(--theme-tabs-bg);border:1px solid var(--theme-tabs-border);gap:4px}.auth-stitch-segmented button{flex:1;border:none;border-radius:11px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:600;color:var(--theme-tab-text);background:transparent;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.auth-stitch-segmented button.is-active{background:var(--theme-tab-active-bg);color:var(--theme-tab-active-text);box-shadow:0 1px 3px #00000014}[data-theme=light] .auth-stitch-segmented button.is-active{background:#fff;box-shadow:0 1px 4px #0f172a14}.auth-stitch-card-header{margin-bottom:20px}.auth-stitch-card-title{margin:0 0 8px;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--theme-fg)}.auth-stitch-card-sub{margin:0;font-size:14px;line-height:1.5;color:var(--theme-fg-muted)}.auth-stitch-alert{border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.45;margin-bottom:16px}.auth-stitch-alert--error{background:#f871711f;border:1px solid rgba(248,113,113,.35);color:#fecaca}[data-theme=light] .auth-stitch-alert--error{color:#b91c1c;background:#fee2e2e6;border-color:#f8717166}.auth-stitch-alert--notice{background:#38bdf81a;border:1px solid rgba(56,189,248,.28);color:#bae6fd}[data-theme=light] .auth-stitch-alert--notice{color:#0369a1;background:#e0f2fef2;border-color:#0ea5e959}.auth-stitch-form{display:flex;flex-direction:column;gap:16px}.auth-stitch-field label{display:block;font-size:13px;font-weight:600;color:var(--theme-fg-soft);margin-bottom:6px;letter-spacing:-.01em}.auth-stitch-field input{width:100%;border-radius:14px;border:1px solid var(--theme-input-border);background:var(--theme-input-bg);color:var(--theme-fg);padding:14px 16px;font-family:inherit;font-size:15px;transition:border-color .15s ease,box-shadow .15s ease}.auth-stitch-field input::placeholder{color:var(--theme-fg-dim)}.auth-stitch-field input:focus{outline:none;border-color:#38bdf88c;box-shadow:0 0 0 3px #38bdf833}.auth-stitch-submit{margin-top:4px;width:100%;border:none;border-radius:14px;padding:14px 20px;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:-.01em;cursor:pointer;color:#0f172a;background:linear-gradient(135deg,#7dd3fc,#a5b4fc 45%,#818cf8);box-shadow:0 4px 14px #6366f159;transition:transform .15s ease,box-shadow .15s ease}.auth-stitch-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px #6366f166}.auth-stitch-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.auth-stitch-text-btn{align-self:center;margin-top:4px;padding:8px;border:none;background:none;font-family:inherit;font-size:14px;font-weight:500;color:var(--theme-fg-muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.auth-stitch-text-btn:hover{color:var(--theme-fg-soft)}@media (max-width: 900px){.auth-stitch-grid{grid-template-columns:1fr;padding:8px 20px 40px;gap:28px}.auth-stitch-brand{padding-right:0;text-align:center}.auth-stitch-brand-copy{margin-left:auto;margin-right:auto}.auth-stitch-brand-list{display:none}.auth-stitch-main{width:100%}.auth-stitch-card{max-width:none}}@media (max-width: 480px){.auth-stitch-topbar{padding:16px 18px}.auth-stitch-card{padding:24px 20px 22px;border-radius:20px}.auth-stitch-card-title{font-size:20px}}.my-coaching-page{max-width:800px}.my-coaching-scroll-anchor{scroll-margin-top:96px;height:1px;margin:0;padding:0;overflow:hidden;visibility:hidden;pointer-events:none}#my-coaching-my-coaches,#my-coaching-pending-invites,#my-coaching-pending-requests,#my-coaching-athlete-requests{scroll-margin-top:96px}.my-coaching-section{margin-bottom:20px}.my-coaching-section-title{margin:0 0 12px;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--theme-fg)}.my-coaching-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.my-coaching-section-header .my-coaching-section-title{margin:0}.my-coaching-hint{margin:0 0 14px;font-size:13px}.my-coaching-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:var(--theme-surface-40);border:1px solid rgba(148,163,184,.12);margin-bottom:8px}.my-coaching-row-info{display:flex;flex-direction:column;gap:2px;min-width:0}.my-coaching-row-info strong{font-weight:600;color:var(--theme-fg)}.my-coaching-row-actions{display:flex;gap:8px;flex-shrink:0}.my-coaching-coach-card{padding:18px 20px;margin-bottom:10px}.my-coaching-coach-card-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.my-coaching-coach-info{display:flex;flex-direction:column;gap:2px;min-width:0}.my-coaching-coach-name{font-weight:600;font-size:15px;color:var(--theme-fg)}.my-coaching-coach-actions{display:flex;gap:8px;flex-wrap:wrap}.my-coaching-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;background:#6366f126;color:#818cf8}.my-coaching-sub-heading{font-size:14px;font-weight:600;margin:16px 0 8px;color:var(--theme-fg-soft)}.my-coaching-pending-invites,.my-coaching-invite-form{margin-top:16px;padding-top:16px;border-top:1px solid rgba(148,163,184,.14)}.my-coaching-invite-row{display:flex;gap:10px;align-items:center}.my-coaching-invite-input{flex:1;min-width:0}.my-coaching-msg-modal{max-width:640px;height:min(80vh,600px);display:flex;flex-direction:column}.my-coaching-review-modal{max-width:480px}[data-theme=light] .my-coaching-row{background:#f1f5f9eb;border-color:#4755691f}.msg-thread{display:flex;flex-direction:column;height:100%;min-height:0}.msg-thread-header{flex-shrink:0;padding-bottom:14px;border-bottom:1px solid rgba(148,163,184,.14);margin-bottom:14px}.msg-thread-title{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.02em}.msg-thread-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:8px;min-height:0}.msg-thread-empty{text-align:center;padding:40px 0}.msg-bubble{max-width:75%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5}.msg-bubble--mine{align-self:flex-end;background:linear-gradient(135deg,#7dd3fc,#a5b4fc,#818cf8);color:#0f172a;border-bottom-right-radius:4px}.msg-bubble--theirs{align-self:flex-start;background:var(--theme-surface-40);border:1px solid rgba(148,163,184,.12);color:var(--theme-fg);border-bottom-left-radius:4px}[data-theme=light] .msg-bubble--theirs{background:#f1f5f9eb;border-color:#4755691f}.msg-bubble-name{display:block;font-size:12px;font-weight:600;color:var(--theme-fg-muted);margin-bottom:2px}.msg-bubble-body{margin:0;white-space:pre-wrap;word-break:break-word}.msg-bubble-time{display:block;font-size:11px;margin-top:4px;opacity:.65}.msg-thread-compose{flex-shrink:0;display:flex;gap:10px;align-items:flex-end;padding-top:14px;border-top:1px solid rgba(148,163,184,.14);margin-top:8px}.msg-thread-input{flex:1;background:var(--theme-input-bg);border:1px solid var(--theme-input-border);border-radius:14px;padding:10px 14px;font-family:inherit;font-size:14px;color:var(--theme-fg);resize:none}.msg-thread-input:focus{outline:none;border-color:#38bdf88c;box-shadow:0 0 0 3px #38bdf826}.star-rating{display:inline-flex;gap:2px}.star-rating-star{background:none;border:none;padding:0;font-size:22px;cursor:pointer;color:#94a3b84d;transition:color .12s ease,transform .1s ease;line-height:1}.star-rating-star--filled{color:#fbbf24}.star-rating-star:hover:not(:disabled){transform:scale(1.15)}.star-rating--readonly .star-rating-star{cursor:default}.star-display{display:inline-flex;align-items:center;gap:6px;font-size:14px}.star-display-stars{display:inline-flex;gap:1px;font-size:15px}.star-filled{color:#fbbf24}.star-empty{color:#94a3b84d}.star-display-text{color:var(--theme-fg-soft);font-weight:500}.coaching-catalog-rating{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--theme-fg-soft)}.review-form{padding:0}.review-form-title{margin:0 0 16px;font-size:18px;font-weight:700;letter-spacing:-.02em}.review-form-rating{display:flex;align-items:center;gap:12px;margin-bottom:14px}.review-form-label{font-size:14px;font-weight:600;color:var(--theme-fg-soft)}.review-form-textarea{width:100%;background:var(--theme-input-bg);border:1px solid var(--theme-input-border);border-radius:14px;padding:12px 14px;font-family:inherit;font-size:14px;color:var(--theme-fg);resize:vertical;box-sizing:border-box}.review-form-textarea:focus{outline:none;border-color:#38bdf88c;box-shadow:0 0 0 3px #38bdf826}.review-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.coaching-catalog-modal-reviews{margin-top:20px;padding-top:20px;border-top:1px solid rgba(148,163,184,.14)}.coaching-catalog-modal-reviews h3{margin:0 0 14px;font-size:16px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.coaching-catalog-modal-avg{font-size:14px;font-weight:600;color:var(--theme-fg-soft)}.coaching-catalog-modal-review-list{display:flex;flex-direction:column;gap:12px}.coaching-review-item{padding:12px 14px;border-radius:14px;background:var(--theme-surface-40);border:1px solid rgba(148,163,184,.12)}[data-theme=light] .coaching-review-item{background:#f1f5f9eb;border-color:#4755691f}.coaching-review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.coaching-review-header strong{font-size:14px;color:var(--theme-fg)}.coaching-review-stars{font-size:14px;display:inline-flex;gap:1px}.coaching-review-body{margin:0 0 6px;font-size:14px;line-height:1.5;color:var(--theme-fg-soft)}.coaching-review-date{font-size:12px}@media (max-width: 600px){.my-coaching-row{flex-direction:column;align-items:flex-start}.my-coaching-row-actions{width:100%;justify-content:flex-end}.my-coaching-coach-actions{width:100%}.my-coaching-invite-row{flex-direction:column}.my-coaching-invite-input{width:100%}.msg-bubble{max-width:85%}}.page-loading{display:flex;align-items:center;justify-content:center;box-sizing:border-box}.page-loading--full{min-height:60vh;width:100%;padding:48px 24px}.page-loading--card{min-height:40vh;margin:0 auto;max-width:520px;padding:48px 24px}.page-loading-inner{display:flex;flex-direction:column;align-items:center;gap:20px}.page-loading-spinner{width:44px;height:44px;border-radius:50%;border:3px solid rgba(148,163,184,.25);border-top-color:#38bdf8;border-right-color:#818cf8;animation:page-loading-spin .85s linear infinite}@keyframes page-loading-spin{to{transform:rotate(360deg)}}.page-loading-label{margin:0;font-size:15px;font-weight:600;color:var(--theme-fg-soft);letter-spacing:-.02em}.content-skeleton{display:flex;flex-direction:column;gap:10px;width:100%;padding:4px 0}.content-skeleton-row{height:14px;border-radius:8px;background:linear-gradient(90deg,var(--theme-surface-40) 0%,color-mix(in srgb,var(--theme-fg-muted) 18%,var(--theme-surface-40)) 50%,var(--theme-surface-40) 100%);background-size:200% 100%;animation:content-skeleton-shimmer 1.35s ease-in-out infinite}[data-theme=light] .content-skeleton-row{background:linear-gradient(90deg,#f1f5f9f2,#e2e8f0fc,#f1f5f9f2);background-size:200% 100%}@keyframes content-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.dashboard-card-skeleton{margin:8px 0 4px}.calendar-loading{padding:16px 24px 20px;margin:0 12px}.calendar-loading-skeleton .content-skeleton-row{height:12px}.loading-dots{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.loading-dots-dot{width:6px;height:6px;border-radius:50%;background:var(--theme-fg-muted);animation:loading-dots-pulse 1.1s ease-in-out infinite}.loading-dots-dot:nth-child(2){animation-delay:.15s}.loading-dots-dot:nth-child(3){animation-delay:.3s}@keyframes loading-dots-pulse{0%,80%,to{opacity:.35;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.comments-error{margin:0 0 10px;font-size:13px;color:#f87171}.comments-loading-inline{display:inline-block;width:14px;height:14px;margin-left:8px;vertical-align:middle;border-radius:50%;border:2px solid rgba(148,163,184,.25);border-top-color:#38bdf8;animation:page-loading-spin .75s linear infinite}.comment-send-dots{display:inline-block;width:18px;height:4px;background:repeating-linear-gradient(90deg,currentColor 0 3px,transparent 3px 6px);opacity:.7;animation:loading-dots-pulse .9s ease-in-out infinite}
