*{box-sizing:border-box}body{margin:0;background:#f4f7fa;color:#142d47;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}.topbar{max-width:1232px;margin:auto;padding:25px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dbe3eb}.brand{display:flex;align-items:center;gap:12px;font-weight:750;letter-spacing:.18em}.topbar a{color:inherit;text-decoration:none;font-size:14px}.topbar .brand{font-size:18px}main{max-width:1232px;padding:44px 40px 20px;margin:auto}.intro{margin-bottom:34px;max-width:740px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:750;color:#65798a}h1{font-size:clamp(30px,4vw,45px);line-height:1.15;letter-spacing:-.035em;margin:14px 0 17px}h2{font-size:24px;line-height:1.3;margin:0 0 12px}p{margin:0 0 14px}.intro p{font-size:18px;color:#53697c;max-width:650px}.workspace{display:grid;grid-template-columns:minmax(310px,440px) 1fr;gap:28px;align-items:start}.upload-panel,.result-panel{padding:30px;background:white;border:1px solid #dce5ed;border-radius:16px}.result-panel{min-height:590px;background:#102d4c;color:#edf3f8}.result-panel .eyebrow{color:#a8bed0}.result-panel h2{margin:22px 0;font-size:31px}.result-panel p{color:#c5d3df}.muted,.hint{color:#5a6f81}.hint{font-size:13px;line-height:1.5}.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;padding:25px 14px;margin:22px 0 10px;gap:3px;border:1.5px dashed #a8bdce;border-radius:12px;background:#f8fbfd;cursor:pointer}.dropzone.drag{background:#e6f2ef;border-color:#347763}.dropzone input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.dropzone:focus-within{outline:3px solid #81a8d2;outline-offset:3px}.dropzone span:not(.upload-icon){font-size:14px;color:#5a6f81}.upload-icon{font-size:30px;line-height:1.3;color:#347763}button{font:inherit;cursor:pointer}button:disabled{opacity:.55;cursor:wait}.primary{background:#153956;color:white;width:100%;border:0;border-radius:9px;padding:15px 18px;margin-top:19px;display:flex;justify-content:space-between;font-weight:650}.primary:hover{background:#204d70}.consent{display:flex;gap:11px;font-size:14px;line-height:1.55;margin:22px 0 10px}.consent input{width:18px;height:18px;flex-shrink:0;accent-color:#286c56;margin-top:3px}.privacy{font-size:13px;color:#5a6f81}.privacy summary{cursor:pointer;font-size:14px}.privacy p{margin-top:10px}.file-list{list-style:none;padding:0;margin:16px 0}.file-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e6edf3;padding:8px 0;font-size:14px;overflow-wrap:anywhere}.file-list button{background:none;border:0;color:#8b3e35;padding:0 5px}.legend{border-top:1px solid #35516b;border-bottom:1px solid #35516b;padding:22px 0;margin:30px 0}.legend p{display:flex;align-items:center;gap:12px;margin:10px 0;color:#edf3f8}.legend i{width:9px;height:9px;border-radius:50%}.good{background:#68b69a}.change{background:#d8b464}.unknown{background:#94aec5}.page-footer{display:flex;align-items:center;gap:30px;margin-top:32px;padding-top:24px;border-top:1px solid #dbe3eb}.page-footer p{font-size:13px;color:#64788a;max-width:500px;margin:0}.progress{margin-top:20px;padding:17px;background:#edf4f7;border-radius:9px;font-size:14px}.spinner{display:inline-block;height:14px;width:14px;border:2px solid #c0d1df;border-top-color:#246951;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.progress p{margin:8px 0 0}.error{background:#fff0ed;color:#963b2e;padding:15px;border-radius:8px;margin:20px 0 0;overflow-wrap:anywhere}.recovery{margin-top:18px}.recovery button,.download{border:1px solid #a1b5c5;border-radius:7px;padding:10px 14px;background:white;color:#153956;font-size:14px}.recovery .text-button{border:0;padding-left:0}.recovery .hint{margin-top:10px}.result-panel.has-result{background:white;color:#142d47}.has-result p{color:#435c71}.has-result h2{font-size:27px;margin:14px 0}.has-result .eyebrow{color:#647c8e}.result-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.download{background:#173b58;color:white;border:0;font-weight:650}.report-section{margin-top:28px;border-top:1px solid #dee7ef;padding-top:19px}.report-section h3{font-size:17px;margin:0 0 16px}.finding{padding:0 0 20px;margin-bottom:15px;border-bottom:1px solid #e8eef3}.finding:last-child{border:0;margin:0;padding-bottom:0}.finding h4{font-size:16px;margin:0 0 7px}.finding p{font-size:15px;line-height:1.6;margin:0 0 9px}.recommendation{background:#edf6f1;border-radius:8px;padding:12px!important;color:#275f4c!important}.evidence{font-size:13px;color:#62788b;overflow-wrap:anywhere}.evidence summary{cursor:pointer}.evidence blockquote{margin:10px 0 0;padding-left:12px;border-left:2px solid #cad8e3}.evidence small{display:block;margin-bottom:4px}.scope{font-size:13px}.count{font-size:12px;padding:3px 7px;border-radius:4px;background:#eaf1f6;margin-left:8px}[hidden]{display:none!important}:focus-visible{outline:3px solid #73a4cf;outline-offset:3px}@media(max-width:800px){.topbar{padding:20px}.topbar>a:last-child{font-size:12px;max-width:135px;text-align:right}main{padding:30px 20px}.workspace{grid-template-columns:1fr}.intro{margin-bottom:24px}.upload-panel,.result-panel{padding:23px}.result-panel{min-height:0}.page-footer{align-items:flex-start;gap:20px}.page-footer img{width:100px}.page-footer p{font-size:12px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}

.consultation-card{margin:24px 0;padding:24px;border:1px solid #b6d7c8;border-radius:13px;background:#edf6f1}.consultation-card .eyebrow{color:#3c755f}.consultation-card h3{margin:7px 0 10px;font-size:22px;line-height:1.3}.consultation-card p{font-size:15px;color:#3b5a4d}.consultation-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:16px 19px;min-height:58px;border:0;border-radius:9px;background:#246b50;color:#fff;font-size:16px;font-weight:700;line-height:1.4;text-align:left;box-shadow:0 4px 12px #1e5f4020}.consultation-cta:hover{background:#18553d}.consultation-cta span{font-size:24px;flex:none}.consultation-form label{display:block;font-size:15px;font-weight:650;margin:5px 0 8px}.consultation-form input{width:100%;padding:14px 15px;min-height:50px;border:1px solid #9dbdad;border-radius:8px;background:white;color:#142d47;font:inherit;font-size:18px}.consultation-card .consultation-privacy{font-size:12px;line-height:1.5;margin:10px 0 16px;color:#527363}.consultation-card .consultation-error{color:#963b2e;background:#fff0ed;border-radius:6px;padding:10px;font-size:14px}.consultation-success{border-top:1px solid #b6d7c8;padding-top:16px}.consultation-success strong{color:#1d6246}.consultation-success p{margin:7px 0 9px}.consultation-edit{border:0;background:transparent;color:#246b50;text-decoration:underline;padding:2px 0;font-size:14px}@media(max-width:600px){.consultation-card{padding:19px}.consultation-card h3{font-size:20px}.consultation-cta{padding:15px;font-size:15px}}

.result-panel:not(.has-result){min-height:0}
@media(min-width:801px){.workspace:has(> .result-panel:not(.has-result)){grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}}

.access-gate{max-width:720px;padding:32px;background:#fff;border:1px solid #dce5ed;border-radius:16px}.access-gate h2{margin-top:10px}.access-gate p{color:#526579}.access-pro{color:#8a0303}.access-gate label{display:block;font-size:14px;font-weight:650;margin:22px 0 8px}.access-input-row{display:flex;gap:12px;align-items:stretch}.access-input-row input{min-width:0;flex:1;width:100%;font:inherit;padding:13px 15px;border:1px solid #a8bdce;border-radius:9px;letter-spacing:.1em}.access-input-row .primary{width:auto;white-space:nowrap;margin:0;justify-content:center}.access-gate .hint{margin-top:16px;margin-bottom:0}.access-gate .error{color:#963b2e}.access-session{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;margin-bottom:20px;border:1px solid #dce5ed;background:#fff;border-radius:10px}.access-session p{margin:0;font-size:14px}.access-session button{border:0;background:none;color:#153956;text-decoration:underline;font-size:14px}.access-session strong{font-variant-numeric:tabular-nums}@media(max-width:600px){.access-gate{padding:23px}.access-input-row{flex-direction:column}.access-session{align-items:flex-start;flex-direction:column;gap:8px}}
