*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.6 var(--body);font-variant-numeric:lining-nums tabular-nums}button,input,textarea,select{font:inherit;color:inherit}a,button{touch-action:manipulation}a{color:inherit;text-underline-offset:3px}a:hover{color:#5d5548}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}[hidden]{display:none!important}
header{min-height:83px;border-bottom:1px solid var(--line);background:var(--white);display:flex;align-items:center;justify-content:space-between;padding:18px 43px;gap:20px}.brand{display:flex;align-items:center}.brand img{width:126px;height:auto;display:block}.header-right{display:flex;gap:20px;align-items:center;font-size:11px;color:var(--muted);flex-wrap:wrap}.header-right a{font-weight:600;color:var(--ink)}main{max-width:1230px;margin:auto;padding:38px 43px 100px}h1{font-family:var(--head);font-weight:500;font-size:34px;letter-spacing:.025em;line-height:1.25;margin:10px 0 16px}h2{font-size:20px;font-weight:600;line-height:1.4;margin:0 0 12px}h3{font-size:15px;font-weight:650;margin:0 0 12px}p{color:var(--muted);margin:10px 0 18px}.eyebrow{font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.muted,small{color:var(--muted)}small{font-size:11px}nav{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.skip{position:fixed;left:20px;top:-90px;z-index:1000;padding:12px;background:var(--white)}.skip:focus{top:12px}
.button,button{font:600 12px/1.4 var(--body);border:1px solid var(--line);border-radius:6px;background:var(--white);padding:10px 16px;min-height:40px;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;transition:background .16s}.button:hover,button:hover{background:var(--paper);text-decoration:none;color:var(--ink)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--sand);color:#34342e;border-color:var(--sand)}.primary:hover{background:var(--sand-hover);border-color:var(--sand-hover)}.compact{padding:6px 10px;min-height:32px;font-size:11px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin:22px 0;box-shadow:var(--shadow)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid .card{margin:0;min-width:0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}fieldset.fields{border:0;margin:0;padding:0;min-width:0}.field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:11px;font-weight:600}.field.full{grid-column:1/-1}input,textarea,select{background:var(--white);border:1px solid #dedbd4;border-radius:6px;padding:11px 12px;width:100%;font-size:12px;min-height:43px}textarea{resize:vertical;min-height:108px;line-height:1.7}input:disabled,textarea:disabled,select:disabled{background:#f8f6f2;color:#78756d}input::placeholder,textarea::placeholder{color:#969288;font-weight:400}input[type=checkbox]{width:16px;min-height:16px;height:16px;margin:2px 8px 0 0;vertical-align:middle;accent-color:#89795f;flex-shrink:0}.notice{background:#f4f0e9;border:1px solid #e4dcd0;border-radius:8px;padding:16px 18px;margin:22px 0;font-size:12px;line-height:1.7}.warn{background:#fbf3e7;border-color:#e2cba7}.danger{color:#9c382b}details{border-top:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:12px;font-weight:600}.table{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;vertical-align:top;padding:12px 9px;border-bottom:1px solid var(--line)}th{font-size:10px;color:var(--muted);font-weight:650}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}.pill{border-radius:25px;font-size:10px;background:var(--paper);border:1px solid var(--line);padding:5px 10px;white-space:nowrap}.metric{font-size:28px;line-height:1.4;letter-spacing:0;font-weight:500;margin-top:7px}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.report-grid>div{background:var(--paper);padding:16px 18px;border-radius:8px}.eq td{padding:8px}.eq select{padding:6px 8px;min-height:32px;width:130px}#status{position:fixed;bottom:52px;left:50%;transform:translateX(-50%);max-width:90vw;padding:13px 21px;border-radius:8px;background:#3c3d35;color:var(--white);box-shadow:0 8px 28px #0002;display:none;z-index:100;font-size:12px}#status.show{display:block}.form-state{font-size:11px;color:var(--muted);margin:10px 0}.draft-warning{color:#94601e}.error{white-space:pre-wrap}.checklist label{display:block;padding:6px 0;font-size:12px}.skeleton{color:var(--muted)}
.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px);align-items:start;gap:70px;max-width:1040px;margin:48px auto 0}.auth-intro{padding-top:28px}.auth-intro h1{font-size:40px;line-height:1.3;margin:17px 0 22px}.auth-intro>p{max-width:370px;font-size:13px;line-height:1.85}.auth-note{margin-top:38px;padding-top:22px;border-top:1px solid var(--line);max-width:370px}.auth-note p{font-size:12px;line-height:1.8;margin-bottom:0}.auth-card{margin:0;padding:30px}.auth-card h2{font-family:var(--head);font-size:24px;font-weight:500;letter-spacing:.025em;margin:0 0 8px}.auth-card>p{font-size:12px;margin:0 0 26px}.auth-card .field+.field{margin-top:18px}.remember{display:flex;gap:2px;align-items:flex-start;font-size:11px;color:var(--muted);line-height:1.5;margin-top:18px}.auth-actions{display:grid;grid-template-columns:1fr;margin-top:18px;gap:10px}.auth-actions button{width:100%;min-height:43px}.auth-actions .text-button{background:transparent;border-color:transparent;min-height:36px;color:var(--muted)}.auth-actions .text-button:hover{color:var(--ink);text-decoration:underline}.auth-help{padding-top:20px;margin:20px 0 0;border-top:1px solid var(--line);font-size:11px;line-height:1.8}.auth-message{font-size:12px;line-height:1.7;color:var(--ink);padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:6px;margin:18px 0 0}.auth-message:empty{display:none}.auth-card form>button{margin-top:12px;width:100%}.portal-footer{max-width:1144px;margin:0 auto;padding:0 43px 65px;color:var(--muted);font-size:10px;letter-spacing:.06em}
@media(max-width:1000px){.auth-layout{gap:35px}.auth-intro h1{font-size:34px}.auth-card{padding:25px}}
@media(max-width:720px){header{padding:18px 20px;min-height:72px;gap:15px}.header-right{font-size:10px;gap:10px}.brand img{width:100px}main{padding:28px 20px 70px}h1{font-size:28px}.grid,.fields,.report-grid{grid-template-columns:1fr}.card{padding:20px}.metric{font-size:25px}.header-right span{max-width:150px;overflow-wrap:anywhere}.auth-layout{grid-template-columns:minmax(0,1fr);gap:24px;max-width:440px;margin:0 auto}.auth-intro{padding-top:0}.auth-intro h1{font-size:30px;margin:12px 0}.auth-intro>p{margin-bottom:0}.auth-note{display:none}.auth-card{padding:25px}.portal-footer{padding:0 20px 65px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.conditional-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}.conditional-fields.full,.form-subtitle{grid-column:1/-1}.form-subtitle{font-size:12px;font-weight:650;border-top:1px solid var(--line);padding-top:18px}.intake-unit{padding:22px 0;border-bottom:1px solid var(--line)}.intake-unit:first-of-type{padding-top:10px}.intake-unit:last-of-type{margin-bottom:20px}.intake-finish{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:25px;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.intake-finish h3{margin:0}.intake-finish p{font-size:12px;margin:6px 0 0}.intake-finish button{flex-shrink:0}.completion-dialog{border:1px solid var(--line);border-radius:var(--radius);padding:32px;max-width:540px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow:auto;background:var(--white);color:var(--ink);box-shadow:var(--shadow);font:14px/1.7 var(--body)}.completion-dialog::backdrop{background:rgba(49,43,31,.3)}.completion-dialog h2{font-family:var(--head);font-size:27px;font-weight:500;line-height:1.3;margin:12px 0 20px}.table{max-width:100%}.customer-form,.intake-unit,details,.report-grid>div{min-width:0}summary{overflow-wrap:anywhere}.field small,.small{font-size:11px;font-weight:400;color:var(--muted)}
@media(max-width:720px){.conditional-fields{grid-template-columns:1fr}.field input,.field textarea,.field select{font-size:16px}.intake-finish{align-items:stretch;flex-direction:column;padding:20px;gap:16px}.intake-finish button{width:100%;min-height:46px}.completion-dialog{padding:24px}.completion-dialog .actions{display:grid;grid-template-columns:1fr}.actions button{min-height:44px}.header-right{margin-left:auto;justify-content:flex-end}.card{padding:18px}.eq td{min-width:0}.report-grid .metric{overflow-wrap:anywhere}nav .button{flex:1 1 auto;text-align:center}.auth-card{padding:22px}.auth-intro h1{font-size:28px}}
@media(max-width:380px){main{padding-left:12px;padding-right:12px}header{padding-left:12px;padding-right:12px}.brand img{width:90px}.header-right span{max-width:135px}.card{padding:14px}.completion-dialog{padding:20px}}
@media print{header,.portal-footer,.privacy-toggle,.consent-panel,.actions,.intake-finish{display:none!important}main{padding:0;max-width:none}.card{break-inside:avoid;box-shadow:none}}
.auth-card form[aria-busy=true]::after{content:'';display:block;height:4px;border-radius:5px;margin-top:16px;background:linear-gradient(90deg,var(--sand13),var(--sand),var(--sand13));background-size:220% 100%;animation:bheaven-busy 1.3s linear infinite}@keyframes bheaven-busy{to{background-position:220% 0}}.customer-form[inert]{opacity:.85}
@media(prefers-reduced-motion:reduce){.auth-card form[aria-busy=true]::after{animation:none}}
