:root{--bg-color:#0e0e11;--panel-bg:#18181b;--text-main:#fff;--text-muted:#a1a1aa;--accent-green:#00e676;--accent-green-hover:#00c853;--border-color:#27272a;--border-color-hover:#3f3f46;--border-radius-sm:6px;--border-radius-md:8px;--font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;justify-content:center;align-items:center;min-height:100vh;margin:0;line-height:1.6;display:flex}#root{width:100%}.container{width:100%;max-width:800px;margin:0 auto;padding:2rem}.header{text-align:center;margin-bottom:2.5rem}.header h1{font-family:var(--font-family);text-transform:uppercase;letter-spacing:-.025em;color:var(--text-main);margin:0;font-size:32px;font-weight:900}.header p{color:var(--text-muted);margin-top:.5rem;font-size:1.125rem}.card{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);margin-bottom:1.5rem;padding:2.5rem;box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #00000040}.input-group{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.input-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:700}input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--border-radius-sm);outline:none;width:100%;padding:1rem 1.25rem;font-family:inherit;font-size:1.125rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}input::placeholder{color:#52525b}input:hover{border-color:var(--border-color-hover)}input:focus{border-color:var(--accent-green);box-shadow:0 0 0 3px #00e67626}.input-group:has(input:focus) label{color:var(--accent-green);transition:color .15s ease-in-out}.input-group label{transition:color .15s ease-in-out}button{background:var(--accent-green);color:#0e0e11;border-radius:var(--border-radius-sm);cursor:pointer;text-transform:uppercase;letter-spacing:.025em;border:1px solid #0000;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:1rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:700;transition:background .15s ease-in-out,transform .15s ease-in-out,box-shadow .15s ease-in-out;display:flex}button:hover:not(:disabled){background:var(--accent-green-hover);transform:translateY(-1px);box-shadow:0 4px 12px #00e67633}button:active:not(:disabled){box-shadow:none;background:#00b248;transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}button.secondary{border:1px solid var(--accent-green);color:var(--accent-green);background:0 0}button.secondary:hover:not(:disabled){border-color:var(--accent-green-hover);color:var(--accent-green-hover);background:#00e6761a}button.btn-danger{color:#fff;background:#ff1212;border:none}button.btn-danger:hover:not(:disabled){background:#c00;box-shadow:0 4px 12px #ff12124d}button.btn-danger:active:not(:disabled){background:#a00}button.btn-walkin{color:var(--text-main);background:#ffffff0d;border:1px solid #ffffff1a}button.btn-walkin:hover:not(:disabled){border-color:var(--accent-green);color:var(--accent-green);background:#00e67614;box-shadow:0 0 12px #00e67626}.action-grid{border-top:1px solid var(--border-color);grid-template-columns:1fr;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;display:grid}@media (width>=600px){.action-grid{grid-template-columns:1fr 1fr}}.loader{text-align:center;color:var(--text-muted);padding:2rem}.error-message{color:#fca5a5;border-radius:var(--border-radius-sm);background:#dc26261a;border:1px solid #dc262633;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1rem;font-size:.875rem;animation:.5s ease-out forwards slideShakeIn;display:flex;overflow:hidden}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.view-enter{animation:.3s ease-out forwards fadeSlideIn}.action-grid button{animation:.3s ease-out both fadeSlideIn}.action-grid button:first-child{animation-delay:0s}.action-grid button:nth-child(2){animation-delay:75ms}.action-grid button:nth-child(3){animation-delay:.15s}.action-grid button:nth-child(4){animation-delay:.225s}@keyframes slideShakeIn{0%{opacity:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;transform:translate(0)}40%{opacity:1;max-height:80px;margin-bottom:1.5rem;padding-top:1rem;padding-bottom:1rem}50%{transform:translate(-4px)}60%{transform:translate(4px)}70%{transform:translate(-2px)}80%{transform:translate(2px)}to{opacity:1;max-height:80px;margin-bottom:1.5rem;padding-top:1rem;padding-bottom:1rem;transform:translate(0)}}@keyframes warningPulse{0%{box-shadow:0 0 #ffa5004d}50%{box-shadow:0 0 12px 2px #ffa50026}to{box-shadow:0 0 #ffa5004d}}.warning-banner{animation:2.5s ease-in-out infinite warningPulse}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #0e0e114d;border-top-color:#0e0e11;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}.spinner.spinner-light{border-color:#fff #ffffff4d #ffffff4d}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--border-color) 25%, var(--border-color-hover) 50%, var(--border-color) 75%);border-radius:var(--border-radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-text{height:1.25rem;margin-bottom:.5rem}.skeleton-text.skeleton-heading{width:60%;height:1.75rem;margin-bottom:.75rem}.skeleton-text.skeleton-sub{width:45%}.skeleton-button{border-radius:var(--border-radius-sm);height:52px}@keyframes radialBurst{0%{opacity:0;transform:scale(.3)}50%{opacity:.15}to{opacity:0;transform:scale(2.5)}}.success-burst{background:radial-gradient(circle, var(--accent-green) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:96px;height:96px;animation:1s ease-out forwards radialBurst;position:absolute}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-hero button{animation:.4s ease-out .8s both fadeIn}.card{transition:box-shadow .3s,border-color .3s}.card:hover{border-color:var(--border-color-hover);box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #00000040,0 0 20px #00e6760d}@keyframes checkmark-bounce{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes checkmark-pulse{0%{box-shadow:0 0 #00e67680}70%{box-shadow:0 0 0 25px #00e67600}to{box-shadow:0 0 #00e67600}}.success-hero{text-align:center;border-color:#00e6764d;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex;box-shadow:0 0 30px #00e6760d}.success-icon-wrapper{border:4px solid var(--accent-green);width:96px;height:96px;color:var(--accent-green);background:#00e6761a;border-radius:50%;justify-content:center;align-items:center;margin-bottom:2rem;animation:.7s cubic-bezier(.175,.885,.32,1.275) forwards checkmark-bounce,2s 1.5s infinite checkmark-pulse;display:flex}.success-hero h2{text-transform:uppercase;letter-spacing:-.05em;color:var(--accent-green);margin:0 0 .5rem;font-size:2.25rem;font-weight:900}.success-hero p{color:var(--text-muted);margin-bottom:2.5rem;font-size:1.125rem}.contact-info{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:1.5rem}.contact-info h2{margin:0 0 .25rem;font-size:1.25rem;font-weight:700}.contact-info p{color:var(--text-muted);margin:0;font-size:1.125rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-color-hover)}@media (width<=599px){canvas{display:none!important}html,body{background:var(--panel-bg);min-height:100%}body{padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px) 0;display:block}.container{flex-direction:column;justify-content:center;max-width:100%;min-height:100dvh;padding:1.25rem;display:flex}.header{text-align:center;margin-bottom:1.5rem}.input-group label{text-align:center}.header h1{font-size:20px}.header p{margin-top:.25rem;font-size:.8rem}.card{box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.card:hover{box-shadow:none;border-color:#0000}.search-buttons{flex-direction:column!important}.search-buttons button{width:100%;flex:unset!important}input{padding:.875rem 1rem;font-size:1rem}button{min-height:52px;padding:1rem;font-size:.95rem}.contact-info h2{font-size:1.1rem}.contact-info p{font-size:.95rem}.success-hero{padding:2rem 0}.success-hero h2{font-size:1.75rem}}
