body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:8vh 0 7vh;overflow:hidden}footer{background-color:#00000080;box-shadow:5px 0 10px #00000080;color:#fff;font-size:small;height:3vh;padding:1vw;width:100vw}.App{align-items:flex-start}.Body-Style{align-items:stretch;background-image:url(/static/media/background.33cde1a1ae3adbd701b7.jpg);background-size:cover;display:flex;flex-direction:row;height:100%;width:100%}button{background-color:#94b9ff;border:none;border-radius:10px;box-shadow:0 5px 10px #0006;color:#000;cursor:pointer;font-size:small;font-weight:700;margin:1vw;padding:1vh;transition:background-color .3s ease;width:10vw;width:auto}button[type=disconnect]{background-color:#ff94a6}button[type=disconnect]:hover{background-color:#ee7085}button:hover{background-color:#6595ec}input{background-color:#ffffff80;border:2px solid #c4bbbb;border-radius:10px;font-size:medium;height:5vh;transition:border-color .3s ease;width:20vw}input:hover{border:2px solid #000}.App-Footer{align-items:baseline;bottom:0;box-shadow:0 5px 10px #0000001a;color:#000;display:flex;flex-direction:row;font-size:1em;justify-content:space-between;position:absolute;width:100vw;z-index:3000}.Profile-Menu{display:flex;flex-direction:column;margin-right:2vh;position:relative}.Profile-Menu .Profile-Header{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex-direction:row;padding:5px 10px;transition:background-color .2s}.Profile-Menu .Profile-Header:hover{background-color:#0000000d}.Profile-Menu .Profile-Info{align-items:start;display:flex;flex-direction:column;justify-content:left;margin-left:.5vw;margin-right:.5vw;z-index:999999}.Profile-Menu .Profile-Info .Profile-Name{color:#000;font-size:.5em;font-weight:700;padding-bottom:.5vh}.Profile-Menu .Profile-Info .Profile-role{color:#b3b3b3;font-size:.5em}.Profile-Menu .Profile-Chevron{color:#646464;font-size:.4em;transition:transform .2s}.Profile-Menu .Profile-Chevron.open{transform:rotate(180deg)}.Profile-Menu .Profile-Dropdown{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:5px;min-width:180px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.Profile-Menu .Profile-Dropdown-Item{align-items:center;color:#3c3c3c;cursor:pointer;display:flex;font-size:.5em;gap:10px;padding:12px 16px;transition:background-color .2s}.Profile-Menu .Profile-Dropdown-Item:hover{background-color:#0000000d}.Profile-Menu .Profile-Dropdown-Item.disconnect{border-top:1px solid #0000001a;color:#e74c3c}.Profile-Menu .Profile-Dropdown-Item.disconnect:hover{background-color:#e74c3c1a}.App-header{align-items:center;background-color:#fff;box-shadow:0 5px 10px #0000001a;color:#000;display:flex;flex-direction:row;font-size:calc(7px + 2vmin);height:7vh;justify-content:space-between;padding-bottom:1vh;position:fixed;top:0;width:100vw;z-index:1000;.Header-Contact{align-items:center;display:flex;flex-direction:row;font-size:medium;font-weight:400;margin-right:2vw;margin-top:.5vh}.Header-Text{margin-top:1vh}}.App-logo-Login{margin-left:1vh}.App-logo,.App-logo-Login{cursor:pointer;height:8vh;margin-top:1vh;width:auto}.App-logo{margin-left:5.5vh}button[type=header]{font-weight:400}.Login-Box{align-items:center;background:#ffffffb3;border-radius:10px;box-shadow:0 0 50px #0000004d;display:flex;flex-direction:column;height:-webkit-fit-content;height:fit-content;justify-content:flex-start;margin:10vh auto;padding:5vh 1vh;width:25vw}.Login-Box input{border:1px solid #ccc;border-radius:5px;box-sizing:border-box;font-size:1rem;margin:10px 0;padding:10px;width:100%}@media (max-width:1024px){.Login-Box{height:40vh;width:40vw}}@media (max-width:768px){.Login-Box{height:auto;width:60vw}}@media (max-width:480px){.Login-Box{margin:5vh auto;width:80vw}}.Login-Username{margin-top:2vh;width:90%}.Login-Password{width:90%}.App-Login{align-items:center;background-image:url(/static/media/background.33cde1a1ae3adbd701b7.jpg);background-size:cover;display:flex;flex-direction:column;height:100vh;padding:20px}@media (max-width:768px){.App-Login{padding:10px}}@media (max-width:480px){.App-Login{align-items:stretch;flex-direction:column;padding:5px}}.Register-Box{align-items:center;background:#ffffffb3;border-radius:10px;box-shadow:0 0 50px #0000004d;display:flex;flex-direction:column;height:-webkit-fit-content;height:fit-content;justify-content:flex-start;margin:10vh auto;padding:5vh 1vh;width:25vw}.Register-Box input{border:1px solid #ccc;border-radius:5px;box-sizing:border-box;font-size:1rem;margin:10px 0;padding:10px;width:100%}@media (max-width:1024px){.Register-Box{width:40vw}}@media (max-width:768px){.Register-Box{width:60vw}}@media (max-width:480px){.Register-Box{margin:5vh auto;width:80vw}}.Register-Username{margin-top:2vh}.App-Register{align-items:center;background-image:url(/static/media/background.33cde1a1ae3adbd701b7.jpg);background-size:cover;display:flex;flex-direction:column;height:100vh;padding:20px}.map-container{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:400px;overflow:hidden;position:relative;width:100%}.map-modal-content .map-container{border-radius:0;box-shadow:none}.leaflet-map{height:100%;width:100%;z-index:1}.map-legend{background:#fffffff2;border-radius:6px;bottom:10px;box-shadow:0 2px 6px #0003;font-size:12px;left:10px;min-width:120px;padding:10px;position:absolute;z-index:1000}.legend-item{align-items:center;display:flex;margin-bottom:5px}.legend-item:last-child{margin-bottom:0}.legend-color{border-radius:50%;display:inline-block;height:12px;margin-right:8px;width:12px}.legend-color.start{background-color:#27ae60}.legend-color.end{background-color:#c0392b}.legend-color.current{animation:pulse 2s infinite;background-color:#3498db}.legend-color.speed{background-color:#e74c3c}.legend-color.accel{background-color:#f1c40f}.map-loading{align-items:center;background:#f8f9fa;border-radius:8px;color:#6c757d;display:flex;flex-direction:column;height:400px;justify-content:center}.loading-spinner{border:4px solid #e9ecef}.map-error{background:#f8d7da;color:#721c24}.map-error,.map-no-data{align-items:center;border-radius:8px;display:flex;font-weight:500;height:400px;justify-content:center;text-align:center}.map-no-data{background:#fff3cd;color:#856404}.leaflet-popup-content-wrapper{border-radius:6px;box-shadow:0 3px 14px #0006}.leaflet-popup-content{font-size:13px;line-height:1.4;margin:8px 12px}@media (max-width:768px){.map-container{height:300px}.map-legend{font-size:11px;min-width:100px;padding:8px}.legend-color{height:10px;margin-right:6px;width:10px}}.Home-Table{display:flex;flex-direction:column;height:60vh;margin:0 auto}.Home-Table,table{border-radius:10px;width:100%}table{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#cdffd866,#94b9ff66);border-bottom:3px solid #0000001a;border-collapse:collapse;box-shadow:0 4px 6px #0000001a}.Column-Title{background:linear-gradient(90deg,#cdffd8,#94b9ff);padding:1vh 1vw}td{background:#fff9;box-shadow:0 0 1px #0000001a;cursor:pointer;padding:1vh 1vw;text-align:left;transition:background-color .2s ease}td[type=number]{text-align:right}th{padding:1vh 1vw;text-align:left}tr:hover td{background:#ffffffe6;box-shadow:0 0 3px #00000026}.Table-Info{background:#fff9;border-radius:0 0 5px 5px;box-shadow:0 0 1px #0000001a;display:flex;justify-content:space-between;padding:1vh 1vw}.Table-Info-Buttons{cursor:pointer}.search{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}button[type=tableadd],button[type=tablerefresh]{background:#0000;border:none;border-radius:5px;box-shadow:0 0 1px #0000;color:blue;cursor:pointer;display:flex;text-decoration:underline}button[type=tablerefresh]{justify-content:end}.Table-Buttons{align-items:center;background-color:#ffffffb3;border-radius:5px 5px 0 0;display:flex;height:3.5vh;justify-content:space-between;padding:5px 0;width:100%}input[type=search]{border:none;border-bottom:1px solid #000;border-radius:5px;box-shadow:0 0 1px #0000;margin:1vh 0;padding:0 0 4px;text-align:center;width:100%}input[type=search]:focus{border-bottom:3px solid #000;outline:none}.Slide-Bar{height:100vh;left:0;position:fixed;top:0;z-index:1000;@media (max-width:768px){width:15vw}@media (max-width:480px){width:10vw}}.Menu-Button{background-color:#fff;border:none;border-radius:10px;box-shadow:0 5px 10px #0000;color:#000;cursor:pointer;font-size:small;font-weight:700;height:40px;left:0;margin:0 1vh;position:fixed;top:2vh;transition:background-color .3s ease;width:40px;z-index:2000}.CircularProgressbar{vertical-align:middle;width:100%}.CircularProgressbar .CircularProgressbar-path{stroke:#3e98c7;stroke-linecap:round;transition:stroke-dashoffset .5s ease 0s}.CircularProgressbar .CircularProgressbar-trail{stroke:#d6d6d6;stroke-linecap:round}.CircularProgressbar .CircularProgressbar-text{fill:#3e98c7;dominant-baseline:middle;text-anchor:middle;font-size:20px}.CircularProgressbar .CircularProgressbar-background{fill:#d6d6d6}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-background{fill:#3e98c7}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-text{fill:#fff}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-path{stroke:#fff}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-trail{stroke:#0000}.modern-gauge{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;justify-content:center;min-width:0;padding:10px}.gauge-title{color:#2c3e50;font-size:1.5em;font-weight:600;margin-bottom:15px;text-align:center}.gauge-container{height:180px;margin-bottom:10px;width:180px}.gauge-subtitle{color:#7f8c8d;font-size:.9em;font-weight:500;text-align:center}.gauge-target{background:linear-gradient(135deg,#cdffd866,#94b9ff66);border:2px solid #94b9ff99;border-radius:20px;color:#2c3e50;font-size:1em;font-weight:600;margin-top:10px;padding:8px 16px;text-align:center;transition:all .3s ease}.gauge-target.achieved{animation:targetAchieved .5s ease-in-out;background:linear-gradient(135deg,#27ae5fe6,#2ed573e6);border:2px solid #27ae5f}@keyframes targetAchieved{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.gauge-target.achieved .gauge-target-label,.gauge-target.achieved .gauge-target-value{color:#fff}.gauge-target-badge{color:#fff;font-size:1.2em;font-weight:700;margin-left:8px}.gauge-target-label{color:#7f8c8d;font-weight:500}.gauge-target-value{color:#94b9ff;font-size:1.1em;font-weight:700}@media (max-width:768px){.modern-gauge{padding:8px}.gauge-title{font-size:1.2em;margin-bottom:10px}.gauge-container{height:140px;width:140px}.gauge-subtitle{font-size:.85em}.gauge-target{font-size:.9em;margin-top:8px;padding:6px 12px}.gauge-target-value{font-size:1em}}@media (max-width:480px){.modern-gauge{padding:5px}.gauge-title{font-size:1em;margin-bottom:8px;white-space:nowrap}.gauge-container{height:110px;width:110px}.gauge-subtitle{font-size:.75em}.gauge-target{font-size:.8em;margin-top:6px;padding:5px 10px}.gauge-target-value{font-size:.95em}}@media (max-width:360px){.modern-gauge{padding:3px}.gauge-title{font-size:.9em}.gauge-container{height:90px;width:90px}.gauge-subtitle{font-size:.7em}.gauge-target{font-size:.75em;margin-top:5px;padding:4px 8px}.gauge-target-value{font-size:.9em}}.Home-Content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:30px 5vw 120px;width:100%}@media (max-width:768px){.Home-Content{padding:20px 3vw 140px}}@media (max-width:480px){.Home-Content{padding:15px 2vw 160px}}.Scores-Card{background:linear-gradient(135deg,#cdffd800,#94b9ff00);border-radius:10px;box-shadow:0 2px 8px #0000;margin-bottom:10px;transition:all .3s ease}.Scores-Container{align-items:center;display:flex;flex-direction:row;gap:3vw;justify-content:center}.Home-Buttons{flex-wrap:wrap;gap:1rem;margin-top:20px}@media (max-width:480px){.Home-Buttons{align-items:center;flex-direction:column}}.Coach-Float-Button{align-items:center;animation:pulse 2s infinite;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#cdffd8e6,#94b9ffe6);border:none;border-radius:50%;bottom:100px;box-shadow:0 4px 20px #94b9ff80;cursor:pointer;display:flex;font-size:2rem;height:60px;justify-content:center;position:fixed;right:30px;transition:all .3s ease;width:60px;z-index:900}.Coach-Float-Button:hover{background:linear-gradient(135deg,#cdffd8,#94b9ff);box-shadow:0 6px 30px #94b9ffb3;transform:scale(1.1)}.Coach-Float-Button:active{transform:scale(.95)}@media (max-width:768px){.Coach-Float-Button{bottom:80px;font-size:1.8rem;height:55px;right:20px;width:55px}}@media (max-width:480px){.Coach-Float-Button{bottom:70px;font-size:1.6rem;height:50px;right:15px;width:50px}}.Coach-Modal-Overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:5000}@media (max-width:768px){.Coach-Modal-Overlay{padding:15px}}@media (max-width:480px){.Coach-Modal-Overlay{align-items:flex-end;padding:10px}}.Coach-Modal-Content{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;padding:30px;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.Coach-Modal-Close{align-items:center;background:#0000;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .2s ease;width:40px}.Coach-Modal-Close:hover{background:#f0f0f0;color:#333}.Coach-Modal-Title{-webkit-text-fill-color:#0000;background:#000;-webkit-background-clip:text;background-clip:text;color:#333;font-size:1.8rem;font-weight:700;margin-bottom:10px}.Coach-Modal-Date{color:#666;font-size:.9rem;margin-bottom:25px}.Coach-Modal-Section{margin-bottom:30px}.Coach-Modal-Section h3{color:#444;font-size:1.3rem;font-weight:600;margin-bottom:15px}.Coach-Message{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#cdffd84d,#94b9ff4d);border-left:4px solid #94b9ff;border-radius:8px;color:#333;line-height:1.6;padding:20px;white-space:pre-wrap}.Coach-Actions{display:flex;flex-direction:column;gap:15px}.Coach-Action-Card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#cdffd84d,#94b9ff4d);border-left:4px solid #94b9ff;border-radius:8px;padding:20px;transition:all .2s ease}.Coach-Action-Card:hover{box-shadow:0 4px 12px #0000001a;transform:translateX(5px)}.Coach-Action-Header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.Coach-Action-Header h4{color:#333;font-size:1.1rem;font-weight:600;margin:0}.Coach-Priority{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.Coach-Priority.high{background:#ff4757;color:#fff}.Coach-Priority.medium{background:#ffa502;color:#fff}.Coach-Priority.low{background:#5f27cd;color:#fff}.Coach-Action-Description{color:#555;line-height:1.5;margin:10px 0}.Coach-Action-Impact{color:#94b9ff;font-size:.9rem;font-weight:500;margin-top:10px}.Coach-Targets{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#cdffd84d,#94b9ff4d);border-radius:8px;padding:15px}.Coach-Target-Row{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:12px 15px;transition:background .2s ease}.Coach-Target-Row:last-child{border-bottom:none}.Coach-Target-Row:hover{background:#fff}.Coach-Target-Metric{color:#333;font-weight:500}.Coach-Target-Values{color:#666;font-size:.95rem}.Coach-Target-Values strong{color:#94b9ff;font-weight:600}.Coach-Modal-Footer{border-top:1px solid #e0e0e0;display:flex;justify-content:center;margin-top:20px;padding-top:20px}.Coach-Details-Button{background-color:#94b9ff;border:none;border-radius:10px;box-shadow:0 5px 10px #0006;color:#000;cursor:pointer;font-size:small;font-weight:700;margin:1vw;padding:1vh;transition:background-color .3s ease;width:auto}.Coach-Details-Button:hover{background-color:#6595ec}.Coach-Details-Button:active{box-shadow:0 3px 6px #0006;transform:translateY(1px)}@media (max-width:768px){.Coach-Modal-Content{max-width:95%;padding:20px}.Coach-Modal-Title{font-size:1.5rem}.Coach-Modal-Section h3{font-size:1.1rem}.Coach-Action-Header{gap:8px}.Coach-Action-Header,.Coach-Target-Row{align-items:flex-start;flex-direction:column}.Coach-Target-Row{gap:5px}.Coach-Message{font-size:.95rem;padding:15px}.Coach-Action-Card{padding:15px}.Coach-Targets{padding:12px}}@media (max-width:480px){.Coach-Modal-Content{border-radius:12px 12px 0 0;max-height:85vh;max-width:100%;padding:15px}.Coach-Modal-Title{font-size:1.3rem;margin-bottom:8px}.Coach-Modal-Date{font-size:.8rem;margin-bottom:15px}.Coach-Modal-Section{margin-bottom:20px}.Coach-Modal-Section h3{font-size:1rem;margin-bottom:10px}.Coach-Modal-Close{font-size:1.5rem;height:35px;right:10px;top:10px;width:35px}.Coach-Message{font-size:.9rem;line-height:1.5;padding:12px}.Coach-Action-Card{padding:12px}.Coach-Action-Header h4{font-size:1rem}.Coach-Action-Description{font-size:.9rem}.Coach-Action-Impact{font-size:.85rem}.Coach-Priority{font-size:.7rem;padding:3px 10px}.Coach-Target-Row,.Coach-Targets{padding:10px}.Coach-Target-Metric{font-size:.9rem}.Coach-Target-Values{font-size:.85rem;margin-top:5px}.Coach-Details-Button{font-size:.9rem;margin:0;padding:12px;width:100%}.Coach-Modal-Footer{margin-top:15px;padding-top:15px}}.Overall-Score{align-items:center;display:flex;flex-direction:column;justify-content:center}.Score-Title{font-size:1.5em;font-weight:400}@media (max-width:768px){.Score-Title{font-size:1.2em}}@media (max-width:480px){.Score-Title{font-size:1em}}.Slide-Bar{background-color:#f0f0f0;height:100%;width:20vw}@media (max-width:768px){.Slide-Bar{width:25vw}}@media (max-width:480px){.Slide-Bar{width:30vw}}.chart-card{background:#fff9;margin-bottom:20px;padding:15px}.chart-header{align-items:center;border-bottom:2px solid #3498db;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.chart-header>div:first-child{align-items:center;display:flex;flex-shrink:0;flex-wrap:nowrap;gap:12px}.chart-title{color:#333;font-size:16px;font-weight:600;margin:0;white-space:nowrap}.violation-summary{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.chart-navigation{align-items:center;border-bottom:1px solid #e9ecef;display:flex;gap:15px;justify-content:center;margin-bottom:10px;padding:10px 0}.nav-btn{background-color:#3498db;border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:all .3s ease}.nav-btn:hover:not(:disabled){background-color:#2980b9;box-shadow:0 3px 6px #00000026;transform:translateY(-1px)}.nav-btn:active:not(:disabled){transform:translateY(0)}.nav-btn:disabled{background-color:#bdc3c7;cursor:not-allowed;opacity:.6}.nav-info{color:#555;font-size:13px;font-weight:500;white-space:nowrap}.view-map-btn{align-items:center;background-color:#94b9ff;border:none;border-radius:10px;box-shadow:0 5px 10px #0006;color:#000;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:6px;padding:8px 16px;transition:background-color .3s ease}.view-map-btn:hover{background-color:#6595ec}.view-map-btn:active{transform:translateY(1px)}.violation-count{align-items:center;border-radius:16px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 12px;white-space:nowrap}.speed-violation{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.accel-violation{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.chart-section{margin-bottom:20px}.chart-section:last-of-type{margin-bottom:10px}.chart-subtitle{border-left:3px solid #3498db;color:#444;font-size:14px;font-weight:500;margin:0 0 10px;padding-left:8px}.chart-flags{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.flag-indicator{align-items:center;border-radius:16px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:6px 12px}.speed-flag{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.accel-flag{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.chart-summary{border-top:1px solid #e9ecef;display:flex;justify-content:center;margin-top:15px;padding-top:15px}.data-points{background:#e7f3ff;border:1px solid #b8daff;border-radius:16px;color:#004085;font-size:12px;font-weight:500;padding:6px 12px}.recharts-wrapper{font-family:inherit}.recharts-cartesian-axis-tick-value{fill:#666;font-size:11px}.recharts-legend-wrapper{font-size:12px}.recharts-tooltip-wrapper{z-index:100}.recharts-reference-line-line{opacity:.8}.recharts-label{font-weight:700}@media (max-width:768px){.chart-card{margin-bottom:15px;padding:12px}.chart-header{gap:8px;margin-bottom:12px;padding-bottom:8px}.chart-header>div:first-child{flex-wrap:wrap;gap:8px}.chart-title{font-size:14px;white-space:normal}.view-map-btn{font-size:13px;padding:6px 12px}.violation-summary{gap:8px;justify-content:flex-start;width:100%}.violation-count{font-size:11px;padding:5px 10px}.chart-navigation{flex-direction:column;gap:8px}.nav-info{font-size:11px;text-align:center}.nav-btn{max-width:200px;width:100%}}@media (max-width:480px){.chart-card{padding:10px}.chart-title{font-size:13px}.view-map-btn{font-size:12px;padding:5px 10px}.chart-subtitle{font-size:13px;margin-bottom:8px}.violation-summary{align-items:flex-start;flex-direction:column;gap:6px}.violation-count{font-size:10px;padding:4px 8px}}.App{height:100vh}.container-charts{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box;flex:1 1;max-height:calc(100vh - 60px);overflow-y:auto;padding:24px 24px 100px}.container-charts::-webkit-scrollbar{width:8px}.container-charts::-webkit-scrollbar-thumb{background-color:#0000001a;border-radius:8px}.container-charts::-webkit-scrollbar-track{background-color:#0000000d;border-radius:8px}.filters-section{align-items:end;display:flex;gap:24px;margin-bottom:24px}.date-dropdown,.driver-dropdown{flex:1 1;max-width:260px}.date-dropdown label,.driver-dropdown label{color:#333;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.date-dropdown select,.driver-dropdown select{background:#fff;border:1px solid #ccc;border-radius:6px;font-size:1rem;padding:10px 14px;transition:border-color .2s;width:100%}.date-dropdown select:focus,.date-dropdown select:hover,.driver-dropdown select:focus,.driver-dropdown select:hover{border-color:#888;outline:none}.date-dropdown select:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.Statistics-Content{display:flex;flex-direction:column;gap:0;margin-top:16px}.courses-summary{margin-bottom:16px;width:100%}.courses-summary h3{border-bottom:2px solid #e9ecef;color:#333;font-size:1.1rem;font-weight:600;margin:0;padding-bottom:8px}.chart-card{background:#fff;border-radius:10px;box-shadow:0 5px 10px #0000001a;box-sizing:border-box;margin-bottom:24px;padding:20px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.chart-card:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-2px)}.flag-details{margin-top:10px}.flag-list{display:flex;flex-direction:column;gap:4px;margin-top:5px;max-height:120px;overflow-y:auto}.flag-item{align-items:center;border-radius:4px;display:flex;font-size:10px;font-weight:500;justify-content:space-between;padding:4px 8px}.speed-flag-item{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.accel-flag-item{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.flag-time{font-weight:600}.flag-type{font-size:9px;opacity:.8}.chart-stats{align-items:flex-end;display:flex;flex-direction:column;font-size:11px;gap:8px;max-width:250px}.data-stats{background:#e7f3ff;border:1px solid #b8daff;border-radius:12px;color:#004085;font-weight:500;padding:4px 8px}@media (max-width:1000px){.Statistics-Content{flex-direction:column}.chart-card{width:100%}}@media (max-width:768px){.container-charts{padding:16px 16px 120px}.filters-section{align-items:stretch;flex-direction:column;gap:16px}.date-dropdown,.driver-dropdown{max-width:none}}@media (max-width:480px){.container-charts{padding:12px 12px 140px}}.error{color:#e74c3c;font-weight:500;margin-bottom:16px}.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:15px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.no-data{color:#666;font-size:1rem;font-style:italic;margin:24px 0;text-align:center}.map-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.map-modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 50px #0000004d;display:flex;flex-direction:column;height:90%;max-height:900px;max-width:1400px;overflow:hidden;position:relative;width:90%}.map-modal-content .map-container{flex:1 1;height:100%;min-height:0;width:100%}.map-modal-close{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #0003;color:#333;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s;width:40px;z-index:10001}.map-modal-close:hover{background:#f5f5f5;transform:scale(1.1)}@media (max-width:768px){.map-modal-content{height:95%;width:95%}.map-modal-close{font-size:28px;height:36px;right:10px;top:10px;width:36px}}.threshold-sliders{background:#0000;border:none;border-radius:10px;box-shadow:none;margin:0 auto;max-width:none;padding:0;width:90%}.threshold-sliders h3{border-bottom:2px solid #007bff4d;color:#343a40;font-size:1.3em;font-weight:600;margin-bottom:20px;padding-bottom:10px;text-align:center}.loading{color:#6c757d;font-style:italic;padding:20px;text-align:center}.error-message{align-items:center;background:#f8d7da;border-radius:4px;color:#721c24;display:flex;justify-content:space-between;margin-bottom:15px;padding:10px}.retry-button{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8em;padding:5px 10px}.retry-button:hover{background:#c82333}.slider-container{margin:20px 0}.slider-group{background:#ffffff80;border:1px solid #e9ecef99;border-radius:6px;margin-bottom:25px;padding:15px}.slider-group label{color:#495057;display:block;font-size:1em;font-weight:700;margin-bottom:10px}.button-controls{background:#f8f9fa99;border:1px solid #e9ecef99;border-radius:8px;gap:15px;margin:15px 0;padding:10px}.button-controls,.decrement-button,.increment-button{align-items:center;display:flex;justify-content:center}.decrement-button,.increment-button{background:#007bff;border:2px solid #007bff;border-radius:50%;color:#fff;cursor:pointer;font-size:1.5em;font-weight:700;height:45px;transition:all .3s ease;-webkit-user-select:none;user-select:none;width:45px}.decrement-button:hover:not(:disabled),.increment-button:hover:not(:disabled){background:#0056b3;border-color:#0056b3;box-shadow:0 4px 8px #007bff4d;transform:scale(1.1)}.decrement-button:active:not(:disabled),.increment-button:active:not(:disabled){transform:scale(.95)}.decrement-button:disabled,.increment-button:disabled{background:#6c757d;border-color:#6c757d;cursor:not-allowed;opacity:.6;transform:none}.threshold-value{background:#fff;border:2px solid #dee2e6;border-radius:6px;box-shadow:inset 0 1px 3px #0000001a;color:#495057;font-size:1.2em;font-weight:700;min-width:120px;padding:8px 16px;text-align:center}.slider-range{color:#6c757d;font-size:.85em;font-style:italic;margin-top:5px;text-align:center}.threshold-actions{display:flex;gap:10px;justify-content:center;margin:20px 0}.refresh-button,.reset-button{border:none;border-radius:5px;cursor:pointer;font-weight:700;min-width:120px;padding:10px 20px;transition:all .3s ease}.reset-button{background:#dc3545;color:#fff}.reset-button:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.refresh-button{background:#28a745;color:#fff}.refresh-button:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.refresh-button:disabled,.reset-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.save-status{color:#28a745;font-weight:700}.save-status,.saving-indicator{font-size:.9em;margin-top:10px;text-align:center}.saving-indicator{animation:pulse 1.5s infinite;color:#007bff;font-style:italic}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}@media (max-width:768px){.threshold-sliders{margin:15px 0;padding:15px}.threshold-actions{align-items:center;flex-direction:column}.refresh-button,.reset-button{max-width:200px;width:100%}}.Box{align-items:center;background:#0000;border-radius:10px;box-shadow:none;display:flex;flex-direction:column;justify-content:flex-start;margin:0 auto 2vh;max-width:none;padding-left:1vh;padding-right:1vh;padding-top:2vh;width:90%}.Box h3{border-bottom:2px solid #007bff4d;color:#343a40;font-size:1.3em;font-weight:600;margin-bottom:20px;padding-bottom:10px;text-align:center;width:100%}.Settings-Username{margin-bottom:15px;width:100%}.Settings-Username label{color:#495057;display:block;font-size:.95em;font-weight:600;margin-bottom:8px}.Box input{background:#fffc;border:1px solid #ccc9;border-radius:5px;box-sizing:border-box;font-size:1rem;margin:10px 0;padding:10px;transition:all .3s ease;width:100%}.Box input:focus{background:#fffffff2;border-color:#007bff99;outline:none}.Settings-Button{display:flex;justify-content:center;margin-top:20px;width:100%}.Settings-Button button{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;min-width:150px;padding:12px 40px;transition:all .3s ease}.Settings-Button button:hover{background:#0056b3;box-shadow:0 4px 8px #007bff4d;transform:translateY(-1px)}.Settings-Button button:active{transform:translateY(0)}.Settings-Title{color:#343a40;font-weight:600;padding:2vh;text-align:center}.Box+div{margin:16px auto 0;max-width:none;width:90%}.App{background-color:#f2f4f7;color:#333;display:flex;flex-direction:column;min-height:100vh}footer,header{flex-shrink:0}.Sidebar{background-color:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;min-width:220px;padding:20px;width:250px}.Settings-Content{align-items:flex-start;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:initial;border-radius:16px;display:flex;flex:1 1;justify-content:center;overflow-y:auto;padding:40px 40px 130px}.Settings-Box{background:#0000;display:flex;flex-direction:column;gap:24px;max-width:1200px;padding:0 0 30px;width:100%}.settings-component-card{background:#fff9;border-radius:10px;box-shadow:0 5px 10px #0000001a;box-sizing:border-box;padding:24px;transition:all .3s ease;width:100%}.settings-component-card:hover{box-shadow:0 6px 15px #00000026;transform:translateY(-2px)}.Settings-Box h2{color:#1a1a1a;font-size:2rem;font-weight:600;margin-bottom:24px;text-align:center}.Disconnect-Button{background-color:#ff4d4f;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:1rem;font-weight:500;margin:32px auto 0;padding:14px 20px;transition:background-color .3s ease,transform .2s ease;width:100%}.Disconnect-Button:hover{background-color:#e53935;transform:translateY(-1px)}.Disconnect-Button:active{transform:translateY(0)}.Home-Buttons{display:flex;flex-direction:row;gap:16px;justify-content:center}.Settings-Content::-webkit-scrollbar{width:8px}.Settings-Content::-webkit-scrollbar-thumb{background-color:#0000001a;border-radius:8px}@media screen and (max-width:768px){.Settings-Content{padding:24px 24px 120px}.Sidebar{width:100%}.Settings-Box{padding:24px}}.create-tasks-form{display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100%}.form-controls-section{border-bottom:1px solid #c4bbbb4d;flex-shrink:0;margin-bottom:1vh;padding:1vh 0}.form-controls-row{align-items:end;display:flex;gap:3vw}.form-controls-row .form-group{flex:1 1;margin-bottom:0}.form-group{margin-bottom:1.5vh}.form-group label{color:#000;display:block;font-size:medium;font-weight:400;margin-bottom:.5vh}.form-group input[type=datetime-local],.form-group input[type=email],.form-group input[type=text],.form-group select{background-color:#ffffff80;border:2px solid #c4bbbb;border-radius:10px;box-sizing:border-box;font-size:medium;height:5vh;padding:0 1vw;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border:2px solid #000;outline:none}.form-group input:hover,.form-group select:hover{border:2px solid #000}.driver-select{cursor:pointer}.driver-select option{background-color:#fff;padding:1vh}.loading-drivers{background-color:#ffffff80;border:2px solid #c4bbbb;border-radius:10px;color:#666;font-style:italic;padding:2vh 1vw;text-align:center}.todo-section{flex:1 1;margin-top:0;min-height:0;overflow-y:auto;padding:1vh 0}.todo-header{flex-shrink:0;margin-bottom:1vh}.existing-todos-section{margin-bottom:2vh;margin-top:2vh}.existing-todos-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2vh}.existing-todos-header h3{color:#000;font-size:calc(7px + 1.5vmin);font-weight:400;margin:0}.loading-text{font-size:small}.loading-text,.no-todos{color:#666;font-style:italic}.no-todos{background:#fff6;border:2px dashed #c4bbbb80;border-radius:10px;padding:2vh 2vw;text-align:center}.todo-header h3{color:#000;font-size:calc(7px + 1.5vmin);font-weight:400;margin:0}.todo-item{align-items:flex-start;background:#fff9;border:2px solid #c4bbbb80;border-radius:10px;box-shadow:0 2px 5px #0000001a;display:flex;gap:2vw;margin-bottom:1vh;padding:1.5vh 2vw}.todo-item.visited{background:#c4c4c466;border:2px solid #96969680;opacity:.7}.todo-item.not-visited{background:#fff9}.todo-item.new-todo{background:#cdffd866;border:2px solid #4caf504d}.todo-item.existing-todo{background:#fff8cd66;border:2px solid #ffc1074d}.disabled-input{background-color:#c8c8c84d!important;color:#666!important;cursor:not-allowed!important}.disabled-input:hover{border:2px solid #c4bbbb80!important}.visited-badge{background:#4caf50cc;border-radius:15px;color:#fff;display:inline-block;font-size:small;font-weight:700;margin-top:1vh;padding:.5vh 1vw}.todo-item-content{flex:1 1}.todo-number{color:#000;display:block;font-size:medium;font-weight:700}.form-row{align-items:end;display:flex;gap:2vw;width:100%}.flex-grow{flex:1 1}.remove-button-group{align-items:center;display:flex;flex-direction:column;min-width:-webkit-fit-content;min-width:fit-content}.remove-icon-btn{align-items:center;background-color:#ff94a6;border:none;border-radius:10px;box-shadow:0 5px 10px #0006;color:#000;cursor:pointer;display:flex;font-size:medium;font-weight:700;height:5vh;justify-content:center;padding:1vh;transition:background-color .3s ease;width:5vh}.remove-icon-btn:hover{background-color:#ee7085}.remove-icon-btn.disabled,.remove-icon-btn:disabled{background-color:#c4bbbb80;box-shadow:none;cursor:not-allowed;opacity:.6}.remove-icon-btn.disabled:hover,.remove-icon-btn:disabled:hover{background-color:#c4bbbb80}.add-todo-section{border-top:1px solid #c4bbbb4d;flex-shrink:0;margin-bottom:1vh;margin-top:1vh;padding:1vh 0;text-align:center}.add-todo-btn{background-color:#94b9ff;border:none;border-radius:10px;box-shadow:0 5px 10px #0006;color:#000;cursor:pointer;font-size:medium;font-weight:700;min-width:15vw;padding:1.5vh 3vw;transition:background-color .3s ease}.add-todo-btn:hover{background-color:#6595ec}.add-todo-btn.disabled,.add-todo-btn:disabled{background-color:#c4bbbb80;box-shadow:none;cursor:not-allowed}.add-todo-btn.disabled:hover,.add-todo-btn:disabled:hover{background-color:#c4bbbb80}.message{border-radius:10px;flex-shrink:0;font-weight:400;margin:1vh 0;padding:1vh 2vw}.message.success{background:#cdffd8cc;border:2px solid #4caf504d;color:#000}.message.error{background:#ff94a6cc;border:2px solid #f443364d;color:#000}.form-actions{align-items:center;border-top:1px solid #c4bbbb80;display:flex;flex-shrink:0;gap:3vw;justify-content:center;margin-top:1vh;padding:1.5vh 0}.form-actions .add-todo-section{border-top:none;flex-shrink:0;margin:0;padding:0;text-align:center}.submit-btn{background-color:#94b9ff;border:none;border-radius:10px;box-shadow:0 5px 10px #0006;color:#000;cursor:pointer;font-size:medium;font-weight:700;min-width:15vw;padding:1.5vh 3vw;transition:background-color .3s ease}.submit-btn:hover:not(:disabled){background-color:#6595ec}.submit-btn:disabled{background-color:#c4bbbb80;box-shadow:none;cursor:not-allowed}@media (max-width:768px){.form-controls-row{flex-direction:column;gap:1.5vh}.form-controls-row .form-group{margin-bottom:1.5vh}.form-row{flex-direction:column;gap:1.5vh}.remove-button-group{flex-direction:row;justify-content:center;margin-top:1vh}.todo-item{align-items:stretch;flex-direction:column;gap:2vh;padding:2vh 3vw}.remove-icon-btn{height:6vh;width:6vh}.form-actions{flex-direction:column;gap:2vh}.add-todo-btn{min-width:30vw;padding:2vh 4vw}.submit-btn{min-width:40vw;padding:2vh 4vw}.form-group input[type=datetime-local],.form-group input[type=email],.form-group input[type=text],.form-group select{font-size:large;height:6vh}}@media (max-width:480px){.todo-item{padding:1.5vh 2vw}.form-row{gap:1vh}.form-actions{flex-direction:column;gap:1.5vh}.add-todo-btn{min-width:50vw;padding:2vh 5vw}.submit-btn{min-width:60vw;padding:2vh 5vw}.form-group input[type=datetime-local],.form-group input[type=email],.form-group input[type=text],.form-group select{height:7vh}}.Create-Tasks-Content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:5vw 5vw 15vh;width:100%}.Create-Tasks-Container,.Create-Tasks-Content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.Create-Tasks-Container{background:#fff9;border-radius:10px;box-shadow:0 5px 10px #0000001a;margin:0 auto 5vh;max-height:80vh;min-height:0;padding:2vh 2vw;width:90%}.Create-Tasks-Title{color:#000;font-size:calc(7px + 2vmin);font-weight:400;margin-bottom:2vh;text-align:center}@media (max-width:768px){.Create-Tasks-Content{padding:3vw 3vw 18vh}.Create-Tasks-Container{height:auto;margin-bottom:6vh;max-height:75vh;min-height:60vh;padding:2vh 3vw}.Create-Tasks-Title{font-size:calc(10px + 2vmin);margin-bottom:3vh}}@media (max-width:480px){.Create-Tasks-Content{padding:2vw 2vw 20vh}.Create-Tasks-Container{margin-bottom:7vh;max-height:70vh;padding:1.5vh 2vw}.Create-Tasks-Title{font-size:calc(8px + 2vmin);margin-bottom:2vh}}
/*# sourceMappingURL=main.bca94ae7.css.map*/