/* Shared first-party UI geometry. See docs/UI-STANDARDS.md. */
/* UI standard v1 — see docs/UI-STANDARDS.md. Keep shared action geometry here. */
:root{--ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-5:24px;--ui-space-6:32px;--ui-action-height:54px;--ui-target-min:44px;--ui-action-radius:6px}
:root body :is(.primary-action,.secondary-action){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ui-action-height);height:auto;max-width:100%;padding:12px 20px;border-radius:var(--ui-action-radius);font:700 15px/1.4 var(--body);text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
:root body :is(.primary-action,.secondary-action)>span{padding-left:0}
:root body :is(.primary-action,.secondary-action):focus-visible{outline:3px solid var(--teal-deep);outline-offset:3px}
:root body :is(.primary-action,.secondary-action):disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}
:root body :is(.dialog-actions,.photo-actions,.new-progress-actions,.control-actions,.member-control-head-actions,.data-request-actions,.alert-actions,.form-step-actions,.medical-wizard-actions,.filter-dialog-actions,.ui-actions){gap:var(--ui-space-3);align-items:stretch}
:root body :is(.dialog-actions,.photo-actions,.new-progress-actions,.control-actions,.member-control-head-actions,.data-request-actions,.alert-actions,.form-step-actions,.medical-wizard-actions,.filter-dialog-actions,.ui-actions)>:is(.primary-action,.secondary-action,.text-link,.clear-filter-button){margin:0;min-width:0}
:root body .ui-actions{display:flex;flex-wrap:wrap;margin-top:var(--ui-space-5)}
:root body .ui-actions>:is(.primary-action,.secondary-action){flex:1 1 200px}
:root body .lesson-dialog .medical-wizard-actions :is(.primary-action,.secondary-action){height:auto;min-height:var(--ui-action-height);padding:12px 20px}
:root body :is(.primary-action,.secondary-action)+:is(.primary-action,.secondary-action){margin-top:var(--ui-space-3)}
:root body :is(.dialog-actions,.photo-actions,.new-progress-actions,.control-actions,.member-control-head-actions,.data-request-actions,.alert-actions,.form-step-actions,.medical-wizard-actions,.filter-dialog-actions,.ui-actions)>:is(.primary-action,.secondary-action){margin-top:0}
:root body :is(.dialog-close,.guide-close,.alert-dismiss,.avatar,.filter-button,.clear-filter-button,.unit-switch button,.chip,.active-filters button,.submission-filters button,.community-reactions button,.community-moderation button){min-height:var(--ui-target-min);min-width:var(--ui-target-min)}
:root body button.text-link{min-height:var(--ui-target-min)}
@media(max-width:760px){
 :root body :is(.primary-action,.secondary-action){width:100%!important}
 :root body :is(.dialog-actions,.photo-actions,.new-progress-actions,.control-actions,.member-control-head-actions,.data-request-actions,.alert-actions,.filter-dialog-actions,.ui-actions){display:flex;flex-direction:column;align-items:stretch}
 :root body .ui-actions>:is(.primary-action,.secondary-action){flex:0 0 auto}
 :root body :is(.dialog-actions,.photo-actions,.new-progress-actions,.control-actions,.member-control-head-actions,.data-request-actions,.alert-actions,.filter-dialog-actions,.ui-actions)>:is(.text-link,.clear-filter-button){width:100%;text-align:center}
 :root body .form-step-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 :root body .form-step-actions>:is(.primary-action,.secondary-action){width:100%;min-width:0}
 :root body .intention-builder .secondary-action{width:auto!important;flex:0 0 auto}
}
/* Keep Back/Continue paired; a sole visible wizard action may span both columns. */
:root body .lesson-dialog .medical-wizard-actions #medical-next:not([hidden]){grid-column:auto}
:root body .lesson-dialog .medical-wizard-actions:not(:has(>button:not([hidden]) ~ button:not([hidden])))>button:not([hidden]){grid-column:1/-1}
:root body :is(button.back-link,button.signout,.intention-builder button){min-height:var(--ui-target-min)}
@media(max-width:760px){:root body .section-heading{flex-wrap:wrap;gap:var(--ui-space-3)}}
@media(max-width:760px){:root body .card-top{flex-wrap:wrap;gap:var(--ui-space-3)}}

