.family-tool-card{background:var(--card-bg,#fff);color:var(--text,#182624);border:1px solid #789c922e;border-radius:22px;padding:24px;margin:24px 0;box-shadow:0 6px 24px #163c3207}
.family-tool-heading,.family-tool-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.family-tool-heading h2{flex:1;margin:0}.family-tool-card p{color:var(--muted,#687b76)}
.family-tool-filters{margin:16px 0}.family-tool-filters [aria-pressed=true]{background:#237d73;color:white}.family-tool-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:14px 0;background:none;border:0;border-bottom:1px solid #789c9226;text-align:left;color:inherit;cursor:pointer}.family-tool-row>span:first-child{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.family-tool-row small{text-transform:capitalize;color:#458b80}.family-tool-row strong{font-size:1.05rem}.family-tool-row span span{color:var(--muted,#687b76)}
.routine-templates{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}.routine-template{padding:16px;border-radius:16px;background:#789c9210}.routine-template li{padding:4px 0;overflow-wrap:anywhere}.routine-editor{width:min(520px,calc(100% - 32px));max-height:85dvh;overflow:auto;border:1px solid #789c9240;border-radius:22px;padding:24px}.routine-editor::backdrop{background:#001d2466}.routine-editor label{display:grid;gap:8px;margin:16px 0}.routine-editor input,.routine-editor textarea{width:100%;box-sizing:border-box;font:inherit;padding:12px}.routine-editor [role=alert]{color:#b14335}
[data-theme=dark] .family-tool-card,[data-theme=dark] .routine-editor{background:#1c2926;color:#e6f3ef}[data-theme=dark] .family-tool-card p,[data-theme=dark] .family-tool-row span span{color:#b6c9c4}
@media(max-width:600px){.family-tool-card{padding:18px}.family-tool-heading button{min-height:44px}.family-tool-row{min-height:48px}.routine-template .family-tool-heading{align-items:stretch}}
.routine-editor label.family-tool-row{display:flex;justify-content:flex-start;min-height:44px}.routine-editor input[type=checkbox]{width:24px;height:24px;flex:0 0 24px;accent-color:#237d73}.routine-editor input:checked+span{text-decoration:line-through}.completed-list-items summary,#familyRoutines summary{cursor:pointer;padding:16px 0;min-height:44px}
.routine-editor select{width:100%;min-height:44px;font:inherit;padding:10px;border-radius:10px;color:inherit;background:var(--card-bg,#fff)}
.routine-editor fieldset{border:1px solid #789c9240;border-radius:12px;min-width:0}.routine-editor fieldset[hidden]{display:none}
[data-theme=dark] .routine-editor select{background:#1c2926}
.routine-editor,.routine-editor select{box-sizing:border-box}
.routine-editor input[type=time]{min-width:0;max-width:100%}
.routine-today{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid #789c9240}
.routine-today>.family-tool-row{flex:1;min-width:0}
.today-menu{position:relative;flex:none}
.today-menu>summary{list-style:none;cursor:pointer;display:grid;place-items:center;min-width:44px;min-height:44px;color:var(--teal,#237d73);border-radius:12px}
.today-menu>summary::-webkit-details-marker{display:none}
.today-menu>div{position:absolute;right:0;top:100%;z-index:20;width:min(260px,70vw);padding:12px;background:#fff;border:1px solid #789c9240;border-radius:16px;box-shadow:0 8px 24px #0002}
.today-menu button{display:block;width:100%;min-height:44px;text-align:left;white-space:normal;margin:4px 0}
[data-theme=dark] .today-menu>div{background:#1b2b27;color:#edf6f3}
#unifiedToday [data-filter]{width:auto;max-width:45%;min-height:44px;padding:8px 12px;border:1px solid #789c9240;border-radius:12px;background:transparent;color:inherit;font:inherit}
#unifiedToday .family-tool-items>div:last-child{border-bottom:0}
.routine-today>.family-tool-row{border:0}
.routine-today progress{width:100%;height:8px;accent-color:#237d73}
.routine-today .family-tool-heading{margin-top:12px}
.routine-today .family-tool-heading button{min-height:44px;white-space:normal}
.routine-editor .family-tool-row small{max-width:42%;overflow-wrap:anywhere;text-transform:none}
