@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--success-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--warning-gradient: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);--danger-gradient: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--glass-bg: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .2);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .37);--text-primary: #2d3748;--text-secondary: #4a5568;--text-accent: #667eea}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(120,219,255,.3) 0%,transparent 50%);animation:backgroundShift 20s ease-in-out infinite;z-index:-2}@keyframes backgroundShift{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(5deg)}}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20px 30px,rgba(255,255,255,.3),transparent),radial-gradient(2px 2px at 40px 70px,rgba(255,255,255,.2),transparent),radial-gradient(1px 1px at 90px 40px,rgba(255,255,255,.2),transparent),radial-gradient(1px 1px at 130px 80px,rgba(255,255,255,.1),transparent),radial-gradient(2px 2px at 160px 30px,rgba(255,255,255,.2),transparent);background-repeat:repeat;background-size:200px 100px;animation:particleFloat 25s linear infinite;z-index:-1;pointer-events:none}@keyframes particleFloat{0%{transform:translate(0)}to{transform:translate(-200px,-100px)}}#root{max-width:100%;width:100%;margin:0;text-align:center}.container{max-width:1200px;margin:0 auto;padding:2rem}.header{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);color:#fff;padding:2.5rem;border-radius:24px;margin-bottom:3rem;box-shadow:var(--glass-shadow);position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%{left:-100%}50%{left:100%}to{left:100%}}.header:hover{transform:translateY(-5px);box-shadow:0 16px 48px #0003}.header h1{font-size:3.5rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#f0f0f0,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;animation:glow 2s ease-in-out infinite alternate;letter-spacing:-.02em}@keyframes glow{0%{filter:drop-shadow(0 0 10px rgba(255,255,255,.3));transform:scale(1)}to{filter:drop-shadow(0 0 20px rgba(255,255,255,.5));transform:scale(1.02)}}.header p{font-size:1.3rem;opacity:.9;font-weight:300;line-height:1.6;max-width:80%;margin:0 auto}.form-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:24px;padding:3rem;margin-bottom:3rem;box-shadow:var(--glass-shadow);position:relative;transition:all .3s ease}.form-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient);border-radius:24px 24px 0 0}.form-container:hover{transform:translateY(-2px);box-shadow:0 20px 60px #00000026}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;text-align:left}.form-group label{color:#fff;font-weight:600;margin-bottom:.8rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;display:block;position:relative}.form-group label:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--success-gradient);transition:width .3s ease}.form-group:focus-within label:after{width:100%}.form-group input{width:100%;padding:1rem 1.2rem;border:2px solid rgba(255,255,255,.2);border-radius:12px;font-size:1rem;font-weight:500;background:#ffffff1a;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.form-group input::placeholder{color:#fff9;font-weight:400}.form-group input:focus{outline:none;border-color:#fff9;background:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 25px #00000026,0 0 0 1px #ffffff1a,inset 0 1px #ffffff1a}.form-group input:hover{border-color:#fff6;transform:translateY(-1px)}.btn{background:var(--primary-gradient);color:#fff;border:none;padding:1.2rem 2.5rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin:.5rem;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.5px;min-width:200px}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 15px 35px #667eea66,0 5px 15px #0000001a}.btn:active{transform:translateY(-1px) scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn:disabled:hover:before{left:-100%}.results-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.map-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;padding:1.5rem;box-shadow:var(--glass-shadow);height:550px;position:relative;overflow-y:auto;overflow-x:hidden;transition:all .3s ease}.map-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--success-gradient);border-radius:20px 20px 0 0}.map-container:hover{transform:translateY(-5px);box-shadow:0 20px 60px #0003}.logs-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;padding:1.5rem;box-shadow:var(--glass-shadow);max-height:550px;overflow-y:auto;position:relative;transition:all .3s ease}.logs-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--warning-gradient);border-radius:20px 20px 0 0}.logs-container:hover{transform:translateY(-5px);box-shadow:0 20px 60px #0003}.logs-container::-webkit-scrollbar,.map-container::-webkit-scrollbar{width:8px}.logs-container::-webkit-scrollbar-track,.map-container::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.logs-container::-webkit-scrollbar-thumb,.map-container::-webkit-scrollbar-thumb{background:var(--primary-gradient);border-radius:4px}.logs-container::-webkit-scrollbar-thumb:hover,.map-container::-webkit-scrollbar-thumb:hover{background:var(--secondary-gradient)}.eld-log{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;margin-bottom:1rem;text-align:left}.eld-log h4{color:#333;margin-bottom:.5rem}.eld-log-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.5rem 0;font-size:.9rem}.duty-hours{background:#e3f2fd;padding:.5rem;border-radius:4px;text-align:center}.compliance-status{padding:.5rem;border-radius:4px;font-weight:600;margin-top:.5rem}.compliance-status.compliant{background:#e8f5e8;color:#2e7d32}.compliance-status.non-compliant{background:#ffebee;color:#c62828}.loading{text-align:center;padding:4rem 2rem;color:#fff;font-size:1.3rem;position:relative}.loading:before{content:"";position:absolute;top:50%;left:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border:4px solid rgba(255,255,255,.2);border-top:4px solid #fff;border-radius:50%;animation:spin 1s linear infinite}.loading p{margin-top:80px;font-weight:500;animation:pulse 2s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.error{background:linear-gradient(135deg,#ff6b6b1a,#ff3d3d1a);border:1px solid rgba(255,107,107,.3);color:#fff;padding:1.5rem;border-radius:12px;margin:1rem 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;animation:errorSlideIn .3s ease-out}.error:before{content:"⚠️";position:absolute;top:1rem;left:1rem;font-size:1.5rem}.error strong{margin-left:2rem;display:block;margin-bottom:.5rem}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.leaflet-container{height:100%;border-radius:8px}@media (max-width: 768px){.results-container,.form-grid{grid-template-columns:1fr}.container{padding:1rem}.header h1{font-size:2rem}}