/* Complete first-party surfaces: ratings/navigation remain compact variants. */
:root{--ui-field-height:44px;--body:'DM Sans',Arial,sans-serif}
:root body button{box-sizing:border-box;min-height:44px;min-width:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
:root body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea){box-sizing:border-box;min-height:44px;max-width:100%;min-width:0;font-size:16px;line-height:1.4}
:root body textarea{min-height:112px;resize:vertical}
:root body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #006b72;outline-offset:3px}
:root body :is(.actions,.checkout-plans){display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:24px}
:root body :is(.actions,.checkout-plans)>:is(button,a){margin:0}
:root body :is(.experience-main button.primary,.experience-main a.button,.checkout-pay,.checkout-secondary,.six-card button,.six-card .button,a.button,.standalone-action){display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;min-height:54px;height:auto;padding:12px 20px;border-radius:6px;font:700 15px/1.4 var(--body);text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;max-width:100%}
:root body .experience-main button.primary{background:var(--coral,#ff6b47);color:#fff;border:0}
:root[data-lt-surface=standalone] body form button:not(.dialog-close),:root body .checkout-plans a{display:inline-flex;align-items:center;justify-content:center;min-height:54px;height:auto;padding:12px 20px;border-radius:6px;font:700 15px/1.4 var(--body);white-space:normal;text-align:center}
:root body :is(.experience-main .scores button){min-height:50px;min-width:0;padding:8px;font-size:16px}
:root body :is(.account-form,.smart-goal-form,.medical-test-form,.team-message-form,.support-dialog form) label{margin-bottom:8px}
:root body :is(.form-grid,.calculator-fields,.medical-fields){gap:16px}
:root body :is(.team-card,.member-edit-card,.membership-option-card){padding:24px}
:root body .checkout-card{padding:24px}
:root body .calendly-inline-widget{max-width:100%;min-width:0!important}
:root body :is(button,[role=button]):disabled{cursor:not-allowed;opacity:.55}
:root body .dialog-close{display:grid;place-items:center;z-index:2;line-height:1}
:root body :is(.dialog-close)+:is(h1,h2,.eyebrow){padding-right:44px}
:root body :is(.experience-main .actions,.checkout-plans)>:is(button,a){flex:1 1 180px}
:root body :is(.checkout-header,.checkout-layout,.six-wrap,.experience-main){min-width:0}
@media(max-width:760px){
 :root body :is(.actions,.checkout-plans){flex-direction:column;gap:12px}
 :root body :is(.actions,.checkout-plans)>:is(button,a){flex:0 0 auto;width:100%}
 :root body :is(.experience-main button.primary,.experience-main a.button,.checkout-pay,.checkout-secondary,.six-card button,.six-card .button,a.button,.standalone-action){width:100%}
 :root[data-lt-surface=standalone] body form button:not(.dialog-close){width:100%}
 :root body :is(.six-wrap,.checkout-layout){padding-left:20px;padding-right:20px}
 :root body :is(.experience-main article,.six-card,.checkout-card,.team-card,.member-edit-card){padding:20px}
 :root body .experience-main{padding-left:20px;padding-right:20px}
 :root[data-lt-surface=standalone] body>main:not(.checkout-layout){box-sizing:border-box;max-width:100%;padding:24px 20px;margin-left:auto;margin-right:auto;overflow-wrap:anywhere}
 :root body .checkout-header{flex-wrap:wrap;gap:12px}
 :root body .six-wrap>section{padding-left:0;padding-right:0}
 :root body .six-wrap>section.six-card{padding:20px}
 :root body .six-card :is(h1,h2,h3,p){overflow-wrap:anywhere}
 :root body .form-step-actions{padding-bottom:calc(12px + env(safe-area-inset-bottom));}
}
@media(prefers-reduced-motion:reduce){:root body *{scroll-behavior:auto!important}}
:root body .ui-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
:root body .ui-table-scroll table{min-width:600px}
@media(max-width:360px){:root body .experience-main .scores{gap:4px}}
/* Narrow phones reserve enough room for five 44px rating targets. */
@media(max-width:360px){:root body .experience-main{padding-left:16px;padding-right:16px}:root body .experience-main article{padding:16px}}
:root body .form-step-actions .text-link{min-width:44px;min-height:44px}
