.api-doc-article{background:linear-gradient(180deg,#fcfdff,#f7fafc);padding:16px 24px 8px}.api-doc-article-modal{padding:16px 20px 8px}.api-doc-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:24px;border-bottom:1px solid #e5e7eb;margin-bottom:32px}.api-doc-page-title{margin:0 0 6px;font-size:24px;font-weight:700;color:#111827;line-height:1.3;font-family:"Noto Serif SC","Source Han Serif SC",STSong,serif}.api-doc-page-meta{font-size:13px;color:#6b7280;line-height:1.6}.api-doc-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #f3f4f6}.api-doc-section:last-child{border-bottom:none}.api-doc-section-title{margin:0 0 10px;font-size:15px;font-weight:700;color:#111827;display:flex;align-items:center;gap:8px}.api-doc-section-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:700;flex-shrink:0}.api-doc-subsection-title{margin:14px 0 8px;font-size:13px;font-weight:600;color:#374151}.api-doc-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.api-doc-summary-card{border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:inset 0 0 0 1px #bfdbfebf}.api-doc-summary-title{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.06em}.api-doc-summary-value{margin-top:10px;color:#0f172a;font-size:22px;line-height:1.4}.api-doc-summary-card p{margin:12px 0 0;color:#475569;font-size:13px;line-height:1.7}.api-doc-overview-list{margin:0 0 20px;padding:0;list-style:none}.api-doc-overview-list li{padding:6px 0;border-bottom:1px solid #f3f4f6;font-size:13px;color:#374151;line-height:1.6;display:flex;gap:8px}.api-doc-overview-list li:last-child{border-bottom:none}.api-doc-overview-list li strong{flex-shrink:0;color:#111827}.api-doc-notice{padding:8px 12px;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;font-size:12px;color:#92400e;line-height:1.6;margin-bottom:0;display:flex;gap:8px}.api-doc-spec-table{width:100%;border-collapse:collapse;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;font-size:13px}.api-doc-spec-table th,.api-doc-spec-table td{padding:7px 12px;text-align:left;border-bottom:1px solid #e5e7eb;line-height:1.5;vertical-align:top}.api-doc-spec-table th{background:#f9fafb;color:#374151;font-weight:600;white-space:nowrap;width:160px}.api-doc-spec-table td{color:#4b5563;background:#fff}.api-doc-spec-table tr:last-child th,.api-doc-spec-table tr:last-child td{border-bottom:none}.api-doc-table-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:4px}.api-doc-table{width:100%;border-collapse:collapse;font-size:13px}.api-doc-table th,.api-doc-table td{padding:7px 12px;text-align:left;border-bottom:1px solid #e5e7eb;line-height:1.5;vertical-align:top}.api-doc-table th{background:#f9fafb;color:#374151;font-weight:600;white-space:nowrap}.api-doc-table td{color:#4b5563;background:#fff}.api-doc-table tbody tr:last-child td{border-bottom:none}.api-doc-inline-code,.api-doc-table code{font-family:Consolas,SFMono-Regular,Courier New,monospace;font-size:12px;background:#f3f4f6;color:#374151;padding:1px 5px;border-radius:3px}.api-doc-code-200{color:#16a34a;font-weight:600}.api-doc-code-4xx{color:#d97706;font-weight:600}.api-doc-code-5xx{color:#dc2626;font-weight:600}.api-doc-request-info{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:12px;font-size:13px}.api-doc-copyable-block{position:relative}.api-doc-copy-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.api-doc-copy-header .ant-typography-copy,.api-doc-code-copy{display:inline-flex;align-items:center;justify-content:center}.api-doc-request-main{min-width:0;display:flex;align-items:center;gap:10px;flex:1}.api-doc-method-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;background:#2563eb;color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;flex-shrink:0}.api-doc-path{font-family:Consolas,SFMono-Regular,Courier New,monospace;color:#111827;font-size:13px;word-break:break-all}.api-doc-code-block{margin:0;overflow:auto;border-radius:6px;background:#1e293b;padding:10px 14px;color:#e2e8f0;font-family:Consolas,SFMono-Regular,Courier New,monospace;font-size:12px;line-height:1.6;border:1px solid #334155}.api-doc-code-wrap{position:relative}.api-doc-code-copy{position:absolute;top:10px;right:12px;z-index:1}@media (max-width: 768px){.api-doc-request-info{align-items:flex-start}.api-doc-request-main{flex-wrap:wrap}}.api-doc-auth-steps{display:flex;flex-direction:column;gap:0;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.api-doc-auth-step{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;background:#fff;border-bottom:1px solid #e5e7eb;font-size:13px;color:#374151;line-height:1.6}.api-doc-auth-step:last-child{border-bottom:none}.api-doc-auth-step-num{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#2563eb;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px}.api-doc-section-paragraph,.api-doc-inline-note{margin:6px 0 0;font-size:12px;color:#6b7280;line-height:1.6}.api-doc-required{display:inline-block;font-size:11px;font-weight:600;color:#dc2626}.api-doc-optional{display:inline-block;font-size:11px;color:#9ca3af}@media (max-width: 900px){.api-doc-article,.api-doc-article-modal{padding:20px 18px 8px}.api-doc-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.api-doc-summary-grid{grid-template-columns:minmax(0,1fr)}}.file-upload-field{width:100%;border:1px dashed #d9d9d9;border-radius:6px;padding:10px 12px;background:#f7f8fa}.file-upload-field.is-readonly,.file-upload-field.is-button-only{border:0;border-radius:0;padding:0;background:transparent}.file-upload-header{display:flex;align-items:center;justify-content:flex-start;gap:8px}.file-upload-title{font-size:13px;color:var(--ant-color-text)}.file-upload-hint{margin-top:6px;font-size:12px;color:var(--ant-color-text-secondary)}.file-upload-list{margin-top:8px;display:flex;flex-direction:column;gap:4px}.file-upload-field.is-readonly .file-upload-list{margin-top:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.file-upload-empty{font-size:12px;color:var(--ant-color-text-secondary)}.file-upload-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:4px;background:#fff;border:1px solid #e5e6eb}.file-upload-item.is-readonly{justify-content:flex-start;max-width:100%;border:0;padding:0;background:transparent}.file-upload-name{display:inline-flex;align-items:center;gap:6px;min-width:0;border:0;padding:0;background:transparent;color:var(--ant-color-primary, #1677ff);font-size:12px;text-decoration:underline;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:92%;text-align:left}.file-upload-item.is-readonly .file-upload-name{color:var(--ant-color-primary, #1677ff);max-width:100%;min-height:24px;font-size:13px;text-decoration:none}.file-upload-item.is-readonly .file-upload-name:hover{text-decoration:underline}.file-upload-name:disabled{cursor:not-allowed;opacity:.7}.file-upload-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload-item a{color:var(--ant-color-primary, #1677ff);text-decoration:underline}.file-upload-item a:hover{text-decoration:underline}.file-img-placeholder{width:48px;height:48px;border-radius:4px;border:1px solid #e5e6eb;background:#f2f3f5;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;color:var(--ant-color-text-secondary)}.file-img-error{color:var(--ant-color-text-tertiary);font-size:18px}.file-img-preview-toolbar{display:flex;align-items:center;gap:12px}.file-img-preview-download{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#00000073;color:#fff;font-size:13px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.file-img-preview-download:hover:not(:disabled){background:#1677ffbf;border-color:#1677fff2}.file-img-preview-download:disabled{cursor:not-allowed;opacity:.6}.passport-preview-loading{min-height:calc(100vh - 80px)}.passport-preview-loading>.ant-spin-nested-loading,.passport-preview-loading>.ant-spin-nested-loading>.ant-spin-container{min-height:inherit}.passport-preview-page{color:#0f172a;background:#f8fafc;padding:16px;min-height:calc(100vh - 60px);box-sizing:border-box}.passport-preview-page .page-top-card{margin-bottom:16px;border-radius:4px;border:1px solid #e2e8f0;background:#fff;padding:14px 18px}.passport-preview-page .page-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:#94a3b8;font-size:13px}.passport-preview-page .page-breadcrumb .sep{color:#cbd5e1}.passport-preview-page .page-title-row{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.passport-preview-page .page-title{color:#0f172a;font-size:16px;font-weight:600;line-height:1.3}.page-signature-row{margin-top:14px;padding-top:14px;border-top:1px solid rgba(148,163,184,.22)}.passport-signature-trust-block{margin-bottom:16px}.passport-preview-page .label-inline{display:inline;white-space:normal}.passport-preview-page .preview-dynamic-icon{color:#94a3b8;font-size:11px;margin-left:4px;vertical-align:-.125em}.passport-preview-page .preview-lock-icon{color:#aaa;font-size:11px;margin-left:4px;vertical-align:-.125em}.passport-preview-page .controlled-field-label{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.passport-preview-page .controlled-field-tag{margin-inline-end:0;font-size:11px;line-height:18px}.passport-preview-page .passport-preview-text-tags{display:inline-flex;max-width:100%}.passport-preview-page .passport-preview-text-tag{margin-inline-end:0;white-space:normal;word-break:break-word}.passport-preview-page .controlled-field-placeholder{min-height:32px;width:100%;display:flex;align-items:center;padding:6px 10px;border:1px dashed #d9d9d9;border-radius:4px;background:repeating-linear-gradient(135deg,#fafafa 0,#fafafa 6px,#f1f3f6 6px,#f1f3f6 12px);color:#8c8c8c;font-size:13px;box-sizing:border-box}.passport-preview-page .ant-table-cell .controlled-field-placeholder{min-height:28px;max-width:260px}.passport-preview-page .preview-descriptions .ant-descriptions-view>table{table-layout:fixed}.passport-preview-page .img-placeholder{width:80px;height:60px;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:11px}.passport-preview-page .sub-section{margin-top:16px;border-top:1px solid #f1f5f9;padding-top:16px}.passport-preview-page .sub-section.no-top{border-top:none;margin-top:12px;padding-top:0}.passport-preview-page .sub-section-title{margin-bottom:12px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:4px}.passport-preview-page .sub-section-title.first{margin-top:0}.passport-preview-page .sub-section-title.resistance-title{margin-top:16px;margin-bottom:8px}.signature-trust-section .prototype-section-card{border-color:#b7eb8f;background:linear-gradient(180deg,#f6ffed,#fff)}.signature-trust-section.is-invalid .prototype-section-card{border-color:#ffccc7;background:linear-gradient(180deg,#fff2f0,#fff)}.signature-trust-section.is-error .prototype-section-card{border-color:#d9d9d9;background:linear-gradient(180deg,#f5f5f5,#fff)}.signature-trust-section .prototype-section-body{padding:14px 16px}.signature-trust-content .trust-status-list{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.signature-trust-content .trust-status{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #95de64;border-radius:4px;background:#f6ffed;color:#237804;font-size:13px;font-weight:500}.signature-trust-content .trust-status.is-warning,.signature-trust-content .trust-status.is-loading{border-color:#ffe58f;background:#fffbe6;color:#ad6800}.signature-trust-content .trust-status.is-invalid{border-color:#ffccc7;background:#fff2f0;color:#a8071a}.signature-trust-content .trust-status.is-error{border-color:#d9d9d9;background:#f5f5f5;color:#595959}.signature-trust-content .trust-status svg{width:14px;height:14px;flex-shrink:0}.signature-trust-content .trust-status-note{display:inline-flex;align-items:center;color:#64748b;font-size:13px;line-height:1.6}.signature-trust-content .trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.signature-trust-content .field-item{min-width:0}.signature-trust-content .field-label{margin-bottom:6px;color:#64748b;font-size:12px}.signature-trust-content .field-value{display:flex;align-items:center;gap:6px;min-height:22px;color:#0f172a;font-size:13px;line-height:1.6;word-break:break-word}.signature-trust-content .trust-result-icon{color:#52c41a}.signature-credential-card{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:92px;padding:20px 16px;border:1px solid #91caff;border-radius:8px;background:linear-gradient(180deg,#f7fbff,#fff)}.signature-credential-card.is-compact{margin-bottom:16px;min-height:78px;padding:16px 14px}.page-signature-row .signature-credential-card{margin-bottom:0}.signature-credential-card.is-invalid{border-color:#ff9c96;background:linear-gradient(180deg,#fff2f0,#fff)}.signature-credential-card.is-error,.signature-credential-card.is-empty{border-color:#d9d9d9;background:linear-gradient(180deg,#f5f5f5,#fff)}.signature-credential-card.is-loading{border-color:#91caff;background:linear-gradient(180deg,#f7fbff,#fff)}.signature-credential-text{min-width:0}.signature-credential-title{color:#0f172a;font-size:16px;font-weight:700;line-height:1.5}.signature-credential-subtitle{margin-top:2px;color:#8a94a6;font-size:13px;line-height:1.5}.signature-credential-seal{display:inline-flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;border:3px solid #1677ff;border-radius:50%;color:#1677ff;font-size:13px;font-weight:800;line-height:1.1;text-align:center}.signature-credential-seal span:last-child{font-size:11px;letter-spacing:-.3px}.signature-credential-card.is-invalid .signature-credential-seal span:last-child{font-size:10px;letter-spacing:-.6px}.signature-credential-card.is-invalid .signature-credential-seal{border-color:#ff4d4f;color:#ff4d4f}.signature-credential-card.is-error .signature-credential-seal,.signature-credential-card.is-empty .signature-credential-seal{border-color:#8c8c8c;color:#595959}.signature-credential-card.is-error .signature-credential-seal span:first-child{max-width:2em;word-break:break-all}.signature-credential-card.is-loading .signature-credential-seal{border-color:#1677ff;color:#1677ff}.signature-credential-card.is-invalid .signature-credential-title{color:#a8071a}.signature-credential-card.is-error .signature-credential-title,.signature-credential-card.is-empty .signature-credential-title{color:#595959}@media (max-width: 768px){.signature-trust-content .trust-grid{grid-template-columns:1fr}.signature-credential-card{gap:14px;padding:16px 14px}}.signature-credential-capsule{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px 0 10px;border-radius:100px;background:#fff;border:1px solid currentColor;box-shadow:0 2px 6px #0f172a0f;font-size:12px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .15s ease,box-shadow .15s ease}.signature-credential-capsule:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a1f}.signature-credential-capsule:focus-visible{outline:2px solid currentColor;outline-offset:2px}.signature-credential-capsule.is-valid{color:#389e0d}.signature-credential-capsule.is-invalid{color:#cf1322}.signature-credential-capsule.is-loading{color:#0958d9}.signature-credential-capsule.is-error,.signature-credential-capsule.is-empty{color:#595959}.signature-credential-capsule-dot{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.signature-credential-capsule.is-loading .signature-credential-capsule-dot{animation:sig-cred-pulse 1.2s ease-in-out infinite}.signature-credential-capsule.is-loading .signature-credential-capsule-dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:1px solid currentColor;animation:sig-cred-ripple 1.2s ease-out infinite}@keyframes sig-cred-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes sig-cred-ripple{0%{transform:scale(.8);opacity:.8}to{transform:scale(2);opacity:0}}.signature-credential-capsule-text{display:inline-flex;align-items:center;gap:4px;color:inherit}.signature-credential-capsule-meta{color:#94a3b8;font-weight:500;font-size:10.5px;font-family:Menlo,Consolas,monospace}.signature-credential-capsule-module{padding:1px 5px;border-radius:2px;background:currentColor;color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.3px;line-height:1.4}.signature-credential-capsule.is-valid .signature-credential-capsule-module,.signature-credential-capsule.is-invalid .signature-credential-capsule-module,.signature-credential-capsule.is-loading .signature-credential-capsule-module,.signature-credential-capsule.is-error .signature-credential-capsule-module,.signature-credential-capsule.is-empty .signature-credential-capsule-module{color:#fff}.public-passport-credentials{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.signature-credential-popover,.signature-credential-popover .ant-popover-content{max-width:calc(100vw - 32px)}.signature-credential-popover .ant-popover-inner{padding:0;border-radius:4px;overflow:hidden;max-width:calc(100vw - 32px)}.signature-credential-popover .ant-popover-inner-content{padding:0}.signature-credential-popcard{width:min(360px,calc(100vw - 40px));font-size:12px;color:#0f172a}.signature-credential-popcard-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid #f1f5f9}.signature-credential-popcard-head.is-valid{background:linear-gradient(180deg,#f6ffed,#fff)}.signature-credential-popcard-head.is-invalid{background:linear-gradient(180deg,#fff1f0,#fff)}.signature-credential-popcard-head.is-loading{background:linear-gradient(180deg,#f0f7ff,#fff)}.signature-credential-popcard-head.is-error,.signature-credential-popcard-head.is-empty{background:linear-gradient(180deg,#fafafa,#fff)}.signature-credential-popcard-head-left{display:flex;align-items:center;gap:10px;min-width:0}.signature-credential-popcard-icon{font-size:22px;line-height:1}.signature-credential-popcard-head.is-valid .signature-credential-popcard-icon,.signature-credential-popcard-head.is-valid .signature-credential-popcard-tag{color:#389e0d;border-color:#389e0d}.signature-credential-popcard-head.is-invalid .signature-credential-popcard-icon,.signature-credential-popcard-head.is-invalid .signature-credential-popcard-tag{color:#cf1322;border-color:#cf1322}.signature-credential-popcard-head.is-loading .signature-credential-popcard-icon,.signature-credential-popcard-head.is-loading .signature-credential-popcard-tag{color:#0958d9;border-color:#0958d9}.signature-credential-popcard-head.is-error .signature-credential-popcard-icon,.signature-credential-popcard-head.is-error .signature-credential-popcard-tag,.signature-credential-popcard-head.is-empty .signature-credential-popcard-icon,.signature-credential-popcard-head.is-empty .signature-credential-popcard-tag{color:#595959;border-color:#8c8c8c}.signature-credential-popcard-titles .cn{font-size:14px;font-weight:700;color:#0f172a;line-height:1.2}.signature-credential-popcard-titles .en{margin-top:2px;font-size:10.5px;color:#94a3b8;letter-spacing:.2px}.signature-credential-popcard-tag{font-size:11px;font-weight:800;letter-spacing:.6px;padding:3px 7px;border:1.5px solid currentColor;border-radius:2px;background:#fff;white-space:nowrap}.signature-credential-popcard-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 14px;border-bottom:1px solid #f1f5f9;background:#fafbfc}.signature-credential-check{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#fff;border:1px solid #e2e8f0;border-radius:4px}.signature-credential-check .lbl{color:#64748b;font-size:11px}.signature-credential-check .val{margin-left:auto;font-weight:700;font-size:12px}.signature-credential-check.is-ok{border-color:#b7eb8f}.signature-credential-check.is-ok>.anticon{color:#389e0d}.signature-credential-check.is-ok .val{color:#389e0d}.signature-credential-check.is-bad{border-color:#ffa39e}.signature-credential-check.is-bad>.anticon{color:#cf1322}.signature-credential-check.is-bad .val{color:#cf1322}.signature-credential-check.is-neutral{border-color:#e2e8f0}.signature-credential-check.is-neutral>.anticon{color:#94a3b8}.signature-credential-check.is-neutral .val{color:#94a3b8}.signature-credential-popcard-sect{padding:10px 14px;border-bottom:1px solid #f1f5f9}.signature-credential-popcard-sect:last-child{border-bottom:none}.signature-credential-popcard-sect-title{margin-bottom:6px;font-size:11px;color:#94a3b8;letter-spacing:.3px}.signature-credential-popcard-row{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;gap:12px;line-height:1.5}.signature-credential-popcard-row .lbl{flex:0 0 60px;color:#64748b;font-size:11.5px}.signature-credential-popcard-row .val{flex:1;text-align:right;color:#0f172a;word-break:break-all}.signature-credential-popcard-row .dim{color:#94a3b8;font-weight:400;margin-left:4px}.signature-credential-popcard-row .mono,.signature-credential-hash.mono{font-family:Menlo,Consolas,monospace;font-size:11.5px}.signature-credential-hash{display:inline-block;text-align:right;word-break:break-all}.signature-credential-hash>span{display:inline-block;margin-right:1px}.signature-credential-hash>span.diff{background:#fff1f0;color:#cf1322;border-radius:2px;padding:0 1px;font-weight:700}.signature-credential-popcard-warn{margin-top:6px;font-size:11px;color:#cf1322;text-align:right}.signature-credential-popcard-reason{display:flex;align-items:flex-start;gap:6px;padding:10px 14px;background:#fff1f0;color:#cf1322;font-size:12px;line-height:1.5;border-top:1px solid #ffccc7}.signature-credential-popcard-reason>.anticon{margin-top:2px;flex-shrink:0}.signature-credential-popcard-dual{width:min(380px,calc(100vw - 40px))}.signature-credential-popcard-dual-hint{padding:8px 14px;background:#fafbfc;border-bottom:1px solid #f1f5f9;color:#64748b;font-size:11.5px;line-height:1.5}.signature-credential-popcard-dual-hint strong{color:#0f172a;font-weight:700}.signature-credential-popcard-subcard{padding:10px 14px;border-bottom:1px solid #f1f5f9;background:#fff}.signature-credential-popcard-subcard:last-of-type{border-bottom:none}.signature-credential-popcard-subcard.is-valid{background:linear-gradient(180deg,#f6ffed8c,#fff 80%)}.signature-credential-popcard-subcard.is-invalid{background:linear-gradient(180deg,#fff1f099,#fff 80%)}.signature-credential-popcard-subcard.is-empty{background:linear-gradient(180deg,#fafafa99,#fff 80%)}.signature-credential-popcard-subcard-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.signature-credential-popcard-subcard-title{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13px;color:#0f172a}.signature-credential-popcard-subcard-icon{font-size:16px;line-height:1}.signature-credential-popcard-subcard.is-valid .signature-credential-popcard-subcard-icon,.signature-credential-popcard-subcard.is-valid .signature-credential-popcard-subcard-tag{color:#389e0d;border-color:#389e0d}.signature-credential-popcard-subcard.is-invalid .signature-credential-popcard-subcard-icon,.signature-credential-popcard-subcard.is-invalid .signature-credential-popcard-subcard-tag{color:#cf1322;border-color:#cf1322}.signature-credential-popcard-subcard.is-empty .signature-credential-popcard-subcard-icon,.signature-credential-popcard-subcard.is-empty .signature-credential-popcard-subcard-tag{color:#595959;border-color:#8c8c8c}.signature-credential-popcard-subcard-tag{font-size:10.5px;font-weight:800;letter-spacing:.4px;padding:2px 6px;border:1px solid currentColor;border-radius:2px;white-space:nowrap;background:#fff}.signature-credential-popcard-subcard-checks{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.signature-credential-popcard-subcard-body .signature-credential-popcard-row{padding:2px 0}.signature-credential-popcard-subcard-reason{display:flex;align-items:flex-start;gap:6px;margin-top:8px;padding:6px 8px;background:#fff1f0;color:#cf1322;font-size:11.5px;line-height:1.5;border-radius:3px}.signature-credential-popcard-subcard-reason>.anticon{margin-top:2px;flex-shrink:0}.signature-credential-inline{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px 0 6px;border:1px solid #91caff;border-radius:4px;background:#f0f7ff;color:#0958d9;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none}.signature-credential-inline-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:14px;line-height:1}.signature-credential-inline-text{font-size:12px;letter-spacing:.2px}.signature-credential-inline-tag{display:inline-block;padding:1px 4px;border:1px solid currentColor;border-radius:2px;font-size:10px;font-weight:700;letter-spacing:.4px;opacity:.9}.signature-credential-inline.is-valid{border-color:#95de64;background:#f6ffed;color:#389e0d}.signature-credential-inline.is-invalid{border-color:#ffa39e;background:#fff1f0;color:#cf1322}.signature-credential-inline.is-loading{border-color:#91caff;background:#f0f7ff;color:#0958d9}.signature-credential-inline.is-error,.signature-credential-inline.is-empty{border-color:#d9d9d9;background:#fafafa;color:#595959}.passport-preview-modal .passport-preview-page{background:transparent;padding:0;min-height:auto}.passport-preview-modal .passport-preview-page .prototype-section-body{padding:10px}.passport-preview-modal .passport-preview-page .sub-section{border-top:1px solid #f1f5f9;padding-top:16px}.passport-preview-modal .passport-preview-page .sub-section.no-top{border-top:none;margin-top:12px;padding-top:0}.passport-preview-modal .passport-preview-page .img-placeholder{border:1px solid #e2e8f0;background:#f8fafc}.passport-preview-modal .passport-preview-page .ant-image-img{border:none!important}.public-passport-shell{min-height:100vh;background:radial-gradient(circle at 12% 18%,rgba(59,130,246,.14),transparent 38%),radial-gradient(circle at 88% 78%,rgba(99,102,241,.08),transparent 38%),linear-gradient(180deg,#f0f6ff,#eef2ff);padding:20px 14px 40px}.public-passport-page{max-width:860px;margin:0 auto}.public-passport-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding:20px 20px 18px;border:1px solid rgba(148,163,184,.2);border-radius:16px;background:linear-gradient(145deg,#fffffffa,#eff6fff0);box-shadow:0 1px 3px #0f172a0f,0 6px 28px #2563eb14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.public-passport-badge.ant-tag{display:inline-flex;align-items:center;gap:4px;margin-inline-end:0;margin-bottom:10px;padding-inline:10px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.02em;line-height:24px}.public-passport-hero-main{flex:1;min-width:0;width:100%}.public-passport-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.public-passport-title-main{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto;flex-wrap:nowrap}.public-passport-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0}.public-passport-language-switch{display:inline-flex;align-items:center;flex-shrink:0}.public-passport-title-icon{color:#2563eb;font-size:26px}.public-passport-title.ant-typography{margin:0!important;color:#0f172a;font-size:24px;font-weight:700;line-height:1.2;min-width:0;flex:0 1 auto}.public-passport-subtitle.ant-typography{margin:8px 0 0!important;color:#64748b;font-size:13px;line-height:1.55}.public-passport-meta{display:flex;flex-wrap:wrap;gap:0;margin-top:14px;padding-top:14px;border-top:1px solid rgba(148,163,184,.22)}.public-passport-title-row .signature-credential-card{width:auto;min-height:auto;margin-bottom:0;padding:0;border:none;border-radius:0;background:transparent}.public-passport-title-row .signature-credential-card.is-invalid{border:none;background:transparent}.public-passport-title-row .signature-credential-text{display:none}.ppm-item{display:flex;align-items:baseline;gap:5px;margin-right:18px;margin-bottom:4px;font-size:12.5px;line-height:1.5;min-width:0}.ppm-label{color:#94a3b8;font-weight:500;white-space:nowrap;flex-shrink:0}.ppm-value{color:#1e40af;font-weight:600;word-break:break-word}.viewer-status-card{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px dashed rgba(148,163,184,.42)}.viewer-status-main{display:flex;align-items:center;gap:12px;min-width:0}.viewer-status-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#0f172a;font-size:14px;font-weight:600}.viewer-status-tag{margin-inline-start:4px}.viewer-status-desc{margin-top:4px;color:#64748b;font-size:13px;line-height:1.6}.viewer-status-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.viewer-role-category-list{display:flex;flex-direction:column;gap:16px;max-height:62vh;overflow-y:auto;padding-right:4px}.viewer-role-category{padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.viewer-role-category-title{color:#0f172a;font-size:14px;font-weight:600}.viewer-role-category-desc{margin-top:4px;color:#64748b;font-size:12px;line-height:1.6}.viewer-role-card-grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.viewer-role-card{width:100%;min-height:92px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:inherit;text-align:left;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s}.viewer-role-card:hover,.viewer-role-card.active{border-color:#1677ff;background:#f0f7ff;box-shadow:0 8px 20px #1677ff1f}.viewer-role-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.viewer-role-name{min-width:0;color:#0f172a;font-size:14px;font-weight:600}.viewer-role-desc{display:block;margin-top:8px;color:#64748b;font-size:12px;line-height:1.55}.public-passport-back-btn{flex-shrink:0}.public-passport-content.passport-preview-page{padding:0;background:transparent}.battery-qr-header{margin-bottom:8px;display:flex;align-items:center;gap:8px}.battery-qr-header:before{content:"";display:inline-block;width:3px;height:14px;background-color:#2563eb;border-radius:2px;flex-shrink:0}.battery-qr-title{font-size:14px;font-weight:600;color:#0f172a}.battery-qr-passport-id{display:flex;flex-direction:column;gap:2px;padding:8px 10px;margin-bottom:10px;background:#f1f5f9;border-radius:4px}.battery-qr-passport-id-label{font-size:11px;color:#64748b;line-height:1.4}.battery-qr-passport-id-value{font-size:13px;font-weight:600;color:#0f172a;word-break:break-all}.battery-qr-link{display:block;font-size:12px;color:#2563eb;text-decoration:none;margin-top:6px;margin-bottom:12px;word-break:break-all;line-height:1.45}.battery-qr-link:hover{text-decoration:underline}.battery-qr-tip{margin-top:4px;font-size:12px;line-height:1.45;color:#64748b}.battery-qr-body{display:flex;align-items:center;justify-content:center;min-height:248px;margin-bottom:12px;padding:18px 14px;border:1px solid #e2e8f0;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc)}.battery-qr-content{display:flex;width:100%;flex-direction:column;align-items:center;gap:12px}.battery-qr-loading{display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:28px}.battery-qr-image{border-radius:12px}.battery-qr-serial{display:flex;max-width:100%;align-items:baseline;justify-content:center;gap:2px;text-align:center;line-height:1.45}.battery-qr-serial-label{font-size:12px;font-weight:600;color:#0f172a;flex-shrink:0}.battery-qr-serial-value{font-size:13px;font-weight:600;color:#0f172a;word-break:break-all}.battery-qr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0 16px;color:#94a3b8;font-size:13px;text-align:center}.battery-qr-empty .anticon{font-size:28px}.battery-qr-actions{display:flex;width:100%;justify-content:space-between}.front-epcis-page{min-width:0}.epcis-event-type-tag{margin-inline-end:0;font-weight:500}.epcis-summary-action{margin-bottom:8px;text-align:right}.epcis-card-field .label{margin-bottom:4px;font-size:12px;color:#94a3b8}.epcis-card-field .value{min-width:0;color:#0f172a;font-size:13px;line-height:1.45;word-break:break-word}.epcis-timeline{position:relative;padding:4px 0}.epcis-timeline:before{content:"";position:absolute;left:118px;top:18px;bottom:18px;width:1px;background:#e2e8f0}.epcis-timeline-item{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:42px;margin-bottom:12px}.epcis-timeline-item:last-child{margin-bottom:0}.epcis-time{display:flex;flex-direction:column;gap:2px;padding-top:6px;color:#47617f;font-size:13px;line-height:1.35;text-align:right}.epcis-dot{position:absolute;left:112px;top:11px;width:13px;height:13px;border:2px solid #fff;border-radius:50%;background:#1677ff;box-shadow:0 0 0 1px #91caff;z-index:1}.epcis-card{min-width:0;min-height:112px;padding:14px 16px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.epcis-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.epcis-card-title{font-size:15px;font-weight:600;color:#0f172a}.epcis-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 28px}.epcis-detail-content{display:flex;flex-direction:column;gap:14px}.epcis-detail-section-title{font-size:15px;font-weight:600;color:#0f172a}.epcis-json-block{max-height:320px;margin:0;padding:14px;overflow:auto;border-radius:8px;background:#0f172a;color:#e2e8f0;font-size:12px;line-height:1.6}@media (max-width: 768px){.public-passport-shell{padding:12px 10px 32px}.public-passport-hero{flex-direction:column;padding:16px 16px 14px;border-radius:14px;margin-bottom:14px}.public-passport-title.ant-typography{font-size:20px}.public-passport-title-icon{font-size:22px}.public-passport-subtitle.ant-typography{font-size:12.5px}.public-passport-meta{margin-top:12px;padding-top:12px}.ppm-item{margin-right:12px;font-size:12px}.public-passport-back-btn{width:100%}.viewer-status-card{align-items:stretch;flex-direction:column}.viewer-status-actions{justify-content:flex-end}.passport-preview-page .page-title-row{align-items:flex-start;flex-direction:column}.passport-preview-page .preview-descriptions .ant-descriptions-item-label,.passport-preview-page .preview-descriptions .ant-descriptions-item-content{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.public-passport-title-row{flex-wrap:wrap;align-items:center}.public-passport-title-main{min-width:0;flex:1 1 auto}.public-passport-title-actions{justify-content:flex-end}.public-passport-title-row>.signature-credential-capsule{margin-left:auto}.epcis-summary-action .ant-btn{width:100%}.epcis-card-grid{grid-template-columns:1fr}.epcis-timeline:before{left:7px}.epcis-timeline-item{grid-template-columns:1fr;gap:8px;padding-left:24px}.epcis-time{flex-direction:row;text-align:left;padding-top:0}.epcis-dot{left:1px;top:4px}.epcis-card-head{flex-direction:column;align-items:flex-start}.battery-qr-actions{flex-direction:column}.battery-qr-actions .ant-btn{width:100%}}@media (max-width: 480px){.signature-credential-popcard-checks,.signature-credential-popcard-subcard-checks{grid-template-columns:1fr}.signature-credential-capsule{height:26px;padding:0 10px 0 8px;font-size:11.5px}.signature-credential-capsule-meta{display:none}}
