/* Church OS shared pastel module surfaces */
body{background:#f7f7f2;color:#20382d}
.content{max-width:1280px}
.content>.welcome-row h1,.youth-shell h1{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:550;letter-spacing:-.035em}
.content>.welcome-row .muted{font-size:15px;line-height:1.6}
.stats-grid,.youth-stats{gap:14px}
.stat-card,.youth-stats article,.directory-panel,.access-panel,.child-panel,.admin-card,.youth-panel,section:not(.content):not(.auth-screen):not(.notice){border-radius:20px}
.stat-card,.youth-stats article{background:#fffef9;border:1px solid #c9dbce;box-shadow:0 4px 12px #203d2910}
.stat-card:nth-child(4n + 2),.youth-stats article:nth-child(4n + 2){border-color:#e1c6ae}
.stat-card:nth-child(4n + 3),.youth-stats article:nth-child(4n + 3){border-color:#d5c0dd}
.stat-card:nth-child(4n + 4),.youth-stats article:nth-child(4n + 4){border-color:#b8d7d9}
.directory-panel,.access-panel,.child-panel,.admin-card,.youth-panel{background:#fffefa;border:1px solid #e0e7dd;box-shadow:0 4px 16px #173b3509}
.primary-button,.auth-submit,button[type=submit]{border-radius:12px}
.secondary-button,.child-tab,.youth-tabs button{border-radius:11px}
input,select,textarea{border-radius:11px}
table{width:100%}
@media(max-width:680px){.content{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))}.stats-grid,.youth-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-width:0}.directory-heading,.access-heading,.panel-heading{gap:12px;flex-wrap:wrap}.table-wrap{overflow-x:auto;max-width:100%}}

/* v0.7.3 readability: raise every faint grey to WCAG AA (>= 4.5:1 on white/cream) */
:root{--muted:#4c6057;--line:#d9e3dc}
body{color:#1c332b}
.stat-card span,.stat-card small,.youth-stats span,.youth-stats small{color:#4c6057!important;font-size:13px!important}
.stat-card strong{color:#1c332b!important;font-size:30px!important}
.muted,.directory-heading p,.access-heading p,.panel-heading p,.section-heading p,small,.empty-state,.permission-help{color:#4c6057!important}
th{color:#4a5c53!important;font-size:12px!important;background:#f1f5f2!important}
td{color:#1c332b}
input::placeholder,textarea::placeholder,.search-wrap input::placeholder{color:#5f7068!important;opacity:1}
label,.eyebrow{color:#3a4e45}
.status-pill,.tag,.role-label{font-size:12px}
input,select,textarea{color:#1c332b;border-color:#8da398}
