:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;font-family:Roboto,sans-serif}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547}a:hover{color:#747bff}button{background-color:#f9f9f9}}.admin-dashboard{transition:all .3s ease}@media (max-width: 480px){.admin-dashboard{padding:0 .25rem!important}.dashboard-header h1{font-size:1.25rem!important}.header-actions{flex-direction:column;gap:.5rem}.header-actions button{width:100%;justify-content:center}.summary-grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}.summary-item{min-height:80px!important;padding:.75rem!important}.summary-item>div:first-child{font-size:1.25rem!important}.summary-item>div:last-child{font-size:.7rem!important}.stats-grid>div{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}.chart-container{padding:1rem!important}.chart-container h3{font-size:1rem!important}.ResponsiveContainer{height:200px!important}.tab-group{gap:.25rem!important}.tab-group>div{font-size:.65rem!important}.tab{padding:.5rem .75rem!important;font-size:.7rem!important;min-width:44px!important}.tab span{display:none!important}.modal-content{width:95%!important;max-width:95vw!important}.modal-header{padding:.75rem 1rem!important}.modal-header h3{font-size:1rem!important;padding-right:1rem!important}.modal-body{padding:1rem!important}.modal-footer{padding:.75rem 1rem!important;gap:.5rem!important;flex-wrap:wrap!important}.modal-footer button{padding:.6rem 1rem!important;font-size:.8rem!important;min-height:44px!important}.form-group input,.form-group select{padding:.6rem!important;font-size:.8rem!important;min-height:44px!important}}@media (max-width: 768px) and (min-width: 481px){.admin-dashboard{padding:0 .5rem!important}.dashboard-header h1{font-size:1.75rem!important}.header-actions{gap:.5rem}.header-actions button span{display:none!important}.summary-grid{grid-template-columns:repeat(3,1fr)!important;gap:.75rem!important}.summary-item{min-height:100px!important;padding:1rem!important}.summary-item>div:first-child{font-size:1.5rem!important}.summary-item>div:last-child{font-size:.75rem!important}.stats-grid>div{grid-template-columns:repeat(2,1fr)!important;gap:.75rem!important}.chart-container{padding:1.5rem!important}.chart-container h3{font-size:1.1rem!important}.ResponsiveContainer{height:225px!important}.tab-group{gap:.5rem!important}.tab-group>div{font-size:.75rem!important}.tab{padding:.6rem .85rem!important;font-size:.75rem!important}.tab span{display:inline!important}.modal-content{width:90%!important;max-width:90vw!important}.modal-header{padding:1rem 1.5rem!important}.modal-header h3{font-size:1.1rem!important;padding-right:2rem!important}.modal-body{padding:1.25rem!important}.modal-footer{padding:1rem 1.5rem!important;gap:.75rem!important}.modal-footer button{padding:.7rem 1.25rem!important;font-size:.85rem!important;min-height:44px!important}.form-group input,.form-group select{padding:.75rem!important;font-size:.875rem!important;min-height:44px!important}}@media (min-width: 769px){.admin-dashboard{padding:0 1rem!important}.dashboard-header h1{font-size:2.5rem!important}.header-actions{gap:.5rem}.header-actions button span{display:inline!important}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;gap:1rem!important}.summary-item{min-height:100px!important;padding:1.5rem!important}.summary-item>div:first-child{font-size:2rem!important}.summary-item>div:last-child{font-size:.875rem!important}.stats-grid>div{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important;gap:1rem!important}.chart-container{padding:2rem!important}.chart-container h3{font-size:1.25rem!important}.ResponsiveContainer{height:250px!important}.tab-group{gap:.75rem!important}.tab-group>div{font-size:.875rem!important}.tab{padding:.75rem 1rem!important;font-size:.875rem!important}.tab span{display:inline!important}.modal-content{width:500px!important;max-width:500px!important}.modal-header{padding:1rem 1.5rem!important}.modal-header h3{font-size:1.25rem!important;padding-right:2rem!important}.modal-body{padding:1.5rem!important}.modal-footer{padding:1rem 1.5rem!important;gap:.75rem!important}.modal-footer button{padding:.75rem 1.5rem!important;font-size:.875rem!important;min-height:44px!important}.form-group input,.form-group select{padding:.75rem!important;font-size:.875rem!important;min-height:44px!important}}@media (hover: none) and (pointer: coarse){.tab,.header-actions button,.modal-footer button,.form-group input,.form-group select{min-height:48px!important}.tab{min-width:48px!important}.summary-item,.stat-card{cursor:pointer;transition:transform .2s ease}.summary-item:active,.stat-card:active{transform:scale(.98)}}@media (prefers-contrast: high){.admin-dashboard{border:2px solid #000}.summary-item,.stat-card,.chart-container,.tab.active{border:2px solid #000!important}}@media (prefers-reduced-motion: reduce){.admin-dashboard,.tab,.header-actions button,.modal-footer button,.summary-item,.stat-card{transition:none!important}.summary-item:active,.stat-card:active{transform:none!important}}@media print{.admin-dashboard{padding:0!important}.dashboard-header,.dashboard-tabs,.header-actions,.modal-overlay{display:none!important}.dashboard-content{display:block!important}.summary-grid,.stats-grid{grid-template-columns:repeat(4,1fr)!important;gap:1rem!important}.chart-container{break-inside:avoid;page-break-inside:avoid}}.weather-background{position:absolute;top:0;left:0;width:100%!important;height:100%!important;overflow:hidden;z-index:0;pointer-events:none;transform:scaleX(-1)}.clear-day-scene{background:linear-gradient(135deg,#87ceeb,#98d8e8,#b0e0e6,#87ceeb,#98d8e8);background-size:400% 400%;animation:skyGradient 20s ease-in-out infinite;width:100%!important;height:100%!important;position:absolute;top:0;left:0}.sun-container{position:absolute;top:10%;left:20%;width:150px;height:150px}.sun-core{width:100%;height:100%;background:radial-gradient(circle,gold,orange,#ff8c00);border-radius:50%;box-shadow:0 0 60px #ffd700e6,0 0 120px #ffa500b3,0 0 180px #ff8c0080;animation:sunPulse 4s ease-in-out infinite}.sun-rays{position:absolute;top:-30px;left:-30px;width:210px;height:210px;animation:sunRotate 20s linear infinite}.ray{position:absolute;width:6px;height:40px;background:linear-gradient(to bottom,#FFD700,transparent);border-radius:3px;transform-origin:50% 130px}.ray-1{transform:rotate(0) translateY(-130px)}.ray-2{transform:rotate(45deg) translateY(-130px)}.ray-3{transform:rotate(90deg) translateY(-130px)}.ray-4{transform:rotate(135deg) translateY(-130px)}.ray-5{transform:rotate(180deg) translateY(-130px)}.ray-6{transform:rotate(225deg) translateY(-130px)}.ray-7{transform:rotate(270deg) translateY(-130px)}.ray-8{transform:rotate(315deg) translateY(-130px)}.clouds-container{position:absolute;width:100%;height:100%}.cloud{position:absolute;background:#fffffff2;border-radius:60px;filter:blur(2px);box-shadow:0 8px 32px #ffffff4d}.cloud-1{width:120px;height:60px;top:15%;right:15%;animation:cloudFloat1 25s ease-in-out infinite}.cloud-2{width:90px;height:45px;top:25%;right:45%;animation:cloudFloat2 30s ease-in-out infinite}.cloud-3{width:140px;height:70px;top:10%;right:70%;animation:cloudFloat3 35s ease-in-out infinite}.particles-container{position:absolute;width:100%;height:100%}.particle{position:absolute;width:6px;height:6px;background:#fffc;border-radius:50%;animation:particleFloat 15s ease-in-out infinite;box-shadow:0 0 10px #fff9}.particle-1{top:20%;right:25%;animation-delay:0s}.particle-2{top:35%;right:65%;animation-delay:3s}.particle-3{top:50%;right:35%;animation-delay:6s}.particle-4{top:15%;right:75%;animation-delay:9s}.particle-5{top:65%;right:55%;animation-delay:12s}.clear-night-scene{background:linear-gradient(135deg,#0b1426,#1b2b4a,#2c3e50,#1b2b4a,#0b1426);background-size:400% 400%;animation:nightSkyGradient 25s ease-in-out infinite;width:100%!important;height:100%!important;position:absolute;top:0;left:0}.moon-container{position:absolute;top:15%;left:25%;width:120px;height:120px}.moon{width:100%;height:100%;background:radial-gradient(circle,#f4f4f4,#e6e6fa,#d3d3d3);border-radius:50%;box-shadow:0 0 40px #f4f4f4cc,0 0 80px #e6e6fa99;animation:moonGlow 6s ease-in-out infinite}.moon-glow{position:absolute;top:-25px;left:-25px;width:170px;height:170px;background:radial-gradient(circle,rgba(244,244,244,.15) 0%,transparent 70%);border-radius:50%;animation:moonGlowPulse 8s ease-in-out infinite}.stars-container{position:absolute;width:100%;height:100%}.star{position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;animation:starTwinkle 4s ease-in-out infinite;box-shadow:0 0 8px #fffc}.star-1{top:10%;right:20%;animation-delay:0s}.star-2{top:20%;right:70%;animation-delay:.8s}.star-3{top:30%;right:30%;animation-delay:1.6s}.star-4{top:40%;right:80%;animation-delay:2.4s}.star-5{top:50%;right:40%;animation-delay:3.2s}.star-6{top:60%;right:60%;animation-delay:4s}.star-7{top:70%;right:50%;animation-delay:4.8s}.star-8{top:80%;right:70%;animation-delay:5.6s}.shooting-stars{position:absolute;width:100%;height:100%}.shooting-star{position:absolute;width:3px;height:3px;background:linear-gradient(to right,#FFFFFF,transparent);border-radius:50%;animation:shootingStar 10s linear infinite;box-shadow:0 0 15px #ffffffe6}.shooting-star-1{top:15%;right:15%;animation-delay:0s}.shooting-star-2{top:45%;right:25%;animation-delay:5s}.cloudy-scene{background:linear-gradient(135deg,#b0c4de,silver,#d3d3d3,#b0c4de,silver);background-size:400% 400%;animation:cloudySkyGradient 18s ease-in-out infinite;width:100%!important;height:100%!important;position:absolute;top:0;left:0}.cloud-main{background:#fffffffa;box-shadow:0 8px 25px #00000026}.cloud-small{background:#ffffffd9;box-shadow:0 4px 20px #0000001f}.cloud-1{animation:cloudFloat1 30s ease-in-out infinite}.cloud-2{animation:cloudFloat2 35s ease-in-out infinite}.cloud-3{animation:cloudFloat3 32s ease-in-out infinite}.cloud-4{animation:cloudFloat4 28s ease-in-out infinite}.cloud-5{animation:cloudFloat5 33s ease-in-out infinite}.rainy-scene{background:linear-gradient(135deg,#4682b4,#5f9ea0,#708090,#4682b4,#5f9ea0);background-size:400% 400%;animation:rainySkyGradient 16s ease-in-out infinite;width:100%!important;height:100%!important;position:absolute;top:0;left:0}.rain-cloud{background:#4682b4f2;box-shadow:0 8px 30px #0006}.rain-container{position:absolute;width:100%;height:100%}.rain-drop{position:absolute;width:3px;height:25px;background:linear-gradient(to bottom,#87ceebe6,#4682b4b3);border-radius:2px;animation:rainFall 2s linear infinite;box-shadow:0 0 8px #87ceeb99}.rain-drop:nth-child(1){right:8%;animation-delay:0s}.rain-drop:nth-child(2){right:18%;animation-delay:.3s}.rain-drop:nth-child(3){right:28%;animation-delay:.6s}.rain-drop:nth-child(4){right:38%;animation-delay:.9s}.rain-drop:nth-child(5){right:48%;animation-delay:1.2s}.rain-drop:nth-child(6){right:58%;animation-delay:1.5s}.rain-drop:nth-child(7){right:68%;animation-delay:1.8s}.rain-drop:nth-child(8){right:78%;animation-delay:2.1s}.rain-drop:nth-child(9){right:88%;animation-delay:2.4s}.rain-drop:nth-child(10){right:95%;animation-delay:2.7s}.snowy-scene{background:linear-gradient(135deg,#e6e6fa,#f0f8ff,#f8f8ff,#e6e6fa,#f0f8ff);background-size:400% 400%;animation:snowySkyGradient 22s ease-in-out infinite;width:100%!important;height:100%!important;position:absolute;top:0;left:0}.snow-cloud{background:#fffffffa;box-shadow:0 8px 30px #87ceeb66}.snow-container{position:absolute;width:100%;height:100%}.snowflake{position:absolute;width:8px;height:8px;background:#fff;border-radius:50%;animation:snowFall 4s linear infinite;box-shadow:0 0 10px #ffffffe6}.snowflake:nth-child(1){right:8%;animation-delay:0s}.snowflake:nth-child(2){right:22%;animation-delay:.7s}.snowflake:nth-child(3){right:36%;animation-delay:1.4s}.snowflake:nth-child(4){right:50%;animation-delay:2.1s}.snowflake:nth-child(5){right:64%;animation-delay:2.8s}.snowflake:nth-child(6){right:78%;animation-delay:3.5s}.snowflake:nth-child(7){right:15%;animation-delay:4.2s}.snowflake:nth-child(8){right:92%;animation-delay:4.9s}.stormy-scene{background:linear-gradient(135deg,#2f4f4f,#363636,#4a4a4a,#2f4f4f,#363636);background-size:400% 400%;animation:stormySkyGradient 14s ease-in-out infinite;width:100%!important;height:100%!important;position:absolute;top:0;left:0}.storm-cloud{background:#2f4f4ffa;box-shadow:0 10px 35px #0009}.lightning-container{position:absolute;width:100%;height:100%}.lightning{position:absolute;width:4px;height:80px;background:linear-gradient(to bottom,gold,orange,#ff8c00);border-radius:2px;box-shadow:0 0 30px #ffd700e6;animation:lightningFlash 5s ease-in-out infinite;opacity:0}.bolt-1{right:25%;top:15%;animation-delay:0s}.bolt-2{right:75%;top:20%;animation-delay:2.5s}.foggy-scene{background:linear-gradient(135deg,#d3d3d3,silver,#a9a9a9,silver,#d3d3d3);background-size:400% 400%;animation:foggySkyGradient 20s ease-in-out infinite;width:100%!important;height:100%!important;position:absolute;top:0;left:0}.fog-layers{position:absolute;width:100%;height:100%}.fog-layer{position:absolute;width:100%;height:100%;background:#fff6;filter:blur(25px);animation:fogDrift 20s ease-in-out infinite}.layer-1{animation-delay:0s}.layer-2{animation-delay:7s}.layer-3{animation-delay:14s}.hazy-scene{background:linear-gradient(135deg,tan,#deb887,wheat,#deb887,tan);background-size:400% 400%;animation:hazySkyGradient 18s ease-in-out infinite;width:100%!important;height:100%!important;position:absolute;top:0;left:0}.haze-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffff40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.hazy-sun{position:absolute;top:15%;left:25%;width:100px;height:100px}.sun-disc{width:100%;height:100%;background:radial-gradient(circle,#ffd700b3,#ffa50080);border-radius:50%;animation:hazySunGlow 10s ease-in-out infinite}.sun-halo{position:absolute;top:-25px;left:-25px;width:150px;height:150px;background:radial-gradient(circle,rgba(255,215,0,.15) 0%,transparent 70%);border-radius:50%;animation:hazyHaloPulse 12s ease-in-out infinite}.windy-scene{background:linear-gradient(135deg,#87ceeb,#b0e0e6,#e0f6ff,#b0e0e6,#87ceeb);background-size:400% 400%;animation:windySkyGradient 16s ease-in-out infinite;width:100%!important;height:100%!important;position:absolute;top:0;left:0}.wind-lines{position:absolute;width:100%;height:100%}.wind-line{position:absolute;height:3px;background:linear-gradient(to right,rgba(255,255,255,.9),transparent);border-radius:2px;animation:windFlow 4s ease-in-out infinite;box-shadow:0 0 10px #fff9}.line-1{top:15%;width:80px;right:8%;animation-delay:0s}.line-2{top:30%;width:100px;right:18%;animation-delay:.7s}.line-3{top:45%;width:90px;right:12%;animation-delay:1.4s}.line-4{top:60%;width:110px;right:22%;animation-delay:2.1s}.line-5{top:75%;width:85px;right:28%;animation-delay:2.8s}.line-6{top:90%;width:95px;right:32%;animation-delay:3.5s}@keyframes skyGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes nightSkyGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes cloudySkyGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes rainySkyGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes snowySkyGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes stormySkyGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes foggySkyGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes hazySkyGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes windySkyGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes sunPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.9}}@keyframes sunRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes moonGlow{0%,to{opacity:.8}50%{opacity:1}}@keyframes moonGlowPulse{0%,to{transform:scale(1);opacity:.15}50%{transform:scale(1.25);opacity:.25}}@keyframes starTwinkle{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes shootingStar{0%{transform:translate(0) translateY(0) rotate(0);opacity:1}to{transform:translate(-250px) translateY(120px) rotate(-45deg);opacity:0}}@keyframes cloudFloat1{0%,to{transform:translate(0) translateY(0)}50%{transform:translate(-40px) translateY(-15px)}}@keyframes cloudFloat2{0%,to{transform:translate(0) translateY(0)}50%{transform:translate(35px) translateY(20px)}}@keyframes cloudFloat3{0%,to{transform:translate(0) translateY(0)}50%{transform:translate(-50px) translateY(-10px)}}@keyframes cloudFloat4{0%,to{transform:translate(0) translateY(0)}50%{transform:translate(30px) translateY(15px)}}@keyframes cloudFloat5{0%,to{transform:translate(0) translateY(0)}50%{transform:translate(-45px) translateY(-12px)}}@keyframes particleFloat{0%,to{transform:translate(0) translateY(0);opacity:.6}50%{transform:translate(-30px) translateY(-20px);opacity:1}}@keyframes rainFall{0%{transform:translateY(-60px);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(120px);opacity:0}}@keyframes snowFall{0%{transform:translateY(-60px) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(120px) rotate(360deg);opacity:0}}@keyframes lightningFlash{0%,90%,to{opacity:0}5%,85%{opacity:1}}@keyframes fogDrift{0%,to{transform:translate(0);opacity:.4}50%{transform:translate(-60px);opacity:.6}}@keyframes hazySunGlow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:.9;transform:scale(1.15)}}@keyframes hazyHaloPulse{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.25;transform:scale(1.3)}}@keyframes windFlow{0%,to{transform:translate(0);opacity:.6}50%{transform:translate(-120px);opacity:1}}@media (max-width: 768px){.sun-container,.moon-container{width:100px;height:100px}.sun-rays{width:160px;height:160px}.ray{height:30px;transform-origin:50% 100px}.cloud{transform:scale(.8)}}@media (max-width: 480px){.sun-container,.moon-container{width:80px;height:80px}.sun-rays{width:130px;height:130px}.ray{height:25px;transform-origin:50% 80px}.cloud{transform:scale(.7)}.rain-drop,.snowflake{transform:scale(.8)}}.main-header{background:transparent!important;color:#000!important;position:relative!important;overflow:hidden!important;min-height:160px!important;width:100%!important;padding:0!important;margin:0!important}.header-content{display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;padding:1rem 1rem 0!important;box-sizing:border-box!important;position:relative!important;z-index:2!important;gap:.5rem!important;justify-content:space-between!important}.header-top-row{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;margin:0!important;padding:0!important;position:relative!important;z-index:3!important;flex-shrink:0!important}.header-middle-row{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;margin:0!important;padding:0!important;position:relative!important;z-index:3!important;flex-shrink:0!important}.header-bottom-row{display:flex!important;align-items:flex-end!important;justify-content:center!important;width:100%!important;margin:auto 0 0!important;padding:0!important;position:relative!important;z-index:3!important;flex-shrink:0!important;height:auto!important;min-height:40px!important}.header-app-name h1{color:#000!important;margin:0!important;padding:0!important;font-size:2.5rem!important;font-weight:700!important;line-height:1!important;text-shadow:0 2px 4px rgba(255,255,255,.9)!important}.header-language-section{display:flex!important;align-items:center!important;justify-content:flex-end!important;position:relative!important;z-index:999999999!important}.language-selector{position:relative!important}.language-btn{display:flex!important;align-items:center!important;gap:.3rem!important;background:#ffffffb3!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:12px!important;padding:.4rem .7rem!important;cursor:pointer!important;transition:all .3s ease!important;z-index:999999999!important;color:#333!important;font-size:.8rem!important;font-weight:500!important;min-width:65px!important;justify-content:center!important;box-shadow:0 8px 32px #1f26875e,0 4px 16px #ffffff1a,inset 0 1px #fff3!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;position:relative!important;overflow:hidden!important}.language-btn:before{content:""!important;position:absolute!important;top:0!important;left:-100%!important;width:100%!important;height:100%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)!important;transition:left .5s ease!important}.language-btn:hover:before{left:100%!important}.language-btn:hover{background:#fffc!important;transform:translateY(-2px)!important;box-shadow:0 12px 40px #1f268766,0 6px 20px #ffffff26,inset 0 1px #ffffff4d!important;border-color:#fff9!important}.language-btn span{font-weight:600!important;color:#333!important;text-transform:uppercase!important}.language-btn svg{width:16px!important;height:16px!important;color:#333!important}.header-license-section{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:300px!important;margin:0!important;padding:0!important}.header-license-container{display:flex!important;align-items:center!important;gap:.5rem!important;background:#ffffffb3!important;padding:.6rem 1rem!important;border-radius:16px!important;border:1px solid rgba(255,255,255,.4)!important;box-shadow:0 8px 32px #1f26875e,0 4px 16px #ffffff1a,inset 0 1px #fff3!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;position:relative!important;overflow:hidden!important}.header-license-container:before{content:""!important;position:absolute!important;top:0!important;left:-100%!important;width:100%!important;height:100%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)!important;transition:left .8s ease!important}.header-license-container:hover:before{left:100%!important}.license-plate{font-size:1.5rem!important;font-weight:700!important;color:#333!important;text-align:center!important;min-width:120px!important}.license-change-btn{background:#ffffff4d!important;border:1px solid rgba(255,255,255,.5)!important;border-radius:12px!important;padding:.5rem!important;cursor:pointer!important;transition:all .3s ease!important;display:flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;backdrop-filter:blur(15px)!important;-webkit-backdrop-filter:blur(15px)!important;box-shadow:0 4px 16px #1f268733,inset 0 1px #fff3!important;position:relative!important;overflow:hidden!important}.license-change-btn:before{content:""!important;position:absolute!important;top:0!important;left:-100%!important;width:100%!important;height:100%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)!important;transition:left .4s ease!important}.license-change-btn:hover:before{left:100%!important}.license-change-btn:hover{background:#ffffff80!important;transform:scale(1.05)!important;box-shadow:0 6px 20px #1f26874d,inset 0 1px #ffffff4d!important;border-color:#ffffffb3!important}.license-change-btn svg{width:18px!important;height:18px!important;color:#333!important}.header-weather-section{display:flex!important;align-items:flex-end!important;justify-content:center!important;flex-shrink:0!important;position:relative!important;z-index:3!important;margin:0!important;padding:0!important;align-self:flex-end!important;height:100%!important}.weather-info{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:.4rem!important;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;min-width:90px!important;margin:0!important}.weather-item{display:flex!important;align-items:center!important;gap:.4rem!important;color:#333!important;font-size:.75rem!important;font-weight:500!important;white-space:nowrap!important;margin:0!important;padding-bottom:0!important}.weather-icon{position:relative!important;flex-shrink:0!important;width:14px!important;height:14px!important;text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important}.weather-icon:before{content:""!important;position:absolute!important;width:100%!important;height:100%!important;border:1px solid #333!important;background:transparent!important}.weather-item:nth-child(1) .weather-icon:before{border-radius:6px 6px 0 0!important;border-bottom:none!important;height:10px!important;top:2px!important}.weather-item:nth-child(1) .weather-icon:after{content:""!important;position:absolute!important;width:3px!important;height:3px!important;border:1px solid #333!important;border-radius:50%!important;background:transparent!important;bottom:0!important;left:50%!important;transform:translate(-50%)!important}.weather-item:nth-child(2) .weather-icon:before{border-radius:50% 0 50% 50%!important;transform:rotate(-45deg)!important;width:10px!important;height:10px!important;top:2px!important;left:2px!important}.weather-item:nth-child(3) .weather-icon:before{border-radius:8px!important;width:10px!important;height:6px!important;top:4px!important;left:2px!important}.weather-item:nth-child(3) .weather-icon:after{content:""!important;position:absolute!important;width:6px!important;height:4px!important;border:1px solid #333!important;border-radius:6px!important;background:transparent!important;top:6px!important;left:4px!important}.weather-value{text-align:left!important;min-width:35px!important;font-weight:600!important}.weather-loading,.weather-error{font-size:.875rem!important;font-weight:500!important;color:#666!important;text-align:center!important;padding:.5rem!important}.weather-error{color:#dc3545!important}.language-menu-portal{position:absolute!important;background:#fffffff2!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:12px!important;box-shadow:0 20px 60px #1f268766,0 8px 32px #ffffff1a,inset 0 1px #fff3!important;padding:.25rem 0!important;min-width:120px!important;z-index:2147483647!important;backdrop-filter:blur(25px)!important;-webkit-backdrop-filter:blur(25px)!important;max-height:250px!important;overflow-y:auto!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important;transform:translateZ(0)!important;will-change:transform!important;isolation:isolate!important;contain:layout style paint!important;transform-style:preserve-3d!important;perspective:1000px!important}body .language-menu-portal,* .language-menu-portal,.language-menu-portal{z-index:2147483647!important;position:absolute!important;isolation:isolate!important;transform:translateZ(0)!important;will-change:transform!important;contain:layout style paint!important;transform-style:preserve-3d!important;perspective:1000px!important}html body .header-language-section .language-selector .language-menu-portal,html body .language-menu-portal,html .language-menu-portal{z-index:2147483647!important;position:absolute!important;isolation:isolate!important;transform:translateZ(0)!important;will-change:transform!important;contain:layout style paint!important;transform-style:preserve-3d!important;perspective:1000px!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important}.header-license-section,.header-weather-section,.header-middle-row,.header-bottom-row{z-index:1!important}.header-language-section{z-index:2147483647!important;position:relative!important}.language-option{display:flex!important;align-items:center!important;gap:.5rem!important;padding:.4rem .7rem!important;cursor:pointer!important;transition:all .3s ease!important;border:none!important;background:transparent!important;width:100%!important;text-align:left!important;color:#333!important;font-size:.8rem!important;font-weight:500!important;position:relative!important;overflow:hidden!important}.language-option:before{content:""!important;position:absolute!important;top:0!important;left:-100%!important;width:100%!important;height:100%!important;background:linear-gradient(90deg,transparent,rgba(139,92,246,.05),transparent)!important;transition:left .3s ease!important}.language-option:hover:before{left:100%!important}.language-option:hover{background:#8b5cf61a!important;color:#8b5cf6!important;transform:translate(4px)!important}.language-option.active{background:#8b5cf626!important;color:#8b5cf6!important;font-weight:600!important;box-shadow:inset 0 1px #8b5cf61a!important}.language-option .flag{font-size:1rem!important;flex-shrink:0!important}.language-option .name{flex:1!important;text-align:left!important}@media (max-width: 768px){.header-content{padding:.75rem!important}.header-top-row{margin-bottom:.75rem!important}.header-app-name h1{font-size:2rem!important}.header-bottom-row{flex-direction:column!important;gap:1rem!important;align-items:center!important}.header-license-section{max-width:100%!important}.header-weather-section{align-self:center!important}.weather-info{flex-direction:row!important;flex-wrap:wrap!important;justify-content:center!important;min-width:200px!important}}@media (max-width: 480px){.header-content{padding:.5rem!important}.header-app-name h1{font-size:1.8rem!important}.language-btn{min-width:60px!important;padding:.3rem .5rem!important;font-size:.75rem!important}.weather-info{min-width:180px!important;padding:.75rem!important}.weather-item{font-size:.8rem!important}}.app-main{margin:0;padding:0}.admin-login-container{max-height:none!important;overflow:visible!important}body:has(.admin-login-container){min-height:auto!important;height:fit-content!important}body .admin-login-container{min-height:auto!important;height:fit-content!important}#root:has(.admin-login-container),#root .admin-login-container,.app:has(.admin-login-container),.app .admin-login-container{min-height:auto!important;height:fit-content!important;flex:none!important;align-self:flex-start!important}.session-status-indicator{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1;border-radius:16px;padding:1.5rem;margin:1rem 0;box-shadow:0 4px 6px -1px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.session-info h4{margin:0 0 .5rem;color:#1e293b;font-size:1.1rem;font-weight:600}.session-info p{margin:.25rem 0;color:#475569;font-size:.9rem}.status-reserved{color:#f59e0b;font-weight:600}.status-occupied{color:#10b981;font-weight:600}.session-actions{display:flex;gap:.75rem;flex-wrap:wrap}.park-car-btn,.cancel-session-btn,.complete-session-btn{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.park-car-btn{background:#10b981;color:#fff}.park-car-btn:hover{background:#059669;transform:translateY(-1px)}.cancel-session-btn{background:#ef4444;color:#fff}.cancel-session-btn:hover{background:#dc2626;transform:translateY(-1px)}.complete-session-btn{background:#3b82f6;color:#fff}.complete-session-btn:hover{background:#2563eb;transform:translateY(-1px)}.session-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fef3c7;color:#92400e;border-radius:8px;font-size:.9rem;font-weight:500;border:1px solid #fbbf24;margin-top:.5rem}.license-plate-modal{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:linear-gradient(135deg,#1e3a8a,#3b82f6,#60a5fa,#93c5fd,#dbeafe)!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10000!important;animation:fadeIn .4s cubic-bezier(.4,0,.2,1)!important;padding:.5rem!important;box-sizing:border-box!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.license-plate-content{background:linear-gradient(145deg,#fff,#f8fafc);padding:3rem;border-radius:24px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff1a,inset 0 1px #fffc;max-width:480px;width:100%;text-align:center;animation:slideInUp .5s cubic-bezier(.4,0,.2,1);box-sizing:border-box;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.2);margin:0 auto}.license-plate-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);border-radius:24px 24px 0 0}.modal-header{margin-bottom:2rem}.modal-title{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.75rem;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.025em}.modal-description{font-size:1.1rem;color:#64748b;font-weight:400;line-height:1.5}.input-group{margin-bottom:2rem}.input-wrapper{position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-wrapper.focused{transform:translateY(-2px)}.input-wrapper.error .license-plate-input{border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a}.error-message{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;color:#ef4444;font-size:.875rem;font-weight:500;text-align:left;padding:.5rem 1rem;background:#ef44441a;border-radius:8px;border:1px solid rgba(239,68,68,.2)}.license-plate-input{width:100%;padding:1.25rem 1.5rem;border:2px solid #e2e8f0;border-radius:16px;font-size:1.25rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:500;background:#fff;color:#1e293b;box-shadow:0 1px 3px #0000001a}.license-plate-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a,0 4px 12px #667eea26}.license-plate-input::placeholder{color:#94a3b8;font-size:1.1rem;font-weight:400}.button-group{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.license-plate-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1.25rem 2.5rem;border-radius:16px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;min-height:56px;position:relative;overflow:hidden;box-shadow:0 8px 25px #667eea4d}.license-plate-submit:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.license-plate-submit:hover:before{left:100%}.license-plate-submit:hover{background:linear-gradient(135deg,#5a6fd8,#6a5acd);transform:translateY(-3px);box-shadow:0 12px 35px #667eea66}.license-plate-submit:active{transform:translateY(-1px)}.license-plate-submit:disabled{background:linear-gradient(135deg,#cbd5e1,#94a3b8);cursor:not-allowed;transform:none;box-shadow:0 4px 12px #94a3b84d}.change-plate-btn{background:transparent;color:#64748b;border:2px solid #e2e8f0;padding:.875rem 2rem;border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;background:#fff}.change-plate-btn:hover{border-color:#cbd5e1;background:#f8fafc;color:#475569;transform:translateY(-1px)}.loading-text{display:flex;align-items:center;justify-content:center;gap:.5rem}.loading-dots:after{content:"";animation:loadingDots 1.5s infinite}@keyframes loadingDots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.info-text{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;color:#64748b;font-size:.9rem;width:100%;text-align:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:0 0 16px 16px;padding:1.5rem;box-sizing:border-box}.info-text p{margin:.5rem 0;text-align:center;word-wrap:break-word;overflow-wrap:break-word;line-height:1.5;font-weight:500;color:#64748b}@media (max-width: 768px){.license-plate-content{padding:2rem 1.5rem;margin:1rem;border-radius:20px}.modal-title{font-size:1.75rem}.modal-description{font-size:1rem}.license-plate-input{padding:1rem 1.25rem;font-size:1.1rem}.license-plate-submit{padding:1rem 2rem;font-size:1rem;min-height:48px}.change-plate-btn{padding:.75rem 1.5rem}}@media (max-width: 480px){.license-plate-content{padding:1.5rem 1rem;margin:.5rem;border-radius:16px}.modal-title{font-size:1.5rem}.license-plate-input{padding:.875rem 1rem;font-size:1rem}.license-plate-submit{padding:.875rem 1.5rem;font-size:.95rem;min-height:44px}.error-message{font-size:.8rem;padding:.375rem .75rem}.info-text{margin-top:1.5rem;padding:1rem;font-size:.8rem}.info-text p{margin:.25rem 0;line-height:1.4}}.reservation-modal{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:#00000080!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10000!important;animation:fadeIn .3s ease!important;box-sizing:border-box!important;margin:0!important;padding:0!important}.reservation-content{background:#fff!important;color:#2c3e50!important;padding:2rem!important;border-radius:16px!important;box-shadow:0 12px 40px #0003!important;max-width:500px!important;width:90%!important;text-align:center!important;animation:slideInUp .3s ease!important;position:relative!important;border:1px solid #e0e0e0!important;box-sizing:border-box!important;margin:0!important;overflow:visible!important}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.reservation-actions{display:flex;gap:1rem;margin-top:2rem;justify-content:center;flex-wrap:wrap}.reservation-btn{padding:1rem 2rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:140px;font-family:Roboto,sans-serif}.reservation-btn.primary{background:#667eea;color:#fff;box-shadow:0 4px 12px #667eea4d}.reservation-btn.primary:hover{background:#5a6fd8;transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.reservation-btn.secondary{background:#95a5a6;color:#fff;box-shadow:0 4px 12px #95a5a64d}.reservation-btn.secondary:hover{background:#7f8c8d;transform:translateY(-2px);box-shadow:0 6px 20px #95a5a666}.reservation-btn:active{transform:translateY(0)}.reservation-btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.reservation-btn:disabled:hover{background:#ccc;transform:none;box-shadow:none}.close-btn{position:absolute!important;top:1rem!important;right:1rem!important;background:#34495e!important;border:none!important;font-size:1.2rem!important;cursor:pointer!important;color:#fff!important;transition:all .3s ease!important;width:36px!important;height:36px!important;border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:700!important;z-index:10001!important}.close-btn:hover{background:#2c3e50;transform:scale(1.1);box-shadow:0 4px 12px #34495e4d}.input-group{margin:2rem 0;width:100%;position:relative}.button-group{display:flex;gap:1rem;margin-top:2rem;justify-content:center;flex-wrap:wrap;width:100%}.button-group .reservation-btn.secondary{background:linear-gradient(135deg,#64748b,#475569);color:#fff;border:none;padding:1.25rem 2rem;border-radius:16px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:160px;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;min-height:56px;box-shadow:0 6px 20px #64748b4d}.button-group .reservation-btn.secondary:hover{background:linear-gradient(135deg,#475569,#334155);transform:translateY(-3px);box-shadow:0 10px 30px #64748b66}.button-group .reservation-btn.secondary:active{transform:translateY(-1px)}.modal-title{font-size:2.5rem!important;font-weight:800!important;margin-bottom:1.5rem!important;background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center!important;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif!important;display:block!important;width:100%!important;line-height:1.2;letter-spacing:-.025em}.modal-description{color:#64748b;margin-bottom:2rem;line-height:1.6;text-align:center;font-size:1.2rem;font-weight:500;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.license-plate-content{margin:.5rem;padding:2rem 1.5rem;max-width:calc(100% - 1rem);border-radius:20px;width:calc(100% - 1rem);box-sizing:border-box}.modal-title{font-size:2rem!important;margin-bottom:1.25rem!important}.modal-description{font-size:1.1rem;margin-bottom:1.5rem}.license-plate-input{padding:1rem 1.25rem;font-size:1.1rem;margin:1.25rem 0}.button-group{flex-direction:column;align-items:stretch;gap:.75rem}.button-group .reservation-btn.secondary,.license-plate-submit{width:100%;min-width:auto;padding:1rem 1.5rem}.info-text{margin:0;padding:1.5rem;border-radius:0 0 20px 20px;width:100%;box-sizing:border-box}}@media (max-width: 480px){.license-plate-content{padding:1.5rem 1rem;border-radius:16px}.modal-title{font-size:1.75rem!important}.modal-description{font-size:1rem}.license-plate-input{font-size:1rem;padding:.875rem 1rem}.license-plate-submit,.button-group .reservation-btn.secondary{padding:.875rem 1.25rem;font-size:1rem;min-height:48px}}.space-details{background:#f8f9fa;padding:1.5rem;border-radius:12px;margin:1.5rem 0;text-align:left;border:1px solid #e9ecef}.space-detail-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 0;border-bottom:1px solid #e9ecef}.space-detail-item:last-child{border-bottom:none;margin-bottom:0}.space-detail-label{font-weight:600;color:#2c3e50;font-size:1rem}.space-detail-value{color:#495057;font-weight:500;font-size:1rem}.status-indicator{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:.5rem;border:2px solid white;box-shadow:0 1px 3px #0003}.parking-status-popup{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 8px 32px #00000026;max-width:400px;margin:1rem auto;text-align:center}.parking-status-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:#2c3e50}.parking-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.parking-status-item{background:#f8f9fa;border-radius:8px;padding:1rem;border:1px solid #e0e0e0;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;color:#2c3e50}.parking-status-item.available{border-color:#51cf66;background:#f0fff4}.parking-status-item.occupied{border-color:#ff6b6b;background:#fff5f5}.parking-status-item.reserved{border-color:#ffd93d;background:#fffbf0}.parking-status-item.location{border-color:#3498db;background:#f0f8ff}.status-vacant,.status-available{background:#51cf66}.status-occupied{background:#ff6b6b}.status-reserved{background:#ffd93d}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.error-message{background:#fff5f5;border:1px solid #fed7d7;color:#c53030;padding:1rem;border-radius:8px;margin:1rem 0;text-align:center}.success-message{background:#f0fff4;border:1px solid #c6f6d5;color:#2f855a;padding:1rem;border-radius:8px;margin:1rem 0;text-align:center}.map-reservation-modal{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:#00000080!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10000!important;animation:fadeIn .3s ease!important}.map-reservation-modal .reservation-content{background:#fff;color:#2c3e50;max-width:450px;width:90%}.map-reservation-modal .space-details{background:#f8f9fa;color:#2c3e50}.map-reservation-modal .space-detail-label{color:#2c3e50}.map-reservation-modal .space-detail-value{color:#495057}.map-reservation-modal .modal-title{color:#2c3e50}.map-reservation-modal .status-indicator{border:2px solid white}.custom-alert-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .3s ease}.custom-alert{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 12px 40px #00000040;max-width:400px;width:90%;text-align:center;animation:slideInUp .3s ease;border:1px solid #e0e0e0}.custom-alert-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:#2c3e50;font-family:Roboto,sans-serif}.custom-alert-message{color:#495057;margin-bottom:2rem;line-height:1.6;font-size:1rem}.custom-alert-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.custom-alert-btn{padding:.875rem 1.75rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px;font-family:Roboto,sans-serif}.custom-alert-btn.primary{background:#667eea;color:#fff;box-shadow:0 4px 12px #667eea4d}.custom-alert-btn.primary:hover{background:#5a6fd8;transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.custom-alert-btn.secondary{background:#95a5a6;color:#fff;box-shadow:0 4px 12px #95a5a64d}.custom-alert-btn.secondary:hover{background:#7f8c8d;transform:translateY(-2px);box-shadow:0 6px 20px #95a5a666}.custom-alert-btn:active{transform:translateY(0)}@media (max-width: 768px){.license-plate-content,.reservation-content,.custom-alert{margin:1rem;padding:1.5rem}.reservation-actions,.custom-alert-actions{flex-direction:column;align-items:stretch}.reservation-btn,.custom-alert-btn{width:100%}.map-reservation-modal .reservation-content{max-width:90%;margin:.5rem;padding:1rem}.custom-alert{max-width:90%;margin:1rem}}.dashboard-content,.overview-tab,.sensors-tab,.spaces-tab,.usage-tab,.reservations-tab{width:100%;overflow:hidden}.overview-tab h2,.sensors-tab h2,.spaces-tab h2,.usage-tab h2,.reservations-tab h2{color:#333;font-size:1.8rem;margin-bottom:2rem;text-align:center;word-wrap:break-word}.tab-header{margin-bottom:2rem}.tab-header h2{color:#333;font-size:1.8rem;margin-bottom:1rem;text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;width:100%;overflow:hidden}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:12px;text-align:center;box-shadow:0 4px 20px #667eea4d;overflow:hidden}.stat-card h3{font-size:1rem;margin-bottom:.5rem;opacity:.9}.stat-number{font-size:2rem;font-weight:700;margin-bottom:.5rem}.sensor-actions button{background:#dc3545;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:background .3s ease;font-weight:600}.space-card h3{color:#333;font-size:1.3rem;margin-bottom:1rem;word-wrap:break-word}.space-card p{color:#666;margin-bottom:.5rem;word-wrap:break-word}.usage-tab .filter-section{margin-bottom:2rem;display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;text-align:left!important}.usage-tab .filter-section input{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;min-width:200px}.usage-table{width:100%;overflow-x:auto;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.usage-table table{width:100%;border-collapse:collapse;overflow:hidden}.usage-table th,.usage-table td{padding:1rem;text-align:left;border-bottom:1px solid #e0e0e0;word-wrap:break-word}.usage-table th{background:#f8f9fa;font-weight:600;color:#333}.usage-table td{color:#666}.reservation-card h3{color:#333;font-size:1.3rem;margin-bottom:1rem;word-wrap:break-word}.reservation-card p{color:#666;margin-bottom:.5rem;word-wrap:break-word}.status{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;white-space:nowrap}@media (max-width: 768px){.stats-grid,.sensors-grid,.spaces-grid,.reservations-grid{grid-template-columns:1fr;gap:1rem}.dashboard-header{flex-direction:column;align-items:stretch;gap:1rem}.dashboard-tabs{flex-direction:column;gap:.5rem}.tab{flex:none;width:100%;border-radius:8px}.usage-table{font-size:.9rem}.usage-table th,.usage-table td{padding:.75rem .5rem}}.parking-map{position:relative;width:100%;height:100%}.map-container{width:100%;height:100%;min-height:500px}.map-toggle-transparent{background:#ffffffe6;border:1px solid #ddd;border-radius:8px;padding:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.map-toggle-transparent:hover{background:#fff;box-shadow:0 4px 12px #00000026}.map-legend-controls{position:absolute;top:20px;right:80px;z-index:1000}.legend-btn{background:#ffffffe6;border:1px solid #ddd;border-radius:8px;padding:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.legend-btn:hover{background:#fff;box-shadow:0 4px 12px #00000026}.map-legend{position:absolute;top:80px;right:20px;background:#fffffff2;border:1px solid #ddd;border-radius:12px;padding:20px;box-shadow:0 4px 16px #00000026;z-index:1000;min-width:250px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.legend-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.legend-header h4{margin:0;color:#333;font-size:1.1rem;font-weight:600}.legend-close-btn{background:none;border:none;cursor:pointer;padding:5px;border-radius:4px;transition:background-color .2s ease}.legend-close-btn:hover{background-color:#f0f0f0}.legend-item{display:flex;align-items:center;gap:12px;margin-bottom:15px;padding:8px;border-radius:6px;transition:background-color .2s ease}.legend-item:hover{background-color:#f8f9fa}.legend-indicator{width:20px;height:20px;border-radius:4px;border:2px solid #333}.legend-indicator.vacant{background-color:#0f0}.legend-indicator.occupied{background-color:red}.legend-indicator.reserved{background-color:orange}.legend-indicator.user-location{background-color:#4285f4;border-radius:50%}.legend-indicator.street-count{background-color:transparent;border:2px solid #000;color:#000;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.street-count-label{pointer-events:none}.street-count-label .leaflet-div-icon{background:transparent;border:none}.street-count-tooltip{background:#000c;color:#fff;border:none;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:500;box-shadow:0 2px 8px #0000004d}.street-count-tooltip:before{border-top-color:#000c}.parking-marker .leaflet-div-icon,.user-location-marker .leaflet-div-icon{background:transparent;border:none}@media (max-width: 768px){.map-toggle-overlay,.map-legend-controls{top:10px;right:10px}.map-legend{top:70px;right:10px;left:10px;min-width:auto}.map-container{min-height:400px}}.street-search-container{margin-bottom:2rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.street-search-input{width:100%;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.street-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.street-search-info{margin-top:.75rem;color:#666;font-size:.9rem;text-align:center;font-weight:500}.street-suggestions{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.suggestions-label{display:block;color:#666;font-size:.85rem;margin-bottom:.5rem;font-weight:500}.street-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.street-tag{background:#f8f9fa;border:1px solid #e0e0e0;color:#666;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;cursor:pointer;transition:all .3s ease;font-weight:500}.street-tag:hover{background:#e9ecef;border-color:#adb5bd;color:#495057;transform:translateY(-1px)}.street-tag.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.street-tag.active:hover{background:#2563eb;border-color:#2563eb}@media (max-width: 768px){.street-search-container{margin-bottom:1.5rem;padding:.75rem}.street-search-input{padding:.75rem;font-size:.9rem}.street-search-info{margin-top:.5rem;font-size:.8rem}.street-suggestions{margin-top:.75rem;padding-top:.75rem}.street-tags{gap:.4rem}.street-tag{padding:.4rem .8rem;font-size:.75rem}}@media (max-width: 480px){.street-search-container{margin-bottom:1rem;padding:.5rem}.street-search-input{padding:.5rem;font-size:.85rem}.street-search-info{margin-top:.5rem;font-size:.75rem}.street-suggestions{margin-top:.5rem;padding-top:.5rem}.suggestions-label{font-size:.8rem;margin-bottom:.4rem}.street-tags{gap:.3rem;justify-content:flex-start}.street-tag{padding:.3rem .6rem;font-size:.7rem}}.sensors-tab .tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.add-sensor-btn{background:#10b981;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.add-sensor-btn:hover{background:#059669;transform:translateY(-1px)}.sensor-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.sensor-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.sensor-info h3{color:#333;font-size:1.3rem;margin-bottom:1rem;word-wrap:break-word}.sensor-info p{color:#666;margin-bottom:.5rem;word-wrap:break-word}.sensor-actions{margin-top:1rem;display:flex;gap:.75rem}.sensor-actions .edit-btn{background:#3b82f6;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background .3s ease}.sensor-actions .edit-btn:hover{background:#2563eb}.sensor-actions .delete-btn{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background .3s ease}.sensor-actions .delete-btn:hover{background:#dc2626}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.sensor-form-modal{max-width:500px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;color:#333;font-size:1.5rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s ease}.modal-close:hover{background:#f3f4f6}.modal-body{padding:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:600;font-size:.9rem}.form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.coordinates-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.coordinate-input label{font-size:.8rem;color:#666;margin-bottom:.25rem}.coordinate-info{margin-top:.5rem;color:#666;font-style:italic}.coordinate-help{margin:.5rem 0;text-align:center}.btn-secondary.small{padding:.5rem 1rem;font-size:.875rem;background:#6b7280;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background .3s ease}.btn-secondary.small:hover{background:#4b5563}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;min-height:300px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3B82F6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;min-height:300px}.error-container h2{color:#ef4444;margin-bottom:1rem}.error-container p{color:#6b7280;margin-bottom:2rem}.admin-user-info{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid #e0e0e0}.btn-secondary{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:background .3s ease}.btn-secondary:hover{background:#4b5563}.btn-primary{background:#10b981;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:background .3s ease}.btn-primary:hover{background:#059669}@media (max-width: 768px){.sensors-tab .tab-header{flex-direction:column;gap:1rem;align-items:stretch}.add-sensor-btn{width:100%}.sensor-actions{flex-direction:column}.coordinates-inputs{grid-template-columns:1fr}.modal-content{width:95%;margin:1rem}}.language-menu-portal,body .language-menu-portal{z-index:2147483647!important;position:absolute!important;isolation:isolate!important;transform:translateZ(0)!important;will-change:transform!important;contain:layout style paint!important;transform-style:preserve-3d!important;perspective:1000px!important}* .language-menu-portal{z-index:2147483647!important;position:absolute!important}html body .language-menu-portal,html .language-menu-portal,body .language-menu-portal,.language-menu-portal{z-index:2147483647!important;position:absolute!important;isolation:isolate!important;transform:translateZ(0)!important;will-change:transform!important;contain:layout style paint!important;transform-style:preserve-3d!important;perspective:1000px!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important}*:not(.language-menu-portal){z-index:auto!important}.admin-login-container{display:flex;justify-content:center;align-items:center;min-height:auto!important;height:fit-content!important;padding:2rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);flex:none;align-self:flex-start}@media (max-width: 768px){.admin-login-container{padding:1rem .5rem}.admin-login-card{padding:1.5rem;max-width:350px}}@media (max-width: 480px){.admin-login-container{padding:.5rem .25rem}.admin-login-card{padding:1rem;max-width:320px}}.admin-login-card{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;padding:2rem;width:100%;max-width:400px}.admin-login-header{text-align:center;margin-bottom:1.5rem}.admin-login-header h2{color:#333;margin-bottom:10px;font-size:28px}.admin-login-header p{color:#666;font-size:14px}.admin-login-form .form-group{margin-bottom:1rem}.admin-login-form label{display:block;margin-bottom:8px;color:#333;font-weight:500}.admin-login-form .input-wrapper{position:relative;display:flex;align-items:center;width:100%}.admin-login-form .input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#999;z-index:2;pointer-events:none;width:16px;height:16px;flex-shrink:0}.admin-login-form input{width:100%;padding:12px 12px 12px 45px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .3s ease;position:relative;z-index:1;box-sizing:border-box}.admin-login-form input:focus{outline:none;border-color:#667eea}.admin-login-form .password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:4px 8px;z-index:2;font-weight:500;transition:color .2s ease}.admin-login-form .form-group{margin-bottom:20px;position:relative}.admin-login-form .form-group:last-of-type{margin-bottom:25px}.admin-login-form .form-group+.form-group{margin-top:20px}.admin-login-form .input-wrapper svg{display:block;width:16px;height:16px;flex-shrink:0}.admin-login-form .form-group:has(.password-toggle) input{padding-right:60px}.admin-login-form .input-icon,.admin-login-form .input-wrapper svg{position:absolute!important;left:15px!important;top:50%!important;transform:translateY(-50%)!important;z-index:10!important;pointer-events:none!important;width:16px!important;height:16px!important;flex-shrink:0!important;display:block!important}.admin-login-form .password-toggle{position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;z-index:10!important;background:none!important;border:none!important;color:#667eea!important;cursor:pointer!important;font-size:14px!important;padding:4px 8px!important;font-weight:500!important;transition:color .2s ease!important}.admin-login-form *{box-sizing:border-box!important}.admin-login-form .input-wrapper{position:relative!important;display:flex!important;align-items:center!important;width:100%!important}.login-button{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease}.login-button:hover:not(:disabled){transform:translateY(-2px)}.login-button:disabled{opacity:.7;cursor:not-allowed}.admin-login-form .error-message{display:flex;align-items:center;gap:8px;background:#fee;color:#c53030;padding:12px;border-radius:8px;margin-bottom:20px;font-size:14px}.admin-login-info{margin-top:30px;padding-top:20px;border-top:1px solid #e1e5e9;text-align:center}.admin-login-info h4{color:#333;margin-bottom:15px;font-size:16px}.credentials-list{display:flex;flex-direction:column;gap:8px}.credential-item{background:#f8f9fa;padding:8px 12px;border-radius:6px;font-family:monospace;font-size:13px;color:#666}.admin-users-tab{padding:20px}.admin-users-tab .tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.add-admin-btn{display:flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-weight:500}.add-admin-btn:hover{background:#059669}.admin-users-list{display:grid;gap:16px}.admin-user-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;display:flex;justify-content:space-between;align-items:center}.user-info h4{margin:0 0 8px;color:#111827}.role-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase}.role-badge.admin{background:#dbeafe;color:#1e40af}.user-email{color:#6b7280;margin:4px 0}.user-status{margin:4px 0;font-size:14px}.user-status .active{color:#059669;font-weight:500}.user-status .inactive{color:#dc2626;font-weight:500}.user-last-login{color:#9ca3af;font-size:12px;margin:4px 0}.user-actions{display:flex;gap:8px}.user-actions .edit-btn{background:#3b82f6;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px}.user-actions .delete-btn{background:#ef4444;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px}.admin-logs-tab{padding:20px}.admin-logs-tab .tab-header{margin-bottom:20px}.admin-logs-tab .tab-header h3{margin:0 0 8px;color:#111827}.admin-logs-tab .tab-header p{color:#6b7280;margin:0}.admin-logs-list{display:grid;gap:16px}.admin-log-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.log-action{display:flex;align-items:center;gap:12px}.action-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase}.action-badge.create{background:#d1fae5;color:#065f46}.action-badge.update{background:#dbeafe;color:#1e40af}.action-badge.delete{background:#fee2e2;color:#991b1b}.action-badge.login{background:#fef3c7;color:#92400e}.action-badge.logout{background:#f3e8ff;color:#7c3aed}.log-table{color:#6b7280;font-size:14px}.log-timestamp{color:#9ca3af;font-size:12px}.log-details{color:#374151}.log-admin{margin:0 0 12px;font-size:14px}.log-changes{margin:12px 0}.log-changes p{margin:0 0 8px;font-weight:500}.log-changes pre{background:#f9fafb;padding:8px;border-radius:4px;font-size:12px;color:#374151;overflow-x:auto}.log-ip{margin:8px 0 0;font-size:12px;color:#9ca3af}.admin-user-form-modal{max-width:500px}.admin-user-form-modal .form-group{margin-bottom:20px}.admin-user-form-modal label{display:block;margin-bottom:8px;font-weight:500;color:#374151}.admin-user-form-modal input,.admin-user-form-modal select{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.admin-user-form-modal input:focus,.admin-user-form-modal select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.admin-user-form-modal input:disabled{background-color:#f9fafb;color:#6b7280}.admin-login-form input::placeholder{color:#999!important;opacity:1!important;padding-left:0!important;margin-left:0!important}.admin-login-form input{text-indent:0!important;padding-left:45px!important}.admin-login-form .input-icon,.admin-login-form .input-wrapper svg{position:absolute!important;left:15px!important;top:50%!important;transform:translateY(-50%)!important;z-index:10!important;pointer-events:none!important;width:16px!important;height:16px!important;flex-shrink:0!important;display:block!important;color:#999!important}.admin-login-form .form-group .input-wrapper .input-icon,.admin-login-form .form-group .input-wrapper svg{position:absolute!important;left:15px!important;top:50%!important;transform:translateY(-50%)!important;z-index:999!important;pointer-events:none!important;width:16px!important;height:16px!important;flex-shrink:0!important;display:block!important;color:#999!important}.admin-login-form .form-group .input-wrapper input{padding-left:45px!important;text-indent:0!important;box-sizing:border-box!important}.admin-login-form .form-group .input-wrapper:has(.password-toggle) input{padding-right:60px!important}.admin-login-container .admin-login-form .form-group .input-wrapper{position:relative!important;display:flex!important;align-items:center!important;width:100%!important}.admin-login-container .admin-login-form .form-group .input-wrapper .input-icon,.admin-login-container .admin-login-form .form-group .input-wrapper svg{position:absolute!important;left:15px!important;top:50%!important;transform:translateY(-50%)!important;z-index:9999!important;pointer-events:none!important;width:16px!important;height:16px!important;flex-shrink:0!important;display:block!important;color:#999!important}.admin-login-container .admin-login-form .form-group .input-wrapper input{width:100%!important;padding:12px 12px 12px 45px!important;border:2px solid #e1e5e9!important;border-radius:8px!important;font-size:16px!important;transition:border-color .3s ease!important;position:relative!important;z-index:1!important;box-sizing:border-box!important;text-indent:0!important}.admin-login-container .admin-login-form .form-group .input-wrapper .password-toggle{position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;z-index:9999!important;background:none!important;border:none!important;color:#667eea!important;cursor:pointer!important;font-size:14px!important;padding:4px 8px!important;font-weight:500!important;transition:color .2s ease!important}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;overflow-x:hidden;width:100%}body{font-family:Roboto,sans-serif;line-height:1.6;color:#333;background:#f5f5f5;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;max-width:100vw}.app{min-height:100vh;display:flex;flex-direction:column;width:100%;max-width:100vw;overflow-x:hidden;position:relative}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.d-grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.w-full{width:100%}.w-auto{width:auto}.max-w-full{max-width:100%}.max-w-screen{max-width:100vw}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.transition{transition:all .15s ease}.transition-all{transition:all .3s ease}.transition-colors{transition:color .15s ease,background-color .15s ease,border-color .15s ease}.transition-transform{transition:transform .15s ease}.hover\:scale-105:hover{transform:scale(1.05)}.hover\:scale-110:hover{transform:scale(1.1)}.hover\:scale-95:hover{transform:scale(.95)}.focus\:outline-none:focus{outline:none}.focus\:ring:focus{box-shadow:0 0 0 3px #667eea1a}.focus\:border-blue-500:focus{border-color:#667eea}@media (max-width: 640px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}}@media (max-width: 768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}}@media (max-width: 1024px){.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}}.app-navigation{background:#fff;padding:0;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;gap:0;position:relative;z-index:1;flex-wrap:wrap;overflow:hidden;width:100%;max-width:100vw;box-sizing:border-box;margin-top:0}.nav-btn{display:flex;align-items:center;gap:.4rem;padding:.6rem 1.5rem;border:none;background:#f8f9fa;color:#666;border-radius:0;cursor:pointer;transition:all .3s ease;font-weight:500;white-space:normal;flex:1;min-width:0;text-align:center;font-size:.85rem;line-height:1.2;max-width:100%;overflow:hidden;word-wrap:break-word;min-height:45px;hyphens:auto;-webkit-hyphens:auto;-ms-hyphens:auto;box-sizing:border-box}.nav-btn:hover{background:#e9ecef;color:#333;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.nav-btn.active{background:#667eea;color:#fff;box-shadow:0 2px 8px #667eea4d;outline:none!important;border:none!important}.nav-btn:focus{outline:none!important;border:none!important}.nav-btn:focus-visible{outline:none!important;border:none!important}.nav-btn:focus-within{outline:none!important;border:none!important}.nav-btn:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}@media (max-width: 768px){.app-navigation{padding:0;gap:0}.nav-btn{font-size:.8rem;padding:.5rem 1rem;min-height:40px;gap:.3rem}.nav-btn svg{width:18px;height:18px}}@media (max-width: 480px){.app-navigation{flex-direction:row;gap:0;padding:0}.nav-btn{font-size:.75rem;padding:.4rem .75rem;min-height:36px;gap:.25rem;flex:1;min-width:0}.nav-btn svg{width:16px;height:16px}}@media (max-width: 360px){.nav-btn{font-size:.7rem;padding:.3rem .5rem;min-height:32px;gap:.2rem}.nav-btn svg{width:14px;height:14px}}@media (max-width: 400px){.nav-btn{font-size:.8rem;padding:.5rem 1rem;min-height:40px}}.app-main{flex:1;padding:0;max-width:100%;margin:0;width:100%;overflow-x:hidden;box-sizing:border-box}.app-main:has(.admin-dashboard:has(.error-container)),.app-main:has(.admin-dashboard:has(.loading-container)){flex:none;align-self:flex-start}.app-main:has(.admin-login-container){flex:none!important;align-self:flex-start!important;height:fit-content!important}.app-main:has(.admin-dashboard.error-state),.app-main:has(.admin-dashboard.loading-state){flex:none;align-self:flex-start}.app-main .admin-login-container{flex:none!important;align-self:flex-start!important;height:fit-content!important}@media (max-width: 768px){.app-main{padding:0}}@media (max-width: 480px){.app-main{padding:0}}.map-view{background:#fff;border-radius:0;overflow:hidden;box-shadow:none;width:100%;max-width:100vw;box-sizing:border-box;min-height:80vh;margin:0;padding:0}@media (max-width: 768px){.map-view{padding:0;min-height:70vh}}@media (max-width: 480px){.map-view{padding:0;min-height:65vh}}.map-container{width:100%;height:100vh;min-height:1200px;border-radius:0;overflow:hidden;box-shadow:none;margin:0;flex:1}.parking-spaces-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:.5rem;width:100%;max-width:100%;box-sizing:border-box}@media (max-width: 768px){.parking-spaces-grid{gap:1rem;padding:.25rem}}@media (max-width: 480px){.parking-spaces-grid{gap:.75rem;padding:.15rem}}.parking-space-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #0000001a;transition:all .3s ease;border:1px solid #e0e0e0}.parking-space-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00000026}.parking-space-card.occupied{border-color:#ff6b6b;background:linear-gradient(135deg,#fff5f5,#ffe8e8)}.parking-space-card.available{border-color:#51cf66;background:linear-gradient(135deg,#f8fff9,#ebfbee)}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-button{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.form-button:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.form-button:active{transform:translateY(0)}.admin-dashboard{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:24px;padding:0;box-shadow:0 25px 50px -12px #0000001a,0 0 0 1px #ffffff1a,inset 0 1px #fffc;margin:0;width:100%;overflow:hidden;box-sizing:border-box;border:1px solid rgba(255,255,255,.2);position:relative;min-height:auto}@media (max-width: 768px){.admin-dashboard{padding:0;border-radius:16px}}@media (max-width: 480px){.admin-dashboard{padding:0;border-radius:12px}}.admin-dashboard:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);border-radius:24px 24px 0 0}.admin-dashboard:has(.error-container),.admin-dashboard:has(.loading-container){height:fit-content!important;min-height:auto!important;padding:0!important;max-height:none!important}.admin-dashboard .error-container,.admin-dashboard .loading-container{margin:0;padding:2rem}.admin-dashboard:has(.error-container),.admin-dashboard:has(.loading-container){flex:none!important;align-self:flex-start!important}.admin-dashboard.error-state,.admin-dashboard.loading-state{flex:none!important;align-self:flex-start!important;height:fit-content!important;min-height:auto!important;padding:0!important;max-height:none!important}.admin-dashboard.error-state .error-container,.admin-dashboard.loading-state .loading-container{max-width:500px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;border:1px solid #e0e0e0}.admin-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;width:100%;overflow:hidden}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;border-radius:12px;text-align:center;box-shadow:0 4px 15px #667eea4d;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #667eea66}.stat-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .6s}.stat-card:hover:before{left:100%}.stat-number{font-size:1.5rem;font-weight:800;margin-bottom:.5rem;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif}.stat-label{font-size:.9rem;opacity:.9;font-weight:600;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif}.dashboard-content{width:100%;overflow:hidden}.overview-tab,.sensors-tab,.spaces-tab,.usage-tab,.reservations-tab{width:100%;overflow:hidden;animation:fadeIn .3s ease}.overview-tab h2,.sensors-tab h2,.spaces-tab h2,.usage-tab h2,.reservations-tab h2{color:#333;font-size:1.8rem;margin-bottom:1rem;text-align:center;word-wrap:break-word;overflow-wrap:break-word}.data-summary{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0}.data-summary h3{margin:0 0 1.5rem;color:#1e293b;font-size:1.5rem;font-weight:600}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.summary-item .label{font-weight:500;color:#64748b}.summary-item .value{font-weight:600;color:#1e293b;font-size:1.1rem}.tab-header{margin:0 0 1rem;text-align:center}.tab-header h2{color:#333;font-size:1.8rem;margin-bottom:1rem;text-align:center;word-wrap:break-word;overflow-wrap:break-word}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1rem;width:100%;overflow:hidden;margin-bottom:1rem}.chart-container{background:linear-gradient(145deg,#fff,#f8fafc);padding:1.5rem;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;box-shadow:0 4px 20px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1)}.chart-container:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0000001f}.chart-container h3{margin-bottom:1rem;color:#1e293b;word-wrap:break-word;overflow-wrap:break-word;text-align:center;font-weight:700;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.1rem}.sensors-tab{width:100%;overflow:hidden}.sensors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;width:100%;overflow:hidden}.sensor-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;overflow:hidden}.sensor-info h3{color:#333;font-size:1.3rem;margin-bottom:1rem;word-wrap:break-word;overflow-wrap:break-word}.sensor-info p{color:#666;margin-bottom:.5rem;word-wrap:break-word;overflow-wrap:break-word}.sensor-actions{margin-top:1rem}.sensor-actions button{background:#dc3545;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:background .3s ease;font-weight:600;width:100%}.sensor-actions button:hover{background:#c82333}.sensor-zone{margin-top:.75rem;padding:.5rem;background:#f8f9fa;border-radius:6px;border-left:3px solid}.sensor-zone .zone-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;color:#fff;font-size:.8rem;font-weight:600;margin-bottom:.25rem}.sensor-zone small{display:block;color:#666;font-size:.75rem;margin-top:.25rem}.spaces-tab{width:100%;overflow:hidden}.spaces-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%;overflow:hidden}.space-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;overflow:hidden}.space-card h3{color:#333;font-size:1.3rem;margin-bottom:1rem;word-wrap:break-word;overflow-wrap:break-word}.space-card p{color:#666;margin-bottom:.5rem;word-wrap:break-word;overflow-wrap:break-word}.usage-tab{width:100%;overflow:hidden;padding:0;margin:0;box-sizing:border-box}.usage-tab .filter-section{margin-bottom:2rem;display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;flex-wrap:wrap;gap:1rem;width:100%!important;box-sizing:border-box!important}.usage-tab .filter-section h2{margin:0!important;color:#333;font-size:1.8rem;font-weight:600;flex-shrink:0!important;display:block!important}.usage-tab .filter-section input{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;min-width:200px;max-width:300px;flex-shrink:0!important;display:block!important;width:auto!important}.usage-table{width:100%;max-width:100%;overflow-x:auto;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid #e0e0e0;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;box-sizing:border-box;margin:0;padding:0}.usage-table::-webkit-scrollbar{height:8px}.usage-table::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.usage-table::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.usage-table::-webkit-scrollbar-thumb:hover{background:#94a3b8}.usage-table table{width:100%;min-width:600px;border-collapse:collapse;table-layout:fixed;margin:0;padding:0}.usage-table th,.usage-table td{padding:1rem;text-align:left;border-bottom:1px solid #e0e0e0;word-wrap:break-word;overflow-wrap:break-word;vertical-align:top}.usage-table th{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0;z-index:10;white-space:nowrap}.usage-table td{color:#666;line-height:1.4}.usage-table th:nth-child(1),.usage-table td:nth-child(1){width:20%;min-width:120px}.usage-table th:nth-child(2),.usage-table td:nth-child(2){width:15%;min-width:80px}.usage-table th:nth-child(3),.usage-table td:nth-child(3){width:25%;min-width:150px}.usage-table th:nth-child(4),.usage-table td:nth-child(4){width:20%;min-width:100px}.usage-table th:nth-child(5),.usage-table td:nth-child(5){width:20%;min-width:80px}.reservations-tab{width:100%;overflow:hidden}.reservations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;width:100%;overflow:hidden}.reservation-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;overflow:hidden}.reservation-card h3{color:#333;font-size:1.3rem;margin-bottom:1rem;word-wrap:break-word;overflow-wrap:break-word}.reservation-card p{color:#666;margin-bottom:.5rem;word-wrap:break-word;overflow-wrap:break-word}.status{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;white-space:nowrap;display:inline-block}.status.vacant,.status.available{background:#e8f5e8;color:#2e7d32}.status.occupied{background:#ffebee;color:#c62828}.status.reserved{background:#fff3e0;color:#ef6c00}.status.active{background:#e3f2fd;color:#1565c0}.status.inactive{background:#f5f5f5;color:#666}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spaces-view{width:100%;max-width:100vw;overflow-x:hidden;padding:.5rem;box-sizing:border-box}@media (max-width: 768px){.spaces-view{padding:.25rem}}@media (max-width: 480px){.spaces-view{padding:.15rem}}.spaces-view h2{margin-bottom:2rem;color:#333;font-size:1.8rem;text-align:center;word-wrap:break-word}.spaces-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%;max-width:100%;overflow-x:hidden;padding:.5rem;box-sizing:border-box}@media (max-width: 768px){.spaces-grid{gap:1rem;padding:.25rem}}@media (max-width: 480px){.spaces-grid{gap:.75rem;padding:.15rem}}.parking-space-card.status-vacant{border-left:4px solid #00FF00}.parking-space-card.status-occupied{border-left:4px solid #FF0000}.parking-space-card.status-reserved{border-left:4px solid #FFA500}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;gap:1rem;flex-wrap:wrap;width:100%;overflow:hidden}.card-header h3{color:#333;font-size:1.3rem;word-wrap:break-word}.header-status{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.session-warning{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#fef3c7;color:#92400e;border-radius:6px;font-size:.75rem;font-weight:500;border:1px solid #fbbf24}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.status-badge.status-vacant{background:#e8f5e8;color:#2e7d32}.status-badge.status-occupied{background:#ffebee;color:#c62828}.status-badge.status-reserved{background:#fff3e0;color:#ef6c00}.card-body{margin-bottom:.5rem;flex:1;display:flex;flex-direction:column;gap:.75rem;width:100%;overflow:hidden}.info-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:0;color:#666;flex-wrap:wrap;min-height:1.5rem;width:100%;overflow:hidden;word-wrap:break-word}.info-row svg{color:#999;flex-shrink:0}.card-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:auto;width:100%}.reserve-btn,.navigate-btn{flex:1;padding:1rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px;min-height:44px;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reserve-btn{background:#667eea;color:#fff}.reserve-btn:hover{background:#5a6fd8}.reserve-btn.disabled{background:#9ca3af;color:#6b7280;cursor:not-allowed;opacity:.6}.reserve-btn.disabled:hover{background:#9ca3af;transform:none}.disabled-reserve-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1}.disabled-message{color:#6b7280;font-size:.75rem;text-align:center;font-style:italic}.navigate-btn{background:#f8f9fa;color:#666;border:1px solid #e0e0e0}.navigate-btn:hover{background:#e9ecef}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin:0;width:100%;overflow:hidden;flex-wrap:wrap;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0}.dashboard-header h1{color:#1e293b;font-size:2.5rem;word-wrap:break-word;overflow-wrap:break-word;font-weight:800;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;letter-spacing:-.025em}.export-btn,.logout-btn,.refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:600;min-height:40px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;position:relative;font-size:.9rem}.export-btn:before,.logout-btn:before,.refresh-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.export-btn:hover:before,.logout-btn:hover:before,.refresh-btn:hover:before{left:100%}.export-btn:focus,.logout-btn:focus,.refresh-btn:focus{outline:none}.refresh-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 6px 20px #3b82f64d}.refresh-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-3px);box-shadow:0 10px 30px #3b82f666}.test-data-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 6px 20px #f59e0b4d}.test-data-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-3px);box-shadow:0 10px 30px #f59e0b66}.export-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 6px 20px #10b9814d}.export-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-3px);box-shadow:0 10px 30px #10b98166}.logout-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 6px 20px #ef44444d}.logout-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-3px);box-shadow:0 10px 30px #ef444466}.dashboard-tabs{display:flex;gap:.5rem;margin:0;border-bottom:2px solid #e2e8f0;padding:.5rem 1.5rem;width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.dashboard-tabs::-webkit-scrollbar{height:4px}.dashboard-tabs::-webkit-scrollbar-track{background:transparent}.dashboard-tabs::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.tab{padding:.75rem 1rem;border:none;background:none;color:#64748b;cursor:pointer;border-radius:16px 16px 0 0;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-height:44px;flex:0 0 auto;min-width:100px;max-width:130px;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;font-size:.85rem;position:relative;display:flex;flex-direction:row;align-items:center;gap:.5rem}.tab:before{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s cubic-bezier(.4,0,.2,1)}.tab:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#334155;transform:translateY(-2px)}.tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 8px 25px #667eea4d}.tab.active:before{transform:scaleX(1)}.tab:focus{outline:none}.tab svg{flex-shrink:0;color:inherit}.tab span{font-size:.85rem;line-height:1;text-align:left}.admin-login{display:flex;justify-content:center;align-items:center;min-height:auto;padding:1rem;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box;background:linear-gradient(135deg,#f8fafc,#e2e8f0);height:fit-content}@media (max-width: 768px){.admin-login{padding:.5rem;min-height:auto}}@media (max-width: 480px){.admin-login{padding:.25rem;min-height:auto}}.login-container{background:linear-gradient(145deg,#fff,#f8fafc);padding:2rem;border-radius:24px;box-shadow:0 25px 50px -12px #00000026,0 0 0 1px #ffffff1a,inset 0 1px #fffc;width:100%;max-width:400px;text-align:center;overflow:hidden;box-sizing:border-box;border:1px solid rgba(255,255,255,.2);position:relative}@media (max-width: 768px){.login-container{padding:1.5rem;border-radius:16px;max-width:400px}}@media (max-width: 480px){.login-container{padding:1rem;border-radius:12px;max-width:350px}}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);border-radius:24px 24px 0 0}.login-header{margin-bottom:1.5rem}.login-header h1{color:#1e293b;font-size:2.5rem;margin-bottom:.75rem;word-wrap:break-word;overflow-wrap:break-word;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:800;background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;letter-spacing:-.025em}.login-header p{color:#64748b;font-size:1.1rem;word-wrap:break-word;overflow-wrap:break-word;line-height:1.6;font-weight:500;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif}.login-icon{color:#667eea;margin-bottom:1.5rem;filter:drop-shadow(0 4px 8px rgba(102,126,234,.3))}.login-form{display:flex;flex-direction:column;gap:1.25rem;width:100%}.form-group{width:100%;text-align:left}.form-group label{display:flex;align-items:center;gap:.75rem;color:#334155;font-weight:600;font-size:.95rem;word-wrap:break-word;margin-bottom:.75rem;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif}.form-group input{padding:1.25rem 1.5rem;border:2px solid #e2e8f0;border-radius:16px;font-size:1rem;width:100%;box-sizing:border-box;min-height:56px;overflow:hidden;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;color:#1e293b;box-shadow:0 1px 3px #0000001a}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a,0 4px 12px #667eea26;transform:translateY(-2px)}.form-group input:disabled{background:#f8fafc;cursor:not-allowed;opacity:.7}.form-group input::placeholder{color:#94a3b8;font-weight:400}.login-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1.25rem;border-radius:16px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;min-height:56px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;position:relative;box-shadow:0 8px 25px #667eea4d}.login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-btn:hover:before{left:100%}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a5acd);transform:translateY(-3px);box-shadow:0 12px 35px #667eea66}.login-btn:active:not(:disabled){transform:translateY(-1px)}.login-btn:disabled{background:linear-gradient(135deg,#cbd5e1,#94a3b8);cursor:not-allowed;transform:none;box-shadow:0 4px 12px #94a3b84d}.login-footer{border-top:1px solid #e2e8f0;color:#64748b;font-size:.95rem;line-height:1.6;background:linear-gradient(135deg,#f8fafc,#f1f5f9);margin:1.5rem -2rem -2rem;padding:1.5rem 2rem;border-radius:0 0 24px 24px}.login-footer p{margin:.5rem 0;word-wrap:break-word;overflow-wrap:break-word;font-weight:500}.login-footer strong{color:#334155;font-weight:700}.error-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;color:#dc2626;padding:1.25rem;border-radius:16px;margin:1rem 0;text-align:center;font-size:.95rem;font-weight:600;word-wrap:break-word;overflow-wrap:break-word;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;box-shadow:0 4px 12px #dc26261a;border-left:4px solid #dc2626}.app-main{padding:0}.map-view{min-height:70vh}.map-container{height:70vh;min-height:500px;margin:0}.parking-spaces-grid{grid-template-columns:1fr;gap:1rem;padding:0}.parking-space-card{padding:1rem}.card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.card-actions{flex-direction:column;gap:.75rem}.card-actions button{width:100%;padding:.75rem;font-size:.9rem}.complete-btn{background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600}.complete-btn:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.spaces-view{padding:0}.spaces-grid{grid-template-columns:1fr;gap:1rem}.admin-dashboard{padding:0}.dashboard-header{flex-direction:column;gap:1rem;align-items:flex-start}.dashboard-header h1{font-size:1.5rem}.export-btn,.logout-btn,.refresh-btn{width:auto;flex:1;min-width:80px;justify-content:center;padding:.75rem 1rem;font-size:.85rem}.dashboard-tabs{flex-wrap:wrap;gap:.25rem}.tab{flex:1;min-width:80px;padding:.5rem .75rem;font-size:.8rem}.admin-stats,.stats-grid,.charts-section{grid-template-columns:1fr;gap:1rem}.chart-container{padding:1rem}.admin-login{padding:0;min-height:auto}.login-container{padding:2rem 1.5rem;margin:0 .5rem;max-width:calc(100% - 1rem)}.login-header h1{font-size:1.5rem}.form-group input,.login-btn{padding:.75rem;font-size:1rem}@media (min-width: 768px){.app-main{padding:0}.map-container{height:80vh;min-height:600px;margin:0}.parking-spaces-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;padding:0}.parking-space-card{padding:1.5rem}.card-header{flex-direction:row;align-items:flex-start;gap:1rem}.card-actions{flex-direction:row;gap:1rem}.card-actions button{width:auto;padding:1rem;font-size:1rem;flex:1}.complete-btn{background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600}.complete-btn:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.spaces-view{padding:0}.spaces-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.admin-dashboard{padding:0}.dashboard-header{flex-direction:row;gap:2rem;align-items:center}.dashboard-header h1{font-size:2rem}.export-btn,.logout-btn,.refresh-btn{width:auto;justify-content:center}.dashboard-tabs{flex-wrap:nowrap;gap:.5rem}.tab{flex:1;min-width:120px;padding:.75rem 1.5rem;font-size:.9rem}.admin-stats,.stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.charts-section{grid-template-columns:1fr;gap:2rem}.chart-container{padding:1.5rem}.admin-login{padding:0;min-height:60vh}.login-container{padding:3rem;margin:0;max-width:400px}.login-header h1{font-size:2rem}.form-group input,.login-btn{padding:1rem;font-size:1rem}}@media (min-width: 1024px){.app-main{padding:0;max-width:1200px}.map-container{height:85vh;min-height:700px;margin:0}.parking-spaces-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.spaces-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.admin-dashboard{padding:0}.dashboard-header h1{font-size:2.2rem}}@media (min-width: 1440px){.app-main{padding:0;max-width:1400px}.map-container{height:90vh;min-height:800px}.parking-spaces-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2.5rem}.spaces-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2.5rem}.admin-dashboard{padding:0}.dashboard-header h1{font-size:2.5rem}}@media (max-width: 768px) and (orientation: landscape){.map-container{height:75vh;min-height:500px}.app-navigation{padding:.5rem}.nav-btn{padding:.5rem .75rem;font-size:.8rem}.admin-login{min-height:auto;padding:.5rem}}@media (hover: none) and (pointer: coarse){.parking-space-card:hover,.reserve-btn:hover,.navigate-btn:hover{transform:none;box-shadow:inherit}.parking-space-card:active,.reserve-btn:active,.navigate-btn:active{transform:scale(.98)}}@media (max-width: 768px){.admin-dashboard{padding:1rem;margin:0;border-radius:8px}.dashboard-header{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.5rem}.dashboard-header h1{font-size:1.5rem;text-align:center}.export-btn,.logout-btn{padding:.75rem 1rem;font-size:.9rem;min-height:40px}.dashboard-tabs{flex-direction:row;gap:.25rem;margin-bottom:1rem;overflow-x:auto;justify-content:flex-start;padding-bottom:.5rem}.tab{flex:0 0 auto;width:auto;min-width:80px;max-width:100px;border-radius:8px;padding:.5rem;font-size:.7rem;min-height:32px;gap:.3rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.stat-card{padding:.75rem;border-radius:12px}.stat-number{font-size:1.25rem}.charts-section{grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem}.chart-container{padding:.75rem;border-radius:12px}.sensors-grid,.spaces-grid,.reservations-grid{grid-template-columns:1fr;gap:1rem}.sensor-card,.space-card,.reservation-card{padding:1rem}.usage-table{font-size:.9rem;margin:0;border-radius:0;width:100%;max-width:100%}.usage-table table{min-width:500px;width:100%}.usage-table th,.usage-table td{padding:.75rem .5rem;font-size:.85rem}.usage-tab .filter-section{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;text-align:left!important;gap:1rem}.usage-tab .filter-section h2{font-size:1.5rem;margin:0}.usage-tab .filter-section input{min-width:120px;max-width:200px;width:auto;flex-shrink:0}.overview-tab h2,.sensors-tab h2,.spaces-tab h2,.usage-tab h2,.reservations-tab h2{font-size:1.5rem;margin-bottom:1.5rem}.tab-header h2{font-size:1.5rem;margin-bottom:1rem}}@media (min-width: 769px) and (max-width: 1024px){.admin-dashboard{padding:1.5rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.charts-section{grid-template-columns:1fr;gap:1.5rem}.sensors-grid,.spaces-grid,.reservations-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.dashboard-tabs{gap:.75rem}.tab{padding:.875rem 1.25rem;font-size:.95rem}}@media (max-width: 768px){.admin-login{padding:.5rem;min-height:auto}.login-container{padding:1.5rem;margin:0 .5rem;max-width:calc(100% - 1rem);border-radius:12px}.login-header h1{font-size:1.5rem;margin-bottom:.75rem}.login-header p{font-size:.9rem;line-height:1.4}.login-icon{margin-bottom:.75rem}.form-group label{font-size:.85rem;margin-bottom:.5rem}.form-group input,.login-btn{padding:.875rem;font-size:1rem;min-height:44px}.login-footer{margin-top:1.5rem;padding-top:1.25rem;font-size:.85rem}.error-message{padding:.875rem;font-size:.85rem;margin:.75rem 0}}@media (min-width: 769px) and (max-width: 1024px){.admin-login{padding:1.5rem}.login-container{padding:2.5rem;max-width:450px}.login-header h1{font-size:1.75rem}.form-group input,.login-btn{min-height:48px}}@media (max-width: 480px){.admin-dashboard{padding:.75rem}.dashboard-header h1{font-size:1.4rem}.export-btn,.logout-btn,.refresh-btn,.test-data-btn{padding:.5rem .75rem;font-size:.75rem;min-width:70px}.dashboard-tabs{gap:.2rem;margin-bottom:.75rem}.tab{min-width:70px;max-width:85px;padding:.4rem;min-height:28px;font-size:.65rem;gap:.2rem}.tab svg{width:14px;height:14px}.tab span{font-size:.65rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.stat-card{padding:.5rem}.stat-number{font-size:1.1rem}.chart-container{padding:.5rem}.chart-container h3{font-size:.9rem;margin-bottom:.5rem}.usage-table{margin:0;border-radius:0;width:100%;max-width:100%}.usage-table table{min-width:450px;width:100%}.usage-table th,.usage-table td{padding:.5rem .25rem;font-size:.75rem}.usage-tab .filter-section{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;text-align:left!important;gap:.75rem}.usage-tab .filter-section h2{font-size:1.3rem;margin:0}.usage-tab .filter-section input{min-width:100px;max-width:150px;padding:.5rem;font-size:.9rem;width:auto;flex-shrink:0}.data-summary{padding:1.5rem}.summary-grid{grid-template-columns:1fr;gap:.75rem}.summary-item{padding:.75rem}.summary-item .label{font-size:.8rem}.summary-item .value{font-size:1rem}}.map-legend-controls{position:absolute;top:80px;right:20px;z-index:1000}.legend-btn{background:#fffffff2;border:1px solid #ddd;padding:.75rem;border-radius:50%;cursor:pointer;font-size:.9rem;font-weight:500;box-shadow:0 2px 8px #00000026;transition:all .3s ease;white-space:nowrap;height:48px;width:48px;display:flex;align-items:center;justify-content:center;gap:.5rem;overflow:hidden;text-overflow:ellipsis;flex:0 0 48px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.legend-btn svg,.legend-btn span{width:18px;height:18px;color:#333;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;line-height:1}.legend-btn:hover{background:#fff;border-color:#667eea;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.legend-btn:hover svg,.legend-btn:hover span{color:#667eea}.legend-btn:active{transform:translateY(0);box-shadow:0 2px 6px #0000001a}.map-legend{position:absolute;top:80px;right:20px;background:#fffffff2;border-radius:8px;padding:1rem;box-shadow:0 4px 12px #00000026;border:1px solid #e0e0e0;max-width:250px;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.legend-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.legend-header h4{margin:0;color:#333;font-size:1rem;font-weight:600;text-align:left}.legend-close-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;color:#666;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.legend-close-btn:hover{background:#f0f0f0;color:#333}.legend-close-btn:active{transform:scale(.95)}.legend-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;color:#666}.legend-indicator{width:16px;height:16px;border-radius:50%;flex-shrink:0}.legend-indicator.vacant{background:#0f0}.legend-indicator.occupied{background:red}.legend-indicator.reserved{background:orange}.legend-indicator.user-location{background:#4285f4}.legend-indicator.street-count{background:#333;border-radius:12px;width:24px;height:16px}.street-count-marker{background:#333;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:700;border:2px solid white;box-shadow:0 2px 6px #0000004d}.leaflet-routing-container{position:relative}.leaflet-routing-container button[innerHTML=×]{position:absolute!important;top:5px!important;right:5px!important;background:#ffffffe6!important;border:none!important;font-size:20px!important;font-weight:700!important;color:#000!important;cursor:pointer!important;padding:0!important;width:24px!important;height:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:1001!important;border-radius:50%!important;line-height:1!important;box-shadow:0 2px 6px #0003!important;transition:all .2s ease!important}.leaflet-routing-container button[innerHTML=×]:hover{background:#fff!important;transform:scale(1.1)!important;box-shadow:0 3px 8px #0000004d!important}.leaflet-routing-container button[innerHTML=×]:active{transform:scale(.95)!important}.route-close-control{position:absolute;top:10px;right:10px;z-index:1000}.route-close-control button{background:#ffffffe6;border:none;border-radius:50%;width:30px;height:30px;font-size:18px;font-weight:700;color:#000;cursor:pointer;box-shadow:0 2px 6px #0003;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.route-close-control button:hover{background:#fff;transform:scale(1.1);box-shadow:0 3px 8px #0000004d}.route-close-control button:active{transform:scale(.95)}.route-selector{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#fffffff2;border-radius:12px;padding:1rem;box-shadow:0 8px 32px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);z-index:1000;min-width:200px}.leaflet-routing-container{position:relative;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:300px;overflow-y:auto;transition:all .3s ease}.leaflet-routing-container.expanded{max-height:none;overflow:visible}.leaflet-routing-alt{padding:.75rem;border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.leaflet-routing-alt:hover{background-color:#f9fafb}.leaflet-routing-alt:last-child{border-bottom:none}.route-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-weight:600;color:#333;font-size:.9rem}.route-selector-close{background:none;border:none;font-size:18px;font-weight:700;color:#666;cursor:pointer;padding:.25rem;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.route-selector-close:hover{background:#f0f0f0;color:#333}.route-options{display:flex;flex-direction:column;gap:.5rem;align-items:center}.route-labels{display:flex;gap:.5rem;justify-content:center}.route-label{color:#666;font-size:.8rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.route-label:hover{color:#333;background:#f0f0f0}.route-buttons{display:flex;gap:.5rem;justify-content:center}.route-option{background:#3b82f6;border:2px solid #3B82F6;border-radius:50%;width:40px;height:40px;font-size:16px;font-weight:700;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #3b82f64d}.route-option:hover{background:#2563eb;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.route-option.selected{background:#10b981;border-color:#10b981;color:#fff;box-shadow:0 4px 15px #10b98166}.route-option.selected:hover{background:#059669;border-color:#059669;transform:translateY(-2px);box-shadow:0 6px 20px #10b98180}@media (max-width: 768px){.route-selector{bottom:15px;left:15px;right:15px;transform:none;min-width:auto;padding:.75rem}.route-labels{gap:.4rem}.route-label{font-size:.7rem;padding:.2rem .4rem}.route-buttons{gap:.4rem}.route-option{width:36px;height:36px;font-size:14px}}@media (max-width: 480px){.route-selector{bottom:10px;left:10px;right:10px;padding:.5rem}.route-labels{gap:.3rem}.route-label{font-size:.65rem;padding:.15rem .3rem}.route-buttons{gap:.3rem}.route-option{width:32px;height:32px;font-size:13px}}.map-toggle-overlay{position:absolute;top:20px;right:20px;z-index:1000}.map-toggle-transparent{background:#ffffffe6;border:1px solid #ddd;padding:.5rem;cursor:pointer;color:#333;opacity:.9;transition:all .3s ease;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 2px 8px #00000026}.map-toggle-transparent:hover{opacity:1;background:#fff;transform:scale(1.1);box-shadow:0 4px 12px #0003}.map-toggle-transparent:active{transform:scale(.95)}@media (max-width: 768px){.map-toggle-overlay{top:15px;right:15px}.map-toggle-transparent{width:40px;height:40px;padding:.4rem}.map-legend-controls{top:65px;right:15px}.legend-btn{width:40px;height:40px;padding:.5rem}}@media (max-width: 480px){.map-toggle-overlay{top:10px;right:10px}.map-toggle-transparent{width:36px;height:36px;padding:.3rem}.map-legend-controls{top:56px;right:10px}.legend-btn{width:36px;height:36px;padding:.4rem}}.parking-marker,.user-location-marker{background:transparent;border:none;padding:0;margin:0;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.map-legend{top:120px;right:15px;max-width:200px;padding:.75rem}.legend-header h4{font-size:.9rem;margin-bottom:0}.legend-item{font-size:.8rem;margin-bottom:.4rem}.legend-indicator{width:14px;height:14px}.legend-indicator.street-count{width:20px;height:14px}}.zone-management{width:100%;overflow:hidden}.zone-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.zone-header h2{color:#1e293b;font-size:1.8rem;margin:0}.add-zone-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;transition:all .3s ease;font-weight:600;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 15px #10b9814d}.add-zone-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.zone-form-container{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 20px #0000001a;border:1px solid #e2e8f0}.zone-form h3{margin:0 0 1.5rem;color:#1e293b;font-size:1.5rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;display:flex;align-items:center;gap:.5rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.color-input{display:flex;align-items:center;gap:.5rem}.color-input input[type=color]{width:60px;height:40px;padding:0;border:none;border-radius:6px;cursor:pointer}.color-preview{width:40px;height:40px;border-radius:6px;border:2px solid #e5e7eb}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.save-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600}.save-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.cancel-btn{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600}.cancel-btn:hover{background:#4b5563}.zones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.zone-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #0000001a;border:1px solid #e2e8f0;border-left:4px solid;transition:all .3s ease}.zone-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00000026}.zone-card .zone-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.zone-card .zone-header h3{margin:0;color:#1e293b;font-size:1.3rem;font-weight:600}.zone-status .status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status-badge.active{background:#e8f5e8;color:#2e7d32}.status-badge.inactive{background:#ffebee;color:#c62828}.zone-description{color:#6b7280;margin-bottom:1rem;line-height:1.5}.zone-pricing{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.pricing-item{display:flex;align-items:center;gap:.5rem;color:#374151;font-weight:500}.zone-stats{margin-bottom:1rem}.stat{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.9rem}.zone-actions{display:flex;gap:.75rem;flex-wrap:wrap}.edit-btn,.delete-btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-weight:500;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.edit-btn{background:#3b82f6;color:#fff}.edit-btn:hover{background:#2563eb}.delete-btn{background:#ef4444;color:#fff}.delete-btn:hover{background:#dc2626}.admin-management{width:100%;overflow:hidden}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.admin-header h2{color:#1e293b;font-size:1.8rem;margin:0}.add-admin-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;transition:all .3s ease;font-weight:600;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 15px #8b5cf64d}.add-admin-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.admin-form-container,.password-form-container{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 20px #0000001a;border:1px solid #e2e8f0}.admin-form h3,.password-form h3{margin:0 0 1.5rem;color:#1e293b;font-size:1.5rem;font-weight:600}.warning{color:#f59e0b;font-size:.85rem;margin-top:.25rem;display:block}.admins-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.admin-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #0000001a;border:1px solid #e2e8f0;transition:all .3s ease}.admin-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00000026}.admin-card .admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.admin-info h3{margin:0 0 .5rem;color:#1e293b;font-size:1.3rem;font-weight:600}.role-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.role-badge.superadmin{background:#fef3c7;color:#92400e}.role-badge.admin{background:#e0e7ff;color:#3730a3}.admin-details{margin-bottom:1rem}.admin-email,.admin-created,.admin-last-login{display:flex;align-items:center;gap:.5rem;color:#6b7280;margin-bottom:.5rem;font-size:.9rem}.admin-actions{display:flex;gap:.75rem;flex-wrap:wrap}.password-btn{background:#f59e0b;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .3s ease;font-weight:500;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.password-btn:hover{background:#d97706}@media (max-width: 768px){.form-row,.zones-grid,.admins-grid{grid-template-columns:1fr}.zone-header,.admin-header{flex-direction:column;align-items:stretch}.zone-form-container,.admin-form-container,.password-form-container{padding:1.5rem}.zone-actions,.admin-actions{flex-direction:column}.edit-btn,.delete-btn,.password-btn{width:100%;justify-content:center}}
