:root{--bg-top: #f8f0e8;--bg-bottom: #e8ece2;--ink: #2a2431;--ink-soft: #53495f;--ink-muted: #756985;--line: #d9cfdd;--brand: #7f4d8a;--danger: #bb3131;--cta: #1f9d75;--cta-hover: #17805f;--cta-ink: #f5fdf9;--display: "Palatino", "Palatino Linotype", "Book Antiqua", serif;--body: "Avenir Next", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--mono: "Courier New", Menlo, Consolas, monospace;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;font:500 16px/1.45 var(--body);color:var(--ink-soft);background:radial-gradient(75rem 40rem at -10% -20%,rgba(197,150,109,.36),transparent 55%),radial-gradient(56rem 28rem at 110% 0%,rgba(127,77,138,.19),transparent 60%),linear-gradient(180deg,var(--bg-top),var(--bg-bottom))}#root{min-height:100vh}.onboarding-page{min-height:100vh;padding:clamp(1rem,3vw,2rem);display:grid;place-items:center}a{color:#5b3a83;text-decoration:underline}a:hover{color:#46316b}.onboarding-shell{width:min(860px,100%);border:1px solid #ddd1e2;border-radius:1rem;background:linear-gradient(180deg,#fffffff7,#faf6fce6);box-shadow:0 20px 42px #422f502e;padding:clamp(1rem,2.4vw,1.8rem);display:grid;gap:1rem}.onboarding-top h1{margin:.4rem 0 .85rem;color:#362947;font:700 clamp(1.6rem,3.6vw,2.2rem) / 1.05 var(--display)}.brand-name{margin:0;text-transform:uppercase;letter-spacing:.08em;color:#4a3056;font:700 1rem/1 var(--display)}.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.stepper-summary{margin:0 0 .55rem;color:#6a5d77;font-size:.8rem;font-weight:600}.step{display:flex;align-items:flex-start;gap:.5rem;color:#7a6a8c;font-size:.82rem;padding:.45rem .5rem;border:1px solid #e1d8e7;border-radius:.62rem;background:#faf7fc}.step-dot{width:1.2rem;height:1.2rem;min-width:1.2rem;border-radius:999px;border:2px solid currentColor;display:grid;place-items:center;font-size:.7rem;font-weight:800;line-height:1}.step-label-group{display:grid;gap:.16rem}.step-label{font-weight:700;color:#433652}.step-state{font-size:.72rem;font-weight:600}.step-state-done{color:#2f6f39}.step-state-active{color:#5b3a83}.step-state-todo{color:#6d627a}.step-done{color:#5b8f5f;border-color:#c6e1cb;background:#edf8ef}.step-done .step-dot{background:currentColor;color:#fff}.step-active{color:#6e3f79;border-color:#d9c3e4;background:#f5ecfa}.step-active .step-dot{background:currentColor;color:#fff}.step-todo .step-dot{background:transparent}.onboarding-content h2{margin:0;color:#31263f;font-size:1.4rem}.subtitle{margin:.45rem 0 .95rem;color:#5b4f66}.landing-page{min-height:100vh;background:#fff}.landing-hero{display:grid;justify-items:center;text-align:center;gap:.55rem;padding:clamp(2.75rem,9vw,5rem) clamp(1.25rem,4vw,2rem) clamp(2.25rem,6vw,3.25rem);background:linear-gradient(135deg,#2f2039,#5b3a6d 55%,#a56f4f 130%);color:#faf5fc}.landing-brand{color:#e7d7ee}.landing-h1{margin:.2rem 0 .1rem;max-width:18ch;color:#fff;font:800 clamp(2rem,6vw,2.9rem) / 1.1 var(--display)}.landing-subtitle{margin:0 0 .1rem;max-width:40ch;color:#ecdff2;font-size:clamp(1rem,2.6vw,1.2rem)}.landing-pricing-line{margin:.15rem 0 .65rem;color:#f6e4cf;font-weight:700;letter-spacing:.02em}.landing-body{width:min(720px,100%);margin:0 auto;padding:clamp(1.6rem,4vw,2.5rem) clamp(1rem,3vw,1.5rem) 3rem;display:grid;gap:1.15rem}.button.landing-cta{display:block;width:100%;max-width:340px;margin:.3rem auto 0;padding:1.05rem 1.5rem;font-size:1.05rem;border-radius:.9rem;color:var(--cta-ink);background:var(--cta);box-shadow:0 14px 30px #143c2d59;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.button.landing-cta:hover{background:var(--cta-hover);transform:translateY(-2px);box-shadow:0 18px 36px #143c2d6b}.callout.landing-pricing-box{text-align:center;border:2px solid #d9b98a;background:#fdf6ea}.landing-price{font-size:1.3rem;font-weight:700;color:#4b3058;margin:.15rem 0}.landing-final-cta{text-align:center;padding:1.75rem 1.25rem;border-radius:1rem;background:linear-gradient(135deg,#f3ecf7,#fdf6ea);border:1px solid #e3d3ea}.landing-final-cta-title{margin:0 0 .9rem;color:#362947;font:800 1.5rem/1.2 var(--display)}.landing-center-text{text-align:center}.landing-sms-thread{display:grid;gap:.5rem;margin:.4rem 0 .6rem}.landing-sms-bubble{margin:0;max-width:80%;padding:.55rem .8rem;border-radius:1rem;font-size:.85rem;line-height:1.35}.landing-sms-business{align-self:flex-end;margin-left:auto;color:#f8faf7;background:linear-gradient(135deg,#6e3f79,#a56f4f);border-bottom-right-radius:.25rem}.landing-sms-lead{align-self:flex-start;margin-right:auto;color:#322741;background:#ece4f0;border-bottom-left-radius:.25rem}.landing-benefits{margin:0;padding-left:1.1rem}.landing-steps{margin:0;padding:0;list-style:none;counter-reset:landing-step;display:grid;gap:.6rem}.landing-steps li{position:relative;padding-left:2.2rem;counter-increment:landing-step}.landing-steps li:before{content:counter(landing-step);position:absolute;left:0;top:0;width:1.6rem;height:1.6rem;border-radius:50%;background:linear-gradient(135deg,#6e3f79,#a56f4f);color:#f8faf7;font:700 .85rem/1.6rem var(--display);text-align:center}.form-area{display:grid;gap:.52rem}.auth-divider{display:flex;align-items:center;gap:.6rem;margin:.75rem 0;color:#8a7d95;font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e1d8e7}.google-button-container{display:flex;justify-content:center;margin:.2rem 0 .6rem}h3{margin:.7rem 0 .15rem;color:#463456;font:700 .96rem/1.2 var(--display)}label,legend{color:#49375d;font:600 .93rem/1.2 var(--display)}input,select,textarea{width:100%;border-radius:.7rem;border:1px solid #d4c6da;background:#fffdfc;color:#322741;font:500 .95rem/1.35 var(--body);padding:.75rem .85rem}textarea{resize:vertical;min-height:6.8rem}input:focus,select:focus,textarea:focus{outline:none;border-color:#7f4d8a;box-shadow:0 0 0 3px #7f4d8a33}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px #bb31312e}.required-mark{color:var(--danger)}.field-error{margin:-.3rem 0 .6rem;font-size:.8rem;color:var(--danger)}.hint{margin:0 0 .45rem;font-size:.8rem;color:#655a70}.field-group{border:0;margin:.35rem 0;padding:0;display:grid;gap:.45rem}.check-row,.radio-row{display:flex;align-items:flex-start;gap:.56rem;font-family:var(--body);font-weight:500;color:#3f3450}.check-row input,.radio-row input{width:auto;margin-top:.2rem}.callout{border:1px solid #d9cae2;background:#f8f3fb;border-radius:.75rem;padding:.8rem .95rem;margin-bottom:.75rem}.callout.warning{border-color:#ebd2ab;background:#fdf6ea}.callout-title{margin:0;color:#4b3058;font-weight:700}.onboarding-footer{margin-top:.5rem;display:flex;justify-content:space-between;gap:.6rem}.button{display:inline-block;margin:.6rem 0 .75rem;border-radius:.68rem;padding:.78rem 1rem;text-decoration:none;text-align:center;border:1px solid transparent;cursor:pointer;font:700 .86rem/1 var(--display);letter-spacing:.02em}.button-stack{display:flex;flex-direction:column;gap:.6rem;margin:.6rem 0}.button-stack .button{margin:0}.button.primary{color:#f8faf7;background:linear-gradient(135deg,#6e3f79,#a56f4f)}.button.ghost{color:#503d63;background:#f8f3fb;border-color:#d8cae1}.button.tiny{padding:.4rem .6rem;font-size:.76rem;background:#f8f3fb;color:#503d63;border-color:#d8cae1}.button:disabled{opacity:.5;cursor:not-allowed}.review-section{border:1px solid #e1d5e7;border-radius:.75rem;padding:.75rem .85rem;margin-bottom:.4rem}.review-section p{margin:.2rem 0}.review-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.review-header h3{margin:0}.status-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee3f2;padding:.55rem 0;gap:.6rem}.status-row-main{display:flex;align-items:center;gap:.45rem;color:#3f3450}.status-marker{width:1.1rem;text-align:center;font-weight:800}.status-badge{border-radius:999px;padding:.22rem .56rem;font-size:.75rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.status-badge-complete{background:#e7f4e8;color:#2f6f39;border:1px solid #bfe1c4}.status-badge-active{background:#efe6f9;color:#5b3a83;border:1px solid #d4c1ee}.status-badge-waiting{background:#f4f2f7;color:#645b70;border:1px solid #ddd7e6}@media (max-width: 700px){.stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-footer{flex-direction:column}.status-row{align-items:flex-start;flex-direction:column}}.campaign-page,.consent-flow-page{min-height:100vh;padding:clamp(1rem,3vw,2rem);display:grid;place-items:center}.campaign-card,.consent-owner-card,.consent-customer-card{width:min(680px,100%);border:1px solid #ddd1e2;border-radius:1rem;background:#fffdfd;padding:clamp(1rem,2.2vw,1.4rem);display:grid;gap:.6rem;box-shadow:0 14px 30px #422f501f}.consent-customer-card{width:min(560px,100%);border-color:#d8c8e5}.campaign-list{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.7rem}.campaign-list li{border:1px solid #ddd1e2;border-radius:.75rem;padding:.7rem .9rem}.campaign-list a{color:#503d63;text-decoration:none}.campaign-list a:hover{text-decoration:underline}.consent-business-name{margin:0;text-align:center;font:700 1.2rem/1.2 var(--display);color:#3e2d50}.consent-customer-card h1{text-align:center;margin:0;font-size:clamp(1.25rem,3vw,1.55rem)}.consent-phone{background:#f8f3fb;border:1px solid #e1d5e9;border-radius:.7rem;padding:.7rem}.consent-phone-label{margin:0;color:#5f536d;font-size:.82rem}.consent-phone-value{margin:.24rem 0 0;color:#2f2440;font-weight:700}.consent-checkbox{display:flex;gap:.7rem;align-items:flex-start;border:1px solid #e2d7ea;border-radius:.75rem;padding:.75rem}.consent-checkbox input{width:1rem;height:1rem;margin-top:.2rem}.consent-links{display:flex;gap:.9rem;flex-wrap:wrap}.consent-links a{color:#5a2d74;font-weight:700}.consent-exit-link{margin-top:.6rem;color:#66557a;font-size:.85rem;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;text-decoration:underline}
