:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173d36;background:#f5f5ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,footer{display:flex;align-items:center;justify-content:space-between;margin:0 auto;max-width:1280px;padding:32px 56px}.brand{font-size:28px;font-weight:750;letter-spacing:-1.6px;text-decoration:none;color:inherit}.brand span{display:block;font-size:11px;font-weight:500;letter-spacing:2px;margin-top:1px}.private{font-size:12px;color:#65756b;border:1px solid #d9dfd3;padding:9px 14px;border-radius:30px}main{max-width:1168px;min-height:670px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:48px 48px 80px}aside{padding:20px 0}.eyebrow,.step{font-size:10px;letter-spacing:1.9px;font-weight:650;color:#627d69}h1{font-family:Georgia,serif;font-weight:400;font-size:64px;letter-spacing:-2.5px;line-height:1.09;margin:24px 0}aside>p{line-height:1.9;color:#62746a;font-size:16px}.note{margin-top:60px;font-size:12px;display:flex;align-items:center;gap:10px;color:#6b7c6f}.dot{width:7px;height:7px;border-radius:50%;background:#688d5e}.card{background:#fff;border:1px solid #e1e6db;border-radius:22px;padding:40px;box-shadow:0 16px 50px #24442d08}h2{font-size:28px;letter-spacing:-.8px;font-weight:550;margin:14px 0}p{font-size:14px;color:#69756f;line-height:1.65}label{display:block;font-size:12px;font-weight:600;margin:28px 0 9px}input,select{width:100%;padding:15px;border:1px solid #d8dfd9;border-radius:8px;background:#fff;font:inherit;font-size:14px;color:#173d36}input:focus,select:focus{outline:2px solid #8ba98d;outline-offset:2px}button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:18px;border:0;border-radius:8px;padding:16px;background:#214e3c;color:white;cursor:pointer;font:inherit;font-size:14px;font-weight:550}button:hover{background:#30674f}button:focus-visible,a:focus-visible{outline:3px solid #8ba98d;outline-offset:3px}button:disabled{background:#e9ede7;color:#788478;cursor:default}button.text-button{justify-content:center;background:none;color:#526e5c;padding:8px;font-size:12px;text-decoration:underline;text-underline-offset:3px}.small{font-size:11px;line-height:1.7}.footnote{border-top:1px solid #edf0ea;padding-top:22px;margin-top:28px}#code{letter-spacing:6px;font-size:24px}#status{font-size:12px;margin-bottom:0}#status:empty{display:none}.connection{border:1px solid #e2e7dd;background:#fafbf7;border-radius:12px;padding:22px;margin-top:24px}.badge{display:inline-block;font-size:10px;color:#81682b;background:#f2ecd9;padding:6px 10px;border-radius:20px}h3{font-size:18px;font-weight:550;margin-bottom:8px}footer{font-size:11px;color:#7c867c;border-top:1px solid #e1e6da}footer span{font-size:11px}[hidden]{display:none!important}@media(max-width:800px){header,footer{padding:24px}main{grid-template-columns:1fr;gap:24px;padding:24px;min-height:0}h1{font-size:44px;margin:18px 0}aside{padding:0}aside>p,.note{display:none}.eyebrow{font-size:9px}.card{padding:28px}footer{margin-top:24px}footer span{display:none}}

