:root{--ink:#183027;--muted:#64736b;--paper:#f4f6f2;--surface:#fff;--line:#dce4de;--sage:#a8cdb7;--sage-light:#e5f0e9;--sage-dark:#557763;--clay:#c9a06d;--night:#14271f;--danger:#9c4335;--shadow:0 24px 70px #1830271f}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:radial-gradient(circle at 8% 0%, #a8cdb747, transparent 30rem), var(--paper);min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:12px;outline:none;padding:14px 15px;transition:border-color .16s,box-shadow .16s}input:focus,select:focus,textarea:focus{border-color:var(--sage-dark);box-shadow:0 0 0 3px #55776324}textarea{resize:vertical}.onboarding-page{min-height:100vh}.eyebrow{color:var(--sage-dark);letter-spacing:.15em;text-transform:uppercase;margin:0 0 12px;font-size:.76rem;font-weight:800}.brand-mark{background:var(--clay);color:var(--night);letter-spacing:-.08em;border-radius:18px;justify-content:center;align-items:center;width:56px;height:56px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.25rem;font-weight:900;display:flex}.brand-mark.small{border-radius:11px;width:36px;height:36px;font-size:.8rem}.access-layout{grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);min-height:100vh;display:grid}.access-story{background:linear-gradient(155deg, #14271fd1, #14271ff5), radial-gradient(circle at 25% 10%, #486c59, var(--night) 55%);color:#fff;flex-direction:column;justify-content:center;min-height:100vh;padding:clamp(40px,8vw,120px);display:flex;position:relative;overflow:hidden}.access-story:after{content:"";border:1px solid #ffffff1f;border-radius:999px;width:560px;height:560px;position:absolute;top:-170px;right:-240px}.access-story .brand-mark{margin-bottom:70px}.access-story .eyebrow{color:var(--sage)}.access-story h1{letter-spacing:-.07em;max-width:820px;margin:0;font-size:clamp(3rem,6vw,6.4rem);font-weight:520;line-height:.93}.access-story .lead{color:#d5e0d8;max-width:620px;margin:34px 0 52px;font-size:1.12rem;line-height:1.7}.trust-row{flex-wrap:wrap;gap:12px;display:flex}.trust-row span{color:#dbe6de;border:1px solid #ffffff29;border-radius:999px;padding:10px 14px;font-size:.82rem}.access-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px;align-self:center;max-width:520px;margin:clamp(28px,6vw,90px);padding:clamp(28px,5vw,58px)}.access-card h2{letter-spacing:-.05em;margin:0 0 14px;font-size:2.3rem}.access-card>p:not(.eyebrow):not(.form-message){color:var(--muted);margin:0 0 34px;line-height:1.6}.access-card>small{color:var(--muted);margin-top:18px;line-height:1.5;display:block}.turnstile{min-height:65px;margin:20px 0}.field{min-width:0}.field>label{margin-bottom:8px;font-size:.9rem;font-weight:720;display:block}.field-helper{color:var(--muted);margin:-2px 0 12px;font-size:.84rem;line-height:1.55}.required{color:var(--danger)}.primary-button,.secondary-button{border:0;border-radius:12px;min-height:50px;padding:0 22px;font-weight:750;transition:transform .16s,box-shadow .16s,background .16s}.primary-button{background:var(--night);color:#fff;box-shadow:0 12px 24px #14271f2e}.primary-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 16px 34px #14271f3d}.access-card .primary-button{width:100%}.secondary-button{background:var(--sage-light);color:var(--ink)}.text-button{color:#c8d7ce;text-align:left;background:0 0;border:0;padding:8px 0}.form-message{border-radius:10px;margin:18px 0 0;padding:12px 14px;font-size:.88rem;line-height:1.45}.form-message.error{color:#7b3428;background:#f6e4df}.form-message.success{background:var(--sage-light);color:var(--sage-dark)}.wizard-shell{grid-template-columns:310px minmax(0,1fr);min-height:100vh;display:grid}.wizard-sidebar{background:var(--night);color:#fff;flex-direction:column;justify-content:space-between;height:100vh;padding:32px 30px;display:flex;position:sticky;top:0;left:0;overflow:auto}.brand-lockup{letter-spacing:.12em;align-items:center;gap:12px;font-size:.95rem;font-weight:850;display:flex}.sidebar-kicker{color:#aebdb4;margin:38px 0 20px;font-size:.8rem}.step-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.step-list li{color:#98aa9f;border-radius:14px;grid-template-columns:34px 1fr;align-items:center;gap:12px;padding:12px;display:grid}.step-list li>span{border:1px solid #40574b;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.76rem;font-weight:800;display:flex}.step-list li div{gap:2px;display:grid}.step-list li small{letter-spacing:.09em;text-transform:uppercase;font-size:.65rem}.step-list li strong{font-size:.84rem}.step-list li.active{color:#fff;background:#213a30}.step-list li.active>span{background:var(--clay);border-color:var(--clay);color:var(--night)}.step-list li.completed{color:#cbd8d0}.step-list li.completed>span{background:#365746;border-color:#365746}.wizard-main{width:100%;max-width:1000px;margin:0 auto;padding:clamp(32px,6vw,84px) clamp(24px,7vw,90px)}.wizard-header{border-bottom:1px solid var(--line);margin-bottom:40px;padding-bottom:34px}.wizard-header h1{letter-spacing:-.07em;margin:0 0 16px;font-size:clamp(2.45rem,5vw,4.7rem);font-weight:560;line-height:1}.wizard-header>p:not(.eyebrow){color:var(--muted);max-width:620px;margin:0;font-size:1rem;line-height:1.65}.mobile-progress{color:var(--muted);justify-content:space-between;margin-bottom:9px;font-size:.78rem;display:flex}.progress-track{background:var(--line);border-radius:999px;height:5px;margin-bottom:38px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--sage-dark), var(--clay));height:100%;transition:width .28s;display:block}.form-section{gap:28px;display:grid}.two-columns,.three-columns{gap:20px;display:grid}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid,.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice-card,.check-card{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:13px;align-items:center;gap:12px;min-height:58px;padding:13px 14px;transition:border-color .16s,background .16s;display:flex}.choice-card.selected{background:var(--sage-light);border-color:var(--sage-dark)}.choice-card input,.check-card input,.consent-card input{accent-color:var(--sage-dark);width:18px;height:18px;margin:0;padding:0}.choice-card span,.check-card span{gap:3px;display:grid}.choice-card strong{font-size:.9rem}.choice-card small{color:var(--muted);font-size:.75rem}.conditional-panel{background:linear-gradient(145deg,#edf5ef,#e3eee7);border:1px solid #cadfcf;border-radius:18px;padding:24px}.photo-guide{background:var(--night);color:#fff;border-radius:20px;justify-content:space-between;align-items:flex-start;gap:24px;padding:26px;display:flex}.photo-guide .eyebrow{color:var(--sage)}.photo-guide h2{letter-spacing:-.04em;margin:0;font-size:1.45rem}.photo-guide ul{color:#cbd8d0;margin:0;padding-left:20px;font-size:.82rem;line-height:1.7}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.photo-upload{background:var(--surface);cursor:pointer;border:1.5px dashed #b8c7bd;border-radius:16px;flex-direction:column;min-height:180px;padding:22px;display:flex;position:relative}.photo-upload.ready{background:var(--sage-light);border-color:var(--sage-dark);border-style:solid}.photo-upload input{opacity:0;width:1px;height:1px;padding:0;position:absolute}.photo-upload .photo-position{color:var(--sage-dark);letter-spacing:.1em;text-transform:uppercase;margin-bottom:auto;font-size:.72rem;font-weight:800}.photo-upload strong{margin-top:28px}.photo-upload small{color:var(--muted);overflow-wrap:anywhere;margin-top:6px}.review-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 12px 35px #1830270f}.review-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid}.review-card dl div{background:var(--paper);border-radius:10px;padding:13px}.review-card dt{color:var(--muted);margin-bottom:4px;font-size:.72rem}.review-card dd{margin:0;font-weight:720}.consent-card{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:14px;align-items:flex-start;gap:14px;padding:18px;display:flex}.consent-card input{flex:none;margin-top:3px}.consent-card span{gap:7px;display:grid}.consent-card small{color:var(--muted);line-height:1.55}.contract-note{border-left:3px solid var(--clay);color:var(--muted);padding:4px 0 4px 16px}.contract-note span{color:var(--ink);font-weight:760}.contract-note p{margin:4px 0 0;line-height:1.55}.wizard-actions{border-top:1px solid var(--line);justify-content:space-between;margin-top:46px;padding-top:24px;display:flex}.success-layout{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.success-check{background:var(--sage-light);border:1px solid var(--sage);color:var(--sage-dark);border-radius:50%;justify-content:center;align-items:center;width:78px;height:78px;margin-bottom:28px;font-size:2rem;display:flex}.success-layout h1{letter-spacing:-.07em;margin:0;font-size:clamp(2.8rem,7vw,5rem);line-height:1}.success-layout>p:not(.eyebrow):not(.soft-note){color:var(--muted);max-width:600px;margin:24px 0 30px;line-height:1.7}.success-reference{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:5px;min-width:250px;padding:16px 24px;display:grid}.success-reference span{color:var(--muted);text-transform:uppercase;font-size:.72rem}.soft-note{color:#6d5435;background:#f1e8da;border-radius:12px;max-width:570px;margin-top:22px;padding:13px 16px;font-size:.85rem}.admin-page{min-height:100vh}.admin-loading,.admin-login-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.admin-login-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;gap:20px;width:100%;max-width:470px;padding:40px;display:grid}.admin-login-card .brand-mark{margin-bottom:10px}.admin-login-card .eyebrow{margin-bottom:-10px}.admin-login-card h1{letter-spacing:-.06em;margin:0;font-size:2.4rem}.admin-login-card>p:not(.eyebrow):not(.form-message){color:var(--muted);margin:-8px 0 4px;line-height:1.55}.admin-login-card label{gap:8px;font-size:.86rem;font-weight:720;display:grid}.admin-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{background:var(--night);color:#fff;flex-direction:column;justify-content:space-between;height:100vh;padding:30px 24px;display:flex;position:sticky;top:0}.admin-sidebar nav{gap:6px;margin-top:-40vh;display:grid}.admin-sidebar nav button{color:#aebdb4;text-align:left;background:0 0;border:0;border-radius:10px;padding:12px 14px;font-weight:680}.admin-sidebar nav button.active{color:#fff;background:#243d32}.admin-content{padding:48px clamp(24px,5vw,70px)}.admin-header{justify-content:space-between;align-items:center;display:flex}.admin-header h1{letter-spacing:-.07em;margin:0;font-size:clamp(2.8rem,5vw,4.6rem);line-height:1}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:38px 0 24px;display:grid}.metric-grid article{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:10px;padding:20px;display:grid}.metric-grid span{color:var(--muted);font-size:.78rem}.metric-grid strong{letter-spacing:-.05em;font-size:2rem}.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 14px 45px #18302712}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.panel-heading h2{margin:0 0 4px;font-size:1.25rem}.panel-heading p{color:var(--muted);margin:0;font-size:.84rem}.admin-table-wrap{overflow-x:auto}.admin-table-wrap table{border-collapse:collapse;width:100%;min-width:780px}.admin-table-wrap th,.admin-table-wrap td{border-bottom:1px solid var(--line);text-align:left;padding:15px 18px;font-size:.82rem}.admin-table-wrap th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:#f7f8f6;font-size:.7rem}.admin-table-wrap td:first-child{gap:3px;display:grid}.admin-table-wrap td small{color:var(--muted)}.status-pill{background:var(--paper);text-transform:uppercase;border-radius:999px;padding:6px 9px;font-size:.68rem;font-weight:760;display:inline-block}.status-pill.completed{background:var(--sage-light);color:var(--sage-dark)}.status-pill.partial,.status-pill.manual_review{color:#785b37;background:#f3e8d9}.status-pill.failed{color:var(--danger);background:#f6e4df}.task-list,.checkin-admin-list{gap:1px;display:grid}.checkin-admin-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;display:flex}.checkin-admin-list article small{color:var(--sage-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:760}.checkin-admin-list article h3{margin:4px 0;font-size:1rem}.checkin-admin-list article p{color:var(--muted);margin:0;font-size:.78rem}.checkin-actions{align-items:center;gap:8px;display:flex}.checkin-actions select{min-width:100px;padding:10px}.task-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.task-list article small{color:var(--sage-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem}.task-list article h3{margin:5px 0;font-size:1rem}.task-list article p{color:var(--muted);margin:0;font-size:.82rem}.empty-state{color:var(--muted);text-align:center;padding:40px 24px}.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:24px;display:grid}.integration-grid article{background:var(--paper);border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.integration-grid article div{gap:3px;display:grid}.integration-grid article strong{text-transform:capitalize;font-size:.85rem}.integration-grid article small{color:var(--muted);font-size:.72rem}.integration-dot{background:#b7c0bb;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #b7c0bb2e}.integration-dot.ready{background:#5c9772;box-shadow:0 0 0 4px #5c977229}.integration-grid+.primary-button{margin:0 24px 14px}.mapping-form{border-top:1px solid var(--line);gap:14px;margin:10px 24px 24px;padding-top:22px;display:grid}.mapping-form h3{margin:0 0 4px}.mapping-form p{color:var(--muted);margin:0;font-size:.8rem}.mapping-form label{gap:6px;font-size:.78rem;font-weight:720;display:grid}.mapping-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.mapping-form .secondary-button{justify-self:start}.mapping-list{flex-wrap:wrap;gap:8px;margin:0 24px 24px;display:flex}.mapping-list span{background:var(--paper);color:var(--muted);border-radius:999px;padding:8px 10px;font-size:.72rem}.mapping-list strong{color:var(--ink);margin-right:5px}.admin-footnote{color:var(--muted);margin:0 24px 24px;font-size:.78rem}@media (max-width:900px){.access-layout{display:block}.access-story{min-height:auto;padding:50px 28px 90px}.access-story .brand-mark{margin-bottom:48px}.access-story h1{font-size:clamp(3rem,13vw,5rem)}.access-card{max-width:none;margin:-46px 18px 30px;position:relative}.wizard-shell{display:block}.wizard-sidebar{display:none}.wizard-main{padding:34px 22px 52px}.admin-shell{display:block}.admin-sidebar{flex-direction:row;align-items:center;height:auto;padding:14px 18px;position:static;overflow-x:auto}.admin-sidebar nav{margin:0;display:flex}.admin-sidebar .text-button{display:none}.admin-content{padding:30px 20px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.two-columns,.three-columns,.choice-grid,.check-grid,.photo-grid,.review-card dl{grid-template-columns:1fr}.photo-guide{display:block}.photo-guide ul{margin-top:18px}.wizard-actions{gap:12px}.wizard-actions button{flex:1}.metric-grid,.integration-grid,.mapping-row{grid-template-columns:1fr}.task-list article,.checkin-admin-list article,.checkin-actions{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
