:root{--auth-bg-start: #171717;--auth-bg-end: #050505;--auth-card-bg: rgba(22, 22, 22, .95);--auth-border: rgba(214, 48, 49, .35);--auth-text: #ffffff;--auth-muted: rgba(255, 255, 255, .8);--brand-red: #d63031;--brand-red-dark: #b82525;--brand-red-soft: rgba(214, 48, 49, .18);--brand-green-soft: rgba(76, 175, 80, .18);--brand-green: #69f0ae;--brand-error: #ff6b6b;--app-bg: #f2f5f9;--app-card: #ffffff;--app-border: #d7e0ec;--app-text: #1f2a37;--app-muted: #61738a;--app-primary: #123e6a}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Poppins,Segoe UI,Tahoma,sans-serif;line-height:1.4;color:var(--app-text);background:radial-gradient(circle at top right,#eff6ff,#f2f5f9 45%,#e8edf4)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.page-center{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.loader{width:40px;height:40px;border:4px solid #d5dfeb;border-top-color:#0f4c81;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}.auth-theme-darkred{background:linear-gradient(135deg,var(--auth-bg-start) 0%,var(--auth-bg-end) 100%)}.auth-card{width:100%;max-width:470px;border-radius:20px;padding:30px 28px}.auth-card-dark{background:var(--auth-card-bg);border:1px solid var(--auth-border);box-shadow:0 14px 34px #d6303147;color:var(--auth-text)}.brand-row{display:flex;align-items:center;gap:10px}.brand-row-center{justify-content:center}.brand-row h1{margin:0;font-size:30px;font-weight:700;letter-spacing:.2px}.subtitle{margin:8px 0 0;text-align:center;color:var(--auth-muted);font-size:14px}.auth-tabs{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.auth-tabs button{height:44px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:#ffffff0a;color:var(--auth-muted);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.auth-tabs button.active{background:linear-gradient(135deg,var(--brand-red),var(--brand-red-dark));border-color:var(--brand-red);color:#fff}.oauth-grid{margin:14px 0 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.oauth-section{margin-top:16px}.oauth-section-title{margin:0 0 8px;text-align:center;font-size:12px;color:#ffffffad;letter-spacing:.2px}.btn-oauth{height:42px;border-radius:12px;border:1px solid transparent;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;transition:transform .2s ease,opacity .2s ease}.btn-oauth:hover{text-decoration:none;transform:translateY(-1px)}.btn-google{background:#f7f7f7;color:#222;border-color:#d8d8d8}.btn-github{background:#24292f;color:#fff;border-color:#24292f}.form-stack{display:grid;gap:12px}.form-stack label{display:grid;gap:7px;font-size:13px;font-weight:600;color:#394d63}.auth-card-dark .form-stack label{color:var(--auth-muted)}.auth-card-dark input,.auth-card-dark select{width:100%;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:#00000059;color:#fff;padding:0 12px;font:inherit}.auth-card-dark input::placeholder{color:#ffffff73}.auth-card-dark input:focus,.auth-card-dark select:focus{outline:none;border-color:var(--brand-red);box-shadow:0 0 0 3px #d6303133}.password-row{display:flex;align-items:center;gap:8px}.password-row input{flex:1}.btn-toggle-password{border:1px solid rgba(255,255,255,.25);background:#ffffff0d;color:#fff;border-radius:10px;min-width:72px;height:46px;font-size:12px;font-weight:600;cursor:pointer}.password-requirements{padding:14px;border-radius:12px;background:#00000059;border:1px solid rgba(255,255,255,.14)}.password-requirements h4{margin:0 0 8px;font-size:13px;color:#fff}.requirement{display:flex;align-items:center;gap:8px;font-size:12px;margin:5px 0}.requirement.invalid{color:#ffffffab}.requirement.valid{color:#8af0b0}.status-dot{width:8px;height:8px;border-radius:50%;background:#ff8f8f;box-shadow:0 0 0 2px #ff47572e}.requirement.valid .status-dot{background:#8af0b0;box-shadow:0 0 0 2px #3cb3712e}.btn-primary,.btn-secondary,.btn-danger{border-radius:12px;border:1px solid transparent;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;font:inherit;font-weight:600;cursor:pointer}.auth-card-dark .btn-primary{background:linear-gradient(135deg,var(--brand-red),var(--brand-red-dark));color:#fff;box-shadow:0 6px 20px #d6303159}.layout .btn-primary,.card .btn-primary{background:#0f4c81;border-color:#0f4c81;color:#fff}.layout .btn-primary:hover,.card .btn-primary:hover{background:#0c3e69}.auth-card-dark .btn-secondary{background:#ffffff0d;border-color:#ffffff40;color:#fff}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-oauth:disabled{cursor:not-allowed;opacity:.55}.auth-links{margin-top:14px;display:flex;justify-content:space-between;gap:10px;font-size:13px}.auth-links-dark a{color:#ff9e9e}.alert{border-radius:12px;padding:11px 12px;font-size:13px;font-weight:500;margin-bottom:12px}.alert-error{background:var(--brand-red-soft);border:1px solid rgba(214,48,49,.45);color:var(--brand-error)}.alert-success{background:var(--brand-green-soft);border:1px solid rgba(76,175,80,.45);color:var(--brand-green)}.recaptcha-note{margin-top:10px;text-align:center;font-size:11px;color:#fff9}.layout{max-width:1240px;margin:0 auto;padding:18px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.topbar h1{margin:0;color:var(--app-primary)}.topbar p{margin:3px 0 0;color:var(--app-muted)}.topbar-actions{display:flex;gap:8px;align-items:center}.card{background:var(--app-card);border:1px solid var(--app-border);border-radius:14px;padding:14px;margin-bottom:14px}.card h2{margin:0 0 12px;color:#173f66;font-size:19px}.filters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.card input,.card select{width:100%;height:42px;border:1px solid #cbd6e5;border-radius:10px;padding:0 12px;font:inherit;color:#172535;background:#fff}.card input:focus,.card select:focus{outline:none;border-color:#2f6ea5;box-shadow:0 0 0 3px #0f4c8124}.toolbar{margin-top:12px;display:flex;gap:12px;justify-content:space-between;align-items:center}.toolbar p{margin:0;color:#5f738a}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}thead th{text-align:left;background:#f4f8fd;padding:10px;border-bottom:1px solid #d8e2ee;color:#304b66}tbody td{padding:10px;border-bottom:1px solid #ebf0f6}.btn-small{border:1px solid #c6d7ea;background:#eef6ff;color:#184972;border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer}.btn-small.danger{border-color:#efc0c0;background:#fff2f2;color:#922f2f}.btn-secondary{background:#eef5fd;border-color:#cadbee;color:#18456f}.btn-danger{background:#fff1f1;border-color:#f0c8c8;color:#aa2e2e}.list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.list li{border:1px solid #e2eaf4;background:#fafcff;border-radius:10px;padding:8px 10px;font-size:14px}.list-row{display:flex;justify-content:space-between;gap:8px;align-items:center}.row-actions{display:flex;gap:6px}.link-btn{border:none;background:transparent;color:#0f4c81;font:inherit;padding:0;cursor:pointer;text-align:left}.link-btn:hover{text-decoration:underline}.runtime-error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1d1d1d,#050505);padding:20px}.runtime-error-card{width:100%;max-width:520px;border-radius:18px;background:#171717f5;border:1px solid rgba(214,48,49,.4);box-shadow:0 14px 34px #d6303140;padding:24px;color:#fff;text-align:center}.runtime-error-card h1{margin:0 0 12px;color:#ff7f7f}.runtime-error-card p{margin:0 0 18px;color:#ffffffd1}@media(max-width:980px){.filters-grid,.grid-2,.grid-3,.oauth-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.auth-card{padding:24px 20px}}.auth-card-animate{animation:cardIn .42s ease}.auth-mode-panel,.auth-form-animated{animation:fadeUp .32s ease}.step-panel{display:none}.step-panel.active{display:block;animation:fadeUp .32s ease}.search-shell{min-height:100vh;background:linear-gradient(160deg,#0c0c0c,#1f1f1f 42%,#0b0b0b);color:#f4f4f4;padding:18px}.search-topbar{max-width:1280px;margin:0 auto 14px;display:flex;justify-content:space-between;align-items:center;gap:14px}.search-topbar h1{margin:0;font-size:28px;color:#fff}.search-topbar p{margin:4px 0 0;color:#ffffffc7}.search-hero{max-width:1280px;margin:0 auto 16px;padding:20px;border-radius:18px;background:linear-gradient(135deg,#d6303129,#00000080);border:1px solid rgba(214,48,49,.35);box-shadow:0 12px 34px #00000052}.search-hero h2{margin:0;font-size:24px;color:#fff}.search-hero p{margin:8px 0 0;color:#ffffffd9}.vehicle-type-strip{margin-top:16px;display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.vehicle-chip{border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#ffffffd9;border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .18s ease,background .18s ease,border-color .18s ease}.vehicle-chip:hover{transform:translateY(-1px)}.vehicle-chip.active{background:linear-gradient(135deg,#d63031,#b82525);border-color:#d63031;color:#fff}.search-line{margin-top:14px;display:grid;grid-template-columns:1fr auto;gap:10px}.search-text-input{height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:#0000005c;color:#fff;padding:0 12px;font:inherit}.search-text-input::placeholder{color:#ffffff8c}.search-text-input:focus{outline:none;border-color:#d63031;box-shadow:0 0 0 3px #d6303129}.search-content-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:320px 1fr;gap:14px}.search-sidebar,.search-results{display:grid;gap:12px;align-content:start}.search-shell .card{background:#0e0e0ed1;border:1px solid rgba(255,255,255,.12);color:#f5f5f5}.search-shell .card h2{color:#fff}.search-shell .card p{color:#ffffffd1}.search-shell .card input,.search-shell .card select{border:1px solid rgba(255,255,255,.25);background:#00000059;color:#fff}.search-shell .card input:focus,.search-shell .card select:focus{border-color:#d63031;box-shadow:0 0 0 3px #d6303129}.search-shell .btn-secondary{background:#ffffff14;border-color:#fff3;color:#fff}.search-shell .btn-danger{background:#d6303126;border-color:#d6303180;color:#ffb3b3}.results-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.results-summary h2{margin:0;font-size:20px}.results-summary p{margin:0;font-size:14px}.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:10px}.vehicle-card{border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px;background:#ffffff08;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;animation:fadeUp .3s ease}.vehicle-card:hover{transform:translateY(-2px);border-color:#d630318c;box-shadow:0 8px 24px #0000003d}.vehicle-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.vehicle-card-head h3{margin:0;font-size:16px}.vehicle-card-head span{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;min-width:54px;height:24px;padding:0 8px;background:#d6303129;border:1px solid rgba(214,48,49,.35);font-size:12px}.vehicle-meta{margin-top:10px;display:grid;gap:6px}.vehicle-meta p{margin:0;font-size:13px;color:#ffffffdb}.vehicle-actions{margin-top:12px;display:flex;gap:8px}.search-empty-state{border:1px dashed rgba(255,255,255,.25);border-radius:12px;padding:18px;text-align:center;color:#ffffffb3}.search-detail-panel{animation:fadeUp .28s ease}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.detail-grid p{margin:0;font-size:14px;color:#ffffffe0}.fade-up{animation:fadeUp .35s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1080px){.search-content-grid{grid-template-columns:1fr}}@media(max-width:760px){.search-shell{padding:12px}.search-topbar{flex-direction:column;align-items:flex-start}.search-line,.detail-grid{grid-template-columns:1fr}}