input[type=file]{padding:12px;font-size:12px}label.consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.6}.consent input{width:auto;margin-top:4px;accent-color:#214e3c}.connection form label{margin-top:18px}

#status:not(:empty){padding:16px;border-radius:8px;border:1px solid #d8dfd9;background:#f5f7f1;font-size:14px}#status[data-kind=error]{color:#842d24;background:#fff1ee;border-color:#e8bcb5}#status[data-kind=success]{color:#215638;background:#eaf5e9;border-color:#a6c9a6}.badge[data-state=credentials_stored]{background:#dcefdc;color:#215638}#reauth-notice{color:#842d24;font-weight:600}

.csd-guide{margin-top:20px;border:1px solid #d8dfd9;border-radius:8px;background:white}.csd-guide summary{cursor:pointer;padding:14px;font-size:13px;font-weight:600;line-height:1.6}.csd-guide summary:focus-visible{outline:3px solid #8ba98d}.guide-content{padding:0 16px 18px;font-size:13px;line-height:1.7}.guide-content h4{font-size:16px;margin:12px 0}.guide-content ol{padding-left:22px}.guide-content li{margin-bottom:18px}.guide-content a{color:#215638;text-underline-offset:3px}.guide-tip{padding:12px;background:#f5f5ee;border-radius:8px}

/* Keep expanded help inside the card rather than stretching the whole page. */
main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
aside{position:sticky;top:48px}
.card,.connection,#account,#login{min-width:0}
.card{width:100%}
.csd-guide{overflow:hidden;max-width:100%}
.csd-guide summary{overflow-wrap:anywhere}
.guide-content{max-height:min(480px,55dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 18px 18px;overflow-wrap:anywhere;border-top:1px solid #e1e6da}
.guide-content:focus-visible{outline:2px solid #8ba98d;outline-offset:-3px}
input,select{min-width:0;max-width:100%}
input[type=file]{overflow:hidden}
#identity,#certificate-info,#status,.connection p{overflow-wrap:anywhere}
@media(max-width:800px){main{grid-template-columns:minmax(0,1fr)}aside{position:static}.guide-content{max-height:50dvh}}
@media(max-width:420px){header,footer{padding:20px}main{padding:16px}.card{padding:22px}.connection{padding:16px}.private{font-size:10px;padding:7px 10px}footer{gap:12px;flex-wrap:wrap}}

/* Connection workspace: comfortable reading width and quieter hierarchy. */
main{max-width:1200px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;padding-top:32px}
.card{padding:32px;border-radius:20px;box-shadow:0 12px 40px #24442d06}
#identity{font-size:12px;margin:0 0 24px;color:#738078}
#account>label{margin-top:0}
.connection{background:#fff;padding:22px;margin-top:22px}
.connection h3{font-size:20px;letter-spacing:-.4px;margin:16px 0 8px}
.badge{font-size:11px;font-weight:600;padding:6px 10px}
#upload-notice{font-size:12px;color:#718077;margin-bottom:0}
#reauth-notice{font-size:13px;font-weight:400;background:#faf3e5;border:1px solid #eee2c5;border-radius:8px;padding:12px;color:#755b27}
.csd-guide{background:#f7f8f3;border-color:#e1e6da}
.csd-guide summary{padding:14px 16px;font-size:13px}
.guide-content{background:white;line-height:1.75;font-size:13px}
.guide-content p{font-size:13px}
.guide-content ol{padding-left:20px}
.guide-content li{padding-left:4px;margin-bottom:20px}
.guide-content li::marker{font-weight:650;color:#6a806c}
input[type=file]{background:#fafbf8;border-style:dashed;padding:12px}
input[type=file]::file-selector-button{border:1px solid #d8dfd9;border-radius:5px;background:white;color:#214e3c;padding:7px 10px;margin-right:10px;cursor:pointer}
#logout{margin-top:20px}
@media(max-width:800px){main{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px}.card{padding:28px}}
@media(max-width:420px){main{padding:16px}.card{padding:20px}.connection{padding:16px}h2{font-size:25px}}

.branding .section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.branding .section-heading h3{margin-top:8px}.branding .badge{white-space:normal;text-align:center;flex-shrink:0;max-width:45%}.branding .logo-preview{background:repeating-conic-gradient(#f1f3ed 0% 25%,white 0% 50%) 0 / 18px 18px;border:1px solid #e1e6da;border-radius:8px;display:flex;justify-content:center;padding:16px;margin:18px 0}.logo-preview img{max-width:100%;object-fit:contain}.secondary-button{background:#edf2e9;color:#214e3c;justify-content:center;border:1px solid #d8dfd9}.secondary-button:hover{background:#e1eadc}#logo-status{font-size:13px}#logo-status[data-kind=success]{color:#215638}#logo-status[data-kind=error]{color:#842d24}

.logo-download{font-size:12px;color:#215638;text-underline-offset:3px}

/* Billing setup: one privacy explanation, two simple credential steps. */
.setup-intro{margin:22px 0 18px;font-size:14px}
.privacy-note{padding:18px 20px;background:#f0f6ee;border:1px solid #dbe8d6;border-radius:12px;font-size:14px;line-height:1.6}
.privacy-note strong{font-weight:600}.privacy-note p{font-size:13px;margin:6px 0 0;color:#506652}
.privacy-note details{margin-top:12px}.privacy-note summary{font-size:12px;cursor:pointer;min-height:32px;align-content:center;color:#315b3e;text-underline-offset:3px}
.privacy-note details p{margin-top:10px}.privacy-note summary:focus-visible{outline:3px solid #8ba98d;outline-offset:3px;border-radius:3px}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.section-heading>div{min-width:0}.section-heading h3{margin-top:6px}.section-heading .badge{flex-shrink:0;max-width:45%;text-align:center}
.connection form label.consent{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:12px;padding:16px;margin:22px 0 0;border:1px solid #d8e1d5;border-radius:10px;background:#f7f9f4;font-size:14px;font-weight:400;line-height:1.55;cursor:pointer;min-height:56px}
label.consent input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;width:24px;height:24px;min-width:24px;max-width:24px;padding:0;margin:0;border-radius:4px;accent-color:#214e3c;cursor:pointer}
.consent:has(input:checked){border-color:#88a88c;background:#edf5e9}.consent:focus-within{outline:3px solid #8ba98d;outline-offset:3px}.consent input:focus{outline:none}
.consent-detail{margin:10px 2px 0;font-size:12px}.pilot-note{font-size:12px;margin:24px 0 0;padding-top:18px;border-top:1px solid #e5e9df}
#upload-notice:empty,#sat-access-status:empty,#certificate-info:empty,#sat-auth-info:empty{display:none}
@media(max-width:420px){.privacy-note{padding:16px}.connection form label.consent{padding:14px;gap:10px}.section-heading .badge{font-size:10px}}
