﻿
/* AssociationOS senior-friendly type guard */
body.member-mode{font-size:18px;line-height:1.55}
.member-shell,.member-main,.member-topbar,.member-content,.member-greeting,.member-today,.member-primary,.member-primary-copy,.member-primary-actions,.member-row,.member-row>div{min-width:0}
.member-brand strong{font-size:26px;line-height:1.2;overflow-wrap:anywhere}
.member-brand small{font-size:18px;line-height:1.35;overflow-wrap:anywhere}
.member-nav button{grid-template-columns:38px minmax(0,1fr);min-height:60px;gap:10px;font-size:18px;line-height:1.3;overflow-wrap:anywhere}
.member-nav button .material-symbols-outlined{font-size:30px}
.member-help{font-size:16px}.member-help strong{font-size:18px}
.member-topbar{grid-template-columns:minmax(300px,1fr) auto auto;min-height:88px;padding:14px 20px}
.member-role,.member-date,.reading-size{font-size:17px;white-space:normal}
.member-role .material-symbols-outlined,.member-date .material-symbols-outlined{font-size:28px}
.member-role-select{width:145px;max-width:145px;min-height:48px;font-size:17px}
.committee-context{font-size:16px}.reading-size-label{font-size:17px}
.size-control{grid-template-columns:repeat(2,minmax(82px,1fr))}
.size-control button{min-height:50px;padding:7px 12px;font-size:17px}
.member-content{padding:24px 28px 48px}
.member-greeting h1{font-size:clamp(30px,3vw,42px);line-height:1.2;overflow-wrap:anywhere}
.member-today{gap:18px;margin:24px -28px 0;padding:18px 28px}
.member-icon-circle{width:72px;height:72px}
.member-icon-circle .material-symbols-outlined{font-size:40px}
.member-today h2,.member-primary h2{font-size:clamp(24px,2.2vw,30px);line-height:1.25;overflow-wrap:anywhere}
.member-today p{font-size:18px;line-height:1.5;overflow-wrap:anywhere}
.member-primary{grid-template-columns:92px minmax(0,1fr) minmax(220px,280px);gap:22px;padding:26px 8px 30px}
.member-primary .member-icon-circle{width:86px;height:86px}
.member-primary .member-icon-circle .material-symbols-outlined{font-size:44px}
.member-primary-copy p{font-size:17px;line-height:1.55;overflow-wrap:anywhere}
.member-primary-button,.member-secondary-button{min-height:54px;padding:10px 18px;font-size:17px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.member-primary-button .material-symbols-outlined{font-size:26px}
.member-row{grid-template-columns:70px minmax(0,1fr) auto;gap:18px;min-height:104px;padding:16px 8px}
.member-row .member-icon-circle{width:62px;height:62px}
.member-row .member-icon-circle .material-symbols-outlined{font-size:34px}
.member-row h3{font-size:20px;line-height:1.3;overflow-wrap:anywhere}
.member-row-details{font-size:16px;line-height:1.5}
.member-row-action{min-height:48px;max-width:100%;font-size:16px;white-space:normal;overflow-wrap:anywhere}
.member-row-action .material-symbols-outlined{font-size:24px}
.member-flash{font-size:17px}
body.member-mode.comfort-mode{font-size:19px}
body.member-mode.comfort-mode .member-content{font-size:19px}
body.member-mode.comfort-mode .member-nav button,body.member-mode.comfort-mode .member-role-select,body.member-mode.comfort-mode .member-role,body.member-mode.comfort-mode .member-date,body.member-mode.comfort-mode .reading-size,body.member-mode.comfort-mode .reading-size-label{font-size:19px}
body.member-mode.comfort-mode .member-today p,body.member-mode.comfort-mode .member-primary-copy p,body.member-mode.comfort-mode .member-row-details{font-size:19px;line-height:1.6}
body.member-mode.comfort-mode .member-secondary-button,body.member-mode.comfort-mode .member-primary-button,body.member-mode.comfort-mode .member-row-action,body.member-mode.comfort-mode .size-control button{min-height:56px;font-size:18px}
.member-mode h1,.member-mode h2,.member-mode h3,.member-mode p,.member-mode button,.member-mode a,.member-mode span,.member-mode small,.member-mode strong,.member-mode label{max-width:100%;overflow-wrap:break-word;word-break:normal}
@media(max-width:1180px){.member-shell{grid-template-columns:240px minmax(0,1fr)}.member-nav button{font-size:17px}.member-primary{grid-template-columns:82px minmax(0,1fr)}.member-primary-actions{grid-column:2;width:min(100%,300px)}}
@media(max-width:860px){body.member-mode,body.member-mode.comfort-mode{font-size:18px}.member-topbar{padding:16px}.member-content{padding:20px 16px 108px}.member-greeting h1{font-size:clamp(28px,7vw,36px)}.member-today{margin:20px -16px 0;padding:18px 16px}.member-today h2,.member-primary h2{font-size:26px}.member-primary{grid-template-columns:72px minmax(0,1fr);gap:16px;padding:24px 0}.member-primary .member-icon-circle{width:68px;height:68px}.member-primary .member-icon-circle .material-symbols-outlined{font-size:38px}.member-primary-actions{grid-column:1/-1;width:100%}.member-row{grid-template-columns:58px minmax(0,1fr);gap:14px}.member-row .member-icon-circle{width:52px;height:52px}.member-row-action{grid-column:2}}
@media(max-width:520px){.member-greeting h1{font-size:30px}.member-today h2,.member-primary h2{font-size:24px}.member-today .member-icon-circle{width:54px;height:54px}.member-today .member-icon-circle .material-symbols-outlined{font-size:32px}.member-primary,.member-row{grid-template-columns:1fr}.member-primary-copy,.member-primary-actions,.member-row-action{grid-column:1}}

