@tailwind base;@tailwind components;@tailwind utilities;@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=DM+Mono:wght@400;500&display=swap");:root{--bg:#0d1117;--bg-card:#161b22;--bg-elevated:#1c2333;--border:hsla(0,0%,100%,.08);--border-hover:hsla(0,0%,100%,.16);--text-primary:#e6edf3;--text-secondary:#8b949e;--text-muted:#7d8590;--accent:#00d4aa;--accent-dim:rgba(0,212,170,.12);--accent-hover:#00e6b8;--green:#3fb950;--green-dim:rgba(63,185,80,.12);--amber:#d29922;--amber-dim:rgba(210,153,34,.12);--red:#f85149;--red-dim:rgba(248,81,73,.12);--radius:14px;--radius-sm:8px;--shadow:0 4px 24px rgba(0,0,0,.4);--shadow-sm:0 2px 12px rgba(0,0,0,.3)}@layer base{*{box-sizing:border-box;margin:0;padding:0}html{font-family:DM Sans,sans-serif;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.015) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.015) 1px,transparent 0);background-size:32px 32px;pointer-events:none;z-index:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}}@layer components{.btn-primary{display:flex;align-items:center;justify-content:center;width:100%;padding:.875rem 1.5rem;border-radius:.75rem;font-weight:600;font-size:.875rem;letter-spacing:.01em;min-height:48px;border:none;cursor:pointer;transition:all .2s;background:var(--accent);color:#0d1117}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 0 24px rgba(0,212,170,.28)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{display:flex;align-items:center;justify-content:center;width:100%;padding:.875rem 1.5rem;border-radius:.75rem;font-weight:600;font-size:.875rem;min-height:48px;cursor:pointer;transition:all .2s;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-card)}.btn-secondary:active:not(:disabled){transform:scale(.98)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-danger{display:flex;align-items:center;justify-content:center;width:100%;padding:.875rem 1.5rem;border-radius:.75rem;font-weight:600;font-size:.875rem;min-height:48px;cursor:pointer;transition:all .2s;background:var(--red-dim);color:var(--red);border:1px solid rgba(248,81,73,.2)}.btn-danger:hover:not(:disabled){background:rgba(248,81,73,.2)}.btn-danger:active:not(:disabled){transform:scale(.98)}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.btn-loading{display:inline-flex;align-items:center;gap:8px}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(13,17,23,.3);border-top-color:#0d1117;border-radius:50%;animation:spin-slow .7s linear infinite;flex-shrink:0}.btn-primary .btn-spinner{border-color:#0d1117 rgba(13,17,23,.2) rgba(13,17,23,.2)}.btn-secondary .btn-spinner{border-color:var(--border);border-top-color:var(--text-primary)}.card{border-radius:var(--radius);padding:20px;background:var(--bg-card);border:1px solid var(--border);position:relative;overflow:hidden}.card-accent:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.6}.input{display:block;width:100%;padding:.875rem 1rem;border-radius:.75rem;transition:all .2s;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:15px;outline:none;min-height:48px;box-sizing:border-box}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,212,170,.1)}.input-error{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(248,81,73,.1)!important}.input-success{border-color:var(--green)!important;box-shadow:0 0 0 3px rgba(63,185,80,.1)!important}.input-wrapper{position:relative}.input-with-action{padding-right:48px}.input-action-btn{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;padding:4px;transition:color .15s;border-radius:6px}.input-action-btn:hover,.label{color:var(--text-secondary)}.label{display:block;font-size:.75rem;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.06em}.field-group{display:flex;flex-direction:column;margin-bottom:18px}.field-error-msg{font-size:12px;color:var(--red);margin-top:6px;font-weight:500}.auth-bg{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;position:relative}.auth-glow{position:fixed;top:20%;left:50%;transform:translateX(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(0,212,170,.06) 0,transparent 65%);pointer-events:none;z-index:0}.auth-container{width:100%;max-width:420px;position:relative;z-index:1}.auth-logo-section{text-align:center;margin-bottom:40px}.auth-logo-icon{display:flex;justify-content:center;margin-bottom:16px}.auth-title{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;margin-bottom:6px}.auth-subtitle{color:var(--text-secondary);font-size:15px}.auth-card{padding:32px;border-radius:20px}.auth-card-heading{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:28px;letter-spacing:-.01em}.forgot-row{display:flex;justify-content:flex-end;margin-bottom:24px;margin-top:-4px}.forgot-link{font-size:13px;color:var(--accent);text-decoration:none;font-weight:500;transition:opacity .15s}.forgot-link:hover{opacity:.8}.auth-footer-text{text-align:center;font-size:14px;color:var(--text-secondary);margin-top:24px}.auth-footer-link{color:var(--accent);font-weight:600;text-decoration:none}.auth-footer-link:hover{opacity:.85}.badge-low{background:var(--green-dim);color:var(--green)}.badge-low,.badge-medium{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px}.badge-medium{background:var(--amber-dim);color:var(--amber)}.badge-high{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;background:var(--red-dim);color:var(--red)}.type-badge{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-elevated);padding:2px 7px;border-radius:6px}.meta-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#a0aab4}.parking-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;cursor:pointer;transition:all .18s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden;display:block;width:100%}.parking-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.parking-card:active{transform:translateY(0)}.parking-card-name{font-weight:600;color:var(--text-primary);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skeleton{display:block;background:linear-gradient(90deg,var(--bg-elevated) 25%,hsla(0,0%,100%,.04) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(1.4);opacity:0}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.animate-fade-up{animation:fadeUp .4s ease forwards}.animate-fade-up-delay{animation:fadeUp .4s ease .1s forwards;opacity:0}.animate-fade-up-delay-2{animation:fadeUp .4s ease .2s forwards;opacity:0}.pulse-dot-anim{animation:pulse-dot 1.4s ease-in-out infinite}.pulse-ring-anim{animation:pulse-ring 1.6s cubic-bezier(.215,.61,.355,1) infinite}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:4px;background:var(--border-hover);outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 0 8px rgba(0,212,170,.4);-webkit-transition:box-shadow .2s;transition:box-shadow .2s}input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 14px rgba(0,212,170,.6)}input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;border:none;box-shadow:0 0 8px rgba(0,212,170,.4)}