:root { --green:#006b4f; --deep:#073b32; --pale:#eef8f4; --ink:#17221f; --muted:#65716d; --line:#dce5e1; --surface:#fff; --soft:#f7f9f8; --warning:#fff8df; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--soft); font-family:"DM Sans",system-ui,sans-serif; font-size:15px; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.assessment-shell { min-height:100vh; display:grid; grid-template-columns:350px minmax(0,1fr); }
.sidebar { min-height:100vh; background:var(--deep); padding:34px 32px 25px; color:#fff; display:flex; flex-direction:column; }
.brand,.mobile-brand { display:flex; align-items:center; gap:9px; color:inherit; text-decoration:none; font:700 17px/1 Manrope,sans-serif; letter-spacing:-.045em; }
.brand>span:last-child>span,.mobile-brand>span:last-child>span { color:#76d0ad; }
.brand-mark { display:grid; place-items:center; height:29px; width:29px; border-radius:9px; background:#fff; color:var(--green); font:800 17px/1 Manrope,sans-serif; letter-spacing:-.1em; }
.sidebar-intro { margin:67px 0 32px; }
.eyebrow { color:#8ed8bc; font-size:10px; font-weight:700; letter-spacing:.13em; margin:0 0 15px; }
.sidebar h1 { margin:0 0 15px; font:700 29px/1.18 Manrope,sans-serif; letter-spacing:-.055em; max-width:245px; }
.sidebar-intro>p:last-child { margin:0; max-width:270px; color:#b7d3c9; line-height:1.55; font-size:13px; }
.step-list { position:relative; margin:0 -4px; display:grid; gap:4px; }
.step-list:before { content:""; position:absolute; left:15px; top:17px; bottom:17px; width:1px; background:#2d6254; }
.step { position:relative; z-index:1; display:grid; grid-template-columns:32px auto; align-items:center; gap:12px; width:100%; padding:7px 8px; color:#91b9ab; background:transparent; border:0; border-radius:7px; text-align:left; }
.step:hover { background:#104b3f; }.step.active { color:#fff; background:#155748; }.step.complete { color:#d9eee6; }
.step-number { display:grid; place-items:center; width:22px; height:22px; border:1px solid #4c7c6e; border-radius:50%; background:var(--deep); color:#b4d1c6; font-size:10px; font-weight:700; }
.step.active .step-number { background:#fff; color:var(--green); border-color:#fff; box-shadow:0 0 0 4px #2d745f; }.step.complete .step-number { background:#5cc69e; border-color:#5cc69e; color:#063c31; }
.step-label { font-size:12px; font-weight:600; }.sidebar-footer { margin-top:auto; color:#b7d3c9; font-size:11px; padding-top:22px; }.secure-dot { display:inline-grid; place-items:center; margin-right:6px; width:16px; height:16px; color:#062c24; background:#73d4ae; border-radius:50%; font-size:10px; font-weight:800; }
.workspace { width:100%; max-width:1040px; margin:0 auto; min-height:100vh; padding:0 70px; background:var(--surface); display:flex; flex-direction:column; }.topbar { height:94px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }.mobile-brand { display:none; color:var(--ink); }
.progress-copy { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:12px; }.progress-copy span:first-child { color:var(--ink); font-weight:700; }.progress-bar { display:block; width:92px; height:5px; overflow:hidden; background:#e6ece9; border-radius:10px; }.progress-bar i { display:block; height:100%; width:8%; background:var(--green); border-radius:inherit; transition:width .3s ease; }.save-button { border:0; background:transparent; padding:8px 0; color:var(--green); font-size:12px; font-weight:700; }
#scope-form { flex:1; display:flex; flex-direction:column; }.step-panel { flex:1; padding:58px 0 36px; animation:enter .24s ease; }.kicker { margin:0 0 12px; color:var(--green); font-size:11px; font-weight:700; letter-spacing:.12em; }.step-panel h2 { max-width:680px; margin:0; font:700 36px/1.16 Manrope,sans-serif; letter-spacing:-.055em; }.step-description { max-width:630px; margin:13px 0 34px; color:var(--muted); line-height:1.55; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:760px; }.field { display:flex; flex-direction:column; gap:8px; }.field.wide { grid-column:1/-1; }.field label,.group-label { font-size:13px; font-weight:700; }.optional { color:var(--muted); font-size:11px; font-weight:500; }.required-mark { color:var(--green); }.field input,.field select,.field textarea { width:100%; min-height:47px; border:1px solid #cdd9d4; border-radius:6px; outline:0; padding:0 13px; color:var(--ink); background:#fff; transition:border .15s,box-shadow .15s; }.field textarea { min-height:130px; padding:13px; resize:vertical; line-height:1.5; }.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px #dff2ea; }.field.invalid input,.field.invalid select { border-color:#b32318; }.error { display:none; color:#b32318; font-size:11px; }.field.invalid .error { display:block; }
.choice-grid { max-width:800px; display:grid; grid-template-columns:repeat(3,1fr); gap:11px; }.choice-grid.two-col { grid-template-columns:repeat(2,1fr); }.choice { position:relative; display:flex; align-items:flex-start; gap:11px; min-height:72px; padding:15px; border:1px solid var(--line); border-radius:8px; background:#fff; cursor:pointer; transition:.18s; }.choice:hover { border-color:#9bc8b8; background:#fbfefc; }.choice input { position:absolute; opacity:0; }.choice .indicator { flex:0 0 18px; width:18px; height:18px; margin-top:1px; border:1.5px solid #a7b8b1; border-radius:50%; }.choice.check .indicator { border-radius:4px; }.choice input:checked + .indicator { border-color:var(--green); background:var(--green); box-shadow:inset 0 0 0 4px #fff; }.choice strong { display:block; font-size:13px; }.choice small { display:block; margin-top:3px; color:var(--muted); font-size:11px; line-height:1.35; }.choice:has(input:checked) { border-color:var(--green); background:var(--pale); box-shadow:0 0 0 1px var(--green); }
.split-block { max-width:800px; margin-top:30px; padding-top:27px; border-top:1px solid var(--line); }.split-block h3 { margin:0 0 7px; font:700 18px/1.25 Manrope,sans-serif; letter-spacing:-.035em; }.split-block p { margin:0 0 17px; color:var(--muted); font-size:13px; }.inline-input { margin-top:15px; max-width:550px; }.hint-box { max-width:800px; margin:0 0 25px; padding:15px 17px; border:1px solid #e6dcae; border-radius:8px; color:#6a5d2b; background:var(--warning); font-size:12px; line-height:1.45; }
.upload { max-width:800px; display:flex; align-items:center; gap:18px; padding:25px; border:1.5px dashed #9fbbb0; border-radius:10px; background:#fbfefc; }.upload-icon { display:grid; flex:0 0 40px; place-items:center; width:40px; height:40px; border-radius:8px; color:var(--green); background:#daf1e7; font-size:20px; }.upload strong,.upload span { display:block; }.upload strong { font-size:13px; }.upload span { margin-top:3px; color:var(--muted); font-size:11px; }.upload input { width:0; height:0; opacity:0; }.upload label { margin-left:auto; border:1px solid var(--green); border-radius:5px; padding:9px 12px; color:var(--green); font-size:12px; font-weight:700; cursor:pointer; white-space:nowrap; }
.form-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 0 30px; border-top:1px solid var(--line); }.button { min-height:43px; border-radius:5px; padding:0 17px; font-size:13px; font-weight:700; }.button-secondary { border:1px solid #cbd7d2; color:#53615c; background:#fff; }.button-primary { min-width:140px; border:1px solid var(--green); color:#fff; background:var(--green); }.button-primary:hover { background:#00523d; }.button:disabled { opacity:.42; cursor:not-allowed; }.helper-text { margin:0 auto; color:var(--muted); font-size:11px; }
.review-grid { max-width:800px; display:grid; gap:12px; }.review-card { display:grid; grid-template-columns:1fr auto; gap:20px; padding:19px; border:1px solid var(--line); border-radius:8px; }.review-card h3 { margin:0 0 8px; font:700 16px Manrope,sans-serif; letter-spacing:-.03em; }.review-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }.review-card button { align-self:start; border:0; background:transparent; color:var(--green); font-size:12px; font-weight:700; }.submit-note { max-width:800px; margin-top:22px; padding:18px; border-radius:8px; background:var(--pale); color:#315b4d; font-size:13px; line-height:1.5; }.success { max-width:680px; padding:35px; border:1px solid #bfe3d4; border-radius:12px; background:var(--pale); }.success-icon { display:grid; place-items:center; width:45px; height:45px; margin-bottom:20px; border-radius:50%; color:#fff; background:var(--green); font-size:20px; }.success h2 { font-size:29px; }.toast { position:fixed; right:24px; bottom:24px; z-index:4; transform:translateY(90px); padding:12px 16px; border-radius:6px; color:#fff; background:#173d33; box-shadow:0 8px 25px #183b3028; font-size:12px; transition:transform .25s; }.toast.visible { transform:translateY(0); }
@keyframes enter { from { opacity:0; transform:translateY(5px) } to { opacity:1; transform:none } }
@media (max-width:900px) { .assessment-shell { grid-template-columns:270px minmax(0,1fr); }.sidebar { padding:28px 22px; }.workspace { padding:0 40px; }.sidebar h1 { font-size:25px; } }
@media (max-width:720px) { .assessment-shell { display:block; }.sidebar { display:none; }.workspace { max-width:none; padding:0 20px; }.topbar { height:70px; gap:14px; }.mobile-brand { display:flex; flex:1; }.progress-copy { display:none; }.step-panel { padding:38px 0 28px; }.step-panel h2 { font-size:29px; }.field-grid,.choice-grid,.choice-grid.two-col { grid-template-columns:1fr; }.form-footer { padding-bottom:20px; }.helper-text { display:none; }.upload { align-items:flex-start; flex-wrap:wrap; }.upload label { margin-left:58px; }.review-card { grid-template-columns:1fr; }.review-card button { position:absolute; right:20px; } }
@media (max-width:410px) { .workspace { padding:0 16px; }.save-button { font-size:11px; }.step-panel h2 { font-size:27px; }.button-primary { min-width:125px; } }

body { background:#00765a fixed; background-image:radial-gradient(circle at 12% 12%,#2eb18a 0,transparent 27%),radial-gradient(circle at 88% 88%,#00543f 0,transparent 34%); background-attachment:fixed; }
.assessment-shell { width:min(1420px,calc(100% - 64px)); min-height:calc(100vh - 64px); margin:32px auto; grid-template-columns:370px minmax(0,1fr); overflow:hidden; border:1px solid #ffffff70; border-radius:15px; box-shadow:0 25px 60px #00392c80; }
.sidebar { min-height:calc(100vh - 64px); position:relative; overflow:hidden; }.sidebar-intro { margin:48px 0 12px; position:relative; z-index:1; }.assessment-art { height:148px; margin:0 -20px 16px -25px; position:relative; z-index:1; }.assessment-art:after { content:""; position:absolute; inset:22px 12px 0 18px; border-radius:50%; background:#0c5142; filter:blur(24px); opacity:.7; z-index:-1; }.assessment-art img { display:block; width:100%; height:100%; object-fit:contain; object-position:left center; filter:drop-shadow(0 13px 14px #002d2280); }.workspace { min-height:calc(100vh - 64px); }
.choice { min-height:86px; padding:17px; border-radius:9px; box-shadow:0 4px 0 #edf2ef; }.choice:hover { transform:translateY(-2px); border-color:#66a993; box-shadow:0 7px 0 #e3eee9; }.choice:has(input:checked) { transform:translateY(-2px); box-shadow:0 0 0 1px var(--green),0 6px 0 #c9e7db; }.button-primary { min-width:160px; box-shadow:0 4px 0 #004834; }.button-primary:hover { transform:translateY(-1px); box-shadow:0 5px 0 #003d2d; }
@media (max-width:900px) { .assessment-shell { width:calc(100% - 32px); min-height:calc(100vh - 32px); margin:16px auto; }.sidebar { min-height:calc(100vh - 32px); }.assessment-art { height:120px; } }
@media (max-width:720px) { body { background:#fff; }.assessment-shell { width:100%; min-height:100vh; margin:0; border:0; border-radius:0; box-shadow:none; }.workspace { min-height:100vh; } }

@media (min-width:721px) { .topbar,.form-footer { flex:none; }.step-panel { overflow:visible; padding-right:0; }.sidebar { align-self:stretch; } }
.contact-block { max-width:800px; }.manager-details { margin-top:23px; padding:21px 0 0; border-top:1px dashed #cedbd5; }.manager-details .group-label { margin:0 0 14px; }
