:root{--color-bg:#f2f6fa;--color-bg-alt:#edf1f7;--color-surface:#fff;--color-surface-muted:#fafbfc;--color-surface-raised:#fff;--color-text:#1e293b;--color-text-heading:#0f172a;--color-text-muted:#64748b;--color-text-subtle:#94a3b8;--color-text-inverse:#f1f5f9;--color-primary:#1664ff;--color-primary-hover:#1452d6;--color-primary-soft:#1664ff14;--color-primary-soft-hover:#1664ff24;--color-primary-subtle:#f0f6ff;--color-primary-on:#fff;--color-sidebar-bg:#f2f6fa;--color-sidebar-bg-hover:#0000000a;--color-sidebar-text:#42464e;--color-sidebar-text-active:#1664ff;--color-sidebar-active:#1664ff14;--color-sidebar-border:#dde2e9;--color-sidebar-brand:#020814;--color-success:#059669;--color-success-soft:#ecfdf5;--color-success-border:#a7f3d0;--color-warning:#d97706;--color-warning-soft:#fffbeb;--color-warning-border:#fde68a;--color-danger:#dc2626;--color-danger-soft:#fef2f2;--color-danger-border:#fecaca;--color-info:#1664ff;--color-info-soft:#f0f6ff;--color-info-border:#bfdbfe;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-border-focus:#1664ff;--font-sans:"Inter", "Noto Sans SC", "Microsoft YaHei", "PingFang SC", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Cascadia Code", "Fira Code", "Consolas", "SF Mono", ui-monospace, monospace;--font-display:"Inter", "Noto Sans SC", "Microsoft YaHei", sans-serif;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.8125rem;--text-md:.875rem;--text-lg:.9375rem;--text-xl:1rem;--text-2xl:1.125rem;--text-3xl:1.25rem;--text-4xl:1.5rem;--text-5xl:1.875rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.65;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.02em;--tracking-wider:.05em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-xs:.25rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.625rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 6px -1px #0f172a0f, 0 2px 4px -2px #0f172a0a;--shadow-lg:0 10px 15px -3px #0f172a0f, 0 4px 6px -4px #0f172a0a;--shadow-xl:0 20px 25px -5px #0f172a14, 0 8px 10px -6px #0f172a0a;--sidebar-width:240px;--topbar-height:56px;--content-max-width:1280px;--transition-fast:.12s ease;--transition-base:.18s ease;--transition-slow:.28s ease;--z-sidebar:100;--z-topbar:200;--z-modal:1000;--z-tooltip:1100;color:#172033;background:#eef3f8;font-family:Inter,Microsoft YaHei,PingFang SC,Arial,sans-serif}body{background:#eef3f8;min-width:960px;margin:0}.app-shell{min-height:100vh;display:flex}.sidebar{color:#c8d4e6;background:#1a2332;flex-direction:column;flex-shrink:0;width:220px;padding:20px 0;display:flex}.sidebar-brand{color:#fff;border-bottom:1px solid #ffffff14;margin-bottom:12px;padding:0 20px 20px;font-size:15px;font-weight:700}.sidebar-nav ul{margin:0;padding:0;list-style:none}.sidebar-nav .nav-item{color:#a8b8d0;border-left:3px solid #0000;padding:10px 20px;font-size:14px;text-decoration:none;transition:background .15s,color .15s;display:block}.sidebar-nav .nav-item:hover{color:#fff;background:#ffffff0f}.sidebar-nav .nav-item--active{color:#fff;background:#3b82f626;border-left-color:#3b82f6;font-weight:600}.sidebar-foot{color:#6b7a90;margin-top:auto;padding:16px 20px 0;font-size:11px;line-height:1.4}.main-column{background:linear-gradient(#f6f9fd 0%,#eef3f8 100%);flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.top-bar{background:#fff;border-bottom:1px solid #dbe4ef;flex-shrink:0;align-items:center;gap:16px;padding:12px 24px;display:flex}.top-bar-brand{flex-direction:column;min-width:180px;display:flex}.top-bar-eyebrow{color:#6b7a90;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.top-bar-title{color:#172033;font-size:15px;font-weight:600}.top-bar-status{text-align:center;border-radius:6px;flex:1;max-width:480px;margin:0 auto;padding:6px 12px;font-size:13px}.top-bar-status.status-idle{color:#5c6880;background:#f0f4f9}.top-bar-status.status-running{color:#1d4ed8;background:#e8f2ff}.top-bar-status.status-done{color:#15803d;background:#e8f7ee}.top-bar-status.status-error{color:#b91c1c;background:#fef2f2}.top-bar-actions{align-items:center;gap:16px;margin-left:auto;display:flex}.top-bar-user{align-items:center;gap:10px;display:flex}.language-switcher{color:var(--color-text-muted,#64748b);align-items:center;gap:6px;font-size:13px;display:flex}.language-switcher select{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-sm,6px);background:var(--color-surface,#fff);padding:4px 8px;font-size:13px}.main-content{flex:1;padding:24px 28px 40px;overflow-x:auto}.page-view{max-width:1200px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.page-header h1{color:#172033;margin:0 0 6px;font-size:22px;font-weight:700}.page-header-desc{color:#5c6880;max-width:560px;margin:0;font-size:14px;line-height:1.5}.page-header-actions{flex-shrink:0}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:20px;display:grid}.dash-card{background:#fff;border:1px solid #dbe4ef;border-radius:10px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.dash-card-label{color:#6b7a90;font-size:12px}.dash-card-value{color:#172033;font-size:18px}.dash-card--idle{border-left:4px solid #94a3b8}.dash-card--running{border-left:4px solid #3b82f6}.dash-card--done{border-left:4px solid #22c55e}.dash-card--error{border-left:4px solid #ef4444}.dash-link{color:#2563eb;font-size:13px;text-decoration:none}.dash-link:hover{text-decoration:underline}.quick-links{margin:0;padding:0;list-style:none}.quick-links li{border-bottom:1px solid #eef3f8;flex-direction:column;gap:2px;padding:10px 0;display:flex}.quick-links li:last-child{border-bottom:none}.quick-links a{color:#2563eb;font-weight:600;text-decoration:none}.quick-links span{color:#6b7a90;font-size:13px}.report-toolbar{gap:10px;margin-bottom:12px;display:flex}.report-empty-link{margin-top:12px;text-decoration:none;display:inline-block}.tech-hint{margin:0}.tech-hint summary{cursor:pointer;color:#2563eb;font-size:13px}.ai-config-page.ai-config-split{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=1100px){.ai-config-page.ai-config-split{grid-template-columns:1fr}}button,input{font:inherit}.page{width:min(1280px,100% - 48px);margin:0 auto;padding:32px 0 56px}.hero{justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:24px;display:flex}.hero-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.auth-bar{align-items:center;gap:10px;font-size:14px;display:flex}.auth-user{color:#40506a}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border:1px solid #dbe4ef;border-radius:14px;width:min(400px,100%);padding:32px 28px;box-shadow:0 12px 40px #17203314}.login-card h1{margin:8px 0 12px;font-size:26px}.login-hint{color:#5c6880;margin:0 0 20px;font-size:14px;line-height:1.5}.login-form{flex-direction:column;gap:14px;display:flex}.login-form label{color:#40506a;flex-direction:column;gap:6px;font-size:14px;display:flex}.login-form input{border:1px solid #c5d3e3;border-radius:8px;padding:10px 12px}.login-error{color:#9b1c1c;margin:0;font-size:14px}.login-form button[type=submit]{color:#fff;cursor:pointer;background:#3169d8;border:none;border-radius:8px;margin-top:4px;padding:11px 16px;font-weight:600}.login-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.hero h1{margin:8px 0 10px;font-size:34px}.hero p{color:#5c6880;max-width:780px;margin:0}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#3169d8!important}.status{color:#40506a;background:#fff;border:1px solid #dbe4ef;border-radius:14px;min-width:260px;padding:14px 18px;box-shadow:0 8px 24px #1a2f4d14}.status-running{color:#185abc;border-color:#8bb6ff}.status-done{color:#167040;border-color:#90d3a5}.status-error{color:#b42318;border-color:#f1a3a3}.card{background:#fff;border:1px solid #dbe4ef;border-radius:18px;margin:18px 0;padding:24px;box-shadow:0 10px 30px #1a2f4d12}.card h2{margin:0 0 18px}.history-bar{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:10px;display:flex}.history-select-wrap{flex-direction:column;flex:1;gap:6px;min-width:280px;display:flex}.history-label{color:#40506a;font-size:13px;font-weight:650}.history-select{color:#172033;background:#fbfdff;border:1px solid #ccd6e5;border-radius:10px;width:100%;max-width:640px;padding:10px 12px}.history-actions{flex-wrap:wrap;gap:8px;display:flex}.history-hint{color:#8b96ab;margin:0 0 16px;font-size:13px;line-height:1.45}.host-hint{color:#5c6880;margin:-6px 0 10px;font-size:13px;line-height:1.55}.host-hint code{background:#f0f4fa;border-radius:4px;padding:1px 5px;font-size:12px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.grid-span-full{grid-column:1/-1}.grid-span-full textarea{color:#172033;resize:vertical;background:#fbfdff;border:1px solid #ccd6e5;border-radius:10px;width:100%;min-height:52px;padding:10px 12px;font-family:ui-monospace,Consolas,monospace;font-size:13px}label{color:#40506a;gap:7px;font-weight:650;display:grid}input{color:#172033;background:#fbfdff;border:1px solid #ccd6e5;border-radius:10px;outline:none;width:100%;padding:10px 12px}input:focus{border-color:#5b8def;box-shadow:0 0 0 3px #5b8def24}.actions{gap:12px;margin-top:20px;display:flex}button{color:#fff;cursor:pointer;background:#3169d8;border:0;border-radius:10px;padding:11px 16px;font-weight:700}button:disabled{cursor:not-allowed;opacity:.55}button.btn-secondary{color:#1c3d7a;background:#e8f0fc;border:1px solid #b8d0f5}button.btn-secondary:hover:not(:disabled){background:#dce8f8}.case-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.case-chip{background:#f8fbff;border:1px solid #e1e8f2;border-radius:12px;gap:6px;padding:12px;display:grid}.case-chip span{color:#63708a;font-size:13px}.summary{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.summary span{color:#40506a;background:#f4f7fb;border-radius:999px;padding:7px 13px;font-weight:700}.results{gap:14px;display:grid}.result{background:#fbfdff;border:1px solid #dbe4ef;border-radius:14px;padding:16px}.result-pass{border-left:5px solid #22a06b}.result-warn{border-left:5px solid #f79009}.result-fail{border-left:5px solid #d92d20}.result-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.result-title h3{flex:1;min-width:0;margin:0}.result-title-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.result-status-pill{color:#1c3d7a;white-space:nowrap;font-size:14px;font-weight:700}.result p{color:#5c6880;margin:8px 0}.two-columns{grid-template-columns:1fr 1fr;gap:18px;display:grid}.two-columns h4{margin:10px 0 8px}.two-columns ul{margin:0;padding-left:18px}.validation-pass{color:#167040}.validation-warn{color:#9a5b00}.validation-fail{color:#b42318}.empty{color:#63708a}.ai-meta{color:#40506a;margin:0 0 10px;font-size:14px}.ai-meta-error{color:#b42318}.card-ai-analysis .ai-progress-panel{margin-bottom:16px}.ai-progress-panel{background:#f8fafc;border:1px solid #dbe4ef;border-radius:12px;padding:14px 16px}.ai-progress-panel--requesting{background:#f3f8ff;border-color:#8bb6ff}.ai-progress-panel--done{border-color:#90d3a5}.ai-progress-panel--error{background:#fff8f8;border-color:#f1a3a3}.ai-progress-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.ai-progress-head-text{flex-wrap:wrap;align-items:baseline;gap:8px 14px;min-width:0;display:flex}.ai-progress-phase{color:#185abc;font-weight:700}.ai-progress-panel--done .ai-progress-phase{color:#167040}.ai-progress-panel--error .ai-progress-phase{color:#b42318}.ai-progress-message{color:#40506a;font-size:14px}.ai-progress-elapsed{color:#63708a;font-size:13px}.ai-progress-percent{font-variant-numeric:tabular-nums;color:#3169d8;flex-shrink:0;font-weight:700}.ai-progress-track{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.ai-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#3169d8,#5b8def);height:100%;transition:width .35s}.ai-progress-fill--active{background:linear-gradient(90deg,#3169d8 0%,#5b8def 40%,#8bb6ff 50%,#5b8def 60%,#3169d8 100%) 0 0/200% 100%;animation:1.4s ease-in-out infinite ai-progress-shimmer}@keyframes ai-progress-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ai-progress-log{border-top:1px solid #e2e8f0;max-height:220px;margin:12px 0 0;padding:10px 0 0;font-size:13px;list-style:none;overflow-y:auto}.ai-progress-log-item{color:#40506a;grid-template-columns:88px minmax(0,1fr);gap:10px;padding:4px 0;display:grid}.ai-progress-log-item time{font-variant-numeric:tabular-nums;color:#63708a;white-space:nowrap}.ai-progress-log-item--warn span:last-child{color:#9a5b00}.ai-progress-log-item--error span:last-child{color:#b42318}.ai-analysis-pending{margin-top:12px}.ai-config-split{grid-template-columns:minmax(0,1fr) minmax(300px,38%);align-items:start;gap:20px 24px;margin-top:4px;display:grid}.ai-config-left{gap:14px;display:grid}.ai-config-left--muted label:not(:first-child) input,.ai-config-left--muted label:not(:first-child) select,.ai-config-left--muted label:not(:first-child) textarea,.ai-config-left--muted .ai-test-row,.ai-config-right--muted textarea{opacity:.55}.ai-config-left label{gap:7px;display:grid}.ai-config-right label{gap:7px;height:100%;display:grid}.ai-prompt-textarea{resize:vertical;color:#172033;background:#fbfdff;border:1px solid #ccd6e5;border-radius:10px;width:100%;min-height:320px;padding:12px;font-family:ui-monospace,Consolas,Microsoft YaHei,sans-serif;font-size:13px;line-height:1.45}.ai-test-row{flex-wrap:wrap;align-items:flex-start;gap:12px 16px;display:flex}.ai-test-result{flex:1;min-width:200px;margin:0;font-size:14px;line-height:1.45}.ai-test-ok{color:#167040}.ai-test-fail{color:#b42318}.call-accordion{margin-top:14px}.call-accordion>h4{margin:0 0 10px}.call-details{background:#fff;border:1px solid #dbe4ef;border-radius:12px;margin-bottom:10px;padding:0 12px 12px}.call-summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:8px 14px;padding:10px 4px;font-weight:650;list-style-position:outside;display:flex}.call-summary-name{color:#1c3d7a}.call-summary-meta{color:#63708a;font-size:13px;font-weight:500}.payload-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.payload-block-wide{grid-column:1/-1}.payload-block-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.payload-block-header h5{text-transform:uppercase;letter-spacing:.04em;color:#8b96ab;flex:1;min-width:0;margin:0;font-size:12px}.btn-copy{color:#1c3d7a;cursor:pointer;background:#fff;border:1px solid #c5d0e3;border-radius:8px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600}.btn-copy:hover:not(:disabled){background:#eef3fb;border-color:#9eb4d9}.btn-copy:disabled{opacity:.45;cursor:not-allowed}.payload-pre{color:#e6edf7;white-space:pre-wrap;word-break:break-word;background:#101828;border-radius:10px;max-height:320px;margin:0;padding:12px;font-size:12px;line-height:1.45;overflow:auto}.validation-section{margin-top:18px}.validation-section>h4{margin:0 0 10px}.validation-table th,.validation-table td{vertical-align:top;text-align:left;border:1px solid #dbe4ef;padding:8px 10px}.validation-table th{color:#40506a;background:#f0f4fa}.val-field{color:#1c3d7a;white-space:nowrap;border-left:4px solid #0000;font-family:ui-monospace,Consolas,monospace;font-size:13px}.val-field--pass{background:#f4fbf7;border-left-color:#167040}.val-field--warn{background:#fffbeb;border-left-color:#ca8504}.val-field--fail{background:#fef3f2;border-left-color:#b42318}.val-check-name{color:#2d4260;font-weight:600}.val-msg{color:#40506a;line-height:1.45}.validation-row--pass>td:not(.val-field){background-color:#fafdfb}.validation-row--warn>td:not(.val-field){background-color:#fffbeb}.validation-row--fail>td:not(.val-field){background-color:#fef3f2}.validation-cell{white-space:nowrap;font-weight:700}.validation-cell.validation-pass{color:#167040}.validation-cell.validation-warn{color:#9a5b00}.validation-cell.validation-fail{color:#b42318}.history-task-no{white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:12px}.history-toolbar .history-task-no-filter{min-width:180px;font-family:ui-monospace,Consolas,monospace}.validation-panel .validation-summary-text{color:#344054;margin:0 0 10px;font-size:14px}.validation-summary-bar{color:#475467;background:#f8fafc;border:1px solid #dbe4ef;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;font-size:13px;display:flex}.validation-filter-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.validation-category-list{flex-direction:column;gap:10px;display:flex}.validation-category{border:1px solid #dbe4ef;border-radius:8px;overflow:hidden}.validation-category-head{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-weight:600;list-style:none;display:flex}.validation-category-head::-webkit-details-marker{display:none}.validation-category-head--pass{color:#167040;background:#f4fbf7}.validation-category-head--warn{color:#ca8504;background:#fffbeb}.validation-category-head--fail{color:#b42318;background:#fef3f2}.validation-category-meta{font-size:12px;font-weight:500}.validation-table--business .val-code{color:#6941c6;white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:12px}.validation-tech-details{color:#667085;margin-top:6px;font-size:12px}.validation-tech-details summary{cursor:pointer;color:#475467}.validation-tech-details dl{grid-template-columns:64px 1fr;gap:4px 8px;margin:6px 0 0;display:grid}.validation-case-summary{color:#344054;background:#f8fafc;border-left:3px solid #6941c6;margin:8px 0 12px;padding:8px 12px;font-size:14px}.test-rules-toolbar{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:12px;display:flex}.test-rules-hint{color:#63708a;flex:1;min-width:220px;margin:0;font-size:13px;line-height:1.45}.test-rules-wrap{overflow-x:auto}.test-rules-table{border-collapse:collapse;width:100%;font-size:14px}.test-rules-table th,.test-rules-table td{text-align:left;vertical-align:middle;border:1px solid #dbe4ef;padding:8px 10px}.test-rules-table th{color:#40506a;white-space:nowrap;background:#f0f4fa;font-weight:600}.test-rules-label{color:#1c3d7a;max-width:220px;font-weight:600;line-height:1.35}.test-rules-input{border:1px solid #c5d0e3;border-radius:8px;width:100%;min-width:0;max-width:120px;padding:6px 8px;font-size:14px}.test-rules-input-occ{max-width:140px;font-family:ui-monospace,Consolas,monospace}.test-rules-input-id{max-width:160px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.test-rules-preview{color:#2d4260;white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:12px}.test-rules-col-run{white-space:nowrap;vertical-align:middle;width:1%}.btn-run-single{padding:5px 10px;font-size:13px}.retry-toolbar{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:12px;display:flex}.retry-file-label{cursor:pointer;position:relative}.retry-file-input{opacity:0;width:0;height:0;position:absolute;overflow:hidden}.retry-file-name{color:#40506a;font-size:13px}.retry-option{color:#40506a;align-items:center;gap:6px;font-size:13px;display:inline-flex}.retry-max-input{max-width:72px}.retry-errors{color:#b42318;margin:0 0 12px;padding-left:20px;font-size:13px}.retry-stats{color:#63708a;margin:0 0 12px;font-size:13px}.retry-preview-wrap h3{color:#40506a;margin:0 0 8px;font-size:14px}.retry-results-wrap{overflow-x:auto}.retry-table{border-collapse:collapse;width:100%;font-size:13px}.retry-table th,.retry-table td{text-align:left;vertical-align:top;border:1px solid #dbe4ef;padding:8px 10px}.retry-table th{color:#40506a;white-space:nowrap;background:#f0f4fa;font-weight:600}.retry-mono{word-break:break-all;font-family:ui-monospace,Consolas,monospace;font-size:11px}.retry-error-cell{color:#5c3d2e;word-break:break-word;max-width:240px;font-size:12px}.retry-summary{margin-bottom:12px}.retry-summary-text{color:#63708a;word-break:break-word;max-width:220px;margin-top:4px;font-size:12px}.retry-row-pass{background:#f6fdf8}.retry-row-warn{background:#fffbf0}.retry-row-fail,.retry-row-error{background:#fff6f5}.retry-pill-pass{color:#0d6832;background:#dcf5e3}.retry-pill-warn{color:#8a6100;background:#fff0c2}.retry-pill-fail,.retry-pill-error{color:#b42318;background:#fde2e0}.retry-detail-row td{background:#fafbfd;padding:12px 16px}.retry-validation-cell{min-width:280px;max-width:420px}.retry-validation-none{color:#94a3b8}.retry-validation-list{margin:0;padding-left:18px;font-size:12px;line-height:1.45}.retry-validation-item{word-break:break-word;margin-bottom:6px}.retry-validation-warn{color:#8a6100}.retry-validation-fail{color:#b42318}.retry-validation-panel{background:#fffbf0;border:1px solid #f0e0a8;border-radius:8px;padding:10px 12px}.retry-validation-panel h5{color:#40506a;margin:0 0 8px;font-size:13px}.retry-detail-panel{flex-direction:column;gap:12px;display:flex}.retry-call-meta{color:#63708a;margin:0 0 8px;font-size:12px}.retry-no-order-check{color:#63708a;margin:0;font-size:13px}.retry-call-details{margin-top:0}.retry-call-details summary{cursor:pointer;color:#40506a;margin-bottom:8px;font-size:13px;font-weight:600}.retry-call-block{margin-bottom:10px}.retry-call-pre{white-space:pre-wrap;word-break:break-all;background:#f4f6fa;border-radius:6px;margin:6px 0 0;padding:8px;font-size:11px;overflow-x:auto}.payload-pre--html{color:#e6edf7;white-space:pre-wrap;word-break:break-word;background:#101828;border-radius:10px;max-height:320px;margin:0;padding:12px;font-size:12px;line-height:1.45;overflow:auto}.payload-pre--html mark.payload-test-key{color:#fff8dc;background:#facc1559;border-radius:3px;padding:0 1px}.payload-pre--html mark.payload-test-val{color:#e0f2fe;background:#38bdf847;border-radius:3px;padding:0 1px}.payload-pre--html mark.payload-test-url{color:#ecfdf5;background:#34d3994d;border-radius:3px;padding:0 1px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.endpoint-config-panel .host-hint{margin:0 0 12px}.endpoint-toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-bottom:12px;display:flex}.endpoint-profile-select{flex:280px;min-width:200px}.endpoint-status{color:#167040;margin:0 0 10px;font-size:14px}.endpoint-draft{background:#f6f9fc;border:1px solid #dbe4ef;border-radius:10px;margin-bottom:14px;padding:12px}.endpoint-draft-actions{flex-wrap:wrap;gap:8px;display:flex}.endpoint-base-url{margin:0 0 10px;font-size:14px}.endpoint-base-url code{word-break:break-all}.endpoint-path-table .endpoint-path-input{width:100%;min-width:160px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.endpoint-url-preview code{word-break:break-all;color:#40506a;font-size:12px}.endpoint-reset-paths{margin-top:10px}button.btn-danger{color:#9b1c1c;border-color:#f0b4b4}button.btn-danger:hover:not(:disabled){background:#fef2f2}.history-panel .history-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.history-panel .history-pagination{align-items:center;gap:12px;margin-top:12px;display:flex}.history-panel .history-page-input{text-align:center;width:4rem;padding:4px 6px}.history-panel .history-detail{border-top:1px solid #dfe5ef;margin-top:16px;padding-top:16px}.page-tabs{border-bottom:1px solid #dbe4ef;flex-wrap:wrap;gap:4px;margin-bottom:16px;padding-bottom:0;display:flex}.tab-btn{color:#5c6880;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:14px}.tab-btn--active{color:#2563eb;border-bottom-color:#2563eb;font-weight:600}.tab-panel{min-height:120px}.tab-page-embed .card:first-child{margin-top:0}.report-tab-actions{margin-bottom:12px}.auth-role-badge{color:#1d4ed8;background:#e8f2ff;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:11px;font-weight:600}.suppliers-layout{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:16px;display:grid}@media (width<=960px){.suppliers-layout{grid-template-columns:1fr}}.suppliers-list-toolbar{gap:8px;margin-bottom:12px;display:flex}.suppliers-list-toolbar input{flex:1}.suppliers-list{max-height:480px;margin:0;padding:0;list-style:none;overflow-y:auto}.suppliers-list-item{text-align:left;color:#172033;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.suppliers-list-item:hover{background:#f0f4f9}.suppliers-list-item--active{color:#1d4ed8;background:#e8f2ff;font-weight:600}.suppliers-list-item strong{font-size:14px}.suppliers-list-item span{color:#6b7a90;font-size:12px}.suppliers-list-op{color:#94a3b8;font-size:11px}.user-permissions-layout{grid-template-columns:200px 1fr;gap:20px;display:grid}.user-permissions-heading{margin:0 0 12px;font-size:14px}.user-permissions-user-list{margin:0;padding:0;list-style:none}.user-permissions-user-btn{text-align:left;color:#172033;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:8px 10px;font-size:14px;font-weight:500}.user-permissions-user-btn:hover{background:#f0f4f9}.user-permissions-user-btn--active{color:#1d4ed8;background:#e8f2ff;border-color:#c7ddff;font-weight:600}.access-badge{color:#0369a1;background:#e0f2fe;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}@media (width<=960px){.user-permissions-layout{grid-template-columns:1fr}}.user-permissions-users-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.user-permissions-user-item{margin-bottom:4px}.user-permissions-user-actions{gap:8px;padding:0 10px 6px;display:flex}.btn-link{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.btn-link:hover{text-decoration:underline}.btn-link:disabled{color:#94a3b8;cursor:not-allowed}.btn-small{padding:4px 10px;font-size:12px}.password-reveal-card,.card-inline.user-password-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:12px 16px}.user-password-panel-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.password-reveal{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.password-reveal-label{color:#64748b;font-size:13px}.password-reveal-value{background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:4px 8px;font-size:14px}.suppliers-form-actions{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.supplier-section{border-top:1px solid #eef3f8;margin-top:16px;padding-top:8px}.supplier-section summary{cursor:pointer;padding:8px 0;font-weight:600}.supplier-detail-content{flex-direction:column;gap:4px;display:flex}.supplier-detail-meta,.supplier-detail-section,.supplier-detail-field{margin:0}.supplier-detail-field dt{color:#5c6880;margin-bottom:4px;font-size:.85rem}.supplier-detail-field dd{white-space:pre-wrap;word-break:break-word;margin:0 0 12px}.connection-profile-bar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px;display:flex}.connection-profile-select{flex:1;min-width:200px}.input-readonly{color:#5c6880;cursor:default;background:#f0f4f9}.connection-section-title{margin:20px 0 12px;font-size:15px;font-weight:600}.api-probe-card{background:#fff;border:1px solid #e8ecf2;border-radius:8px;margin-bottom:16px;padding:16px}.api-probe-card.api-probe-fail{border-color:#f5c2c7}.api-probe-card.api-probe-warn{border-color:#ffe69c}.api-probe-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.api-probe-head h3{margin:0;font-size:16px}.api-probe-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.validation-table .val-api,.validation-table .val-path,.validation-table .val-value{font-size:13px}.validation-table .val-value{word-break:break-all;max-width:160px}.api-probe-meta{color:#5c6880;margin:0 0 8px;font-size:13px}.api-probe-validations{margin:8px 0;font-size:13px}.api-probe-toggle{color:#1a56db;cursor:pointer;background:0 0;border:none;margin:4px 0;padding:0;font-size:13px}.api-probe-detail h4{margin:12px 0 6px;font-size:14px}.static-api-params,.order-query-params{margin-top:12px}.order-json-editor{flex-direction:column;gap:6px;width:100%;font-size:14px;display:flex}.order-json-editor textarea{width:100%;font-family:ui-monospace,monospace;font-size:12px}.test-custom-hotels-row{color:#5c6880;border-top:1px solid #e8ecf2;align-items:center;gap:10px;margin-top:10px;padding-top:10px;font-size:13px;display:flex}.test-custom-hotels-label{white-space:nowrap;flex-shrink:0}.test-custom-hotels-row input{flex:1;min-width:0;padding:6px 10px;font-size:13px}.test-supplier-banner{color:#3d4654;border-bottom:1px solid #e8ecf2;margin:0 0 12px;padding-bottom:12px;font-size:15px}.test-supplier-type{color:#1a56db;font-weight:600}.test-host-select-block{margin-bottom:.75rem}.test-host-select-hint{margin:.35rem 0 0}.test-run-bar-main{flex:1;min-width:0}.test-run-bar-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.test-run-hint{color:#5c6880;margin:0;font-size:14px}.test-rules-col-check{text-align:center;width:40px}.test-rules-row--off{opacity:.55}.test-rules-row--ignored{opacity:.72}.dash-card-meta{color:#6b7a90;font-size:12px}.modal-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{background:#fff;border-radius:10px;flex-direction:column;width:min(920px,100%);max-height:calc(100vh - 48px);display:flex;box-shadow:0 12px 40px #0000002e}.modal-header h2{margin:0;font-size:18px}.modal-close{min-width:36px;padding:4px 10px;font-size:20px;line-height:1}.modal-body{flex:1;padding:16px 20px;overflow-y:auto}.modal-footer{border-top:1px solid #e8ecf2;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.supplier-table-actions{flex-wrap:wrap;gap:6px;display:flex}.supplier-table .btn-danger{color:#b42318}.testing-embedded-panel{flex-direction:column;gap:12px;display:flex}.embedded-tab-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.embedded-tab-toolbar .test-supplier-banner{border:none;margin:0;padding:0}.order-flow-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.order-flow-ids{color:#3d4654;margin:8px 0 0;font-size:13px}.order-flow-ids code{font-size:12px}.order-flow-preview{margin-top:12px}.order-flow-preview summary{cursor:pointer;color:#5c6880;font-size:13px}.order-flow-step-wrap{flex-direction:column;gap:0;display:flex}.order-flow-subcalls{border-left:2px solid #e8ecf2;margin:-8px 0 12px 16px;padding-left:8px}.main-content:has(.testing-center){flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.testing-center{background:#eef3f8;flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.tc-topbar{background:#fff;border-bottom:1px solid #dbe4ef;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px 24px;min-height:60px;padding:10px 20px;display:flex}.tc-topbar-left{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.tc-topbar-title{color:#172033;margin:0;font-size:18px;font-weight:700}.tc-topbar-supplier{align-items:center;gap:8px;font-size:14px;display:flex}.tc-topbar-supplier-label{color:#5c6880;white-space:nowrap}.supplier-search-select{min-width:240px;position:relative}.supplier-search-select-input{background:#fff;border:1px solid #c5d0de;border-radius:6px;width:100%;min-width:240px;padding:6px 10px;font-size:14px}.supplier-search-select-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.supplier-search-select-list{z-index:30;background:#fff;border:1px solid #dbe4ef;border-radius:8px;max-height:280px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0f172a1f}.supplier-search-select-option{text-align:left;color:#172033;cursor:pointer;background:0 0;border:none;width:100%;padding:8px 12px;font-size:14px;display:block}.supplier-search-select-option:hover,.supplier-search-select-option--active{color:#1d4ed8;background:#eff6ff}.supplier-search-select-empty{color:#6b7280;padding:10px 12px;font-size:13px}.tc-topbar-right{align-items:center;gap:16px;display:flex}.tc-ai-toggle{color:#3d4654;cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.tc-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:8px;padding:10px 20px;font-size:15px;font-weight:600;box-shadow:0 2px 8px #2563eb59}.tc-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af)}.tc-btn-primary:disabled{opacity:.55;cursor:not-allowed}.tc-topbar-progress-inline{color:#5c6880;flex-wrap:wrap;flex:1;align-items:center;gap:6px 10px;min-width:120px;font-size:13px;display:flex}.tc-topbar-progress-item strong{color:#172033}.tc-topbar-progress-sep{color:#c5cdd8;-webkit-user-select:none;user-select:none}.tc-topbar-progress-task{color:#185abc;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.tc-topbar-progress-task:hover{text-decoration:underline}.tc-topbar-progress-hint{color:#b45309}.tc-body{flex:1;min-height:0;display:flex;overflow:hidden}.tc-side-nav-wrap{flex-direction:column;min-height:0;display:flex;overflow:hidden}.tc-main-wrap{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.tc-main-wrap .tc-main{flex:1;min-height:0}.tc-log-wrap{flex-direction:column;flex-shrink:0;height:100%;min-height:0;display:flex;overflow:hidden}.tc-log-wrap--collapsed{flex-shrink:0;width:40px}.tc-resize-handle{cursor:col-resize;touch-action:none;background:0 0;flex-shrink:0;width:6px;transition:background .15s}.tc-resize-handle:hover,body.tc-resize-active .tc-resize-handle{background:#3b82f659}body.tc-resize-active{cursor:col-resize;-webkit-user-select:none;user-select:none}.tc-side-nav{color:#cbd5e1;background:#1e293b;border-right:none;flex-shrink:0;width:100%;height:100%;padding:12px 0;overflow-y:auto}.tc-nav-tree{margin:0;padding:0;list-style:none}.tc-nav-item{text-align:left;color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;width:100%;padding:10px 16px;font-size:13px;display:block}.tc-nav-item--leaf{padding-left:28px;font-family:ui-monospace,monospace;font-size:12px}.tc-nav-item:hover{color:#fff;background:#ffffff0f}.tc-nav-item--active{color:#fff;background:#3b82f633;border-left-color:#3b82f6;font-weight:600}.tc-nav-section-title{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:16px 16px 8px;font-size:11px}.tc-nav-group-label{color:#64748b;padding:6px 16px 4px 24px;font-size:11px}.tc-main{flex:1;min-width:0;padding:20px 24px;overflow-y:auto}.tc-main-header h2{margin:0 0 8px;font-size:17px}.tc-main-header{margin-bottom:16px}.tc-nav-item--locked{opacity:.55;cursor:not-allowed}.tc-progress-panel{background:#f8fafc;border-bottom:1px solid #e8ecf2;flex-shrink:0;padding:10px 12px;font-size:13px}.tc-progress-panel--collapsed{border-bottom:none;padding:6px 4px}.tc-progress-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.tc-progress-title{margin:0;font-size:13px;font-weight:600}.tc-progress-refresh{padding:2px 8px;font-size:12px}.tc-progress-status{color:#6b7280;margin:0 0 8px}.tc-progress-phases{margin:0 0 8px;padding-left:18px;line-height:1.5}.tc-progress-phase--done{color:#166534}.tc-progress-phase--current{color:#185abc;font-weight:600}.tc-progress-current{flex-direction:column;gap:4px;display:flex}.tc-progress-current-label{color:#6b7280;text-transform:uppercase;letter-spacing:.02em;font-size:11px}.tc-progress-goto{text-align:left;color:#185abc;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.tc-progress-goto:hover{text-decoration:underline}.tc-progress-current-compact{writing-mode:horizontal-tb;text-align:center;margin:0 0 8px;font-size:11px;line-height:1.3}.tc-progress-empty{color:#6b7280;margin:0;font-size:12px}.tc-log-panel{background:#fff;border-left:1px solid #dbe4ef;flex-direction:column;flex:1 0;width:100%;min-height:0;display:flex;overflow:hidden}.tc-log-panel--collapsed{align-items:center;width:40px;padding-top:12px}.tc-log-expand{writing-mode:vertical-rl;cursor:pointer;background:#f0f4f9;border:none;border-radius:4px;padding:8px 4px;font-size:12px}.tc-log-panel-head{background:#fff;border-bottom:1px solid #e8ecf2;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 8px 0;display:flex}.tc-log-tabs{flex:1;gap:2px;display:flex}.tc-log-tab{color:#5c6880;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 6px;font-size:12px}.tc-log-tab--active{color:#1d4ed8;border-bottom-color:#1d4ed8;font-weight:600}.tc-log-tab--alert{color:#b45309}.tc-log-tab--active.tc-log-tab--alert{color:#b45309;border-bottom-color:#f59e0b}.tc-log-collapse{padding:4px 8px;font-size:12px}.tc-log-body{overscroll-behavior:contain;flex:1;min-height:0;padding:12px;font-size:12px;overflow-y:auto}.tc-log-entry{border:1px solid #e8ecf2;border-radius:6px;margin-bottom:12px;padding:8px}.tc-log-entry summary{cursor:pointer;font-size:12px;font-weight:600}.tc-log-call{border-top:1px dashed #e8ecf2;margin-top:8px;padding-top:8px}.tc-log-url{word-break:break-all;font-size:11px}.tc-log-label{color:#5c6880;margin:8px 0 4px;font-size:11px;font-weight:600}.tc-flow-step-list{margin:0;padding:0;list-style:none}.tc-flow-step-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;overflow:hidden}.tc-flow-step-item:last-child{margin-bottom:0}.tc-flow-step-row{grid-template-columns:28px 1fr auto auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.tc-flow-step-index{color:#6b7a90;font-weight:600}.tc-flow-step-label{font-size:14px}.tc-flow-step-status{color:#5c6880;background:#f0f4f9;border-radius:999px;padding:2px 10px;font-size:12px}.tc-flow-step-status--pass{color:#15803d;background:#e8f7ee}.tc-flow-step-status--warn{color:#b45309;background:#fffbeb}.tc-flow-step-status--fail{color:#b91c1c;background:#fef2f2}.tc-flow-step-status--running{color:#1d4ed8;background:#e8f2ff}.tc-flow-step-run{padding:6px 12px;font-size:12px}.tc-flow-footer{margin-top:16px}.tc-flow-inputs-card{margin-bottom:16px}.tc-priced-shared-bar{border-bottom:1px solid var(--border,#e5e7eb);background:var(--surface-muted,#f8fafc);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:8px 16px;font-size:13px;display:flex}.tc-priced-shared-bar-label{white-space:nowrap;font-weight:600}.tc-priced-shared-bar-csv{word-break:break-all;flex:1;min-width:120px;font-size:12px}.tc-priced-shared-bar-link{color:var(--link,#2563eb);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.tc-priced-hotels-result .tc-priced-hotels-csv{word-break:break-all;margin:12px 0}.tc-priced-hotels-result .tc-priced-hotels-csv code{font-size:14px}.tc-manual-flow-card{margin-bottom:16px}.order-flow-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tc-final-test{flex-direction:column;gap:12px;display:flex}.tc-final-test-phase-title{margin:0 0 12px;font-size:15px;font-weight:600}.tc-final-test-config{margin-top:0}.tc-final-test-api-list{margin:12px 0 0;padding-left:20px;font-size:14px}.tc-final-test-api-list li{margin-bottom:6px}.tc-scenario-rules-card{margin-bottom:16px}.tc-scenario-rules-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.tc-scenario-rules-actions{gap:8px;display:flex}.tc-scenario-list{margin:0;padding:0;list-style:none}.tc-scenario-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;overflow:hidden}.tc-scenario-item:last-child{margin-bottom:0}.tc-scenario-item--pass{border-color:#bbf7d0}.tc-scenario-item--fail{border-color:#fecaca}.tc-scenario-item--warn{border-color:#fde68a}.tc-scenario-row{cursor:pointer;grid-template-columns:auto 48px 1fr auto auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.tc-scenario-row input[type=checkbox]{margin:0}.tc-scenario-id{color:#334155;font-size:13px;font-weight:700}.tc-scenario-label{font-size:14px;font-weight:500}.tc-scenario-desc{color:#64748b;font-size:12px}.tc-scenario-overall{color:#5c6880;background:#f0f4f9;border-radius:999px;padding:2px 10px;font-size:12px}.tc-scenario-overall--pass{color:#15803d;background:#e8f7ee}.tc-scenario-overall--fail{color:#b91c1c;background:#fef2f2}.tc-scenario-overall--warn{color:#b45309;background:#fffbeb}.tc-scenario-item--locked{opacity:.72}.tc-scenario-overall--locked{color:#6b7280;background:#f3f4f6}.tc-scenario-row-wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.tc-scenario-row-wrap .tc-scenario-row{flex:1;min-width:min(100%,320px)}.tc-scenario-row-actions{flex-shrink:0;align-items:center;gap:8px;padding-right:16px;display:flex}.tc-flow-step-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.tc-order-flow .test-run-bar{margin-bottom:16px}.tc-scenario-result-body{flex-direction:column;gap:12px;display:flex}.tc-scenario-step-list{background:#fafbfc;border-top:1px solid #eef2f7;padding:12px 16px 4px}.tc-flow-inputs-title{margin:0 0 12px;font-size:14px;font-weight:600}.tc-flow-inputs-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.tc-flow-inputs-grid label{position:relative;overflow:visible}.field-label-row{align-items:center;gap:4px;display:inline-flex}.field-help{vertical-align:middle;display:inline-flex;position:relative}.field-help-trigger{border:1px solid var(--border,#d1d5db);background:var(--surface-muted,#f3f4f6);width:16px;height:16px;color:var(--muted,#6b7280);cursor:help;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.field-help-trigger:hover,.field-help-trigger:focus-visible{color:#185abc;border-color:#8bb6ff;outline:none}.field-help-tooltip{z-index:20;color:#f9fafb;white-space:normal;text-align:left;opacity:0;pointer-events:none;background:#1f2937;border-radius:6px;min-width:200px;max-width:280px;padding:6px 10px;font-size:12px;font-weight:400;line-height:1.4;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.field-help:hover .field-help-tooltip,.field-help:focus-within .field-help-tooltip{opacity:1}.tc-flow-step-details{border-top:1px solid #eef2f7;padding:0 12px 12px}.tc-flow-call-block{background:#f8fafc;border-radius:6px;margin-top:8px;padding:8px;font-size:13px}.tc-flow-call-block summary{cursor:pointer;font-weight:500}.tc-api-probe .tc-api-param{margin-bottom:12px;font-size:14px;display:block}.tc-api-mode-toggle{border:1px solid var(--border,#d0d7de);border-radius:6px;margin-bottom:12px;display:inline-flex;overflow:hidden}.tc-api-mode-btn{background:var(--surface,#f6f8fa);color:var(--text,#24292f);cursor:pointer;border:none;padding:6px 14px;font-size:13px}.tc-api-mode-btn+.tc-api-mode-btn{border-left:1px solid var(--border,#d0d7de)}.tc-api-mode-btn--active{background:var(--primary,#0969da);color:#fff;font-weight:500}.tc-api-json-block{margin-bottom:12px}.tc-api-json-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tc-api-json-label{font-size:14px;font-weight:500}.tc-api-json-editor{border:1px solid var(--border,#d0d7de);resize:vertical;box-sizing:border-box;border-radius:6px;width:100%;min-height:280px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.45}.supplier-test-log-modal{flex-direction:column;width:min(96vw,960px);max-width:960px;max-height:90vh;display:flex}.supplier-test-log-body{flex:1;min-height:0;overflow:auto}.supplier-test-log-body .history-panel{margin:0}.history-detail-modal-overlay{z-index:1100}.history-detail-modal{flex-direction:column;width:min(96vw,960px);max-width:960px;max-height:90vh;display:flex}.history-detail-modal--resizable{max-width:none;max-height:none;position:relative}.modal-resize-handle{cursor:nwse-resize;touch-action:none;width:16px;height:16px;position:absolute;bottom:0;right:0}.modal-resize-handle:after{content:"";border-bottom:2px solid #b8c0d0;border-right:2px solid #b8c0d0;width:8px;height:8px;position:absolute;bottom:4px;right:4px}body.modal-resize-active{cursor:nwse-resize;-webkit-user-select:none;user-select:none}.history-detail-body{flex:1;min-height:0;padding:12px 16px;overflow:auto}.history-detail-content{flex-direction:column;min-height:0;display:flex}.history-detail-summary{color:#5c6880;margin:0 0 12px;font-size:14px}.history-detail-tabs-head{margin-bottom:0}.history-detail-tab-body{padding-top:12px}.history-detail-case-rules{margin-bottom:20px}.history-detail-case-rules h4{align-items:center;gap:8px;margin:0 0 8px;font-size:15px;display:flex}.history-detail-case-status{font-size:13px;font-weight:400}.connection-profile-bar--compact{justify-content:flex-end;margin-bottom:12px}.tab-page-embed .page-view,.testing-center .page-view{max-width:none}.stress-form-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px 16px;margin-top:12px;display:grid}.stress-form-grid label{flex-direction:column;gap:4px;font-size:13px;display:flex}.stress-form-grid label input{margin-top:auto}.stress-form-grid .stress-field-hint{min-height:2.7em}.stress-control-row{gap:12px;margin-top:12px;display:flex}.stress-metrics-row{flex-wrap:wrap;gap:16px;margin:12px 0;font-size:14px;display:flex}.stress-timeline-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:13px}.stress-timeline-table th,.stress-timeline-table td{text-align:left;border:1px solid #dbe4ef;padding:6px 10px}.stress-field-hint{color:#64748b;font-size:11px;font-weight:400;line-height:1.35}.stress-metrics-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:12px 0;display:grid}.stress-metric-card{background:#f8fafc;border:1px solid #dbe4ef;border-radius:10px;padding:12px 14px}.stress-metric-card__value{color:#1a2f4d;font-size:20px;font-weight:600}.stress-metric-card__label{color:#334155;margin-top:4px;font-size:13px}.stress-metric-card__hint{color:#64748b;margin-top:4px;font-size:11px;line-height:1.35}.stress-detail-panel{scroll-margin-top:16px}.stress-history-row--active{background:#eef4ff}.stress-report-section h4{color:#334155;margin:18px 0 8px;font-size:14px}.stress-report-section h4:first-of-type{margin-top:8px}.stress-report-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.stress-report-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px;display:grid}.stress-report-kv{gap:8px;font-size:13px;display:flex}.stress-report-kv__k{color:#64748b;min-width:88px}.stress-report-kv__v{color:#1a2f4d;word-break:break-word}.stress-report-verdict{border-radius:6px;padding:4px 12px;font-size:14px;font-weight:600}.stress-report-verdict--pass{color:#1b5e20;background:#e8f5e9}.stress-report-verdict--warn{color:#e65100;background:#fff8e1}.stress-report-verdict--fail{color:#b71c1c;background:#ffebee}:root{--platform-header-h:48px;--platform-sidebar-w:268px;--platform-right-panel-w:480px}*{box-sizing:border-box}body{margin:0;overflow:hidden}.platform{background:var(--color-bg);height:100vh;color:var(--color-text);font-family:var(--font-sans);flex-direction:column;display:flex}.platform-header{height:var(--platform-header-h);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:var(--z-topbar);flex-shrink:0;align-items:center;gap:16px;padding:0 16px;display:flex}.header-logo{align-items:center;gap:8px;text-decoration:none;display:flex}.header-logo-icon{background:linear-gradient(135deg, var(--color-primary), #3c8cff);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.header-logo-text{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text-heading);white-space:nowrap}.header-sep{background:var(--color-border);flex-shrink:0;width:1px;height:20px}.header-product-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast);border:1px solid #1452d6;align-items:center;gap:6px;padding:5px 14px;font-family:inherit;display:flex}.header-product-btn:hover{background:var(--color-primary-hover)}.header-product-btn svg{flex-shrink:0;width:14px;height:14px}.header-supplier-wrap{align-self:stretch;align-items:center;display:flex}.header-nav{align-self:stretch;align-items:center;gap:0;margin-left:8px;display:flex}.header-nav a{height:100%;font-size:var(--text-md);color:var(--color-text-muted);border-radius:var(--radius-sm);line-height:1;font-weight:var(--weight-normal);transition:color var(--transition-fast);white-space:nowrap;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.header-nav a:hover{color:var(--color-primary)}.header-nav a.active{color:var(--color-primary);font-weight:var(--weight-medium)}.header-right{align-items:center;gap:12px;margin-left:auto;display:flex}.header-search{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);align-items:center;gap:6px;width:240px;padding:4px 12px;display:flex}.header-search svg{color:var(--color-text-subtle);flex-shrink:0}.header-search input{font-size:var(--text-base);width:100%;color:var(--color-text);background:0 0;border:none;outline:none;font-family:inherit}.header-search input::placeholder{color:#999}.header-right-links{gap:16px;display:flex}.header-right-links a{font-size:var(--text-base);color:#333;white-space:nowrap;text-decoration:none}.header-right-links a:hover{color:var(--color-primary)}.header-lang-btn{font-size:var(--text-base);color:var(--color-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:2px;font-family:inherit;display:flex}.header-user-btn{background:var(--color-primary-subtle);width:32px;height:32px;color:var(--color-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;display:flex}.header-user-menu{top:calc(var(--platform-header-h) + 4px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:180px;z-index:var(--z-modal);padding:4px;position:absolute;right:16px}.header-user-menu-item{font-size:var(--text-base);color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 12px;font-family:inherit;display:flex}.header-user-menu-item:hover{background:var(--color-bg)}.header-user-menu-item.danger{color:var(--color-danger)}.header-user-menu-divider{background:var(--color-border);height:1px;margin:4px 0}.platform-body{flex:1;display:flex;overflow:hidden}.platform-sidebar{width:var(--platform-sidebar-w);background:var(--color-sidebar-bg);border-right:1px solid var(--color-sidebar-border);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.sidebar-top{flex-direction:column;gap:10px;padding:12px 16px;display:flex}.sidebar-product{align-items:center;gap:8px;display:flex}.sidebar-product-icon{background:linear-gradient(135deg, var(--color-primary), #3c8cff);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:flex}.sidebar-product-name{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-sidebar-brand)}.sidebar-supplier-select{font-size:var(--text-base);color:var(--color-sidebar-text);align-items:center;gap:4px;display:flex}.sidebar-supplier-select label{font-size:var(--text-base);color:var(--color-text-muted);white-space:nowrap}.sidebar-supplier-select select{font-size:var(--text-base);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-family:inherit}.sidebar-search{margin:0 12px 8px;position:relative}.sidebar-search svg{color:var(--color-text-subtle);position:absolute;top:50%;left:8px;transform:translateY(-50%)}.sidebar-search input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-size:var(--text-base);background:var(--color-surface);outline:none;padding:6px 10px 6px 30px;font-family:inherit}.sidebar-search input:focus{border-color:var(--color-primary)}.sidebar-search input::placeholder{color:#999}.sidebar-tree{flex:1;padding:0 8px 16px;overflow-y:auto}.tree-group{margin-bottom:2px}.tree-group-header{cursor:pointer;font-size:var(--text-base);color:var(--color-sidebar-text);font-weight:var(--weight-medium);-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm);transition:background var(--transition-fast);align-items:center;gap:6px;padding:8px 12px;display:flex}.tree-group-header:hover{background:var(--color-sidebar-bg-hover)}.tree-group-header .tree-arrow{width:14px;height:14px;transition:transform var(--transition-fast);color:var(--color-text-subtle);flex-shrink:0}.tree-group-header.expanded .tree-arrow{transform:rotate(90deg)}.tree-item{cursor:pointer;font-size:var(--text-base);color:var(--color-sidebar-text);transition:background var(--transition-fast);border-radius:var(--radius-sm);flex-direction:column;padding:7px 12px 7px 32px;display:flex;position:relative}.tree-item:hover{background:var(--color-sidebar-bg-hover)}.tree-item.active{background:var(--color-sidebar-active);color:var(--color-sidebar-text-active);font-weight:var(--weight-medium)}.tree-item.active:before{content:"";background:var(--color-primary);border-radius:0 2px 2px 0;width:3px;position:absolute;top:4px;bottom:4px;left:0}.tree-item-row{align-items:center;gap:8px;display:flex}.tree-item-name{font-size:var(--text-base)}.tree-item-method{font-size:var(--text-xs);color:var(--color-text-subtle);margin-top:1px}.tree-item.active .tree-item-method{color:var(--color-primary);opacity:.7}.tree-item-status{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.tree-item-status.pass{background:var(--color-success)}.tree-item-status.fail{background:var(--color-danger)}.tree-item-status.warn{background:var(--color-warning)}.tree-item-status.pending{background:#c9cdd4}.tree-item-status.running{background:var(--color-primary);animation:1.5s infinite pulse-status}@keyframes pulse-status{0%,to{opacity:1}50%{opacity:.4}}.platform-main{background:var(--color-surface);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.config-panel{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:16px 24px 12px}.config-panel h2{font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:var(--color-text-heading);align-items:center;gap:8px;margin:0 0 4px;display:flex}.api-method-badge{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.5px;border-radius:3px;flex-shrink:0;padding:2px 8px}.api-method-badge.get{color:#059669;background:#ecfdf5}.api-method-badge.post{color:#ea580c;background:#fff7ed}.api-method-badge.put{color:#2563eb;background:#eff6ff}.api-method-badge.delete{color:#dc2626;background:#fef2f2}.config-panel .api-desc{font-size:var(--text-base);color:var(--color-text-muted);line-height:var(--leading-normal);margin-bottom:12px}.config-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.config-field{flex-direction:column;gap:4px;display:flex}.config-field label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--weight-medium)}.config-field input,.config-field select{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-base);background:var(--color-surface);min-width:180px;color:var(--color-text);outline:none;padding:6px 12px;font-family:inherit}.config-field input:focus,.config-field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.config-field input[readonly]{color:var(--color-text-subtle);background:var(--color-surface-muted)}.request-panel{flex-direction:column;flex:1;gap:16px;padding:16px 24px;display:flex;overflow-y:auto}.request-section{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.request-section-header{background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-heading);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.request-section-header:hover{background:var(--color-bg-alt)}.request-section-header svg{width:16px;height:16px;color:var(--color-text-subtle);transition:transform var(--transition-fast)}.request-section-body{flex-direction:column;gap:10px;padding:12px 16px;display:flex}.param-row{align-items:center;gap:12px;display:flex}.param-row .param-name{width:170px;font-size:var(--text-base);color:var(--color-text-muted);flex-shrink:0}.param-row .param-name .required{color:var(--color-danger);margin-left:2px}.param-row input,.param-row select{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-base);background:var(--color-surface);max-width:400px;color:var(--color-text);outline:none;flex:1;padding:6px 12px;font-family:inherit}.param-row input:focus,.param-row select:focus{border-color:var(--color-primary)}.param-type{font-size:var(--text-xs);color:var(--color-text-subtle);width:60px;font-family:var(--font-mono);flex-shrink:0}.param-desc{font-size:var(--text-sm);color:var(--color-text-subtle);flex:1}.info-alert{background:var(--color-info-soft);border-radius:var(--radius-sm);font-size:var(--text-base);color:#00529b;line-height:var(--leading-normal);align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 16px;display:flex}.action-bar{gap:12px;margin-bottom:8px;padding:0 24px;display:flex}.btn{border-radius:var(--radius-sm);font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:8px 20px;font-family:inherit;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-outline{background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border)}.btn-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-soft)}.btn-sm{font-size:var(--text-sm);padding:4px 12px}.btn-lg{font-size:var(--text-lg);padding:10px 24px}.btn-icon{justify-content:center;min-width:32px;padding:6px}.tab-panel{border-top:1px solid var(--color-border);flex-direction:column;flex-shrink:0;display:flex}.tab-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);align-items:center;gap:0;padding:0 16px;display:flex;overflow-x:auto}.tab-btn{font-size:var(--text-base);color:var(--color-text-muted);cursor:pointer;font-weight:var(--weight-normal);transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-family:inherit}.tab-btn:hover{color:var(--color-primary)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--weight-medium)}.tab-btn .tab-badge{font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:10px;align-items:center;margin-left:4px;padding:0 6px;display:inline-flex}.tab-btn .tab-badge.pass{background:var(--color-success-soft);color:var(--color-success)}.tab-btn .tab-badge.fail{background:var(--color-danger-soft);color:var(--color-danger)}.tab-btn .tab-badge.warn{background:var(--color-warning-soft);color:var(--color-warning)}.tab-body{background:var(--color-surface-muted);max-height:400px;padding:16px;overflow-y:auto}.tab-body--full{flex:1;max-height:none}.response-viewer{gap:16px;display:flex}.response-viewer-col{flex:1;min-width:0}.response-viewer-label{font-size:var(--text-sm);color:var(--color-text-subtle);font-weight:var(--weight-semibold);align-items:center;gap:8px;margin-bottom:8px;display:flex}.response-viewer-label .status-ok{color:var(--color-success)}.response-viewer-label .status-err{color:var(--color-danger)}.response-block{border-radius:var(--radius-md);font-family:var(--font-mono);background:#1e1e2e;padding:16px;overflow-x:auto}.response-block pre{color:#cdd6f4;font-size:var(--text-base);white-space:pre-wrap;word-break:break-all;margin:0;line-height:1.6}.response-block .key{color:#89b4fa}.response-block .string{color:#a6e3a1}.response-block .number{color:#fab387}.response-block .boolean{color:#cba6f7}.response-block .null{color:#6c7086}.response-block .comment{color:#6c7086;font-style:italic}.response-block .method{color:#f38ba8}.response-block--light{border:1px solid var(--color-border);background:#f8f9fb}.response-block--light pre{color:var(--color-text)}.validation-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.validation-table th{text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-weight:var(--weight-semibold);font-size:var(--text-sm);background:#f0f1f3;padding:8px 12px}.validation-table td{vertical-align:top;line-height:var(--leading-normal);border-bottom:1px solid #f0f0f0;padding:8px 12px}.validation-table tr:hover td{background:var(--color-surface-muted)}.status-badge{font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.status-badge.pass{background:var(--color-success-soft);color:var(--color-success)}.status-badge.fail{background:var(--color-danger-soft);color:var(--color-danger)}.status-badge.warn{background:var(--color-warning-soft);color:var(--color-warning)}.status-badge.skip{color:#9e9e9e;background:#f5f5f5}.rule-code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-primary);font-weight:var(--weight-semibold);white-space:nowrap}.validation-msg{color:var(--color-text);word-break:break-word;max-width:400px}.validation-category-header{background:var(--color-bg);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--text-base);font-weight:var(--weight-medium);border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding:8px 12px;display:flex}.validation-category-header:hover{background:var(--color-bg-alt)}.validation-summary,.summary-cards{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;flex:1;align-items:center;gap:4px;min-width:120px;padding:16px;display:flex}.summary-card .count{font-size:var(--text-4xl);font-weight:var(--weight-bold);line-height:1}.summary-card .label{font-size:var(--text-sm);color:var(--color-text-muted)}.summary-card.total .count{color:var(--color-primary)}.summary-card.passed .count{color:var(--color-success)}.summary-card.warned .count{color:var(--color-warning)}.summary-card.failed .count{color:var(--color-danger)}.history-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.history-table th{text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-weight:var(--weight-semibold);font-size:var(--text-sm);white-space:nowrap;background:#f0f1f3;padding:8px 12px}.history-table td{border-bottom:1px solid #f0f0f0;padding:8px 12px}.history-table tr:hover td{background:var(--color-surface-muted)}.history-table .link{color:var(--color-primary);cursor:pointer}.history-filter-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.history-filter-bar select,.history-filter-bar input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-base);padding:6px 10px;font-family:inherit}.history-summary{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.history-stat{font-size:var(--text-base);align-items:center;gap:6px;display:flex}.history-stat .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.history-stat .dot.pass{background:var(--color-success)}.history-stat .dot.fail{background:var(--color-danger)}.history-stat .dot.warn{background:var(--color-warning)}.platform-right-panel{background:var(--color-surface-muted);border-left:1px solid var(--color-border);width:0;transition:width var(--transition-base);flex-shrink:0;overflow:hidden}.platform-right-panel.open{width:var(--platform-right-panel-w)}.right-panel-inner{width:var(--platform-right-panel-w);flex-direction:column;height:100%;display:flex;overflow:hidden}.right-panel-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.right-panel-tabs{gap:0;display:flex;overflow-x:auto}.right-panel-tab{font-size:var(--text-base);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 16px;font-family:inherit}.right-panel-tab:hover{color:var(--color-primary)}.right-panel-tab.active{color:var(--color-primary);font-weight:var(--weight-medium);border-bottom-color:var(--color-primary)}.right-panel-close-btn{color:var(--color-text-subtle);cursor:pointer;font-size:var(--text-sm);background:0 0;border:none;flex-shrink:0;padding:4px 8px;font-family:inherit}.right-panel-close-btn:hover{color:var(--color-text)}.right-panel-body{flex:1;padding:16px;overflow-y:auto}.right-panel-inner h3{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text-heading);margin:0 0 8px}.right-panel-toggle-btn{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;width:20px;height:48px;color:var(--color-text-subtle);font-size:var(--text-xs);border-right:none;border-radius:4px 0 0 4px;justify-content:center;align-items:center;font-family:inherit;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.progress-tracker{flex-direction:column;gap:6px;display:flex}.progress-step{font-size:var(--text-base);align-items:center;gap:8px;padding:4px 0;display:flex}.progress-step-icon{width:22px;height:22px;font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.progress-step-icon.done{background:var(--color-success-soft);color:var(--color-success)}.progress-step-icon.active{background:var(--color-warning-soft);color:var(--color-warning)}.progress-step-icon.pending{color:#999;background:#f0f0f0}.progress-step-label{color:var(--color-text);flex:1}.progress-step-status{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.progress-step-status.done{color:var(--color-success)}.progress-step-status.active{color:var(--color-warning)}.rule-ref-list{flex-direction:column;gap:2px;display:flex}.rule-ref-item{font-size:var(--text-sm);border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.rule-ref-item .rule-ref-code{font-family:var(--font-mono);font-weight:var(--weight-semibold);color:var(--color-primary);font-size:var(--text-xs)}.rule-ref-item .rule-ref-name{color:var(--color-text-muted)}.rule-ref-item .rule-ref-status{font-size:var(--text-xs)}.rule-ref-item .rule-ref-status.enabled{color:var(--color-success)}.rule-ref-item .rule-ref-status.disabled{color:var(--color-text-subtle)}.quick-actions{flex-direction:column;gap:8px;display:flex}.quick-actions .btn{justify-content:center;width:100%}.sign-debug .response-block{padding:10px}.sign-debug .response-block pre{font-size:var(--text-xs)}.api-doc-panel{flex-direction:column;gap:20px;display:flex}.api-doc-section-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text-heading);margin:0 0 10px}.api-doc-notes{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;padding-left:18px;line-height:1.7}.api-doc-notes li{margin-bottom:4px}.api-doc-request-info{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.api-doc-info-row{font-size:var(--text-sm);align-items:center;gap:10px;display:flex}.api-doc-info-label{color:var(--color-text-muted);flex-shrink:0;min-width:56px}.api-doc-url{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text);word-break:break-all;line-height:1.5}.api-doc-params{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.api-doc-param{border-bottom:1px solid var(--color-border);padding:12px 14px}.api-doc-param:last-child{border-bottom:none}.api-doc-param-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.api-doc-param-name{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-heading)}.api-doc-param-type{font-size:var(--text-xs);color:var(--color-text-subtle);background:var(--color-surface-muted);border-radius:3px;padding:1px 6px}.api-doc-param-required{font-size:var(--text-xs);color:var(--color-danger);font-weight:var(--weight-medium)}.api-doc-param-required.optional{color:var(--color-text-subtle)}.api-doc-param-desc{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:1.6}.api-doc-param-example{font-size:var(--text-xs);color:var(--color-text-subtle);margin-top:6px}.api-doc-param-example code{font-family:var(--font-mono);color:var(--color-text);word-break:break-all}.api-doc-param-example-label{margin-right:4px}.api-doc-example-block{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.api-doc-example-lang{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-heading);border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:8px 14px}.api-doc-example-block pre{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text);margin:0;padding:12px 14px;line-height:1.6;overflow-x:auto}.api-doc-empty{text-align:center;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;padding:48px 16px;display:flex}.api-doc-empty-icon{opacity:.6;margin-bottom:12px;font-size:32px}.api-doc-empty-text{font-size:var(--text-sm);line-height:1.6}.dashboard-page{height:100%;padding:24px;overflow-y:auto}.dashboard-page h2{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--color-text-heading);margin:0 0 20px}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.dashboard-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}.dashboard-card h3{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text-heading);margin:0 0 12px}.sdk-lang-selector{gap:8px;margin-bottom:12px;display:flex}.sdk-lang-btn{border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);cursor:pointer;background:var(--color-surface);color:var(--color-text-muted);padding:4px 14px;font-family:inherit}.sdk-lang-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.sign-tool-section{margin-bottom:16px}.sign-tool-section h4{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-heading);margin:0 0 8px}.sign-tool-field{align-items:center;gap:12px;margin-bottom:8px;display:flex}.sign-tool-field label{width:100px;font-size:var(--text-base);color:var(--color-text-muted);flex-shrink:0}.sign-tool-field input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-mono);background:var(--color-surface);flex:1;padding:6px 10px}.modal-overlay{z-index:var(--z-modal);background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:480px;max-width:90vw;max-height:85vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0}.modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:4px;font-size:20px;line-height:1}.modal-body{padding:16px 20px}.empty-state{text-align:center;color:var(--color-text-subtle);flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.empty-state-icon{margin-bottom:12px;font-size:40px}.empty-state-text{font-size:var(--text-md);max-width:360px}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.overflow-auto{overflow:auto}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.font-mono{font-family:var(--font-mono)}.mb-16{margin-bottom:16px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.pagination{justify-content:center;align-items:center;gap:8px;margin-top:16px;display:flex}.pagination button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-base);cursor:pointer;padding:6px 12px;font-family:inherit}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.pagination .page-input{text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:50px;font-size:var(--text-base);padding:6px;font-family:inherit}@media (width<=1400px){.config-row{gap:8px}.config-field input,.config-field select{min-width:140px}.response-viewer{flex-direction:column}}@media (width<=1200px){.platform-right-panel.open{width:400px}:root{--platform-right-panel-w:400px}}@media (width<=900px){.platform-sidebar{width:220px}:root{--platform-sidebar-w:220px}.header-search{width:160px}.platform-right-panel.open{width:0}}.explorer-page-scroll{height:100%;overflow-y:auto}.integration-guide-scroll{padding:0 0 24px}.integration-guide-flow-chain{color:#0f172a;margin:0 0 14px;font-weight:600}.integration-guide-steps{margin:0;padding-left:20px}.integration-guide-steps li{margin-bottom:14px}.integration-guide-steps li p{color:#64748b;margin:4px 0 0}.integration-guide-phase-api{color:#0f172a;background:#f1f5f9;border-radius:4px;margin:6px 0 0;padding:2px 8px;font-family:ui-monospace,monospace;font-size:13px;display:inline-block}.integration-guide-phase-items{color:#64748b;margin:8px 0 0;padding-left:20px}.integration-guide-phase-items li{margin-bottom:6px}.integration-guide-steps--compact li{margin-bottom:8px}.integration-guide-code{color:#e2e8f0;background:#0f172a;border-radius:8px;padding:14px 16px;font-size:13px;overflow-x:auto}.integration-guide-list{margin:0;padding-left:20px;line-height:1.7}.integration-guide-faq{margin:0}.integration-guide-faq-item{margin-bottom:16px}.integration-guide-faq-item dt{margin-bottom:4px;font-weight:600}.integration-guide-faq-item dd{color:#64748b;margin:0;line-height:1.6}.order-check-view .action-bar{padding:0 24px 12px}.order-check-progress{color:#64748b;align-self:center;font-size:13px}.connection-view-body{padding:0 24px 24px}.landing{color:#0f172a;background:#f2f6fa;height:100vh;min-height:100vh;position:relative;overflow:hidden auto}.landing:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 60% at 50% -10%,#1664ff1f,#0000),linear-gradient(#f0f6ff 0%,#f2f6fa 100%);height:480px;position:absolute;inset:0 0 auto}.landing>*{z-index:1;position:relative}.landing-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;background:#ffffffe0;border-bottom:1px solid #1664ff14;justify-content:space-between;align-items:center;gap:16px;padding:16px 32px;display:flex;position:sticky;top:0}.landing-nav-brand{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.landing-logo{color:#fff;background:linear-gradient(135deg,#1664ff,#3c8cff);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:700;display:flex}.landing-nav-actions{align-items:center;gap:12px;display:flex}.landing-btn{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600}.landing-btn--primary{color:#fff;background:#1664ff}.landing-btn--primary:hover{background:#1452d6}.landing-btn--ghost{color:#1664ff;background:0 0;border:1px solid #1664ff4d}.landing-hero--simple{text-align:center;max-width:640px;margin:0 auto;padding:72px 24px 48px}.landing-eyebrow{color:#1664ff;letter-spacing:.06em;margin:0 0 12px;font-size:13px;font-weight:700}.landing-hero h1{letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(28px,4vw,40px);line-height:1.2}.landing-hero-desc{color:#64748b;max-width:520px;margin:0 auto 28px;font-size:16px;line-height:1.65}.landing-hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.landing-features{max-width:960px;margin:0 auto;padding:32px 24px 64px}.landing-features h2{text-align:center;margin:0 0 28px;font-size:24px}.landing-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landing-feature-grid--steps{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-feature-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;align-items:flex-start;gap:16px;padding:24px;display:flex}.landing-feature-step{color:#fff;background:#1664ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.landing-feature-card h3{margin:0 0 8px;font-size:17px}.landing-feature-card p{color:#64748b;margin:0;font-size:14px;line-height:1.6}.landing-footer{text-align:center;color:#94a3b8;background:#0f172a;padding:28px 24px;font-size:13px}.landing>.landing-modal-backdrop{z-index:100;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.landing-modal{pointer-events:auto;width:min(420px,100%);position:relative}.landing-modal-close{cursor:pointer;color:#64748b;z-index:1;background:0 0;border:none;border-radius:8px;width:32px;height:32px;font-size:16px;line-height:1;position:absolute;top:12px;right:12px}.landing-modal-close:hover{color:#0f172a;background:#f1f5f9}.login-card--embedded{box-shadow:0 20px 60px #0f172a26}.login-card--embedded h2{margin:0 0 12px;font-size:22px}@media (width<=768px){.landing-feature-grid,.landing-feature-grid--steps,.landing-flow-grid{grid-template-columns:1fr}.landing-hero--simple{padding-top:48px}}@media (width<=560px){.landing-nav{padding:12px 16px}}.api-doc-layout{height:100vh;overflow:hidden}.api-doc-page{background:var(--color-bg);min-height:0;color:var(--color-text);flex:1;display:flex}.api-doc-page-toc{border-right:1px solid var(--color-sidebar-border);background:var(--color-sidebar-bg);flex-shrink:0;width:260px;padding:20px 12px;overflow-y:auto}.api-doc-page-toc-title{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted);margin:0 0 12px;padding:0 8px}.api-doc-page-toc-nav{flex-direction:column;gap:2px;display:flex}.api-doc-page-toc-link{border-radius:var(--radius-sm);width:100%;color:var(--color-sidebar-text);font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:8px;padding:8px 10px;line-height:1.4;display:flex}.api-doc-page-toc-link:hover{background:var(--color-sidebar-bg-hover);color:var(--color-text-heading)}.api-doc-page-toc-link.active{background:var(--color-sidebar-active);color:var(--color-sidebar-text-active)}.api-doc-page-toc-link--enum{font-weight:var(--weight-semibold);margin-top:8px}.api-doc-page-toc-method{text-align:center;min-width:2.375rem;font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:var(--radius-xs);font-family:var(--font-mono);box-sizing:border-box;flex-shrink:0;padding:1px 5px}.api-doc-page-toc-method--get{color:var(--color-success);background:var(--color-success-soft)}.api-doc-page-toc-method--post{color:#ea580c;background:#fff7ed}.api-doc-page-main{background:var(--color-surface);flex:1;min-width:0;padding:32px 40px 64px;overflow-y:auto}.api-doc-page-header{margin-bottom:28px}.api-doc-page-eyebrow{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-primary);letter-spacing:var(--tracking-wide);margin:0 0 8px}.api-doc-page-header h1{font-size:var(--text-5xl);font-weight:var(--weight-bold);color:var(--color-text-heading);line-height:var(--leading-tight);margin:0 0 8px}.api-doc-page-meta{font-size:var(--text-md);color:var(--color-text-muted);margin:0 0 16px}.api-doc-page-actions{flex-wrap:wrap;gap:8px;display:flex}.api-doc-page-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--text-base);cursor:pointer;transition:background var(--transition-fast);padding:6px 14px}.api-doc-page-btn:hover{background:var(--color-bg-alt);border-color:var(--color-text-subtle)}.api-doc-page-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-on)}.api-doc-page-btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.api-doc-page-copy-msg{font-size:var(--text-base);color:var(--color-success);margin:8px 0 0}.api-doc-page-toc-search{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);align-items:center;gap:8px;margin-bottom:16px;padding:8px 10px;display:flex}.api-doc-page-toc-search input{color:var(--color-text);font-size:var(--text-base);background:0 0;border:none;outline:none;flex:1}.api-doc-page-toc-search input::placeholder{color:var(--color-text-subtle)}.api-doc-page-toc-link--section{font-weight:var(--weight-semibold);color:var(--color-text-heading)}.api-doc-page-toc-link--group{font-weight:var(--weight-semibold);margin-top:4px}.api-doc-page-toc-group{flex-direction:column;display:flex}.api-doc-page-toc-children{flex-direction:column;gap:1px;margin-bottom:4px;padding-left:8px;display:flex}.api-doc-page-toc-link--child{font-size:var(--text-xs);padding-left:16px}.api-doc-page-toc-child-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.api-doc-page-section{border-bottom:1px solid var(--color-border);margin-bottom:40px;padding-bottom:32px}.api-doc-page-section-heading{font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:var(--color-text-heading);margin:0 0 12px}.api-doc-page-section-lead{font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-text-muted);margin:0 0 16px}.api-doc-page-subheading{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text-heading);margin:20px 0 12px}.api-doc-page-flow-chain{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text-heading);letter-spacing:.02em;margin:0 0 16px}.api-doc-page-steps{font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-text);margin:0;padding-left:20px}.api-doc-page-steps li{margin-bottom:12px}.api-doc-page-steps p{color:var(--color-text-muted);margin:4px 0 0}.api-doc-page-phase-api{font-size:var(--text-sm);font-family:var(--font-mono);color:var(--color-text-heading);background:var(--color-surface-muted,#f1f5f9);border-radius:4px;margin:6px 0 0;padding:2px 8px;display:inline-block}.api-doc-page-phase-items{color:var(--color-text-muted);margin:8px 0 0;padding-left:20px}.api-doc-page-phase-items li{margin-bottom:6px}.api-doc-page-code{border-radius:var(--radius-md);background:var(--color-surface-muted);border:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text);white-space:pre-wrap;margin:0 0 16px;padding:14px 16px;line-height:1.6;overflow-x:auto}.api-doc-page-list{font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-text);margin:0;padding-left:20px}.api-doc-page-list li{margin-bottom:8px}.api-doc-page-exception-hint{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text-muted);margin:0 0 20px}.api-doc-page-faq{margin:0}.api-doc-page-faq-item{margin-bottom:16px}.api-doc-page-faq-item dt{font-weight:var(--weight-semibold);color:var(--color-text-heading);font-size:var(--text-md);margin-bottom:4px}.api-doc-page-faq-item dd{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-text-muted);margin:0}.api-doc-page-callout p{margin:0 0 8px}.api-doc-page-callout p:last-child{margin-bottom:0}.api-doc-page-callout{border-left:3px solid var(--color-warning);background:var(--color-warning-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-text);white-space:pre-wrap;margin-bottom:32px;padding:12px 16px}.api-doc-page-op{border-bottom:1px solid var(--color-border);margin-bottom:48px;padding-bottom:48px}.api-doc-page-op:last-of-type{border-bottom:none}.api-doc-page-op-title{font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:var(--color-text-heading);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;line-height:1.4;display:flex}.api-doc-page-method{text-align:center;min-width:2.5rem;font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:var(--radius-xs);font-family:var(--font-mono);box-sizing:border-box;flex-shrink:0;padding:2px 8px}.api-doc-page-method--get{color:var(--color-success);background:var(--color-success-soft)}.api-doc-page-method--post{color:#ea580c;background:#fff7ed}.api-doc-page-op-path{font-family:var(--font-mono);font-size:var(--text-3xl);color:var(--color-text-heading)}.api-doc-page-op-dash{color:var(--color-text-subtle)}.api-doc-page-op-desc{font-size:var(--text-md);color:var(--color-text-muted);margin:0 0 20px}.api-doc-page-try{border-left:1px solid var(--color-border);background:var(--color-surface-muted);flex-shrink:0;width:570px;padding:24px 16px 48px;overflow-y:auto}.api-doc-page-try-json{border-top:1px solid var(--color-border);margin-top:24px;padding-top:20px}.api-doc-page-try-field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.api-doc-page-try-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.api-doc-page-try-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text-heading);font-family:var(--font-mono);font-size:var(--text-sm);padding:8px 10px}.api-doc-page-try-input:focus{border-color:var(--color-border-focus);outline:none}.api-doc-page-try-input--url{word-break:break-all;background:var(--color-surface-muted,#f8fafc);color:var(--color-text);cursor:default}.api-doc-page-try-textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:120px;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-xs);resize:vertical;padding:10px;line-height:1.5}.api-doc-page-try-textarea:focus{border-color:var(--color-border-focus);outline:none}.api-doc-page-try-title{font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);margin:0 0 16px}.api-doc-page-try-hint,.api-doc-page-try-desc{font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted);margin:0 0 12px}.api-doc-page-try-api{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;display:flex}.api-doc-page-try-api code{font-family:var(--font-mono);font-size:var(--text-base);color:var(--color-text-heading)}.api-doc-page-try-send{width:100%;margin-bottom:12px}.api-doc-page-try-warn,.api-doc-page-try-error{font-size:var(--text-sm);line-height:var(--leading-normal);margin:0 0 12px}.api-doc-page-try-warn{color:var(--color-warning)}.api-doc-page-try-error{color:var(--color-danger)}.api-doc-page-try-result{border-top:1px solid var(--color-border);margin-top:16px;padding-top:16px}.api-doc-page-try-result-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-heading);margin:0 0 12px}.api-doc-page-try .api-probe-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.api-doc-page-try .validation-results-table{font-size:var(--text-sm)}.api-doc-page-section-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text-heading);margin:0 0 12px}.api-doc-page-empty{font-size:var(--text-base);color:var(--color-text-muted);margin:0 0 16px}.api-doc-page-table-wrap{margin-bottom:20px;overflow-x:auto}.api-doc-page-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.api-doc-page-table th{text-align:left;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);padding:8px 12px}.api-doc-page-table td{border-bottom:1px solid var(--color-border-light);vertical-align:top;line-height:var(--leading-normal);padding:10px 12px}.api-doc-page-table tbody tr:last-child td{border-bottom:none}.api-doc-page-param-code{font-family:var(--font-mono);font-size:var(--text-sm);border-radius:var(--radius-xs);background:var(--color-bg-alt);color:var(--color-text-heading);padding:2px 6px}.api-doc-page-type{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-primary)}.api-doc-page-required.yes{color:var(--color-success);font-weight:var(--weight-bold)}.api-doc-page-required.no{color:var(--color-danger);font-weight:var(--weight-bold)}.api-doc-page-default{font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-xs);background:var(--color-bg-alt);color:var(--color-text);word-break:break-all;padding:1px 5px}.api-doc-page-dash{color:var(--color-text-subtle)}.api-doc-page-json-block{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:20px;overflow:hidden}.api-doc-page-json-label-row{background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;display:flex}.api-doc-page-json-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:lowercase;background:0 0;border-bottom:none;padding:0}.api-doc-page-json-pre{background:var(--color-surface);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre;margin:0;padding:16px;line-height:1.6;overflow-x:auto}.api-doc-page-enums{border-top:1px solid var(--color-border);margin-top:16px;padding-top:32px}.api-doc-page-enums-title{font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:var(--color-text-heading);margin:0 0 20px}.api-doc-page-enum-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.api-doc-page-enum-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);padding:16px}.api-doc-page-enum-card h3{font-size:var(--text-md);color:var(--color-text-heading);margin:0 0 4px}.api-doc-page-enum-card p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 12px}.api-doc-page-table--compact td,.api-doc-page-table--compact th{padding:6px 10px}@media (width<=1400px){.api-doc-page-try{width:510px}}@media (width<=1200px){.api-doc-page-try{width:480px}}@media (width<=900px){.api-doc-page{flex-direction:column}.api-doc-page-toc{border-right:none;border-bottom:1px solid var(--color-sidebar-border);width:100%;max-height:180px}.api-doc-page-main{max-width:none;padding:24px 20px 48px}.api-doc-page-try{border-left:none;border-top:1px solid var(--color-border);width:100%;max-height:none}}.sign-verify-panel{border-radius:var(--radius-md);color:#e8e8e8;background:#1e1e1e;border:1px solid #2d2d2d;overflow:hidden}.sign-verify-panel-body{grid-template-columns:minmax(280px,1fr) minmax(320px,1fr);min-height:280px;display:grid}.sign-verify-panel-form{border-right:1px solid #2d2d2d;flex-direction:column;gap:12px;padding:16px 20px;display:flex}.sign-verify-panel-field{flex-direction:column;gap:6px;display:flex}.sign-verify-panel-field--grow{flex:1;min-height:0}.sign-verify-panel-field--grow textarea{flex:1;min-height:100px}.sign-verify-panel-label{font-size:var(--text-sm);color:#c8c8c8}.sign-verify-panel-required{color:#f56565;margin-right:2px}.sign-verify-panel-field input,.sign-verify-panel-field textarea,.sign-verify-panel-result{color:#f0f0f0;width:100%;font-size:var(--text-sm);font-family:var(--font-mono);resize:vertical;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;padding:8px 10px}.sign-verify-panel-field input:focus,.sign-verify-panel-field textarea:focus{border-color:#4a9eff;outline:none}.sign-verify-panel-send{color:#fff;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;background:#1677ff;border:none;border-radius:4px;align-self:flex-start;margin-top:4px;padding:8px 28px}.sign-verify-panel-send:hover{background:#4096ff}.sign-verify-panel-output{flex-direction:column;gap:8px;min-height:0;padding:16px 20px;display:flex}.sign-verify-panel-result{flex:1;min-height:180px}.explorer-console{flex-direction:column;height:100%;display:flex;overflow:hidden}.explorer-connection-bar{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.explorer-connection-bar-toggle{width:100%;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.explorer-connection-fields{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 16px;padding:0 16px 12px;display:grid}.explorer-connection-field{font-size:var(--text-xs);color:var(--color-text-subtle);flex-direction:column;gap:4px;display:flex}.explorer-connection-field input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-mono);padding:6px 10px}.explorer-console-body{flex:1;grid-template-columns:minmax(320px,1fr) minmax(360px,1fr);gap:0;min-height:0;display:grid;overflow:hidden}.explorer-request,.explorer-result{min-height:0;padding:16px;overflow:auto}.explorer-request{border-right:1px solid var(--color-border)}.explorer-request-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.explorer-request-path{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-subtle)}.explorer-request-summary{font-size:var(--text-sm);color:var(--color-text)}.explorer-request-payload{min-height:200px}.explorer-actions{gap:8px;margin-top:12px;display:flex}.explorer-result-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin:16px 0 8px}.explorer-result-title:first-child{margin-top:0}.explorer-empty{color:var(--color-text-subtle);font-size:var(--text-sm);padding:24px 16px}.explorer-run-all-progress,.explorer-run-all-summary{font-size:var(--text-sm);color:var(--color-text-subtle);margin-top:8px}.explorer-run-all-results{border-bottom:1px solid var(--color-border);margin-bottom:16px;padding-bottom:16px}.explorer-run-all-results-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.explorer-run-all-results-head .explorer-result-title{margin:0}.explorer-run-all-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.explorer-run-all-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.explorer-run-all-item-head{background:var(--color-surface-muted);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;border:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.explorer-run-all-item-head:hover{background:var(--color-bg-alt)}.explorer-run-all-status{text-align:center;width:1.25rem;font-weight:var(--weight-semibold);flex-shrink:0}.explorer-run-all-status--pass{color:var(--color-success,#16a34a)}.explorer-run-all-status--fail{color:var(--color-danger,#dc2626)}.explorer-run-all-item-label{font-size:var(--text-sm);flex:1}.explorer-run-all-item-id{font-size:var(--text-xs);color:var(--color-text-subtle)}.explorer-run-all-item-body{border-top:1px solid var(--color-border);padding:8px 12px 12px}.platform-main--explorer{padding:0;overflow:hidden}.explorer-sidebar-group-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.04em;padding:8px 12px 4px}.explorer-sidebar-group-label--parent{text-transform:none;font-size:var(--text-sm);color:var(--color-text);padding-top:12px}.explorer-sidebar-section-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-subtle);padding:4px 0 0}.explorer-tree-case--child{padding-left:20px}.explorer-tree-case--locked .tree-item-name{opacity:.55}.explorer-task-bar{background:#00000038;border:1px solid #ffffff24;border-radius:8px;flex-direction:column;gap:10px;margin:10px 0 4px;padding:10px 12px;display:flex}.explorer-task-bar-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.explorer-task-bar-label{font-size:var(--text-xs);color:#ffffffa6}.explorer-task-bar-value{color:#fff;word-break:break-all;font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.35}.explorer-task-bar-progress{color:#ffffffbf;font-size:11px;line-height:1.35}.explorer-task-bar-actions{flex-wrap:wrap;gap:6px;display:flex}.explorer-task-btn{color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff59;border-radius:6px;flex:auto;min-width:0;padding:5px 8px;font-size:12px;line-height:1.3}.explorer-task-btn:disabled{opacity:.45;cursor:not-allowed}.explorer-task-btn--primary{color:#fff;background:#2563eb;border-color:#0000}.explorer-task-btn--primary:disabled{background:#2563eb}.explorer-tree-case-row{justify-content:flex-start;gap:8px}.explorer-tree-case-row .tree-item-name{flex:1;min-width:0}.explorer-case-status-text{font-size:var(--text-xs);font-weight:var(--weight-medium);flex-shrink:0;margin-left:auto}.explorer-case-status-text--pass{color:var(--color-success,#16a34a)}.explorer-case-status-text--fail{color:var(--color-danger,#dc2626)}.explorer-case-status-text--pending{color:var(--color-text-subtle)}.explorer-testcase-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.explorer-case-status-badge{font-size:var(--text-xs);font-weight:var(--weight-semibold);border:1px solid #0000;border-radius:999px;padding:2px 10px}.explorer-case-status-badge--pass{color:var(--color-success,#16a34a);border-color:color-mix(in srgb, var(--color-success,#16a34a) 35%, transparent);background:color-mix(in srgb, var(--color-success,#16a34a) 10%, transparent)}.explorer-case-status-badge--fail{color:var(--color-danger,#dc2626);border-color:color-mix(in srgb, var(--color-danger,#dc2626) 35%, transparent);background:color-mix(in srgb, var(--color-danger,#dc2626) 10%, transparent)}.explorer-case-status-badge--pending{color:var(--color-text-subtle);border-color:var(--color-border);background:var(--color-bg-alt)}.explorer-console-body--testcase{grid-template-columns:minmax(280px,360px) minmax(400px,1fr)}.explorer-testcase-panel{border-right:1px solid var(--color-border);padding:16px;overflow:auto}.explorer-testcase-header{margin-bottom:16px}.explorer-testcase-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0 0 8px}.explorer-testcase-desc{font-size:var(--text-sm);color:var(--color-text-subtle);margin:0;line-height:1.5}.explorer-static-steps{flex-direction:column;gap:16px;display:flex}.explorer-static-step-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin:0 0 8px}.explorer-flow-chain{font-size:var(--text-sm);color:var(--color-text-subtle);margin:0 0 16px}.explorer-flow-timeline{flex-direction:column;gap:12px;display:flex}.explorer-flow-step{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px}.explorer-flow-step-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.explorer-flow-step-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.explorer-flow-step-dot--pass{background:var(--color-success,#16a34a)}.explorer-flow-step-dot--fail{background:var(--color-danger,#dc2626)}.explorer-flow-step-dot--pending{background:var(--color-text-subtle)}.explorer-flow-step-label{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.explorer-params{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.explorer-params-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin:0}.explorer-param-field{font-size:var(--text-xs);flex-direction:column;gap:4px;display:flex}.explorer-param-label{color:var(--color-text-subtle);font-family:var(--font-mono)}.explorer-param-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-mono);padding:6px 10px}.explorer-param-hint{font-size:var(--text-xs);color:var(--color-text-subtle);margin:0;line-height:1.5}.explorer-order-cancel-warn{border-radius:var(--radius-sm);border:1px solid var(--color-warning,#f59e0b);background:color-mix(in srgb, var(--color-warning,#f59e0b) 8%, transparent);font-size:var(--text-sm);color:var(--color-text);margin:4px 0 0;padding:10px 12px;line-height:1.5}.explorer-oneclick-hint{font-size:var(--text-xs);color:var(--color-text-subtle);margin:12px 0 0;padding:0 4px;line-height:1.5}.explorer-order-sequence .explorer-tree-case--readonly{cursor:default;pointer-events:none;opacity:1}.explorer-order-sequence-desc{font-size:var(--text-xs);color:var(--color-text-subtle);margin:0 0 8px 28px;padding:0;line-height:1.45}.history-detail-iface-report{border-bottom:1px solid var(--color-border);margin-bottom:16px;padding-bottom:12px}.iface-report{flex-direction:column;gap:12px;min-height:0;display:flex}.iface-report-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin:0}.iface-report-banner{border-radius:var(--radius-sm);font-size:var(--text-sm);border:1px solid var(--color-border);padding:10px 12px;line-height:1.45}.iface-report-banner--pass{border-color:color-mix(in srgb, var(--color-success,#16a34a) 40%, var(--color-border));background:color-mix(in srgb, var(--color-success,#16a34a) 10%, transparent)}.iface-report-banner--fail{border-color:color-mix(in srgb, var(--color-danger,#dc2626) 40%, var(--color-border));background:color-mix(in srgb, var(--color-danger,#dc2626) 8%, transparent)}.iface-report-progress{font-size:var(--text-sm);color:var(--color-text-subtle);margin:0}.iface-report-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.iface-report-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface,transparent);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.iface-report-item--fail{border-color:color-mix(in srgb, var(--color-danger,#dc2626) 35%, var(--color-border))}.iface-report-item--skipped{opacity:.72}.iface-report-dot{background:var(--color-border);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.iface-report-dot--pass{background:var(--color-success,#16a34a)}.iface-report-dot--fail{background:var(--color-danger,#dc2626)}.iface-report-dot--skipped{background:var(--color-text-subtle)}.iface-report-item-body{flex:1;min-width:0}.iface-report-item-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.iface-report-api{font-family:var(--font-mono);font-size:var(--text-sm)}.iface-report-badge{font-size:var(--text-xs);border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-subtle);padding:1px 6px}.iface-report-badge--pass{color:var(--color-success,#16a34a);border-color:color-mix(in srgb, var(--color-success,#16a34a) 40%, var(--color-border))}.iface-report-badge--fail{color:var(--color-danger,#dc2626);border-color:color-mix(in srgb, var(--color-danger,#dc2626) 40%, var(--color-border))}.iface-report-msg{font-size:var(--text-sm);color:var(--color-text);margin:0;line-height:1.45}.iface-report-payload{margin-top:10px}.iface-report-payload>summary{cursor:pointer;color:var(--color-text-muted,#63708a);-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:12px;display:flex}.iface-report-payload>summary:hover{color:var(--color-text)}.iface-report-payload-hint{color:var(--color-primary,#2563eb);text-underline-offset:2px;text-decoration:underline}.iface-report-payload .payload-grid{margin-top:10px}.iface-report-alerts{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--color-danger,#dc2626) 35%, var(--color-border));background:color-mix(in srgb, var(--color-danger,#dc2626) 6%, transparent);margin-top:4px;padding:10px 12px}.iface-report-alerts-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin:0 0 6px}.iface-report-alerts-list{font-size:var(--text-sm);margin:0;padding-left:18px;line-height:1.55}
