:root{--bg: #0f172a;--surface: #1e293b;--surface2: #334155;--text: #f8fafc;--muted: #94a3b8;--accent: #38bdf8;--accent-dim: #0ea5e9;--danger: #f87171;--radius: 12px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}#root{min-height:100dvh}.app-shell{min-height:100dvh;padding-bottom:calc(1rem + var(--safe-bottom))}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.auth-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem}.card{background:var(--surface);border-radius:var(--radius);padding:1.25rem;border:1px solid var(--surface2)}.auth-card{width:100%;max-width:420px}.page{max-width:720px;margin:0 auto;padding:1rem}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.title{margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.section-title{margin:0 0 1rem;font-size:1.1rem}.muted{color:var(--muted);margin:0;font-size:.95rem}.tabs{display:flex;gap:.5rem;margin:1rem 0}.tab{flex:1;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--surface2);background:transparent;color:var(--muted);font:inherit;cursor:pointer}.tab.active{background:var(--surface2);color:var(--text)}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;flex-direction:row;align-items:center}.gap-0-5{gap:.5rem}.gap-1{gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.field span{color:var(--muted)}input,textarea,select,button{font:inherit}input,textarea,select{padding:.65rem .75rem;border-radius:8px;border:1px solid var(--surface2);background:#0b1220;color:var(--text)}textarea{resize:vertical;min-height:2.5rem}.btn{padding:.65rem 1rem;border-radius:8px;border:1px solid transparent;cursor:pointer;font-weight:600}.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent-dim));color:#0f172a}.btn.primary:disabled{opacity:.6;cursor:not-allowed}.btn.ghost{background:transparent;border-color:var(--surface2);color:var(--text)}.btn.danger{background:transparent;border-color:var(--danger);color:var(--danger)}.hint{font-size:.85rem;color:var(--muted);margin:0}.error{color:var(--danger);margin:0;font-size:.9rem}.info{color:var(--accent);margin:0;font-size:.9rem;background:#38bdf81a;padding:.5rem;border-radius:4px}.password-wrapper{position:relative;display:flex}.password-wrapper input{flex:1;padding-right:2.5rem}.btn-toggle-password{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:.25rem;font-size:1.2rem;display:flex;align-items:center;justify-content:center}.forgot-link{background:transparent;border:none;color:var(--muted);font-size:.85rem;text-align:right;cursor:pointer;padding:0;margin-top:-.25rem}.forgot-link:hover{color:var(--accent);text-decoration:underline}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.grid-form .full{grid-column:1 / -1}@media (max-width: 560px){.grid-form{grid-template-columns:1fr}}.vehicle-list{list-style:none;margin:0;padding:0}.vehicle-list li{border-bottom:1px solid var(--surface2)}.vehicle-list li:last-child{border-bottom:none}.vehicle-link{display:flex;flex-direction:column;gap:.15rem;padding:.85rem 0;color:inherit;text-decoration:none}.vehicle-link:hover{color:var(--accent)}.plate,.vehicle-name{font-weight:700;letter-spacing:.02em;font-size:1.05rem}.sub{font-size:.9rem;color:var(--muted)}.back-link{display:inline-block;margin-bottom:.5rem;font-size:.95rem}.row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.info-grid .full{grid-column:1 / -1}.info-grid .label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.25rem}.info-grid p{margin:0}@media (max-width: 560px){.info-grid{grid-template-columns:1fr}}.rev-list{list-style:none;margin:0;padding:0}.rev-item{padding:1rem 0;border-bottom:1px solid var(--surface2)}.rev-item:last-child{border-bottom:none}.rev-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.35rem}.price{color:var(--accent);font-weight:600}.work{margin:0;white-space:pre-wrap}.notes{margin:.5rem 0 0;font-size:.9rem;color:var(--muted);white-space:pre-wrap}
