/* F90 unified responsive accessibility and layout layer */
:root{--f90-focus:color-mix(in srgb,var(--accent) 75%,white);--f90-soft-accent:color-mix(in srgb,var(--accent) 11%,var(--surface))}
:root[data-theme="cream"]{--bg:#f4f0eb;--surface:#fffdfa;--surface2:#eee7df;--line:#c6b8b0;--text:#25212a;--muted:#60565f;--accent:#9b1638;--accent2:#7e102d;--f90-focus:#8f1336}
html{overflow-x:clip}body{overflow-x:clip}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--f90-focus)!important;outline-offset:3px}
:where(.container,.main-content,.admin-main,.panel,.modal,.modal-content,.admin-layout,.admin-sidebar,.page-head,.toolbar,.actions,.field,.form-grid,.editor,.table-wrap){min-width:0}
:where(.panel,.page-head,.admin-main,.modal,.record,.record-main,.policy-content,.f90-experience-card){overflow-wrap:anywhere}
:where(.page-head,.section-head,.toolbar,.actions,.admin-main .actions){row-gap:12px}
:where(.panel,.editor,.admin-main .panel){max-width:100%}
:where(input,select,textarea){max-width:100%;min-width:0}
:where(.table-wrap,.table-responsive){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
:where(.table-wrap table,.table-responsive table){min-width:max-content}
:where(.modal,.dialog,.drawer){max-width:100vw}
:root[data-theme="cream"] :where(input,select,textarea){color:var(--text);background:var(--surface);border-color:var(--line)}
:root[data-theme="cream"] :where(input,select,textarea)::placeholder{color:#746973;opacity:1}
:root[data-theme="cream"] :where(.muted,.small,.record-main p,.page-head p,.section-head span){color:var(--muted)}
:root[data-theme="cream"] :where(.panel,.editor,.record,.policy-content,.admin-sidebar,.admin-top){color:var(--text)}
:root[data-theme="cream"] .f90-experience-hero{color:#fff}
:root[data-theme="cream"] .f90-experience-hero :where(h1,p,.f90-experience-chip){text-shadow:none}
:root[data-theme="cream"] .f90-experience-journey{color:#fff}
:root[data-theme="cream"] .f90-experience-card{color:var(--text)}
:root[data-theme="cream"] .f90-experience-steps p{color:#f1dce3}
.admin-top{flex-wrap:wrap;gap:10px 15px}
.admin-top .button,.admin-top .icon-button{min-height:42px}
.admin-top-title{flex:1 1 140px;margin-left:0}
.admin-main :where(.toolbar,.actions){display:flex;flex-wrap:wrap;align-items:center}
.admin-main :where(.toolbar,.actions) :where(button,.button){max-width:100%;white-space:normal}
.admin-main :where(.stats-grid,.dashboard-grid,.form-grid,.settings-grid){min-width:0}
.admin-sidebar nav a{min-height:43px}
.admin-main .table-wrap{border-radius:15px;border:1px solid var(--line)}
.admin-main table{border-collapse:separate;border-spacing:0}
.admin-main :where(td,th){vertical-align:middle}
@media(max-width:800px){.admin-main{padding:20px 14px 95px}.admin-main :where(.stats-grid,.dashboard-grid,.form-grid,.settings-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}}
@media(max-width:600px){.container{max-width:100%;padding-inline:12px}.admin-top{padding:9px 12px;gap:8px}.admin-top-title{flex:1 1 95px;max-width:none}.admin-top-title strong{font-size:clamp(12px,3.5vw,17px)}.admin-main{padding:15px 10px 100px}.admin-main :where(.toolbar,.actions){gap:8px}.admin-main .table-wrap{margin-inline:0}.admin-main :where(.panel,.editor){padding-inline:clamp(10px,3vw,20px)}.admin-main :where(input,select,textarea){font-size:16px}.f90-experience-end{align-items:flex-start}.f90-experience-legal{gap:12px 18px}}
@media(max-width:380px){.admin-top-title .muted{display:none}.admin-top .brand{max-width:75px}.admin-main{padding-inline:8px}.f90-experience-actions{flex-direction:column}.f90-experience-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}

/* Admin header height is measured in JS because it wraps on narrow devices */
@media(max-width:1000px){.admin-sidebar{top:var(--f90-admin-header-height,85px);height:calc(100dvh - var(--f90-admin-header-height,85px));max-height:calc(100dvh - var(--f90-admin-header-height,85px));overflow-y:auto;overscroll-behavior:contain}.admin-layout{min-height:calc(100dvh - var(--f90-admin-header-height,85px))}}
@media(min-width:1001px){.admin-sidebar{top:var(--f90-admin-header-height,85px);height:calc(100dvh - var(--f90-admin-header-height,85px))}}
