main{scrollbar-width:thin;scrollbar-color:#cdd7e6 transparent}
input[type=file]{font-size:13px;max-width:100%;color:#75859a}
input[type=file]::file-selector-button{border:0;background:#edf3ff;color:#2461dc;border-radius:7px;padding:9px 12px;margin-right:8px;cursor:pointer}
.order-title,.event,.choice,.hint,.detail-state h1{overflow-wrap:anywhere}
@media(max-width:360px){main{padding:17px 14px}.hero{padding:20px 17px}.role-btn{padding:8px;font-size:12px}.greeting{font-size:19px}.date-line{font-size:13px;gap:8px}.detail-row{gap:10px}}

/* V3 mobile mini-program refinements */
.login-wrap{padding-bottom:18px}.login-copy h1{margin-top:8px}.login-form .field{margin-bottom:14px}.light{color:#cfe0ff}.dot{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;background:#e95358;color:#fff;border-radius:10px;font-style:normal;font-size:11px}.mini{min-height:38px;padding:9px 12px;font-size:13px;white-space:nowrap}.page-lead{margin-bottom:20px}.page-lead p{color:var(--muted);font-size:14px;margin-top:5px}.module-stack{display:grid;gap:12px}.module-card{display:flex;align-items:center;gap:13px;width:100%;padding:16px;background:#fff;border:1px solid var(--line);border-radius:17px;text-align:left}.module-card:active{transform:scale(.985)}.module-card b,.module-card small{display:block}.module-card b{font-size:16px}.module-card small{margin-top:5px}.module-card>.icon{width:18px;color:#a1acbb}.module-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:#315fbd}.module-icon .icon{width:25px;height:25px}.menu-card{padding:1px 17px}.menu-card .list-item{min-height:57px}.menu-card .list-item>span:last-child{display:flex;align-items:center;gap:5px}.menu-card .list-item .icon{width:18px}.order-card .order-title{margin-top:9px}.repair-issue{margin-top:14px;font-size:14px;color:#475873}.sticky-actions{position:sticky;bottom:-24px;margin:22px -20px -24px;padding:13px 20px calc(13px + env(safe-area-inset-bottom));background:#ffffffed;border-top:1px solid var(--line);display:flex;gap:9px;z-index:4;backdrop-filter:blur(10px)}.sticky-actions>*{flex:1;min-width:0}.event small{display:block;margin-top:4px}.event>.badge{margin-left:7px}.vehicle-hero{display:flex;align-items:center;gap:13px;margin-bottom:18px}.vehicle-hero h1{font-size:24px}.vehicle-hero>span:last-child{margin-left:auto}.car-thumb.large{width:72px;height:62px}.car-thumb.large .icon{width:40px;height:40px}.ledger{padding:5px 17px}.ledger-item{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.ledger-item:last-child{border:0}.ledger-item b,.ledger-item small{display:block}.ledger-kind{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#edf3ff;color:#2461dc;font-weight:700}.ledger-kind.fuel{background:#e9f8f1;color:#26815c}.ledger-kind.repair{background:#fff1e2;color:#a96b20}.notice{display:flex;align-items:center;gap:11px}.notice p{font-size:13px;color:#65748a;line-height:1.5;margin:4px 0}.notice>.icon{width:18px;color:#9aa7b8}.notice-dot{width:8px;height:8px;background:#e64d56;border-radius:50%;flex-shrink:0}.import-box{text-align:center;padding:31px 20px}.import-box>.icon{width:43px;height:43px;color:var(--blue);margin-bottom:11px}.import-box p{font-size:13px;color:var(--muted);margin:7px 0 17px}.import-stats{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.import-stats b{font-size:24px;border-right:1px solid var(--line)}.import-stats b:last-child{border:0}.import-stats small{display:block;font-weight:400}.red-text{color:#bd404c}.photo-capture{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:17px}.capture{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:110px;padding:15px;background:#f5f8fc;border:1px dashed #b9c8db;border-radius:13px;color:#50617b}.capture .icon{color:var(--blue);width:27px;height:27px}.capture small{display:block}.capture.captured{background:#eaf8f1;border-color:#6cbe92;color:#237753}.wide-capture{width:100%;min-height:94px;margin-bottom:18px}dialog form{overflow-y:auto;max-height:calc(80dvh - 80px);padding:2px 1px 12px}.profile p{font-size:13px;color:var(--muted)}.choice{cursor:pointer}.choice .avatar{width:39px;height:39px;font-size:15px}.choice+.btn{margin-top:12px}
.flow-list{padding:4px 17px}.flow-node{display:flex;align-items:center;gap:12px;position:relative;min-height:58px;padding:9px 0}.flow-node:not(:last-child):after{content:"";position:absolute;left:15px;top:43px;bottom:-11px;width:2px;background:#e4eaf2}.flow-mark{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f0f3f7;color:#91a0b4;font-size:12px;font-weight:700;flex-shrink:0}.flow-mark .icon{width:17px;height:17px}.flow-node b,.flow-node small{display:block}.flow-node small{margin-top:3px}.flow-node.done .flow-mark{background:#e5f6ed;color:#23805a}.flow-node.done:after{background:#b6e4ca}.flow-node.current .flow-mark{background:#2461dc;color:#fff;box-shadow:0 0 0 4px #2461dc18}.flow-node.current b{color:#1c58cf}.flow-node.rejected .flow-mark,.flow-node.cancelled .flow-mark{background:#fcebed;color:#c24a53}.flow-node.rejected b,.flow-node.cancelled b{color:#b13e49}
@media(max-width:360px){.quick-grid{gap:9px}.quick{padding:14px}.module-card{padding:14px 12px}.sticky-actions{margin-left:-14px;margin-right:-14px}.two{grid-template-columns:1fr}.photo-capture{grid-template-columns:1fr 1fr}.capture{padding:10px;font-size:13px}}
/* V3.0 quote editor refinements */
.quote-editor{border:1px solid var(--line);border-radius:13px;padding:12px;background:#f8faff;margin-bottom:18px}.quote-editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px}.quote-editor-head small{font-size:11px}.quote-lines{display:grid;gap:9px}.quote-line{display:grid;grid-template-columns:1.5fr .55fr .65fr .9fr;gap:7px;padding:10px 0;border-top:1px solid var(--line)}.quote-line:first-child{border-top:0}.quote-line input{padding:8px;font-size:12px}.quote-line b{grid-column:1/4;font-size:13px;color:#47617f}.quote-remove{grid-column:4;background:none;color:#d15a60;font-size:12px;padding:0;text-align:right}.quote-total{border-top:1px dashed #cbd7e6;margin-top:12px;padding-top:12px;display:flex;justify-content:space-between;color:#53647c;font-size:14px}.quote-total b{font-size:17px;color:#2461dc}.quote-add{margin-top:12px;min-height:39px;padding:8px}.quote-readonly{border:1px solid var(--line);border-radius:12px;overflow:hidden}.quote-readonly-head,.quote-readonly-row{display:grid;grid-template-columns:1.25fr 1.1fr .8fr;gap:8px;padding:11px 10px;font-size:12px;align-items:center}.quote-readonly-head{background:#f3f6fb;color:#75839a}.quote-readonly-row{border-top:1px solid var(--line)}.quote-readonly-row span:nth-child(2),.quote-readonly-row b{text-align:right}.quote-readonly-row small{display:block;font-size:11px}

/* V3.0 mobile usability pass */
.mini{min-height:44px;padding:10px 12px}.chip{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.notice-dot.read{visibility:hidden}
dialog form{display:flex;flex-direction:column;max-height:calc(80dvh - 80px);overflow:hidden}.sheet-body{overflow-y:auto;padding:2px 1px 12px}.sheet-footer{position:sticky;bottom:0;padding:12px 1px calc(2px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:1}
.current-task{margin-top:16px;background:#f4f8ff;border-color:#dbe8ff}.current-task small{display:block;color:#5e7ba9;margin-bottom:5px}.current-task b{font-size:16px}.current-task p{font-size:13px;color:#5f718a;margin-top:5px}.flow-details,.history-details{display:block;margin-top:15px}.flow-details summary,.history-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer}.flow-details summary::-webkit-details-marker,.history-details summary::-webkit-details-marker{display:none}.flow-details summary b,.history-details summary b,.flow-details summary small,.history-details summary small{display:block}.flow-details summary small,.history-details summary small{margin-top:3px}.flow-toggle{color:var(--blue);font-size:13px;white-space:nowrap}.flow-details[open] summary,.history-details[open] summary{border-radius:14px 14px 0 0;border-bottom-color:transparent}.flow-details[open] .flow-list,.history-details[open] .timeline{margin:0;border-radius:0 0 14px 14px}.flow-details[open] .flow-toggle,.history-details[open] .flow-toggle{font-size:0}.flow-details[open] .flow-toggle:after,.history-details[open] .flow-toggle:after{content:'收起';font-size:13px}.history-more{margin-top:12px;padding-top:10px;border-top:1px dashed #d7e1ef}.history-more summary{color:var(--blue);font-size:13px;cursor:pointer}.history-more .event{margin-top:14px}
.quote-line{display:grid;grid-template-columns:1fr;gap:10px;padding:12px;border:1px solid #e4ebf4;border-radius:11px;background:#fff}.quote-line:first-child{border-top:1px solid #e4ebf4}.quote-line input{padding:10px;font-size:13px}.quote-project{font-weight:600}.quote-fields{display:grid;grid-template-columns:.8fr 1fr 1.25fr;gap:8px}.quote-fields label{display:grid;gap:5px;color:#75839a;font-size:11px}.quote-line-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px;font-size:13px;color:#667890}.quote-line-footer b{color:#47617f}.quote-remove{min-height:36px;background:none;color:#d15a60;font-size:13px;padding:6px 0;text-align:right}.quote-add{min-height:44px}
.chip{gap:6px}.chip-count{font-style:normal;min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;border-radius:9px;background:#edf1f7;color:#68778c;font-size:11px;font-variant-numeric:tabular-nums}.chip.active .chip-count{background:#ffffff2e;color:#fff}.capsule{gap:10px}.capsule-dots{display:flex;gap:3px;align-items:center}.capsule-dots b{width:4px;height:4px;border-radius:50%;background:#1d2b3d}.capsule-divider{height:16px!important;width:1px!important;background:#d8dfe8!important}.capsule-circle{width:16px;height:16px;border:2px solid #1d2b3d;border-radius:50%;position:relative}.capsule-circle:after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:#1d2b3d;left:4px;top:4px}.status-icons{display:flex;align-items:center;gap:7px;color:#19283e}.status-icons i{display:block;position:relative}.signal{width:13px;height:10px;background:linear-gradient(to top,transparent 0 15%,currentColor 15% 100%);clip-path:polygon(0 100%,0 70%,18% 70%,18% 52%,38% 52%,38% 34%,60% 34%,60% 16%,82% 16%,82% 0,100% 0,100% 100%)}.wifi{width:13px;height:9px;border:2px solid currentColor;border-left-color:transparent;border-right-color:transparent;border-bottom:0;border-radius:50% 50% 0 0}.wifi:after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor;bottom:-1px;left:3px}.battery{width:19px;height:10px;border:1.5px solid currentColor;border-radius:2px}.battery:before{content:'';position:absolute;top:2px;right:-3px;width:2px;height:4px;background:currentColor;border-radius:0 1px 1px 0}.battery:after{content:'';position:absolute;inset:2px;background:currentColor;border-radius:1px}.demo-tools{background:#fff;border:1px solid var(--line);border-radius:13px;padding:0 15px}.demo-tools summary{padding:14px 0;color:#6e7f94;font-size:14px;cursor:pointer}.demo-tools[open] summary{border-bottom:1px solid var(--line);margin-bottom:13px}.demo-tools small{display:block;text-align:center;padding:10px 0 13px;color:var(--muted)}
.vehicle-search{position:relative;display:flex;align-items:center;gap:7px;margin:16px 0 10px}.vehicle-search>.icon{position:absolute;left:12px;width:19px;color:#94a3b8}.vehicle-search input{padding-left:40px}.vehicle-search .link{position:absolute;right:12px;padding:8px}.vehicle-filter-panel{margin:3px 0 18px;background:#fff;border:1px solid var(--line);border-radius:14px}.vehicle-filter-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;list-style:none;cursor:pointer}.vehicle-filter-panel summary::-webkit-details-marker{display:none}.vehicle-filter-panel summary b,.vehicle-filter-panel summary small{display:block}.vehicle-filter-panel summary small{margin-top:3px}.vehicle-filter-panel[open] summary{border-bottom:1px solid var(--line)}.vehicle-filter-form{padding:15px 16px 16px}.vehicle-filter-form .field{margin-bottom:14px}.vehicle-filter-form .actions{margin-top:2px}.vehicle-results{margin-top:4px}
