.sync-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 12px;font-size:13px;color:var(--ink)}
.setup-checklist{padding-left:24px;line-height:1.7}.setup-checklist li{margin:10px 0}
[aria-current="page"]{font-weight:800}
.tabs button[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--button-ink)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:540px){.shell{padding-bottom:210px}.sync-row button{min-height:44px}.tabs{max-height:40vh;overflow:auto}.login h1{font-size:30px}.setup-checklist button{max-width:100%;white-space:normal}}
@media(prefers-reduced-motion:reduce){.winner-burst{animation:none}}
/* Fixed backing dimensions preserve drawings when a phone rotates or resizes. */
.signature-pad{display:block;width:100%;height:auto;aspect-ratio:10/3;touch-action:none;background:#fff;border:2px solid #91a864;border-radius:8px;margin:12px 0}
.consent-notice{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;padding:12px;border:1px solid #91a864;border-radius:8px}

.parent-login-choice{margin:18px 0 22px}
.google-login-button{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;min-height:48px;padding:12px 16px;background:#fff;color:#1f1f1f;border:1px solid #747775;border-radius:10px;font:600 16px/1.4 system-ui,sans-serif;text-align:center;text-decoration:none}
.google-login-button:hover{background:#f2f2f2;color:#1f1f1f;text-decoration:none}
.google-login-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.parent-login-choice>p{text-align:center;font-size:13px;margin:10px 0 18px}
.login-divider{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--ink)}
.login-divider::before,.login-divider::after{content:"";flex:1;border-top:1px solid #747775}

.member-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #74777555}.member-row:last-child{border-bottom:0}.member-row small{display:block;margin-top:5px;overflow-wrap:anywhere}.member-row>div{min-width:0}.member-menu{flex:0 1 60%}.member-menu summary{cursor:pointer;font-weight:700;text-align:right;padding:10px;min-height:44px;box-sizing:border-box}.member-menu[open] summary{text-align:left}.member-menu .actions{padding:8px 0;gap:8px}.board-chores{padding:0;list-style:none}.board-chores li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #74777555}.board-chores strong{font-size:13px;text-align:right}@media(max-width:540px){.member-row{flex-wrap:wrap}.member-menu{flex:1 1 auto}.member-menu[open]{flex-basis:100%}.board-chores li{flex-wrap:wrap}}

.notification-bell{display:inline-flex;align-items:center;gap:8px;min-height:44px}.notification-bell svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-count{background:var(--primary,#91d5ff);color:var(--button-text,#101810);border-radius:999px;min-width:24px;padding:2px 6px;text-align:center}.notification-list{display:grid;gap:12px}.notification-item{display:grid;gap:6px;text-align:left;white-space:normal;width:100%}.notification-item span{font-size:.9rem;font-weight:400}.card[id^="support-ticket-"]{scroll-margin-top:24px}.card[id^="support-ticket-"]:focus{outline:2px solid var(--primary,#91d5ff);outline-offset:3px}@media(max-width:540px){.notification-bell>span{display:none}}

.form-options,.settings-group{border:1px solid var(--line,#747775);border-radius:10px;padding:10px 14px;margin:14px 0}
.form-options summary,.settings-group summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.form-options[open] summary,.settings-group[open] summary{margin-bottom:12px}
.settings-group.card{display:block}

.required-chore-editor{display:grid;gap:1rem}.required-chore-option{padding:.85rem 0;border-bottom:1px solid var(--line)}.required-chore-option>label:first-child{display:flex;align-items:center;gap:.55rem}.required-chore-option .split{margin-top:.65rem}.required-chore-option input[type="time"]{max-width:14rem}
