.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-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.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 a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.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-container{background:#ddd;outline-offset:1px}.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: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: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-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-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 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-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.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-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;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-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-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;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.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: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: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}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-bold:700;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.mb-4{margin-bottom:calc(var(--spacing)*4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-12{height:calc(var(--spacing)*12)}.w-auto{width:auto}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.items-center{align-items:center}.gap-3{gap:calc(var(--spacing)*3)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.italic{font-style:italic}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.login-container{height:100vh;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-left-panel{background:var(--construction-paper-blue);height:100vh;color:var(--white);text-align:center;background-image:repeating-linear-gradient(45deg,#0000,#0000 35px,#ffffff1a 35px,#ffffff1a 70px),repeating-linear-gradient(-45deg,#0000,#0000 35px,#ffffff0d 35px,#ffffff0d 70px);flex:1;justify-content:center;align-items:center;padding:clamp(1.5rem,4vw,3rem);display:flex;position:sticky;top:0;overflow:hidden}.login-left-panel:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:absolute;top:0;right:0;bottom:0;left:0}.login-left-panel:after{content:"📌";opacity:.4;z-index:0;font-size:2rem;animation:3s ease-in-out infinite pinRotate;position:absolute;top:1.5rem;right:1.5rem}@keyframes pinRotate{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}.login-left-overlay{z-index:1;text-align:center;max-width:500px;position:relative}.login-left-content{animation:1s fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-icon-wrapper{background:var(--school-bus-yellow);border:6px solid var(--text-dark);width:120px;height:120px;box-shadow:var(--shadow-raised);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.5rem;transition:transform .3s;animation:2s ease-in-out infinite bounce;display:inline-flex;position:relative}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.login-icon-wrapper:hover{animation-play-state:paused;transform:scale(1.1)rotate(5deg)}.login-icon-inner{z-index:1;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.login-car-icon{width:56px;height:56px;color:var(--text-dark);filter:drop-shadow(0 4px 8px #0003);animation:2s ease-in-out infinite carWiggle}@keyframes carWiggle{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.login-title{color:var(--crayon-red);letter-spacing:.05em;text-shadow:3px 3px 0 var(--school-bus-yellow),6px 6px 0 var(--text-dark);text-transform:uppercase;margin:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:3.5rem;font-weight:900}.login-subtitle{color:var(--text-dark);text-shadow:0 2px 4px #ffffff80;background:var(--white);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:20px;margin-top:1rem;padding:.75rem 1.5rem;font-family:Nunito,Quicksand,Comic Neue,sans-serif;font-size:1.25rem;font-weight:700;display:inline-block}.login-left-features{flex-direction:column;gap:1.25rem;margin-top:3rem;display:flex}.login-feature-item{background:var(--manila-paper);border:5px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:all .3s;animation:.6s backwards fadeInRight;display:flex;position:relative}.login-feature-item:before{content:"";border-radius:16px 0 0 16px;width:10px;position:absolute;top:0;bottom:0;left:0}.login-feature-item:first-child{animation-delay:.2s}.login-feature-item:nth-child(2){animation-delay:.4s}.login-feature-item:nth-child(3){animation-delay:.6s}.login-feature-item:first-child:before{background:var(--crayon-red)}.login-feature-item:nth-child(2):before{background:var(--crayon-green)}.login-feature-item:nth-child(3):before{background:var(--crayon-blue)}@keyframes fadeInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.login-feature-item:hover{transform:translateY(-4px)rotate(-1deg);box-shadow:0 10px #00000026}.login-feature-icon{background:var(--crayon-green);width:40px;height:40px;color:var(--white);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Nunito,Quicksand,Comic Neue,sans-serif;font-size:1.25rem;font-weight:900;display:flex}.login-feature-item p{color:var(--text-dark);text-align:left;margin:0;font-family:Nunito,Quicksand,Comic Neue,sans-serif;font-size:1rem;font-weight:700}.login-right-panel{background:var(--white);background-image:linear-gradient(transparent 0%,transparent calc(100% - 1px),var(--construction-paper-blue) calc(100% - 1px));box-sizing:border-box;background-size:100% 2.5rem;flex:0 0 550px;justify-content:center;align-items:flex-start;height:100vh;padding:2rem;display:flex;position:relative;overflow-y:auto}.login-right-panel:before{content:"";background:var(--crayon-red);opacity:.3;width:3px;position:absolute;top:2rem;bottom:2rem;left:3rem}.login-card-wrapper{width:100%;max-width:460px;padding:1.5rem 0}.login-card{background:var(--white);border:6px solid var(--text-dark);box-shadow:var(--shadow-raised);z-index:1;border-radius:24px;padding:2.5rem 2rem;position:relative;overflow:visible}.login-card:before{content:"⭐";filter:drop-shadow(0 4px 8px #0003);font-size:2.5rem;animation:4s linear infinite spinStar;position:absolute;top:-15px;right:-15px}@keyframes spinStar{to{transform:rotate(360deg)}}.login-card:after{content:"🎨";filter:drop-shadow(0 4px 8px #0003);font-size:2.5rem;animation:3s ease-in-out infinite wiggle;position:absolute;bottom:-15px;left:-15px}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}.login-form-header{text-align:center;margin-bottom:1.75rem}.login-form-title{color:var(--text-dark);text-transform:uppercase;margin:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:2rem;font-weight:900}.login-form-description{color:var(--text-medium);margin-top:.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:600}.login-error{background:var(--crayon-red);color:var(--white);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;margin-bottom:1rem;padding:1rem 1.25rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9375rem;font-weight:700;animation:.5s shakeError}@keyframes shakeError{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-input-group{flex-direction:column;display:flex}.login-label{color:var(--text-dark);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;margin-bottom:.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:700;display:flex}.login-label-icon{width:1.25rem;height:1.25rem;color:var(--crayon-blue)}.login-input-wrapper{align-items:center;display:flex;position:relative}.login-input{background:var(--manila-paper);border:5px solid var(--text-dark);width:100%;color:var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;padding:1rem 1.25rem 1rem 3.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:700;transition:all .3s}.login-input::-moz-placeholder{color:var(--text-medium);opacity:.7;font-weight:600}.login-input::placeholder{color:var(--text-medium);opacity:.7;font-weight:600}.login-input:focus{background:var(--white);outline:none;transform:translateY(-4px);box-shadow:0 10px #00000026}.login-input-icon-wrapper{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;left:1.25rem}.login-input-icon{width:1.375rem;height:1.375rem;color:var(--crayon-blue);transition:all .3s}.login-input:focus~.login-input-icon-wrapper .login-input-icon{color:var(--crayon-red);transform:scale(1.15)}.login-options{justify-content:space-between;align-items:center;margin-top:-.25rem;display:flex}.login-remember-wrapper{cursor:pointer;align-items:center;gap:.5rem;display:flex}.login-checkbox{width:1.25rem;height:1.25rem;accent-color:var(--crayon-green);cursor:pointer;border:3px solid var(--text-dark)}.login-remember-text{color:var(--text-dark);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9375rem;font-weight:600}.login-forgot-link{color:var(--crayon-blue);cursor:pointer;background:0 0;border:none;padding:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9375rem;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;transition:all .2s}.login-forgot-link:hover{color:var(--crayon-red);transform:translateY(-2px)}.login-button{background:var(--crayon-green);width:100%;color:var(--white);border:5px solid var(--text-dark);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;box-shadow:var(--shadow-crayon);border-radius:16px;margin-top:.5rem;padding:1.25rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.25rem;font-weight:900;transition:all .3s;position:relative;overflow:hidden}.login-button:hover:not(:disabled){background:var(--crayon-blue);transform:translateY(-4px);box-shadow:0 10px #00000026}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px #00000026}.login-button:disabled{opacity:.6;cursor:not-allowed;background:var(--pencil-gray);transform:none}.login-button span{z-index:1;justify-content:center;align-items:center;gap:.5rem;display:flex;position:relative}.login-spinner{width:1.375rem;height:1.375rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-divider-wrapper{text-align:center;margin:1.5rem 0;position:relative}.login-divider-line{width:100%;position:absolute;top:50%;left:0}.login-divider-border{background:var(--text-dark);opacity:.2;height:3px}.login-divider-text-wrapper{padding:0 1rem;display:inline-block;position:relative}.login-divider-text{color:var(--text-dark);background:var(--white);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;padding:.5rem 1rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.875rem;font-weight:900}.login-signup{text-align:center}.login-signup-link{color:var(--white);background:var(--crayon-orange);border:5px solid var(--text-dark);cursor:pointer;text-transform:uppercase;box-shadow:var(--shadow-crayon);border-radius:16px;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:700;transition:all .3s;display:inline-flex}.login-signup-link:hover{background:var(--crayon-purple);transform:translateY(-4px);box-shadow:0 10px #00000026}.login-signup-link:active{transform:translateY(0);box-shadow:0 4px #00000026}.login-signup-arrow{width:1.25rem;height:1.25rem;transition:transform .2s}.login-signup-link:hover .login-signup-arrow{transform:translate(5px)}.login-footer{color:var(--text-medium);text-align:center;border-top:3px dashed var(--crayon-blue);margin-top:1.5rem;padding-top:1.25rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.875rem;font-weight:600}.login-footer p{margin:0 0 .5rem}.login-footer-links{justify-content:center;align-items:center;gap:.5rem;display:flex}.login-footer-links a{color:var(--crayon-blue);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;transition:all .2s}.login-footer-links a:hover{color:var(--crayon-red);transform:translateY(-2px)}.login-footer-links span{color:var(--text-medium);font-weight:900}@media (max-width:1024px){.login-left-panel{flex:0 0 45%}.login-right-panel{flex:0 0 55%}.login-title{font-size:3rem}.login-left-features{gap:1rem;margin-top:2rem}}@media (max-width:768px){.login-container{flex-direction:column;height:auto;overflow:visible}.login-left-panel{flex:none;height:auto;min-height:40vh;padding:2rem 1.5rem;position:relative}.login-right-panel{flex:1;align-items:center;height:auto;padding:2rem 1.5rem;overflow-y:visible}.login-card-wrapper{padding:0}.login-title{font-size:2.5rem}.login-subtitle{padding:.5rem 1rem;font-size:1rem}.login-left-features{gap:.75rem;margin-top:1.5rem}.login-feature-item{border-width:4px;padding:.75rem 1rem}.login-card{border-width:5px;padding:2rem 1.5rem}.login-right-panel:before{left:2rem}}@media (max-width:640px){.login-left-panel{min-height:35vh;padding:1.5rem 1rem}.login-icon-wrapper{border-width:5px;width:100px;height:100px}.login-car-icon{width:48px;height:48px}.login-title{text-shadow:2px 2px 0 var(--school-bus-yellow),4px 4px 0 var(--text-dark);font-size:2rem}.login-left-features{display:none}.login-card{border-width:5px;border-radius:20px;padding:1.5rem 1.25rem}.login-form-title{font-size:1.75rem}.login-input{border-width:4px;padding:.875rem 1rem .875rem 3rem}.login-button{border-width:4px;padding:1rem;font-size:1.125rem}}@media (max-width:400px){.login-card{padding:1.25rem 1rem}.login-options{flex-direction:column;align-items:flex-start;gap:.75rem}.login-form-title{font-size:1.5rem}.login-input{font-size:.9375rem}}.car-photo-upload{margin-top:.5rem}.car-photo-button{background:var(--ultra-light-blue);border:2px dashed var(--primary-blue);cursor:pointer;width:100%;color:var(--primary-blue);border-radius:12px;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;font-weight:600;transition:all .3s;display:flex}.car-photo-button:hover{background:var(--light-blue);border-color:var(--dark-blue);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.car-photo-button svg{color:var(--primary-blue)}.car-photo-hint{color:var(--text-gray);font-size:.75rem;font-weight:400}.car-photo-preview{border:2px solid var(--border-color);border-radius:12px;width:100%;position:relative;overflow:hidden}.car-photo-preview img{-o-object-fit:cover;object-fit:cover;width:100%;height:200px;display:block}.car-photo-change{background:var(--white);color:var(--primary-blue);border:2px solid var(--primary-blue);cursor:pointer;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;position:absolute;bottom:.75rem;right:.75rem;box-shadow:0 2px 8px #00000026}.car-photo-change:hover{background:var(--primary-blue);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}@media (max-width:640px){.car-photo-button{padding:1.25rem}.car-photo-preview img{height:150px}.car-photo-change{padding:.375rem .75rem;font-size:.8125rem;bottom:.5rem;right:.5rem}}:root{--primary-blue:#3b82f6;--light-blue:#dbeafe;--ultra-light-blue:#eff6ff;--dark-blue:#1e40af;--accent-red:#ef4444;--accent-yellow:#fbbf24;--text-dark:#0f172a;--text-gray:#64748b;--border-color:#cbd5e1;--white:#fff}.register-container{min-height:100vh;font-family:Inter,sans-serif;display:flex;position:relative;overflow:hidden}.register-left-panel{color:var(--white);text-align:center;background-color:#0000;background-image:linear-gradient(135deg,#1e3a8abf,#38bdf8a6),url(https://images.unsplash.com/photo-1559827260-dc66d52bef19?auto=format&fit=crop&w=2070&q=80);background-position:50% 30%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex:1;justify-content:center;align-items:center;padding:clamp(1.5rem,4vw,3rem);display:flex;position:relative}.register-left-overlay{z-index:1;text-align:center;color:var(--white);max-width:500px;position:relative}.register-left-content{animation:1s fadeInUp}.register-left-panel .register-icon-wrapper{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #ffffff4d;border-radius:24px;justify-content:center;align-items:center;width:100px;height:100px;margin-bottom:1.5rem;transition:transform .3s;display:inline-flex;position:relative}.register-left-panel .register-icon-wrapper:hover{transform:scale(1.05)}.register-left-panel .register-icon-inner{background:var(--white);z-index:1;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative;box-shadow:0 4px 20px #0000001a}.register-left-panel .register-car-icon{width:48px;height:48px;color:var(--primary-blue);filter:drop-shadow(0 2px 4px #3b82f64d);animation:2s ease-in-out infinite carBounce}@keyframes carBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.register-left-panel .register-title{color:var(--white);letter-spacing:.05em;text-shadow:0 4px 20px #0003;margin:0;font-size:3.5rem;font-weight:900}.register-left-panel .register-subtitle{color:#ffffffe6;text-shadow:0 2px 10px #0000001a;margin-top:.75rem;font-size:1.125rem;font-weight:500}.register-left-features{flex-direction:column;gap:1.5rem;margin-top:3rem;display:flex}.register-feature-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:all .3s;animation:.6s backwards fadeInRight;display:flex}.register-feature-item:first-child{animation-delay:.2s}.register-feature-item:nth-child(2){animation-delay:.4s}.register-feature-item:nth-child(3){animation-delay:.6s}.register-feature-item:hover{background:#ffffff26;border-color:#fbbf2466;transform:translate(5px)}.register-feature-icon{background:var(--white);width:32px;height:32px;color:var(--primary-blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;font-weight:700;display:flex;box-shadow:0 2px 10px #0000001a}.register-feature-item p{color:var(--white);text-align:left;margin:0;font-size:1rem;font-weight:500}.register-right-panel{background:var(--white);flex:0 0 550px;justify-content:center;align-items:center;padding:2rem;display:flex}.register-card-wrapper{width:100%;max-width:460px}.register-card{background:var(--white);z-index:1;border-radius:20px;padding:2.5rem 2rem;position:relative;overflow:hidden;box-shadow:0 10px 40px -10px #3b82f626}.register-card:before{content:"";background:linear-gradient(90deg,var(--primary-blue),var(--accent-red),var(--accent-yellow),var(--primary-blue));z-index:-1;background-size:200% 100%;border-radius:20px;padding:3px;animation:3s linear infinite shimmer;position:absolute;top:0;right:0;bottom:0;left:0}.register-card:after{content:"";background:var(--white);z-index:-1;border-radius:17px;position:absolute;top:3px;right:3px;bottom:3px;left:3px}@keyframes shimmer{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-30%,-30%)scale(1.15)}}.register-form-header{text-align:center;margin-bottom:1.75rem}.register-form-title{color:var(--text-dark);margin:0;font-size:1.75rem;font-weight:700}.register-form-description{color:var(--text-gray);margin-top:.5rem;font-size:.9375rem}.register-form{flex-direction:column;gap:1.25rem;display:flex}.register-input-group{flex-direction:column;display:flex}.register-label{color:var(--text-dark);align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:flex}.register-label-icon{width:1rem;height:1rem;color:var(--primary-blue)}.register-input-wrapper{align-items:center;display:flex;position:relative}.register-input{background:var(--ultra-light-blue);width:100%;color:var(--text-dark);border:2px solid #0000;border-radius:12px;padding:.875rem 1rem .875rem 3rem;font-family:inherit;font-size:.9375rem;transition:all .3s}.register-input::-moz-placeholder{color:var(--text-gray);opacity:.5}.register-input::placeholder{color:var(--text-gray);opacity:.5}.register-input:focus{border-color:var(--primary-blue);background:var(--white);outline:none;box-shadow:0 0 0 4px #3b82f61a}.register-input-icon-wrapper{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;left:1rem}.register-input-icon{width:1.125rem;height:1.125rem;color:var(--primary-blue);opacity:.6;transition:all .3s}.register-input:focus+.register-input-icon-wrapper .register-input-icon{opacity:1;transform:scale(1.1)}.register-button{background:linear-gradient(135deg,var(--primary-blue),var(--dark-blue));width:100%;color:var(--white);cursor:pointer;letter-spacing:.025em;border:none;border-radius:12px;margin-top:.5rem;padding:.875rem;font-size:1rem;font-weight:700;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 15px -3px #3b82f666}.register-button:disabled{opacity:.6;cursor:not-allowed}.register-spinner{width:1.125rem;height:1.125rem;margin-right:.5rem;animation:1s linear infinite spin}.register-divider-wrapper{text-align:center;margin:1.5rem 0;position:relative}.register-divider-line{width:100%;position:absolute;top:50%;left:0}.register-divider-border{background:linear-gradient(90deg,transparent,var(--border-color),transparent);height:1px}.register-divider-text-wrapper{padding:0 1rem;display:inline-block;position:relative}.register-divider-text{color:var(--text-gray);background:var(--white);border:1px solid var(--border-color);border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.register-signup{text-align:center}.register-signup-link{color:var(--primary-blue);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.9375rem;font-weight:600;transition:all .2s;display:inline-flex}.register-signup-link:hover{color:var(--accent-red);background:var(--ultra-light-blue)}.register-footer{color:var(--text-gray);text-align:center;border-top:1px solid #cbd5e180;margin-top:1.5rem;padding-top:1.25rem;font-size:.75rem}.register-footer p{margin:0 0 .5rem}.register-footer-links{justify-content:center;align-items:center;gap:.5rem;display:flex}.register-footer-links a{color:var(--primary-blue);text-decoration:none;transition:color .2s}.register-footer-links a:hover{color:var(--accent-red)}@media (max-width:1024px){.register-left-panel{flex:0 0 45%}.register-right-panel{flex:0 0 55%}.register-left-panel .register-title{font-size:3rem}.register-left-features{gap:1rem;margin-top:2rem}}@media (max-width:768px){.register-container{flex-direction:column}.register-left-panel{flex:none;min-height:40vh;padding:2rem 1.5rem}.register-right-panel{flex:1;padding:2rem 1.5rem}.register-left-panel .register-title{font-size:2.5rem}.register-left-panel .register-subtitle{font-size:1rem}.register-left-features{gap:.75rem;margin-top:1.5rem}.register-feature-item{padding:.75rem 1rem}.register-card{border-radius:16px;padding:2rem 1.5rem}.register-form-title{font-size:1.5rem}}@media (max-width:640px){.register-left-panel{min-height:35vh;padding:1.5rem 1rem}.register-left-panel .register-icon-wrapper{width:80px;height:80px}.register-left-panel .register-icon-inner{width:64px;height:64px}.register-left-panel .register-car-icon{width:36px;height:36px}.register-left-panel .register-title{font-size:2rem}.register-left-features{display:none}.register-card{border-radius:16px;padding:1.5rem 1.25rem}.register-form-title{font-size:1.25rem}}@media (max-width:400px){.register-card{padding:1.25rem 1rem}}.register-terms-container{background:linear-gradient(135deg,var(--ultra-light-blue),#fef3c7);border:2px solid var(--light-blue);border-radius:12px;margin:1.5rem 0;padding:1rem;transition:all .3s}.register-terms-container:hover{border-color:var(--primary-blue);box-shadow:0 4px 15px #3b82f61a}.register-terms-label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:flex-start;gap:.75rem;display:flex}.register-terms-checkbox{flex-shrink:0;margin-top:2px}.register-checkbox-icon{width:22px;height:22px;transition:all .3s}.register-checkbox-unchecked{color:var(--text-gray)}.register-checkbox-checked{color:var(--primary-blue);animation:.3s checkboxPop}@keyframes checkboxPop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.register-terms-text{color:var(--text-dark);flex:1;font-size:.9rem;line-height:1.6}.register-terms-link{color:var(--primary-blue);border-bottom:2px solid #0000;padding-bottom:1px;font-weight:700;text-decoration:none;transition:all .2s}.register-terms-link:hover{color:var(--accent-red);border-bottom-color:var(--accent-red)}.login-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;background:linear-gradient(135deg,#94a3b8,#64748b)}.login-button:disabled:hover{transform:none}@media (max-width:640px){.register-terms-container{padding:.875rem}.register-terms-text{font-size:.85rem}.register-checkbox-icon{width:20px;height:20px}}.admin-dashboard-container{background:var(--construction-paper-blue);background-image:repeating-linear-gradient(45deg,#0000,#0000 35px,#ffffff1a 35px,#ffffff1a 70px),repeating-linear-gradient(-45deg,#0000,#0000 35px,#ffffff0d 35px,#ffffff0d 70px);min-height:100vh;padding:2rem;position:relative;overflow:hidden}.admin-dashboard-container:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:absolute;top:0;right:0;bottom:0;left:0}.admin-dashboard-container:after{content:"📌 📌 📌 📌 📌";text-align:center;letter-spacing:3rem;opacity:.6;z-index:0;font-size:1.5rem;position:absolute;top:1rem;left:0;right:0}.admin-header{text-align:center;margin-top:2rem;margin-bottom:3rem;animation:.6s fadeInDown}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.admin-header h1{color:var(--crayon-red);text-transform:uppercase;letter-spacing:.05em;text-shadow:3px 3px 0 var(--school-bus-yellow),6px 6px 0 var(--crayon-blue);text-align:"center";margin:0;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:3rem;font-weight:900;transform:rotate(0)}.admin-header-subtitle{color:var(--text-dark);background:var(--white);border:3px dashed var(--crayon-blue);box-shadow:var(--shadow-paper);border-radius:20px;margin-top:1rem;padding:.5rem 1.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.25rem;font-weight:700;display:inline-block}.admin-header-sticky{z-index:999;background:var(--construction-paper-blue);margin:-2rem 0 2rem;padding:2rem 0 4rem;position:sticky;top:5px}.control-bar{align-items:stretch;gap:1rem;width:100%;display:flex}.control-bar>*{flex-direction:column;flex:1;min-width:0;display:flex}.compact-session-card{background:var(--school-bus-yellow);border:5px solid var(--text-dark);box-shadow:var(--shadow-raised);color:var(--text-dark);border-radius:16px;flex-direction:column;justify-content:space-between;min-height:100px;padding:.75rem 1rem;animation:.6s slideInUp;display:flex;position:relative;overflow:hidden}.compact-session-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.compact-session-icon{font-size:1.2rem;line-height:1}.compact-session-title{text-transform:uppercase;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:.9rem;font-weight:900;line-height:1.2}.compact-session-name{margin-bottom:.25rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9rem;font-weight:700;line-height:1.2}.compact-session-time{opacity:.8;margin-bottom:.4rem;font-size:.75rem;font-weight:600;line-height:1.2}.compact-session-stats{background:var(--white);border:4px solid var(--text-dark);border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.4rem .75rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;display:flex;box-shadow:0 4px #00000026}.compact-stats-icon{font-size:1rem;line-height:1}.compact-stats-text{color:var(--crayon-red);white-space:nowrap;font-size:1rem;font-weight:900;line-height:1}.compact-end-session{background:var(--apple-red);color:#fff;border:5px solid var(--text-dark);cursor:pointer;box-shadow:var(--shadow-raised);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:100px;padding:.75rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;transition:all .2s;display:flex}.compact-end-session:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 12px #0003}.compact-end-session:active:not(:disabled){transform:translateY(0);box-shadow:0 4px #00000026}.compact-end-icon{margin-bottom:.35rem;font-size:1.8rem}.compact-end-text{text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:900;line-height:1.3}.compact-notification-wrapper{min-height:100px;position:relative}.compact-notif-btn{background:var(--white);border:5px solid var(--text-dark);width:100%;height:100%;color:var(--text-dark);cursor:pointer;box-shadow:var(--shadow-raised);-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:800;transition:all .2s;display:flex}.compact-notif-btn:hover{background:#f0f4ff;transform:translateY(-4px);box-shadow:0 12px #0003}.compact-notif-btn-open{background:#ede9fe;border-color:#7c3aed;box-shadow:0 8px 16px #7c3aed40}.compact-notif-icon{font-size:1.8rem;line-height:1}.compact-notif-label{text-transform:uppercase;font-size:.85rem;font-weight:900;line-height:1.2}.compact-notif-count{color:var(--text-medium);font-size:.75rem;font-weight:700;line-height:1}.compact-notif-btn .notif-btn-badge{color:#fff;border:4px solid var(--text-dark);background:#7c3aed;border-radius:50%;min-width:28px;height:28px;font-size:.9rem;font-weight:900;line-height:28px;animation:.3s cubic-bezier(.68,-.55,.265,1.55) badgePop;position:absolute;top:-8px;right:-8px}.lane-meter{flex-direction:column;flex-shrink:0;min-height:100px;display:flex;position:relative}.lane-meter-compact{background:var(--white);border:5px solid var(--text-dark);cursor:pointer;box-shadow:var(--shadow-raised);-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:16px;flex-direction:column;flex:1;gap:.5rem;padding:.75rem 1rem;transition:all .25s;display:flex}.lane-meter-compact:hover{transform:translateY(-3px);box-shadow:0 10px 20px #00000026}.lane-meter-compact.meter-expanded{background:var(--construction-paper-blue);border-color:var(--crayon-blue)}.lane-meter-compact.lane-meter-complete{background:var(--crayon-green);color:var(--white);cursor:default;animation:2s ease-in-out infinite completePulse}.lane-meter-compact.lane-meter-complete:hover{transform:translateY(0)}@keyframes completePulse{0%,to{opacity:1}50%{opacity:.85}}.meter-top-row{align-items:center;gap:.75rem;display:flex}.meter-icon{flex-shrink:0;margin-top:2rem;font-size:1.5rem;line-height:1}.meter-content{flex:1;min-width:0;margin-top:2rem}.meter-label-top{color:var(--text-medium);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.75rem;font-weight:800;line-height:1.2}.lane-meter-complete .meter-label-top{color:#ffffffe6}.meter-time{color:var(--crayon-red);margin-top:1rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:900;line-height:1.2}.lane-meter-complete .meter-time{color:var(--white)}.meter-label{color:var(--text-medium);margin-top:.25rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.75rem;font-weight:700;line-height:1.2}.lane-meter-complete .meter-label{color:var(--white);font-size:1rem}.meter-expand-icon{color:var(--text-medium);flex-shrink:0;font-size:.9rem;transition:transform .25s}.meter-expanded .meter-expand-icon{transform:rotate(90deg)}.lane-meter-details{background:var(--white);border:4px solid var(--crayon-blue);box-shadow:var(--shadow-raised);z-index:1000;border-radius:16px;margin-top:.5rem;animation:.3s meterSlideIn;position:absolute;top:100%;left:0;right:0;overflow:hidden}@keyframes meterSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.meter-detail-header{background:var(--crayon-blue);color:var(--white);border-bottom:3px solid var(--text-dark);padding:.75rem 1rem}.meter-detail-header h4{text-transform:uppercase;margin:0;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:900}.meter-detail-body{flex-direction:column;gap:.85rem;padding:1rem;display:flex}.detail-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.detail-label{color:var(--text-medium);font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9rem;font-weight:700}.detail-value{color:var(--text-dark);text-align:right;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:800}.detail-window{font-size:.85rem;font-weight:700}.confidence-pill{text-transform:uppercase;border:2px solid;border-radius:12px;padding:.35rem .75rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.8rem;font-weight:900;display:inline-block}.spinner-small{border:3px solid var(--school-bus-yellow);border-top-color:var(--crayon-red);border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}.session-card-active{background:var(--school-bus-yellow);border:6px solid var(--text-dark);box-shadow:var(--shadow-raised);color:var(--text-dark);border-radius:24px;margin-bottom:2rem;padding:2rem;animation:.6s slideInUp;position:relative;overflow:hidden;transform:rotate(0)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.session-card-active:before{content:"";background:linear-gradient(90deg,var(--text-dark)2px,transparent 2px),linear-gradient(0deg,var(--text-dark)2px,transparent 2px);border:3px solid var(--text-dark);opacity:.3;background-size:20px 30px;width:100px;height:60px;position:absolute;top:1rem;right:1rem}.session-card-active:after{content:"🚌";opacity:.15;font-size:8rem;animation:2s ease-in-out infinite busShake;position:absolute;bottom:-1rem;right:-1rem}@keyframes busShake{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-2px)rotate(-1deg)}75%{transform:translate(2px)rotate(1deg)}}.session-card-active h2{text-transform:uppercase;color:var(--text-dark);align-items:center;gap:.75rem;margin:0 0 .75rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.75rem;font-weight:900;display:flex}.session-card-active h2:before{content:"✓";background:var(--crayon-green);border:4px solid var(--text-dark);width:44px;height:44px;color:var(--white);box-shadow:var(--shadow-crayon);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:900;display:inline-flex}.session-name{color:var(--text-dark);margin-bottom:.75rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.375rem;font-weight:700}.session-timestamp{color:var(--text-dark);opacity:.8;margin-bottom:1.5rem;font-size:1rem;font-weight:600}.session-stats{background:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:20px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:1.25rem;min-width:280px;margin-bottom:1.5rem;margin-right:45px;padding:1.25rem 2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;display:inline-flex}.session-stats-icon{font-size:3rem;line-height:1}.session-stats-text{color:var(--crayon-red);white-space:nowrap;font-size:2rem;font-weight:900;line-height:1}.session-card-inactive{background:var(--white);background-image:linear-gradient(transparent 0%,transparent calc(100% - 1px),var(--construction-paper-blue) calc(100% - 1px));border:6px solid var(--text-dark);box-shadow:var(--shadow-raised);text-align:center;background-size:100% 2.5rem;border-radius:24px;margin-bottom:2rem;padding:3rem 2rem;animation:.6s slideInUp;position:relative}.session-card-inactive:before{content:"";background:var(--crayon-red);width:3px;position:absolute;top:2rem;bottom:2rem;left:3rem}.session-card-inactive h2{color:var(--text-dark);text-transform:uppercase;margin:0 0 1rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:2rem;font-weight:900}.session-card-inactive p{color:var(--text-medium);margin-bottom:2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.125rem;font-weight:600}.session-start-form{max-width:500px;margin:0 auto}.session-input-wrapper{margin-bottom:1.5rem;position:relative}.session-input{border:5px solid var(--text-dark);background:var(--manila-paper);width:100%;color:var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;padding:1rem 1.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.125rem;font-weight:700;transition:all .3s}.session-input::-moz-placeholder{color:var(--text-medium);opacity:.7}.session-input::placeholder{color:var(--text-medium);opacity:.7}.session-input:focus{background:var(--white);outline:none;transform:translateY(-4px);box-shadow:0 8px #00000026}.session-start-button{text-transform:uppercase;width:100%;color:var(--white);background:var(--crayon-green);border:5px solid var(--text-dark);cursor:pointer;box-shadow:var(--shadow-crayon);border-radius:16px;padding:1.25rem 2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.375rem;font-weight:900;transition:all .2s;position:relative}.session-start-button:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 10px #00000026}.session-start-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px #00000026}.session-start-button:disabled{background:var(--pencil-gray);cursor:not-allowed;opacity:.6}.queue-container,.special-queue-container{background:var(--white);border:6px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:24px;padding:2rem;animation:.6s .2s backwards slideInUp}.queue-header-with-tabs{margin-bottom:2rem}.queue-header-top{border-bottom:4px dashed var(--crayon-blue);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.queue-title{color:var(--text-dark);text-transform:uppercase;align-items:center;gap:.75rem;margin:0;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:2.25rem;font-weight:900;display:flex}.queue-badge{background:var(--apple-red);min-width:56px;height:56px;color:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:50%;justify-content:center;align-items:center;padding:0 1rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.5rem;font-weight:900;display:inline-flex}.queue-badge.badge-warning{background:var(--crayon-orange)}.queue-badge.badge-success{background:var(--crayon-green)}.queue-tabs-inline{flex-wrap:wrap;gap:.75rem;display:flex}.queue-tab-inline{color:var(--text-dark);background:var(--manila-paper);border:4px solid var(--text-dark);cursor:pointer;white-space:nowrap;border-radius:16px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:800;transition:all .2s;display:flex;position:relative;box-shadow:0 4px #0000001a}.queue-tab-inline:hover{transform:translateY(-3px);box-shadow:0 7px #00000026}.queue-tab-inline.active{background:var(--crayon-blue);color:var(--white);transform:translateY(-3px);box-shadow:0 7px #00000026}.queue-tab-inline:active{transform:translateY(0);box-shadow:0 2px #0000001a}.tab-icon{font-size:1.2rem;line-height:1}.tab-label{text-transform:uppercase;letter-spacing:.5px;font-size:.95rem;font-weight:900}.tab-count{opacity:.8;font-size:.85rem;font-weight:700}.queue-tab-inline.active .tab-count{opacity:1}.notification-badge{color:#fff;text-align:center;z-index:2;border:3px solid #2c3e50;border-radius:50%;min-width:20px;height:20px;font-size:.75rem;font-weight:900;line-height:20px;animation:.3s cubic-bezier(.68,-.55,.265,1.55) badgePop,2s ease-in-out .3s infinite badgeBounce;position:absolute;top:-6px;right:-6px}.notification-badge.notification-early{background:#1cac78}.notification-badge.notification-hold{background:#ff7538}.queue-tab-inline.has-notification{box-shadow:0 0 8px #1cac7873,0 4px #0000001a}.queue-tab-inline.has-notification.notification-hold{box-shadow:0 0 8px #ff753873,0 4px #0000001a}.queue-header{border-bottom:4px dashed var(--crayon-blue);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.queue-loading{text-align:center;color:var(--text-medium);padding:4rem 2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.25rem;font-weight:700}.queue-loading-spinner{border:6px solid var(--school-bus-yellow);border-top-color:var(--crayon-red);border-right-color:var(--crayon-blue);border-bottom-color:var(--crayon-green);border-left-color:var(--crayon-orange);border-radius:50%;width:56px;height:56px;margin-bottom:1rem;animation:1.5s linear infinite spin;display:inline-block}.queue-empty{text-align:center;padding:4rem 2rem}.queue-empty-icon{margin-bottom:1rem;font-size:6rem;animation:2s ease-in-out infinite sway}@keyframes sway{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.queue-empty-text{color:var(--text-medium);font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.5rem;font-weight:700}.queue-list{flex-direction:column;gap:1.75rem;display:flex}.queue-item{border:5px solid var(--text-dark);background:var(--manila-paper);box-shadow:var(--shadow-crayon);border-radius:20px;justify-content:space-between;align-items:center;padding:1rem;transition:all .3s;animation:.4s backwards fadeInSlide;display:flex;position:relative}.queue-item:before{content:"";border-radius:20px 0 0 20px;width:12px;position:absolute;top:0;bottom:0;left:0}.queue-item:first-child:before{background:var(--crayon-red)}.queue-item:nth-child(2):before{background:var(--crayon-orange)}.queue-item:nth-child(3):before{background:var(--school-bus-yellow)}.queue-item:nth-child(4):before{background:var(--crayon-green)}.queue-item:nth-child(5):before{background:var(--crayon-blue)}.queue-item:nth-child(n+6):before{background:var(--crayon-purple)}.queue-item:first-child{animation-delay:.1s}.queue-item:nth-child(2){animation-delay:.2s}.queue-item:nth-child(3){animation-delay:.3s}.queue-item:nth-child(4){animation-delay:.4s}.queue-item:nth-child(5){animation-delay:.5s}.queue-item:nth-child(n+6){animation-delay:.6s}@keyframes fadeInSlide{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.queue-item:hover{transform:translateY(-6px)rotate(-1deg);box-shadow:0 12px #00000026}.queue-item.early-item{border-color:var(--crayon-green);background:#f0fff4}.queue-item.early-item:before{background:var(--crayon-green)}.queue-item.hold-item{border-color:var(--crayon-orange);background:#fffaf0}.queue-item.hold-item:before{background:var(--crayon-orange)}.queue-item-dismissed{opacity:.65;border-color:var(--pencil-gray);background:#e8e8e8}.queue-item-dismissed:before{background:var(--pencil-gray)}.queue-item-dismissed:hover{transform:none}.queue-item-position{background:var(--white);border:5px solid var(--text-dark);width:72px;height:72px;color:var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:2rem;font-weight:900;display:flex;position:relative}.queue-item-position.early-position{background:var(--crayon-green);color:var(--white)}.queue-item-position.hold-position{background:var(--crayon-orange);color:var(--white)}.queue-item:first-child .queue-item-position{background:var(--school-bus-yellow);animation:1s ease-in-out infinite wiggleRotate}.queue-item:first-child .queue-item-position:after{content:"⭐";font-size:1.5rem;animation:3s linear infinite spinStar;position:absolute;top:-8px;right:-8px}@keyframes wiggleRotate{0%,to{transform:rotate(-5deg)scale(1)}50%{transform:rotate(5deg)scale(1.05)}}.queue-item-number{color:var(--crayon-red);letter-spacing:.05em;text-transform:uppercase;text-shadow:2px 2px #0000001a;word-break:break-word;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:100%;margin:0 0 .25rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.5rem;font-weight:900;display:flex}.queue-item-name{color:var(--text-dark);word-break:break-word;overflow-wrap:break-word;max-width:100%;margin:0 0 .5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.125rem;font-weight:700}.queue-item-time{color:var(--text-medium);word-break:break-all;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:100%;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9375rem;font-weight:600;display:flex}.queue-item-time:before{content:"🕐";font-size:1.125rem}.queue-item-notes{color:var(--text-medium);border-left:3px solid var(--crayon-orange);background:#ffffffb3;border-radius:8px;margin-top:.5rem;padding:.5rem 1rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.875rem;font-style:italic}.intent-badge{text-transform:uppercase;border:3px solid var(--text-dark);white-space:nowrap;border-radius:12px;padding:.25rem .75rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.75rem;font-weight:900;box-shadow:0 3px #00000026}.intent-badge.badge-early{background:var(--crayon-green);color:var(--white)}.intent-badge.badge-late{background:var(--crayon-orange);color:var(--white)}.dismiss-button,.release-button{text-transform:uppercase;color:var(--white);background:var(--crayon-green);border:5px solid var(--text-dark);cursor:pointer;box-shadow:var(--shadow-crayon);border-radius:16px;flex-shrink:0;padding:1rem 2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.125rem;font-weight:900;transition:all .2s}.dismiss-button:hover,.release-button:hover{background:var(--crayon-blue);transform:translateY(-4px);box-shadow:0 10px #00000026}.dismiss-button:active,.release-button:active{transform:translateY(0);box-shadow:0 4px #00000026}.release-button{background:var(--crayon-blue)}.release-button:hover{background:var(--crayon-purple)}.dismissed-badge{color:var(--white);background:var(--crayon-green);border:5px solid var(--text-dark);box-shadow:var(--shadow-crayon);text-transform:uppercase;border-radius:16px;flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.25rem;font-weight:900;display:flex}.dismissed-badge:before{content:"✓";font-size:1.5rem}@media (max-width:1024px){.control-bar{flex-wrap:wrap}.control-bar>*{flex:calc(50% - .5rem);min-width:calc(50% - .5rem)}}@media (max-width:768px){.admin-dashboard-container{padding:1.5rem 1rem}.admin-header h1{text-shadow:2px 2px 0 var(--school-bus-yellow),4px 4px 0 var(--crayon-blue);font-size:2.25rem}.control-bar{flex-direction:column}.control-bar>*{flex:auto;min-width:100%}.session-card-active,.session-card-inactive,.queue-container,.special-queue-container{border-width:5px;padding:1.5rem}.queue-header,.queue-header-top{flex-direction:column;align-items:flex-start;gap:1rem}.queue-title{font-size:1.75rem}.queue-tabs-inline{width:100%}.queue-tab-inline{flex:1;justify-content:center;min-width:0}.queue-item{flex-direction:column;align-items:flex-start;gap:1rem}.queue-item-content{width:100%}.queue-item-number{font-size:1.25rem}.queue-item-name{font-size:1rem}.queue-item-time{font-size:.875rem}.dismiss-button,.release-button,.dismissed-badge{justify-content:center;width:100%}}@media (max-width:480px){.admin-header h1{font-size:1.75rem}.admin-header-subtitle{font-size:1rem}.queue-tabs-inline{flex-direction:column}.queue-tab-inline{width:100%}.queue-item-position,.queue-item-position.early-position,.queue-item-position.hold-position{border-width:4px;width:56px;height:56px;font-size:1.5rem}.queue-item-number{font-size:1.125rem}.queue-item-name{font-size:.9375rem}.queue-item-time{font-size:.8125rem}}.notif-dropdown{z-index:9999;background:#fff;border:3px solid #2c3e50;border-radius:16px;flex-direction:column;width:380px;max-width:95vw;max-height:480px;animation:.22s cubic-bezier(.34,1.56,.64,1) forwards dropIn;display:flex;position:absolute;top:calc(100% + 6px);left:auto;right:0;overflow:hidden;box-shadow:0 12px 32px #0000002e}@keyframes dropIn{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.notif-dropdown-header{background:#f8f9fa;border-bottom:2px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.notif-dropdown-title{color:#2c3e50;font-size:.95rem;font-weight:800}.notif-dropdown-count{color:#6c757d;background:#e9ecef;border-radius:10px;padding:.15rem .55rem;font-size:.82rem;font-weight:700}.notif-dropdown-empty{text-align:center;flex-shrink:0;padding:1.8rem 1rem}.notif-dropdown-empty-icon{margin-bottom:.4rem;font-size:2rem}.notif-dropdown-empty-text{color:#2c3e50;margin-bottom:.25rem;font-size:1rem;font-weight:700}.notif-dropdown-empty-sub{color:#999;font-size:.85rem}.notif-plan-list{flex:auto;min-height:0;padding:.75rem .85rem .9rem;overflow:hidden auto}.notif-plan-list::-webkit-scrollbar{width:10px}.notif-plan-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px;margin:4px 0}.notif-plan-list::-webkit-scrollbar-thumb{background:#c1c1c1;border:2px solid #f1f1f1;border-radius:10px}.notif-plan-list::-webkit-scrollbar-thumb:hover{background:#999}.notif-plan-list{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1}.notif-plan-card{background:#fff;border:3px solid #dee2e6;border-radius:14px;flex-shrink:0;margin-bottom:.75rem;transition:box-shadow .2s;position:relative;overflow:hidden}.notif-plan-card:last-child{margin-bottom:0}.notif-plan-card:hover{box-shadow:0 4px 14px #0000001a}.notif-card-early{border-left:6px solid #1cac78}.notif-card-late{border-left:6px solid #ff7538}.notif-card-new{animation:1.8s ease-out forwards cardFlash}@keyframes cardFlash{0%{background:#d4edda}to{background:#fff}}.notif-card-body{padding:.85rem 1rem}.notif-card-top{align-items:center;gap:.55rem;margin-bottom:.4rem;display:flex}.notif-intent-badge{border-radius:16px;padding:.22rem .65rem;font-size:.82rem;font-weight:800;display:inline-block}.badge-early{color:#155724;background:#d4edda;border:2px solid #1cac78}.badge-late{color:#856404;background:#fff3cd;border:2px solid #ff7538}.notif-new-tag{text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#7c3aed;border:2px solid #2c3e50;border-radius:10px;padding:.18rem .5rem;font-size:.72rem;font-weight:900}.notif-student-name{color:#2c3e50;margin-bottom:.35rem;font-size:1.08rem;font-weight:800}.notif-grade{color:#6c757d;margin-left:.6rem;font-size:.88rem;font-weight:600}.notif-details{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.notif-detail-chip{color:#2c3e50;background:#f0f4ff;border:2px solid #c8d6f0;border-radius:14px;padding:.2rem .6rem;font-size:.84rem;font-weight:700}.notif-detail-chip.notif-chip-note{color:#e65100;background:#fff8ec;border-color:#ffe0b2}.notif-card-footer{border-top:2px solid #eee;justify-content:space-between;align-items:center;margin-top:.45rem;padding-top:.45rem;display:flex}.notif-parent{color:#6c757d;font-size:.82rem;font-weight:600}.notif-time{color:#adb5bd;font-size:.8rem;font-weight:600}.success-content{background:var(--crayon-green);color:#fff;border:6px solid var(--text-dark);border-radius:24px;align-items:center;gap:1.3rem;padding:1.2rem 2.8rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;display:flex;box-shadow:0 10px #00000040}.success-icon{font-size:3.5rem}.success-content h3{text-transform:uppercase;margin:0;font-size:1.7rem}.success-content p{opacity:.95;margin:.3rem 0 0;font-size:1.2rem}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%,60px)}to{opacity:1;transform:translate(-50%)}}@keyframes fadeOut{to{opacity:0;transform:translate(-50%,30px)scale(.95)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto}.confirm-modal{border:8px solid var(--text-dark);background:#fff;border-radius:32px;width:90%;max-width:500px;max-height:90vh;margin-top:4rem;padding:2.5rem 2rem;position:relative;overflow-y:auto;box-shadow:0 12px #00000040,0 20px 40px #0000004d}.modal-header{text-align:center;margin-bottom:1.5rem}.modal-header h2{color:var(--apple-red);text-transform:uppercase;text-shadow:3px 3px 0 var(--school-bus-yellow);margin:0;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:2.3rem}.modal-emoji{margin-top:.5rem;font-size:4rem;display:block}.modal-body{text-align:center;margin:1.5rem 0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.35rem}.warning-text{color:var(--apple-red);margin-top:.8rem;font-size:1.5rem;font-weight:900}.modal-actions{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1.5rem;display:flex}.modal-btn{text-transform:uppercase;border:6px solid var(--text-dark);cursor:pointer;border-radius:24px;padding:1.1rem 2.3rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.3rem;font-weight:900;transition:all .2s}.cancel-btn{background:var(--crayon-green);color:#fff}.cancel-btn:hover{background:var(--crayon-blue);transform:translateY(-4px)}.confirm-btn{background:var(--apple-red);color:#fff}.confirm-btn:hover:not(:disabled){background:#c53030;transform:translateY(-4px)}@media (max-width:768px){.confirm-modal{width:95%;max-height:85vh}.modal-header{margin-bottom:1rem}.modal-header h2{font-size:1.8rem}.modal-emoji{margin-top:.25rem;font-size:2.5rem}.modal-body{margin:1rem 0;font-size:1.1rem}.warning-text{margin-top:.5rem;font-size:1.2rem}}@media (max-width:480px){.confirm-modal{width:96%;padding:2rem 1.5rem}.modal-header{margin-bottom:.75rem}.modal-header h2{font-size:1.5rem}.modal-emoji{margin-top:.25rem;font-size:2rem}.modal-body{margin:.75rem 0;font-size:1rem}.warning-text{margin-top:.4rem;font-size:1.1rem}.modal-btn{padding:.85rem 1.5rem;font-size:1.1rem}}@media (max-height:600px){.modal-overlay{padding:.5rem}.confirm-modal{max-height:95vh;padding:1.5rem 1rem}.modal-header{margin-bottom:.5rem}.modal-header h2{font-size:1.4rem}.modal-emoji{margin-top:.15rem;font-size:1.8rem}.modal-body{margin:.5rem 0;font-size:.95rem}.warning-text{margin-top:.3rem;font-size:1rem}.modal-actions{gap:.75rem;margin-top:.75rem}.modal-btn{padding:.8rem 1.5rem;font-size:1rem}}@media (max-height:500px){.confirm-modal{padding:1rem .75rem}.modal-header{margin-bottom:.4rem}.modal-header h2{font-size:1.2rem}.modal-emoji{margin-top:.1rem;font-size:1.5rem}.modal-body{margin:.4rem 0;font-size:.85rem}.warning-text{margin-top:.2rem;font-size:.9rem}.modal-actions{gap:.5rem;margin-top:.5rem}.modal-btn{border-width:5px;padding:.7rem 1.2rem;font-size:.9rem}}.admin-notification-toast{z-index:9999;pointer-events:none;animation:.4s cubic-bezier(.68,-.55,.265,1.55) forwards slideInRight,.4s ease-in 4.6s forwards fadeOutRight;position:fixed;top:2rem;right:2rem}.admin-notification-content{background:#fff;border:4px solid #2c3e50;border-radius:16px;align-items:center;gap:1rem;min-width:280px;max-width:380px;padding:1.1rem 1.4rem;display:flex;box-shadow:0 8px 24px #0000002e}.admin-notification-content.notification-info{background:linear-gradient(135deg,#e8f0fe,#fff 40%);border-color:#1f75fe}.admin-notification-content.notification-warning{background:linear-gradient(135deg,#fff3e0,#fff 40%);border-color:#ff7538}.admin-notification-content.notification-success{background:linear-gradient(135deg,#e8f5e9,#fff 40%);border-color:#1cac78}.notification-icon{flex-shrink:0;font-size:1.6rem}.notification-text{color:#2c3e50;font-size:.95rem;font-weight:700;line-height:1.35}@keyframes slideInRight{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}@keyframes fadeOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(60%)}}@keyframes badgePop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes badgeBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.08)}}.live-map-section{background:var(--white);border:6px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:24px;margin-top:2rem;padding:2rem;animation:.6s .4s backwards slideInUp}.map-header{margin-bottom:1.5rem}.map-header h2{color:var(--text-dark);text-transform:uppercase;margin:0;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:2rem;font-weight:900}.map-stats{flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;display:flex}.map-stats .stat-item{background:var(--manila-paper);border:4px solid var(--text-dark);min-width:150px;box-shadow:var(--shadow-crayon);border-radius:16px;flex:1;padding:1rem 1.5rem}.map-stats .stat-label{color:var(--text-medium);text-transform:uppercase;margin-bottom:.35rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.85rem;font-weight:700;display:block}.map-stats .stat-value{color:var(--crayon-blue);font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.8rem;font-weight:900;display:block}.live-map-container{border:5px solid var(--text-dark);background:var(--construction-paper-blue);border-radius:16px;min-height:400px;overflow:hidden}@media (max-width:768px){.live-map-section{margin-top:1.5rem;padding:1.5rem}.map-header h2{font-size:1.5rem}.map-stats{gap:1rem}.map-stats .stat-item{min-width:120px}.map-stats .stat-value{font-size:1.5rem}.live-map-container{min-height:300px}}.pre-session-notification-wrapper{justify-content:center;align-items:center;width:100%;margin-top:1.5rem;margin-bottom:1rem;animation:.5s fadeInDown;display:flex;position:relative}.pre-session-notif-btn{background:var(--white);border:2px solid var(--text-dark);width:auto;min-width:140px;color:var(--text-dark);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:12px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem .9rem;font-family:Nunito,Quicksand,sans-serif;font-size:.75rem;font-weight:600;transition:all .2s;display:flex;position:relative;box-shadow:0 4px #00000026}.pre-session-notif-btn:hover{background:#f8f9ff;transform:translateY(-3px);box-shadow:0 8px 12px #0003}.pre-session-notif-btn-open{background:#ede9fe;border-color:#7c3aed;transform:translateY(-2px);box-shadow:0 6px 16px #7c3aed40}.pre-session-notif-icon{font-size:1rem;line-height:1;animation:2s ease-in-out infinite bellRing}@keyframes bellRing{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.pre-session-notif-label{text-transform:uppercase;letter-spacing:.4px;font-size:.7rem;font-weight:700;line-height:1}.pre-session-notif-count{color:var(--text-medium);font-size:.7rem;font-weight:600;line-height:1}.pre-session-notif-badge{color:#fff;border:2px solid var(--text-dark);text-align:center;background:#7c3aed;border-radius:50%;min-width:20px;height:20px;font-size:.7rem;font-weight:700;line-height:20px;animation:2s ease-in-out infinite badgePulse;position:absolute;top:-6px;right:-6px}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.pre-session-notification-wrapper .notif-dropdown{width:380px;max-width:95vw;top:calc(100% + 10px);left:50%;right:auto;transform:translate(-50%)}@media (max-width:1024px){.pre-session-notification-wrapper{margin-top:1rem}.pre-session-notification-wrapper .notif-dropdown{width:90vw;max-width:400px}}@media (max-width:768px){.pre-session-notification-wrapper{margin-top:.75rem;margin-bottom:.75rem}.pre-session-notif-btn{min-width:120px;padding:.5rem .8rem;font-size:.7rem}.pre-session-notif-icon{font-size:.9rem}.pre-session-notif-label,.pre-session-notif-count{font-size:.65rem}.pre-session-notif-badge{min-width:18px;height:18px;font-size:.65rem;line-height:18px;top:-5px;right:-5px}.pre-session-notification-wrapper .notif-dropdown{width:92vw;left:50%;transform:translate(-50%)}}@media (max-width:480px){.pre-session-notification-wrapper{margin-top:.5rem;margin-bottom:.5rem}.pre-session-notif-btn{gap:.3rem;min-width:100px;padding:.45rem .7rem;font-size:.65rem}.pre-session-notif-icon{font-size:.85rem}.pre-session-notif-label,.pre-session-notif-count{font-size:.6rem}.pre-session-notif-badge{border-width:2px;min-width:16px;height:16px;font-size:.6rem;line-height:16px}.pre-session-notification-wrapper .notif-dropdown{width:95vw}}@media (max-width:360px){.pre-session-notif-btn{min-width:90px;padding:.4rem .6rem;font-size:.6rem}.pre-session-notif-icon{font-size:.8rem}.pre-session-notif-label{font-size:.55rem}.pre-session-notif-count{display:none}}.queue-item-content{flex:0 auto;align-items:center;gap:1.5rem;min-width:0;padding-left:.5rem;display:flex}.queue-item-info{flex:1;min-width:0}.queue-item-number,.queue-item-name,.queue-item-time{white-space:normal;word-break:break-word;overflow-wrap:break-word}.queue-item-car-photo{flex-direction:row;flex-shrink:0;align-items:center;gap:10px;margin:0 1.5rem 0 1rem;display:flex}.queue-item-car-photo-spacer{flex-shrink:0;width:180px;margin:0 1.5rem 0 1rem}@media (max-width:768px){.queue-item-car-photo{justify-content:flex-start;width:100%;margin:0}.queue-item-car-photo-spacer{display:none}}@media (min-width:769px) and (max-width:1024px){.queue-item-car-photo{margin:0 1rem}.queue-item-car-photo img,.queue-item-car-photo>div:first-child>div{width:80px!important;height:80px!important}.queue-item{flex-direction:column;align-items:flex-start;gap:1rem}.queue-item-content{flex:auto;width:100%}.dismiss-button,.dismissed-badge{align-self:flex-end}}.analytics-container{background:var(--construction-paper-blue);background-image:repeating-linear-gradient(45deg,#0000,#0000 35px,#ffffff1a 35px,#ffffff1a 70px),repeating-linear-gradient(-45deg,#0000,#0000 35px,#ffffff0d 35px,#ffffff0d 70px);min-height:100vh;padding:2rem;position:relative;overflow-x:hidden}.analytics-container:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:absolute;top:0;right:0;bottom:0;left:0}.analytics-container:after{content:"📌 📌 📌 📌 📌";text-align:center;letter-spacing:3rem;opacity:.6;z-index:0;font-size:1.5rem;position:absolute;top:1rem;left:0;right:0}.analytics-wrapper{z-index:1;max-width:1200px;margin:0 auto;position:relative}.analytics-header{text-align:center;margin:2rem 0 3rem}.analytics-header h1{color:var(--crayon-red);text-transform:uppercase;letter-spacing:.05em;text-shadow:3px 3px 0 var(--school-bus-yellow),6px 6px 0 var(--crayon-blue);margin:0;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:3rem;font-weight:900}.analytics-header p{color:var(--text-dark);background:var(--white);border:3px dashed var(--crayon-blue);box-shadow:var(--shadow-crayon);border-radius:20px;margin-top:.75rem;padding:.5rem 1.5rem;font-size:1.25rem;font-weight:700;display:inline-block}.session-selector-card{background:var(--white);border:6px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:24px;margin-bottom:2.5rem;padding:2rem}.session-selector-card label{color:var(--crayon-blue);text-transform:uppercase;margin-bottom:1rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.5rem;font-weight:900;display:block}.session-selector-card select{border:5px solid var(--text-dark);background:var(--manila-paper);width:100%;max-width:500px;color:var(--text-dark);box-shadow:var(--shadow-crayon);cursor:pointer;border-radius:16px;padding:1rem 1.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.25rem;font-weight:700}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.75rem;margin-bottom:2.5rem;display:grid}.kpi-card{background:var(--white);border:6px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:20px;padding:1.75rem 2rem;transition:transform .2s;position:relative;overflow:hidden}.kpi-card:hover{transform:translateY(-6px)}.kpi-card:before{content:"";background:var(--crayon-orange);width:14px;position:absolute;top:0;bottom:0;left:0}.kpi-card:nth-child(2):before{background:var(--crayon-green)}.kpi-card:nth-child(3):before{background:var(--crayon-purple)}.kpi-title{color:var(--chalkboard-green);margin-bottom:.8rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.3rem;font-weight:900}.kpi-value{color:var(--crayon-red);text-shadow:2px 2px #0000001a;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:3.5rem;font-weight:900;line-height:1}.kpi-icon{opacity:.12;font-size:4.5rem;position:absolute;top:1.2rem;right:1.2rem}.chart-card{background:var(--white);border:6px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:24px;padding:2rem}.chart-title{color:var(--crayon-blue);text-transform:uppercase;margin-bottom:1.5rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:2.1rem;font-weight:900}.chart-title:before{content:"📈";margin-right:.8rem;font-size:2.3rem}.analytics-loading{text-align:center;color:var(--text-medium);padding:6rem 2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.6rem;font-weight:700}.loading-spinner{border:6px solid var(--school-bus-yellow);border-top-color:var(--crayon-red);border-radius:50%;width:60px;height:60px;margin:0 auto 1.5rem;animation:1.2s linear infinite spin}.no-data-message,.no-session-selected{text-align:center;background:var(--white);border:6px solid var(--text-dark);color:var(--text-medium);border-radius:24px;padding:5rem 2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.6rem}.no-data-icon{opacity:.6;margin-bottom:1rem;font-size:5rem}@media (max-width:768px){.analytics-container{padding:1.5rem 1rem}.analytics-header h1{font-size:2.4rem}.kpi-grid{gap:1.25rem}}@media (max-width:480px){.analytics-header h1{font-size:2rem}.kpi-value{font-size:2.8rem}.chart-card{padding:1.5rem}}.weekday-prediction-card{background:var(--white);border:6px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:24px;padding:2rem}.weekday-prediction-title{color:var(--crayon-blue);text-transform:uppercase;margin:0 0 1.25rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.8rem;font-weight:900}.wpd-table-wrapper{border:3px solid var(--text-dark);border-radius:16px;overflow-x:auto}.wpd-table{border-collapse:collapse;width:100%;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif}.wpd-table thead tr{background:var(--text-dark)}.wpd-table thead th{color:var(--white);text-transform:uppercase;letter-spacing:.07em;text-align:left;white-space:nowrap;padding:.65rem 1rem;font-size:.75rem;font-weight:800}.wpd-table tbody tr{border-bottom:2px solid #00000012;transition:background .15s}.wpd-table tbody tr:last-child{border-bottom:none}.wpd-table tbody td{color:var(--text-dark);vertical-align:middle;white-space:nowrap;padding:.6rem 1rem;font-size:.87rem;font-weight:700}.wpd-tr-today{background:#fff3cc}.wpd-tr-today td{font-weight:800}.wpd-tr-data{background:var(--white)}.wpd-tr-data:hover{background:var(--manila-paper)}.wpd-tr-nodata{opacity:.65;background:#fafafa}.wpd-day-badge{color:var(--white);letter-spacing:.03em;text-transform:uppercase;border-radius:8px;padding:.22rem .6rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:.72rem;font-weight:900;display:inline-block}.wpd-day-badge[data-day=Mon]{background:#1f75fe}.wpd-day-badge[data-day=Tue]{background:#1cac78}.wpd-day-badge[data-day=Wed]{background:#ff7538}.wpd-day-badge[data-day=Thu]{background:#926eae}.wpd-day-badge[data-day=Fri]{background:#ee204d}.wpd-today-tag{color:var(--crayon-orange);text-transform:uppercase;letter-spacing:.06em;vertical-align:middle;margin-left:.45rem;font-size:.67rem;font-weight:900;display:inline-block}.wpd-duration{color:var(--crayon-red);font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:.95rem;font-weight:900}.wpd-cars{color:var(--text-medium);font-size:.87rem;font-weight:700}.wpd-nodata{color:#bbb;font-weight:600}@media (max-width:600px){.weekday-prediction-card{padding:1.25rem}.wpd-table thead th,.wpd-table tbody td{padding:.5rem .6rem;font-size:.76rem}.weekday-prediction-title{font-size:1.4rem}}.timeline-chart-container{background:var(--white);border:6px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:20px;margin-top:1rem;padding:1.5rem;position:relative;transform:rotate(.3deg)}.timeline-chart-container:before{content:"🚗 Cars Dispatched Over Time";background:var(--school-bus-yellow);color:var(--text-dark);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);white-space:nowrap;z-index:1;border-radius:12px;padding:.4rem 1.2rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.4rem;font-weight:900;position:absolute;top:-1.2rem;left:50%;transform:translate(-50%)}.recharts-tooltip-wrapper{outline:none!important}.recharts-default-tooltip{border:3px solid var(--crayon-blue)!important;background-color:#fffffff2!important;border-radius:12px!important;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif!important;box-shadow:0 6px 12px #00000026!important}.admin-header{text-align:center;margin:1rem 0 3rem;padding-top:5rem;position:relative}.bulk-upload-trigger-container{justify-content:center;margin-bottom:2rem;display:flex}.bulk-upload-trigger-btn{background:var(--crayon-orange);color:#fff;border:5px solid var(--text-dark);cursor:pointer;box-shadow:var(--shadow-crayon);text-transform:uppercase;letter-spacing:.5px;border-radius:16px;align-items:center;gap:.8rem;padding:1rem 2rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.3rem;font-weight:900;transition:all .25s;display:flex}.bulk-upload-trigger-btn:hover{background:var(--school-bus-yellow);color:var(--text-dark);transform:translateY(-3px);box-shadow:0 12px #0000002e}.add-student-card{background:var(--white);background-image:linear-gradient(transparent 0%,transparent calc(100% - 1px),var(--construction-paper-blue) calc(100% - 1px));border:6px solid var(--text-dark);max-width:720px;box-shadow:var(--shadow-raised);background-size:100% 2.8rem;border-radius:24px;margin:0 auto 3rem;padding:3rem 2.5rem;position:relative}.add-student-card:before{content:"";background:var(--crayon-red);width:4px;position:absolute;top:2rem;bottom:2rem;left:3.2rem}.form-container{max-width:620px;margin:0 auto}.student-form{flex-direction:column;gap:2.2rem;display:flex}.form-group{flex-direction:column;display:flex}.form-label{color:var(--text-dark);align-items:center;gap:.9rem;margin-bottom:.9rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.4rem;font-weight:900;display:flex}.form-icon{color:var(--crayon-purple);width:28px;height:28px}.form-input,.form-select{border:5px solid var(--text-dark);background:var(--manila-paper);width:100%;color:var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;padding:1.2rem 1.6rem 1.2rem 4.2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.2rem;font-weight:700;transition:all .25s}.form-input:focus,.form-select:focus{background:var(--white);outline:none;box-shadow:0 10px #00000026}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%232c3e50' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 1.5rem center;background-repeat:no-repeat;background-size:1.8rem;padding-left:1.6rem}.form-hint{color:var(--text-medium);margin-top:.6rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem}.form-error{color:var(--apple-red);border:5px solid var(--text-dark);text-align:center;box-shadow:var(--shadow-crayon);background:#fee2e2;border-radius:16px;margin-bottom:1.8rem;padding:1.2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.15rem;font-weight:900}.success-message{text-align:center;padding:6rem 1rem 4rem}.success-icon-big{margin-bottom:1.8rem;font-size:7.5rem}.success-message h2{color:var(--crayon-green);margin:0 0 1.2rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:3.2rem}.redirect-text{color:var(--text-medium);margin-top:2rem;font-size:1.3rem;font-weight:700}.session-start-button{width:100%;margin-top:2rem}@media (max-width:768px){.admin-dashboard-container{padding:1.8rem 1rem}.add-student-card{padding:2.5rem 1.8rem}.add-student-title{font-size:2.6rem}.back-button{width:-moz-fit-content;width:fit-content;margin:0 auto 2rem;display:block;position:static}.bulk-upload-trigger-btn{padding:.9rem 1.5rem;font-size:1.1rem}}@media (max-width:480px){.add-student-title{font-size:2.2rem}.form-label{font-size:1.25rem}.form-input,.form-select{padding:1rem 1.2rem 1rem 3.8rem;font-size:1.1rem}.bulk-upload-trigger-btn{padding:.8rem 1.2rem;font-size:1rem}}.email-input-group{align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.email-input-group .form-input{flex:1;margin-bottom:0}.remove-email-btn{background:var(--crayon-red);color:#fff;border:4px solid var(--text-dark);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;min-width:52px;height:52px;padding:.9rem;transition:all .25s;display:flex;box-shadow:0 4px #00000026}.remove-email-btn:hover{background:var(--apple-red);transform:translateY(-2px);box-shadow:0 6px #00000026}.add-email-btn{background:var(--white);color:var(--crayon-purple);border:4px dashed var(--crayon-purple);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border-radius:16px;justify-content:center;align-items:center;gap:.7rem;width:100%;margin-top:.8rem;padding:1rem 1.5rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.15rem;font-weight:900;transition:all .25s;display:flex;box-shadow:0 4px #0000001a}.add-email-btn:hover{background:var(--crayon-purple);color:#fff;border-style:solid;transform:translateY(-2px);box-shadow:0 6px #00000026}.add-email-btn svg{width:22px;height:22px}@media (max-width:768px){.email-input-group{flex-direction:column;align-items:stretch;gap:.6rem}.remove-email-btn{justify-content:center;width:100%;min-width:auto;height:48px}.add-email-btn{padding:.9rem 1.2rem;font-size:1.05rem}}@media (max-width:480px){.add-email-btn{padding:.8rem 1rem;font-size:1rem}.remove-email-btn{height:44px}}:root{--school-bus-yellow:gold;--crayon-red:#ee204d;--crayon-blue:#1f75fe;--crayon-green:#1cac78;--crayon-orange:#ff7538;--crayon-purple:#926eae;--apple-red:#dc143c;--chalkboard-green:#2f4f4f;--manila-paper:#fff8dc;--construction-paper-blue:#b0e0e6;--bulletin-board:wheat;--white:#fff;--pencil-gray:#696969;--text-dark:#2c3e50;--text-medium:#5d6d7e;--shadow-crayon:0 6px 0 #00000026;--shadow-raised:0 8px 16px #00000026}.admin-dashboard-container{background:var(--construction-paper-blue);background-image:repeating-linear-gradient(45deg,#0000,#0000 35px,#ffffff1a 35px,#ffffff1a 70px),repeating-linear-gradient(-45deg,#0000,#0000 35px,#ffffff0d 35px,#ffffff0d 70px);min-height:100vh;padding:2.5rem 1.5rem;position:relative}.admin-dashboard-wrapper{z-index:1;max-width:1200px;margin:0 auto;position:relative}.success-toast{z-index:3000;animation:.6s slideUpFade,.6s 3.5s forwards fadeOut;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.toast-content{background:var(--crayon-green);color:#fff;border:6px solid var(--text-dark);border-radius:24px;align-items:center;gap:1.3rem;padding:1.2rem 2.8rem;font-family:Quicksand,sans-serif;display:flex;box-shadow:0 10px #00000040}.toast-icon{font-size:3.5rem}.toast-content strong{text-transform:uppercase;margin:0;font-size:1.7rem;font-weight:900;display:block}.toast-content p{opacity:.95;margin:.3rem 0 0;font-size:1.2rem}.admin-header{text-align:center;margin:1rem 0 2.5rem;position:relative}.add-student-title{color:var(--crayon-blue);text-shadow:4px 4px 0 var(--school-bus-yellow),8px 8px 0 var(--crayon-red);justify-content:center;align-items:center;margin:.8rem 0 .6rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:clamp(2.4rem,5vw,3.4rem);font-weight:900;display:flex}.admin-header-subtitle{color:var(--text-dark);background:var(--white);border:3px dashed var(--crayon-blue);box-shadow:var(--shadow-crayon);border-radius:20px;padding:.6rem 1.8rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.25rem;font-weight:700;display:inline-block}.back-button{background:var(--crayon-blue);color:#fff;border:5px solid var(--text-dark);cursor:pointer;box-shadow:var(--shadow-crayon);text-transform:uppercase;letter-spacing:.5px;z-index:10;border-radius:16px;align-items:center;gap:.8rem;padding:.9rem 1.6rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:900;transition:all .25s;display:flex;position:absolute;top:0;left:0}.back-button:hover{background:var(--crayon-purple);transform:translateY(-3px);box-shadow:0 12px #0000002e}.filters-container{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.2rem;margin-bottom:2.5rem;display:flex}.filter-group{background:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;align-items:center;min-width:260px;max-width:400px;padding:.6rem 1.3rem;display:flex}.filter-icon{color:var(--crayon-purple);flex-shrink:0;margin-right:.9rem}.filter-input,.filter-select{color:var(--text-dark);background:0 0;border:none;outline:none;width:100%;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:700}.filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232c3e50' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;background-size:1.4rem;padding-right:2rem}.add-student-btn{background:var(--crayon-green);color:#fff;border:5px solid var(--text-dark);cursor:pointer;box-shadow:var(--shadow-crayon);white-space:nowrap;border-radius:16px;align-items:center;gap:.6rem;padding:.9rem 1.8rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:900;transition:all .25s;display:flex}.add-student-btn:hover{background:var(--crayon-blue);transform:translateY(-3px);box-shadow:0 10px #00000026}.student-list{background:var(--white);border:6px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:20px;margin-bottom:2.5rem;overflow:hidden}.student-list-header{background:var(--school-bus-yellow);color:var(--text-dark);border-bottom:5px solid var(--text-dark);text-transform:uppercase;grid-template-columns:60px 2.5fr 1fr 1.2fr 2.5fr 80px;gap:1rem;padding:1.3rem 1.6rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.15rem;font-weight:900;display:grid}.student-row{border-bottom:3px dashed var(--crayon-blue);background:var(--manila-paper);grid-template-columns:60px 2.5fr 1fr 1.2fr 2.5fr 80px;align-items:center;gap:1rem;padding:1.3rem 1.6rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;transition:all .2s;display:grid}.student-row:hover{background:#fffacd;transform:translateY(-2px)}.student-position{color:var(--crayon-red);justify-content:center;align-items:center;font-size:1.5rem;font-weight:900;display:flex}.student-name{color:var(--text-dark);font-size:1.2rem;font-weight:900}.student-grade,.student-carpool{color:var(--crayon-purple);text-align:center;font-weight:700}.student-parent{color:var(--text-medium);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.student-actions{justify-content:center;align-items:center;display:flex}.edit-student-btn{background:var(--crayon-orange);color:#fff;border:4px solid var(--text-dark);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:all .2s;display:flex;box-shadow:0 4px #00000026}.edit-student-btn:hover{background:var(--crayon-purple);transform:translateY(-2px);box-shadow:0 6px #0003}.edit-student-btn:active{transform:translateY(0);box-shadow:0 2px #00000026}.parent-emails-list{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.parent-email-badge-container{background:var(--white);border:3px solid var(--text-dark);border-radius:24px;align-items:center;gap:.4rem;padding:.3rem;transition:all .2s;display:flex;box-shadow:0 3px #0000001a}.parent-email-badge-container:hover{transform:translateY(-2px);box-shadow:0 5px #00000026}.parent-email-badge{background:linear-gradient(135deg,var(--crayon-purple)0%,var(--crayon-blue)100%);color:#fff;text-transform:none;letter-spacing:0;border-radius:20px;align-items:center;gap:.4rem;padding:.45rem 1rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.95rem;font-weight:900;display:inline-flex}.resend-email-btn{background:var(--crayon-green);color:#fff;border:3px solid var(--text-dark);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .2s;display:flex;box-shadow:0 2px #00000026}.resend-email-btn:hover:not(:disabled){background:var(--crayon-blue);transform:scale(1.1)rotate(-10deg);box-shadow:0 4px #0003}.resend-email-btn:active:not(:disabled){transform:scale(.95);box-shadow:0 1px #00000026}.resend-email-btn:disabled{opacity:.6;cursor:not-allowed;background:var(--pencil-gray)}.resend-email-btn .spin{animation:1s linear infinite spin}.parent-email-badge-container:first-child .parent-email-badge{background:linear-gradient(135deg,var(--crayon-blue)0%,var(--crayon-purple)100%)}.parent-email-badge-container:nth-child(2) .parent-email-badge{background:linear-gradient(135deg,var(--crayon-green)0%,var(--crayon-blue)100%)}.parent-email-badge-container:nth-child(3) .parent-email-badge{background:linear-gradient(135deg,var(--crayon-orange)0%,var(--crayon-red)100%)}.parent-email-badge-container:nth-child(4) .parent-email-badge{background:linear-gradient(135deg,var(--crayon-purple)0%,var(--crayon-red)100%)}.parent-email-badge-container:nth-child(5) .parent-email-badge{background:linear-gradient(135deg,var(--school-bus-yellow)0%,var(--crayon-orange)100%);color:var(--text-dark)}.no-parent{color:var(--text-medium);background:var(--manila-paper);border:2px dashed var(--pencil-gray);border-radius:12px;padding:.3rem .8rem;font-size:1rem;font-style:italic;font-weight:600}.student-row .student-parent{white-space:normal;text-overflow:clip;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:auto;font-style:normal;display:flex;overflow:visible}@keyframes badge-appear{0%{opacity:0;transform:scale(.8)translateY(-5px)}to{opacity:1;transform:scale(1)translateY(0)}}.parent-email-badge-container{animation:.3s badge-appear}.modal-overlay{z-index:2000;background:#2c3e50d9;justify-content:center;align-items:center;padding:1.5rem;animation:.3s fadeIn;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--white);border:6px solid var(--text-dark);border-radius:24px;width:100%;max-width:600px;max-height:90vh;animation:.3s slideDown;overflow-y:auto;box-shadow:0 20px 40px #0000004d}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:var(--school-bus-yellow);border-bottom:5px solid var(--text-dark);z-index:10;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex;position:sticky;top:0}.modal-title{color:var(--text-dark);align-items:center;gap:.8rem;margin:0;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:2rem;font-weight:900;display:flex}.modal-close-btn{background:var(--crayon-red);color:#fff;border:4px solid var(--text-dark);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex;box-shadow:0 4px #00000026}.modal-close-btn:hover:not(:disabled){background:var(--apple-red);transform:translateY(-2px);box-shadow:0 6px #0003}.modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.modal-body{background:var(--white);background-image:linear-gradient(transparent 0%,transparent calc(100% - 1px),var(--construction-paper-blue) calc(100% - 1px));background-size:100% 2.8rem;padding:2rem}.modal-body .student-form{flex-direction:column;gap:1.8rem;display:flex}.modal-body .form-group{flex-direction:column;display:flex}.modal-body .form-label{color:var(--text-dark);align-items:center;gap:.8rem;margin-bottom:.8rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.3rem;font-weight:900;display:flex}.modal-body .form-icon{color:var(--crayon-purple);width:24px;height:24px}.modal-body .form-input,.modal-body .form-select{border:4px solid var(--text-dark);background:var(--manila-paper);width:100%;color:var(--text-dark);border-radius:14px;padding:1rem 1.3rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:700;transition:all .2s;box-shadow:0 4px #0000001a}.modal-body .form-input:focus,.modal-body .form-select:focus{background:var(--white);outline:none;box-shadow:0 6px #00000026}.modal-body .form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232c3e50' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 1.2rem center;background-repeat:no-repeat;background-size:1.6rem;padding-right:3rem}.modal-body .form-hint{color:var(--text-medium);margin-top:.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.95rem}.modal-body .form-error{color:var(--apple-red);border:4px solid var(--text-dark);text-align:center;background:#fee2e2;border-radius:14px;margin-bottom:1rem;padding:1rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.05rem;font-weight:900;box-shadow:0 4px #0000001a}.modal-body .email-input-group{align-items:center;gap:.8rem;margin-bottom:.8rem;display:flex}.modal-body .email-input-group .form-input{flex:1;margin-bottom:0}.modal-body .remove-email-btn{background:var(--crayon-red);color:#fff;border:4px solid var(--text-dark);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;min-width:48px;height:48px;padding:.8rem;transition:all .2s;display:flex;box-shadow:0 3px #00000026}.modal-body .remove-email-btn:hover{background:var(--apple-red);transform:translateY(-2px);box-shadow:0 5px #00000026}.modal-body .add-email-btn{background:var(--white);color:var(--crayon-purple);border:4px dashed var(--crayon-purple);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border-radius:14px;justify-content:center;align-items:center;gap:.6rem;width:100%;margin-top:.5rem;padding:.9rem 1.3rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.05rem;font-weight:900;transition:all .2s;display:flex;box-shadow:0 3px #0000001a}.modal-body .add-email-btn:hover{background:var(--crayon-purple);color:#fff;border-style:solid;transform:translateY(-2px);box-shadow:0 5px #00000026}.modal-actions{gap:1rem;margin-top:1.5rem;display:flex}.modal-cancel-btn{background:var(--white);color:var(--text-dark);border:4px solid var(--text-dark);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border-radius:16px;flex:1;padding:1.1rem 1.5rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.15rem;font-weight:900;transition:all .2s;box-shadow:0 4px #00000026}.modal-cancel-btn:hover:not(:disabled){background:var(--manila-paper);transform:translateY(-2px);box-shadow:0 6px #00000026}.modal-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.modal-save-btn{background:var(--crayon-green);color:#fff;border:4px solid var(--text-dark);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:.6rem;padding:1.1rem 1.5rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.15rem;font-weight:900;transition:all .2s;display:flex;box-shadow:0 4px #00000026}.modal-save-btn:hover:not(:disabled){background:var(--crayon-blue);transform:translateY(-2px);box-shadow:0 6px #00000026}.modal-save-btn:disabled{opacity:.7;cursor:not-allowed}.queue-loading,.queue-empty{text-align:center;color:var(--text-medium);padding:6rem 2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.4rem;font-weight:700}.queue-loading-spinner{border:6px solid var(--school-bus-yellow);border-top-color:var(--crayon-red);border-radius:50%;width:60px;height:60px;margin:0 auto 1.5rem;animation:1.2s linear infinite spin}.queue-empty-icon{margin-bottom:1rem;font-size:4rem}.queue-empty-text{color:var(--text-medium);font-size:1.3rem}.form-error{color:var(--apple-red);border:5px solid var(--text-dark);text-align:center;max-width:700px;box-shadow:var(--shadow-crayon);background:#fee2e2;border-radius:16px;margin:2rem auto;padding:1.3rem;font-size:1.2rem;font-weight:900}.pagination{justify-content:center;align-items:center;gap:1.6rem;margin-top:2.5rem;display:flex}.pagination-btn{background:var(--crayon-blue);color:#fff;border:5px solid var(--text-dark);cursor:pointer;width:52px;height:52px;box-shadow:var(--shadow-crayon);border-radius:14px;justify-content:center;align-items:center;transition:all .25s;display:flex}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:var(--text-dark);font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.25rem;font-weight:900}@media (max-width:768px){.filters-container{flex-direction:column;align-items:stretch}.filter-group,.add-student-btn{width:100%}.student-list-header{display:none}.student-row{flex-direction:column;gap:.8rem;padding:1.5rem;display:flex;position:relative}.student-position{font-size:1.2rem;position:absolute;top:1.5rem;right:1.5rem}.student-name{padding-right:3rem;font-size:1.4rem}.student-grade,.student-carpool,.student-parent{text-align:left;align-items:center;gap:.5rem;display:flex}.student-grade:before{content:"Grade: ";color:var(--text-dark);font-weight:900}.student-carpool:before{content:"Carpool #: ";color:var(--text-dark);font-weight:900}.student-parent:before{content:"Parents: ";color:var(--text-dark);font-style:normal;font-weight:900}.student-parent{white-space:normal;overflow:visible}.student-actions{width:100%;margin-top:.5rem}.edit-student-btn{width:100%;height:auto;padding:.9rem}.parent-emails-list{flex-direction:column;align-items:flex-start;gap:.5rem;width:100%}.parent-email-badge-container{width:100%}.parent-email-badge{flex:1;justify-content:center;padding:.6rem 1rem;font-size:1rem}.student-row .student-parent{flex-direction:column;align-items:flex-start;gap:.4rem;width:100%}.modal-content{max-height:95vh}.modal-body{padding:1.5rem}.modal-actions{flex-direction:column}}@media (max-width:480px){.parent-email-badge{padding:.5rem .8rem;font-size:.9rem}.resend-email-btn{width:32px;height:32px}.modal-overlay{padding:1rem}.modal-title{font-size:1.6rem}}@media print{.parent-email-badge{color:#000!important;box-shadow:none!important;background:#fff!important;border:2px solid #000!important}.edit-student-btn,.resend-email-btn,.modal-overlay{display:none!important}}.parent-dashboard-container{background:var(--construction-paper-blue);background-image:repeating-linear-gradient(45deg,#0000,#0000 35px,#ffffff1a 35px,#ffffff1a 70px),repeating-linear-gradient(-45deg,#0000,#0000 35px,#ffffff0d 35px,#ffffff0d 70px);min-height:100vh;padding:2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;position:relative;overflow:hidden}.parent-dashboard-container:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:absolute;top:0;right:0;bottom:0;left:0}.parent-dashboard-container:after{content:"📌 📌 📌 📌 📌";text-align:center;letter-spacing:3rem;opacity:.6;z-index:0;font-size:1.5rem;position:absolute;top:1rem;left:0;right:0}.parent-header{text-align:center;z-index:1;margin-top:2rem;margin-bottom:3rem;animation:.6s fadeInDown;position:relative}.parent-header h1{color:var(--crayon-red);text-transform:uppercase;letter-spacing:.05em;text-shadow:3px 3px 0 var(--school-bus-yellow),6px 6px 0 var(--crayon-blue);margin:0 0 1rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:3rem;font-weight:900}.welcome{color:var(--text-dark);background:var(--white);border:4px dashed var(--crayon-blue);box-shadow:var(--shadow-paper);border-radius:30px;padding:.6rem 1.8rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.25rem;font-weight:700;display:inline-block}.session-active-card,.no-session-card{border:6px solid var(--text-dark);max-width:900px;box-shadow:var(--shadow-raised);text-align:center;z-index:1;border-radius:24px;margin:0 auto 2.5rem;padding:2rem;animation:.6s slideInUp;position:relative}.session-active-card{background:var(--school-bus-yellow);overflow:hidden}.session-active-card:before{content:"";background:linear-gradient(90deg,var(--text-dark)2px,transparent 2px),linear-gradient(0deg,var(--text-dark)2px,transparent 2px);border:3px solid var(--text-dark);opacity:.3;background-size:20px 30px;width:100px;height:60px;position:absolute;top:1rem;right:1rem}.session-active-card:after{content:"🚌";opacity:.15;font-size:8rem;animation:2s ease-in-out infinite busShake;position:absolute;bottom:-1rem;right:-1rem}.session-active-card h2{color:var(--text-dark);text-transform:uppercase;z-index:1;margin:0 0 .8rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.8rem;font-weight:900;position:relative}.started-time{color:var(--text-dark);z-index:1;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.2rem;font-weight:700;position:relative}.no-session-card{background:var(--white);background-image:linear-gradient(transparent 0%,transparent calc(100% - 1px),var(--construction-paper-blue) calc(100% - 1px));background-size:100% 2.5rem}.no-session-card:before{content:"";background:var(--crayon-red);width:3px;position:absolute;top:2rem;bottom:2rem;left:3rem}.no-session-card h2{color:var(--crayon-orange);text-transform:uppercase;margin:0 0 1rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:2rem;font-weight:900}.no-session-card p{color:var(--text-medium);margin:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.125rem;font-weight:600}.students-section{z-index:1;max-width:1200px;margin:0 auto;position:relative}.students-section h2{color:var(--crayon-blue);text-align:center;text-transform:uppercase;text-shadow:2px 2px 0 var(--school-bus-yellow);margin-bottom:2rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:2.25rem;font-weight:900;animation:.8s .2s both fadeInUp}.no-students{text-align:center;color:var(--text-medium);padding:3rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.3rem;font-weight:700}.students-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.8rem;animation:.8s .4s both fadeInUp;display:grid}.student-card{background:var(--manila-paper);border:5px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:20px;flex-direction:column;padding:1.6rem;transition:all .3s;animation:.4s backwards fadeInSlide;display:flex;position:relative}.student-card:before{content:"";border-radius:20px 0 0 20px;width:12px;position:absolute;top:0;bottom:0;left:0}.student-card:first-child:before{background:var(--crayon-red)}.student-card:nth-child(2):before{background:var(--crayon-orange)}.student-card:nth-child(3):before{background:var(--school-bus-yellow)}.student-card:nth-child(4):before{background:var(--crayon-green)}.student-card:nth-child(5):before{background:var(--crayon-blue)}.student-card:nth-child(n+6):before{background:var(--crayon-purple)}.student-card:first-child{animation-delay:.1s}.student-card:nth-child(2){animation-delay:.2s}.student-card:nth-child(3){animation-delay:.3s}.student-card:nth-child(4){animation-delay:.4s}.student-card:nth-child(5){animation-delay:.5s}.student-card:nth-child(n+6){animation-delay:.6s}.student-card:hover{transform:translateY(-8px);box-shadow:0 14px #0000002e}.student-info h3{color:var(--crayon-purple);margin:0 0 .6rem;padding-left:.5rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.6rem;font-weight:900}.grade,.carpool{color:var(--text-dark);margin:.3rem 0;padding-left:.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:700}.student-status-badges{flex-direction:column;gap:.625rem;margin-top:1rem;padding-left:.5rem;display:flex}.status-badge{text-transform:uppercase;border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;align-items:center;gap:.375rem;width:-moz-fit-content;width:fit-content;padding:.625rem 1.25rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9375rem;font-weight:900;transition:all .2s;animation:.3s badgePop;display:inline-flex}.status-badge:hover{transform:translateY(-2px);box-shadow:0 8px #00000026}.status-badge.badge-on-time{background:var(--crayon-blue);color:var(--white)}.status-badge.badge-early{background:var(--crayon-green);color:var(--white);animation:.3s badgePop,2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.status-badge.badge-late{background:var(--crayon-orange);color:var(--white);animation:.3s badgePop,3s ease-in-out infinite wobble}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}.status-badge.badge-dismissed{background:var(--chalkboard-green);color:var(--white);opacity:.85}.badge-time{background:#ffffff40;border-radius:8px;margin-left:.375rem;padding:.25rem .625rem;font-size:.875rem;font-weight:800}.status-note{color:var(--text-dark);background:var(--white);border-left:4px solid var(--crayon-orange);box-shadow:var(--shadow-paper);border-radius:8px;width:100%;margin-top:.375rem;padding:.5rem 1rem;font-size:.875rem;font-style:italic;font-weight:700;display:block}.pickup-control-trigger{width:100%;color:var(--text-dark);background:var(--school-bus-yellow);border:5px solid var(--text-dark);cursor:pointer;text-transform:uppercase;box-shadow:var(--shadow-crayon);border-radius:16px;margin-top:.75rem;padding:.875rem 1.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.125rem;font-weight:900;transition:all .25s}.pickup-control-trigger:hover{background:var(--crayon-blue);color:var(--white);transform:translateY(-4px);box-shadow:0 10px #0003}.pickup-control-trigger.intent-early{background:var(--crayon-green);color:var(--white)}.pickup-control-trigger.intent-late{background:var(--crayon-orange);color:var(--white)}.pickup-control{background:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;margin-top:1rem;animation:.3s expandDown;overflow:hidden}@keyframes expandDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}.pickup-control-header{background:var(--crayon-blue);color:var(--white);border-bottom:4px solid var(--text-dark);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.pickup-control-header h4{text-transform:uppercase;margin:0;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.25rem;font-weight:900}.close-btn{color:var(--white);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;font-weight:900;transition:all .2s;display:flex}.close-btn:hover{transform:rotate(90deg)scale(1.2)}.pickup-control-body{padding:1.25rem}.current-status-info{background:var(--construction-paper-blue);border:3px dashed var(--crayon-blue);color:var(--text-dark);border-radius:12px;margin-bottom:1.25rem;padding:1rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:700}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-dark);text-transform:uppercase;margin-bottom:.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:900;display:block}.form-select,.form-input{border:4px solid var(--text-dark);background:var(--manila-paper);width:100%;color:var(--text-dark);border-radius:12px;padding:.875rem 1rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:700;transition:all .2s}.form-select:focus,.form-input:focus{background:var(--white);border-color:var(--crayon-blue);outline:none;box-shadow:0 0 0 3px #1f75fe33}.form-input::-moz-placeholder{color:var(--text-medium);opacity:.7;font-weight:600}.form-input::placeholder{color:var(--text-medium);opacity:.7;font-weight:600}.intent-explanation{background:var(--construction-paper-blue);border:3px dashed var(--crayon-blue);border-radius:12px;margin:1rem 0;padding:1rem}.intent-explanation p{color:var(--text-dark);margin:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9375rem;font-weight:700}.pickup-control-actions{margin-top:1.25rem}.submit-btn{text-transform:uppercase;width:100%;color:var(--white);background:var(--crayon-green);border:5px solid var(--text-dark);cursor:pointer;box-shadow:var(--shadow-crayon);border-radius:16px;padding:1rem 2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.125rem;font-weight:900;transition:all .2s}.submit-btn:hover:not(:disabled){background:var(--crayon-blue);transform:translateY(-4px);box-shadow:0 10px #00000026}.submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 4px #00000026}.submit-btn:disabled{background:var(--pencil-gray);cursor:not-allowed;opacity:.6}.dispatch-btn{color:#fff;background:var(--crayon-green);border:5px solid var(--text-dark);cursor:pointer;text-transform:uppercase;width:100%;box-shadow:var(--shadow-crayon);border-radius:16px;margin-top:1.2rem;padding:1rem 1.5rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.25rem;font-weight:900;transition:all .25s}.dispatch-btn:hover:not(:disabled){background:var(--crayon-blue);transform:translateY(-6px);box-shadow:0 12px #0003}.dispatch-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 4px #00000026}.dispatch-btn:disabled,.dispatch-btn.dispatched{background:var(--chalkboard-green);color:#fff;cursor:not-allowed;transform:none;box-shadow:0 4px #0000001a}.dispatch-btn.dispatched:after{content:" ✓";margin-left:.6rem;font-size:1.4rem}.parent-loading{min-height:70vh;color:var(--text-dark);z-index:1;flex-direction:column;justify-content:center;align-items:center;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.4rem;font-weight:700;display:flex;position:relative}.spinner{border:6px solid var(--school-bus-yellow);border-top-color:var(--crayon-red);border-right-color:var(--crayon-blue);border-bottom-color:var(--crayon-green);border-left-color:var(--crayon-orange);border-radius:50%;width:60px;height:60px;margin-bottom:1rem;animation:1.5s linear infinite spin}.error-message{color:var(--crayon-red);text-align:center;background:var(--white);border:5px solid var(--crayon-red);max-width:600px;box-shadow:var(--shadow-crayon);z-index:1;border-radius:20px;margin:0 auto;padding:2rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.3rem;font-weight:900;position:relative}.success-toast{z-index:2000;max-width:90%;animation:.6s cubic-bezier(.68,-.55,.265,1.55) slideUpBounce,.6s 3.5s forwards fadeOut;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}@keyframes slideUpBounce{0%{opacity:0;transform:translate(-50%,100px)scale(.8)}to{opacity:1;transform:translate(-50%)scale(1)}}.success-content{background:var(--crayon-green);color:#fff;border:6px solid var(--text-dark);box-shadow:0 10px #00000040,0 0 0 3px var(--school-bus-yellow),0 15px 30px #0003;border-radius:24px;align-items:center;gap:1.5rem;padding:1.5rem 2.5rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;display:flex;position:relative;overflow:hidden}.success-content.toast-success{background:var(--crayon-green)}.success-content.toast-info{background:var(--crayon-blue)}.success-content.toast-warning{background:var(--crayon-orange)}.success-content.toast-error{background:var(--apple-red)}.success-content.toast-success:before{content:"🎉 ✨ 🎊 ⭐ 🎉";text-align:center;font-size:1.5rem;animation:3s ease-in-out infinite confetti;position:absolute;top:-5px;left:0;right:0}.success-content.toast-info:before{content:"🔔 📢 📋 ✅ 🔔";text-align:center;font-size:1.5rem;animation:2s ease-in-out infinite bellRing;position:absolute;top:-5px;left:0;right:0}.success-content.toast-warning:before{content:"⚠️ 🟡 ⚠️ 🟡 ⚠️";text-align:center;font-size:1.5rem;animation:1.5s ease-in-out infinite warningBlink;position:absolute;top:-5px;left:0;right:0}.success-content.toast-error:before{content:"❌ ⛔ ❌ ⛔ ❌";text-align:center;font-size:1.5rem;animation:.5s ease-in-out shake;position:absolute;top:-5px;left:0;right:0}@keyframes confetti{0%,to{opacity:.8;transform:translateY(0)}50%{opacity:1;transform:translateY(-10px)}}@keyframes warningBlink{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.success-icon{flex-shrink:0;font-size:3.5rem;animation:1s ease-in-out infinite iconBounce}.success-content.toast-error .success-icon{animation:.5s ease-in-out iconShake}@keyframes iconBounce{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.1)rotate(-10deg)}75%{transform:scale(1.1)rotate(10deg)}}@keyframes iconShake{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}.success-text{flex:1}.success-text h3{text-transform:uppercase;text-shadow:3px 3px #0003;letter-spacing:.05em;margin:0 0 .25rem;font-size:1.75rem;font-weight:900}.success-text p{opacity:.95;margin:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.25rem;font-weight:700;line-height:1.4}@media (max-width:768px){.parent-dashboard-container{padding:1.5rem 1rem}.parent-header h1{text-shadow:2px 2px 0 var(--school-bus-yellow),4px 4px 0 var(--crayon-blue);font-size:2.25rem}.welcome{font-size:1rem}.session-active-card,.no-session-card{border-width:5px;padding:1.5rem}.students-grid{grid-template-columns:1fr;gap:1.5rem}.success-toast{max-width:calc(100% - 2rem);bottom:1.5rem}.success-content{gap:1rem;padding:1.25rem 1.75rem}.success-icon{font-size:2.5rem}.success-text h3{font-size:1.5rem}.success-text p{font-size:1.125rem}.success-content:before{font-size:1.25rem}.pickup-control{border-width:4px}.status-badge{padding:.5rem 1rem;font-size:.875rem}}@media (max-width:480px){.parent-header h1,.students-section h2{font-size:1.75rem}.student-info h3{font-size:1.3rem}.dispatch-btn{padding:.9rem 1.2rem;font-size:1.1rem}.student-card{padding:1.2rem}.pickup-control-header h4{font-size:1.125rem}.form-select,.form-input{padding:.75rem .875rem;font-size:.9375rem}.submit-btn{padding:.875rem 1.5rem;font-size:1rem}.status-badge{padding:.5rem .875rem;font-size:.8125rem}.badge-time{padding:.25rem .5rem;font-size:.75rem}.success-content{gap:.875rem;padding:1rem 1.5rem}.success-icon{font-size:2rem}.success-text h3{font-size:1.25rem}.success-text p,.success-content:before{font-size:1rem}}.mt-auto{margin-top:auto}.flex-1{flex:1}.wait-time-wrapper{z-index:1;max-width:800px;margin:0 auto 2rem;position:relative}@media (max-width:768px){.wait-time-wrapper{max-width:100%;margin:0 auto 1.5rem}}.gps-permission-toast{flex-direction:column;max-height:90vh;display:flex;overflow:hidden}.gps-toast-header{flex-shrink:0}.gps-toast-body{-webkit-overflow-scrolling:touch;flex:1;overflow:hidden auto}.gps-toast-actions{flex-shrink:0}@media (max-width:768px){.gps-permission-toast{max-height:85vh}.gps-toast-header{gap:.5rem;padding:.75rem 1rem}.gps-toast-header .gps-icon{font-size:1.5rem}.gps-toast-header h3{margin:0;font-size:1.1rem}.gps-toast-body{padding:.75rem 1rem}.gps-toast-actions{gap:.4rem;padding:.5rem .75rem}.gps-btn{min-height:auto;padding:.5rem .75rem;font-size:.85rem}.btn-emoji{margin-right:.3rem;font-size:1rem}}@media (max-height:700px){.gps-permission-toast{max-height:80vh}.gps-toast-actions{gap:.3rem;padding:.4rem .75rem}.gps-toast-header{gap:.4rem;padding:.6rem .75rem}.gps-toast-header .gps-icon{font-size:1.3rem}.gps-toast-header h3{margin:0;font-size:1rem}.gps-btn{min-height:auto;padding:.4rem .6rem;font-size:.8rem;line-height:1.2}.btn-emoji{margin-right:.25rem;font-size:.9rem}}@media (max-height:600px){.gps-permission-toast{max-height:75vh}.gps-toast-actions{gap:.25rem;padding:.3rem .5rem}.gps-btn{min-height:auto;padding:.35rem .5rem;font-size:.75rem;line-height:1.1}.btn-emoji{margin-right:.2rem;font-size:.85rem}}.pickup-flow{background:var(--white);border:4px solid var(--text-dark);z-index:1;border-radius:50px;align-items:center;margin-top:1.2rem;padding:.6rem 1.2rem;display:inline-flex;position:relative;box-shadow:0 4px #0003}.flow-step{align-items:center;gap:.5rem;padding:.3rem .8rem;display:flex}.flow-step-number{background:var(--text-dark);width:26px;height:26px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Fredoka One,Arial Rounded MT Bold,sans-serif;font-size:.85rem;font-weight:900;display:flex}.flow-step-icon{font-size:1.1rem;line-height:1}.flow-step-label{color:var(--text-dark);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:.85rem;font-weight:900}.flow-arrow{color:var(--text-dark);opacity:.6;padding:0 .2rem;font-size:1rem;font-weight:900}@media (max-width:600px){.pickup-flow{border-radius:20px;flex-direction:column;align-items:flex-start;gap:.5rem;width:-moz-fit-content;width:fit-content;margin:1.2rem auto 0;padding:.9rem 1.4rem}.flow-arrow{display:none}.flow-step{gap:.75rem;padding:.2rem 0}.flow-step-number{width:28px;height:28px;font-size:.9rem}.flow-step-icon{font-size:1.2rem}.flow-step-label{white-space:nowrap;font-size:.9rem}}.gps-header-toggle{border:3px solid var(--text-dark);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 10px 6px 8px;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;transition:transform .2s,box-shadow .2s;display:inline-flex;position:absolute;top:0;right:0;box-shadow:0 4px #0003}.gps-header-toggle:hover{transform:translateY(-2px);box-shadow:0 6px #0003}.gps-header-toggle:active{transform:translateY(0);box-shadow:0 2px #0003}.gps-header-toggle.gps-on{background:var(--crayon-green)}.gps-header-toggle.gps-off{background:var(--white)}.gps-toggle-icon{flex-shrink:0;font-size:.85rem;line-height:1}.gps-toggle-label{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.7rem;font-weight:900}.gps-header-toggle.gps-on .gps-toggle-label{color:var(--white)}.gps-header-toggle.gps-off .gps-toggle-label{color:var(--text-dark)}.gps-toggle-track{pointer-events:none;border:2px solid #0003;border-radius:9px;flex-shrink:0;width:34px;height:18px;transition:background .2s;position:relative}.gps-header-toggle.gps-on .gps-toggle-track{background:#ffffff59}.gps-header-toggle.gps-off .gps-toggle-track{background:var(--construction-paper-blue)}.gps-toggle-thumb{background:#fff;border-radius:50%;width:14px;height:14px;transition:left .2s;position:absolute;top:0;left:0;box-shadow:0 1px 3px #00000059}.gps-header-toggle.gps-on .gps-toggle-thumb{left:16px}.gps-header-toggle.gps-off .gps-toggle-thumb{left:0}.map-header .gps-toggle{display:none}@media (max-width:540px){.gps-header-toggle{margin:.75rem auto 0;display:inline-flex;position:static}}:root{--school-bus-yellow:gold;--crayon-red:#ee204d;--crayon-blue:#1f75fe;--crayon-green:#1cac78;--crayon-orange:#ff7538;--crayon-purple:#926eae;--apple-red:#dc143c;--chalkboard-green:#2f4f4f;--manila-paper:#fff8dc;--construction-paper-blue:#b0e0e6;--bulletin-board:wheat;--white:#fff;--pencil-gray:#696969;--text-dark:#2c3e50;--text-medium:#5d6d7e;--shadow-crayon:0 6px 0 #00000026;--shadow-paper:0 4px 12px #0000001a;--shadow-raised:0 8px 16px #00000026}.school-navbar{z-index:100;background:var(--white);border-bottom:8px solid var(--text-dark);box-sizing:border-box;align-items:center;gap:2rem;width:100%;max-width:100vw;padding:1rem 2rem;display:flex;position:relative;top:0;overflow:visible;box-shadow:0 8px #00000026,0 12px 24px #0000001a}.school-navbar:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:absolute;top:0;right:0;bottom:0;left:0}.school-navbar>*{z-index:1;position:relative}.navbar-pins{pointer-events:none;z-index:2;justify-content:space-around;display:flex;position:absolute;top:-8px;left:0;right:0}.navbar-pins .pin{filter:drop-shadow(2px 2px 3px #0003);font-size:1.5rem;animation:3s ease-in-out infinite pinWiggle}.navbar-pins .pin:nth-child(2){animation-delay:1s}.navbar-pins .pin:nth-child(3){animation-delay:2s}@keyframes pinWiggle{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.navbar-brand{background:var(--school-bus-yellow);border:5px solid var(--text-dark);cursor:pointer;border-radius:20px;flex-shrink:0;align-items:center;gap:1rem;padding:.5rem 1.5rem;transition:all .3s;display:flex;box-shadow:0 6px #00000026}.navbar-brand:hover{transform:translateY(-4px)rotate(-2deg);box-shadow:0 10px #00000026}.bus-logo{font-size:2.5rem;line-height:1;animation:2s ease-in-out infinite busRoll}@keyframes busRoll{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(3px)rotate(2deg)}}.brand-text{flex-direction:column;line-height:1.2;display:flex}.brand-title{color:var(--text-dark);text-transform:uppercase;text-shadow:2px 2px #0000001a;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.5rem;font-weight:900}.brand-subtitle{color:var(--crayon-red);text-transform:uppercase;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9rem;font-weight:700}.hamburger-btn{background:var(--school-bus-yellow);border:4px solid var(--text-dark);cursor:pointer;z-index:102;border-radius:12px;flex-direction:column;justify-content:space-around;width:2.5rem;height:2.5rem;margin-left:auto;padding:.5rem;transition:all .3s;display:none;box-shadow:0 4px #00000026}.hamburger-btn:hover{transform:translateY(-2px);box-shadow:0 6px #00000026}.hamburger-btn:active{transform:translateY(0);box-shadow:0 2px #00000026}.hamburger-line{background:var(--text-dark);border-radius:2px;width:100%;height:3px;transition:all .3s}.hamburger-btn.open .hamburger-line:first-child{transform:rotate(45deg)translateY(10px)}.hamburger-btn.open .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.open .hamburger-line:nth-child(3){transform:rotate(-45deg)translateY(-10px)}.navbar-links{flex-wrap:nowrap;flex:1;align-items:center;gap:.75rem;min-width:0;margin-left:1rem;display:flex;overflow:hidden}.nav-link{background:var(--manila-paper);border:4px solid var(--text-dark);color:var(--text-dark);white-space:nowrap;border-radius:16px;flex-shrink:1;align-items:center;gap:.5rem;padding:.7rem 1.2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px #00000026}.nav-link:before{content:"";background:var(--crayon-blue);width:6px;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.nav-link:nth-child(2):before{background:var(--crayon-orange)}.nav-link:nth-child(3):before{background:var(--crayon-green)}.nav-link:nth-child(4):before{background:var(--crayon-purple)}.nav-link:nth-child(5):before{background:var(--crayon-red)}.nav-link:nth-child(6):before{background:var(--school-bus-yellow)}.nav-link:hover{background:var(--white);transform:translateY(-4px)rotate(-1deg);box-shadow:0 8px #00000026}.nav-link:hover:before{opacity:.15;width:100%}.nav-link:active{transform:translateY(0);box-shadow:0 2px #00000026}.nav-link.active{background:var(--school-bus-yellow);transform:translateY(-2px);box-shadow:0 6px #0003}.nav-link.active:before{opacity:.2;width:100%}.nav-icon{flex-shrink:0;font-size:1.3rem;line-height:1}.nav-text{white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.navbar-user{flex-shrink:0;align-items:center;gap:1.5rem;min-width:0;display:flex}.navbar-user-mobile{display:none}.user-info{background:var(--construction-paper-blue);border:4px solid var(--text-dark);border-radius:50px;align-items:center;gap:.8rem;padding:.7rem 1.3rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;display:flex;box-shadow:0 4px #00000026}.user-badge{font-size:1.8rem;line-height:1;animation:3s ease-in-out infinite bobFloat}@keyframes bobFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.user-name{color:var(--text-dark);text-transform:capitalize;font-size:1.1rem;font-weight:900}.logout-btn{background:var(--apple-red);border:4px solid var(--text-dark);color:var(--white);text-transform:uppercase;cursor:pointer;border-radius:16px;align-items:center;gap:.6rem;padding:.8rem 1.5rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:900;transition:all .3s;display:flex;box-shadow:0 4px #00000026}.logout-btn:hover{background:var(--crayon-red);transform:translateY(-4px)rotate(2deg);box-shadow:0 8px #00000026}.logout-btn:active{transform:translateY(0);box-shadow:0 2px #00000026}.logout-icon{font-size:1.5rem;line-height:1}.logout-text{white-space:nowrap}.navbar-crayon-border{background:linear-gradient(90deg,var(--crayon-red)0%,var(--crayon-orange)20%,var(--school-bus-yellow)40%,var(--crayon-green)60%,var(--crayon-blue)80%,var(--crayon-purple)100%);z-index:3;background-size:200% 100%;height:8px;animation:5s linear infinite rainbowShift;position:absolute;bottom:-8px;left:0;right:0}@keyframes rainbowShift{0%{background-position:0 0}to{background-position:200% 0}}.navbar-overlay{display:none}@media (max-width:1280px){.nav-link{gap:.4rem;padding:.6rem 1rem;font-size:.9rem}.nav-icon{font-size:1.2rem}.navbar-links{gap:.6rem}}@media (max-width:1150px){.hamburger-btn{display:flex}.navbar-user-desktop{display:none!important}.school-navbar{gap:.8rem;padding:.8rem 1rem}.navbar-brand{padding:.4rem 1rem}.bus-logo{font-size:2rem}.brand-title{font-size:1.1rem}.brand-subtitle{font-size:.75rem}.navbar-links{background:var(--white);border-left:8px solid var(--text-dark);z-index:150;flex-direction:column;align-items:stretch;gap:1rem;width:70%;max-width:380px;height:100vh;margin:0;padding:6rem 1.5rem 2rem;transition:right .4s cubic-bezier(.68,-.55,.265,1.55);position:fixed;top:0;right:-100%;overflow-y:auto;box-shadow:-4px 0 24px #0003}.navbar-links.open{right:0}.navbar-overlay{z-index:10;background:#00000080;animation:.3s fadeIn;display:block;position:fixed;top:0;right:0;bottom:0;left:0}.nav-link{border-width:4px;justify-content:flex-start;width:100%;padding:1rem 1.5rem;font-size:1.2rem}.nav-text{display:block!important}.nav-icon{font-size:1.8rem}.navbar-user-mobile{border-top:4px dashed var(--text-dark);flex-direction:column;gap:1rem;margin-top:auto;padding-top:2rem;display:flex}.navbar-user-mobile .user-info{justify-content:center;width:100%;padding:1rem 1.3rem}.navbar-user-mobile .user-name{display:block}.navbar-user-mobile .logout-btn{justify-content:center;width:100%;padding:1rem 1.5rem}.navbar-user-mobile .logout-text{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}@media (max-width:1024px){.school-navbar{gap:1rem;padding:1rem 1.5rem}.navbar-links{gap:.6rem;margin-left:.5rem}.nav-link{padding:.7rem 1rem;font-size:.95rem}.nav-text{font-size:.9rem}.brand-title{font-size:1.3rem}.user-info{padding:.6rem 1rem}.user-name{font-size:1rem}.logout-btn{padding:.7rem 1.2rem;font-size:1rem}.navbar-user{gap:1rem}}@media (max-width:768px){.school-navbar{flex-wrap:nowrap;gap:1rem;padding:1rem}.hamburger-btn{display:flex}.navbar-user-desktop{display:none!important}.navbar-brand{padding:.5rem 1rem}.bus-logo{font-size:2rem}.brand-title{font-size:1.2rem}.brand-subtitle{font-size:.75rem}.navbar-links{background:var(--white);border-left:8px solid var(--text-dark);z-index:101;flex-direction:column;align-items:stretch;gap:1rem;width:80%;max-width:320px;height:100vh;margin:0;padding:6rem 1.5rem 2rem;transition:right .4s cubic-bezier(.68,-.55,.265,1.55);position:fixed;top:0;right:-100%;overflow-y:auto;box-shadow:-4px 0 24px #0003}.navbar-links.open{right:0}.navbar-overlay{z-index:10;background:#00000080;animation:.3s fadeIn;display:block;position:fixed;top:0;right:0;bottom:0;left:0}.nav-link{justify-content:flex-start;width:100%;padding:1rem 1.5rem;font-size:1.2rem}.nav-text{display:block!important}.nav-icon{font-size:1.8rem}.navbar-user-mobile{border-top:4px dashed var(--text-dark);flex-direction:column;gap:1rem;margin-top:auto;padding-top:2rem;display:flex}.navbar-user-mobile .user-info{justify-content:center;width:100%;padding:1rem 1.3rem}.navbar-user-mobile .user-name{display:block}.navbar-user-mobile .logout-btn{justify-content:center;width:100%;padding:1rem 1.5rem}.navbar-user-mobile .logout-text{display:block}}@media (max-width:480px){.school-navbar{padding:.8rem}.navbar-pins{display:none}.navbar-brand{border-width:4px;padding:.4rem .8rem}.bus-logo{font-size:1.8rem}.brand-title{font-size:1rem}.brand-subtitle{font-size:.7rem}.hamburger-btn{border-width:3px;width:2.2rem;height:2.2rem}.hamburger-line{height:2.5px}.navbar-links{width:85%;max-width:280px;padding:5rem 1rem 1.5rem}.nav-link{border-width:3px;padding:.9rem 1.2rem;font-size:1.1rem}.nav-icon{font-size:1.6rem}}:root{--quick-green:#1cac78;--moderate-yellow:gold;--long-orange:#ff7538;--crayon-blue:#1f75fe;--crayon-red:#ee204d;--crayon-purple:#926eae;--school-bus-yellow:gold;--text-dark:#2c3e50;--manila-paper:#fff8dc;--white-paper:#fff;--shadow-crayon:0 8px 0 #00000026;--shadow-hover:0 15px 0 #0003;--shadow-soft:0 4px 12px #0000001a;--border-thick:6px solid var(--text-dark);--border-dashed:4px dashed var(--text-dark)}.wait-time-card{background:var(--manila-paper);border:var(--border-thick);box-shadow:var(--shadow-crayon);border-radius:28px;margin:1.5rem 0 0;padding:1.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;transition:all .4s cubic-bezier(.68,-.55,.265,1.55);position:relative;overflow:hidden}.wait-time-card:before{content:"";opacity:0;pointer-events:none;z-index:1;background:radial-gradient(circle,#fff6,#0000 70%);width:200%;height:200%;transition:opacity .6s;position:absolute;top:-50%;left:-50%}.wait-time-card:hover:before{opacity:1;animation:2.5s ease-in-out infinite shimmer}.wait-time-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)scale(1.01)}.wait-time-card:after{content:"🚌";opacity:.12;pointer-events:none;z-index:0;font-size:2.5rem;position:absolute;bottom:-15px;right:20px;transform:rotate(-8deg)}.wait-time-card.quick{background:linear-gradient(135deg,#e8f5e9 0%,var(--manila-paper)100%);border-color:var(--quick-green)}.wait-time-card.moderate{background:linear-gradient(135deg,#fff9e6 0%,var(--manila-paper)100%);border-color:var(--moderate-yellow)}.wait-time-card.long{background:linear-gradient(135deg,#ffe8e0 0%,var(--manila-paper)100%);border-color:var(--long-orange)}.wait-time-card.next-in-line{background:linear-gradient(135deg,#e3f2fd 0%,var(--manila-paper)100%);border-color:var(--crayon-blue);animation:2s ease-in-out infinite nextInLinePulse}@keyframes nextInLinePulse{0%,to{box-shadow:var(--shadow-crayon)}50%{box-shadow:0 12px #1f75fe4d,0 0 30px #1f75fe80}}.pulse-animation{animation:.6s cardPulse}@keyframes cardPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03);box-shadow:0 20px #00000040}}.wait-header{border-bottom:var(--border-dashed);z-index:2;border-radius:16px;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:1rem;display:flex;position:relative}.wait-emoji{filter:drop-shadow(3px 3px 5px #00000040);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:2.5rem;animation:2.2s ease-in-out infinite bounce}.wait-status-text{color:var(--text-dark);text-transform:uppercase;text-shadow:2px 2px #ffd70099;letter-spacing:1.5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:1.5rem;font-weight:900;position:relative}.wait-status-text:after{content:"";opacity:.25;background:currentColor;border-radius:3px;width:100%;height:4px;position:absolute;bottom:-4px;left:0}.next-in-line-content{z-index:2;padding:1.5rem 0;position:relative}.prepare-badge{background:var(--white-paper);border:5px solid var(--crayon-blue);box-shadow:var(--shadow-soft);border-radius:24px;justify-content:center;align-items:center;gap:1.5rem;padding:1.5rem 2rem;animation:1.5s ease-in-out infinite preparePulse;display:flex}@keyframes preparePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.prepare-icon{filter:drop-shadow(3px 3px 4px #0003);font-size:3.5rem;animation:2s ease-in-out infinite driveToLane}@keyframes driveToLane{0%,to{transform:translate(0)}50%{transform:translate(15px)}}.prepare-text h3{color:var(--crayon-blue);text-transform:uppercase;letter-spacing:1px;margin:0 0 .3rem;font-size:1.8rem;font-weight:900}.prepare-text p{color:var(--text-dark);margin:0;font-size:1.1rem;font-weight:700}.wait-main{z-index:2;justify-content:space-around;align-items:center;gap:1.5rem;padding:1.5rem 0;display:flex;position:relative}.wait-time-display{text-align:center;flex:1;position:relative}.wait-minutes{color:var(--crayon-red);text-shadow:4px 4px #00000026;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:4rem;font-weight:900;line-height:1;transition:all .3s;display:inline-block;position:relative}.wait-minutes:before{content:"";z-index:-1;background:radial-gradient(circle,#ee204d26,#0000 70%);border-radius:50%;width:130%;height:130%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.number-flip{animation:.6s cubic-bezier(.68,-.55,.265,1.55) flipNumber}@keyframes flipNumber{0%{opacity:1;transform:rotateX(0)scale(1)}50%{opacity:.2;transform:rotateX(90deg)scale(.75)}to{opacity:1;transform:rotateX(0)scale(1)}}.wait-label{color:var(--text-dark);text-transform:uppercase;letter-spacing:2px;margin-top:.8rem;font-size:1.1rem;font-weight:700}.wait-divider{background:linear-gradient(to bottom,var(--quick-green)0%,var(--moderate-yellow)50%,var(--long-orange)100%);border-radius:10px;flex-shrink:0;width:5px;height:90px;position:relative;box-shadow:0 0 15px #0003}.wait-divider:after{content:"⬤";color:#fff;text-shadow:0 0 8px #0009;font-size:1.3rem;animation:1.8s ease-in-out infinite dividerPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes dividerPulse{0%,to{opacity:1;transform:translate(-50%,-50%)scale(1)}50%{opacity:.6;transform:translate(-50%,-50%)scale(1.4)}}.wait-queue-info{text-align:center;flex:1}.cars-ahead-badge{background:var(--white-paper);border:5px solid var(--text-dark);box-shadow:var(--shadow-soft);border-radius:24px;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:all .35s;display:inline-flex;position:relative}.cars-ahead-badge:hover{transform:translateY(-4px)scale(1.05);box-shadow:0 12px #0003}.car-icon{filter:drop-shadow(3px 3px 4px #0003);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:2.5rem;animation:2.5s ease-in-out infinite drive}@keyframes drive{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(4px)rotate(-2deg)}50%{transform:translate(10px)rotate(0)}75%{transform:translate(4px)rotate(2deg)}}.cars-count{color:var(--crayon-blue);text-shadow:3px 3px #0000001f;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:3rem;font-weight:900;line-height:1}.cars-label{color:var(--text-dark);text-transform:uppercase;letter-spacing:1.5px;margin-top:1rem;font-size:1.1rem;font-weight:700}.wait-footer{border-top:var(--border-dashed);z-index:2;margin-top:1.5rem;padding-top:1.2rem;position:relative}.progress-dots{justify-content:center;gap:1rem;margin-bottom:1.2rem;display:flex}.dot{border:3px solid var(--text-dark);background:#e0e0e0;border-radius:50%;width:20px;height:20px;transition:all .4s;position:relative}.dot:after{content:"";border:2px solid #0000;border-radius:50%;transition:all .4s;position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.dot.active{background:var(--crayon-blue);animation:1.4s ease-in-out infinite dotPulse;box-shadow:0 0 15px #1f75fecc,inset 0 0 8px #fff9}.dot.active:after{border-color:#1f75fe66;animation:1.8s ease-out infinite ripple}@keyframes dotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@keyframes ripple{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}.wait-tip{text-align:center;color:var(--text-dark);border:3px solid var(--text-dark);box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#fffffff2,#fffc);border-radius:18px;margin:0;padding:1rem 1.5rem 1rem 3rem;font-size:1rem;font-weight:700;position:relative}.wait-tip:before{content:"💡";font-size:1.5rem;animation:2.5s ease-in-out infinite bulbGlow;position:absolute;top:50%;left:1.5rem;transform:translateY(-50%)}@keyframes bulbGlow{0%,to{filter:brightness()}50%{filter:brightness(1.5)drop-shadow(0 0 10px #ffd700cc)}}.wait-time-card.loading{background:linear-gradient(135deg,#f5f5f5 0%,var(--manila-paper)100%);flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;min-height:200px;display:flex}.wait-spinner{border:6px solid var(--moderate-yellow);border-top-color:var(--crayon-red);border-bottom-color:var(--crayon-blue);border-radius:50%;width:60px;height:60px;animation:1.2s linear infinite spin;box-shadow:0 0 20px #00000026}.wait-time-card.loading p{color:var(--text-dark);text-transform:uppercase;letter-spacing:1.5px;font-size:1.2rem;font-weight:700;animation:1.8s ease-in-out infinite fadeInOut}@keyframes fadeInOut{0%,to{opacity:.4}50%{opacity:1}}@media (max-width:768px){.wait-time-card{border-radius:22px;margin-top:1.2rem;padding:1.2rem}.wait-main{flex-direction:column;gap:1.5rem;padding:1.2rem 0}.wait-divider{width:100px;height:5px}.wait-divider:after{font-size:1.1rem}.wait-minutes{font-size:3.5rem}.cars-count{font-size:2.5rem}.wait-emoji{font-size:2.2rem}.wait-status-text{letter-spacing:1px;font-size:1.3rem}.car-icon{font-size:2.2rem}.prepare-icon{font-size:3rem}.prepare-text h3{font-size:1.5rem}.prepare-text p{font-size:1rem}.cars-ahead-badge{gap:.9rem;padding:1rem 1.3rem}.progress-dots{gap:.9rem}.dot{border-width:3px;width:18px;height:18px}.wait-label,.cars-label{font-size:1rem}.wait-tip{padding:.9rem 1.2rem .9rem 2.8rem;font-size:.95rem}.wait-tip:before{font-size:1.3rem;left:1.2rem}}@media (max-width:480px){.wait-time-card{border-width:5px;margin-top:1rem;padding:1rem}.wait-header{flex-direction:column;gap:.8rem;padding:.9rem}.wait-status-text{font-size:1.2rem}.wait-minutes{font-size:3rem}.cars-count{font-size:2.2rem}.wait-emoji,.car-icon{font-size:2rem}.prepare-icon{font-size:2.8rem}.prepare-badge{flex-direction:column;gap:1rem;padding:1.2rem 1.5rem}.prepare-text h3{font-size:1.3rem}.prepare-text p{font-size:.95rem}.cars-ahead-badge{gap:.8rem;padding:.9rem 1.2rem}.wait-divider{width:80px;height:4px}.progress-dots{gap:.7rem}.dot{width:16px;height:16px}.wait-tip{padding:.8rem 1rem .8rem 2.5rem;font-size:.9rem}.wait-tip:before{font-size:1.2rem;left:1rem}.wait-label,.cars-label{letter-spacing:1px;font-size:.95rem}.wait-time-card:after{font-size:2rem;bottom:-12px;right:12px}}@media print{.wait-time-card{box-shadow:none;border:2px solid var(--text-dark)}.wait-time-card:before,.wait-time-card:after{display:none}.wait-emoji,.car-icon,.prepare-icon{animation:none}}@media (prefers-contrast:high){.wait-time-card{border-width:4px}.wait-minutes,.cars-count,.wait-status-text{text-shadow:none}}.wait-time-card:focus-visible{outline:4px solid var(--crayon-blue);outline-offset:4px}.wait-time-card.dismissed{border-color:var(--quick-green);background:linear-gradient(135deg,#e8f5e9,#c8e6c9);animation:2s ease-in-out infinite celebrationPulse}@keyframes celebrationPulse{0%,to{box-shadow:var(--shadow-crayon);transform:scale(1)}50%{transform:scale(1.02);box-shadow:0 12px #1cac784d,0 0 30px #1cac7880}}.dismissed-content{z-index:2;padding:1.5rem 0;position:relative}.celebration-badge{background:var(--white-paper);border:5px solid var(--quick-green);box-shadow:var(--shadow-soft);border-radius:24px;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:2rem;animation:1s ease-in-out infinite celebrationBounce;display:flex}@keyframes celebrationBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.celebration-icon{filter:drop-shadow(3px 3px 6px #0003);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:4rem;animation:3s linear infinite spin}.celebration-text{text-align:center;flex:1}.celebration-text h3{color:var(--quick-green);text-transform:uppercase;letter-spacing:1.5px;text-shadow:2px 2px #1cac7833;margin:0 0 .5rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:2rem;font-weight:900}.celebration-text p{color:var(--text-dark);margin:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.15rem;font-weight:700}.dismissed-message{text-align:center;border:4px solid var(--quick-green);box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#fffffff2,#ffffffd9);border-radius:20px;padding:1.5rem 2rem;position:relative;overflow:hidden}.dismissed-message:before{content:"✨";opacity:.7;font-size:2rem;animation:2s ease-in-out infinite sparkle;position:absolute;top:-10px;left:10%}.dismissed-message:after{content:"✨";opacity:.7;font-size:2rem;animation:2s ease-in-out 1s infinite sparkle;position:absolute;bottom:-10px;right:10%}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.7;transform:scale(1.3)rotate(180deg)}}.dismissed-message p{color:var(--quick-green);text-transform:uppercase;letter-spacing:1px;z-index:1;margin:0;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.3rem;font-weight:900;position:relative}.wait-time-card.dismissed:before{content:"🎉 🎊 ✨ 🌟 🎉 🎊 ✨ 🌟";opacity:.15;pointer-events:none;z-index:0;justify-content:space-around;align-items:center;font-size:2rem;animation:8s linear infinite confettiFall;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}@keyframes confettiFall{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@media (max-width:768px){.celebration-badge{flex-direction:column;gap:1rem;padding:1.5rem}.celebration-icon{font-size:3rem}.celebration-text h3{font-size:1.6rem}.celebration-text p{font-size:1rem}.dismissed-message p{font-size:1.1rem}}@media (max-width:480px){.celebration-badge{padding:1.2rem}.celebration-icon{font-size:2.5rem}.celebration-text h3{font-size:1.4rem}.celebration-text p{font-size:.95rem}.dismissed-message{padding:1.2rem 1.5rem}.dismissed-message p{font-size:1rem}}.schools-table-container{background:#fff;border-radius:16px;margin-top:2rem;overflow:hidden;box-shadow:0 4px 16px #00000014}.schools-table{border-collapse:collapse;width:100%;font-family:Nunito,Quicksand,system-ui,sans-serif}.schools-table th,.schools-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:1.1rem 1.4rem}.schools-table th{color:#1e293b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;font-size:1.05rem;font-weight:800}.schools-table tr:hover{background:#f8fafc;transition:background .2s}.school-name-cell{color:var(--crayon-blue);align-items:center;gap:.9rem;font-size:1.15rem;font-weight:700;display:flex}.school-name-cell svg{color:var(--crayon-orange);flex-shrink:0}.school-id{color:#475569;background:#f1f5f9;border-radius:8px;padding:.35rem .75rem;font-family:Courier New,Courier,monospace;font-size:.95rem;font-weight:700;display:inline-block}.theme-color-cell{align-items:center;display:flex}.color-preview{border:3px solid #1e293b;border-radius:10px;width:38px;height:38px;box-shadow:0 2px 6px #00000026}.no-color{color:#94a3b8;font-style:italic}.school-date{color:#64748b;font-weight:600}.loading-state,.error-state,.empty-state{text-align:center;color:#64748b;padding:4rem 2rem;font-size:1.3rem;font-weight:600}.loading-state svg{color:var(--crayon-blue);margin-bottom:1rem}@media (max-width:600px){.schools-table{font-size:.95rem}.schools-table thead{display:none}.schools-table tr{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1.5rem;display:block}.schools-table td{border:none;border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:1rem;display:flex}.schools-table td:before{content:attr(data-label);color:#475569;flex:1;margin-right:1rem;font-weight:700}.schools-table td:last-child{border-bottom:none}}.bulk-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.3s fadeIn;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.bulk-modal-container{background:var(--white,#fff);border:6px solid var(--text-dark,#2c3e50);border-radius:24px;flex-direction:column;width:100%;max-width:800px;max-height:90vh;animation:.4s slideUp;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.bulk-modal-header{background:var(--crayon-blue,#1f75fe);border-bottom:6px solid var(--text-dark,#2c3e50);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.bulk-modal-title{color:#fff;align-items:center;gap:1rem;display:flex}.bulk-modal-title h2{text-transform:uppercase;margin:0;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:2rem;font-weight:900}.bulk-modal-close{background:var(--crayon-red,#ee204d);color:#fff;border:4px solid var(--text-dark,#2c3e50);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex;box-shadow:0 4px #00000026}.bulk-modal-close:hover{transform:translateY(-2px);box-shadow:0 6px #00000026}.bulk-modal-body{flex-direction:column;flex:1;gap:1.5rem;padding:2rem;display:flex;overflow-y:auto}.template-section{background:var(--manila-paper,#fff8dc);border:5px solid var(--text-dark,#2c3e50);border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 6px #00000026}.template-info{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.template-info svg{color:var(--crayon-purple,#926eae);flex-shrink:0}.template-info div{flex:1;min-width:0}.template-info h3{color:var(--text-dark,#2c3e50);margin:0 0 .3rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.3rem;font-weight:900}.template-info p{color:var(--text-medium,#5d6d7e);margin:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem}.template-download-btn{background:var(--crayon-green,#1cac78);color:#fff;border:4px solid var(--text-dark,#2c3e50);cursor:pointer;text-transform:uppercase;white-space:nowrap;border-radius:12px;flex-shrink:0;align-items:center;gap:.6rem;padding:.8rem 1.5rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:900;transition:all .2s;display:flex;box-shadow:0 4px #00000026}.template-download-btn:hover{transform:translateY(-2px);box-shadow:0 6px #00000026}.upload-success{background:var(--crayon-green,#1cac78);color:#fff;border:5px solid var(--text-dark,#2c3e50);border-radius:16px;align-items:center;gap:1.2rem;padding:1.5rem;display:flex;box-shadow:0 6px #00000026}.upload-success svg{flex-shrink:0}.upload-success strong{margin-bottom:.3rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.4rem;font-weight:900;display:block}.upload-success p{margin:.3rem 0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.05rem}.upload-success .failed-count{color:#fffffff2;background:#00000026;border-radius:10px;margin-top:.4rem;padding:.3rem .8rem;font-weight:800;display:inline-block}.bulk-error-message{color:var(--apple-red,#dc143c);border:5px solid var(--text-dark,#2c3e50);background:#fee2e2;border-radius:16px;align-items:center;gap:1rem;padding:1.2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:700;display:flex;box-shadow:0 6px #00000026}.bulk-error-message svg{flex-shrink:0}.validation-errors{border:5px solid var(--text-dark,#2c3e50);background:#fff3cd;border-radius:16px;padding:1.2rem;box-shadow:0 6px #00000026}.validation-errors h4{color:var(--crayon-orange,#ff7538);align-items:center;gap:.6rem;margin:0 0 .8rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.2rem;font-weight:900;display:flex}.validation-errors ul{max-height:200px;margin:0;padding-left:1.5rem;overflow-y:auto}.validation-errors li{color:var(--text-dark,#2c3e50);word-break:break-word;margin-bottom:.4rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem}.drop-zone{border:5px dashed var(--text-dark,#2c3e50);text-align:center;cursor:pointer;background:var(--manila-paper,#fff8dc);border-radius:16px;justify-content:center;align-items:center;min-height:280px;padding:3rem 2rem;transition:all .3s;display:flex}.drop-zone:hover{background:var(--white,#fff);border-color:var(--crayon-blue,#1f75fe)}.drop-zone.dragging{background:var(--construction-paper-blue,#b0e0e6);border-color:var(--crayon-blue,#1f75fe);border-style:solid;transform:scale(1.02)}.drop-zone.has-file{background:var(--white,#fff);border-style:solid;border-color:var(--crayon-green,#1cac78)}.drop-zone-content{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.drop-zone-content svg{color:var(--crayon-blue,#1f75fe)}.drop-zone-content h3{color:var(--text-dark,#2c3e50);margin:0;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.6rem;font-weight:900}.drop-zone-content p{color:var(--text-medium,#5d6d7e);margin:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.2rem}.choose-file-btn{background:var(--crayon-blue,#1f75fe);color:#fff;border:4px solid var(--text-dark,#2c3e50);cursor:pointer;text-transform:uppercase;border-radius:12px;padding:.9rem 2rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.2rem;font-weight:900;transition:all .2s;box-shadow:0 4px #00000026}.choose-file-btn:hover{transform:translateY(-2px);box-shadow:0 6px #00000026}.file-hint{font-style:italic;color:var(--pencil-gray,#696969)!important;font-size:.95rem!important}.file-selected{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.file-selected svg{color:var(--crayon-green,#1cac78)}.file-name{color:var(--text-dark,#2c3e50);word-break:break-word;text-align:center;margin:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.3rem;font-weight:900}.file-size{color:var(--text-medium,#5d6d7e);margin:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.1rem}.change-file-btn{background:var(--crayon-orange,#ff7538);color:#fff;border:4px solid var(--text-dark,#2c3e50);cursor:pointer;text-transform:uppercase;border-radius:12px;margin-top:.5rem;padding:.7rem 1.5rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:900;transition:all .2s;box-shadow:0 4px #00000026}.change-file-btn:hover{transform:translateY(-2px);box-shadow:0 6px #00000026}.preview-section{margin-top:1rem}.preview-section h3{color:var(--text-dark,#2c3e50);margin:0 0 1rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.4rem;font-weight:900}.preview-table-wrapper{border:5px solid var(--text-dark,#2c3e50);background:#fff;border-radius:16px;overflow-x:auto;box-shadow:0 6px #00000026}.preview-table{border-collapse:collapse;width:100%;min-width:600px;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif}.preview-table thead{background:var(--crayon-purple,#926eae);color:#fff}.preview-table th{text-align:left;text-transform:uppercase;padding:1rem;font-size:1.1rem;font-weight:900}.preview-table td{border-bottom:2px solid var(--construction-paper-blue,#b0e0e6);color:var(--text-dark,#2c3e50);vertical-align:middle;padding:.9rem 1rem;font-size:1rem;font-weight:600}.preview-table tbody tr:last-child td{border-bottom:none}.preview-table tbody tr:hover{background:var(--manila-paper,#fff8dc)}.parent-emails-preview{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.4rem;min-height:2.5rem;display:flex}.email-badge{background:var(--crayon-blue);color:#fff;white-space:nowrap;border:2px solid var(--text-dark);border-radius:14px;padding:.3rem .8rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.85rem;font-weight:800;animation:.3s badge-appear;box-shadow:0 2px #0000001a}.email-badge:first-child{background:var(--crayon-blue)}.email-badge:nth-child(2){background:var(--crayon-green)}.email-badge:nth-child(3){background:var(--crayon-orange)}.email-badge:nth-child(4){background:var(--crayon-purple)}.email-badge:nth-child(5){background:var(--crayon-red)}.bulk-modal-footer{background:var(--construction-paper-blue,#b0e0e6);border-top:6px solid var(--text-dark,#2c3e50);justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;display:flex}.cancel-btn{background:var(--white,#fff);color:var(--text-dark,#2c3e50);border:4px solid var(--text-dark,#2c3e50);cursor:pointer;text-transform:uppercase;border-radius:12px;padding:.9rem 2rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:900;transition:all .2s;box-shadow:0 4px #00000026}.cancel-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #00000026}.upload-btn{background:var(--crayon-green,#1cac78);color:#fff;border:4px solid var(--text-dark,#2c3e50);cursor:pointer;text-transform:uppercase;border-radius:12px;align-items:center;gap:.6rem;padding:.9rem 2rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:900;transition:all .2s;display:flex;box-shadow:0 4px #00000026}.upload-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #00000026}.upload-btn:disabled,.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.spin{animation:1s linear infinite spin}@media (max-width:1024px) and (min-width:769px){.bulk-modal-container{max-width:90%}.bulk-modal-title h2{font-size:1.7rem}.template-info h3{font-size:1.2rem}.template-info p{font-size:.95rem}.template-download-btn{padding:.7rem 1.2rem;font-size:1rem}}@media (max-width:768px){.bulk-modal-overlay{padding:.5rem}.bulk-modal-container{border-width:4px;border-radius:20px;max-width:100%;max-height:95vh}.bulk-modal-header{border-bottom-width:4px;padding:1rem 1.2rem}.bulk-modal-title{gap:.7rem}.bulk-modal-title svg{width:24px;height:24px}.bulk-modal-title h2{font-size:1.4rem}.bulk-modal-close{border-width:3px;border-radius:10px;width:40px;height:40px}.bulk-modal-close svg{width:20px;height:20px}.bulk-modal-body{gap:1.2rem;padding:1.2rem}.template-section{border-width:4px;flex-direction:column;align-items:stretch;gap:1rem;padding:1.2rem}.template-info{gap:.8rem}.template-info svg{width:20px;height:20px}.template-info h3{font-size:1.1rem}.template-info p{font-size:.9rem}.template-download-btn{border-width:3px;justify-content:center;width:100%;padding:.8rem 1.2rem;font-size:1rem}.template-download-btn svg{width:18px;height:18px}.upload-success{text-align:center;border-width:4px;flex-direction:column;gap:1rem;padding:1.2rem}.upload-success svg{width:28px;height:28px;margin:0 auto}.upload-success strong{font-size:1.2rem}.upload-success p{font-size:.95rem}.bulk-error-message{border-width:4px;gap:.8rem;padding:1rem;font-size:.95rem}.bulk-error-message svg{width:20px;height:20px}.validation-errors{border-width:4px;padding:1rem}.validation-errors h4{gap:.5rem;font-size:1.05rem}.validation-errors h4 svg{width:18px;height:18px}.validation-errors li{font-size:.9rem}.drop-zone{border-width:4px;min-height:220px;padding:2rem 1rem}.drop-zone-content svg{width:48px;height:48px}.drop-zone-content h3{font-size:1.3rem}.drop-zone-content p{font-size:1rem}.choose-file-btn{border-width:3px;padding:.8rem 1.5rem;font-size:1rem}.file-hint{font-size:.85rem!important}.file-selected svg{width:40px;height:40px}.file-name{font-size:1.1rem}.file-size{font-size:.95rem}.change-file-btn{border-width:3px;padding:.6rem 1.2rem;font-size:.9rem}.preview-section h3{font-size:1.2rem}.preview-table-wrapper{border-width:4px}.preview-table{min-width:500px;font-size:.85rem}.preview-table th{padding:.7rem .6rem;font-size:.9rem}.preview-table td{padding:.7rem .6rem;font-size:.85rem}.email-badge{border-width:2px;padding:.25rem .6rem;font-size:.75rem}.bulk-modal-footer{border-top-width:4px;flex-direction:column-reverse;gap:.8rem;padding:1rem 1.2rem}.cancel-btn,.upload-btn{border-width:3px;justify-content:center;width:100%;padding:.8rem 1.5rem;font-size:1rem}.upload-btn svg,.cancel-btn svg{width:18px;height:18px}}@media (max-width:480px){.bulk-modal-overlay{padding:.25rem}.bulk-modal-container{border-width:3px;border-radius:16px}.bulk-modal-header{border-bottom-width:3px;padding:.8rem 1rem}.bulk-modal-title{gap:.5rem}.bulk-modal-title svg{width:20px;height:20px}.bulk-modal-title h2{font-size:1.1rem}.bulk-modal-close{border-width:2px;border-radius:8px;width:36px;height:36px}.bulk-modal-close svg{width:18px;height:18px}.bulk-modal-body{gap:1rem;padding:1rem}.template-section{border-width:3px;border-radius:12px;padding:1rem}.template-info h3{margin-bottom:.2rem;font-size:1rem}.template-info p{font-size:.85rem}.template-download-btn{gap:.4rem;padding:.7rem 1rem;font-size:.9rem}.upload-success{border-width:3px;border-radius:12px;padding:1rem}.upload-success svg{width:24px;height:24px}.upload-success strong{font-size:1.05rem}.upload-success p{font-size:.85rem}.bulk-error-message{border-width:3px;border-radius:12px;padding:.8rem;font-size:.85rem}.validation-errors{border-width:3px;border-radius:12px;padding:.8rem}.validation-errors h4{font-size:.95rem}.validation-errors li{margin-bottom:.3rem;font-size:.8rem}.drop-zone{border-width:3px;border-radius:12px;min-height:180px;padding:1.5rem .8rem}.drop-zone-content svg{width:40px;height:40px}.drop-zone-content h3{font-size:1.1rem}.drop-zone-content p{font-size:.9rem}.choose-file-btn{padding:.7rem 1.2rem;font-size:.9rem}.file-hint{font-size:.75rem!important}.file-selected svg{width:36px;height:36px}.file-name{font-size:1rem}.file-size{font-size:.85rem}.change-file-btn{padding:.6rem 1rem;font-size:.85rem}.preview-section h3{margin-bottom:.8rem;font-size:1.05rem}.preview-table-wrapper{border-width:3px;border-radius:12px}.preview-table{min-width:400px;font-size:.75rem}.preview-table th{padding:.6rem .5rem;font-size:.8rem}.preview-table td{padding:.6rem .5rem;font-size:.75rem}.parent-emails-preview{gap:.3rem}.email-badge{padding:.2rem .5rem;font-size:.7rem}.bulk-modal-footer{border-top-width:3px;padding:.8rem 1rem}.cancel-btn,.upload-btn{padding:.7rem 1.2rem;font-size:.9rem}}@media (max-width:360px){.bulk-modal-title h2{font-size:1rem}.template-info h3{font-size:.95rem}.template-info p{font-size:.8rem}.template-download-btn{padding:.6rem .8rem;font-size:.85rem}.drop-zone-content h3{font-size:1rem}.drop-zone-content p{font-size:.85rem}.preview-table{min-width:350px}.email-badge{font-size:.65rem}}@media print{.email-badge{color:#000!important;box-shadow:none!important;background:#fff!important;border:1px solid #000!important}}.terms-page-container{background:var(--construction-paper-blue);background-image:repeating-linear-gradient(45deg,#0000,#0000 35px,#ffffff1a 35px,#ffffff1a 70px),repeating-linear-gradient(-45deg,#0000,#0000 35px,#ffffff0d 35px,#ffffff0d 70px);min-height:100vh;padding:2.5rem 1.5rem 4rem}.terms-page-wrapper{max-width:1400px;margin:0 auto}.terms-header{text-align:center;margin:1rem 0 3rem;padding-top:5rem;position:relative}.terms-page-title{color:var(--crayon-purple);text-shadow:4px 4px 0 var(--school-bus-yellow),8px 8px 0 var(--crayon-blue);justify-content:center;align-items:center;gap:1rem;margin:.8rem 0 .6rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:3.8rem;font-weight:900;display:flex}.terms-header-subtitle{color:var(--text-dark);background:var(--white);border:4px dashed var(--crayon-purple);box-shadow:var(--shadow-crayon);border-radius:20px;padding:.8rem 2rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.4rem;font-weight:700;display:inline-block}.terms-page-container .back-button{background:var(--crayon-blue);color:#fff;border:5px solid var(--text-dark);cursor:pointer;box-shadow:var(--shadow-crayon);text-transform:uppercase;letter-spacing:.5px;border-radius:16px;align-items:center;gap:.8rem;padding:.9rem 1.6rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:900;transition:all .25s;display:flex;position:absolute;top:0;left:0}.terms-page-container .back-button:hover{background:var(--crayon-purple);transform:translateY(-3px);box-shadow:0 12px #0000002e}.terms-book-page{background:var(--white);border:6px solid var(--text-dark);max-width:1300px;box-shadow:var(--shadow-raised);background-image:repeating-linear-gradient(#0000,#0000 2.7rem,#e8e8e8 2.7rem,#e8e8e8 2.8rem);background-size:100% 2.8rem;border-radius:24px;margin:0 auto 3rem;padding:4rem 4rem 4rem 6rem;position:relative}.terms-book-page:before{content:"";background:var(--crayon-red);border-radius:2px;width:5px;position:absolute;top:2rem;bottom:2rem;left:4rem}.terms-content{color:var(--text-dark);font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;line-height:1.9}.terms-meta{background:var(--manila-paper);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;margin-bottom:3rem;padding:1.5rem 2rem}.terms-meta p{color:var(--text-dark);margin:.6rem 0;font-size:1.25rem;font-weight:800}.acceptance-section,.service-section,.registration-section,.data-section,.privacy-section,.acceptable-use-section,.notifications-section,.availability-section,.liability-section,.termination-section,.intellectual-property-section,.modifications-section,.governing-law-section,.location-services-section,.driving-safety-section,.contact-section{border-bottom:4px dashed var(--construction-paper-blue);margin-bottom:3.5rem;padding-bottom:2rem}.acceptance-section p,.service-section p,.registration-section p,.data-section p,.privacy-section p,.acceptable-use-section p,.notifications-section p,.availability-section p,.liability-section p,.termination-section p,.intellectual-property-section p,.modifications-section p,.governing-law-section p,.location-services-section p,.driving-safety-section p,.contact-section p{margin:1rem 0;font-size:1.2rem;font-weight:400;line-height:2}.terms-content strong{letter-spacing:.3px;font-size:1.15em;font-weight:900}.info-box{border:4px solid var(--crayon-blue);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:16px;margin:1.5rem 0;padding:1.8rem 2rem}.liability-box{border:4px solid var(--crayon-orange);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-radius:16px;margin:1.5rem 0;padding:1.8rem 2rem}.location-purpose-box{border:4px solid var(--crayon-green);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:16px;margin:1.5rem 0;padding:1.8rem 2rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin:1.5rem 0;display:grid}.feature-card{background:var(--manila-paper);border:3px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:12px;align-items:center;gap:1rem;padding:1.2rem 1.5rem;transition:all .25s;display:flex}.feature-card:hover{background:var(--white);transform:translateY(-3px);box-shadow:0 10px #00000026}.feature-emoji{flex-shrink:0;justify-content:center;width:40px;font-size:2.2rem;display:inline-flex}.feature-text{font-size:1.1rem;font-weight:700;line-height:1.5}.privacy-items{flex-direction:column;gap:1rem;margin:1.5rem 0;display:flex}.privacy-item-yes,.privacy-item-no{border:3px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:12px;align-items:center;gap:1rem;padding:1.2rem 1.5rem;font-size:1.15rem;font-weight:700;display:flex}.privacy-item-yes{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.privacy-item-no{background:linear-gradient(135deg,#ffebee,#ffcdd2)}.privacy-icon{flex-shrink:0;width:28px;height:28px}.prohibited-items{flex-direction:column;gap:1rem;margin:1.5rem 0;display:flex}.prohibited-item{border:3px solid var(--text-dark);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#ffebee,#ffcdd2);border-radius:12px;align-items:center;gap:1rem;padding:1.2rem 1.5rem;font-size:1.15rem;font-weight:700;display:flex}.prohibited-icon{width:28px;height:28px;color:var(--apple-red);flex-shrink:0}.provider-badge{background:var(--manila-paper);border:3px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:12px;margin:1rem 0;padding:1rem 1.5rem;font-weight:800;display:inline-block}.contact-box a,.privacy-section a{color:var(--crayon-blue);font-weight:900;text-decoration:underline;text-decoration-thickness:2px;transition:all .2s}.contact-box a:hover,.privacy-section a:hover{color:var(--crayon-purple);background:var(--school-bus-yellow);border-radius:6px;padding:.2rem .5rem;text-decoration-thickness:3px}.terms-footer{border-top:5px double var(--text-dark);text-align:center;margin-top:4rem;padding-top:2.5rem}.terms-footer p{color:var(--text-medium);margin:0;font-size:1.2rem;font-weight:800}.terms-bottom-actions{text-align:center;margin-top:3rem;padding-bottom:2rem}.back-to-dashboard-button{background:linear-gradient(135deg,var(--crayon-green),#0d8a5f);color:#fff;border:6px solid var(--text-dark);cursor:pointer;text-transform:uppercase;letter-spacing:1px;border-radius:20px;align-items:center;gap:1rem;padding:1.2rem 3rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.5rem;font-weight:900;transition:all .25s;display:inline-flex;box-shadow:0 8px #0003}.back-to-dashboard-button:hover{background:linear-gradient(135deg,var(--crayon-orange),#e64a19);transform:translateY(-4px);box-shadow:0 14px #0003}.back-to-dashboard-button:active{transform:translateY(2px);box-shadow:0 4px #0003}.safety-rules{flex-direction:column;gap:1rem;margin:1.5rem 0;display:flex}.safety-rule-item{border:3px solid var(--text-dark);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#fff8e1,#ffecb3);border-radius:12px;align-items:center;gap:1.2rem;padding:1.3rem 1.6rem;font-size:1.15rem;font-weight:600;line-height:1.7;display:flex}.safety-rule-emoji{flex-shrink:0;justify-content:center;width:36px;font-size:2rem;display:inline-flex}.safety-highlight-box{color:var(--apple-red);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#ffebee,#ffcdd2);border-radius:12px;margin:1.5rem 0;padding:1.1rem 1.6rem;font-size:1.2rem;font-weight:900;display:block}@media (max-width:1024px){.terms-book-page{padding:3.5rem 3rem 3.5rem 5rem}.features-grid{grid-template-columns:1fr}}@media (max-width:768px){.terms-page-container{padding:1.8rem 1rem 3rem}.terms-book-page{padding:3rem 2rem 3rem 4rem}.terms-page-title{font-size:2.8rem}.terms-header-subtitle{font-size:1.2rem}.terms-page-container .back-button{width:-moz-fit-content;width:fit-content;margin:0 auto 2rem;display:block;position:static}.section-heading{font-size:1.8rem}.back-to-dashboard-button{padding:1rem 2.5rem;font-size:1.3rem}}@media (max-width:480px){.terms-book-page{padding:2.5rem 1.5rem 2.5rem 3.5rem}.terms-book-page:before{width:4px;left:2rem}.terms-page-title{flex-direction:column;gap:.5rem;font-size:2.2rem}.section-heading{flex-wrap:wrap;font-size:1.6rem}.subsection-heading{font-size:1.4rem}.emoji-bullet{width:28px;font-size:1.5rem}.feature-emoji{width:32px;font-size:1.8rem}.back-to-dashboard-button{padding:.9rem 2rem;font-size:1.1rem}}:root{--crayon-blue:#1f75fe;--crayon-red:#ee204d;--crayon-green:#1cac78;--crayon-purple:#926eae;--school-bus-yellow:gold;--text-dark:#2c3e50;--manila-paper:#fff8dc;--white-paper:#fff;--shadow-crayon:0 8px 0 #00000026;--shadow-hover:0 15px 0 #0003;--border-thick:6px solid var(--text-dark)}.gps-permission-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2c3e50bf;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.gps-permission-toast{background:var(--manila-paper);border:var(--border-thick);width:90%;max-width:550px;box-shadow:var(--shadow-hover);border-radius:32px;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;animation:.4s cubic-bezier(.68,-.55,.265,1.55) popIn;position:relative;overflow:hidden}@keyframes popIn{0%{opacity:0;transform:scale(.7)translateY(50px)rotate(-3deg)}to{opacity:1;transform:scale(1)translateY(0)rotate(0)}}.gps-permission-toast:before{content:"🎨";opacity:.1;pointer-events:none;z-index:0;font-size:3rem;position:absolute;top:20px;right:20px;transform:rotate(25deg)}.gps-toast-header{background:linear-gradient(135deg,var(--crayon-blue)0%,#1557c7 100%);color:#fff;border-bottom:5px solid var(--text-dark);justify-content:center;align-items:center;gap:.8rem;padding:1.2rem 1.5rem;display:flex;position:relative;overflow:hidden}.gps-toast-header:before{content:"";background:radial-gradient(circle,#ffffff4d,#0000 70%);width:200%;height:200%;animation:3s ease-in-out infinite headerShimmer;position:absolute;top:-50%;left:-50%}@keyframes headerShimmer{0%,to{opacity:.3;transform:translate(-50%,-50%)scale(1)}50%{opacity:.6;transform:translate(-30%,-30%)scale(1.1)}}.gps-icon{filter:drop-shadow(3px 3px 6px #0000004d);z-index:1;font-size:2.2rem;animation:2s ease-in-out infinite locationPulse;position:relative}@keyframes locationPulse{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.15)rotate(-8deg)}50%{transform:scale(1.2)rotate(0)}75%{transform:scale(1.15)rotate(8deg)}}.gps-toast-header h3{text-transform:uppercase;letter-spacing:1.5px;text-shadow:3px 3px #0003;z-index:1;margin:0;font-size:1.4rem;font-weight:900;position:relative}.gps-toast-body{z-index:1;padding:1.2rem 1.5rem;position:relative}.gps-intro{color:var(--text-dark);text-align:center;background:var(--white-paper);border:4px solid var(--text-dark);border-radius:16px;margin:0 0 1rem;padding:.8rem 1rem;font-size:1rem;font-weight:700;line-height:1.5;box-shadow:0 4px #0000001a}.gps-benefits{background:var(--white-paper);border:5px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:20px;margin:1rem 0 0;padding:1rem;position:relative}.gps-benefits:after{content:"✨";font-size:2rem;animation:2s ease-in-out infinite sparkle;position:absolute;top:-15px;right:20px}.benefit-item{color:var(--text-dark);border-bottom:3px dashed #2c3e5033;align-items:center;gap:.8rem;padding:.5rem 0;font-size:.95rem;font-weight:700;transition:all .3s;display:flex}.benefit-item:last-child{border-bottom:none}.benefit-item:hover{color:var(--crayon-blue);transform:translate(8px)}.benefit-icon{filter:drop-shadow(2px 2px 3px #0003);flex-shrink:0;font-size:1.5rem;animation:2s ease-in-out infinite benefitBounce}.benefit-item:first-child .benefit-icon{animation-delay:0s}.benefit-item:nth-child(2) .benefit-icon{animation-delay:.2s}.benefit-item:nth-child(3) .benefit-icon{animation-delay:.4s}.benefit-item:nth-child(4) .benefit-icon{animation-delay:.6s}@keyframes benefitBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.privacy-badge{background:linear-gradient(135deg,#fff9e6 0%,var(--manila-paper)100%);border:4px solid var(--school-bus-yellow);box-shadow:var(--shadow-crayon);border-left-width:8px;border-radius:20px;align-items:flex-start;gap:1rem;margin-top:1.5rem;padding:1.2rem;display:flex;position:relative}.privacy-badge:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#ffd70033,#0000 60%);border-radius:16px;position:absolute;top:0;right:0;bottom:0;left:0}.privacy-icon{filter:drop-shadow(2px 2px 4px #0003);flex-shrink:0;font-size:2.5rem;animation:2.5s ease-in-out infinite shieldPulse}@keyframes shieldPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.privacy-text{z-index:1;position:relative}.privacy-text strong{color:var(--text-dark);text-transform:uppercase;letter-spacing:1px;margin-bottom:.3rem;font-size:1.2rem;font-weight:900;display:block}.privacy-text p{color:var(--text-dark);margin:0;font-size:.95rem;font-weight:600;line-height:1.5}.gps-toast-actions{background:linear-gradient(#0000,#00000008);gap:1rem;padding:1rem 1.5rem 1.2rem;display:flex}.gps-btn{border:5px solid var(--text-dark);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-crayon);border-radius:20px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.9rem 1.2rem;font-family:Nunito,Quicksand,sans-serif;font-size:1rem;font-weight:900;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);display:flex;position:relative;overflow:hidden}.gps-btn:before{content:"";background:#fff6;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gps-btn:hover:before{width:300px;height:300px}.btn-emoji{z-index:1;font-size:1.3rem;transition:transform .3s;position:relative}.gps-deny-btn{color:#475569;background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.gps-deny-btn:hover{background:linear-gradient(135deg,#cbd5e1,#94a3b8);transform:translateY(-3px);box-shadow:0 10px #0003}.gps-deny-btn:hover .btn-emoji{animation:.5s wiggle}.gps-allow-btn{background:linear-gradient(135deg,var(--crayon-green)0%,#159861 100%);color:#fff;text-shadow:2px 2px #0003}.gps-allow-btn:hover{background:linear-gradient(135deg,#22c55e 0%,var(--crayon-green)100%);transform:translateY(-3px)scale(1.03);box-shadow:0 12px #0003}.gps-allow-btn:hover .btn-emoji{animation:.6s sparkleRotate}@keyframes sparkleRotate{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.3)rotate(180deg)}}.gps-btn:active{transform:translateY(0);box-shadow:0 4px #00000026}.live-map-section{background:var(--manila-paper);border:var(--border-thick);box-shadow:var(--shadow-crayon);border-radius:28px;margin:2rem 0;padding:1.5rem;font-family:Nunito,Quicksand,sans-serif;position:relative;overflow:hidden}.live-map-section:before{content:"🗺️";opacity:.08;pointer-events:none;font-size:4rem;position:absolute;bottom:-20px;right:20px;transform:rotate(-12deg)}.map-header{border-bottom:4px dashed var(--text-dark);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.map-header h2{color:var(--text-dark);text-transform:uppercase;letter-spacing:1.5px;text-shadow:2px 2px #ffd70066;margin:0;font-size:1.8rem;font-weight:900}.gps-toggle{align-items:center;gap:.5rem;display:flex}.gps-toggle label{cursor:pointer;color:var(--text-dark);background:var(--white-paper);border:4px solid var(--text-dark);border-radius:20px;align-items:center;gap:.75rem;padding:.7rem 1.2rem;font-size:1rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 4px #0000001a}.gps-toggle label:hover{transform:translateY(-2px);box-shadow:0 6px #00000026}.gps-toggle input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--crayon-green)}.map-stats{background:var(--white-paper);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:20px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;display:grid}.stat-item{text-align:center;background:linear-gradient(135deg,#ffd7001a,#0000);border-radius:16px;flex-direction:column;align-items:center;padding:1rem;transition:all .3s;display:flex}.stat-item:hover{transform:translateY(-3px)scale(1.05)}.stat-value{color:var(--crayon-blue);text-shadow:2px 2px #0000001a;font-size:2rem;font-weight:900}.live-map-container{border:5px solid var(--text-dark);width:100%;height:500px;box-shadow:var(--shadow-crayon);border-radius:20px;margin-bottom:1rem;overflow:hidden}.map-loading{background:var(--manila-paper);height:400px;color:var(--text-dark);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;display:flex}.map-loading .spinner{border:5px solid var(--school-bus-yellow);border-top-color:var(--crayon-red);border-bottom-color:var(--crayon-blue);border-radius:50%;width:50px;height:50px;margin-bottom:1rem;animation:1s linear infinite spin;box-shadow:0 0 20px #00000026}.map-loading p{text-transform:uppercase;letter-spacing:1px;font-size:1.1rem;font-weight:700}.eta-confidence-meter{background:var(--white-paper);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:20px;margin-top:1rem;padding:1.5rem}.confidence-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.confidence-title{color:var(--text-dark);text-transform:uppercase;letter-spacing:1px;font-size:1rem;font-weight:900}.confidence-value{text-transform:uppercase;letter-spacing:.5px;font-size:1.1rem;font-weight:900}.confidence-bar-bg{border:3px solid var(--text-dark);background:#e2e8f0;border-radius:6px;width:100%;height:12px;margin-bottom:.75rem;overflow:hidden}.confidence-bar{border-radius:3px;height:100%;transition:width .5s cubic-bezier(.68,-.55,.265,1.55)}.confidence-bar-green{background:linear-gradient(90deg,var(--crayon-green),#22c55e);box-shadow:inset 0 2px 4px #fff6}.confidence-bar-amber{background:linear-gradient(90deg,var(--school-bus-yellow),#fbbf24);box-shadow:inset 0 2px 4px #fff6}.confidence-bar-red{background:linear-gradient(90deg,var(--crayon-red),#ef4444);box-shadow:inset 0 2px 4px #fff6}.confidence-hint{color:var(--text-dark);text-align:center;margin:0;font-size:.95rem;font-weight:700}@media (max-width:768px){.gps-permission-toast{border-width:5px;width:95%}.gps-toast-header h3{font-size:1.5rem}.gps-icon{font-size:2.5rem}.gps-toast-actions{flex-direction:column}.gps-btn{width:100%}.live-map-container{height:400px}.map-header{flex-direction:column;align-items:flex-start;gap:1rem}.map-stats{grid-template-columns:repeat(3,1fr)}.stat-value{font-size:1.5rem}}@media (max-width:480px){.live-map-container{height:350px}.map-stats{grid-template-columns:1fr}.gps-intro{font-size:1rem}.benefit-item{font-size:.95rem}.privacy-badge{text-align:center;flex-direction:column}}.leaflet-popup-content-wrapper{border:3px solid var(--text-dark);box-shadow:var(--shadow-crayon);background:var(--manila-paper);border-radius:16px;font-family:Nunito,sans-serif}.leaflet-popup-content{color:var(--text-dark);margin:12px;font-size:.95rem;font-weight:600;line-height:1.6}.leaflet-popup-content strong{color:var(--crayon-blue);font-size:1.1rem;font-weight:900}.leaflet-popup-tip{background:var(--manila-paper);border:3px solid var(--text-dark)}@media print{.gps-permission-overlay{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--school-bus-yellow:gold;--crayon-red:#ee204d;--crayon-blue:#1f75fe;--crayon-green:#1cac78;--crayon-orange:#ff7538;--crayon-purple:#926eae;--apple-red:#dc143c;--manila-paper:#fff8dc;--construction-paper-blue:#b0e0e6;--white:#fff;--text-dark:#2c3e50;--text-medium:#5d6d7e;--shadow-crayon:0 6px 0 #00000026;--shadow-raised:0 8px 16px #00000026}.privacy-page-container{background:var(--construction-paper-blue);background-image:repeating-linear-gradient(45deg,#0000,#0000 35px,#ffffff1a 35px,#ffffff1a 70px),repeating-linear-gradient(-45deg,#0000,#0000 35px,#ffffff0d 35px,#ffffff0d 70px);min-height:100vh;padding:2.5rem 1.5rem 4rem}.privacy-page-wrapper{max-width:1400px;margin:0 auto}.privacy-header{text-align:center;margin:1rem 0 3rem;padding-top:2rem;position:relative}.privacy-page-title{color:var(--crayon-green);text-shadow:4px 4px 0 var(--school-bus-yellow),8px 8px 0 var(--crayon-purple);justify-content:center;align-items:center;gap:1rem;margin:.8rem 0 .6rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:3.8rem;font-weight:900;display:flex}.privacy-header-subtitle{color:var(--text-dark);background:var(--white);border:4px dashed var(--crayon-green);box-shadow:var(--shadow-crayon);border-radius:20px;padding:.8rem 2rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.4rem;font-weight:700;display:inline-block}.privacy-book-page{background:var(--white);border:6px solid var(--text-dark);max-width:1300px;box-shadow:var(--shadow-raised);background-image:repeating-linear-gradient(#0000,#0000 2.7rem,#e8e8e8 2.7rem,#e8e8e8 2.8rem);background-size:100% 2.8rem;border-radius:24px;margin:0 auto 3rem;padding:4rem 4rem 4rem 6rem;position:relative}.privacy-book-page:before{content:"";background:var(--crayon-red);border-radius:2px;width:5px;position:absolute;top:2rem;bottom:2rem;left:4rem}.privacy-content{color:var(--text-dark);font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;line-height:1.9}.privacy-meta{background:var(--manila-paper);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;margin-bottom:3rem;padding:1.5rem 2rem}.privacy-meta p{color:var(--text-dark);margin:.6rem 0;font-size:1.25rem;font-weight:800}.section-heading{color:var(--crayon-blue);text-shadow:2px 2px 0 var(--school-bus-yellow);align-items:center;gap:1rem;margin:0 0 1.5rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:2.2rem;font-weight:900;display:flex}.heading-icon{flex-shrink:0;width:36px;height:36px}.subsection-heading{color:var(--crayon-purple);margin:2rem 0 1rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.6rem;font-weight:800}.box-title{color:var(--text-dark);align-items:center;gap:.8rem;margin:0 0 1rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.4rem;font-weight:800;display:flex}.box-icon{flex-shrink:0;width:28px;height:28px}.introduction-section,.scope-section,.ferpa-section,.collection-section,.usage-section,.sharing-section,.email-section,.security-section,.retention-section,.rights-section,.coppa-section,.international-section,.changes-section,.contact-section{border-bottom:4px dashed var(--construction-paper-blue);margin-bottom:3.5rem;padding-bottom:2rem}.contact-section{border-bottom:none}.introduction-section p,.scope-section p,.ferpa-section p,.collection-section p,.usage-section p,.sharing-section p,.email-section p,.security-section p,.retention-section p,.rights-section p,.coppa-section p,.international-section p,.changes-section p,.contact-section p{margin:1rem 0;font-size:1.2rem;font-weight:400;line-height:2}.privacy-content strong{letter-spacing:.3px;font-size:1.15em;font-weight:900}.emoji-list{margin:1.5rem 0;padding-left:0;list-style:none}.emoji-list li{align-items:center;gap:1rem;margin:1rem 0;font-size:1.15rem;font-weight:600;line-height:1.9;display:flex}.emoji-bullet{flex-shrink:0;justify-content:center;width:32px;font-size:1.8rem;display:inline-flex}.scope-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin:1.5rem 0;display:grid}.scope-card{background:var(--manila-paper);border:3px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:12px;align-items:center;gap:1rem;padding:1.2rem 1.5rem;transition:all .25s;display:flex}.scope-card:hover{background:var(--white);transform:translateY(-3px);box-shadow:0 10px #00000026}.scope-emoji{flex-shrink:0;justify-content:center;width:40px;font-size:2.2rem;display:inline-flex}.scope-text{font-size:1.1rem;font-weight:700;line-height:1.5}.ferpa-box{border:4px solid var(--crayon-green);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:16px;margin:1.5rem 0;padding:1.8rem 2rem}.info-note{border:3px solid var(--crayon-orange);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-radius:12px;margin:1.5rem 0;padding:1rem 1.5rem;font-size:1.15rem;font-weight:700;display:block}.usage-items{flex-direction:column;gap:1rem;margin:1.5rem 0;display:flex}.usage-item{border:3px solid var(--text-dark);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:12px;align-items:center;gap:1rem;padding:1.2rem 1.5rem;font-size:1.15rem;font-weight:700;display:flex}.usage-icon{width:28px;height:28px;color:var(--crayon-green);flex-shrink:0}.sharing-items{flex-direction:column;gap:1rem;margin:1.5rem 0;display:flex}.sharing-item-yes,.sharing-item-no{border:3px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:12px;align-items:center;gap:1rem;padding:1.2rem 1.5rem;font-size:1.15rem;font-weight:700;display:flex}.sharing-item-yes{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.sharing-item-no{background:linear-gradient(135deg,#ffebee,#ffcdd2)}.sharing-icon{flex-shrink:0;width:28px;height:28px}.security-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin:1.5rem 0;display:grid}.security-card{border:3px solid var(--crayon-blue);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:12px;align-items:center;gap:1rem;padding:1.2rem 1.5rem;transition:all .25s;display:flex}.security-card:hover{background:linear-gradient(135deg,#bbdefb,#90caf9);transform:translateY(-3px);box-shadow:0 10px #00000026}.security-emoji{flex-shrink:0;justify-content:center;width:36px;font-size:2rem;display:inline-flex}.security-text{font-size:1.05rem;font-weight:700;line-height:1.5}.rights-box{border:4px solid var(--crayon-purple);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-radius:16px;flex-direction:column;gap:1rem;margin:1.5rem 0;padding:1.8rem 2rem;display:flex}.rights-item{align-items:center;gap:1rem;font-size:1.15rem;font-weight:700;display:flex}.rights-icon{width:28px;height:28px;color:var(--crayon-green);flex-shrink:0}.contact-box{border:4px solid var(--crayon-purple);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-radius:16px;margin:1.5rem 0;padding:1.8rem 2rem}.highlight-box{background:var(--school-bus-yellow);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:12px;margin:1.5rem 0;padding:1rem 1.5rem;font-size:1.2rem;font-weight:900;display:block}.warning-box{color:var(--apple-red);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);background:linear-gradient(135deg,#ffebee,#ffcdd2);border-radius:12px;margin:1.5rem 0;padding:1rem 1.5rem;font-size:1.2rem;font-weight:900;display:block}.contact-box a{color:var(--crayon-blue);font-weight:900;text-decoration:underline;text-decoration-thickness:2px;transition:all .2s}.contact-box a:hover{color:var(--crayon-purple);background:var(--school-bus-yellow);border-radius:6px;padding:.2rem .5rem;text-decoration-thickness:3px}.privacy-bottom-actions{text-align:center;margin-top:3rem;padding-bottom:2rem}.back-to-register-button{background:linear-gradient(135deg,var(--crayon-green),#0d8a5f);color:#fff;border:6px solid var(--text-dark);cursor:pointer;text-transform:uppercase;letter-spacing:1px;border-radius:20px;align-items:center;gap:1rem;padding:1.2rem 3rem;font-family:Fredoka One,"Baloo 2",Arial Rounded MT Bold,sans-serif;font-size:1.5rem;font-weight:900;transition:all .25s;display:inline-flex;box-shadow:0 8px #0003}.back-to-register-button:hover{background:linear-gradient(135deg,var(--crayon-orange),#e64a19);transform:translateY(-4px);box-shadow:0 14px #0003}.back-to-register-button:active{transform:translateY(2px);box-shadow:0 4px #0003}@media (max-width:1024px){.privacy-book-page{padding:3.5rem 3rem 3.5rem 5rem}.scope-grid,.security-grid{grid-template-columns:1fr}}@media (max-width:768px){.privacy-page-container{padding:1.8rem 1rem 3rem}.privacy-book-page{padding:3rem 2rem 3rem 4rem}.privacy-page-title{font-size:2.8rem}.privacy-header-subtitle{font-size:1.2rem}.section-heading{font-size:1.8rem}.back-to-register-button{padding:1rem 2.5rem;font-size:1.3rem}}@media (max-width:480px){.privacy-book-page{padding:2.5rem 1.5rem 2.5rem 3.5rem}.privacy-book-page:before{width:4px;left:2rem}.privacy-page-title{flex-direction:column;gap:.5rem;font-size:2.2rem}.section-heading{flex-wrap:wrap;font-size:1.6rem}.subsection-heading{font-size:1.4rem}.emoji-bullet{width:28px;font-size:1.5rem}.scope-emoji,.security-emoji{width:32px;font-size:1.8rem}.back-to-register-button{padding:.9rem 2rem;font-size:1.1rem}}.location-section{border-bottom:4px dashed var(--construction-paper-blue);margin-bottom:3.5rem;padding-bottom:2rem}.location-section p{margin:1rem 0;font-size:1.2rem;font-weight:400;line-height:2}.forgot-back-button{background:var(--manila-paper);color:var(--text-dark);border:4px solid var(--text-dark);cursor:pointer;box-shadow:var(--shadow-crayon);text-transform:uppercase;letter-spacing:.05em;border-radius:16px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1.25rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9375rem;font-weight:700;transition:all .3s;display:inline-flex}.forgot-back-button:hover{background:var(--crayon-blue);color:var(--white);transform:translateY(-4px);box-shadow:0 10px #00000026}.forgot-back-button:active{transform:translateY(0);box-shadow:0 4px #00000026}.forgot-back-icon{width:1.25rem;height:1.25rem;transition:transform .2s}.forgot-back-button:hover .forgot-back-icon{transform:translate(-5px)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes successBounce{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.forgot-success-note strong{color:var(--crayon-red);font-weight:900}@media (max-width:768px){.forgot-back-button{border-width:4px;padding:.625rem 1rem;font-size:.875rem}.forgot-success-icon{width:64px;height:64px}.forgot-security-note{border-width:4px;padding:1rem}.forgot-action-button{border-width:4px;padding:1rem;font-size:1rem}}@media (max-width:640px){.forgot-back-button{justify-content:center;width:100%}.forgot-success-note{padding:.875rem 1rem}.forgot-security-list li{padding-left:1.75rem;font-size:.875rem}.forgot-security-list li:before{font-size:1.125rem}}@media (max-width:400px){.forgot-back-button{padding:.75rem;font-size:.8125rem}.forgot-success-icon{width:56px;height:56px}.forgot-action-button{font-size:.9375rem}}.reset-verifying{text-align:center;padding:2rem 0;animation:.5s fadeIn}.reset-verifying .login-spinner{width:60px;height:60px;color:var(--crayon-blue);filter:drop-shadow(0 4px 12px #1f75fe4d);margin:0 auto 1.5rem}.reset-invalid{text-align:center;padding:1rem 0;animation:.5s fadeInScale}.reset-password-toggle{cursor:pointer;z-index:1;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .3s;display:flex;position:absolute;top:50%;right:1.25rem;transform:translateY(-50%)}.reset-password-toggle:hover{background:var(--manila-paper)}.reset-password-toggle:active{transform:translateY(-50%)scale(.95)}.reset-password-toggle svg{width:1.25rem;height:1.25rem;color:var(--text-medium);transition:color .2s}.reset-password-toggle:hover svg{color:var(--crayon-blue)}.reset-password-strength{background:var(--manila-paper);border:3px solid var(--text-dark);border-radius:12px;margin-top:.5rem;padding:.5rem 1rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.875rem;font-weight:600;animation:.3s slideDown;box-shadow:0 4px #0000001a}.reset-password-strength span{color:var(--text-dark)}.reset-password-strength strong{text-transform:uppercase;letter-spacing:.05em;font-weight:900}.reset-password-match{background:var(--manila-paper);border:3px solid var(--text-dark);text-align:center;border-radius:12px;margin-top:.5rem;padding:.5rem 1rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.875rem;font-weight:700;animation:.3s slideDown;box-shadow:0 4px #0000001a}.reset-password-match span{align-items:center;gap:.5rem;font-weight:900;display:inline-flex}.forgot-security-note{background:var(--construction-paper-blue);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;margin-top:1.5rem;padding:1.25rem;animation:.5s slideInUp}.forgot-security-title{color:var(--text-dark);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:900}.forgot-security-list{margin:0;padding:0;list-style:none}.forgot-security-list li{color:var(--text-dark);padding:.5rem 0 .5rem 2rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9375rem;font-weight:600;line-height:1.5;position:relative}.forgot-security-list li:before{content:"✓";color:var(--crayon-green);justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:1.25rem;font-weight:900;display:flex;position:absolute;left:0}.forgot-success-message{text-align:center;padding:1rem 0;animation:.5s fadeInScale}.forgot-success-icon{width:80px;height:80px;color:var(--crayon-green);filter:drop-shadow(0 4px 12px #1cac784d);margin:0 auto 1.25rem;animation:.6s successBounce}.forgot-success-note{background:var(--manila-paper);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);color:var(--text-dark);border-radius:16px;margin-top:1rem;padding:1rem 1.25rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9375rem;font-weight:600}.forgot-actions{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.forgot-action-button{background:var(--crayon-green);width:100%;color:var(--white);border:5px solid var(--text-dark);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;box-shadow:var(--shadow-crayon);border-radius:16px;padding:1.25rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.125rem;font-weight:900;transition:all .3s}.forgot-action-button:hover{background:var(--crayon-blue);transform:translateY(-4px);box-shadow:0 10px #00000026}.forgot-action-button:active{transform:translateY(0);box-shadow:0 4px #00000026}.forgot-action-secondary{background:var(--manila-paper);color:var(--text-dark)}.forgot-action-secondary:hover{background:var(--crayon-orange);color:var(--white)}@media (max-width:768px){.reset-verifying .login-spinner{width:48px;height:48px}.reset-password-toggle{padding:.375rem;right:1rem}.reset-password-toggle svg{width:1.125rem;height:1.125rem}.reset-password-strength,.reset-password-match{border-width:3px;padding:.5rem .875rem;font-size:.8125rem}.forgot-security-note{border-width:4px;padding:1rem}.forgot-success-icon{width:64px;height:64px}.forgot-action-button{border-width:4px;padding:1rem;font-size:1rem}}@media (max-width:640px){.reset-verifying .login-spinner{width:40px;height:40px}.reset-password-strength,.reset-password-match{font-size:.75rem}.forgot-security-note{padding:.875rem 1rem}.forgot-security-list li{padding-left:1.75rem;font-size:.875rem}.forgot-security-list li:before{font-size:1.125rem}.forgot-success-icon{width:56px;height:56px}}@media (max-width:400px){.reset-password-toggle svg{width:1rem;height:1rem}.reset-password-strength,.reset-password-match{padding:.5rem}.forgot-action-button{font-size:.9375rem}}.reset-verifying .login-spinner{animation:1s linear infinite spin,2s ease-in-out infinite pulse}.login-input.error{border-color:var(--crayon-red);background:#ee204d0d}.login-input.error:focus{box-shadow:0 10px #ee204d26}.login-input.success{border-color:var(--crayon-green);background:#1cac780d}.login-input.success:focus{box-shadow:0 10px #1cac7826}.lane-end-card{color:#fff;border:3px solid var(--text-dark);background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 4px 12px #00000026}.lane-end-card h3{margin:0 0 1rem;font-family:Comic Sans MS,cursive;font-size:1.3rem}.lane-stats{gap:1rem;margin-bottom:1rem;display:flex}.lane-stats .stat-item{text-align:center;background:#fff3;border-radius:12px;flex:1;padding:.75rem}.lane-stats .stat-label{opacity:.9;margin-bottom:.25rem;font-size:.85rem;display:block}.lane-stats .stat-value{font-size:1.8rem;font-weight:700;display:block}.lane-estimate-section{background:#ffffff26;border-radius:12px;padding:1rem}.lane-end-time{justify-content:space-between;align-items:center;margin:0 0 .75rem;font-size:1.1rem;display:flex}.lane-end-time .label{opacity:.9}.lane-end-time strong{font-size:1.5rem}.lane-window{justify-content:space-between;align-items:center;margin:0 0 .75rem;font-size:.95rem;display:flex}.lane-window .label{opacity:.9}.window-range{opacity:.95;font-weight:600}.confidence-badge{background:#ffffff40;border:2px solid;border-radius:20px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-block}.confidence-high{border-color:#16a34a!important}.confidence-medium{border-color:#f59e0b!important}.confidence-low{border-color:#dc2626!important}.weekday-prediction-card{background:var(--white-paper);border:3px solid var(--text-dark);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 4px 8px #0000001a}.weekday-prediction-card h3{color:var(--text-dark);margin:0 0 1rem;font-family:Comic Sans MS,cursive;font-size:1.3rem}.today-highlight{text-align:center;border:3px solid var(--text-dark);background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:12px;margin-bottom:1rem;padding:1rem}.today-label{color:var(--text-dark);margin:0;font-size:.9rem;font-weight:600}.today-value{color:var(--text-dark);margin:.5rem 0;font-size:2rem;font-weight:700}.session-count{opacity:.8;color:var(--text-dark);margin:0;font-size:.8rem}.weekday-list{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.75rem;display:grid}.weekday-item{text-align:center;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:10px;padding:.75rem;transition:all .2s}.weekday-item.current-day{background:#fef3c7;border-color:#fbbf24;transform:scale(1.05)}.weekday-name{color:#6b7280;margin-bottom:.25rem;font-size:.8rem;font-weight:600;display:block}.weekday-minutes{color:var(--text-dark);font-size:1.1rem;font-weight:700;display:block}.staff-shift-card{border:3px solid var(--crayon-blue);background:#eef2ff;border-radius:12px;margin-top:1rem;padding:1rem}.staff-shift-card h4{color:var(--text-dark);margin:0 0 .75rem;font-family:Comic Sans MS,cursive}.shift-times{gap:1.5rem;margin:1rem 0;display:flex}.shift-time-item{border:2px solid var(--crayon-blue);background:#fff;border-radius:8px;flex:1;padding:.75rem}.shift-label{color:#6b7280;margin-bottom:.25rem;font-size:.85rem;display:block}.shift-time-item strong{color:var(--text-dark);margin:.25rem 0;font-size:1.3rem;display:block}.shift-note{color:#9ca3af;font-size:.75rem;font-style:italic;display:block}.lane-trend-card{background:var(--white-paper);border:3px solid var(--text-dark);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 4px 8px #0000001a}.lane-trend-card h3{color:var(--text-dark);margin:0 0 1rem;font-family:Comic Sans MS,cursive;font-size:1.3rem}.chart-legend{border-top:2px solid #e5e7eb;justify-content:center;gap:2rem;margin-top:1rem;padding-top:1rem;display:flex}.legend-item{color:#6b7280;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.legend-line{border-radius:2px;width:30px;height:3px}.legend-line.legend-dashed{background:repeating-linear-gradient(90deg,currentColor,currentColor 5px,#0000 5px 10px)}.spinner{border:4px solid #f3f4f6;border-top-color:var(--crayon-blue);border-radius:50%;width:40px;height:40px;margin:2rem auto;animation:.8s linear infinite spin}.school-dashboard-container{background:var(--construction-paper-blue);background-image:repeating-linear-gradient(45deg,#0000,#0000 35px,#ffffff1a 35px,#ffffff1a 70px),repeating-linear-gradient(-45deg,#0000,#0000 35px,#ffffff0d 35px,#ffffff0d 70px);min-height:100vh}.access-denied-card{background:var(--white);border:6px solid var(--crayon-red);text-align:center;max-width:600px;box-shadow:var(--shadow-raised);border-radius:24px;margin:4rem auto;padding:3rem 2rem}.access-denied-icon{margin-bottom:1rem;font-size:5rem}.access-denied-card h2{color:var(--crayon-red);text-transform:uppercase;margin:0 0 1rem;font-family:Fredoka One,sans-serif;font-size:2rem;font-weight:900}.access-denied-card p{color:var(--text-medium);font-size:1.125rem;font-weight:600}.school-dashboard-header{border-bottom:6px solid var(--text-dark);background:linear-gradient(135deg,#90caf9,#fff59d);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:2rem;display:flex;box-shadow:0 4px 12px #00000026}.header-subtitle{color:#fffffff2;margin-top:.5rem;font-family:Nunito,sans-serif;font-size:1.125rem;font-weight:700}.user-info-badge{background:var(--white);border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:16px;flex-direction:column;gap:.5rem;padding:1rem 1.5rem;display:flex}.user-role-badge{background:linear-gradient(135deg,var(--crayon-red),var(--crayon-orange));color:var(--white);text-transform:uppercase;border:3px solid var(--text-dark);text-align:center;letter-spacing:.05em;border-radius:12px;padding:.375rem .875rem;font-size:.875rem;font-weight:900;box-shadow:0 3px #0003}.user-email{color:var(--text-dark);text-align:center;word-break:break-all;font-size:.9375rem;font-weight:700}@media (max-width:768px){.school-dashboard-header{flex-direction:column;align-items:flex-start;padding:1.5rem}.header-content h1{font-size:2rem}.header-subtitle{font-size:1rem}.user-info-badge{width:100%}}@media (max-width:480px){.header-content h1{font-size:1.5rem}.user-email{font-size:.8125rem}}:root{--audit-primary:#1f75fe;--audit-success:#1cac78;--audit-warning:#ff7538;--audit-danger:#ee204d;--audit-info:#926eae;--audit-gray:#696969;--audit-light-gray:#f5f5f5;--audit-border:#dee2e6}.audit-logs-container{background:var(--construction-paper-blue);max-width:1600px;min-height:100vh;margin:0 auto;padding:2rem}.audit-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.audit-header-content h1{color:var(--crayon-red);text-transform:uppercase;text-shadow:2px 2px 0 var(--school-bus-yellow);margin:0;font-family:Fredoka One,"Baloo 2",sans-serif;font-size:2.5rem;font-weight:900}.audit-subtitle{color:var(--text-medium);margin-top:.5rem;font-size:1.125rem;font-weight:700}.export-button{text-transform:uppercase;color:var(--white);background:var(--crayon-green);border:5px solid var(--text-dark);cursor:pointer;box-shadow:var(--shadow-crayon);border-radius:16px;padding:1rem 2rem;font-family:Nunito,sans-serif;font-size:1.125rem;font-weight:900;transition:all .2s}.export-button:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 10px #00000026}.export-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px #00000026}.export-button:disabled{background:var(--pencil-gray);cursor:not-allowed;opacity:.6}.audit-stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:20px;align-items:center;gap:1.5rem;padding:1.5rem;transition:transform .2s;display:flex}.stat-card:hover{transform:translateY(-4px)}.stat-icon{flex-shrink:0;font-size:3rem;line-height:1}.stat-content{flex:1;min-width:0}.stat-label{color:var(--text-medium);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.875rem;font-weight:700}.stat-value{color:var(--crayon-blue);word-break:break-word;font-family:Fredoka One,sans-serif;font-size:2rem;font-weight:900}.stat-value-small{color:var(--crayon-blue);word-break:break-word;font-family:Fredoka One,sans-serif;font-size:1.25rem;font-weight:900;line-height:1.2}.stat-subtext{color:var(--text-medium);margin-top:.25rem;font-size:.875rem}.audit-filters-card{background:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:20px;margin-bottom:2rem;padding:1.5rem}.audit-filters-card h3{color:var(--text-dark);margin:0 0 1.5rem;font-family:Fredoka One,sans-serif;font-size:1.5rem;font-weight:900}.audit-filters-form{flex-direction:column;gap:1.5rem;display:flex}.filters-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:1.25rem;display:grid}.filter-group{flex-direction:column;gap:.5rem;min-width:0;display:flex}.filter-group:last-of-type{grid-column:1/-1}.filter-group label{color:var(--text-dark);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.875rem;font-weight:700}.filter-input,.filter-select{border:3px solid var(--text-dark);background:var(--manila-paper);color:var(--text-dark);border-radius:12px;width:100%;min-height:48px;padding:.75rem 1rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;transition:all .2s}.filter-input:focus,.filter-select:focus{background:var(--white);outline:none;transform:translateY(-2px);box-shadow:0 4px #0000001a}.filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:12px;padding-right:2.5rem}.filters-actions{flex-wrap:wrap;gap:1rem;margin-top:.5rem;display:flex}.filter-reset-btn{text-transform:uppercase;background:var(--white);color:var(--text-dark);border:4px solid var(--text-dark);cursor:pointer;border-radius:14px;padding:.875rem 1.75rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:900;transition:all .2s;box-shadow:0 4px #0000001a}.filter-reset-btn:hover{background:var(--manila-paper);transform:translateY(-3px)}.audit-table-card{background:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:20px;padding:1.5rem;overflow:hidden}.audit-table-header{border-bottom:3px dashed var(--crayon-blue);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.audit-table-header h3{color:var(--text-dark);margin:0;font-family:Fredoka One,sans-serif;font-size:1.75rem;font-weight:900}.audit-table-meta{color:var(--text-medium);font-size:.875rem;font-weight:700}.audit-loading{text-align:center;padding:4rem 2rem}.audit-loading p{color:var(--text-medium);font-size:1.125rem;font-weight:700}.audit-empty{text-align:center;padding:4rem 2rem}.audit-empty-icon{margin-bottom:1rem;font-size:5rem}.audit-empty h3{color:var(--text-dark);margin:0 0 .5rem;font-size:1.5rem;font-weight:900}.audit-empty p{color:var(--text-medium);font-size:1rem}.audit-table-wrapper{margin-bottom:1.5rem;overflow-x:auto}.audit-table{border-collapse:collapse;width:100%;font-family:Nunito,sans-serif}.audit-table thead{background:var(--manila-paper);border-bottom:3px solid var(--text-dark)}.audit-table th{text-align:left;color:var(--text-dark);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:1rem;font-size:.875rem;font-weight:900}.audit-table tbody tr{border-bottom:2px solid var(--audit-border);transition:background .2s}.audit-table tbody tr:hover{background:var(--manila-paper)}.audit-table td{color:var(--text-dark);vertical-align:top;padding:1rem;font-size:.9375rem}.timestamp-cell{white-space:nowrap;color:var(--text-medium);font-family:Courier New,monospace;font-size:.875rem;font-weight:600}.school-cell{color:var(--crayon-blue);word-break:break-word;max-width:180px;font-weight:700}.actor-cell{word-break:break-word;max-width:200px;font-weight:600}.role-cell,.action-cell{white-space:nowrap}.entity-cell{max-width:150px}.entity-info{flex-direction:column;gap:.25rem;display:flex}.entity-type{color:var(--crayon-purple);text-transform:uppercase;font-size:.8125rem;font-weight:700}.entity-name{color:var(--text-medium);word-break:break-word;font-size:.875rem}.details-cell{max-width:250px}.details-expander{cursor:pointer}.details-expander summary{color:var(--crayon-blue);background:var(--manila-paper);border:2px solid var(--crayon-blue);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:8px;padding:.5rem;font-size:.875rem;font-weight:700;transition:background .2s}.details-expander summary:hover{background:var(--white)}.details-content{border:2px solid var(--audit-border);background:#f8f9fa;border-radius:8px;max-height:300px;margin-top:.5rem;padding:.75rem;font-size:.8125rem;overflow-y:auto}.detail-item{border-bottom:1px solid var(--audit-border);flex-direction:column;gap:.25rem;padding:.5rem 0;display:flex}.detail-item:last-child{border-bottom:none}.detail-label{color:var(--text-dark);font-size:.8125rem;font-weight:700}.detail-value{color:var(--text-medium);word-break:break-word;font-size:.875rem}.ip-cell{color:var(--text-medium);white-space:nowrap;font-family:Courier New,monospace;font-size:.875rem}.role-badge,.action-badge{text-transform:uppercase;border:3px solid var(--text-dark);white-space:nowrap;border-radius:12px;padding:.375rem .75rem;font-size:.8125rem;font-weight:900;display:inline-block}.role-badge-super{color:var(--white);border-color:var(--text-dark);background:linear-gradient(135deg,#ff7538,#ee204d);box-shadow:0 3px #0003}.role-badge-admin{background:var(--crayon-blue);color:var(--white)}.role-badge-parent{background:var(--crayon-green);color:var(--white)}.role-badge-system{background:var(--pencil-gray);color:var(--white)}.role-badge-default{background:var(--audit-light-gray);color:var(--text-dark)}.action-badge-success{color:#155724;border-color:var(--crayon-green);background:#d4edda}.action-badge-danger{color:#721c24;border-color:var(--crayon-red);background:#f8d7da}.action-badge-warning{color:#856404;border-color:var(--crayon-orange);background:#fff3cd}.action-badge-info{color:#0c5460;border-color:var(--crayon-blue);background:#d1ecf1}.action-badge-default{background:var(--audit-light-gray);color:var(--text-dark);border-color:var(--audit-border)}.audit-pagination{border-top:3px dashed var(--crayon-blue);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.pagination-btn{text-transform:uppercase;color:var(--white);background:var(--crayon-blue);border:4px solid var(--text-dark);cursor:pointer;border-radius:14px;padding:.75rem 1.5rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:900;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--crayon-purple);transform:translateY(-3px)}.pagination-btn:disabled{background:var(--pencil-gray);cursor:not-allowed;opacity:.5}.pagination-info{color:var(--text-dark);font-size:1rem;font-weight:700}@media (max-width:1024px){.filters-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.audit-logs-container{padding:1rem}.audit-header{flex-direction:column;align-items:flex-start}.audit-header-content h1{font-size:2rem}.export-button{width:100%}.audit-stats-grid{grid-template-columns:1fr}.stat-value{font-size:1.5rem}.stat-value-small{font-size:1rem}.filters-grid{grid-template-columns:1fr}.filters-actions{flex-direction:column}.filter-reset-btn{width:100%}.audit-table-card{padding:1rem}.audit-table-header{flex-direction:column;align-items:flex-start}.audit-table th,.audit-table td{padding:.75rem .5rem;font-size:.8125rem}.pagination-info{font-size:.875rem}.audit-pagination{flex-direction:column}.pagination-btn{width:100%}}@media (max-width:480px){.audit-header-content h1{font-size:1.5rem}.audit-subtitle{font-size:1rem}.export-button{padding:.75rem 1.5rem;font-size:.9375rem}.stat-icon{font-size:2rem}.stat-value{font-size:1.25rem}.stat-value-small{font-size:.875rem}.audit-filters-card{padding:1rem}.audit-table-card{padding:.75rem}.role-badge,.action-badge{padding:.25rem .5rem;font-size:.75rem}}:root{--teacher-primary:#1f75fe;--teacher-success:#1cac78;--teacher-warning:#ff7538;--teacher-danger:#ee204d;--teacher-purple:#926eae}.teacher-schedule-container{background:var(--construction-paper-blue);min-height:100vh;margin:0 auto;padding:1.5rem}.toast-notification{border:4px solid var(--text-dark);z-index:9999;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;min-width:300px;max-width:500px;padding:1rem 1.5rem;font-family:Nunito,sans-serif;animation:.3s ease-out slideIn;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 8px 20px #0000004d}@keyframes slideIn{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}.toast-notification.success{background:var(--crayon-green);color:var(--white)}.toast-notification.error{background:var(--crayon-red);color:var(--white)}.toast-message{flex:1;font-size:1rem;font-weight:700}.toast-close{color:var(--white);cursor:pointer;opacity:.8;background:0 0;border:none;padding:.25rem;font-size:1.25rem;transition:opacity .2s}.toast-close:hover{opacity:1}@media (max-width:768px){.toast-notification{min-width:auto;max-width:none;top:10px;left:10px;right:10px}}.teacher-schedule-header{margin-bottom:1.5rem}.header-content h1{color:var(--crayon-red);text-transform:uppercase;text-shadow:2px 2px 0 var(--school-bus-yellow);margin:0;font-family:Fredoka One,"Baloo 2",sans-serif;font-size:2rem;font-weight:900}.header-subtitle{color:var(--text-medium);margin-top:.5rem;font-size:1rem;font-weight:700}.weekly-schedule-card{background:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.weekly-schedule-card h2{color:var(--text-dark);margin:0 0 .5rem;font-family:Fredoka One,sans-serif;font-size:1.75rem;font-weight:900}.schedule-subtitle{color:var(--text-medium);margin-bottom:1.5rem;font-size:.9375rem;font-weight:700}.weekdays-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.weekday-card{background:linear-gradient(135deg,var(--manila-paper),var(--white));border:3px solid var(--text-dark);border-radius:12px;padding:1rem;transition:transform .2s;box-shadow:0 3px #0000001a}.weekday-card:hover{transform:translateY(-2px)}.weekday-header{border-bottom:2px dashed var(--crayon-blue);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.weekday-emoji{font-size:1.5rem}.weekday-header h3{color:var(--text-dark);flex:1;margin:0;font-family:Fredoka One,sans-serif;font-size:1.125rem;font-weight:900}.teacher-count-badge{background:var(--crayon-blue);color:var(--white);border:2px solid var(--text-dark);white-space:nowrap;border-radius:8px;padding:.25rem .625rem;font-size:.75rem;font-weight:900}.assigned-teachers-list{flex-direction:column;gap:.5rem;min-height:60px;margin-bottom:.75rem;display:flex}.assigned-teacher-item{background:var(--white);border:2px solid var(--crayon-green);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem;display:flex}.teacher-info{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.teacher-icon{flex-shrink:0;font-size:1.25rem}.teacher-name{color:var(--text-dark);word-break:break-all;font-size:.875rem;font-weight:700;line-height:1.3}.unassign-btn-small{background:var(--crayon-red);color:var(--white);border:2px solid var(--text-dark);cursor:pointer;border-radius:6px;flex-shrink:0;padding:.25rem .5rem;font-size:1rem;transition:all .2s}.unassign-btn-small:hover{background:var(--teacher-danger);transform:translateY(-2px)}.unassign-btn-small:active{transform:translateY(0)}.no-teacher-msg{color:var(--text-medium);text-align:center;padding:1rem 0;font-size:.875rem;font-style:italic;font-weight:700}.add-teacher-section{margin-top:.75rem}.teacher-select{border:2px solid var(--text-dark);background:var(--white);width:100%;color:var(--text-dark);cursor:pointer;border-radius:8px;padding:.625rem .75rem;font-family:Nunito,sans-serif;font-size:.875rem;font-weight:700;transition:all .2s}.teacher-select:focus{border-color:var(--crayon-blue);outline:none;transform:translateY(-2px)}.teacher-select:hover{border-color:var(--crayon-blue)}.all-assigned-msg{text-align:center;color:var(--crayon-green);background:#1cac781a;border-radius:8px;margin-top:.75rem;padding:.75rem;font-size:.875rem;font-weight:700}.teachers-list-card{background:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:16px;padding:1.5rem}.teachers-list-card h2{color:var(--text-dark);margin:0 0 .5rem;font-family:Fredoka One,sans-serif;font-size:1.75rem;font-weight:900}.teachers-subtitle{color:var(--text-medium);margin-bottom:1.5rem;font-size:.9375rem;font-weight:700}.loading-state,.empty-state{text-align:center;padding:2.5rem 1rem}.empty-icon{margin-bottom:1rem;font-size:4rem}.empty-state h3{color:var(--text-dark);margin:0 0 .5rem;font-size:1.25rem;font-weight:900}.empty-state p{color:var(--text-medium);font-size:.9375rem}.teachers-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.teacher-card{background:var(--manila-paper);border:3px solid var(--text-dark);border-radius:12px;padding:1rem;transition:transform .2s;box-shadow:0 3px #0000001a}.teacher-card:hover{transform:translateY(-2px)}.teacher-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.teacher-card-header h3{color:var(--crayon-blue);word-break:break-all;flex:1;margin:0;font-family:Fredoka One,sans-serif;font-size:1.125rem;font-weight:900;line-height:1.3}.teacher-badge{background:var(--crayon-orange);color:var(--white);text-transform:uppercase;border:2px solid var(--text-dark);white-space:nowrap;border-radius:8px;flex-shrink:0;padding:.375rem .625rem;font-size:.75rem;font-weight:900}.teacher-card-body{flex-direction:column;gap:.5rem;display:flex}.teacher-detail{color:var(--text-medium);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.detail-icon{flex-shrink:0;font-size:.9375rem}.detail-text{word-break:break-all;line-height:1.4}@media (max-width:1024px){.weekdays-grid,.teachers-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.teacher-schedule-container{padding:1rem}.header-content h1{font-size:1.5rem}.header-subtitle{font-size:.875rem}.weekly-schedule-card,.teachers-list-card{border-width:4px;padding:1rem}.weekly-schedule-card h2,.teachers-list-card h2{font-size:1.5rem}.weekdays-grid{grid-template-columns:1fr;gap:.875rem}.weekday-card{padding:.875rem}.weekday-emoji{font-size:1.25rem}.weekday-header h3{font-size:1rem}.teacher-name,.teacher-select{font-size:.8125rem}.teachers-grid{grid-template-columns:1fr}.teacher-card{padding:.875rem}.teacher-card-header h3{font-size:1rem}.teacher-badge{padding:.3rem .5rem;font-size:.6875rem}}@media (max-width:480px){.teacher-schedule-container{padding:.75rem}.header-content h1{text-shadow:1px 1px 0 var(--school-bus-yellow);font-size:1.25rem}.weekly-schedule-card,.teachers-list-card{border-radius:12px;padding:.875rem}.weekday-card{padding:.75rem}.empty-icon{font-size:3rem}.spinner{border-width:4px;width:40px;height:40px}}.today-teacher-card{background:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:16px;margin-bottom:1.5rem;overflow:hidden}.today-teacher-card.weekend{border-color:var(--crayon-purple)}.today-teacher-card.no-assignment{border-color:var(--crayon-orange)}.today-teacher-card.assigned{border-color:var(--crayon-green)}.today-teacher-header{background:linear-gradient(135deg,var(--manila-paper),#fff8dc);border-bottom:4px solid var(--text-dark);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.today-teacher-header h3{color:var(--text-dark);margin:0;font-family:Fredoka One,sans-serif;font-size:1.5rem;font-weight:900}.today-badge{background:var(--crayon-blue);color:var(--white);border:3px solid var(--text-dark);white-space:nowrap;border-radius:12px;padding:.5rem 1rem;font-size:.875rem;font-weight:900;box-shadow:0 2px #0000001a}.today-teacher-loading{text-align:center;padding:2rem}.mini-spinner{border:4px solid var(--school-bus-yellow);border-top-color:var(--crayon-red);border-right-color:var(--crayon-blue);border-bottom-color:var(--crayon-green);border-left-color:var(--crayon-orange);border-radius:50%;width:40px;height:40px;margin-bottom:.75rem;animation:1.5s linear infinite spin;display:inline-block}.today-teacher-loading p{color:var(--text-medium);font-size:.9375rem;font-weight:700}.today-teacher-content{padding:1.5rem}.weekend-msg{text-align:center;padding:2rem 1.5rem}.weekend-icon{margin-bottom:1rem;font-size:4rem}.weekend-text{color:var(--crayon-purple);margin:0 0 .5rem;font-family:Fredoka One,sans-serif;font-size:1.25rem;font-weight:900}.weekend-subtext{color:var(--text-medium);margin:0;font-size:.9375rem;font-weight:600}.no-teacher-icon{text-align:center;margin-bottom:1rem;font-size:3rem}.no-teacher-text{color:var(--crayon-orange);text-align:center;margin:0 0 .5rem;font-family:Fredoka One,sans-serif;font-size:1.125rem;font-weight:900}.no-teacher-subtext{color:var(--text-medium);text-align:center;margin:0;font-size:.875rem;font-weight:600}.teachers-count-badge{background:var(--crayon-green);color:var(--white);border:3px solid var(--text-dark);text-align:center;border-radius:12px;margin-bottom:1.25rem;padding:.625rem 1.25rem;font-size:1rem;font-weight:900;display:inline-block;box-shadow:0 2px #0000001a}.teachers-list-today{flex-direction:column;gap:1rem;display:flex}.teacher-card-today{background:var(--manila-paper);border:3px solid var(--text-dark);border-radius:12px;align-items:center;gap:1rem;padding:1rem;transition:transform .2s;display:flex}.teacher-card-today:hover{transform:translateY(-2px)}.teacher-avatar{background:linear-gradient(135deg,var(--crayon-green),var(--crayon-blue));border:3px solid var(--text-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex;box-shadow:0 2px #0000001a}.avatar-emoji{font-size:2rem}.teacher-details{flex:1;min-width:0}.teacher-name{color:var(--crayon-green);word-break:break-all;margin:0 0 .5rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:900}.teacher-contact{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.contact-icon{flex-shrink:0;font-size:1rem}.contact-link{color:var(--crayon-blue);word-break:break-all;font-size:.875rem;font-weight:700;text-decoration:none;transition:color .2s}.contact-link:hover{color:var(--teacher-primary);text-decoration:underline}.duty-reminder{background:linear-gradient(135deg,#e8f5e9,var(--white));border-top:3px solid var(--crayon-green);color:var(--crayon-green);justify-content:center;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:.9375rem;font-weight:900;display:flex}.reminder-icon{font-size:1.25rem}.reminder-text{font-family:Nunito,sans-serif}@media (max-width:1024px){.today-teacher-header h3{font-size:1.375rem}}@media (max-width:768px){.today-teacher-card{border-width:4px}.today-teacher-header{padding:.875rem 1rem}.today-teacher-header h3{font-size:1.25rem}.today-badge{padding:.375rem .75rem;font-size:.75rem}.today-teacher-content{padding:1rem}.teacher-card-today{padding:.875rem}.teacher-avatar{width:45px;height:45px}.avatar-emoji{font-size:1.75rem}.teacher-name{font-size:.9375rem}.contact-link{font-size:.8125rem}.duty-reminder{padding:.875rem 1rem;font-size:.875rem}.weekend-icon{font-size:3rem}.weekend-text{font-size:1.125rem}.no-teacher-icon{font-size:2.5rem}}@media (max-width:480px){.today-teacher-header{padding:.75rem .875rem}.today-teacher-header h3{font-size:1.125rem}.today-teacher-content{padding:.875rem}.teacher-card-today{padding:.75rem}.teacher-avatar{width:40px;height:40px}.avatar-emoji{font-size:1.5rem}.teachers-count-badge{padding:.5rem 1rem;font-size:.875rem}.mini-spinner{border-width:3px;width:35px;height:35px}}html,body{width:100%;margin:0;padding:0;overflow-x:hidden}.weekly-schedule-view{background:var(--construction-paper-blue);box-sizing:border-box;width:100%;min-height:100vh;margin:0 auto;padding:1.5rem}.schedule-view-header{text-align:center;margin-bottom:2rem}.schedule-view-header h1{color:var(--crayon-red);text-transform:uppercase;text-shadow:2px 2px 0 var(--school-bus-yellow);margin:0 0 .5rem;font-family:Fredoka One,"Baloo 2",sans-serif;font-size:2.5rem;font-weight:900}.schedule-view-subtitle{color:var(--text-medium);font-size:1.125rem;font-weight:700}.current-week-info{background:var(--white);border:4px solid var(--text-dark);border-radius:16px;justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem 1.5rem;display:inline-flex;box-shadow:0 4px #0000001a}.week-icon{font-size:1.5rem}.week-text{color:var(--crayon-blue);font-family:Nunito,sans-serif;font-size:1rem;font-weight:900}.calendar-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.calendar-day{background:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:16px;transition:transform .2s,border-color .2s;overflow:hidden}.calendar-day:hover{transform:translateY(-4px)}.calendar-day.today{border-color:var(--crayon-blue);background:linear-gradient(135deg,#e3f2fd,var(--white))}.calendar-day.assigned{border-left:8px solid var(--crayon-green)}.calendar-day.unassigned{border-left:8px solid var(--crayon-orange)}.calendar-day-header{background:linear-gradient(135deg,var(--manila-paper),#fff8dc);border-bottom:4px solid var(--text-dark);flex-direction:column;gap:.5rem;padding:1rem 1.5rem;display:flex}.calendar-date-display{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.date-number-large{color:var(--crayon-red);text-shadow:2px 2px #0000001a;min-width:60px;font-family:Fredoka One,sans-serif;font-size:3rem;font-weight:900;line-height:1}.date-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.day-emoji{margin-bottom:.25rem;font-size:2rem}.day-name{color:var(--text-dark);text-transform:uppercase;margin:0;font-family:Fredoka One,sans-serif;font-size:1.5rem;font-weight:900}.month-year-display{color:var(--text-medium);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:700}.today-badge{background:var(--crayon-blue);color:var(--white);text-transform:uppercase;border:3px solid var(--text-dark);white-space:nowrap;border-radius:12px;flex-shrink:0;align-self:flex-start;margin-left:auto;padding:.375rem .75rem;font-size:.75rem;font-weight:900;box-shadow:0 2px #0000001a}.calendar-day-body{justify-content:center;align-items:center;min-height:140px;padding:1.5rem;display:flex}.assigned-info{text-align:center;flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.teachers-count{text-align:center;width:100%;margin-bottom:.5rem}.count-badge{background:var(--crayon-green);color:var(--white);border:3px solid var(--text-dark);border-radius:12px;padding:.5rem 1rem;font-size:.875rem;font-weight:900;display:inline-block;box-shadow:0 2px #0000001a}.teachers-list-small{flex-direction:column;gap:.75rem;width:100%;display:flex}.teacher-item-small{background:var(--manila-paper);border:3px solid var(--text-dark);border-radius:12px;align-items:center;gap:.75rem;padding:.75rem;transition:transform .2s;display:flex}.teacher-item-small:hover{transform:translateY(-2px)}.teacher-avatar-tiny{background:linear-gradient(135deg,var(--crayon-green),var(--crayon-blue));border:3px solid var(--text-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;display:flex;box-shadow:0 2px #0000001a}.teacher-details-tiny{text-align:left;flex:1;min-width:0}.teacher-email-small{color:var(--crayon-green);word-break:break-all;margin-bottom:.375rem;font-family:Nunito,sans-serif;font-size:.875rem;font-weight:900}.email-link-small{text-transform:uppercase;color:var(--white);background:var(--crayon-blue);border:2px solid var(--text-dark);border-radius:8px;padding:.375rem .625rem;font-family:Nunito,sans-serif;font-size:.75rem;font-weight:900;text-decoration:none;transition:all .2s;display:inline-block}.email-link-small:hover{background:var(--teacher-primary);transform:translateY(-2px)}.unassigned-info{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.unassigned-icon{font-size:3rem}.unassigned-text{color:var(--crayon-orange);font-family:Nunito,sans-serif;font-size:1rem;font-weight:900}.schedule-legend{background:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-raised);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.schedule-legend h3{color:var(--text-dark);margin:0 0 1rem;font-family:Fredoka One,sans-serif;font-size:1.5rem;font-weight:900}.legend-items{flex-wrap:wrap;gap:1.5rem;display:flex}.legend-item{color:var(--text-dark);align-items:center;gap:.75rem;font-size:.9375rem;font-weight:700;display:flex}.legend-color{border:4px solid var(--text-dark);border-radius:8px;width:40px;height:40px;box-shadow:0 2px #0000001a}.today-color{background:linear-gradient(135deg,#e3f2fd,var(--crayon-blue))}.assigned-color{background:var(--crayon-green)}.unassigned-color{background:var(--crayon-orange)}.schedule-note{border:4px solid var(--crayon-orange);background:linear-gradient(135deg,#fff8e1,#ffecb3);border-radius:16px;align-items:center;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 4px #0000001a}.note-icon{flex-shrink:0;font-size:2rem}.note-content{color:var(--text-dark);flex:1;font-size:.9375rem;font-weight:600;line-height:1.6}.note-content strong{color:var(--crayon-orange);font-weight:900}.loading-state{text-align:center;padding:4rem 2rem}.spinner{border:6px solid var(--school-bus-yellow);border-top-color:var(--crayon-red);border-right-color:var(--crayon-blue);border-bottom-color:var(--crayon-green);border-left-color:var(--crayon-orange);border-radius:50%;width:56px;height:56px;margin-bottom:1rem;animation:1.5s linear infinite spin;display:inline-block}.loading-state p{color:var(--text-medium);font-size:1.125rem;font-weight:700}@media (max-width:1024px){.calendar-grid{grid-template-columns:repeat(2,1fr)}.legend-items{flex-direction:column;gap:1rem}}@media (max-width:768px){.weekly-schedule-view{padding:1rem}.schedule-view-header h1{font-size:2rem}.schedule-view-subtitle{font-size:1rem}.current-week-info{padding:.625rem 1rem;font-size:.875rem}.calendar-grid{grid-template-columns:1fr;gap:1rem}.calendar-day{border-width:4px}.calendar-day-header{padding:.875rem 1rem}.date-number-large{min-width:50px;font-size:2.5rem}.day-emoji{font-size:1.5rem}.day-name{font-size:1.25rem}.month-year-display{font-size:.75rem}.calendar-day-body{padding:1rem}.teacher-avatar-tiny{width:35px;height:35px;font-size:1.25rem}.teacher-email-small{font-size:.8125rem}.email-link-small{padding:.3rem .5rem;font-size:.6875rem}.schedule-legend,.schedule-note{border-width:4px;padding:1rem}.schedule-legend h3{font-size:1.25rem}.note-icon{font-size:1.5rem}.note-content{font-size:.875rem}}@media (max-width:480px){.weekly-schedule-view{padding:.75rem}.schedule-view-header h1{text-shadow:1px 1px 0 var(--school-bus-yellow);font-size:1.5rem}.calendar-day-header{padding:.75rem .875rem}.date-number-large{min-width:40px;font-size:2rem}.calendar-day-body{min-height:120px;padding:.875rem}.day-name{font-size:1.125rem}.legend-color{width:32px;height:32px}.legend-item{font-size:.875rem}.teacher-item-small{padding:.625rem}}.profile-page{background:var(--white);background-image:linear-gradient(transparent 0%,transparent calc(100% - 1px),var(--construction-paper-blue) calc(100% - 1px));background-size:100% 2.5rem;min-height:calc(100vh - 70px);padding:2.5rem 1.5rem 4rem}.profile-container{max-width:920px;margin:0 auto}.profile-loading{min-height:60vh;color:var(--text-medium);flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.1rem;font-weight:700;display:flex}.profile-spinner-icon{color:var(--crayon-blue);animation:1s linear infinite spin}.profile-header{background:var(--manila-paper);border:5px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:20px;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1.5rem 2rem;display:flex;position:relative;overflow:visible}.profile-header:before{content:"";background:#ffd700a6;border:2px solid #2c3e5040;border-radius:3px;width:80px;height:14px;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.profile-avatar{background:var(--school-bus-yellow);border:4px solid var(--text-dark);width:72px;height:72px;box-shadow:var(--shadow-crayon);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:3rem;animation:3s ease-in-out infinite bounce;display:flex}.profile-header-info{flex:1;min-width:0}.profile-title{color:var(--text-dark);text-transform:uppercase;margin:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.9rem;font-weight:900}.profile-header-meta{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.375rem;display:flex}.profile-role-badge{border:2px solid;border-radius:999px;padding:3px 12px;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.78rem;font-weight:800;display:inline-block}.profile-role-badge.role-parent{color:#1d4ed8;background:#dbeafe}.profile-role-badge.role-admin{color:#854d0e;background:#fef9c3}.profile-role-badge.role-super_admin{color:#9d174d;background:#fce7f3}.profile-joined{color:var(--text-medium);font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.82rem;font-weight:600}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(370px,1fr));align-items:start;gap:1.5rem;display:grid}.profile-card{background:var(--white);border:5px solid var(--text-dark);box-shadow:var(--shadow-crayon);border-radius:20px;padding:2rem;position:relative}.profile-card-header{border-bottom:3px dashed var(--crayon-blue);align-items:center;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.875rem;display:flex}.profile-card-emoji{margin-right:.25rem;font-size:1.6rem;animation:3s ease-in-out infinite wiggle}.profile-card--car .profile-card-emoji{animation:2.5s ease-in-out infinite bounce}.profile-card-icon{color:var(--crayon-blue);flex-shrink:0}.profile-card-title{color:var(--text-dark);text-transform:uppercase;margin:0;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1.2rem;font-weight:900}.profile-form{flex-direction:column;gap:1.25rem;display:flex}.profile-field{flex-direction:column;gap:.5rem;display:flex}.profile-label{color:var(--text-dark);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.4rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.875rem;font-weight:800;display:flex}.profile-input-wrap{position:relative}.profile-input{background:var(--manila-paper);border:4px solid var(--text-dark);width:100%;color:var(--text-dark);box-shadow:var(--shadow-crayon);box-sizing:border-box;border-radius:14px;padding:.875rem 1.125rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.9375rem;font-weight:700;transition:all .2s}.profile-input::-moz-placeholder{color:var(--text-medium);opacity:.7;font-weight:600}.profile-input::placeholder{color:var(--text-medium);opacity:.7;font-weight:600}.profile-input:focus{background:var(--white);outline:none;transform:translateY(-3px);box-shadow:0 8px #0000001f}.profile-input--readonly{opacity:.6;cursor:not-allowed;background:#f3f4f6}.profile-input--readonly:focus{box-shadow:var(--shadow-crayon);transform:none}.profile-save-btn{background:var(--crayon-green);width:100%;color:var(--white);border:4px solid var(--text-dark);text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-crayon);letter-spacing:.04em;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;padding:1rem 1.5rem;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:1rem;font-weight:900;transition:all .2s;display:flex}.profile-save-btn:hover:not(:disabled){background:var(--crayon-blue);transform:translateY(-3px);box-shadow:0 9px #00000026}.profile-save-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 3px #0000001f}.profile-save-btn:disabled{opacity:.55;cursor:not-allowed;background:var(--pencil-gray);box-shadow:var(--shadow-crayon);transform:none}.profile-save-btn--car{background:var(--crayon-orange)}.profile-save-btn--car:hover:not(:disabled){background:var(--crayon-red)}.profile-spinner-sm{flex-shrink:0;animation:1s linear infinite spin}.profile-feedback{border:3px solid;border-radius:12px;align-items:center;gap:.625rem;margin-bottom:1rem;padding:12px 14px;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.875rem;font-weight:700;display:flex}.profile-feedback.success{color:#15803d;background:#f0fdf4;border-color:#86efac}.profile-feedback.error{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.profile-feedback span{flex:1}.profile-feedback-close{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;transition:opacity .15s;display:flex}.profile-feedback-close:hover{opacity:1}.profile-compressing{color:#15803d;background:#f0fdf4;border:3px solid #bbf7d0;border-radius:12px;align-items:center;gap:10px;padding:14px;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.875rem;font-weight:700;display:flex}.profile-photo-box{border:4px solid var(--text-dark);box-shadow:var(--shadow-crayon);background:#f3f4f6;border-radius:14px;position:relative;overflow:hidden}.profile-photo-img{-o-object-fit:cover;object-fit:cover;width:100%;height:175px;display:block}.profile-photo-badge{border:2px solid var(--text-dark);z-index:1;border-radius:999px;padding:3px 10px;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.7rem;font-weight:800;position:absolute;top:8px;left:8px}.profile-photo-badge--pending{background:var(--school-bus-yellow);color:var(--text-dark)}.profile-photo-badge--saved{background:var(--crayon-green);color:var(--white)}.profile-photo-actions{background:#fffffff7;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.profile-photo-btn{cursor:pointer;border:3px solid var(--text-dark);border-radius:8px;align-items:center;gap:5px;padding:5px 14px;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.8rem;font-weight:800;transition:all .15s;display:inline-flex;box-shadow:0 3px #00000026}.profile-photo-btn--change{background:var(--school-bus-yellow);color:var(--text-dark)}.profile-photo-btn--change:hover{background:var(--crayon-blue);color:var(--white);transform:translateY(-2px)}.profile-photo-btn--remove{color:#dc2626;background:#fee2e2}.profile-photo-btn--remove:hover{background:var(--crayon-red);color:var(--white);transform:translateY(-2px)}.profile-compression-badge{color:var(--text-medium);white-space:nowrap;background:#f3f4f6;border-radius:999px;align-items:center;padding:2px 10px;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;font-size:.72rem;font-weight:700;display:inline-flex}.profile-compression-badge.good{color:#15803d;background:#dcfce7}.profile-upload-prompt{cursor:pointer;color:#4d78cd;box-sizing:border-box;background:#f5f7f9;border:3px dashed #166ef2;border-radius:14px;flex-direction:column;align-items:center;gap:8px;width:100%;padding:24px 16px;font-family:Nunito,Quicksand,Arial Rounded MT Bold,sans-serif;transition:border-color .15s,background .15s;display:flex}.profile-upload-prompt:hover{border-color:var(--crayon-blue);background:#eef2ff}.profile-upload-prompt-title{font-size:.95rem;font-weight:800}.profile-upload-prompt-hint{color:#9ca3af;font-size:.75rem;font-weight:600}@media (max-width:768px){.profile-page{padding:1.5rem 1rem 3rem}.profile-header{text-align:center;flex-direction:column;gap:1rem;padding:1.25rem 1rem}.profile-header-meta{justify-content:center}.profile-title{font-size:1.5rem}.profile-avatar{width:60px;height:60px;font-size:2.5rem}.profile-grid{grid-template-columns:1fr}.profile-card{border-width:4px;border-radius:16px;padding:1.5rem 1.25rem}}@media (max-width:480px){.profile-header{border-width:4px;border-radius:16px}.profile-card{padding:1.25rem 1rem}.profile-input{border-width:3px;border-radius:10px;padding:.75rem 1rem;font-size:.9rem}.profile-save-btn{border-width:3px;border-radius:10px;padding:.875rem;font-size:.9rem}.profile-photo-img{height:140px}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:0 0}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor: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:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(images/layers.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(images/layers-2x.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(images/marker-icon.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107,M12=.707107,M21=-.707107,M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
