.auth-loading[data-v-21758c67]{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--navy);font-size:15px}.auth-error[data-v-21758c67]{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg)}.auth-error-card[data-v-21758c67]{background:#fff;border-radius:12px;padding:32px 40px;box-shadow:0 2px 12px #00000014;text-align:center;max-width:400px}:root{--am-navy:#1A3A5C;--am-navy-dk:#122840;--am-bg:#EFF1F5;--bg:#FFFFFF;--bg-hi:#F5F7FA;--bg-sec:#E6EAF0;--bg-con:#D5DAE0;--tx:#1B1B2B;--tx2:#5D6B8B;--tx3:#9AA3B8;--br:rgba(26,26,43,.08);--br2:rgba(26,26,43,.16);--ok:#35B65A;--ok-bg:#E8F9F0;--ok-tx:#1A6B3C;--warn:#C4940A;--warn-bg:#FBF3D5;--warn-tx:#7A5C00;--err:#AD2300;--err-bg:#FFE8E3;--err-tx:#8A1B00;--r:6px;--rl:10px;--rlx:12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:14px;color:var(--tx);background:var(--am-bg);-webkit-font-smoothing:antialiased}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}button{font-family:inherit;cursor:pointer}.app{display:flex;flex-direction:column;min-height:100vh}.mob-hdr{position:sticky;top:0;z-index:20;background:var(--am-navy);padding:12px 16px 10px;color:#fff}.sidebar{display:none}.main-col{flex:1;display:flex;flex-direction:column}.content-wrap{flex:1;padding:16px}.tab-bar{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--br);padding:4px 0 env(safe-area-inset-bottom,10px)}.tab-bar-inner{display:flex}@media (min-width:720px){.app{flex-direction:row;min-height:100vh}.mob-hdr,.tab-bar{display:none}.sidebar{display:flex;flex-direction:column;flex-shrink:0;width:216px;position:sticky;top:0;height:100vh;background:var(--am-navy);overflow-y:auto}.main-col{flex:1;min-width:0}.content-wrap{padding:24px}}@media (min-width:1100px){.sidebar{width:232px}.content-wrap{padding:28px 32px}}.snav-btn{display:block;width:100%;text-align:left;background:none;border:none;border-radius:var(--r);padding:9px 14px;font-size:13px;color:#fff9;transition:background .12s,color .12s}.snav-btn:hover{background:#ffffff12}.snav-btn.active{background:#ffffff1f;color:#fff;font-weight:500}.snav-sec{font-size:10px;font-weight:600;color:#ffffff4d;letter-spacing:.08em;padding:16px 14px 4px}.card{background:var(--bg);border:1px solid var(--br);border-radius:var(--rlx);padding:14px 16px;cursor:pointer;transition:box-shadow .15s,border-color .15s}.card:hover{box-shadow:0 2px 10px #00000017}.card-alert{border-left:3px solid var(--err);border-color:#ad230033}.card-ok{border-color:#35b65a4d}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-bottom:20px}.kpi{background:var(--bg);border:1px solid var(--br);border-radius:var(--rl);padding:12px 14px}.kpi-label{font-size:11px;color:var(--tx2);margin:0 0 4px;letter-spacing:.03em}.kpi-val{font-size:22px;font-weight:600;margin:0;line-height:1}.toggle-group{display:inline-flex;background:var(--bg-sec);border-radius:var(--r);padding:2px;gap:2px}.toggle-btn{background:none;border:none;padding:5px 11px;border-radius:4px;font-size:12px;font-weight:500;color:var(--tx2);transition:background .12s,color .12s;white-space:nowrap}.toggle-btn.on{background:var(--bg);color:var(--tx);box-shadow:0 1px 3px #0000001a}.controls-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.list-wrap{background:var(--bg);border:1px solid var(--br);border-radius:var(--rlx);overflow:hidden}.list-attr-row{display:flex;justify-content:flex-end;padding:10px 16px 0;border-bottom:0 none}.list-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.list-table{width:100%;border-collapse:collapse}.list-table th{font-size:11px;font-weight:600;color:var(--tx2);letter-spacing:.04em;padding:9px 14px;text-align:left;border-bottom:1px solid var(--br);white-space:nowrap;background:var(--bg-hi)}.list-table td{padding:11px 14px;border-bottom:1px solid var(--br);vertical-align:middle}.list-table tr:last-child td{border-bottom:none}.list-table tr{cursor:pointer;transition:background .1s}.list-table tr:hover td{background:var(--bg-hi)}.list-table td.name-cell{min-width:160px}.list-table td.bar-cell{min-width:100px}.list-table td.price-cell{text-align:right;min-width:120px}.col-hide-sm{display:none}@media (min-width:640px){.col-hide-sm{display:table-cell}}.car-thumb{width:72px;height:48px;border-radius:6px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.car-thumb-sm{width:52px;height:36px;border-radius:5px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.bdg{display:inline-block;font-size:11px;font-weight:500;padding:2px 7px;border-radius:4px;white-space:nowrap}.qbar-wrap{height:6px;background:var(--bg-sec);border-radius:3px;overflow:hidden}.qbar-fill{height:100%;border-radius:3px}.price-track{display:flex;gap:2px;margin:4px 0 2px}.pdot{width:20px;height:5px;border-radius:2px;background:var(--bg-con)}.pdot.on{background:currentColor}.det-card{background:var(--bg);border:1px solid var(--br);border-radius:var(--rlx);overflow:hidden;margin-bottom:12px}.det-sec{padding:16px 18px}.det-2col{display:grid;grid-template-columns:1fr}@media (min-width:640px){.det-2col{grid-template-columns:1fr 1fr}.det-2col>.det-sec:nth-child(odd){border-right:1px solid var(--br)}.det-2col>.det-sec:nth-child(1),.det-2col>.det-sec:nth-child(2){border-bottom:1px solid var(--br)}}.det-label{font-size:11px;font-weight:600;color:var(--tx2);letter-spacing:.06em;margin:0 0 10px}.perf-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.perf-item{background:var(--bg-hi);border-radius:var(--r);padding:10px}.qc-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--br)}.qc-row:last-child{border-bottom:none;padding-bottom:0}.qc-name{font-size:12px;color:var(--tx);flex:1}.qc-weight{font-size:11px;color:var(--tx3);width:28px;text-align:right;flex-shrink:0}.qc-score{font-size:12px;font-weight:600;width:36px;text-align:right;flex-shrink:0}.qc-bar-wrap{width:70px;height:5px;background:var(--bg-sec);border-radius:3px;overflow:hidden;flex-shrink:0}.qc-bar{height:100%;border-radius:3px}.qc-issue{font-size:11px;color:var(--tx2);margin:2px 0 4px;padding-left:6px;border-left:2px solid var(--warn)}.mde{font-size:10px;font-weight:500;color:var(--tx3);display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.mde-m{display:inline-flex;align-items:center;justify-content:center;background:#e3000f;color:#fff;font-size:7px;font-weight:800;width:11px;height:11px;border-radius:2px}.vid-row{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;margin-top:3px;line-height:1.4}.vid-label{font-size:10px;color:var(--tx3);font-weight:600;letter-spacing:.03em}.vid-val{font-size:10px;color:var(--tx2);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.vid-sep{display:inline-block;width:1px;height:9px;background:var(--br2);margin:0 2px;vertical-align:middle;flex-shrink:0}.alert-dot{width:7px;height:7px;border-radius:50%;background:var(--err);flex-shrink:0;margin-top:4px}.alert-dot.warn{background:var(--warn)}.exp-table{width:100%;border-collapse:collapse}.exp-table th{font-size:11px;font-weight:600;color:var(--tx2);letter-spacing:.04em;padding:9px 14px;text-align:left;border-bottom:1px solid var(--br);white-space:nowrap;background:var(--bg-hi)}.exp-table td{padding:13px 14px;border-bottom:1px solid var(--br);vertical-align:top}.exp-table tr.exp-row{cursor:default;transition:background .1s}.exp-table tr.exp-row:hover td{background:var(--bg-hi)}.exp-table tr:last-child td{border-bottom:none}.exp-table td.exp-vehicle{min-width:160px}.exp-table td.exp-ts{white-space:nowrap;font-size:12px;color:var(--tx);min-width:130px}.exp-table td.exp-link{min-width:140px}.exp-table td.exp-status{white-space:nowrap}.exp-table td.exp-action{text-align:right;white-space:nowrap;min-width:110px}.exp-btn{background:var(--am-navy);color:#fff;border:none;border-radius:var(--r);padding:6px 14px;font-size:12px;font-weight:500;cursor:pointer;transition:background .12s;white-space:nowrap}.exp-btn:hover{background:var(--am-navy-dk)}.exp-btn:disabled{background:var(--bg-con);color:var(--tx3);cursor:default}.exp-btn.secondary{background:none;color:var(--am-navy);border:1.5px solid var(--am-navy);padding:5px 13px}.exp-btn.secondary:hover{background:#1a3a5c12}.changelog-row td{background:var(--bg-hi);padding:0}.changelog-inner{padding:10px 18px 12px 24px;border-top:2px solid rgba(26,58,92,.12)}.cl-entry{display:grid;grid-template-columns:130px 100px 1fr 1fr;gap:6px;align-items:center;padding:5px 0;border-bottom:1px solid var(--br);font-size:12px}.cl-entry:last-child{border-bottom:none}.cl-ts{color:var(--tx3)}.cl-field{font-weight:500;color:var(--tx)}.cl-old{color:var(--tx3);text-decoration:line-through}.cl-new{color:var(--ok-tx);font-weight:500}.exp-link-btn{background:none;border:none;font-size:12px;color:var(--am-navy);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.exp-link-btn:hover{color:var(--am-navy-dk)}.exp-summary-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.exp-sum-chip{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--br);border-radius:var(--r);padding:8px 14px}.filter-tabs{display:flex;gap:2px;background:var(--bg-sec);border-radius:var(--r);padding:2px;margin-bottom:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.ftab{flex-shrink:0;background:none;border:none;padding:5px 12px;border-radius:4px;font-size:12px;font-weight:500;color:var(--tx2);cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.ftab.on{background:var(--bg);color:var(--tx);box-shadow:0 1px 3px #0000001a}.ftab .ftab-cnt{display:inline-block;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:8px;font-size:10px;font-weight:600;padding:0 4px;margin-left:5px}.ftab.on .ftab-cnt{background:var(--am-navy);color:#fff}.ftab:not(.on) .ftab-cnt{background:var(--bg-con);color:var(--tx2)}.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;align-items:center}.chip{border:1.5px solid var(--br2);background:var(--bg);border-radius:20px;padding:4px 11px;font-size:12px;font-weight:500;color:var(--tx2);cursor:pointer;transition:background .1s,border-color .1s,color .1s;white-space:nowrap}.chip:hover{border-color:var(--am-navy);color:var(--am-navy)}.chip.on{background:var(--am-navy);border-color:var(--am-navy);color:#fff}.filter-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.filter-toggle-btn{background:none;border:1.5px solid var(--br2);border-radius:var(--r);padding:5px 11px;font-size:12px;font-weight:500;color:var(--tx2);cursor:pointer;display:flex;align-items:center;gap:5px;transition:border-color .12s,color .12s}.filter-toggle-btn:hover{border-color:var(--am-navy);color:var(--am-navy)}.filter-toggle-btn.active{border-color:var(--am-navy);color:var(--am-navy);background:#1a3a5c0d}.active-chip-pill{display:inline-flex;align-items:center;gap:4px;background:#1a3a5c14;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500;color:var(--am-navy)}.active-chip-pill button{background:none;border:none;font-size:13px;line-height:1;color:var(--am-navy);padding:0;cursor:pointer;margin-left:1px}.result-count{font-size:12px;color:var(--tx3);margin-left:auto}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sort:hover{color:var(--tx);background:var(--bg-sec)}.sort-arrow{display:inline-block;margin-left:3px;font-size:10px;opacity:.35;vertical-align:middle}.sort-arrow.active{opacity:1;color:var(--am-navy)}.search-wrap{position:relative;display:inline-flex;align-items:center}.search-wrap svg{position:absolute;left:9px;color:var(--tx3);pointer-events:none;flex-shrink:0}.search-inp{border:1.5px solid var(--br2);border-radius:var(--r);padding:5px 10px 5px 30px;font-size:12px;font-family:inherit;color:var(--tx);background:var(--bg);width:200px;outline:none;transition:border-color .12s}.search-inp:focus{border-color:var(--am-navy)}.search-inp::placeholder{color:var(--tx3)}.dl-btn{background:none;border:1.5px solid var(--br2);border-radius:var(--r);padding:4px 10px;font-size:11px;font-weight:500;color:var(--tx2);cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:border-color .12s,color .12s;white-space:nowrap}.dl-btn:hover{border-color:var(--am-navy);color:var(--am-navy)}
