:root{--navy:#071b33;--blue:#0d63d6;--cyan:#34d4d7;--paper:#f4f7fb;--ink:#15243a;--muted:#6b7a90;--green:#138a63;--amber:#c77700;--red:#c43d4d}
body{background:var(--paper);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}.app-nav{background:linear-gradient(105deg,#06182e,#0b3b65);box-shadow:0 8px 25px #071b3325}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--cyan);color:var(--navy);margin-right:.45rem}.page-shell{padding:1.6rem max(1rem,3vw);min-height:calc(100vh - 125px)}.app-footer{text-align:center;padding:1.25rem;color:var(--muted);font-size:.85rem}.page-title{font-weight:800;letter-spacing:-.03em}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-size:.74rem;font-weight:800}.card{border:0;border-radius:18px;box-shadow:0 8px 30px #18324d0d}.metric-card{position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;right:-25px;top:-35px;width:100px;height:100px;border-radius:50%;background:#0d63d60c}.metric-label{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.metric-number{font-size:1.8rem;font-weight:850;line-height:1}.metric-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#e7f1ff;color:var(--blue)}.status-available,.status-warning,.status-full{display:inline-flex;gap:.35rem;align-items:center;font-weight:750;border-radius:999px;padding:.28rem .65rem;font-size:.75rem}.status-available{color:#087350;background:#dff8ef}.status-warning{color:#925900;background:#fff1cf}.status-full{color:#a52636;background:#ffe1e5}.parking-card{height:100%}.vehicle-panel{background:#f7f9fc;border:1px solid #e8edf4;border-radius:14px;padding:1rem}.occupancy-value{font-size:1.55rem;font-weight:850}.progress{height:8px;background:#e1e7ef}.progress-bar.safe{background:var(--green)}.progress-bar.warn{background:var(--amber)}.progress-bar.danger{background:var(--red)}.op-btn{min-height:52px;font-weight:800;font-size:1rem;border-radius:12px}.table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom-width:1px}.hero{background:linear-gradient(120deg,#071b33,#0c4d79);color:#fff;padding:4.5rem 0 6.5rem}.hero h1{font-size:clamp(2.25rem,5vw,4.5rem);font-weight:900;letter-spacing:-.05em;max-width:850px}.search-float{margin-top:-3.2rem}.public-results{padding:2rem 0}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr}.login-art{background:linear-gradient(145deg,#06172b,#0a416d);color:#fff;padding:clamp(2rem,6vw,6rem);display:flex;flex-direction:column;justify-content:center}.login-art h1{font-size:clamp(2.4rem,5vw,5rem);font-weight:900;letter-spacing:-.06em}.login-form{display:grid;place-items:center;padding:2rem}.login-card{max-width:420px;width:100%}.form-control,.form-select{border-radius:10px;padding:.72rem .9rem;border-color:#dce3ec}.btn-primary{background:var(--blue);border-color:var(--blue)}#map{height:calc(100vh - 135px);min-height:500px;border-radius:18px}.display-page{background:#06172b;color:#fff;min-height:100vh;padding:4vw}.display-availability{font-size:clamp(3rem,9vw,8rem);font-weight:900;line-height:.95}@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-art{display:none}}@media(max-width:768px){.page-shell{padding:1rem}.metric-number{font-size:1.45rem}.hero{padding:3rem 0 5rem}.op-btn{min-height:58px}}
.visitor-metrics .card{border-left:4px solid var(--bs-primary);background:linear-gradient(145deg,#fff,#f8fafc)}
.visitor-metrics small{color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.visitor-metrics strong{display:block;margin-top:.35rem;font-size:1.8rem;line-height:1;color:#0f172a}
