:root{--bg: #f6f7f8;--panel: rgba(255, 255, 255, .98);--ink: #202124;--muted: #667085;--line: #d0d5dd;--accent: #58677a;--accent-soft: #eef2f6;--accent-strong: #263442;--success: #1d6b4f;--success-soft: rgba(29, 107, 79, .12);--warn: #a15c05;--danger: #b42318;--sidebar: #30363d;--sidebar-soft: rgba(255, 255, 255, .1);--quote: #f8fafc}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Microsoft YaHei,sans-serif;background:var(--bg)}button,input,select{font:inherit}button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:10px 16px;color:#fff;background:var(--accent);cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}input,select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--ink);background:#ffffffc7}.app-frame{min-height:100vh;display:flex}.sidebar{position:sticky;top:0;width:250px;height:100vh;display:flex;flex-direction:column;gap:24px;padding:24px 18px;color:#ffffffeb;background:var(--sidebar)}.brand{display:grid;gap:7px;padding:6px 10px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-eyebrow{font-size:12px;letter-spacing:.14em;color:#ffffff8c}.brand strong{font-size:22px}.brand small,.sidebar-note small{color:#ffffff94;line-height:1.6}.nav-group{display:grid;gap:10px}.nav-item{min-height:44px;display:flex;align-items:center;gap:10px;border-radius:8px;padding:12px 14px;color:inherit;text-decoration:none}.nav-item:hover,.nav-item.active{background:var(--sidebar-soft)}.sidebar-note{margin-top:auto;display:grid;gap:6px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#ffffff0f}.main-shell{flex:1;min-width:0;max-width:1440px;margin:0 auto;padding:28px 24px 48px;display:grid;gap:20px}.hero{display:grid;gap:10px}.eyebrow{color:var(--accent);font-size:13px;letter-spacing:.12em;text-transform:uppercase}h1{margin:4px 0 0;font-size:44px;line-height:1.06}.hero p,.panel-header p{margin:0;color:var(--muted);line-height:1.7}.notice{min-height:42px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(155,47,47,.22);background:#9b2f2f14;color:var(--danger)}.grid-two{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(360px,1.05fr);gap:18px}.panel{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 12px 32px #1018280f}.panel-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--accent-soft)}.panel-header h2{margin:0 0 3px;font-size:18px}.panel-body{padding:18px 20px 20px}.form-grid{display:grid;grid-template-columns:1fr 160px;gap:14px}.form-grid label{display:grid;gap:7px}.form-grid label:first-child,.form-grid label:nth-child(3),.file-summary{grid-column:1 / -1}.form-grid label span{color:var(--muted);font-size:13px;font-weight:600}.file-summary{display:grid;gap:5px;padding:14px;border:1px dashed rgba(88,103,122,.34);border-radius:8px;background:#f8fafcc7}.file-summary small{color:var(--muted)}.icon-button{width:42px;height:42px;padding:0}.lookup-row{display:grid;grid-template-columns:1fr auto;gap:10px}.status-block{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.status-block>div{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center}.status-block small{grid-column:2;color:var(--muted)}.status-block b{font-size:28px;color:var(--accent-strong)}.status-dot{width:10px;height:10px;border-radius:999px;background:var(--muted)}.status-dot.queued{background:var(--warn)}.status-dot.running{background:#2d6cdf}.status-dot.succeeded{background:var(--success)}.status-dot.failed{background:var(--danger)}.progress-track{height:9px;margin-top:14px;overflow:hidden;border-radius:999px;background:#d0d5ddc7}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}.job-meta{display:grid;gap:5px;margin-top:14px}.job-meta span{color:var(--muted);font-size:13px}.progress-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.progress-metrics div{min-height:70px;display:grid;align-content:center;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafcb3}.progress-metrics span{color:var(--muted);font-size:12px;font-weight:600}.progress-metrics strong{min-width:0;overflow-wrap:anywhere;color:var(--ink);font-size:15px;line-height:1.25}code{overflow-wrap:anywhere;color:var(--accent-strong)}.progress-overview{display:grid;gap:16px;padding:18px 20px 20px}.progress-brief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.progress-brief>div{min-height:86px;display:grid;align-content:center;gap:6px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fafcd1}.progress-brief span,.progress-brief small,.stage-step small{color:var(--muted);font-size:12px}.progress-brief strong{color:var(--accent-strong);font-size:18px}.progress-brief small{overflow-wrap:anywhere;line-height:1.5}.stage-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.stage-step{min-height:74px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.stage-marker{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#d0d5ddcc;color:#fff}.stage-step div{min-width:0;display:grid;gap:3px}.stage-step strong{overflow-wrap:anywhere;font-size:13px}.stage-step.running{border-color:#2d6cdf57;background:#2d6cdf14}.stage-step.running .stage-marker{background:#2d6cdf}.stage-step.running .stage-marker:after{width:8px;height:8px;border-radius:inherit;background:currentColor;content:""}.stage-step.succeeded{border-color:#1d6b4f38}.stage-step.succeeded .stage-marker{background:var(--success)}.stage-step.failed{border-color:#b4231847;background:#fef3f2b8}.stage-step.failed .stage-marker{background:var(--danger)}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;padding:16px 20px 18px}.summary-card{min-height:92px;display:grid;gap:8px;align-content:center;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#ffffffb3}.summary-card span{color:var(--muted);font-size:13px}.summary-card strong{font-size:28px;line-height:1}.report-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) minmax(150px,190px) minmax(170px,230px);gap:12px;padding:0 20px 14px}.report-toolbar label{display:grid;gap:7px}.report-toolbar label span{color:var(--muted);font-size:13px;font-weight:600}.report-count{display:flex;align-items:baseline;gap:4px;padding:0 20px 12px;color:var(--muted)}.report-count strong{color:var(--accent-strong);font-size:22px}.issue-list{display:grid;gap:14px;padding:0 20px 20px}.issue-card{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#ffffffb8}.issue-card-head{display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(180px,auto);gap:12px;align-items:center}.issue-card-head strong{overflow-wrap:anywhere;color:var(--accent-strong)}.issue-card-head small{color:var(--muted)}.issue-meta{display:flex;flex-wrap:wrap;gap:8px}.issue-meta span{min-height:26px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--muted);background:#f8fafcd6;font-size:12px}.issue-section{display:grid;gap:5px}.issue-section h3{margin:0;color:var(--muted);font-size:13px}.issue-section p{margin:0;line-height:1.75}.issue-review-block{display:grid;gap:10px;padding:14px;border:1px solid rgba(208,213,221,.86);border-radius:8px;background:#f8fafcbd}.review-block-title{display:flex;align-items:center;gap:8px;color:var(--accent-strong)}.review-block-title h3{margin:0;font-size:14px}.clause-chips{display:flex;flex-wrap:wrap;gap:6px}.clause-chips span{min-height:24px;display:inline-flex;align-items:center;border:1px solid rgba(88,103,122,.28);border-radius:999px;padding:3px 8px;color:var(--accent-strong);background:#fff;font-size:12px;font-weight:700}.muted{color:var(--muted)}.source-quote{margin:0;border-left:3px solid var(--accent);padding:10px 12px;color:#344054;background:var(--quote);line-height:1.75}.fact-list{display:grid;gap:8px;margin:0}.fact-list div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px}.fact-list dt{color:var(--muted);font-size:12px;font-weight:700}.fact-list dd{min-width:0;margin:0;overflow-wrap:anywhere;line-height:1.65}.readable-list,.modification-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.readable-list{gap:6px;padding-left:18px;list-style:disc}.modification-card{display:grid;gap:10px;padding:12px;border:1px solid rgba(208,213,221,.9);border-radius:8px;background:#fff}.modification-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.modification-head strong{color:var(--accent-strong)}.modification-head span{border:1px solid rgba(88,103,122,.22);border-radius:999px;padding:2px 8px;color:var(--muted);font-size:12px}.redline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.text-panel{display:grid;gap:6px;padding:10px;border-radius:8px;line-height:1.7}.text-panel span{color:var(--muted);font-size:12px;font-weight:700}.text-panel p,.rationale{margin:0}.text-panel.original{border:1px solid rgba(180,35,24,.18);background:#fef3f2b8}.text-panel.suggested{border:1px solid rgba(29,107,79,.2);background:#ecfdf3b8}.rationale{color:#344054;line-height:1.7}.table-wrap{overflow-x:auto;padding:0 20px 20px}table{width:100%;min-width:820px;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px dashed rgba(208,213,221,.88);text-align:left;vertical-align:top;font-size:13px;line-height:1.55}th{color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}td p{margin:4px 0 0}.issue-title{display:block;color:var(--accent-strong)}.severity{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;background:#6f73791f;color:var(--muted)}.severity-critical,.severity-high{background:#9b2f2f1f;color:var(--danger)}.severity-medium{background:#9b5c181f;color:var(--warn)}.severity-low,.severity-info{background:var(--success-soft);color:var(--success)}.artifact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;padding:18px 20px 20px}.artifact-item{min-height:78px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:8px;color:var(--ink);text-decoration:none;background:#ffffffb3}.artifact-item span{min-width:0;display:grid;gap:4px}.artifact-item small{overflow-wrap:anywhere;color:var(--muted)}.empty-state,.empty-table{color:var(--muted);line-height:1.7}.empty-state{padding:18px 20px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.app-frame{display:block}.sidebar{position:static;width:100%;height:auto}.nav-group{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-two,.summary-grid,.report-toolbar,.progress-brief,.progress-metrics{grid-template-columns:1fr}.stage-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:34px}}@media(max-width:640px){.main-shell{padding:20px 14px 36px}.form-grid,.lookup-row,.nav-group{grid-template-columns:1fr}.panel-header{align-items:flex-start}.issue-card-head{grid-template-columns:1fr;justify-items:start}.redline-grid,.fact-list div,.stage-stepper{grid-template-columns:1fr}}
