@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Franklin:wght@600;700&display=swap');

:root{--ink:#182c2a;--muted:#63716f;--green:#176b56;--green-dark:#0d4f40;--mint:#eaf5f0;--gold:#c99442;--line:#dde6e2;--paper:#fff;--bg:#f5f7f6;--danger:#b84747}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(28px,calc((100vw - 1240px)/2));gap:50px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;min-width:268px}.crest{width:42px;height:42px;border-radius:12px;background:var(--green);color:white;display:grid;place-items:center;box-shadow:0 5px 12px #176b5630}.brand div:last-child{display:flex;flex-direction:column}.brand strong{font-family:"Libre Franklin";font-size:16px;letter-spacing:.07em}.brand span{font-size:11px;color:var(--muted);margin-top:2px}.topbar nav{display:flex;gap:28px;height:100%}.topbar nav button{border:0;background:transparent;color:#64706f;font-weight:600;font-size:14px;position:relative}.topbar nav button.nav-active{color:var(--green)}.topbar nav button.nav-active:after{content:"";height:3px;background:var(--green);border-radius:3px 3px 0 0;position:absolute;bottom:0;left:0;right:0}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.help-btn{border:0;background:transparent;display:flex;gap:7px;color:var(--muted);align-items:center;font-size:13px}.user-pill{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:17px;font-size:13px;font-weight:600}.avatar{width:32px;height:32px;border-radius:50%;background:var(--mint);color:var(--green);display:grid;place-items:center}.mobile-menu{display:none;border:0;background:none}.notice{height:39px;background:#edf7f3;color:#315b51;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;border-bottom:1px solid #d6ebe3}.notice button{border:0;background:none;color:var(--green);font-weight:700;text-decoration:underline;margin-left:5px}main{max-width:1180px;margin:auto;padding:34px 26px 55px}.crumb{display:flex;gap:10px;font-size:12px;color:#899491;margin-bottom:24px}.crumb span:first-child{color:var(--green)}.crumb b{font-weight:400}.title-row{display:flex;justify-content:space-between;align-items:end}.eyebrow{margin:0 0 7px;color:var(--green);font-size:11px;font-weight:700;letter-spacing:.15em}.title-row h1{font-family:"Libre Franklin";font-size:31px;letter-spacing:-.035em;margin:0 0 7px}.title-row p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px}.outline-btn,.primary-btn{height:43px;border-radius:9px;padding:0 17px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:700}.outline-btn{border:1px solid #cfdad6;background:#fff;color:#334b46}.outline-btn:hover{border-color:var(--green);color:var(--green)}.primary-btn{border:1px solid var(--green);background:var(--green);color:#fff;box-shadow:0 5px 13px #176b5620}.primary-btn:hover{background:var(--green-dark)}.stepper{height:98px;background:white;border:1px solid var(--line);border-radius:12px;margin:28px 0 24px;display:flex;align-items:center;padding:0 46px;box-shadow:0 3px 12px #1b3c3520}.step{flex:1;display:flex;align-items:center;gap:12px;position:relative}.step-circle{width:34px;height:34px;border-radius:50%;border:1px solid #cfd8d5;display:grid;place-items:center;color:#899390;background:#fff;font-weight:700;font-size:13px;z-index:1}.step>div:nth-child(2){display:flex;flex-direction:column}.step small{font-size:9px;color:#9aa4a2;letter-spacing:.1em}.step strong{font-size:13px;margin-top:3px;color:#6d7976}.step-line{height:1px;background:#dfe6e4;flex:1;margin:0 22px}.step.active .step-circle{background:var(--green);color:#fff;border-color:var(--green)}.step.active strong{color:var(--ink)}.step.done .step-circle{background:#dcefe7;color:var(--green);border-color:#dcefe7}.content-grid,.review-grid{display:grid;grid-template-columns:1fr 285px;gap:24px}.panel,.info-card,.submit-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 12px #1b3c3512}.form-panel{padding:26px 28px 30px}.panel-head{display:flex;gap:13px;align-items:center;border-bottom:1px solid #e8edeb;padding-bottom:20px;margin-bottom:24px}.icon-box{width:42px;height:42px;border-radius:10px;background:var(--mint);color:var(--green);display:grid;place-items:center}.panel-head h2{font-family:"Libre Franklin";font-size:17px;margin:0 0 4px}.panel-head p{font-size:12px;color:var(--muted);margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1/-1}.field>span{font-size:12px;font-weight:700;color:#364b47}.field b,.doc-name>b{color:#c55151;margin-left:3px}.field input,.field select{height:44px;border:1px solid #d6dfdc;border-radius:8px;background:#fff;padding:0 13px;color:var(--ink);outline:none;font-size:13px}.field input::placeholder{color:#a5aeac}.field input:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b5614}.prefix-input{display:flex;border:1px solid #d6dfdc;border-radius:8px;overflow:hidden}.prefix-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #176b5614}.prefix-input span{display:grid;place-items:center;width:43px;background:#f3f6f5;border-right:1px solid #d6dfdc;font-size:12px;font-weight:700}.prefix-input input{border:0;flex:1;border-radius:0}.prefix-input input:focus{box-shadow:none}.info-card{padding:25px 23px;height:max-content;text-align:center}.progress-ring{--p:0deg;width:105px;height:105px;border-radius:50%;background:conic-gradient(var(--green) var(--p),#e6ecea 0);display:grid;place-items:center;margin:3px auto 17px;position:relative}.progress-ring:after{content:"";position:absolute;inset:8px;background:white;border-radius:50%}.progress-ring div{position:relative;z-index:1;display:flex;flex-direction:column}.progress-ring strong{font:700 23px "Libre Franklin"}.progress-ring span{font-size:10px;color:var(--muted)}.info-card h3{font-size:15px;margin:0 0 7px}.info-card>p{font-size:11px;line-height:1.55;color:var(--muted);margin:0 0 20px}.status-lines{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin-bottom:15px}.status-lines div{display:flex;align-items:center;justify-content:space-between;padding:7px 0;font-size:11px}.status-lines span{color:var(--muted)}.status-lines b{color:#8a742d;background:#fbf4dc;border-radius:12px;padding:3px 7px;font-size:9px}.status-lines strong{font-size:11px}.status-lines em{font-style:normal;color:#806c2d;background:#f8f1dc;border-radius:12px;padding:3px 9px}.format-note{display:flex;text-align:left;gap:9px;color:var(--green);align-items:center;background:#f2f8f5;padding:11px;border-radius:8px}.format-note p{margin:0;display:flex;flex-direction:column}.format-note strong{font-size:10px}.format-note span{font-size:9px;color:#687773;margin-top:2px}.bottom-actions{display:flex;justify-content:space-between;margin-top:22px}.upload-layout{display:grid;grid-template-columns:1fr 285px;gap:24px}.upload-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px;padding:0 3px}.upload-intro h2{font:700 21px "Libre Franklin";margin:0 0 5px}.upload-intro p:last-child{font-size:12px;color:var(--muted);margin:0}.progress-badge{text-align:right}.progress-badge strong{font:700 21px "Libre Franklin";color:var(--green);display:block}.progress-badge span{font-size:10px;color:var(--muted)}.doc-section{background:white;border:1px solid var(--line);border-radius:11px;margin-bottom:12px;overflow:hidden}.section-head{width:100%;height:68px;border:0;background:#fff;display:flex;align-items:center;text-align:left;padding:0 18px;gap:12px;color:var(--ink)}.section-head:hover{background:#fafcfb}.letter{width:32px;height:32px;border-radius:8px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-weight:800}.section-head>div:nth-child(2){display:flex;flex-direction:column;flex:1}.section-head strong{font-size:13px}.section-head span{font-size:10px;color:var(--muted);margin-top:3px}.section-count{font-size:11px;color:var(--green);font-weight:700;background:#eef7f3;padding:4px 8px;border-radius:10px}.doc-list{border-top:1px solid var(--line)}.doc-row{min-height:72px;display:flex;align-items:center;padding:12px 18px;border-bottom:1px solid #edf1ef;gap:12px}.doc-row:last-child{border-bottom:0}.doc-check{width:26px;height:26px;border-radius:50%;border:1px solid #d5dfdc;display:grid;place-items:center;color:#8b9794;flex:0 0 auto}.doc-row.has-file .doc-check{background:var(--green);border-color:var(--green);color:#fff}.doc-name{flex:1;display:grid;grid-template-columns:max-content max-content;align-items:center;gap:3px 7px}.doc-name strong{font-size:11.5px;font-weight:600}.doc-name small{grid-column:1/-1;color:#919c99;font-size:9.5px}.conditional{font-size:8px!important;text-transform:uppercase;letter-spacing:.05em;background:#f7f0dc;color:#8b6e26!important;padding:3px 6px;border-radius:8px;margin:0!important}.upload-btn{height:33px;padding:0 12px;border-radius:7px;background:#fff;border:1px solid #ced9d5;color:#3f5852;font-size:10px;font-weight:700;display:flex;align-items:center;gap:6px}.upload-btn:hover{border-color:var(--green);color:var(--green)}.file-chip{width:220px;display:flex;align-items:center;gap:8px;background:#f1f8f5;border:1px solid #d7ebe3;border-radius:8px;padding:7px 8px;color:var(--green)}.file-chip>div{flex:1;min-width:0;display:flex;flex-direction:column}.file-chip strong{font-size:9px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-chip span{font-size:8px;color:#71817c}.file-chip button{border:0;background:transparent;color:#81908c;padding:2px}.sticky-summary{position:sticky;top:90px;height:max-content}.tip-card{display:flex;gap:10px;margin-top:14px;background:#f1f7f4;color:var(--green);border-radius:10px;padding:15px}.tip-card svg{flex:0 0 auto}.tip-card strong{font-size:10px}.tip-card p{font-size:9px;color:#647670;line-height:1.5;margin:4px 0 0}.review-panel{padding:26px 28px}.review-section{border-bottom:1px solid var(--line);padding-bottom:23px;margin-bottom:22px}.review-section:last-of-type{margin-bottom:17px}.review-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.review-title h3{font-size:13px;margin:0}.review-title button{border:0;background:none;color:var(--green);font-size:10px;font-weight:700}.review-data{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#f7f9f8;padding:17px;border-radius:9px}.review-data div{display:flex;flex-direction:column;gap:4px}.review-data span{font-size:9px;color:var(--muted)}.review-data strong{font-size:11px}.status-box{display:flex;align-items:center;gap:10px;background:#fff8eb;color:#957024;border:1px solid #efdfb9;border-radius:9px;padding:13px}.status-box.complete{background:#eff8f4;color:var(--green);border-color:#cfe9dd}.status-box>div{display:flex;flex:1;flex-direction:column}.status-box strong{font-size:11px}.status-box span{font-size:9px;margin-top:3px}.status-box>b{font:700 18px "Libre Franklin"}.category-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.category-summary>div{display:grid;grid-template-columns:25px 1fr max-content;align-items:center;border:1px solid #e3e9e7;border-radius:7px;padding:8px}.category-summary span{width:20px;height:20px;border-radius:5px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:9px;font-weight:700}.category-summary p{font-size:8px;margin:0;color:var(--muted)}.category-summary strong{font-size:9px}.declaration{display:flex;gap:9px;align-items:flex-start;background:#f6f8f7;padding:13px;border-radius:8px;font-size:10px;color:#4e5e5a;line-height:1.5}.declaration input{accent-color:var(--green);margin-top:2px}.submit-card{height:max-content;text-align:center;padding:28px 22px}.submit-icon{width:57px;height:57px;border-radius:50%;background:var(--mint);color:var(--green);display:grid;place-items:center;margin:0 auto 14px}.submit-card h3{font:700 16px "Libre Franklin";margin:0 0 8px}.submit-card>p{font-size:10px;color:var(--muted);line-height:1.55}.mini-stat{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;background:#f6f8f7;text-align:left;padding:11px;border-radius:8px;margin:17px 0}.mini-stat svg{grid-row:1/3;color:var(--green)}.mini-stat span{font-size:8px;color:var(--muted)}.mini-stat strong{font-size:10px}.full{width:100%}.text-btn{border:0;background:none;color:var(--green);display:flex;align-items:center;gap:6px;margin:13px auto 0;font-size:10px;font-weight:700}footer{height:65px;border-top:1px solid var(--line);background:#fff;padding:0 max(28px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;color:#84908d;font-size:10px}footer button{border:0;background:none;color:#788582;font-size:10px;margin-left:18px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:50;background:#183d34;color:#fff;padding:12px 17px;border-radius:9px;display:flex;align-items:center;gap:9px;font-size:12px;box-shadow:0 10px 30px #0003;animation:toastin .25s ease}.modal-backdrop{position:fixed;inset:0;background:#10292399;backdrop-filter:blur(3px);z-index:60;display:grid;place-items:center;padding:20px}.modal{position:relative;width:min(460px,100%);background:#fff;border-radius:15px;padding:29px;box-shadow:0 25px 70px #071a1660}.modal-close{position:absolute;right:14px;top:14px;border:0;background:#f1f4f3;border-radius:7px;width:32px;height:32px;display:grid;place-items:center;color:#63716f}.modal>h2{font:700 20px "Libre Franklin";margin:0 0 20px}.help-list p{font-size:12px;color:var(--muted);line-height:1.6;padding:11px 0;margin:0;border-bottom:1px solid var(--line)}.help-list b{color:var(--green);margin-right:4px}.success-modal{text-align:center}.success-mark{width:68px;height:68px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;margin:0 auto 18px}.success-modal h2{font:700 23px "Libre Franklin";margin:0 0 9px}.success-modal>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.6}.reference{background:#f2f7f5;border:1px dashed #b9d6cb;border-radius:9px;padding:13px;display:flex;flex-direction:column;margin:20px 0}.reference span{font-size:9px;color:var(--muted)}.reference strong{font-size:14px;color:var(--green);margin-top:4px;letter-spacing:.03em}@keyframes toastin{from{opacity:0;transform:translate(-50%,10px)}}@media(max-width:900px){.topbar{padding:0 20px}.topbar nav,.help-btn,.user-pill{display:none}.mobile-menu{display:block}.content-grid,.upload-layout,.review-grid{grid-template-columns:1fr}.info-card,.sticky-summary,.submit-card{position:static}.stepper{padding:0 20px}.step-line{margin:0 10px}.step strong{font-size:11px}.upload-layout>.sticky-summary .info-card{display:none}}@media(max-width:620px){.notice{padding:0 15px;justify-content:flex-start}.notice button{display:none}main{padding:24px 15px 40px}.title-row{align-items:flex-start}.title-row .outline-btn{font-size:0;width:43px;padding:0}.title-row .outline-btn svg{margin:0}.title-row h1{font-size:25px}.stepper{height:82px;padding:0 12px}.step{gap:6px}.step>div:nth-child(2){display:none}.step-circle{width:31px;height:31px}.step-line{margin:0 5px}.form-panel,.review-panel{padding:20px 17px}.form-grid,.review-data{grid-template-columns:1fr}.field.wide{grid-column:auto}.upload-intro{align-items:flex-start}.progress-badge{display:none}.doc-row{align-items:flex-start;flex-wrap:wrap}.doc-name{min-width:calc(100% - 50px)}.upload-btn,.file-chip{margin-left:38px}.file-chip{width:calc(100% - 38px)}.category-summary{grid-template-columns:1fr 1fr}.topbar{height:66px}.brand{min-width:0}.brand span{display:none}.brand strong{font-size:14px}footer{padding:0 18px}footer div{display:none}}
