.family-portal #familyLogin{max-width:480px;margin:24px auto}.family-portal #familyLogin button{margin:16px 0}.family-portal .portal-header h1{font-size:2.15rem}.family-choices{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.family-choices button{background:white;color:#173629;border:2px solid #b5c8bc;font-size:.9rem}.family-choices button[aria-pressed=true]{background:#176747;color:white;border-color:#176747}.family-shift{display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,1.5fr) auto;gap:10px;padding:15px 18px;align-items:center;border-left:5px solid var(--person-color,#176747)}.family-shift+.family-shift{border-top:1px solid #e0e6df}.family-shift .shift-detail{display:flex;flex-wrap:wrap;gap:5px 10px;font-size:.85rem}.family-shift .shift-time{font-size:1.1rem;white-space:nowrap}.family-unpublished{padding:14px 18px;border:1px dashed #9daf9f;border-radius:10px;margin:10px 0;background:#f8faf7}.family-unpublished p{margin:4px 0;font-size:.9rem}#familyLogout{margin-top:24px}.family-admin [hidden]{display:none!important}.family-admin{max-width:980px}.family-admin .member-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;max-height:350px;overflow:auto;padding:10px;border:1px solid #c6d1c7;border-radius:8px}.family-admin .member-list label{display:flex;align-items:center;gap:10px;padding:8px;margin:0}.family-admin input[type=checkbox]{width:auto}.family-admin .access-card{border:1px solid #c6d1c7;border-radius:12px;padding:18px;margin:16px 0}.family-admin .access-card h3{margin-top:0}.family-admin .new-code{padding:20px;background:#e5f4eb;border:2px solid #176747;border-radius:12px;margin:20px 0}.family-admin .new-code code{font-size:1.35rem;overflow-wrap:anywhere}.family-admin #accessForm{padding:20px;background:#f5f8f4;border-radius:12px}.family-admin fieldset{border:0;padding:0;margin:16px 0}.family-admin legend{font-weight:700;margin-bottom:8px}.family-admin #accessName{max-width:480px}
@media(max-width:700px){.family-shift{grid-template-columns:1fr auto;padding:14px}.family-shift .shift-detail{grid-column:1/-1;grid-row:2}.family-portal .portal-header h1{font-size:1.65rem}.family-choices button{flex:1 1 auto}.family-admin .member-list{grid-template-columns:1fr}.family-admin #accessForm{padding:14px}.family-admin .new-code code{font-size:1rem}}
