/* 华为样车 POD 签收系统 - 样式
   风格：浅灰底、蓝色主调，移动端优先 */

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "Helvetica Neue", sans-serif; font-size: 14px; color: #1f2937; background: #f4f6fa; -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; display: block; }
a { color: #2563eb; text-decoration: none; }
a:hover { text-decoration: underline; }

.bg-light { background: #f4f6fa; }

/* 容器 */
.container { max-width: 1200px; margin: 0 auto; padding: 16px; }
.container-sm { max-width: 480px; margin: 0 auto; padding: 16px; }

/* 卡片 */
.card { background: #fff; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,.06); margin-bottom: 16px; overflow: hidden; }
.card-header { padding: 12px 16px; border-bottom: 1px solid #e5e7eb; background: #fafbfc; font-weight: 600; }
.card-body { padding: 16px; }
.card-title { margin: 0 0 12px; font-size: 16px; }

/* 表单 */
.form-group { margin-bottom: 12px; }
.form-group label { display: block; margin-bottom: 4px; font-size: 13px; color: #4b5563; }
/* 关键修复：包含裸 <input>（无 type 属性，浏览器默认 text）以及所有显式 type */
.form-control, input, input[type=text], input[type=password], input[type=tel], input[type=email], input[type=number], input[type=date], input[type=time], input[type=datetime-local], input[type=search], input[type=url], select, textarea {
    width: 100%; padding: 9px 11px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 14px;
    background: #fff; color: #111827; box-sizing: border-box; min-height: 36px;
    font-family: inherit;
}
.form-control:focus, input:focus, select:focus, textarea:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
textarea { min-height: 80px; resize: vertical; }
select { cursor: pointer; }
input[disabled], select[disabled], textarea[disabled] { background: #f3f4f6; color: #6b7280; cursor: not-allowed; opacity: .8; }
/* 关键例外：checkbox / radio 不参与上述通配拉伸，保持原生紧凑尺寸 */
input[type=checkbox], input[type=radio] {
    width: 16px; height: 16px; min-height: 0; padding: 0; margin: 0;
    flex-shrink: 0; cursor: pointer; accent-color: #2563eb;
}

/* 按钮 */
.btn { display: inline-block; padding: 10px 18px; border-radius: 6px; border: 1px solid transparent; background: #2563eb; color: #fff; cursor: pointer; font-size: 14px; line-height: 1.2; text-decoration: none; }
.btn:hover { background: #1d4ed8; text-decoration: none; }
.btn:disabled { opacity: .6; cursor: not-allowed; }
.btn-primary { background: #2563eb; color: #fff; }
.btn-primary:hover { background: #1d4ed8; }
.btn-success { background: #16a34a; }
.btn-success:hover { background: #15803d; }
.btn-danger  { background: #dc2626; }
.btn-danger:hover { background: #b91c1c; }
.btn-warning { background: #f59e0b; }
.btn-outline { background: transparent; color: #2563eb; border-color: #2563eb; }
.btn-outline:hover { background: #2563eb; color: #fff; }
.btn-block { display: block; width: 100%; }
.btn-sm  { padding: 6px 12px; font-size: 13px; }
.btn-lg  { padding: 14px 24px; font-size: 16px; }

/* 提示 */
.alert { padding: 10px 14px; border-radius: 6px; margin-bottom: 12px; font-size: 14px; border: 1px solid transparent; }
.alert-info    { background: #eff6ff; color: #1e3a8a; border-color: #bfdbfe; }
.alert-success { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }
.alert-error   { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.alert-warning { background: #fffbeb; color: #92400e; border-color: #fde68a; }

/* 表格 */
.table { width: 100%; border-collapse: collapse; background: #fff; }
.table th, .table td { padding: 10px 12px; border-bottom: 1px solid #e5e7eb; text-align: left; font-size: 13px; vertical-align: middle; }
.table th { background: #f9fafb; font-weight: 600; color: #374151; }
.table tr:hover td { background: #f9fafb; }
.table-sm th, .table-sm td { padding: 6px 10px; font-size: 12px; }

/* 标签 */
.badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; line-height: 1.4; }
.badge-pending   { background: #f3f4f6; color: #374151; }
.badge-submitted { background: #fef3c7; color: #92400e; }
.badge-qualified { background: #d1fae5; color: #065f46; }
.badge-unqualified { background: #fee2e2; color: #991b1b; }
.badge-info      { background: #dbeafe; color: #1e40af; }
.badge-cancelled { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
.badge-cancelled-user { background: #fef3c7; color: #92400e; border: 1px solid #fde68a; }

/* ===== 保密车重点展示（需求3） ===== */
.conf-tag {
    display: inline-block; padding: 2px 8px; border-radius: 999px;
    background: linear-gradient(135deg,#dc2626,#991b1b); color: #fff;
    font-size: 11px; font-weight: 700; letter-spacing: .5px;
    box-shadow: 0 1px 4px rgba(220,38,38,.35); white-space: nowrap;
}
.conf-banner {
    display: flex; gap: 12px; align-items: flex-start;
    background: linear-gradient(135deg,#fef2f2,#fee2e2);
    border: 2px solid #dc2626; border-left-width: 8px;
    border-radius: 10px; padding: 12px 16px; margin-bottom: 12px;
}
.conf-banner-ico { font-size: 26px; line-height: 1; }
.conf-banner b { color: #991b1b; font-size: 15px; }
.conf-banner-sub { color: #7f1d1d; font-size: 12px; line-height: 1.7; margin-top: 3px; }
/* 列表行高亮 */
/* 红色竖线只画在第一列（首列），其余列不显示，避免整行被切成一条条竖线 */
tr.row-confidential td { background: #fff5f5 !important; }
tr.row-confidential td:first-child { box-shadow: inset 3px 0 0 #dc2626; }
tr.row-confidential:hover td { background: #fee2e2 !important; }
/* 出车预警（需求6） */
tr.row-alert-overdue td, tr.row-alert-danger td { background: #fff1f2 !important; }
tr.row-alert-warn td { background: #fffbeb !important; }

/* 警告按钮（取消订单用） */
.btn-warning { background: #f59e0b; color: #fff; border: 1px solid #f59e0b; }
.btn-warning:hover { background: #d97706; border-color: #d97706; }

/* 顶部导航（第二十四批：由「单行挤到换行」改为两层结构 —— 品牌条 + 菜单条，菜单恒为一行） */
.navbar { background: #1e3a8a; color: #fff; }
.navbar-top { background: linear-gradient(180deg, #24469b 0%, #1c377f 100%); }
.navbar-top-inner { max-width: 1200px; margin: 0 auto; padding: 0 16px; min-height: 54px;
    display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.navbar-brand { color: #fff; font-weight: 700; font-size: 17px; letter-spacing: .3px;
    display: inline-flex; align-items: center; gap: 8px; text-decoration: none; white-space: nowrap; }
.navbar-brand:hover { color: #fff; text-decoration: none; opacity: .9; }
.navbar-user { color: #c9d9f7; font-size: 13px; display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.navbar-user a { color: #fff; text-decoration: none; }
.navbar-user a:hover { color: #fff; text-decoration: underline; }
.navbar-bar { background: rgba(0,0,0,.16); border-top: 1px solid rgba(255,255,255,.10); }
.navbar-bar-inner { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.navbar-nav { display: flex; align-items: stretch; gap: 2px; overflow-x: auto; scrollbar-width: none; }
.navbar-nav::-webkit-scrollbar { display: none; }
.navbar-nav a { color: #d7e3fb; padding: 11px 14px; display: inline-block; font-size: 14px;
    border-bottom: 3px solid transparent; white-space: nowrap; transition: background .15s, color .15s; }
.navbar-nav a:hover { color: #fff; background: rgba(255,255,255,.08); text-decoration: none; }
.navbar-nav a.active { color: #fff; font-weight: 600; border-bottom-color: #fbbf24; background: rgba(255,255,255,.10); }

/* 移动端导航 */
@media (max-width: 768px) {
    .navbar-top-inner { min-height: 48px; padding: 0 12px; gap: 10px; }
    .navbar-brand { font-size: 15px; }
    .navbar-user { font-size: 12px; gap: 8px; }
    .navbar-bar-inner { padding: 0 8px; }
    .navbar-nav a { padding: 10px 11px; font-size: 13px; }
    .container { padding: 12px; }
    .card-body { padding: 14px; }
}

/* 表格横向滚动容器（订单管理 / 在途信息等宽表共用） */
.table-scroll { overflow-x: auto; overflow-y: visible; -webkit-overflow-scrolling: touch; }
.table-scroll::-webkit-scrollbar { height: 10px; }
.table-scroll::-webkit-scrollbar-track { background: #f3f4f6; }
.table-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 5px; }
.table-scroll::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* 页面标题 */
.page-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.page-title h2 { margin: 0; font-size: 20px; }

/* 分割 */
.divider { height: 1px; background: #e5e7eb; margin: 16px 0; }

/* 文本 */
.text-muted  { color: #6b7280; font-size: 12px; }
.text-danger { color: #dc2626; }
.text-success{ color: #16a34a; }
.text-warning{ color: #d97706; }
.text-center { text-align: center; }
.text-right  { text-align: right; }
.text-mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }

/* flex */
.row { display: flex; flex-wrap: wrap; gap: 12px; }
.row > .col { flex: 1; min-width: 0; }
.col-2 { flex: 2; }
.col-3 { flex: 3; }
.col-half { flex: 0 0 calc(50% - 6px); }
.col-third { flex: 0 0 calc(33.333% - 8px); }
@media (max-width: 600px) { .col-half, .col-third { flex: 0 0 100%; } }

/* 司机 H5 专用 */
.h5-card { background: #fff; border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,.06); padding: 16px; margin-bottom: 12px; }
.h5-title { font-size: 18px; font-weight: 700; margin: 0 0 8px; color: #1e3a8a; }
.h5-subtitle { color: #6b7280; font-size: 13px; margin-bottom: 12px; }
.h5-line { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px dashed #e5e7eb; font-size: 13px; }
.h5-line:last-child { border-bottom: none; }
.h5-line .lbl { color: #6b7280; }
.h5-line .val { color: #111827; font-weight: 500; text-align: right; max-width: 65%; word-break: break-all; }
.h5-step { display: flex; align-items: center; gap: 8px; padding: 10px; border-radius: 8px; background: #f3f4f6; margin-bottom: 8px; }
.h5-step .idx { width: 24px; height: 24px; background: #2563eb; color: #fff; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; }
.h5-step.done { background: #d1fae5; color: #065f46; }
.h5-step.done .idx { background: #16a34a; }
.h5-step.current { background: #dbeafe; color: #1e3a8a; border: 1px solid #93c5fd; }
.h5-step .body { flex: 1; }
.h5-step .body .t { font-weight: 600; }
.h5-step .body .d { font-size: 12px; color: #6b7280; }

.h5-camera-area {
    border: 2px dashed #93c5fd; border-radius: 8px; padding: 16px; text-align: center;
    background: #f8fafc; margin-bottom: 12px;
}
.h5-camera-area img { max-height: 320px; margin: 0 auto; border-radius: 6px; }
.h5-camera-area video { width: 100%; max-height: 320px; border-radius: 6px; background: #000; }

.issue-list { background: #fff7ed; border: 1px solid #fdba74; color: #9a3412; padding: 10px 12px; border-radius: 6px; margin-top: 8px; }
.issue-list ul { margin: 4px 0 0 18px; padding: 0; }
.issue-list li { font-size: 13px; }

/* 拍照按钮 */
.shutter-btn {
    display: flex; align-items: center; justify-content: center;
    width: 80px; height: 80px; border-radius: 50%; background: #fff;
    border: 4px solid #2563eb; box-shadow: 0 4px 12px rgba(0,0,0,.15);
    cursor: pointer; margin: 12px auto;
}
.shutter-btn:active { transform: scale(.95); }
.shutter-btn::before {
    content: ''; width: 56px; height: 56px; border-radius: 50%; background: #2563eb;
}

/* 模态 */
.modal-mask { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.modal-card { background: #fff; border-radius: 8px; max-width: 480px; width: 100%; max-height: 90vh; overflow: auto; }
.modal-card .modal-header { padding: 14px 16px; border-bottom: 1px solid #e5e7eb; font-weight: 600; }
.modal-card .modal-body { padding: 16px; }
.modal-card .modal-footer { padding: 12px 16px; border-top: 1px solid #e5e7eb; text-align: right; }

/* 步骤进度条 */
.progress-steps { display: flex; margin-bottom: 16px; }
.progress-steps .step { flex: 1; text-align: center; padding: 8px; font-size: 13px; color: #6b7280; border-bottom: 2px solid #e5e7eb; }
.progress-steps .step.active { color: #2563eb; border-color: #2563eb; font-weight: 600; }
.progress-steps .step.done   { color: #16a34a; border-color: #16a34a; }

/* utility */
.mt-1{margin-top:8px;} .mt-2{margin-top:16px;} .mt-3{margin-top:24px;}
.mb-1{margin-bottom:8px;} .mb-2{margin-bottom:16px;} .mb-3{margin-bottom:24px;}
.p-2{padding:16px;}
.gap-1{gap:8px;} .gap-2{gap:16px;}
.flex{display:flex;} .flex-center{align-items:center;justify-content:center;} .flex-1{flex:1;}
.justify-between{justify-content:space-between;}
.items-center{align-items:center;}
.w-full{width:100%;}
.hidden{display:none;}
hr { border: none; border-top: 1px solid #e5e7eb; margin: 16px 0; }

/* ===== 新增：自适应栅格（用于订单编辑页等需要不同列宽的场景） ===== */
.form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; align-items: start; }
.form-grid .col-1 { grid-column: span 1; }
.form-grid .col-2 { grid-column: span 2; }
.form-grid .col-3 { grid-column: span 3; }
.form-grid > div > label { display: block; margin-bottom: 4px; font-size: 13px; color: #4b5563; font-weight: 500; }
.form-grid > div > .text-muted { font-size: 12px; margin: 4px 0 0; }
@media (max-width: 900px) {
    .form-grid { grid-template-columns: repeat(2, 1fr); }
    .form-grid .col-3 { grid-column: span 2; }
}
@media (max-width: 600px) {
    .form-grid { grid-template-columns: 1fr; }
    .form-grid .col-2, .form-grid .col-3 { grid-column: span 1; }
}

/* ===== 新增：分享/接单卡片 ===== */
.share-card { background: linear-gradient(135deg,#1e3a8a,#2563eb); color: #fff; border-radius: 8px; padding: 16px; }
.share-card .share-title { font-size: 16px; font-weight: 700; margin: 0 0 8px; }
.share-card .share-link { background: rgba(255,255,255,.12); border: 1px dashed rgba(255,255,255,.4); border-radius: 6px; padding: 10px 12px; display: flex; align-items: center; gap: 8px; font-family: ui-monospace, monospace; font-size: 12px; word-break: break-all; }
.share-card .share-link a { color: #fff; text-decoration: underline dotted; }
.share-card .qr-thumb { background:#fff; padding:6px; border-radius:4px; }
.share-card .qr-thumb img { width: 120px; height: 120px; display: block; }
.share-card .badge-deposit { background: rgba(255,255,255,.18); padding: 3px 10px; border-radius: 999px; font-size: 12px; }
.toggle-row { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #fafbfc; border-radius: 6px; margin-bottom: 10px; }
.toggle-row label { font-weight: 500; }

/* ===== 申请 / 押金状态 ===== */
.app-card { background: #fff; border-radius: 8px; padding: 16px; margin-bottom: 12px; border: 1px solid #e5e7eb; }
.app-card .app-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.app-card .app-head .phone { font-weight: 700; color: #1e3a8a; font-size: 16px; }
.app-card .app-head .ts { font-size: 12px; color: #6b7280; }
.app-card .img-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 8px 0; }
.app-card .img-grid .img-slot { background: #f3f4f6; border-radius: 6px; padding: 6px; text-align: center; font-size: 12px; }
.app-card .img-grid .img-slot img { width: 100%; height: 100px; object-fit: cover; border-radius: 4px; margin-bottom: 4px; }
.app-card .badge-pending   { background:#fef3c7; color:#92400e; }
.app-card .badge-approved  { background:#d1fae5; color:#065f46; }
.app-card .badge-rejected  { background:#fee2e2; color:#991b1b; }
.badge.badge-deposit-unpaid      { background:#e5e7eb; color:#374151; }
.badge.badge-deposit-submitted   { background:#dbeafe; color:#1e3a8a; }
.badge.badge-deposit-confirmed   { background:#d1fae5; color:#065f46; }
.badge.badge-deposit-refused     { background:#fee2e2; color:#991b1b; }

/* ===== 公开接单 H5（无需登录） ===== */
/* 第二十四批补：司机 H5 防横向漂移 —— 微信里打开的司机页面不允许左右滑动。
   H5 页 <body> 带 public-h5 类：页面级横向溢出裁掉 + 长串（VIN/地址/单号）强制折行，
   不许把页面撑宽。后台不受影响（后台表格走 .table-scroll 横滑）。
   列表/表格的横向滚动都在 .table-scroll / .navbar-nav 自己的容器内，同样不受影响。 */
body.public-h5 { overflow-x: hidden; max-width: 100%; position: relative; overscroll-behavior-x: none; }
.public-shell { max-width: 560px; margin: 0 auto; padding: 16px; overflow-x: hidden; }
.public-shell, .public-shell * { word-break: break-word; }
.public-shell img, .o-card img, .o-in, select, textarea { max-width: 100%; }
.public-hero { background: linear-gradient(135deg,#1e3a8a,#2563eb); color: #fff; padding: 24px 20px; border-radius: 12px; margin-bottom: 14px; text-align: center; }
.public-hero h2 { margin: 0 0 4px; font-size: 18px; }
.public-hero .vin { font-family: ui-monospace, monospace; font-size: 22px; font-weight: 700; letter-spacing: 1px; margin-top: 6px; word-break: break-all; }
.public-card { background: #fff; border-radius: 10px; padding: 16px; box-shadow: 0 2px 6px rgba(0,0,0,.06); margin-bottom: 12px; }

/* 粘贴识别区 */
.paste-area { min-height: 120px; border: 2px dashed #93c5fd; border-radius: 8px; padding: 12px; background: #f8fafc; outline: none; }
.paste-area:focus { border-color: #2563eb; background: #fff; }
.paste-thumb-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.paste-thumb-row img { width: 80px; height: 80px; object-fit: cover; border-radius: 4px; border: 1px solid #e5e7eb; }
.paste-preview { border:1px solid #e5e7eb; border-radius:6px; padding:10px; margin-top:8px; max-height:240px; overflow:auto; background:#fff; }

/* 二维码占位 */
.qrcode-box { background:#fff; padding: 10px; border-radius: 6px; display: inline-block; border:1px solid #e5e7eb; }

/* ============================================================
 * 司机端 H5（share/view.php）2026-09-20 排版重做
 * 目标：一屏看清关键信息 + 一眼知道下一步做什么
 * ============================================================ */
.o-hero{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;border-radius:14px;padding:16px 18px;margin-bottom:12px;}
.o-hero .o-hero-t{font-size:15px;font-weight:600;opacity:.92;display:flex;justify-content:space-between;align-items:center;gap:8px;}
.o-hero .o-vin{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:24px;font-weight:800;letter-spacing:1.5px;margin:8px 0 0;word-break:break-all;line-height:1.25;}
.o-hero .o-vin-s{font-size:12px;opacity:.85;letter-spacing:1px;font-weight:500;}
.o-chips{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap;}
.o-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:rgba(255,255,255,.22);}
.o-chip.is-red{background:#dc2626;}
.o-chip.is-green{background:#059669;}
.o-chip.is-amber{background:#d97706;}

.o-sec{background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 2px 8px rgba(0,0,0,.06);margin-bottom:12px;}
.o-sec-t{font-size:15px;font-weight:700;color:#1e3a8a;margin:0 0 10px;display:flex;justify-content:space-between;align-items:center;gap:8px;}
.o-sec-t small{font-weight:500;color:#6b7280;font-size:12px;}

.o-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;}
.o-grid.is-1{grid-template-columns:1fr;}
.o-grid.is-3{grid-template-columns:1fr 1fr 1fr;}
.o-it{min-width:0;}
.o-it .k{display:block;font-size:11px;color:#6b7280;margin-bottom:2px;letter-spacing:.3px;}
.o-it .v{display:block;font-size:15px;font-weight:600;color:#111827;word-break:break-all;line-height:1.35;}
.o-it .v.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;}
.o-it .v.mut{color:#9ca3af;font-weight:500;}
.o-it .v.big{font-size:17px;font-weight:800;}
/* 箱车运输：重点加粗高亮 */
.o-it .v.is-box{color:#b45309;font-weight:800;font-size:16px;background:#fef3c7;border-radius:6px;padding:2px 8px;display:inline-block;}
.o-it .v.is-conf{color:#b91c1c;font-weight:800;}

.o-note{margin-top:12px;background:#fffbeb;border-left:4px solid #f59e0b;border-radius:0 8px 8px 0;padding:10px 12px;font-size:14px;color:#1f2937;line-height:1.55;}
.o-note b{color:#92400e;}
.o-note.is-empty{background:#f9fafb;border-left-color:#d1d5db;color:#9ca3af;}

.o-addr{border:1px solid #e5e7eb;border-radius:10px;padding:11px 12px;margin-bottom:10px;background:#fafafa;}
.o-addr:last-child{margin-bottom:0;}
.o-addr.is-from{border-left:4px solid #2563eb;}
.o-addr.is-to{border-left:4px solid #059669;}
.o-addr .o-addr-h{font-size:12px;font-weight:700;color:#374151;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;gap:8px;}
.o-addr .o-addr-a{font-size:15px;font-weight:600;color:#111827;line-height:1.5;word-break:break-all;}
.o-addr .o-addr-p{font-size:13px;color:#4b5563;margin-top:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.o-addr .o-addr-p .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;font-weight:700;color:#1e3a8a;}
.o-tel{display:inline-flex;align-items:center;gap:4px;background:#2563eb;color:#fff!important;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700;text-decoration:none;}

/* 下一步操作（吸顶） */
.o-next{position:sticky;top:0;z-index:30;background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;border-radius:0 0 14px 14px;padding:12px 16px;margin:-16px -16px 12px;box-shadow:0 6px 16px rgba(37,99,235,.28);}
.o-next .o-next-k{font-size:11px;opacity:.85;letter-spacing:.5px;}
.o-next .o-next-t{font-size:17px;font-weight:800;margin-top:3px;line-height:1.3;}
.o-next .o-next-m{font-size:12px;opacity:.9;margin-top:4px;line-height:1.5;}
.o-next.is-done{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 6px 16px rgba(5,150,105,.28);}
.o-next .o-next-btn{display:inline-block;margin-top:10px;background:#fff;color:#1d4ed8;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:800;text-decoration:none;border:0;cursor:pointer;}

/* 步骤列表（紧凑 + 折叠） */
.st-list{list-style:none;margin:0;padding:0;}
.st{border:1px solid #e5e7eb;border-radius:10px;margin-bottom:8px;background:#fff;overflow:hidden;}
.st-h{display:flex;align-items:center;gap:10px;padding:11px 12px;cursor:default;}
.st-n{flex:0 0 24px;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;background:#e5e7eb;color:#4b5563;font-size:12px;font-weight:700;}
.st-t{flex:1;min-width:0;font-size:14.5px;font-weight:700;color:#1f2937;}
.st-m{font-size:11.5px;color:#6b7280;font-weight:500;margin-top:2px;line-height:1.5;}
.st-p{flex:0 0 auto;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:#e5e7eb;color:#4b5563;white-space:nowrap;}
.st.is-done{background:#f0fdf4;border-color:#a7f3d0;}
.st.is-done .st-n{background:#059669;color:#fff;}
.st.is-done .st-p{background:#059669;color:#fff;}
.st.is-cur{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.st.is-cur .st-n{background:#2563eb;color:#fff;}
.st.is-cur .st-p{background:#2563eb;color:#fff;}
.st.is-lock{opacity:.6;}
.st.is-warn .st-p{background:#d97706;color:#fff;}
.st-b{padding:0 12px 12px 46px;font-size:14px;color:#1f2937;}
.st.is-done .st-b,.st.is-lock .st-b{padding-left:12px;}
.st-fold{font-size:12.5px;color:#2563eb;cursor:pointer;user-select:none;padding:0 12px 10px 46px;font-weight:600;}
.st-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.st-act .btn{font-size:14px;padding:10px 16px;}
.o-gallery{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.o-gallery img{width:78px;height:78px;object-fit:cover;border-radius:8px;border:1px solid #e5e7eb;}
.o-hint{font-size:12.5px;color:#6b7280;line-height:1.6;margin:6px 0 0;}
.o-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.o-in{flex:1;min-width:180px;padding:11px 12px;border:1px solid #d1d5db;border-radius:9px;font-size:15px;}
.o-radio{display:inline-flex;align-items:center;gap:6px;font-size:15px;padding:9px 14px;border:1px solid #d1d5db;border-radius:9px;margin:0 8px 8px 0;background:#fff;}
.o-radio input{width:18px;height:18px;}
.o-empty{text-align:center;color:#9ca3af;font-size:13px;padding:14px 0;}