:root{color:#17212b;font-synthesis:none;text-rendering:optimizelegibility;--navy:#12334a;--navy-deep:#0b2638;--teal:#087f75;--teal-soft:#e8f5f3;--orange:#d56b26;--line:#dbe3e8;--muted:#667784;--paper:#fff;--danger:#b42318;background:#f2f5f7;font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 0,#087f7514,#0000 28rem),#f2f5f7;min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.app-shell{min-height:100vh}.app-header{color:#fff;background:linear-gradient(105deg, #087f7557, transparent 45%), linear-gradient(135deg, var(--navy-deep), var(--navy));border-bottom:5px solid #d88950;justify-content:space-between;align-items:center;gap:36px;min-height:184px;padding:35px max(4vw,36px) 42px;display:flex}.app-header h1{letter-spacing:.04em;margin:7px 0 6px;font-size:clamp(28px,3vw,43px)}.app-header p{color:#d7e2e9;margin:0;font-size:16px}.eyebrow{color:#7fddd4;letter-spacing:.16em;font-size:13px;font-weight:700}.header-stats{gap:10px;display:flex}.header-stats>div{text-align:center;background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;min-width:108px;padding:16px 18px}.header-stats strong{font-size:27px;line-height:1;display:block}.header-stats span{color:#c8d5dd;margin-top:8px;font-size:12px;display:block}.header-stats .has-error strong{color:#ffb4a9}.workspace{grid-template-columns:210px minmax(520px,1fr) 288px;align-items:start;gap:18px;width:min(1720px,100% - 46px);margin:-16px auto 50px;display:grid}.step-nav,.form-panel,.status-card,.legal-note,.toast{background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 28px #12334a12}.step-nav{border-radius:7px;padding:18px 12px 15px;position:sticky;top:18px;overflow:hidden}.step-progress{background:#e7edf0;height:4px;margin:-18px -12px 17px}.step-progress span{background:linear-gradient(90deg, var(--teal), #39a99c);height:100%;transition:width .25s;display:block}.step-nav>button{color:#41525f;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:11px;width:100%;padding:12px 9px;display:flex}.step-nav>button:hover{background:#f2f6f7}.step-nav>button.active{color:var(--navy);background:var(--teal-soft)}.step-nav>button>span{border:1px solid #b9c6cd;border-radius:50%;flex:none;place-items:center;width:29px;height:29px;font-weight:700;display:grid}.step-nav>button.active>span{color:#fff;background:var(--teal);border-color:var(--teal)}.step-nav>button strong,.step-nav>button small{display:block}.step-nav>button strong{font-size:14px}.step-nav>button small{color:#8a989f;margin-top:2px;font-size:11px}.data-actions{border-top:1px solid var(--line);margin-top:14px;padding:13px 8px 2px}.data-actions select{color:#52636f;background:#fff;border:1px solid #cad5db;border-radius:4px;width:100%;margin-bottom:8px;padding:8px;font-size:12px}.text-button{width:50%;color:var(--teal);background:0 0;border:0;padding:7px 2px;font-size:12px}.text-button:hover{text-decoration:underline}.form-panel{border-radius:7px;min-height:750px;padding:clamp(26px,3.5vw,52px)}.section-heading{border-bottom:1px solid var(--line);align-items:center;gap:16px;margin-bottom:30px;padding-bottom:22px;display:flex}.section-heading>span{color:#d8e2e7;font:800 46px/1 Georgia,serif}.section-heading h2{color:var(--navy);margin:0 0 5px;font-size:25px}.section-heading p{color:var(--muted);margin:0;font-size:14px}.form-panel section>h3{color:#293d4b;margin:30px 0 14px;font-size:16px}.form-grid{gap:20px;display:grid}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}.field{color:#465965;gap:7px;font-size:13px;display:grid}.field>span{font-weight:700}.field>span em{color:#b42318;margin-left:7px;font-size:10px;font-style:normal;font-weight:700}.field input,.field textarea,.field select,.inline-add input{color:#1e2c35;background:#fbfcfd;border:1px solid #cbd6dc;border-radius:5px;outline:none;width:100%;padding:11px 12px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus,.field select:focus,.inline-add input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #087f751a}.field textarea{resize:vertical;min-height:115px}.full-width{margin-top:24px}.class-cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.class-cards button{text-align:left;color:#324652;background:#fff;border:1px solid #ccd7dc;border-radius:6px;min-height:94px;padding:17px}.class-cards button strong,.class-cards button span{display:block}.class-cards button strong{color:var(--navy);margin-bottom:8px;font-size:15px}.class-cards button span{color:var(--muted);font-size:12px;line-height:1.55}.class-cards button.selected{background:var(--teal-soft);border:2px solid var(--teal)}.hazard-switch{border:1px solid #efd5c2;border-left:4px solid var(--orange);background:#fff9f4;border-radius:5px;margin:22px 0;padding:17px 19px}.hazard-switch label{cursor:pointer;align-items:flex-start;gap:11px;display:flex}.hazard-switch input{width:18px;height:18px;accent-color:var(--orange)}.hazard-switch strong,.hazard-switch small{display:block}.hazard-switch small{color:#7b6759;margin-top:5px;line-height:1.5}.hazard-switch.selected{background:#fff4eb;border-color:#e7ad82}.option-groups{gap:23px;display:grid}.option-group-title{color:#71818b;letter-spacing:.08em;margin-bottom:9px;font-size:12px;font-weight:700}.option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.option-card{color:#334853;text-align:left;background:#fff;border:1px solid #d3dde2;border-radius:5px;align-items:flex-start;gap:9px;min-height:58px;padding:12px;display:flex}.option-card:hover{border-color:#7eaaa7}.option-card.selected{color:#123f3c;background:var(--teal-soft);border-color:var(--teal)}.option-card strong{font-size:13px;line-height:1.45;display:block}.option-card small{color:var(--muted);margin-top:4px;line-height:1.45;display:block}.check-mark{color:#fff;background:#fff;border:1px solid #aebbc3;border-radius:3px;flex:none;place-items:center;width:18px;height:18px;font-size:12px;display:grid}.selected>.check-mark{background:var(--teal);border-color:var(--teal)}.tag-row{flex-wrap:wrap;gap:8px;display:flex}.tag-row button,.toolbar button,.inline-add button,.download-actions button,.step-actions button{color:#344954;background:#fff;border:1px solid #c8d3d9;border-radius:4px;padding:9px 15px}.tag-row button.selected{color:#fff;background:var(--teal);border-color:var(--teal)}.tag-row button.custom{background:#4d6c76}.inline-add{gap:8px;max-width:380px;margin-top:10px;display:flex}.inline-add button{color:#fff;background:var(--navy);border-color:var(--navy)}.toolbar{justify-content:flex-end;gap:8px;margin:-8px 0 22px;display:flex}.toolbar button:hover{color:var(--teal);border-color:var(--teal)}.hazard-conditions{background:#fffaf5;border:1px solid #eed5c2;border-radius:6px;margin-top:30px;padding:24px}.hazard-conditions h3{color:#70452a;margin-top:0}.boundary-note{color:#834517;background:#fde8d8;border-radius:4px;margin:18px 0 0;padding:10px 12px;font-size:13px;font-weight:700}.callout{border-radius:5px;gap:12px;margin-top:28px;padding:15px;font-size:13px;line-height:1.6;display:flex}.callout strong{flex:none}.callout.warning{color:#6a4b16;background:#fff5db;border:1px solid #ecd59b}.compliance-questionnaire{border-top:1px solid var(--line);margin-top:34px;padding-top:29px}.questionnaire-intro{color:#31505a;border-left:4px solid var(--teal);background:#f1f8f7;border-radius:5px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:17px 19px;display:flex}.questionnaire-intro strong,.questionnaire-intro span{display:block}.questionnaire-intro strong{color:var(--navy);font-size:16px}.questionnaire-intro span{color:#647980;margin-top:5px;font-size:12px;line-height:1.55}.questionnaire-intro b{color:var(--teal);flex:none;font-size:13px}.questionnaire-groups{gap:18px;display:grid}.question-group{border:1px solid #d9e2e6;border-radius:6px;overflow:hidden}.question-group h3{background:#365865;padding:12px 16px;color:#fff!important;margin:0!important;font-size:14px!important}.question-card{background:#fff;border-bottom:1px dashed #dce4e7;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:14px 16px;display:grid}.question-card:last-child{border-bottom:0}.question-card.answered{background:#fcfefe}.question-copy{align-items:flex-start;gap:11px;min-width:0;display:flex}.question-number{color:#fff;background:#6b7e87;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:11px;font-weight:800;display:grid}.question-copy strong,.question-copy small{display:block}.question-copy strong{color:#2c414c;font-size:13px;line-height:1.55}.question-copy small{color:#7b6b5c;margin-top:5px;font-size:11px;line-height:1.5}.answer-buttons{gap:6px;display:flex}.answer-buttons button{color:#53656e;background:#fff;border:1px solid #cbd6db;border-radius:4px;min-width:48px;padding:7px 11px;font-size:12px}.answer-buttons button:hover{border-color:var(--teal)}.answer-buttons .yes.selected{color:#fff;background:var(--teal);border-color:var(--teal)}.answer-buttons .no.selected{color:#fff;background:var(--danger);border-color:var(--danger)}.answer-buttons .notApplicable.selected{color:#fff;background:#687983;border-color:#687983}.review-summary{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.review-summary>div{background:#f5f8f9;border:1px solid #dce4e8;border-radius:5px;padding:13px}.review-summary span,.review-summary strong{display:block}.review-summary span{color:var(--muted);font-size:11px}.review-summary strong{color:var(--navy);margin-top:5px;font-size:13px}.review-columns{grid-template-columns:repeat(3,1fr);gap:11px;margin-top:19px;display:grid}.review-card{border:1px solid var(--line);border-radius:6px;min-width:0;overflow:hidden}.review-card h3{color:#fff;background:#365865;margin:0;padding:13px 15px;font-size:14px}.review-card h3 span{float:right;background:#ffffff2e;border-radius:12px;padding:1px 7px}.review-card.included h3{background:var(--teal)}.review-card.excluded h3{background:#6e7c83}.review-card ul{max-height:360px;margin:0;padding:7px 14px 7px 31px;overflow:auto}.review-card li{color:#3a4d57;border-bottom:1px dashed #dce4e7;padding:8px 0;font-size:12px}.review-card li:last-child{border-bottom:0}.review-card li strong,.review-card li small{display:block}.review-card li small{color:#7b8991;margin-top:3px;line-height:1.45}.warnings-list{margin-top:24px}.warnings-list>h3{color:var(--navy);font-size:16px}.diagnostic-verdict{border-radius:5px;gap:5px;margin-bottom:18px;padding:17px;display:grid}.diagnostic-verdict strong{font-size:17px}.diagnostic-verdict span{font-size:12px;line-height:1.55}.diagnostic-verdict.all-pass{color:#1a6259;background:#ecf8f6;border:1px solid #bfe0db}.diagnostic-verdict.has-failures{color:#8b241b;background:#fff0ee;border:1px solid #efbcb6}.warning-item{background:#fffaf0;border:1px solid #e5d9bd;border-radius:5px;gap:13px;margin-bottom:8px;padding:13px;display:flex}.warning-item>span{color:#805b0a;background:#f8e7b7;border-radius:3px;flex:none;height:fit-content;padding:3px 7px;font-size:10px;font-weight:700}.warning-item.error{background:#fff3f2;border-color:#efc1bc}.warning-item.error>span{color:#fff;background:var(--danger)}.warning-item.info{background:#f2f7fb;border-color:#cadde9}.warning-item.info>span{color:#2b5f7c;background:#d8eaf5}.warning-item strong{font-size:13px}.warning-item p{color:#6b7880;margin:4px 0 0;font-size:12px;line-height:1.55}.warning-item>div{flex:1;min-width:0}.warning-item.compliance-failure{border-left:4px solid var(--danger);margin-bottom:13px;padding:17px}.legal-result,.penalty-result{border-radius:4px;margin-top:12px;padding:11px 13px}.legal-result{color:#314e5b;background:#edf4f7}.penalty-result{color:#7b351e;background:#fff0e8}.legal-result b,.penalty-result b{font-size:12px}.legal-result p,.penalty-result p{color:inherit}.legal-links{flex-wrap:wrap;gap:7px 12px;margin-top:10px;display:flex}.legal-links a{color:var(--teal);text-underline-offset:2px;font-size:11px;text-decoration:underline}.legal-disclaimer{color:#706456;background:#f7f3ee;border-left:3px solid #b99872;margin:15px 0 0;padding:12px 14px;font-size:11px!important;line-height:1.65!important}.empty-state{color:#687983;text-align:center;background:#f5f8f9;border:1px dashed #cbd7dc;padding:20px}.download-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:9px;margin-top:25px;padding-top:21px;display:flex}.download-actions .primary,.step-actions .primary{color:#fff;background:var(--teal);border-color:var(--teal)}.download-actions .primary{min-width:210px}.step-actions{border-top:1px solid var(--line);justify-content:space-between;margin-top:35px;padding-top:20px;display:flex}.step-actions button{min-width:95px}.status-panel{gap:13px;display:grid;position:sticky;top:18px}.status-card,.legal-note{border-radius:7px}.status-card{border-top:4px solid var(--teal);padding:24px}.status-kicker{color:var(--teal);letter-spacing:.14em;font-size:11px;font-weight:800}.status-card h2{color:var(--navy);margin:11px 0 5px;font-size:19px;line-height:1.45}.status-card>p{color:var(--muted);margin:0;font-size:13px}.status-numbers{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:20px;display:grid}.status-numbers>div{text-align:center;background:#f2f7f7;border-radius:4px;padding:10px 4px}.status-numbers strong,.status-numbers span{display:block}.status-numbers strong{color:var(--teal);font-size:20px}.status-numbers span{color:#75858e;font-size:10px}.status-divider{background:var(--line);height:1px;margin:19px 0 10px}.status-card dl{margin:0}.status-card dl>div{border-bottom:1px dashed #e2e8eb;grid-template-columns:76px 1fr;gap:8px;padding:8px 0;font-size:12px;display:grid}.status-card dl>div:last-child{border-bottom:0}.status-card dt{color:#7b8991}.status-card dd{color:#344852;text-align:right;overflow-wrap:anywhere;margin:0}.legal-note{background:#f8f0e9;border-color:#e6cdbb;padding:17px}.legal-note strong{color:#874b21;font-size:13px}.legal-note p{color:#765e4d;margin:6px 0 0;font-size:12px;line-height:1.6}.toast{color:#37515c;border-left:4px solid var(--teal);border-radius:5px;padding:14px 31px 14px 14px;font-size:12px;line-height:1.55;position:relative}.toast button{color:#72818a;background:0 0;border:0;font-size:18px;position:absolute;top:5px;right:7px}.single-page-workspace{align-items:start}.single-page-nav{max-height:calc(100vh - 36px);overflow-y:auto}.nav-caption{color:#71818b;letter-spacing:.12em;margin:1px 9px 11px;font-size:11px;font-weight:800;display:block}.single-page-form{gap:0;padding-top:32px;display:grid}.form-section{border-bottom:2px solid #e7edef;padding:30px 0 48px;scroll-margin-top:20px}.form-section:first-of-type{padding-top:20px}.form-section:last-of-type{border-bottom:0}.flow-principle{color:#27454d;border:1px solid #c6e1de;border-left:4px solid var(--teal);background:#eef8f7;border-radius:5px;gap:12px;margin-bottom:6px;padding:16px 18px;font-size:13px;line-height:1.65;display:flex}.flow-principle strong{color:var(--teal);flex:none}.generation-section{text-align:center}.generation-section .section-heading{text-align:left}.required-issues{text-align:left;background:#fff8f4;border:1px solid #eccdbb;border-radius:6px;padding:20px}.required-issues h3{color:#844517;margin:0 0 12px;font-size:15px}.required-issues ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;margin:0;padding:0;list-style:none;display:grid}.required-issues li{border-bottom:1px dashed #e5cdbd;justify-content:space-between;gap:12px;padding:8px 0;font-size:12px;display:flex}.required-issues li strong{color:#704b36}.required-issues li span{color:#876d5d;text-align:right}.ready-card{color:#185f59;background:#ecf8f6;border:1px solid #bfe0db;border-radius:6px;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.ready-card strong{font-size:16px}.ready-card span{color:#55766f;font-size:13px}.large-action{border-radius:5px;min-width:230px;margin-top:20px;font-weight:700;color:#fff!important;background:var(--teal)!important;border:1px solid var(--teal)!important;padding:13px 25px!important}.section-heading.compact>span{color:var(--teal)}.result-section{padding-top:42px}.diagnosis-section{padding-bottom:30px}.locked-stage{color:#51646f;text-align:center;background:#f4f7f8;border:1px dashed #bfcbd1;border-radius:6px;gap:7px;padding:28px;display:grid}.locked-stage strong{color:var(--navy);font-size:16px}.locked-stage span{font-size:13px}.choice-heading{justify-content:space-between;align-items:center;gap:20px;margin:28px 0 13px;display:flex}.choice-heading strong{color:var(--navy);font-size:16px}.choice-heading span{color:var(--muted);font-size:12px}.remediation-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.remediation-choices button{color:#344a55;text-align:left;background:#fff;border:1px solid #cad6db;border-radius:6px;min-height:112px;padding:19px}.remediation-choices button:hover{border-color:var(--teal)}.remediation-choices button.selected{background:var(--teal-soft);border:2px solid var(--teal)}.remediation-choices span,.remediation-choices small{display:block}.remediation-choices span{color:var(--navy);font-size:16px;font-weight:800}.remediation-choices small{color:#6b7d86;margin-top:8px;line-height:1.6}.followup-panel{border-radius:7px;margin-top:20px;padding:30px;scroll-margin-top:20px}.followup-panel h2{color:var(--navy);margin:7px 0 12px}.panel-label{color:var(--teal);letter-spacing:.14em;font-size:11px;font-weight:800}.self-panel{color:#3d5961;background:#f1f8f7;border:1px solid #c6dfdc}.self-panel ol{padding-left:22px;line-height:1.85}.self-panel p{color:var(--teal);margin-bottom:0;font-weight:700}.consultation-panel{background:#fffdfa;border:1px solid #dfd5c7;box-shadow:0 12px 30px #12334a0f}.consult-intro{color:#63757d;margin:0 0 24px;line-height:1.7}.consultation-panel h3{color:#364d58;margin:26px 0 11px;font-size:14px}.service-options{flex-wrap:wrap;gap:8px;display:flex}.service-options button{color:#4a5e68;background:#fff;border:1px solid #cdd6da;border-radius:18px;padding:9px 13px}.service-options button.selected{color:#fff;background:var(--teal);border-color:var(--teal)}.consent-row{color:#536871;cursor:pointer;background:#f3f6f7;border-radius:5px;align-items:flex-start;gap:9px;margin-top:20px;padding:13px;font-size:12px;line-height:1.55;display:flex}.consent-row input{width:17px;height:17px;accent-color:var(--teal);flex:none}.direct-contact{background:#f1f7f6;border-radius:6px;align-items:center;gap:15px;margin-top:22px;padding:14px;display:flex}.direct-contact img{object-fit:contain;background:#fff;border:1px solid #d5dfdf;width:90px;height:90px}.direct-contact strong,.direct-contact span,.direct-contact small{display:block}.direct-contact span{color:var(--navy);margin-top:5px;font-weight:700}.direct-contact small{color:#71818a;margin-top:5px}.consultation-status{color:#8a3e1c;background:#fff1e8;border-radius:5px;margin-top:13px;padding:13px;font-size:13px;line-height:1.55}.consultation-status.success{color:#165c54;background:#e8f7f4}.service-boundary{color:#6e6257;background:#f6f1eb;border-left:4px solid #ba8c65;border-radius:4px;gap:7px;margin-top:25px;padding:17px;display:grid}.service-boundary strong{color:#68472e;font-size:13px}.service-boundary span{font-size:12px;line-height:1.65}.status-action{color:#fff;background:var(--teal);border:0;border-radius:4px;width:100%;margin-top:17px;padding:10px}@media (width<=1200px){.workspace{grid-template-columns:190px minmax(0,1fr)}.status-panel{grid-column:1/-1;grid-template-columns:2fr 1fr;position:static}.toast{grid-column:1/-1}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-columns,.required-issues ul,.question-card{grid-template-columns:1fr}.answer-buttons{padding-left:36px}}@media (width<=760px){.app-header{min-height:auto;padding:25px 20px 33px;display:block}.app-header h1{font-size:28px}.header-stats{margin-top:23px}.header-stats>div{flex:1;min-width:0;padding:12px 6px}.workspace{width:calc(100% - 20px);margin-top:10px;display:block}.step-nav{margin-bottom:10px;position:static}.step-nav>button{justify-content:center;width:20%;padding:9px 3px;display:inline-flex}.step-nav>button>div{display:none}.data-actions{flex-wrap:wrap;gap:5px;display:flex}.data-actions select{width:100%}.text-button{flex:1;width:auto}.form-panel{min-height:0;padding:22px 16px}.section-heading>span{font-size:34px}.section-heading h2{font-size:21px}.two-columns,.three-columns,.class-cards,.option-grid,.review-summary{grid-template-columns:1fr}.status-panel{grid-template-columns:1fr;margin-top:10px;display:grid}.download-actions{display:grid}.download-actions .primary{min-width:0}.flow-principle{display:grid}.form-section{padding:25px 0 38px}.remediation-choices{grid-template-columns:1fr}.choice-heading{gap:5px;display:grid}.followup-panel{padding:22px 16px}.questionnaire-intro{display:grid}.answer-buttons{flex-wrap:wrap}}
