:root{--ink:#1f2937;--blue:#243f73;--blue2:#172a46;--deep:#08111f;--bg:#f3f6fa;--card:#fff;--line:#dce3ee;--mut:#66728a;--red:#b93a2d;--redbg:#fbeae7;--amber:#d47d12;--amberbg:#fbefd9;--green:#557f1d;--greenbg:#edf6df}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--ink);background:var(--bg);margin:0;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;line-height:1.65}a{color:inherit}button,input,select,textarea{font:inherit}.shell{max-width:1120px;margin:0 auto;padding:0 22px}.site-header{background:linear-gradient(135deg,var(--deep),#101b2e 45%,var(--blue2));color:#fff;box-shadow:0 10px 28px #0a162a33}.header-inner{align-items:center;gap:18px;min-height:92px;display:flex}.brand-mark{letter-spacing:.5px;font-size:21px;font-weight:900}.brand-mark small{color:#c7d3e8;letter-spacing:1px;font-size:11px;font-weight:500;display:block}.header-title{border-left:1px solid #fff3;padding-left:20px}.header-title h1{margin:0;font-size:20px}.header-title p{color:#c7d3e8;margin:3px 0 0;font-size:12px}.version{background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;margin-left:auto;padding:4px 10px;font-size:11px}.main{padding:22px 0 70px}.steps{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:18px;display:flex;overflow:hidden;box-shadow:0 8px 22px #1d2d4b0f}.step{color:var(--mut);border-right:1px solid var(--line);flex:1;align-items:center;gap:8px;padding:12px 14px;display:flex}.step:last-child{border-right:0}.step i{border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:23px;height:23px;font-size:12px;font-style:normal;display:inline-flex}.step.active{color:#fff;background:linear-gradient(135deg,#243f73,#35578f);font-weight:700}.card{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:16px;padding:24px;box-shadow:0 8px 24px #1d2d4b0e}.card h2{color:var(--blue2);margin:0 0 6px;font-size:18px}.hint{color:var(--mut);margin:0 0 16px;font-size:12.5px}.field{margin:16px 0 7px;font-weight:700;display:block}.input,.select,.textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:9px;padding:10px 12px}.textarea{resize:vertical;min-height:80px}.stage-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.stage-card{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:12px;min-height:142px;padding:14px 16px;transition:all .18s;position:relative}.stage-card:hover{border-color:var(--blue);transform:translateY(-1px)}.stage-card.selected{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset;background:linear-gradient(#eef4ff,#fff)}.stage-card b{color:var(--blue2);margin:0 42px 4px 0;font-size:16px;line-height:1.4;display:block}.stage-card>span:not(.stage-badge){color:var(--mut);font-size:12.5px;line-height:1.55}.stage-badge{border:1px solid var(--line);color:var(--mut);background:#f2f5fa;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:400;position:absolute;top:12px;right:12px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip-btn{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:9px;min-height:38px;padding:8px 12px;font-size:13px}.chip-btn.selected{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}.chip-btn small{opacity:.62;font-size:10.5px;line-height:1.35;font-family:var(--mono,"SF Mono","Roboto Mono",Consolas,monospace);margin-top:1px;display:block}.note{border:1px dashed var(--line);color:var(--mut);background:#f7f9fc;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:12.5px}.actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;display:flex}.button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;padding:10px 18px;text-decoration:none;display:inline-flex}.button.primary{color:#fff;background:linear-gradient(135deg,#243f73,#35578f);border-color:#243f73;font-weight:700;box-shadow:0 6px 14px #243f732e}.button.danger{color:#a93428;border-color:#d9a29c}.button:disabled{opacity:.58;cursor:not-allowed}.error{color:var(--red);margin-right:auto;font-size:12.5px}.progress-wrap{z-index:5;background:var(--bg);padding:8px 0;position:sticky;top:0}.progress-card{border:1px solid var(--line);color:var(--mut);background:#fff;border-radius:12px;align-items:center;gap:14px;padding:10px 16px;font-size:12.5px;display:flex;box-shadow:0 7px 20px #1d2d4b0f}.progress{background:var(--line);border-radius:5px;flex:1;height:7px;overflow:hidden}.progress span{background:linear-gradient(90deg,#243f73,#5c7db5);height:100%;display:block}.legend{background:#f5f8ff;border:1px solid #dce6f7;border-radius:12px;margin:14px 0;padding:14px 16px}.legend-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.legend-item{background:#fff;border:1px solid #e4ebf6;border-radius:8px;padding:8px 10px;font-size:12px}.legend-item b{color:#22395f;display:block}.section-title{align-items:center;gap:8px;margin:24px 0 10px;display:flex}.section-title h3{color:var(--blue2);margin:0;font-size:15px}.section-title span{color:var(--mut);font-size:11px}.question{border:1px solid var(--line);border-left:5px solid var(--amber);background:#fff;border-radius:12px;margin-bottom:10px;padding:16px 18px;box-shadow:0 4px 12px #1d2d4b09}.question.high{border-left-color:var(--red)}.q-meta{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.tag{background:var(--bg);border:1px solid var(--line);color:var(--mut);border-radius:999px;padding:2px 7px;font-size:10.5px}.tag.high{background:var(--redbg);color:var(--red);border-color:#eac5bf}.q-text{margin-bottom:5px;font-weight:700}.q-why{color:var(--mut);margin-bottom:10px;font-size:12.5px}.answer-row{flex-wrap:wrap;gap:7px;display:flex}.answer{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;padding:7px 11px;font-size:12.5px}.answer.selected{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}.verdict{color:#fff;border-radius:15px;margin-bottom:16px;padding:24px 26px;box-shadow:0 14px 34px #172a4629}.verdict.red{background:linear-gradient(135deg,#c0392b,#8e2a1f)}.verdict.amber{background:linear-gradient(135deg,#e08a1e,#b06a0a)}.verdict.green{background:linear-gradient(135deg,#6fa31a,#4a700c)}.verdict.insufficient{background:linear-gradient(135deg,#5f6f86,#34445c)}.verdict h2{color:#fff;margin:0 0 6px;font-size:21px}.verdict p{margin:0}.metrics{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.metric{border:1px solid var(--line);text-align:center;background:#fff;border-radius:12px;padding:14px 12px}.metric b{color:var(--blue2);font-size:23px;display:block}.metric span{color:var(--mut);font-size:12px}.confidence-box{background:#f7f9fc;border:1px solid #d8e0ec;border-radius:10px;flex-direction:column;gap:3px;margin:14px 0;padding:12px 14px;display:flex}.confidence-box b{color:#172a46}.confidence-box span,.confidence-box small{color:#66728a}.priority-list{margin:8px 0 0;padding-left:22px}.modal-mask{z-index:99;background:#141f329e;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(780px,96vw);max-height:92vh;padding:24px;overflow:auto;box-shadow:0 24px 80px #00000047}.modal-head{justify-content:space-between;gap:16px;display:flex}.modal-head h2{color:var(--blue2);margin:0}.close{cursor:pointer;background:#f2f4f8;border:0;border-radius:9px;width:34px;height:34px;font-size:20px}.lead-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.lead-grid .full{grid-column:1/-1}.lead-grid label{color:var(--blue2);font-size:12.5px;font-weight:700}.check{color:var(--mut);align-items:flex-start;gap:8px;margin-top:12px;font-size:12.5px;display:flex}.privacy-box{border:1px solid var(--line);color:var(--mut);background:#f7f9fc;border-radius:12px;margin-top:12px;padding:12px;font-size:12px}.home-hero{padding:70px 0}.home-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:36px;box-shadow:0 14px 38px #1d2d4b14}.home-card h1{color:var(--blue2);margin:0 0 12px;font-size:30px}.footer-nav{color:var(--mut);justify-content:center;gap:16px;padding:24px;font-size:12px;display:flex}.admin-grid{grid-template-columns:1.1fr .9fr;gap:16px;display:grid}.table-wrap{overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #eef1f6;padding:10px}.admin-table th{color:#22395f;background:#f7f9fc}.admin-row{cursor:pointer}.admin-row:hover{background:#f8faff}.risk-mini{border-left:4px solid var(--amber);background:#f7f9fc;margin-bottom:8px;padding:8px 10px}.risk-mini.high{border-left-color:var(--red)}@media (max-width:900px){.stage-grid,.metrics{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.header-title{border-left:0;padding-left:0}.header-inner{flex-wrap:wrap;padding:14px 0}.version{margin-left:0}}@media (max-width:640px){.shell{padding:0 14px}.steps{flex-direction:column}.step{border-right:0;border-bottom:1px solid var(--line)}.stage-grid,.metrics,.lead-grid,.profile{grid-template-columns:1fr}.card{padding:18px}.header-title{width:100%}.home-card{padding:24px}.progress-card{gap:8px}.progress-card>span:first-child{display:none}}.profile-group{margin-top:14px}.profile-group+.profile-group{padding-top:2px}.profile-group .field{margin-top:0}.batch-note{color:#66728a;background:#f8fafd;border:1px dashed #d6dfec;border-radius:10px;margin-top:14px;padding:10px 12px;font-size:12px}.progress-card b{color:#172a46}.question{scroll-margin-top:90px}@media (max-width:760px){.progress-card{flex-wrap:wrap}.progress-card .progress{flex-basis:100%}}.draft-status{color:#667085;white-space:nowrap;margin-left:auto;font-size:12px}@media (max-width:720px){.draft-status{width:100%;margin-left:0}}.report-shell{max-width:860px;margin:0 auto;padding:18px 16px 72px}.report-hero{color:#fff;background:linear-gradient(145deg,#08111f,#172a46 62%,#243f73);border-radius:22px;padding:30px 26px;position:relative;overflow:hidden;box-shadow:0 18px 45px #101f3633}.report-hero:after{content:"";background:#ffffff0f;border-radius:50%;width:240px;height:240px;position:absolute;top:-105px;right:-85px}.report-brand{letter-spacing:.5px;font-size:18px;font-weight:900}.report-brand small{color:#c7d3e8;margin-left:7px;font-weight:500}.report-kicker{color:#bfcce0;letter-spacing:1px;margin:18px 0 5px;font-size:12px}.report-hero h1{max-width:650px;margin:0;font-size:28px;line-height:1.35}.report-meta{color:#d6e0ef;border-top:1px solid #fff3;flex-wrap:wrap;gap:8px 18px;margin-top:22px;padding-top:16px;font-size:11.5px;display:flex}.report-verdict{color:#fff;border-radius:18px;grid-template-columns:1.3fr .7fr;gap:18px;margin:16px 0;padding:24px;display:grid;box-shadow:0 12px 30px #172a4621}.report-verdict.red{background:linear-gradient(135deg,#c0392b,#8e2a1f)}.report-verdict.amber{background:linear-gradient(135deg,#d98a20,#a8610a)}.report-verdict.green{background:linear-gradient(135deg,#6d9f1d,#4a700c)}.report-verdict.insufficient{background:linear-gradient(135deg,#5f6f86,#34445c)}.report-verdict h2{margin:2px 0 7px;font-size:22px}.report-verdict p{margin:0;line-height:1.65}.report-section-label{text-transform:uppercase;letter-spacing:1px;opacity:.72;margin:0 0 5px;font-size:11px;font-weight:800}.report-confidence{border-left:1px solid #ffffff3d;flex-direction:column;justify-content:center;align-self:stretch;gap:5px;padding-left:18px;display:flex}.report-confidence b{font-size:16px}.report-confidence span{color:#fffc;font-size:12px}.report-metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;display:grid}.report-metrics>div{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;padding:15px 12px;box-shadow:0 6px 18px #1d2d4b0b}.report-metrics b{color:var(--blue2);font-size:24px;display:block}.report-metrics span{color:var(--mut);font-size:11.5px}.report-card,.report-actions-card{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:14px;padding:22px;box-shadow:0 8px 24px #1d2d4b0d}.report-card h2{color:var(--blue2);margin:0 0 14px;font-size:19px}.report-top-risks{gap:9px;display:grid}.report-top-risks article{background:#f9fbfe;border:1px solid #e1e7f0;border-radius:12px;gap:12px;padding:12px;display:flex}.report-top-risks article>span{color:#fff;background:#243f73;border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;font-weight:800;display:flex}.report-top-risks b{color:#172a46}.report-top-risks p{margin:2px 0;font-size:13px}.report-top-risks small{color:#66728a}.report-priority-list{margin:0;padding-left:23px}.report-priority-list li{padding:6px 0}.report-info-strip{color:#66728a;background:#f3f6fa;border-radius:10px;margin-top:14px;padding:10px 12px;font-size:12px}.report-profile-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.report-profile-grid>div{background:#fafbfd;border:1px solid #e1e7f0;border-radius:11px;padding:11px 12px}.report-profile-grid span{color:#66728a;font-size:11px;display:block}.report-profile-grid b{color:#172a46;margin-top:2px;font-size:13px;display:block}.report-risk-list{gap:10px;display:grid}.report-risk-list article{border:1px solid #e1e7f0;border-left:5px solid #d47d12;border-radius:12px;padding:14px}.report-risk-list article.high{border-left-color:#b93a2d}.report-risk-head{align-items:center;gap:8px;display:flex}.report-risk-head span{color:#9a5a08;background:#fbefd9;border-radius:999px;padding:2px 8px;font-size:10.5px}.report-risk-list article.high .report-risk-head span{color:#a93428;background:#fbeae7}.report-risk-head b{color:#172a46}.report-risk-list h3{margin:8px 0;font-size:14px;line-height:1.55}.report-risk-list p{color:#4b5565;margin:5px 0;font-size:12.5px}.report-empty{color:#66728a;background:#f7f9fc;border-radius:11px;padding:16px}.report-actions-card>div:first-child{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.report-actions-card>div:first-child span{color:#66728a;font-size:12px}.report-action-buttons{flex-wrap:wrap;gap:9px;display:flex}.report-action-status{color:#66728a;margin:10px 0 0;font-size:12px}.report-boundary{color:#66728a;font-size:12px}.report-boundary b{color:#a93428}.report-error-shell{justify-content:center;align-items:center;min-height:100vh;display:flex}.report-error-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:20px;width:min(560px,100%);padding:30px;box-shadow:0 18px 50px #1d2d4b1f}.report-error-icon{color:#a93428;background:#fbeae7;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 14px;font-size:28px;font-weight:900;display:flex}.report-error-card h1{color:#172a46;margin:0 0 8px}.report-error-card p{color:#66728a}.report-error-card .report-action-buttons{justify-content:center;margin-top:18px}@media (max-width:680px){.report-shell{padding:10px 10px 48px}.report-hero{border-radius:16px;padding:24px 18px}.report-hero h1{font-size:23px}.report-verdict{grid-template-columns:1fr;padding:20px}.report-confidence{border-top:1px solid #ffffff3d;border-left:0;padding:13px 0 0}.report-metrics{grid-template-columns:1fr 1fr}.report-card,.report-actions-card{border-radius:14px;padding:17px}.report-profile-grid{grid-template-columns:1fr}.report-actions-card>div:first-child{display:block}.report-actions-card>div:first-child span{margin-top:3px;display:block}.report-action-buttons .button{width:100%}}.admin-filters{grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(130px,1fr)) auto auto;align-items:end;gap:10px;display:grid}.admin-filters .input{margin:0}@media (max-width:900px){.admin-filters{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}}
