:root{--blue:#103a75;--deep:#082d66;--light:#eef4fa;--green:#159447;--red:#df3535;--medical:#195ba7;--weather:#3776c8;--text:#16385f;--muted:#647386;--border:#dfe5ec;--shadow:0 3px 10px rgba(0,0,0,.07)}*{box-sizing:border-box}body{margin:0;background:#edf1f5;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}.app{width:100%;max-width:520px;min-height:100vh;margin:0 auto;background:#fff;padding-bottom:18px}.page{display:none}.page.active{display:block}.header{padding:21px 22px 16px;text-align:center}.logo{display:block;width:min(285px,80%);height:auto;margin:0 auto 12px}.ministry-name{color:var(--blue);font-size:24px;font-weight:760}.portal-name{margin-top:4px;color:var(--blue);font-size:20px;font-weight:650}.content{padding:0 15px 18px}.group-card{margin-bottom:16px;padding:18px;color:#fff;background:linear-gradient(145deg,var(--deep),var(--blue));border-radius:19px;box-shadow:var(--shadow)}.group-header{display:grid;grid-template-columns:50px 1fr;gap:13px}.group-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:var(--blue);font-size:24px}.group-name{font-size:24px;font-weight:760}.meeting-meta{margin-top:6px;font-size:13px;font-weight:600;opacity:.87}.venue-section{margin-top:16px}.venue-label{margin-bottom:5px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;opacity:.72}.venue-select{width:100%;min-height:42px;padding:0 11px;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.36);border-radius:9px;font-size:14px;font-weight:700}.venue-select option{color:#222;background:#fff}.venue-address{margin-top:8px;font-size:13px;opacity:.92}.group-divider{margin:17px 0 14px;border-top:1px solid rgba(255,255,255,.36)}.role-roster{display:flex;flex-wrap:wrap;gap:10px}.role-pill{flex:1 1 135px;padding:9px 11px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:10px}.role-label{font-size:10px;opacity:.72}.role-name{font-size:13px;font-weight:760}.encouragement-card{margin-bottom:20px;padding:17px;background:var(--light);border:1px solid #d4e1ee;border-radius:18px;box-shadow:var(--shadow)}.encouragement-heading{margin-bottom:15px;color:var(--blue);font-size:18px;font-weight:780}.encouragement-grid{display:grid;grid-template-columns:38% 62%}.encouragement-left{padding-right:17px}.encouragement-right{padding-left:18px;border-left:1px solid #c6d6e6}.practice{color:var(--blue);font-size:18px;font-weight:770}.reference{margin-top:9px;color:var(--blue);font-size:14px}.scripture{font-size:14px;line-height:1.5}.support-title,.section-heading{color:var(--blue);font-size:20px;font-weight:780}.support-title{margin:0 3px 10px}.section-heading{margin:22px 3px 10px}.support-card{width:100%;display:grid;grid-template-columns:50px 1fr 22px;align-items:center;gap:12px;min-height:86px;margin-bottom:9px;padding:11px 14px;background:#fff;border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow);text-align:left}.support-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-size:21px;font-weight:850}.green{background:var(--green)}.red{background:var(--red)}.medical{background:var(--blue)}.healthcare{background:var(--medical)}.weather{background:var(--weather)}.support-name{display:block;color:var(--text);font-size:16px;font-weight:780}.support-description{display:block;margin-top:3px;color:var(--muted);font-size:12.5px}.chevron{color:var(--blue);font-size:29px}.footer-card{margin-top:14px;padding:14px 17px;background:var(--light);border-radius:15px;text-align:center;color:var(--blue);font-size:13px}.subpage-header{position:sticky;top:0;display:flex;align-items:center;gap:10px;padding:13px 15px;background:#fff;border-bottom:1px solid var(--border)}.back-button{border:none;background:var(--light);color:var(--blue);border-radius:9px;padding:8px 10px;font-size:14px;font-weight:700}.subpage-title{color:var(--blue);font-size:18px;font-weight:780}.subpage-content{padding:15px}.context-card{margin-bottom:13px;padding:12px 14px;border-radius:13px;background:var(--light);color:var(--blue);font-size:13px}.section-card,.facility-card,.first-aid-card{margin-bottom:12px;padding:15px;background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow)}.section-card h3{margin:0 0 8px;color:var(--blue);font-size:16px}.section-card ul,.section-card ol{margin:0;padding-left:20px;line-height:1.48}.first-aid-title,.facility-name{color:var(--blue);font-size:16px;font-weight:780}.first-aid-sub,.facility-meta{margin-top:4px;color:var(--muted);font-size:12.5px}.call-911,.shelter-card{margin-bottom:20px;padding:13px 14px;border-radius:12px;background:#fff1f1;color:#a71f1f;font-weight:800;border:1px solid #efcaca}.resource-row{margin-bottom:8px;padding:10px 11px;border-radius:10px;background:#f8fafc;border:1px solid #e4e9ef}.resource-name{color:var(--blue);font-weight:780}.resource-meta{margin-top:3px;color:var(--muted);font-size:12px}.unavailable{color:#8a2424;font-weight:700}.action-link{display:inline-block;margin-top:8px;margin-right:5px;padding:7px 10px;border-radius:8px;background:var(--light);color:var(--blue);font-size:13px;font-weight:750;text-decoration:none}.print-button{width:100%;margin-top:15px;padding:13px 15px;border:none;border-radius:12px;background:var(--blue);color:#fff;font-size:14px;font-weight:760}.loading{padding:90px 20px;text-align:center;color:var(--muted)}.error{margin:20px;padding:16px;color:#782626;background:#fff;border:1px solid #d7aaaa;border-radius:12px}@media(max-width:390px){.encouragement-grid{grid-template-columns:1fr}.encouragement-right{padding-left:0;padding-top:14px;border-left:none;border-top:1px solid #c6d6e6}}
