/* Shared interaction baseline plus the focused first-run experience. */
:root{--action:#c82924}
button.btn,a.btn{background:var(--action)}
button.btn:hover,a.btn:hover{background:#a91f1b}
.btn.secondary{background:#fff;color:#171717}.btn.secondary:hover{background:#f4f1e9}
.btn.ghost{background:transparent;color:#57534d}.btn.danger{color:#a82e24;background:#fff0f0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.setup-drawer button:focus-visible,.setup-coach button:focus-visible{outline:3px solid #171717;outline-offset:3px;box-shadow:0 0 0 2px #fff}
:where(input,select,textarea)[aria-invalid="true"]{border-color:#a82e24!important}
.skip-link{position:fixed;top:12px;left:12px;padding:14px 20px;border-radius:8px;background:#171717;color:#fff;z-index:10000;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.shell .side-link{font-size:14px;min-height:44px}.shell .nav-section{font-size:11px;color:#625d56}
.shell .profile strong{font-size:13px}.shell .profile small{font-size:12px}
.shell .page-heading p{font-size:14px;line-height:1.65;color:#57534d}
.shell .field label,.auth-page .field label,.modal .field label{font-size:14px;font-weight:650;color:#292724}
.shell .field input,.shell .field textarea,.shell .field select,.auth-page input,.auth-page select,.modal .field input,.modal .field textarea,.modal .field select{font-size:16px;min-height:46px;border-color:#8e8980}
.shell input[type="color"]{height:46px;padding:5px}.shell input[type="checkbox"],.auth-page input[type="checkbox"]{min-height:0;width:20px;height:20px;flex:0 0 20px;accent-color:#c82924}
.shell .check-label,.auth-page .check-label{font-size:14px;line-height:1.6;align-items:flex-start}
.shell .btn.small{font-size:13px;min-height:40px}.shell .icon-btn,.shell button.close,.modal button.close{min-width:40px;min-height:40px}
.setup-note,.setup-step-list small,.setup-drawer-foot,.setup-progress-line>span,.setup-phone-feedback,.setup-review-state,.setup-advance-note{font-size:13px!important;color:#57534d!important}
.setup-step-list em{font-size:12px;color:#62584b}.setup-coach-actions .btn{font-size:13px;min-height:44px}
.setup-drawer .icon-btn,.setup-coach .icon-btn{min-width:40px;min-height:40px}
.setup-eyebrow{font-size:11px}.setup-mini-step{font-size:13px}.setup-launcher{font-size:14px;min-height:48px}
.auth-page{padding:36px 20px}.auth-card{width:100%;max-width:480px}.auth-card>p,.auth-card .muted{font-size:14px!important;line-height:1.7;color:#57534d}
.auth-card h1{font-size:34px;line-height:1.15}.auth-card .logo{margin-bottom:32px}
.auth-card form .btn{min-height:48px}.auth-card form a,.auth-card>p a{color:#a91f1b;text-decoration:underline;text-underline-offset:3px}
.auth-recovery{display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px;font-size:14px}
.auth-access-note{margin:18px 0 24px}.auth-create{border-top:1px solid var(--line);padding-top:22px}.auth-create p{font-size:14px;margin-bottom:10px;font-weight:650}
.auth-demo{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.auth-demo summary{font-size:14px;line-height:1.6;cursor:pointer;padding:8px 0}.auth-demo p{font-size:14px;color:#57534d;line-height:1.6;margin:12px 0}
.auth-home{font-size:14px;display:inline-flex;min-height:44px;align-items:center;margin-top:14px;text-decoration:underline}
.signup-security-note,.signup-reassurance,.signup-aside .muted{font-size:13px!important;line-height:1.7}
.auth-page .error-message,.wizard .error-message{font-size:14px;line-height:1.6}
.wizard{max-width:1120px;margin:0 auto}.wizard-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 26px}
.wizard-intro h2{font-size:28px;line-height:1.2;margin:10px 0}.wizard-intro p{font-size:14px;line-height:1.7;color:#57534d;margin:0}
.wizard-progress{min-width:180px;font-size:13px}.wizard-progress strong{display:block;margin-bottom:10px}.wizard-progress progress{width:100%;height:8px;appearance:none;border:0;border-radius:8px;overflow:hidden;background:#e6e1d8}
.wizard-progress progress::-webkit-progress-bar{background:#e6e1d8}.wizard-progress progress::-webkit-progress-value{background:#c82924}.wizard-progress progress::-moz-progress-bar{background:#c82924}
.wizard-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #ded9cf;border-radius:14px;background:#fff;margin-bottom:28px;padding:10px;gap:4px}
.wizard-steps button{display:flex;align-items:center;gap:9px;background:transparent;text-align:left;color:#57534d;border-radius:8px;padding:10px 8px;min-height:58px;font-size:13px;font-weight:650;line-height:1.4}
.wizard-steps button>span:first-child{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border:1px solid #a9a298;border-radius:50%;font-size:12px;color:#45413a}
.wizard-steps button small{display:block;font-size:11px;font-weight:450;margin-top:3px}.wizard-steps [aria-current="step"]{background:#fff1ce;color:#292724}.wizard-steps [aria-current="step"]>span:first-child{background:#171717;color:#fff;border-color:#171717}
.wizard-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:32px;align-items:start}.wizard-card{padding:32px;min-width:0}.wizard-card h2{font-size:26px;line-height:1.25;margin-bottom:14px}.wizard-step-caption{color:#a91f1b;font-size:12px;font-weight:750;letter-spacing:.1em;margin-bottom:12px}
.wizard-description{font-size:15px;line-height:1.7;color:#57534d;margin-bottom:28px}.wizard-card form{margin:0}.wizard .field{margin-bottom:22px}.wizard .field small,.wizard-note{font-size:13px;line-height:1.75;color:#57534d}.wizard-note strong{color:#292724}
.wizard details{margin:24px 0;border-top:1px solid #e3ded5;border-bottom:1px solid #e3ded5;padding:4px 0}.wizard summary{cursor:pointer;font-size:14px;font-weight:650;line-height:1.6;min-height:48px;padding:14px 0}.wizard details .field{margin-top:18px}
.wizard-save{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0 0;margin-top:26px;border-top:1px solid #e3ded5}.wizard-save>span{font-size:13px;line-height:1.65;color:#57534d;max-width:220px}.wizard .btn{white-space:normal;line-height:1.45;min-height:46px}
.wizard-bottom{border-top:1px solid #e3ded5;margin-top:26px;padding-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:space-between}.wizard-bottom>a{font-size:13px;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center;color:#57534d}
.wizard-help{padding:20px 0}.wizard-help-icon{width:48px;height:48px;border-radius:12px;background:#ffd43b;display:grid;place-items:center;margin-bottom:20px}.wizard-help-icon svg{width:24px;height:24px;color:#171717}
.wizard-help h3{font-size:20px;line-height:1.35;margin-bottom:12px}.wizard-help p{font-size:14px;line-height:1.8;color:#57534d}.wizard-help>a{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;font-weight:650;text-decoration:underline;line-height:1.5}.wizard-saved{border-top:1px solid #ded9cf;margin-top:24px;padding-top:20px}.wizard-saved strong{font-size:14px;line-height:1.7}.wizard-saved p{font-size:13px;margin-top:8px}
.wizard-phone-feedback{min-height:24px;font-size:14px;line-height:1.6;color:#256244}.wizard-phone-feedback.invalid{color:#a82e24}
[data-wizard-error]:empty{display:none}[data-wizard-error]:not(:empty){padding:14px;background:#fff1ef;color:#a82e24;border:1px solid #b33d33;border-radius:10px;font-size:14px;line-height:1.7;margin-bottom:20px}
.wizard-empty{padding:24px;background:#f7f5ef;border-radius:12px;font-size:15px;line-height:1.7;margin-bottom:20px}.wizard-success{display:flex;align-items:center;gap:10px;color:#256244;font-size:14px;line-height:1.7;font-weight:600}.wizard-product{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e3ded5;padding:16px 0}.wizard-product:last-of-type{margin-bottom:22px}.wizard-product strong{font-size:15px}.wizard-product small{font-size:14px;color:#57534d;display:block;margin-top:8px}.wizard-missing{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 26px}
.wizard-destination{font-size:14px;line-height:1.8;margin:0 0 24px}.wizard-destination strong{display:block;font-size:22px;color:#171717;overflow-wrap:anywhere}
.wizard-rehearsal{border:1px solid #ded9cf;border-radius:12px;padding:20px;margin-top:24px}.wizard-rehearsal h3{font-size:18px}.wizard-rehearsal pre{font-family:inherit;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f5ef;padding:16px;border-radius:8px;margin-bottom:20px}.wizard-rehearsal .check-label{margin:20px 0}
.wizard-review{border-top:1px solid #e3ded5;margin-bottom:24px}.wizard-review>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;border-bottom:1px solid #e3ded5;padding:14px 0;font-size:14px;line-height:1.7}.wizard-review span{color:#57534d}.wizard-review strong{overflow-wrap:anywhere}
.wizard-share{margin-top:26px}.wizard-share label{display:block;font-size:14px;font-weight:650;margin-bottom:10px}.wizard-share input{display:block;width:100%;min-height:46px;padding:12px;border:1px solid #8e8980;border-radius:8px;font-size:14px;background:#fff}.wizard-share>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
@media(max-width:1150px){.wizard-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.wizard-layout{grid-template-columns:minmax(0,1fr) 210px;gap:24px}.wizard-card{padding:26px}}
@media(max-width:760px){.wizard-layout{display:block}.wizard-help{padding:24px 8px}.wizard-intro{display:block}.wizard-progress{margin-top:20px;max-width:260px}.wizard-steps{gap:4px;padding:6px;margin-bottom:18px}.wizard-steps button{font-size:12px;padding:9px 5px;gap:6px}.wizard-steps button small{font-size:12px}.wizard-steps button>span:first-child{width:23px;height:23px;flex-basis:23px}.wizard-card{padding:22px 18px}.wizard-card h2{font-size:24px}.wizard-save{flex-direction:column;align-items:stretch}.wizard-save>span{max-width:none}.wizard-save .btn{width:100%}.wizard-review>div{grid-template-columns:80px minmax(0,1fr);gap:12px}.auth-card h1{font-size:30px}.auth-page{padding:24px 14px}.auth-card{padding:28px 22px}.wizard-rehearsal{padding:14px}.top-actions .btn{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}

#main-content:focus,h1[tabindex="-1"]:focus,#wizard-title:focus{outline:none;box-shadow:none}

.wizard form .wizard-save{position:sticky;bottom:0;z-index:4;background:#fff;padding:16px 0;margin-top:22px}
.wizard-intro{margin-bottom:18px}.wizard-intro h2{font-size:24px}
