:root{font-family:Roboto,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{min-width:320px;min-height:100vh}button{cursor:pointer}#app{width:100%;min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.login-container[data-v-70ab0f19]{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f0f2f5;padding:24px;font-family:Google Sans,Roboto,Segoe UI,Arial,sans-serif}.login-card[data-v-70ab0f19]{background:#fff;border-radius:28px;padding:48px 40px;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;text-align:center;max-width:448px;width:100%;display:flex;flex-direction:column;align-items:center;transition:box-shadow .2s}@media(max-width:600px){.login-card[data-v-70ab0f19]{box-shadow:none;background:transparent;padding:24px}.login-container[data-v-70ab0f19]{background-color:#fff;align-items:flex-start;padding-top:40px}}.logo[data-v-70ab0f19]{width:48px;height:48px;margin-bottom:16px;object-fit:contain}h1[data-v-70ab0f19]{font-size:24px;color:#1f1f1f;margin-bottom:12px;font-weight:400;line-height:32px}.subtitle[data-v-70ab0f19]{color:#444746;font-size:16px;margin-bottom:32px;line-height:24px}.qr-code-wrapper[data-v-70ab0f19]{margin:8px 0 24px;display:flex;flex-direction:column;align-items:center;position:relative;padding:16px;border:1px solid #e0e3e7;border-radius:16px}.qr-code[data-v-70ab0f19]{width:200px;height:200px;display:block}.countdown[data-v-70ab0f19]{margin-top:12px;color:#444746;font-size:12px;background:#f0f2f5;padding:4px 12px;border-radius:12px}.loading[data-v-70ab0f19]{padding:80px 0;color:#444746;font-size:14px}.refresh-btn[data-v-70ab0f19]{margin-top:16px;height:40px;padding:0 24px;background-color:#0b57d0;color:#fff;border:none;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.refresh-btn[data-v-70ab0f19]:hover{background-color:#0842a0;box-shadow:0 1px 2px #0000004d,0 1px 3px 1px #00000026}.tips[data-v-70ab0f19]{margin-top:40px;padding:16px;background-color:#f8f9fa;border-radius:12px;width:100%;text-align:left;box-sizing:border-box}.tips p[data-v-70ab0f19]{font-size:14px;font-weight:500;color:#1f1f1f;margin-bottom:12px;display:flex;align-items:center;gap:12px}.tips ul[data-v-70ab0f19]{list-style:none;padding:0;margin:0}.tips li[data-v-70ab0f19]{color:#444746;font-size:13px;line-height:20px;padding:4px 0 4px 24px;position:relative}.tips li[data-v-70ab0f19]:before{content:"";position:absolute;left:8px;top:8px;width:4px;height:4px;border-radius:50%;background-color:#444746}.declaration-list[data-v-75dc116f]{min-height:100vh;background:#f0f2f5;padding-bottom:40px;font-family:Google Sans,Roboto,sans-serif}.header[data-v-75dc116f]{background:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;position:sticky;top:0;z-index:100}.header-content[data-v-75dc116f]{max-width:1400px;margin:0 auto;padding:12px 24px;display:flex;justify-content:space-between;align-items:center}.header-left h1[data-v-75dc116f]{font-size:22px;color:#1f1f1f;margin:0;font-weight:500;display:flex;align-items:center;gap:12px}.user-info[data-v-75dc116f]{margin-top:2px;font-size:14px;color:#444746}.company-name[data-v-75dc116f]{color:#0b57d0;font-weight:500;margin-left:4px}.role-badge[data-v-75dc116f]{display:inline-block;padding:2px 12px;border-radius:12px;font-size:12px;font-weight:500;margin-left:8px;letter-spacing:.5px}.role-badge.driver[data-v-75dc116f]{background:#e3f2fd;color:#1565c0}.role-badge.company[data-v-75dc116f]{background:#e8f5e9;color:#2e7d32}.header-right[data-v-75dc116f]{display:flex;gap:12px}.action-btn[data-v-75dc116f]{padding:0 24px;height:40px;border-radius:20px;border:1px solid #747775;background:transparent;color:#0b57d0;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1)}.action-btn[data-v-75dc116f]:hover{background:#0b57d014;border-color:#0b57d0}.action-btn[data-v-75dc116f]:active{background:#0b57d01f}.action-btn[data-v-75dc116f]:disabled{color:#1f1f1f;opacity:.38;border-color:#1f1f1f;cursor:not-allowed;background:transparent}.logout-btn[data-v-75dc116f]{color:#b3261e;border-color:#857372}.logout-btn[data-v-75dc116f]:hover{background:#b3261e14;border-color:#b3261e;color:#b3261e}.primary-btn[data-v-75dc116f]{padding:0 24px;height:40px;background:#0b57d0;color:#fff;border:none;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1);display:inline-flex;align-items:center;justify-content:center}.primary-btn[data-v-75dc116f]:hover{background:#0842a0;box-shadow:0 1px 3px 1px #00000026,0 1px 2px #0000004d}.main-content[data-v-75dc116f]{max-width:1400px;margin:24px auto;padding:0 24px}.declaration-grid[data-v-75dc116f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:24px}.declaration-card[data-v-75dc116f]{background:#fff;border-radius:24px;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;transition:all .2s cubic-bezier(.2,0,0,1);border:none;overflow:hidden;display:flex;flex-direction:column}.declaration-card[data-v-75dc116f]:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.card-route-header[data-v-75dc116f]{padding:24px 24px 16px;display:flex;justify-content:space-between;align-items:center}.route-point[data-v-75dc116f]{display:flex;flex-direction:column;align-items:center}.route-point.start[data-v-75dc116f]{align-items:flex-start}.route-point.end[data-v-75dc116f]{align-items:flex-end}.route-point .city[data-v-75dc116f]{font-size:20px;font-weight:500;color:#1f1f1f;line-height:1.2}.route-point .country[data-v-75dc116f]{font-size:12px;color:#747775;margin-top:4px}.route-divider[data-v-75dc116f]{flex:1;display:flex;align-items:center;justify-content:center;padding:0 16px 18px;gap:8px;color:#1a73e8}.route-divider .line[data-v-75dc116f]{height:1px;background:#e0e2e5;flex:1}.route-divider .icon-wrapper[data-v-75dc116f]{display:flex;align-items:center;justify-content:center}.card-details[data-v-75dc116f]{background:#f8f9fa;margin:0 12px;padding:16px;border-radius:12px;display:flex;flex-direction:column;gap:12px}.detail-row[data-v-75dc116f]{display:flex;justify-content:space-between;align-items:center;font-size:14px}.detail-row .label[data-v-75dc116f]{color:#747775}.detail-row .value[data-v-75dc116f]{color:#1f1f1f;font-weight:500;text-align:right}.detail-row .value.highlight[data-v-75dc116f]{font-size:16px;font-weight:500}.card-footer[data-v-75dc116f]{padding:16px 24px;display:flex;justify-content:flex-end}.detail-btn[data-v-75dc116f]{width:100%;height:40px;border-radius:20px;background:transparent;color:#0b57d0;border:1px solid #747775;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.detail-btn[data-v-75dc116f]:hover{background:#0b57d014;border-color:#0b57d0}.modal-overlay[data-v-75dc116f]{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:24px}.modal-content[data-v-75dc116f]{background:#fff;width:100%;max-width:480px;border-radius:28px;box-shadow:0 24px 48px -12px #0000002e;display:flex;flex-direction:column;max-height:90vh;animation:modal-in-75dc116f .3s cubic-bezier(.2,0,0,1)}@keyframes modal-in-75dc116f{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-header[data-v-75dc116f]{padding:24px 24px 16px;display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-75dc116f]{font-size:24px;font-weight:400;color:#1f1f1f;margin:0}.close-btn[data-v-75dc116f]{background:transparent;border:none;padding:8px;border-radius:50%;cursor:pointer;color:#444746;display:flex;align-items:center;justify-content:center}.close-btn[data-v-75dc116f]:hover{background:#00000014}.modal-body[data-v-75dc116f]{padding:0 24px 24px;overflow-y:auto}.route-display[data-v-75dc116f]{display:flex;justify-content:space-between;align-items:center;background:#f0f2f5;padding:24px;border-radius:16px;margin-bottom:24px}.route-display .point[data-v-75dc116f]{display:flex;flex-direction:column;align-items:center}.route-display .city[data-v-75dc116f]{font-size:20px;font-weight:500;color:#1f1f1f}.route-display .sub[data-v-75dc116f]{font-size:12px;color:#747775;margin-top:4px}.route-display .arrow[data-v-75dc116f]{font-size:24px;color:#0b57d0;font-weight:300;padding-bottom:18px}.info-grid[data-v-75dc116f]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-cell[data-v-75dc116f]{background:#f8f9fa;padding:12px 16px;border-radius:12px}.info-cell.full[data-v-75dc116f]{grid-column:span 2}.info-cell label[data-v-75dc116f]{display:block;font-size:12px;color:#747775;margin-bottom:4px}.info-cell div[data-v-75dc116f]{font-size:14px;color:#1f1f1f;font-weight:500;word-break:break-all}.status-tag[data-v-75dc116f]{color:#006c4c!important;font-weight:500;display:inline-flex;align-items:center}.modal-footer[data-v-75dc116f]{padding:16px 24px;border-top:1px solid #e0e2e5;display:flex;justify-content:flex-end;gap:12px}.print-action-btn[data-v-75dc116f]{padding:0 24px;height:40px;border-radius:20px;background:#0b57d0;color:#fff;border:none;font-weight:500;display:flex;align-items:center;gap:8px;cursor:pointer}.print-action-btn[data-v-75dc116f]:hover{background:#0842a0;box-shadow:0 1px 2px #0000004d}.loading-state[data-v-75dc116f],.empty-state[data-v-75dc116f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:120px 0;color:#444746}.spinner[data-v-75dc116f]{width:48px;height:48px;border:4px solid #e0e2e5;border-top:4px solid #0b57d0;border-radius:50%;animation:spin-75dc116f 1s linear infinite;margin-bottom:24px}.empty-icon[data-v-75dc116f]{margin-bottom:24px;opacity:.8;color:#c4c7c5}.empty-state h2[data-v-75dc116f]{font-size:22px;color:#1f1f1f;margin-bottom:8px;font-weight:400}.empty-state p[data-v-75dc116f]{margin-bottom:32px;color:#444746}@keyframes spin-75dc116f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.print-only[data-v-75dc116f]{display:none}@media print{.header[data-v-75dc116f],.main-content[data-v-75dc116f],.modal-overlay[data-v-75dc116f],.declaration-list[data-v-75dc116f]>*:not(#print-area){display:none!important}.declaration-list[data-v-75dc116f]{background:#fff;padding:0;min-height:auto}.print-only[data-v-75dc116f]{display:block;width:100%;padding:0}.print-content[data-v-75dc116f]{position:relative;width:210mm;height:297mm;margin:0;padding:0;font-family:SimSun,宋体,serif;color:#000;background:#fff}.print-field[data-v-75dc116f]{position:absolute}.field-value[data-v-75dc116f]{font-size:12pt;font-weight:700;color:#000;letter-spacing:.5px}.print-field[data-field=年份][data-v-75dc116f]{top:16mm;left:132mm;font-size:11pt}.print-field[data-field=编号][data-v-75dc116f]{top:27mm;left:132mm;font-size:11pt}.print-field[data-field=业户公司][data-v-75dc116f]{top:113mm;left:100mm}.print-field-bilingual[data-v-75dc116f]{display:flex;flex-direction:column;gap:1mm}.field-value-vi[data-v-75dc116f],.field-value-zh[data-v-75dc116f]{font-size:9pt;font-weight:700;color:#000;line-height:1.1}.print-field[data-field=车牌号][data-v-75dc116f]{top:134mm;left:100mm;font-size:11pt}.print-field[data-field=有效期][data-v-75dc116f]{top:144mm;left:100mm;font-size:10pt}.print-field[data-field=载重][data-v-75dc116f]{top:156mm;left:100mm;font-size:11pt}.print-field[data-field=运输路线][data-v-75dc116f]{top:166mm;left:100mm;font-size:10pt}.print-field[data-field=打印时间][data-v-75dc116f]{top:205mm;left:142mm;font-size:11pt}.print-content[data-v-75dc116f]{page-break-inside:avoid}@page{margin:0;size:A4}body[data-v-75dc116f]{margin:0;padding:0}}@media(max-width:768px){.header-content[data-v-75dc116f]{padding:16px;flex-direction:column;gap:16px;align-items:stretch}.header-left[data-v-75dc116f]{display:flex;flex-direction:column;align-items:center;text-align:center}.header-right[data-v-75dc116f]{width:100%;justify-content:space-between}.action-btn[data-v-75dc116f]{flex:1;justify-content:center}.main-content[data-v-75dc116f]{padding:0 16px}.declaration-grid[data-v-75dc116f]{grid-template-columns:1fr}}
