:root{--ink:#13231f;--forest:#123c32;--mint:#31b77c;--cream:#f4f0e7;--orange:#ef7b45;--line:#dfe5df}
body{background:var(--cream);color:var(--ink);font-family:"Trebuchet MS","Segoe UI",sans-serif;min-height:100vh}
.app-nav{background:linear-gradient(110deg,#0c2d26,#185344);box-shadow:0 8px 26px #0d281e24}
.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;background:var(--orange);border-radius:12px;transform:rotate(-5deg)}
.card{border:0;border-radius:20px;box-shadow:0 10px 32px #172c2410}.card-header{background:transparent;border-bottom:1px solid var(--line);padding:1.25rem 1.5rem}
.stat-card{overflow:hidden;position:relative}.stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:#31b77c1c;right:-25px;top:-25px}
.stat-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#31b77c1b;color:var(--forest);font-size:1.35rem}
.btn-primary{--bs-btn-bg:var(--forest);--bs-btn-border-color:var(--forest);--bs-btn-hover-bg:#1b5849;--bs-btn-hover-border-color:#1b5849}.btn-accent{background:var(--orange);color:#fff}.btn-accent:hover{background:#d96838;color:#fff}
.form-control,.form-select{border-radius:12px;border-color:#d9dfda;padding:.7rem .85rem}.table>:not(caption)>*>*{padding:.9rem .75rem}.badge{font-weight:600;padding:.5em .7em}
.vehicle-plate{display:inline-block;background:#fff;border:2px solid #17231f;border-left:7px solid #2563a9;border-radius:5px;padding:.25rem .6rem;font-weight:800;letter-spacing:.06em;color:#111}
.login-shell{min-height:100vh;background:radial-gradient(circle at 15% 15%,#3e8b6b 0,transparent 26%),linear-gradient(135deg,#0b2923,#153b32 58%,#ef7b45 160%);display:grid;place-items:center;padding:1rem}.login-card{max-width:430px;width:100%;border-radius:28px}.login-logo{width:72px;height:72px;border-radius:23px;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:2rem;transform:rotate(-4deg)}
.timeline{border-left:2px solid #c9d8d0;margin-left:.75rem;padding-left:1.5rem}.timeline-item{position:relative;padding-bottom:1.5rem}.timeline-item:before{content:"";position:absolute;left:-1.95rem;top:.25rem;width:14px;height:14px;border:3px solid var(--cream);background:var(--mint);border-radius:50%}
@media(max-width:767px){.table-responsive{font-size:.9rem}.card-body{padding:1rem}.display-6{font-size:1.8rem}}
.htmx-indicator{display:none}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:flex}
.pwa-install-floating{position:fixed;right:1rem;bottom:1rem;z-index:1080;box-shadow:0 10px 30px #102d2460;border-radius:999px}
