/* R21 uses inherited surfaces and semantic contrast tokens. */
.r21-board{--r21-fg:var(--text,#f5f8ff);--r21-muted:var(--text-muted,#a6b5c9);--r21-border:var(--border,rgba(145,180,220,.2));--r21-bg:rgba(140,173,209,.055);padding:18px;border:1px solid var(--r21-border);border-radius:20px;background:linear-gradient(145deg,rgba(51,159,196,.055),rgba(143,118,225,.035));color:var(--r21-fg);margin-bottom:12px;min-width:0}
.r21-head,.r21-title-row{display:flex;align-items:start;justify-content:space-between;gap:12px}.r21-head>div{min-width:0}.r21-eyebrow{font-size:10px;letter-spacing:.1em;color:#72dceb;font-weight:800}.r21-head h3{font:800 21px/1.2 Manrope,Inter,sans-serif;margin:6px 0}.r21-head p{font-size:12px;line-height:1.5;color:var(--r21-muted);margin:0 0 16px;max-width:590px}
.r21-refresh,.r21-small-btn,.r21-save{font:700 11.5px Inter,system-ui,sans-serif;min-height:36px;padding:8px 11px;border:1px solid var(--r21-border);border-radius:10px;background:var(--r21-bg);color:var(--r21-fg);cursor:pointer}.r21-save{background:linear-gradient(120deg,#197c95,#2765a5);color:#fff}
.r21-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px}.r21-panel,.r21-activity{min-width:0;border:1px solid var(--r21-border);background:var(--r21-bg);border-radius:15px;padding:13px}.r21-panel h4,.r21-activity h4{margin:0 0 10px;font-size:13px;letter-spacing:-.01em}.r21-count{font-size:11px;color:var(--r21-muted)}.r21-empty,.r21-status{font-size:12px;line-height:1.5;color:var(--r21-muted);margin:7px 0 10px}.r21-status{padding:8px 10px;border-radius:9px;border:1px solid var(--r21-border)}
.r21-task-row{padding:9px 0;border-top:1px solid var(--r21-border);display:grid;gap:7px;min-width:0}.r21-task-main{min-width:0}.r21-task-main strong,.r21-agenda-row strong{display:block;overflow-wrap:anywhere;font-size:12.5px;line-height:1.4}.r21-task-main small,.r21-agenda-row small{display:block;font-size:11px;line-height:1.45;color:var(--r21-muted);margin-top:3px}.r21-task-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.r21-member{min-width:0;max-width:100%;flex:1 1 106px;min-height:36px;border-radius:10px;border:1px solid var(--r21-border);background:var(--surface,#111e2f);color:var(--r21-fg);font:600 12px Inter,system-ui,sans-serif;padding:6px 9px}.r21-agenda-row{display:grid;grid-template-columns:83px minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--r21-border)}.r21-date{font-weight:750;font-size:11px;white-space:nowrap;color:var(--r21-muted)}.r21-agenda-row.is-late .r21-date{color:#ec9d85}.r21-event-form{display:grid;gap:8px;border-top:1px solid var(--r21-border);padding-top:12px}.r21-event-form[hidden]{display:none}.r21-input{box-sizing:border-box;width:100%;min-width:0;min-height:42px;border-radius:10px;border:1px solid var(--r21-border);padding:9px 11px;background:var(--surface,#111e2f);color:var(--r21-fg);font-size:12.5px}.r21-activity{margin-top:11px}.r21-activity-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--r21-border);padding:9px 0;font-size:11px}.r21-activity-row span{color:var(--r21-muted);overflow-wrap:anywhere}.r21-board button:focus-visible,.r21-board select:focus-visible,.r21-board input:focus-visible{outline:2px solid #3fb9d8;outline-offset:2px}.r21-board button:disabled{opacity:.55;cursor:wait}.r21-board button{transition:transform .16s ease,border-color .16s ease}.r21-board button:active:not(:disabled){transform:scale(.98)}
html[data-theme="light"] .r21-board{--r21-bg:#f5f9fe;background:linear-gradient(145deg,#fff,#f4f9ff);box-shadow:0 10px 30px rgba(31,73,110,.055)}html[data-theme="light"] .r21-eyebrow{color:#116b84}html[data-theme="light"] .r21-member,html[data-theme="light"] .r21-input{background:#fff;color:#17263b;border-color:#c9d9e9}html[data-theme="light"] .r21-agenda-row.is-late .r21-date{color:#9c3529}
@media(max-width:760px){.r21-board{padding:14px;border-radius:17px}.r21-columns{grid-template-columns:minmax(0,1fr)}.r21-head h3{font-size:19px}.r21-activity-row{display:grid;gap:2px}}
@media(max-width:350px){.r21-head{flex-wrap:wrap}.r21-refresh{margin-bottom:6px}.r21-agenda-row{grid-template-columns:75px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.r21-board *{transition:none!important;animation:none!important}}

/* Avoid duplicating the same shared tasks in the R20 overview and R21 assignment list.
   R20 counters/shopping remain; R21 becomes the single task action surface. */
#familyHub.r21-enhanced #r20FamilyBoard .r20-list-card:first-child{display:none!important}
#familyHub.r21-enhanced #r20FamilyBoard .r20-columns{grid-template-columns:minmax(0,1fr)!important}
