/* V6 钛蓝玻璃 · 车辆资产模块（车型 / 货箱 / 车辆档案 / 标定 / 下线检测） */
.vformgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vfield{min-width:0}
.vfield label{display:block;color:#acc8e2;font-size:11.9px;font-weight:650;margin:0 0 5px}
.vfield .in{width:100%;height:38px;padding:0 11px}
.vfield small{display:block;color:#7295b3;font-size:10.5px;margin-top:4px;line-height:1.5}
.vreadonly{padding:10px 12px;border-radius:10px;background:rgba(11,40,74,.45);color:#cfe8f8;border:1px solid rgba(133,202,247,.16);font-size:12px}
.vkeygrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.vkeygrid>div{background:rgba(11,40,74,.35);border:1px solid rgba(133,202,247,.14);border-radius:10px;padding:10px;min-width:0}
.vkeygrid small{display:block;color:#86a8c2;font-size:10.5px;margin-bottom:4px}
.vkeygrid b{display:block;font-size:12.5px;color:#e9f5ff;font-weight:600;overflow-wrap:anywhere}
.vtabs{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.vtabs button{border:1px solid rgba(140,204,247,.19);background:rgba(66,128,188,.09);border-radius:9px;padding:8px 13px;color:#94b4ce;cursor:pointer;font:inherit;font-size:12px}
.vtabs button:hover{color:#e6f7ff;background:rgba(97,172,238,.16);border-color:rgba(144,216,255,.38)}
.vtabs button.sel{background:linear-gradient(117deg,rgba(31,108,206,.82),rgba(24,153,222,.70));border-color:rgba(148,225,255,.49);color:#f1fcff;box-shadow:inset 0 1px 0 rgba(235,253,255,.23)}
.vnodeflow{display:flex;flex-direction:column;gap:9px}
.vnode{border:1px solid rgba(133,202,247,.18);background:rgba(11,40,74,.35);padding:12px;border-radius:11px;display:flex;justify-content:space-between;color:#cfe8f8;font-size:12px}
.vnode.pass{background:rgba(31,154,124,.18);border-color:rgba(94,231,185,.35);color:#99f0d1}
.vnode.fail{background:rgba(198,70,81,.18);border-color:rgba(252,143,157,.35);color:#ffb5bf}
.vnode.pending{background:rgba(111,147,179,.12);color:#a8c2d9}
.vupload{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:1px dashed rgba(133,202,247,.35);border-radius:12px;background:rgba(11,40,74,.35)}
.vupload input{max-width:100%;color:#a8c2d9;font-size:11px}
.vupload small{color:#7295b3;font-size:10.5px;line-height:1.6}
.vcomp{background:rgba(11,40,74,.35);border:1px solid rgba(133,202,247,.16);border-radius:14px;padding:14px;margin-top:12px}
.vdoor{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.vdoor .in{width:auto;min-width:120px;height:34px;padding:0 10px}
.vdoor .muted{white-space:nowrap;font-size:10.5px;color:#86a8c2}
.vsteps{display:flex;gap:8px;flex-wrap:wrap}
.vsteps span{background:rgba(40,136,243,.14);border:1px solid rgba(122,201,255,.24);border-radius:11px;padding:10px;color:#a9dcff;flex:1;min-width:130px;font-size:11px}
.vsteps span:not(:last-child):after{content:' →';color:#67cfff}
.vmini{min-width:110px;width:120px}
.vtip{position:relative;display:inline-flex;align-items:center;gap:5px;color:#78d8ff;cursor:help;border-bottom:1px dashed rgba(120,216,255,.5)}
.vtip:hover:after{content:attr(data-tip);white-space:pre-line;position:absolute;z-index:20;left:0;top:24px;min-width:210px;max-width:320px;background:linear-gradient(139deg,rgba(35,72,106,.98),rgba(10,30,53,.99));color:#e9f5ff;padding:10px 12px;border-radius:10px;border:1px solid rgba(155,214,252,.32);box-shadow:0 12px 30px rgba(0,3,14,.6);font-size:11px;line-height:1.6}
.vfault{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#ffb5bf;font-weight:700}
.vfilegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vphoto{width:100%;max-height:190px;object-fit:contain;background:rgba(11,40,74,.35);border:1px solid rgba(133,202,247,.16);border-radius:9px;margin-top:8px}
@media(max-width:1150px){.vformgrid,.vkeygrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.vformgrid,.vkeygrid,.vfilegrid{grid-template-columns:1fr}.vdoor .in{width:100%!important}}
/* 表格不换行、筛选行不撑满 */
#app .toolbar-row .in{width:auto;flex:0 1 auto}
#app .table-wrap .tbl td{white-space:nowrap}
#app .table-wrap .tbl .hint{white-space:normal}
/* 通用列表行（计划 / 安全事件等） */
.vrow{display:flex;gap:10px;align-items:center;padding:11px;border-radius:12px;border:1px solid transparent;cursor:pointer;margin-bottom:6px}
.vrow:hover{background:rgba(71,150,212,.12);border-color:rgba(148,220,255,.22)}
.vrow.sel{background:linear-gradient(105deg,rgba(29,104,195,.33),rgba(59,149,222,.10));border-color:rgba(131,204,255,.38)}
/* RBAC 角色权限 */
.role-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:320px;overflow:auto;padding-right:4px}
.role-menu-grid label{display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid rgba(133,202,247,.16);border-radius:9px;background:rgba(11,40,74,.35);font-size:11.5px;color:#cfe8f8;cursor:pointer}
.role-menu-grid label:hover{border-color:rgba(148,220,255,.38);background:rgba(71,150,212,.12)}
.role-menu-grid input{accent-color:#48b5ff;flex:none}
@media(max-width:900px){.role-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.role-menu-grid{grid-template-columns:1fr}}
/* 审计表格按车辆维度自适应宽度 */
#app .audit-tbl{min-width:0}
#app .audit-tbl th,#app .audit-tbl td{white-space:normal}
