/* Customer account only: quiet, readable forms on the clinic's warm surfaces. */
.customer-page { --customer-ink:#292923; --customer-muted:#65635a; --customer-line:#d2ccbf; --customer-accent:#824231; width:calc(100% - 112px); max-width:1120px; margin-inline:auto; padding:58px 0 80px; color:var(--customer-ink); font:400 16px/1.65 var(--font-ui,DM,Arial,sans-serif); }
.customer-page *, .customer-page *::before, .customer-page *::after { box-sizing:border-box; }
.customer-page [hidden] { display:none !important; }
.customer-page :is(div,section,form,aside) { min-width:0; }
.customer-page :is(h1,h2) { font-family:var(--font-editorial,Newsreader,Georgia,serif); font-weight:400; letter-spacing:-.025em; }
.customer-page p { margin:0 0 20px; }
.customer-page a { color:inherit; text-underline-offset:4px; }
.customer-page a:hover { color:var(--customer-accent); }
.customer-page :is(a,button,input,textarea,summary):focus-visible { outline:3px solid var(--customer-accent); outline-offset:4px; }
.customer-intro { max-width:760px; margin-bottom:34px; }
.customer-intro h1 { margin:0 0 20px; font-size:clamp(44px,6vw,72px); line-height:1.04; }
.customer-intro p { max-width:590px; color:var(--customer-muted); }
.customer-layout { display:grid; grid-template-columns:minmax(0,620px) minmax(180px,1fr); gap:70px; align-items:start; }
.customer-card { padding:32px; background:#fcfaf5; border:1px solid var(--customer-line); border-radius:4px; }
.customer-card h2 { font-size:34px; line-height:1.12; margin:0 0 22px; }
.customer-card p { overflow-wrap:anywhere; }
.customer-switch { display:flex; gap:8px; border-bottom:1px solid var(--customer-line); margin-bottom:28px; }
.customer-switch button { flex:1; min-height:48px; padding:10px 8px 14px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--customer-muted); font:500 15px/1.4 var(--font-ui,DM,Arial,sans-serif); cursor:pointer; }
.customer-switch button[aria-pressed=true] { border-color:var(--customer-accent); color:var(--customer-accent); }
.customer-field { margin-bottom:22px; }
.customer-page label { display:block; margin-bottom:8px; font-size:14px; font-weight:500; }
.customer-page input:not([type=checkbox]), .customer-page textarea { display:block; width:100%; min-width:0; min-height:50px; padding:12px 14px; background:#fffdf9; color:var(--customer-ink); border:1px solid #8a8577; border-radius:3px; font:400 16px/1.5 var(--font-ui,DM,Arial,sans-serif); }
.customer-page textarea { resize:vertical; overflow-wrap:anywhere; font-family:ui-monospace,Consolas,monospace; font-size:15px; margin-bottom:18px; }
.customer-page input:disabled { background:#eee9df; }
.customer-page .customer-help { margin:10px 0 18px; color:var(--customer-muted); font-size:13px; line-height:1.6; }
.customer-page .customer-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; max-width:100%; padding:12px 22px; border:1px solid var(--customer-accent); border-radius:3px; background:var(--customer-accent); color:#fffaf0; font:500 14px/1.5 var(--font-ui,DM,Arial,sans-serif); text-align:center; text-decoration:none; cursor:pointer; }
.customer-page .customer-button:hover:not(:disabled) { background:#693626; border-color:#693626; color:#fffaf0; }
.customer-page .customer-secondary { background:transparent; color:var(--customer-accent); }
.customer-page button:disabled { cursor:not-allowed; opacity:.65; }
.customer-page .customer-text-button { display:block; min-height:44px; margin-top:10px; padding:10px 0; border:0; background:none; color:var(--customer-accent); text-align:left; text-decoration:underline; text-underline-offset:4px; font:400 14px/1.5 var(--font-ui,DM,Arial,sans-serif); cursor:pointer; }
.customer-page .customer-notice, .customer-page .customer-error { border-left:3px solid #87936a; padding:12px 16px; background:#eef0e5; font-size:14px; }
.customer-page .customer-error { border-color:var(--customer-accent); background:#f6e9e2; color:#713926; }
.customer-google { margin-top:26px; padding-top:22px; border-top:1px solid var(--customer-line); }
.customer-page .customer-divider { font-size:14px; margin-bottom:16px; }
#customer-google-button { min-height:44px; max-width:100%; overflow:hidden; }
.customer-page .customer-name { margin-bottom:4px; font-size:21px; font-weight:500; }
.customer-code-settings { margin-top:30px; padding-top:22px; border-top:1px solid var(--customer-line); }
.customer-code-settings summary { cursor:pointer; padding-block:10px; min-height:44px; color:var(--customer-accent); }
.customer-code-settings p { margin-top:14px; font-size:14px; }
.customer-page .customer-check { display:flex; gap:10px; align-items:flex-start; padding:10px 0; min-height:44px; margin:8px 0 18px; }
.customer-check input { width:19px; height:19px; flex:none; margin:2px 0 0; accent-color:var(--customer-accent); }
.customer-aside { padding-top:24px; }
.customer-aside h2 { margin:0 0 22px; font-size:32px; line-height:1.15; }
.customer-aside p { color:var(--customer-muted); font-size:15px; }
.customer-aside a { font-size:14px; }
.customer-aside .customer-help { margin-top:30px; }
.customer-visit-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:0 0 34px; }
.customer-visit-links a { display:flex; flex-direction:column; gap:8px; padding:24px; border:1px solid var(--customer-line); border-radius:4px; background:#eee9dc; text-decoration:none; }
.customer-visit-links strong { font:400 29px/1.15 var(--font-editorial,Newsreader,Georgia,serif); letter-spacing:-.02em; }
.customer-visit-links span { color:var(--customer-muted); font-size:14px; }
.customer-account-actions { display:flex; flex-wrap:wrap; gap:12px; }
@media(max-width:900px) { .customer-layout { gap:32px; grid-template-columns:minmax(0,1fr) 210px; } .customer-card { padding:26px; } }
@media(max-width:760px) { .customer-page { width:calc(100% - 40px); padding:32px 0 48px; } .customer-intro { margin-bottom:26px; } .customer-intro h1 { font-size:44px; } .customer-layout { grid-template-columns:1fr; gap:30px; } .customer-card { padding:24px; } .customer-aside { padding:0; max-width:520px; } .customer-card h2 { font-size:31px; } }
@media(max-width:380px) { .customer-page { width:calc(100% - 28px); } .customer-card { padding:20px 16px; } .customer-intro h1 { font-size:40px; } .customer-page .customer-button { width:100%; } }
@media(max-width:600px) { .customer-visit-links { grid-template-columns:1fr; gap:12px; } .customer-visit-links a { padding:20px; } .customer-visit-links strong { font-size:27px; } }
@media(prefers-reduced-motion:reduce) { .customer-page * { scroll-behavior:auto; } }
