:root { --ink:#0e2018; --green:#0b5335; --mint:#dff4e8; --cream:#f8f7f2; --line:#dde3de; --muted:#64736b; }
* { box-sizing:border-box; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Inter,Segoe UI,Arial,sans-serif; }
button,a { font:inherit; }
button { cursor:pointer; }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.brand strong,.brand small { display:block; }
.brand strong { font-size:14px; letter-spacing:.08em; }
.brand small { margin-top:2px; color:var(--muted); font-size:11px; }
.brand-logo { display:block; height:52px; width:auto; max-width:220px; object-fit:contain; }
.eyebrow { margin:0 0 8px; font-size:11px; font-weight:800; letter-spacing:.14em; color:#6a7b72; }
.primary-button,.secondary-button { border:0; border-radius:12px; font-weight:750; }
.primary-button { padding:14px 17px; color:white; background:var(--green); }
.primary-button:disabled { opacity:.55; cursor:not-allowed; }
.secondary-button { padding:12px 17px; background:white; color:var(--green); box-shadow:0 0 0 1px var(--line); text-decoration:none; }
.as-link { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.text-button { border:0; background:transparent; color:var(--green); font-size:11px; }

.onboarding-page { min-height:100vh; background:#f4f5f0; }
.simple-header { height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(26px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);background:white; }
.secure-label{color:#3d7058;font-size:11px;font-weight:750}
.onboarding-wrap{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:48px 0 72px;display:grid;grid-template-columns:.72fr 1.28fr;gap:48px;align-items:start}
.onboarding-intro{position:sticky;top:36px;padding:38px 26px 30px}
.price-orbit{width:98px;height:98px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:32px;border-radius:50%;background:var(--green);color:white;font-size:25px;font-weight:850;transform:rotate(-5deg);box-shadow:0 18px 45px rgba(11,83,53,.24)}
.price-orbit small{font-size:9px;font-weight:650;opacity:.7}
.onboarding-intro h1{max-width:440px;font-size:clamp(34px,4vw,54px);margin:0;line-height:1.05;letter-spacing:-.04em}
.onboarding-intro>p:not(.eyebrow){max-width:440px;color:var(--muted);font-size:15px;line-height:1.7}
.onboarding-intro ul{list-style:none;margin:28px 0;padding:0}
.onboarding-intro li{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:13px}
.onboarding-intro li span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--green);font-weight:850}
.onboarding-intro blockquote{margin:32px 0 0;padding:20px;border-left:3px solid #d4a451;background:#fff7e9;color:#6e531f;font-size:12px;line-height:1.6}
.onboarding-card{overflow:hidden;border:1px solid var(--line);border-radius:26px;background:white;box-shadow:0 24px 80px rgba(20,52,37,.08)}
.progress-head{display:flex;justify-content:space-between;align-items:center;padding:22px 28px 15px}
.progress-head div span,.progress-head div strong{display:block}
.progress-head div span{margin-bottom:3px;color:#819087;font-size:9px;font-weight:800;letter-spacing:.11em}
.progress-head div strong{font-size:13px}
.progress-head a{color:var(--muted);font-size:11px;text-decoration:none}
.progress-track{height:4px;background:#edf0ed}
.progress-track span{display:block;height:100%;background:var(--green);transition:width .35s ease}
.form-alert{margin:22px 28px 0;padding:12px 14px;border-radius:10px;background:#fde9e6;color:#9d3930;font-size:12px}
.form-step{max-width:560px;margin:0 auto;padding:46px 48px 28px}
.form-step.wide-step{max-width:none}
.step-icon{width:40px;height:40px;display:grid;place-items:center;margin-bottom:20px;border-radius:12px;background:var(--mint);color:var(--green);font-size:11px;font-weight:850}
.form-step h2{margin:0;font-size:29px;letter-spacing:-.04em}
.form-step>p{margin:9px 0 28px;color:var(--muted);font-size:13px;line-height:1.6}
.form-step label{display:block;color:#263a30;font-size:11px;font-weight:750}
.form-step label>span{color:#ba3d32}
.form-step input,.form-step select{width:100%;height:46px;margin-top:7px;padding:0 13px;border:1px solid #ccd5cf;border-radius:10px;background:white;color:var(--ink);outline:none;font:inherit}
.form-step input:focus,.form-step select:focus{border-color:#2d805c;box-shadow:0 0 0 3px rgba(45,128,92,.11)}
.mobile-input{display:grid;grid-template-columns:58px 1fr;margin-top:7px;border:1px solid #ccd5cf;border-radius:10px;overflow:hidden}
.mobile-input:focus-within{border-color:#2d805c;box-shadow:0 0 0 3px rgba(45,128,92,.11)}
.mobile-input em{display:grid;place-items:center;border-right:1px solid #dde3de;background:#f5f6f3;font-style:normal}
.mobile-input input{margin:0;border:0;border-radius:0}
.field-note{display:block;margin-top:8px;color:#829088;font-size:9px}
.demo-code{display:flex;justify-content:space-between;margin:-10px 0 20px;padding:12px 14px;border-radius:10px;background:#fff3da;color:#795315;font-size:11px}
.demo-code strong{letter-spacing:.16em}
.otp-input{text-align:center;font:700 24px ui-monospace,monospace;letter-spacing:.32em}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .span-2{grid-column:1/-1}
.form-grid label small{color:#849087;font-weight:500}
.plan-option{display:flex!important;align-items:center;gap:13px;margin:12px 0;padding:17px;border:1px solid #d9e0db;border-radius:14px;cursor:pointer}
.plan-option.selected{border-color:var(--green);background:#f3faf6;box-shadow:0 0 0 2px rgba(11,83,53,.08)}
.plan-option>input{width:18px;height:18px;margin:0}
.plan-option span{flex:1;color:var(--ink)!important}
.plan-option span strong,.plan-option span small,.plan-option em strong,.plan-option em small{display:block}
.plan-option span small{margin-top:4px;color:var(--muted);font-weight:500}
.plan-option em{color:var(--green);font-size:18px;font-style:normal;font-weight:850;text-align:right}
.plan-benefit{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:16px 0 24px;padding:18px;border-radius:12px;background:#102c21;color:white}
.plan-benefit strong{font-size:21px}
.plan-benefit > span{font-size:10px;opacity:.68;text-align:right}
.check-row{display:flex!important;align-items:flex-start;gap:10px;margin-top:13px;font-weight:500!important}
.check-row input{width:17px;height:17px;margin:0}
.check-row span{color:#5a6a61!important}
.check-row a{color:var(--green)}
.form-footer{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;border-top:1px solid var(--line);background:#fbfcfa}
.continue-button{width:auto;min-width:190px}
.back-button{border:0;background:transparent;color:var(--muted);font-size:11px}
.payment-summary{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fbfcfa}
.payment-summary span{display:flex;justify-content:space-between;margin:10px 0;color:var(--muted);font-size:11px}
.payment-summary hr{border:0;border-top:1px solid var(--line)}
.payment-summary .total{font-size:14px;color:var(--ink)}
.payment-summary .total strong{font-size:20px;color:var(--green)}
.test-payment-note{margin-top:17px;padding:15px;border-radius:12px;background:#fff4dd;color:#735019}
.success-step{padding:62px 44px;text-align:center}
.success-step>span{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 24px;border-radius:50%;background:#dff5e7;color:#187047;font-size:32px;font-weight:850}
.success-step h2{margin:0;font-size:34px}
.success-step>p:not(.eyebrow){max-width:480px;margin:12px auto;color:var(--muted);font-size:13px;line-height:1.65}
.success-actions{display:flex;justify-content:center;gap:12px;margin-top:28px;flex-wrap:wrap}
.jds-nav{display:flex;align-items:center;gap:10px}
.jds-btn-lg{padding:16px 22px;font-size:14px}
.jds-btn-full{width:100%;margin-top:8px}
.jds-fade-in{animation:jdsFade .55s ease both}
@keyframes jdsFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.jds-landing{min-height:100vh;display:flex;flex-direction:column;background:#f4f5f0}
.jds-hero{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:56px 0 40px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;flex:1}
.jds-hero h1{font-size:clamp(34px,4vw,52px);margin:0 0 16px;line-height:1.05;letter-spacing:-.04em}
.jds-hero__copy>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.7;max-width:520px}
.jds-hero__list{list-style:none;margin:24px 0;padding:0}
.jds-hero__list li{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:13px}
.jds-hero__list li span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--green);font-weight:850}
.jds-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.jds-hero__card{padding:32px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:0 24px 80px rgba(20,52,37,.08)}
.jds-hero__card h2{margin:8px 0;font-size:36px;color:var(--green)}
.jds-footer{margin-top:auto;padding:20px max(26px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);background:white;font-size:12px;color:var(--muted)}
.jds-footer--compact{margin-top:0}
.jds-footer__partner{color:var(--green);font-weight:650;text-decoration:none;font-size:12px;transition:opacity .2s}
.jds-footer__partner:hover{opacity:.75}
.coupon-reveal{margin:16px auto 0;padding:14px 18px;border-radius:12px;background:#102c21;color:white;font-size:14px;max-width:420px}
.coupon-reveal strong{letter-spacing:.12em;font-size:18px}
.success-login-box{max-width:420px;margin:20px auto 0;padding:18px 20px;border-radius:14px;background:#f3faf6;border:1px solid #b8dcc8;text-align:left}
.success-login-box p{margin:8px 0;font-size:13px;color:var(--ink)}
.success-login-box strong{font-family:ui-monospace,monospace;color:var(--green);word-break:break-all}
.success-login-box .eyebrow{margin-bottom:4px}
.auth-page{min-height:100vh;background:#f4f5f0;display:flex;flex-direction:column}
.auth-shell{flex:1;display:grid;place-items:center;padding:40px 20px}
.auth-card{width:min(440px,100%);padding:36px 32px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:0 24px 80px rgba(20,52,37,.08)}
.auth-card h1{margin:0 0 8px;font-size:28px;letter-spacing:-.03em}
.auth-lead{margin:0 0 24px;color:var(--muted);font-size:13px;line-height:1.6}
.auth-card label{display:block;margin-top:16px;font-size:11px;font-weight:750;color:#263a30}
.auth-card label span{color:#ba3d32}
.auth-card input{width:100%;height:46px;margin-top:7px;padding:0 13px;border:1px solid #ccd5cf;border-radius:10px;font:inherit}
.auth-switch{margin:20px 0 0;text-align:center;font-size:12px;color:var(--muted)}
.auth-switch a{color:var(--green);font-weight:650;text-decoration:none}
.account-page,.partner-dashboard{min-height:100vh;background:#f4f5f0;display:flex;flex-direction:column}
.account-shell,.partner-shell{width:min(980px,calc(100% - 36px));margin:0 auto;padding:32px 0 48px;flex:1}
.account-loading{color:var(--muted);font-size:14px;padding:40px 0;text-align:center}
.account-hero{text-align:center;padding:36px 24px;border:1px solid var(--line);border-radius:24px;background:white;margin-bottom:20px}
.coupon-display{font-size:clamp(28px,5vw,42px);font-weight:850;letter-spacing:.14em;color:var(--green);margin:12px 0}
.coupon-note{color:var(--muted);font-size:12px;margin:0}
.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.account-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:white}
.account-card h2{margin:0 0 14px;font-size:14px;color:var(--green)}
.account-card dl{margin:0}
.account-card dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eef2ef;font-size:12px}
.account-card dl div:last-child{border-bottom:0}
.account-card dt{color:var(--muted);margin:0}
.account-card dd{margin:0;font-weight:650;text-align:right}
.partner-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.partner-stats article{padding:22px;border-radius:18px;background:white;border:1px solid var(--line)}
.partner-stats span{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}
.partner-stats strong{font-size:32px;color:var(--green)}
.partner-table-wrap{padding:22px;border:1px solid var(--line);border-radius:18px;background:white}
.partner-table-wrap h2{margin:0 0 16px;font-size:16px}
.partner-table-scroll{overflow-x:auto}
.partner-table{width:100%;border-collapse:collapse;font-size:12px}
.partner-table th,.partner-table td{padding:10px 12px;border-bottom:1px solid #eef2ef;text-align:left;white-space:nowrap}
.partner-table th{color:var(--muted);font-weight:700;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.partner-table code{font-family:ui-monospace,monospace;font-size:11px;color:var(--green)}
.status-pill{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:750}
.status-active{background:#dff5e7;color:#187047}
.status-pending{background:#fff4dd;color:#735019}
.status-none{background:#eef2ef;color:#64736b}
@media(max-width:860px){.jds-hero{grid-template-columns:1fr;padding-top:28px}.account-grid{grid-template-columns:1fr}.partner-stats{grid-template-columns:1fr}}
@media(max-width:600px){.jds-footer{flex-direction:column;text-align:center;padding:18px}.simple-header .jds-nav .secondary-button{display:none}}
[hidden]{display:none!important}
@media(max-width:860px){.onboarding-wrap{grid-template-columns:1fr;gap:18px;padding-top:24px}.onboarding-intro{position:static;padding:20px 8px}.price-orbit{width:76px;height:76px;margin-bottom:20px;font-size:20px}.onboarding-intro ul,.onboarding-intro blockquote{display:none}.onboarding-intro h1{font-size:34px}.onboarding-card{border-radius:20px}.simple-header{height:66px;padding:0 18px}.secure-label{display:none}}
@media(max-width:600px){.onboarding-wrap{width:calc(100% - 22px)}.form-step{padding:32px 20px 22px}.form-step h2{font-size:25px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.progress-head,.form-footer{padding-left:20px;padding-right:20px}.plan-option{align-items:flex-start}.plan-option em{font-size:15px}.plan-benefit{align-items:flex-start;flex-direction:column}.success-step{padding:46px 20px}.success-actions{flex-direction:column}.continue-button{width:100%}.form-footer span:empty{display:none}.simple-header .brand small{display:none}}
