.mini-shell{max-width:900px;margin:24px auto;padding:0 20px;box-sizing:border-box}.mini-shell h2{font-size:18px;margin-top:32px}.mini-shell form{display:flex;align-items:end;flex-wrap:wrap;gap:16px}.mini-shell label{display:grid;gap:8px}.mini-shell select{min-width:160px}.mini-shell .mini-consent{display:flex;align-items:center;max-width:440px;font-size:14px}.mini-shell li{padding:10px 0;border-bottom:1px solid #ddd}#scanDialog{width:min(540px,calc(100vw - 32px));box-sizing:border-box;border:1px solid #ccc;border-radius:6px;padding:24px;text-align:center}#scanDialog::backdrop{background:#0006}#scanDialog h2{font-size:20px}#scanImage{display:block;width:256px;height:256px;max-width:100%;object-fit:contain;margin:16px auto}#scanDialog p{overflow-wrap:anywhere}.mini-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.mini-table{width:100%;border-collapse:collapse}.mini-table th,.mini-table td{text-align:left;padding:10px 8px;border-bottom:1px solid #ddd;white-space:nowrap}.mini-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.mini-editor{width:min(720px,calc(100vw - 32px));border:1px solid #bbb;border-radius:6px;padding:20px;box-sizing:border-box}.mini-editor textarea{display:block;width:100%;min-height:240px;box-sizing:border-box;margin:12px 0}.mini-status{min-height:24px;color:#374151}.mini-error{color:#a11616}@media(max-width:600px){.mini-shell{margin-top:16px}.mini-shell form{align-items:stretch;flex-direction:column}.mini-shell select{width:100%}.mini-table{font-size:13px}}
.mini-consent input[type=checkbox],#miniProgramSection input[type=checkbox]{width:16px;height:16px;min-width:16px;flex:0 0 16px;margin:0;vertical-align:middle}#miniProgramSection .mini-tools{padding:0 14px}#miniProgramSection .mini-tools label{display:inline-flex;align-items:center;gap:8px}#miniSearch{width:280px;max-width:100%}#miniProgramSection .mini-tools select{min-width:150px}#miniProgramSection>h2{font-size:18px;padding:0 14px}#miniProgramSection .mini-status{padding:0 14px}.mini-table th:first-child,.mini-table td:first-child{width:36px}.mini-table th{font-size:13px}.mini-table td{font-size:13px}
#miniProgramSection .mini-tools label{white-space:nowrap}#miniProgramSection>h2{margin:20px 0 12px;padding:0 14px}

.mini-scan-page { margin: 0; min-width: 320px; color: #20242a; background: #ffffff; font: 14px/1.5 "Microsoft YaHei", "Segoe UI", sans-serif; }
.mini-scan-page *, .mini-scan-page *::before, .mini-scan-page *::after { box-sizing: border-box; }
.mini-scan-page [hidden] { display: none !important; }
.mini-scan-page h1, .mini-scan-page h2, .mini-scan-page p { margin: 0; letter-spacing: 0; }
.scan-content { width: min(1040px, calc(100% - 32px)); margin: 0 auto; }
.scan-header { background: #f6f7f8; border-bottom: 1px solid #d3d8dd; }
.scan-header-inner { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.scan-header h1 { font-size: 20px; font-weight: 600; }
.scan-header nav { display: flex; flex-wrap: wrap; gap: 8px; }
.mini-scan-page button, .scan-header a { min-height: 36px; border: 1px solid #bcc5ce; border-radius: 3px; padding: 7px 14px; background: #ffffff; color: #274a68; font: inherit; text-decoration: none; cursor: pointer; }
.mini-scan-page button:hover:not(:disabled), .scan-header a:hover { border-color: #7096b6; background: #f3f7fa; }
.mini-scan-page button:disabled { color: #8b959e; border-color: #d2d8de; background: #f1f3f5; cursor: default; }
.mini-scan-page button.primary { color: #ffffff; border-color: #26648f; background: #26648f; }
.mini-scan-page button.primary:hover:not(:disabled) { background: #1d537a; }
.mini-scan-page button.primary:disabled { color: #f4f6f8; border-color: #96afc2; background: #96afc2; }
.scan-toolbar { padding: 24px 0 18px; border-bottom: 1px solid #dde2e6; }
.mini-scan-page #scanStart { display: grid; grid-template-columns: auto 190px auto 1fr; align-items: center; gap: 12px; }
.mini-scan-page #scanCity { width: 100%; min-height: 38px; padding: 6px 10px; border: 1px solid #b8c2cc; border-radius: 3px; background: #ffffff; color: #20242a; font: inherit; }
.mini-scan-page #startScan { min-width: 100px; }
.scan-remark-preview { min-width: 0; color: #61707d; overflow-wrap: anywhere; }
.mini-scan-page #scanMessage { min-height: 24px; margin-top: 10px; color: #657482; font-size: 13px; overflow-wrap: anywhere; }
.scan-records { padding-top: 24px; padding-bottom: 32px; }
.scan-record-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.scan-record-heading h2 { font-size: 16px; font-weight: 600; }
.scan-record-heading span { color: #61707d; font-size: 13px; }
.scan-record-heading strong { color: #1f7054; font-variant-numeric: tabular-nums; }
.scan-record-table-wrap { overflow-x: auto; }
.scan-record-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.scan-record-table th, .scan-record-table td { padding: 12px 14px; border-bottom: 1px solid #e0e5e9; text-align: left; font-size: 13px; font-weight: 400; overflow-wrap: anywhere; }
.scan-record-table th { color: #657482; background: #f6f8fa; white-space: nowrap; }
.scan-record-table th:first-child { width: 64px; }
.scan-record-table th:last-child { width: 104px; }
.scan-record-table .scan-empty { height: 200px; color: #8b959e; text-align: center; }
.mini-scan-page #scanDialog { width: min(460px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); margin: auto; overflow-y: auto; padding: 20px; border: 1px solid #bfc8d0; border-radius: 6px; background: #ffffff; color: #20242a; }
.mini-scan-page #scanDialog::backdrop { background: #19212b73; }
.scan-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; }
.scan-dialog-heading h2 { font-size: 18px; font-weight: 600; }
.mini-scan-page #cancelScan { width: 32px; height: 32px; min-height: 32px; padding: 0; border-color: transparent; color: #6a7681; font-size: 24px; line-height: 28px; }
.mini-scan-page #scanRemark { margin-top: 4px; color: #5e6c79; font-size: 13px; text-align: left; }
.scan-qr-frame { width: 256px; height: 256px; max-width: 100%; margin: 18px auto 14px; display: grid; place-items: center; background: #f7f9fa; color: #84919c; }
.mini-scan-page #scanImage { width: 256px; height: 256px; max-width: 100%; margin: 0; object-fit: contain; background: #ffffff; }
.mini-scan-page #scanState { min-height: 24px; font-size: 14px; overflow-wrap: anywhere; }
.mini-scan-page .scan-provider-note { margin-top: 4px; color: #84909c; font-size: 12px; }
.scan-dialog-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 20px; }
.scan-dialog-actions button { flex: 1 1 auto; }
.mini-scan-page .scan-error, .mini-scan-page #scanMessage.scan-error { color: #a63737; }
@media (max-width: 600px) {
  .scan-content { width: calc(100% - 24px); }
  .scan-header-inner { min-height: 60px; gap: 8px; }
  .scan-header h1 { font-size: 18px; white-space: nowrap; }
  .scan-header a { padding: 6px 9px; font-size: 13px; }
  .scan-toolbar { padding-top: 18px; }
  .mini-scan-page #scanStart { grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; }
  .scan-remark-preview { grid-column: 2 / -1; }
  .mini-scan-page #startScan { min-width: 88px; }
  .scan-records { padding-top: 18px; }
  .scan-record-table th, .scan-record-table td { padding: 10px 8px; font-size: 12px; }
  .scan-record-table th:first-child { width: 44px; }
  .scan-record-table th:last-child { width: 76px; }
  .mini-scan-page #scanDialog { padding: 16px; }
  .scan-dialog-actions { gap: 8px; }
  .scan-dialog-actions button { padding-right: 8px; padding-left: 8px; font-size: 13px; }
}
