/* Shared account, onboarding and legal UI. Independent of the approved landing. */
body.tb-system{--blue:#234f43;--ink:#303739;--muted:#788285;--line:#e2e7e8;--bg:#f7f8f9;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;font-weight:400}
.tb-system .logo{font-size:23px;letter-spacing:-.8px;font-weight:600;color:#2f4039}
.tb-system .logo span,.tb-system header .logo span{background:#244e40;color:white;border-radius:7px;font-size:20px;width:31px;height:33px;font-weight:500}
.tb-system header{background:#fff;border-color:#e5e8e9;max-width:none;height:76px}
.tb-system h1{font-size:36px;font-weight:450;line-height:1.2;letter-spacing:-1.2px;color:#303739}
.tb-system h2{font-size:24px;font-weight:450;letter-spacing:-.6px;color:#384043}
.tb-system h3{font-weight:500;color:#424b4e}
.tb-system .muted,.tb-system .note,.tb-system small{color:#7d878b;line-height:1.85}
.tb-system .note{font-size:11px}
.tb-system label{font-size:12px;font-weight:450;gap:8px;color:#5d686e}
.tb-system input,.tb-system select,.tb-system textarea{border:1px solid #dce3e5;border-radius:7px;font-size:13px;padding:12px 14px;background:#fff;color:#394448;transition:border-color .2s,box-shadow .2s}
.tb-system input::placeholder,.tb-system textarea::placeholder{color:#929b9e}
.tb-system input:focus,.tb-system select:focus,.tb-system textarea:focus{outline:0;border-color:#8da17d;box-shadow:0 0 0 3px #8da17d18}
.tb-system input[type=checkbox]{accent-color:#41683c}
.tb-system button,.tb-system .btn{border-radius:7px;font-size:13px;font-weight:450;padding:12px 20px;background:#234f43;color:#fff;box-shadow:none;transition:background .2s}
.tb-system button:hover,.tb-system .btn:hover{background:#2e5b4c}
.tb-system .secondary{background:#fff;color:#60716a;border-color:#dee5e1}
.tb-system .secondary:hover{background:#f4f7f2}
.tb-system a:focus-visible,.tb-system button:focus-visible,.tb-system summary:focus-visible{outline:2px solid #849c72;outline-offset:4px}
.tb-system .card{background:#fff;border:1px solid #e2e7e8;border-radius:12px;box-shadow:0 8px 30px #243b3304}
.tb-system .message{background:#f0f4eb;color:#637451;border:1px solid #dee7d3;border-radius:8px;font-size:12px;padding:14px 16px;line-height:1.85}
.tb-system .message.error{background:#fff2ec;color:#a0584c;border-color:#ecdcd4}
.tb-system .badge{background:#eaf0e3;color:#647e50;font-size:9px;font-weight:500;letter-spacing:1px;border-radius:5px;padding:6px 9px}
.tb-system .stack{gap:19px}
/* Account flow: a quiet editorial panel, matching the landing type and brand. */
.auth-page .auth-layout{grid-template-columns:1fr 1.1fr;min-height:100dvh}
.auth-page .auth-aside{position:relative;overflow:hidden;isolation:isolate;background:#203e34;padding:50px 55px;color:#e9efdf;min-height:100dvh}
.auth-page .auth-aside:before,.auth-page .auth-aside:after{content:'';position:absolute;width:650px;height:650px;border:1px solid #afc79e1c;border-radius:50%;z-index:-1;left:-160px;bottom:-240px;transform:scaleX(1.3)}
.auth-page .auth-aside:after{width:520px;height:520px;left:-70px;bottom:-170px}
.auth-page .auth-aside .logo{color:#e6eedb}
.auth-page .auth-aside .logo span{background:#afc79e;color:#294731}
.auth-page .auth-aside h1{font-size:clamp(35px,3.5vw,52px);letter-spacing:-1.8px;font-weight:450;line-height:1.14;color:#f0f4e8;margin:22px 0}
.auth-page .auth-aside>div>p:first-child{font-size:9px;letter-spacing:1.5px;color:#a2b994;line-height:1.8}
.auth-page .auth-aside>div>p:last-child{font-size:14px;color:#aabfa2;line-height:1.9;max-width:340px}
.auth-page .auth-aside>small{font-size:10px;color:#97b18b;max-width:330px}
.auth-page .auth-form{background:transparent;max-width:495px;width:100%;padding:42px 35px;margin:auto}
.auth-page .auth-form>.logo{font-size:20px}
.auth-page .auth-form h1{font-size:30px;font-weight:450;letter-spacing:-1px;line-height:1.2;margin-bottom:12px}
.auth-page #subtitle{font-size:13px;line-height:1.8;margin-bottom:22px}
.auth-page .tabs{border-bottom:1px solid #e0e5e7;margin-bottom:26px;gap:24px}
.auth-page .tabs a{flex:initial;text-align:left;padding:0 0 13px;color:#899297;font-size:12px;font-weight:400}
.auth-page .tabs a.active{border-bottom:2px solid #6e8a58;color:#436439;font-weight:500}
.auth-page #passwordHelp{font-size:10px;margin-top:-10px}
.auth-page #submit{min-height:46px;margin-top:3px}
.auth-page .auth-form>a.muted{font-size:11px;display:inline-block;margin-top:9px}
/* Setup steps use the same restrained selection treatment as the dashboard. */
.setup-page .wizard-intro h1{font-size:36px;font-weight:450;letter-spacing:-1.1px}
.setup-page .wizard-intro p{font-size:13px;color:#828c90}
.setup-page #wizardContent{border-radius:12px;border-color:#e2e7e8;padding:32px}
.setup-page #wizardContent h2{font-size:24px;font-weight:450;letter-spacing:-.6px}
.setup-page #wizardContent label{font-size:12px;font-weight:450;color:#626e74}
.setup-page #wizardContent input,.setup-page #wizardContent select,.setup-page #wizardContent textarea{font-size:13px}
.setup-page #wizardSteps button{background:transparent;color:#849094;border-radius:8px;border-color:transparent;font-size:12px;padding:14px 12px}
.setup-page #wizardSteps button.active{color:#587048;background:#edf2e7;border-color:#dde7d3}
.setup-page #wizardSteps button.done{color:#647c55}
.setup-page #wizardSteps button span{border-color:#dae2df;color:#8b9796}
.setup-page #wizardSteps button.active span{background:#426647;border-color:#426647;color:#fff}
.setup-page .wizard-hint{background:#f4f6f7;color:#7c898c;border:1px solid #e7ebed;border-radius:8px;line-height:1.85}
.setup-page .wizard-check{border-color:#e7ebed;color:#657278}
.setup-page .wizard-check small{color:#899599}
.setup-page .wizard-check .ok{color:#5a8146}
.setup-page .wizard-check .missing{color:#aa8247}
.setup-page .wizard-footnote,.setup-page .wizard-count{color:#8a969a;font-size:10px}
.setup-page .wizard-success .check{background:#e9f0df;color:#6a8650}
.setup-page .wizard-preview{border-color:#e1e7e7;background:#fff;border-radius:7px}
/* Legal pages retain their text and functional warning colors. */
.legal-page .legal-nav a{background:#fff;border-color:#e1e6e8;border-radius:7px;color:#647278;font-size:12px}
.legal-page .legal-doc p,.legal-page .legal-doc li{color:#69767d;font-size:13px;line-height:1.95}
.legal-page .legal-doc a{color:#567647}
.legal-page .legal-doc:target{border-color:#9ab084}
.legal-page .legal-meta{color:#89949a}
.legal-page .draft{border-radius:9px;background:#fff8ed;border-color:#eadfc9;color:#917246;font-size:12px;line-height:1.85}
@media(max-width:1000px){.auth-page .auth-aside{padding:40px 35px}.auth-page .auth-aside h1{font-size:40px}.auth-page .auth-form{padding:35px 28px}}
@media(max-width:850px){.auth-page .auth-layout{display:block}.auth-page .auth-aside{display:none}.auth-page .auth-form{max-width:495px;padding:35px 25px}.auth-page .auth-form h1{font-size:29px}}
@media(max-width:750px){.setup-page #wizardContent{padding:24px 20px}.setup-page #wizardSteps button{padding:10px;font-size:11px}.setup-page .wizard-intro h1{font-size:30px}.tb-system header{height:70px;padding:0 18px}.tb-system header .logo{font-size:20px}.tb-system header>.btn{padding:10px;font-size:11px}.legal-page h1{font-size:31px}.legal-page .legal-doc{padding:22px}}
@media(prefers-reduced-motion:reduce){.tb-system *{animation:none!important;transition:none!important}}
