:root{--bg0: #10161c;--bg1: #18222c;--panel: rgba(24, 34, 44, .92);--ink: #eef3f8;--muted: #9aabbd;--line: rgba(238, 243, 248, .12);--accent: #4aa3ff;--accent2: #7dd3c0;--warn: #f0b35a;--danger: #ef6b6b;--ok: #6bcf8e;--radius: 14px;--font: "DM Sans", system-ui, sans-serif;--display: "Fraunces", Georgia, serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(ellipse 70% 45% at 10% -10%,rgba(74,163,255,.22),transparent 55%),radial-gradient(ellipse 50% 40% at 100% 0%,rgba(125,211,192,.12),transparent 50%),linear-gradient(165deg,var(--bg0),var(--bg1) 55%,#121820)}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:#ffffff0a;border-radius:10px;padding:.55rem .9rem}button.primary{background:linear-gradient(135deg,#3b8fef,#2f6fbf);border-color:transparent;color:#fff;font-weight:600}button.ghost{background:transparent}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;background:#00000040;border:1px solid var(--line);border-radius:10px;padding:.65rem .8rem}textarea{min-height:90px;resize:vertical}label{display:grid;gap:.35rem;font-size:.88rem;color:var(--muted)}.app-shell{max-width:1200px;margin:0 auto;padding:1rem 1.1rem 3rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.topbar-main{display:flex;align-items:center;gap:.85rem;min-width:0}.profile-menu{position:relative;flex-shrink:0}.profile-menu-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.28rem .55rem .28rem .28rem;border-radius:999px;background:#ffffff0a}.profile-menu-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:.85rem;font-weight:700;background:linear-gradient(135deg,#4aa3ff73,#7dd3c059);border:1px solid var(--line)}.profile-menu-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}@media (max-width: 520px){.profile-menu-label{display:none}}.profile-menu-dropdown{position:absolute;right:0;top:100%;min-width:220px;padding:.55rem .45rem .45rem;border-radius:12px;border:1px solid var(--line);background:#121820fa;box-shadow:0 12px 32px #00000059;display:none;z-index:40}.profile-menu-head{padding:.45rem .55rem .55rem;border-bottom:1px solid var(--line);margin-bottom:.2rem}.profile-menu-dropdown .profile-menu-item,.profile-menu-dropdown .profile-menu-logout{display:block;width:100%;text-align:left;padding:.55rem .65rem;border-radius:8px;border:none;background:transparent;color:var(--ink);text-decoration:none;font:inherit;cursor:pointer}.profile-menu-dropdown .profile-menu-item:hover,.profile-menu-dropdown .profile-menu-logout:hover{background:#4aa3ff1f}.profile-menu:hover .profile-menu-dropdown,.profile-menu.open .profile-menu-dropdown,.profile-menu:focus-within .profile-menu-dropdown{display:grid;gap:.15rem}.profile-menu-logout{color:var(--danger)!important;margin-top:.15rem}.vehicle-thumb{width:56px;height:56px;border-radius:12px;object-fit:cover;border:1px solid var(--line);background:#0000004d;flex-shrink:0}.vehicle-card .vehicle-thumb,.vehicle-card .vehicle-thumb-fallback{width:220px;height:160px;border-radius:14px}.vehicle-card .vehicle-thumb-fallback{font-size:3rem}.vehicle-card-inner{display:flex;align-items:stretch;gap:1.25rem}.vehicle-card-body{min-width:0;flex:1;display:grid;gap:.45rem;align-content:center}.vehicle-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem}.vehicle-card-title strong{font-family:var(--display);font-size:1.45rem;letter-spacing:-.02em}.vehicle-card-dl{margin:.15rem 0 0;display:grid;gap:.2rem}.vehicle-card-row{display:grid;grid-template-columns:minmax(7.5rem,9.5rem) minmax(0,1fr);gap:.35rem .75rem;align-items:baseline;font-size:.95rem;line-height:1.35}.vehicle-card-row dt{margin:0;font-weight:700;color:var(--ink)}.vehicle-card-row dd{margin:0;font-weight:400;color:var(--muted);word-break:break-word}.vehicle-card-notes{font-size:.88rem;line-height:1.35;max-width:56ch;margin-top:.15rem}.vehicle-card-badges{margin-top:.35rem}.vehicles-page{max-width:none;width:100%}.vehicles-page>.panel{width:100%}.vehicles-create{margin-top:.25rem;max-width:640px}@media (max-width: 720px){.vehicle-card-inner{flex-direction:column;gap:.9rem}.vehicle-card .vehicle-thumb,.vehicle-card .vehicle-thumb-fallback{width:100%;height:180px}.vehicle-card-title strong{font-size:1.25rem}.vehicle-card-row{grid-template-columns:minmax(6.5rem,8rem) minmax(0,1fr);font-size:.9rem}}@media (min-width: 721px) and (max-width: 960px){.vehicle-card .vehicle-thumb,.vehicle-card .vehicle-thumb-fallback{width:180px;height:140px}}.vehicle-thumb-btn{padding:0;border:none;background:transparent;border-radius:12px;line-height:0;position:relative}.vehicle-thumb-btn:hover .vehicle-thumb-hint{opacity:1}.vehicle-thumb-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#00000073;color:#fff;font-size:.65rem;border-radius:12px;opacity:0;transition:opacity .15s}.vehicle-thumb-fallback{width:56px;height:56px;border-radius:12px;border:1px dashed var(--line);background:linear-gradient(135deg,#4aa3ff40,#7dd3c026);display:grid;place-items:center;font-size:1.4rem;flex-shrink:0}.kanban{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:.75rem;align-items:start;overflow-x:auto;padding-bottom:.25rem}@media (max-width: 1000px){.kanban{grid-template-columns:repeat(4,minmax(220px,1fr))}}.kanban-col{min-height:220px}.kanban-col.drop-ready{outline:1px dashed rgba(74,163,255,.45)}.kanban-card{border:1px solid var(--line);background:#ffffff0a;border-radius:12px;padding:.7rem .75rem;display:grid;gap:.35rem;cursor:grab}.kanban-card:active{cursor:grabbing}.kanban-card.busy{opacity:.55}.part-thumb-btn{padding:0;border:none;background:transparent;border-radius:10px;line-height:0;flex-shrink:0}.part-thumb{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#fff}.part-thumb-fallback{width:72px;height:72px;border-radius:10px;border:1px dashed var(--line);display:grid;place-items:center;color:var(--muted);font-size:1.25rem;background:#ffffff08}.cat-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.cat-tabs button{font-size:.78rem;padding:.28rem .55rem}.cat-pill{font-size:.72rem;padding:.15rem .45rem;border-radius:999px;background:#4aa3ff1f;border-color:#4aa3ff59}.cat-checks{display:flex;flex-wrap:wrap;gap:.35rem}.cat-check{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;padding:.25rem .5rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.cat-check.on{color:var(--text);border-color:#4aa3ff8c;background:#4aa3ff1f}.cat-check input{margin:0}.brand{font-family:var(--display);font-size:1.55rem;font-weight:700;letter-spacing:-.02em}.brand span{color:var(--accent2)}.muted{color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}@media (max-width: 900px){.grid-2{grid-template-columns:1fr}}.stack{display:grid;gap:.75rem}.row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}h1,h2,h3{font-family:var(--display);margin:0 0 .4rem;letter-spacing:-.02em}h1{font-size:clamp(1.8rem,4vw,2.4rem)}h2{font-size:1.35rem}.error{color:#ffd0d0;background:#ef6b6b26;border:1px solid rgba(239,107,107,.35);padding:.6rem .8rem;border-radius:10px}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;padding:.2rem .5rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.badge.open{color:var(--warn);border-color:#f0b35a66}.badge.done{color:var(--ok);border-color:#6bcf8e66}.badge.high{color:var(--danger)}.badge.plate{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em;color:#d8e2f0;border-color:#b4c6dc59;background:#ffffff0a;border-radius:8px;white-space:nowrap}.vehicle-title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem .75rem}.vehicle-title-row h1{margin:.25rem 0 0}.vehicle-card,.list-item{display:block;width:100%;text-align:left;padding:.9rem 1rem;border-radius:12px;border:1px solid var(--line);background:#ffffff08;transition:border-color .15s,background .15s}.vehicle-card{padding:1.15rem 1.25rem;color:inherit}.vehicle-card:hover,.list-item:hover{border-color:#4aa3ff73;background:#4aa3ff14}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:min(420px,100%)}.scene-wrap{height:min(62vh,560px);border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#0b1015;position:relative}.scene-hint{position:absolute;left:.75rem;bottom:.75rem;z-index:2;font-size:.8rem;color:var(--muted);background:#00000073;padding:.35rem .55rem;border-radius:8px;pointer-events:none}.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.9rem}.tabs button.active{border-color:#4aa3ff8c;background:#4aa3ff26}.drawer{display:grid;gap:.7rem}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.media-grid img,.media-grid video{width:100%;border-radius:8px;border:1px solid var(--line);background:#000}.tree-child{margin-left:.85rem;border-left:1px solid var(--line);padding-left:.7rem}.empty{color:var(--muted);font-size:.95rem;padding:.5rem 0}
