
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#263d34;background:#f8f7f2;font-synthesis:none;--green:#285b48;--muted:#66766c;--line:#e3e7df;--paper:#fffefb;--amber:#f3e9c9}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button{border:1px solid var(--line);background:var(--paper);color:inherit;border-radius:12px;padding:11px 16px;min-height:44px;font-weight:600}button:hover{background:#edf2ea}button:disabled{opacity:.6;cursor:wait}button.primary{background:var(--green);color:white;border-color:var(--green)}button.danger{color:#a3322c;border-color:#e4b9b5}button.link{background:none;border:none;padding:6px 8px;font-size:13px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #bac8bf;border-radius:10px;background:white;color:#243b30;min-height:44px}input[type=checkbox]{width:21px;min-height:21px;accent-color:var(--green)}textarea{min-height:85px;resize:vertical}label{display:grid;gap:6px;font-size:14px;font-weight:600;margin-bottom:14px}fieldset{border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 0 16px}legend{padding:0 8px;font-size:14px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,4vw,42px);letter-spacing:-1.2px;font-weight:650;margin-bottom:10px}h2{font-size:21px;font-weight:650}h3{font-size:16px;margin-bottom:8px}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:13px}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;color:var(--muted)}.shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:#eff1e9;border-right:1px solid var(--line);padding:34px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:10px;align-items:center;margin-bottom:48px}.brand img{width:41px;height:41px}.brand strong{font-size:18px;letter-spacing:-.5px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.nav{display:grid;gap:7px}.nav button{text-align:left;background:transparent;border:0;font-weight:500;display:flex;gap:13px;align-items:center}.nav button.active{background:#dce7da;color:#174a36;font-weight:650}.nav span{font-size:20px;width:24px}.sidebar-bottom{margin-top:auto}.privacy{font-size:12px;color:var(--muted);line-height:1.5;margin-top:20px}.workspace{padding:28px 5vw 70px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px;gap:15px}.badge{font-size:12px;padding:7px 12px;border-radius:30px;background:#e9eee5;color:#47634e}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:30px}.page-head p{color:var(--muted);margin-bottom:0}.hero{padding:23px 26px;background:#e8eee1;border:1px solid #dce5d3;border-radius:18px;display:flex;gap:17px;align-items:center;margin-bottom:30px}.hero-icon{font-size:25px;background:#f9fbf3;border-radius:50%;width:47px;height:47px;display:grid;place-items:center;flex-shrink:0}.hero h2{font-size:17px;margin-bottom:4px}.hero p{font-size:14px;margin:0;color:#526749}.columns{display:grid;grid-template-columns:1.5fr 1fr;gap:28px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:5px 0 17px}.section-head h2{margin:0}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:13px}.item{display:flex;gap:14px;align-items:flex-start}.item .content{flex:1;min-width:0}.time{font-size:15px;font-weight:700;color:var(--green);min-width:52px;padding-top:2px}.tag{display:inline-block;padding:4px 8px;border-radius:6px;background:#edf0e8;font-size:11px;margin:4px 5px 3px 0}.tag.child{background:#f2e7dc;color:#855a35}.tag.adult{background:#e3ebf4;color:#41627e}.meta{font-size:13px;color:var(--muted);margin:5px 0}.actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.actions button{min-height:34px}.checkrow{display:flex;align-items:flex-start;gap:12px}.checkrow input{flex-shrink:0;margin-top:3px}.checkrow .content{flex:1}.done h3,.done .task-title{text-decoration:line-through;color:var(--muted)}.note{background:#fff6d9;border-color:#efe4bd}.empty{padding:28px 20px;border:1px dashed #cbd5c7;border-radius:15px;color:var(--muted);font-size:14px;line-height:1.6}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}.toolbar select,.toolbar input{width:auto}.week{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:10px;overflow-x:auto;padding-bottom:14px}.day{background:#eeefe8;border-radius:14px;padding:12px;min-height:230px}.day.today{background:#e2ebdd}.day h3{font-size:12px;text-transform:uppercase;letter-spacing:.5px;line-height:1.7}.day .card{padding:12px;border-radius:10px;font-size:13px}.day h3 strong{font-size:20px;display:block}.day .card h3{font-size:13px;text-transform:none;letter-spacing:0;line-height:1.4}.day .item{display:block}.day .time{margin-bottom:7px}.day .actions button{padding:3px;font-size:11px}.auth{max-width:580px;margin:50px auto;padding:30px}.auth .brand{margin-bottom:30px}.auth h1{font-size:32px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkboxes{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.checkboxes label{display:flex;align-items:center;gap:6px;margin:0;font-weight:400}.footer-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.family-row{display:flex;gap:10px;align-items:center;margin-bottom:12px}.family-row input{flex:1}.family-row span{min-width:70px;font-size:13px}dialog{border:1px solid var(--line);border-radius:22px;padding:28px;max-width:620px;width:calc(100% - 28px);max-height:90dvh;color:inherit;background:var(--paper)}dialog::backdrop{background:#16291f70;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.dialog-head h2{margin:0}.dialog-head button{border:0;background:none;font-size:22px}.form-error{color:#a3322c;font-size:14px;line-height:1.4;min-height:20px}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#263d34;color:white;padding:12px 20px;border-radius:12px;z-index:10;max-width:90vw;box-shadow:0 4px 20px #0002}#notice:empty{display:none}.skip{position:fixed;top:-100px;left:10px;padding:15px;background:white;z-index:50}.skip:focus{top:10px}:focus-visible{outline:3px solid #bf8226;outline-offset:3px}.status-high{color:#a34d25}.off{background:#fff0d0;color:#765221;padding:12px;border-radius:10px;margin-bottom:20px}.source-detail{white-space:pre-wrap;overflow-wrap:anywhere}.mobile-add{display:none}
@media(max-width:1000px){.shell{grid-template-columns:190px 1fr}.sidebar{padding:28px 14px}.workspace{padding:25px 24px 90px}.columns{grid-template-columns:1fr}.week{grid-template-columns:repeat(7,155px)}.brand strong{font-size:16px}}
@media(max-width:650px){.shell{display:block}.sidebar{height:auto;position:static;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0}.sidebar-bottom{position:absolute;right:14px;top:18px}.sidebar-bottom .privacy{display:none}.sidebar-bottom button{font-size:12px;padding:9px}.nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);background:#fffefbf5;backdrop-filter:blur(12px);z-index:5;padding:8px 4px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:0}.nav button{display:grid;justify-items:center;gap:2px;font-size:10px;text-align:center;padding:6px 2px;border-radius:9px}.nav span{font-size:21px}.workspace{padding:20px 18px 110px}.topbar{margin-bottom:25px}.topbar .primary{padding:10px 12px;font-size:12px}.page-head{margin-bottom:24px}.page-head h1{font-size:32px}.hero{padding:18px;gap:12px}.hero-icon{width:37px;height:37px;font-size:20px}.grid2{grid-template-columns:1fr;gap:0}.auth{margin:15px auto;padding:22px}.card{padding:17px}dialog{padding:21px}.badge{font-size:10px}.toolbar{gap:7px}.toolbar input,.toolbar select{max-width:100%;font-size:13px}#notice{bottom:85px}.week{grid-template-columns:repeat(7,160px)}}


[hidden]{display:none!important}.checkrow span.meta{display:block;margin-top:4px}.workspace{min-width:0}
.voice-home{margin:0 0 28px}.voice-main{width:100%;padding:20px;font-size:21px;border-radius:18px}.voice-main span{display:block;font-size:13px;font-weight:400;margin-top:5px;color:#e7f0e8}.voice-home>div{text-align:center;margin-top:5px}.voice-listening{text-align:center;padding:25px 5px}.voice-orb{font-size:40px;display:grid;place-items:center;width:110px;height:110px;border-radius:50%;background:#e1ebda;margin:0 auto 24px;box-shadow:0 0 0 12px #f1f5ed}.voice-listening h2{font-size:23px}.voice-summary{padding:22px;border-radius:16px;background:#eaf0e5;margin:20px 0}.voice-summary h3{font-size:23px;margin-top:10px}.voice-summary p{margin:8px 0}.voice-warning{background:#fff3d7;border-radius:12px;padding:14px;font-size:14px;line-height:1.6}.voice-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.voice-actions button{flex:1;min-height:50px}.voice-summary+details,details{margin-top:18px}summary{cursor:pointer;color:var(--muted);font-size:14px}#voice-error:empty{display:none}@media(max-width:650px){.voice-main{font-size:22px;min-height:90px}.voice-actions{position:sticky;bottom:-21px;background:var(--paper);padding:12px 0}.voice-actions button{padding:10px}.voice-warning{font-size:13px}}

.calendar-entry{display:block;width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:44px;margin:6px 0;padding:10px 8px;font-size:.88rem;background:#eef2df;border:0;border-radius:9px}.entry-options{display:grid;gap:12px}.entry-options button{min-height:58px;text-align:left;font-size:1.1rem}.query-answer{line-height:1.7}.image-preview{max-width:100%;max-height:240px;object-fit:contain}.image-action{padding:12px;border:1px solid #dfe4d7;border-radius:12px;margin:12px 0}

@media(max-width:650px){.sidebar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.sidebar .brand{min-width:0;gap:8px}.sidebar-bottom{position:static;margin:0;flex-shrink:0}.topbar .primary{flex-shrink:0}.badge{min-width:0;overflow-wrap:anywhere}.page-head>div{min-width:0}}@media(max-width:420px){.sidebar .brand small{display:none}.sidebar .brand strong{font-size:14px}.sidebar .brand img{width:34px;height:34px}.sidebar-bottom button{font-size:11px;padding:8px}}

.quick-entry{display:flex;gap:6px;align-items:center}#notice button{color:white;text-decoration:underline;margin-left:8px}@media(max-width:650px){.topbar{flex-wrap:wrap}.quick-entry{margin-left:auto}.quick-entry>button:not(.primary){padding:9px}.topbar .badge{max-width:100%}}

.inline-check{display:flex;align-items:center;gap:7px;margin:0}.rolling-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.rolling-calendar .day{min-width:0;min-height:150px;padding:16px}.rolling-calendar h2{text-transform:uppercase;font-size:14px;letter-spacing:.5px;border-bottom:1px solid #d4decc;padding-bottom:10px}.calendar-toolbar label{margin:0}.routine-board{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px}.routine-day{background:#f0f0e8;border-radius:18px;padding:14px;min-width:0}.routine-day>h2{font-size:18px;padding:6px 2px}.routine-block{padding:12px;border-radius:12px;margin-bottom:12px;background:#fffefb}.routine-block h3{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:#596953}.category-clothing{background:#f5ebdf}.category-activity{background:#e6eee2}.category-snack{background:#fbefce}.category-preparation{background:#e6edf2}.routine-chip{display:block;text-align:left;width:100%;border:0;border-radius:9px;margin:6px 0;padding:10px;background:#ffffffb0;font-size:14px;font-weight:500;overflow-wrap:anywhere}.routine-people{display:block;font-size:11px;font-weight:700;color:#61705b;margin-bottom:3px}.routine-block .muted{margin:0;font-size:12px}.calendar-filters{gap:20px}@media(max-width:650px){.rolling-calendar,.routine-board{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible}.rolling-calendar .day{min-height:0}.routine-day>h2{font-size:22px}.routine-block h3{font-size:13px}.calendar-entry{font-size:15px;padding:12px}.calendar-toolbar{justify-content:flex-start}.calendar-toolbar #anchor{max-width:175px}.calendar-toolbar #person{flex-basis:100%}.calendar-toolbar label{display:flex;align-items:center;gap:8px}}
.workspace{min-width:0}

/* Two readable families of entries: neutral child plans and accented adult actions. */
.calendar-entry{background:#fffefb;border:1px solid #dce2d6}
.adult-action{background:#e8eafb!important;color:#303b78;border-left:4px solid #5865a6!important;font-weight:650}
.routine-day{background:#eeefe8}
.notification.unread{border-left:4px solid #285b48}.notification.assignment{border-color:#5865a6;background:#f0f1fd}
.notification p{overflow-wrap:anywhere}.family-row{flex-wrap:wrap;align-items:end}.family-row label{flex:1;min-width:140px;margin:0}.family-row input{min-width:0}
@media(max-width:650px){.quick-entry{flex-wrap:wrap}.calendar-entry{font-size:15px}.family-row label{flex-basis:100%}}

.calendar-category{padding:10px;margin-bottom:10px}.calendar-category:last-child{margin-bottom:0}.calendar-category h3{margin:0 0 8px;font-size:12px;line-height:1.4}.calendar-category .calendar-entry{margin:5px 0}.category-adult_action{background:#f0f1fd}

/* Adult color follows the responsible person; names remain readable without color. */
.adult-action.color-purple{background:#e8eafb!important;color:#303b78!important;border-left-color:#858dc1!important}
.adult-action.color-pink{background:#f6e6ee!important;color:#783452!important;border-left-color:#bf88a2!important}
.adult-action.color-blue{background:#1d4ed8!important;color:#fff!important;border-left-color:#163ca8!important}
.adult-action.color-teal{background:#0f766e!important;color:#fff!important;border-left-color:#09544e!important}
.adult-action.color-amber{background:#92400e!important;color:#fff!important;border-left-color:#78350f!important}
.task-row{display:flex;align-items:center;gap:10px;min-height:52px;padding:4px 12px;margin:8px 0;border-radius:12px;background:#fff;border:1px solid #ddd}
.task-row>input{width:22px;height:22px;flex-shrink:0;accent-color:#532280}
.task-row>button{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;border:0;background:transparent;color:inherit;padding:12px 0;font-weight:600}
.task-history{margin-top:24px}.task-history summary{padding:12px;cursor:pointer}
.checklist{list-style:none;padding:0;margin:16px 0}.checklist li{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #ddd;padding:8px 0}
.checklist li label{display:flex;align-items:center;gap:10px;min-width:0;flex:1;margin:0;overflow-wrap:anywhere}.checklist input{width:22px;height:22px;flex-shrink:0}.checklist input:checked+span{text-decoration:line-through;color:#686868}
.checklist-controls{display:flex;flex-shrink:0;gap:2px}.checklist-controls button{min-width:44px;min-height:44px;padding:6px}
#add-checklist{display:flex;gap:8px;align-items:end}#add-checklist label{flex:1;min-width:0}#add-checklist button{margin-bottom:14px}
@media(max-width:420px){.checklist li{flex-wrap:wrap}.checklist-controls{margin-left:auto}.checklist li label{flex-basis:calc(100% - 145px)}}

.fold-row{display:flex;align-items:center;gap:6px}.fold-row>button{border:0;background:transparent;color:inherit}.fold-row .fold-toggle{flex:0 0 40px;min-width:40px;min-height:44px;padding:4px;font-size:25px;text-align:center}.fold-row .fold-title{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:10px 2px;min-height:44px;font:inherit}.fold-item{min-width:0}.fold-item .task-row{margin-bottom:0}.fold-item .calendar-entry{width:100%;padding:0 8px}.fold-item .routine-chip{padding:0 6px}.inline-list{background:#fffefb;border-radius:0 0 12px 12px;padding:4px 12px 12px;margin-bottom:8px}.inline-list[hidden]{display:none}.inline-list ul{list-style:none;margin:0;padding:0}.inline-list li{display:flex;align-items:center;gap:9px;min-height:44px;border-bottom:1px solid #eeeee8}.inline-list li label{display:flex;align-items:center;flex:1;gap:10px;margin:0;min-width:0}.inline-list li span{overflow-wrap:anywhere}.inline-list input[type=checkbox]{width:20px;height:20px;flex-shrink:0}.inline-list input:checked+span{text-decoration:line-through;color:#737373}.inline-list .list-remove{margin-left:auto;flex-shrink:0;border:0;background:transparent;min-height:44px;min-width:36px;color:#777}.inline-list form{display:flex;gap:6px;padding-top:8px}.inline-list form input{flex:1;min-width:0;margin:0}.inline-list form button{min-width:44px}.bag-bullet{color:#6a756a}.task-row>input{flex-shrink:0}.fold-item .task-row .fold-toggle{flex:0 0 36px;min-width:36px}
/* Outlook pilot report stays readable at phone widths. */
.mail-json { white-space:pre-wrap; overflow-wrap:anywhere; max-height:320px; overflow:auto; font-size:.75rem; }
.mail-code { font-size:1.6rem; letter-spacing:.15em; font-weight:700; }
#outlook { margin-bottom:16px; }

.document-drop{display:block;padding:24px;border:2px dashed #aaa;border-radius:16px;margin:16px 0}.document-drop input{display:block;max-width:100%;margin-top:16px}.mail-json{overflow-wrap:anywhere;white-space:pre-wrap;max-width:100%}


/* The microphone remains the primary action; alternatives never require a menu. */
.quick-entry{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:flex-end}.secondary-entry{display:flex;gap:6px;flex-wrap:wrap}.secondary-entry button{font-size:13px;padding:9px 10px}.query-answer{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.topbar{flex-wrap:wrap;margin-bottom:22px}.quick-entry{width:100%;display:grid;grid-template-columns:44px 1fr}.quick-entry #add{width:100%;min-height:52px}.secondary-entry{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.secondary-entry button{padding:10px 4px;font-size:12px}.voice-actions{flex-wrap:wrap}}

.person-identity{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;color:var(--identity,#475569);vertical-align:middle}.member-avatar{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--identity,#475569);color:white;font-size:14px;font-weight:750;overflow:hidden;flex-shrink:0}.member-avatar img{width:100%;height:100%;object-fit:cover}.identity-name{font-size:11px;font-weight:700;max-width:65px;overflow:hidden;text-overflow:ellipsis}.identity-purple{--identity:#7136a8}.identity-pink{--identity:#ad246c}.identity-blue{--identity:#195f9e}.identity-teal{--identity:#167365}.identity-amber{--identity:#8b560c}.calendar-entry,.routine-chip,.fold-title{display:flex;align-items:center;gap:7px;min-width:0}.compact-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.family-row{align-items:start;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:16px;border:1px solid var(--line);border-radius:14px;margin-bottom:16px}.family-row>.person-identity{grid-column:1/-1}.family-row .member-avatar{width:48px;height:48px;font-size:22px}.family-row .identity-name{font-size:16px;max-width:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #165c48;outline-offset:3px}
@media(max-width:600px){.member-avatar{width:28px;height:28px}.identity-name{font-size:10px;max-width:48px}.calendar-entry,.routine-chip,.fold-title{gap:5px}.secondary-entry button{font-size:11px}.family-row{grid-template-columns:1fr 1fr}.voice-home{position:relative}.voice-main{min-height:58px}}

.response-overview{display:flex;align-items:center;gap:10px;padding:8px 0}.response-overview>span{min-width:0;overflow-wrap:anywhere}
/* Family home direction — October 2026. Components below preserve existing flows. */
:root{--green:#6841ca;--muted:#65708a;--line:#e4e5f0;--paper:#fff;color:#172441;background:#f6f7fc}
body{background:radial-gradient(ellipse at 20% 0,#eff1ff,transparent 45%),#f7f8fc}
button:hover{background:#f0edff}button.primary{background:linear-gradient(135deg,#8561e1,#6036c6);border:1px solid #7046ce;box-shadow:0 4px 12px #6741bf20;color:#fff}
h1{font-size:32px;letter-spacing:-1px;color:#182443}h2{color:#202e50}input,select,textarea{color:#253351;border-color:#c8cddd}summary{color:#435176;min-height:44px;padding:10px 0;font-weight:600}
.sidebar{background:#fff;border-color:var(--line)}.sidebar .brand small{line-height:1.6}.nav button.active{background:#eee8ff;color:#5932b6}.workspace{max-width:1180px;padding-top:24px}.topbar{margin-bottom:26px}.badge{background:#edeefa;color:#505777}.page-head{margin-bottom:20px}.page-head p{font-size:14px}
.family-strip{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.family-strip button{border:0;background:none;padding:4px;min-width:56px}.family-strip .person-identity{flex-direction:column;gap:6px}.family-strip .member-avatar{width:48px;height:48px;box-shadow:0 3px 10px #25385a15}.family-strip .identity-name{max-width:100px;font-size:12px;color:#283657}
.member-avatar svg{width:100%;height:100%;display:block}.identity-purple .member-avatar{background:#c6b2fb}.identity-pink .member-avatar{background:#f8abd2}.identity-blue .member-avatar{background:#9ecefb}.identity-teal .member-avatar{background:#98ddcc}.identity-amber .member-avatar{background:#ffdd9b}
.home-view .topbar #add,.home-view .topbar .secondary-entry{display:none}.voice-home{padding:20px;background:#fff;border:1px solid #e7e3f4;border-radius:24px;margin-bottom:24px;box-shadow:0 6px 24px #332b6410}.jefri-greeting{display:flex;gap:16px;align-items:center;margin-bottom:14px}.jefri-butler{width:62px;height:68px;flex-shrink:0}.jefri-greeting strong{font-size:18px}.jefri-greeting p{font-size:13px;color:var(--muted);margin:5px 0}.voice-main{min-height:58px;padding:15px;font-size:20px;border-radius:18px}.home-secondary{display:flex;justify-content:center;flex-wrap:wrap;margin-top:8px}.home-secondary button{font-size:12px;padding:8px;min-height:44px;color:#515c80}
.today-agenda{background:#eef4ff;border:1px solid #e4ebfb;border-radius:22px;padding:20px;margin-bottom:20px}.today-agenda .section-head{margin:0 0 12px}.today-agenda .section-head p{margin:5px 0 0}.today-agenda .calendar-entry{border:0;min-height:54px;background:#fff}.calm-empty{margin:15px 0;color:#5c6e8d;font-size:14px}.attention-section{margin:22px 0}.attention-section h2{font-size:18px}.home-modules{display:grid;gap:10px}.module-summary{width:100%;display:flex;gap:10px;align-items:center;text-align:left;padding:13px 15px;border:0;border-radius:16px}.module-summary strong{font-size:14px}.module-summary>span:nth-last-child(2){margin-left:auto;font-size:12px;font-weight:400}.module-fridge{background:#fff0ce;color:#72561d}.module-requests{background:#eee8ff;color:#563c8d}.module-medicine{background:#def5ec;color:#275e51}.module-summary>span:first-child{font-size:22px}
.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.more-card{display:grid;grid-template-columns:38px 1fr 16px;gap:5px 10px;text-align:left;padding:20px;border-radius:20px}.more-card>span:first-child{grid-row:1/3;font-size:25px;color:#7654c5}.more-card small{grid-column:2;color:var(--muted);font-weight:400}.more-card>span:last-child{grid-column:3;grid-row:1/3;align-self:center}.more-card strong{font-size:16px}
.day-switch{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:7px;margin-bottom:15px}.routine-date-label{margin:0;text-align:center;font-size:15px;min-width:0}.routine-date-label input{padding:3px 8px;min-height:30px;border:0;font-size:12px;text-align:center}.day-switch>button{border:0;color:#6841ca;font-size:21px}.daily-routines{max-width:740px}.daily-routines .routine-block{padding:16px;border-radius:20px;margin-bottom:16px}.daily-routines h2{font-size:17px;margin:0 0 10px}.daily-routines .routine-chip{min-height:54px;background:#ffffffd9;border:0;padding:10px 12px}.routine-chip:after{content:'›';color:#7952c9;margin-left:auto;padding-left:6px}.category-clothing{background:#e4efff}.category-activity{background:#fdeaf3}.category-snack{background:#fff3cf}.category-preparation{background:#eceafb}.category-adult_action{background:#eee8fb}.routine-block h3{color:#485575}.rolling-calendar .day{background:#fff;border:1px solid var(--line);padding:18px}.rolling-calendar .day.today{border:2px solid #bba7f0;background:#fcfaff}.rolling-calendar h2{border-color:#e6e5f2;color:#4c4677}
.calendar-entry,.routine-chip{display:flex;align-items:center;gap:10px;min-width:0}.calendar-entry .compact-content,.routine-chip .compact-content{font-weight:550}.adult-action.color-purple{background:#f0eafa!important;color:#563586!important;border-left-color:#895acb!important}.adult-action.color-pink{background:#fce8f3!important;color:#96345f!important;border-left-color:#d35598!important}
.activity-heading{padding:16px;background:#f2edff;border-radius:18px;margin-bottom:18px}.activity-heading h2{margin:12px 0 0}.activity-facts{margin:0 0 20px}.activity-facts>div{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.activity-facts dt{font-weight:650;color:#5e498f}.activity-facts dd{margin:0;overflow-wrap:anywhere}.activity-packing{background:#f2eeff;padding:4px 16px 14px;border-radius:18px}.activity-packing li{padding:7px 0;line-height:1.5}.dialog-brand{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#615281}.dialog-brand .jefri-butler{width:29px;height:33px}dialog{background:#fff;box-shadow:0 18px 70px #23234330}dialog::backdrop{background:#23243e65}.voice-orb{background:#eee6ff;box-shadow:0 0 0 12px #f8f3ff}.voice-summary{background:#f0ecfb}.query-answer{background:#edf5ff;padding:18px;border-radius:18px}.notification.unread{border-left-color:#8560d6}.notification.assignment{background:#f5f0ff}.card{border-color:var(--line);box-shadow:none}.note{background:#fff8df}.family-member{margin:0 0 12px;border:1px solid var(--line);border-radius:18px;padding:5px 14px}.family-member>summary{display:flex;justify-content:space-between;gap:12px;align-items:center}.family-member>summary>span:last-child{font-size:12px}.family-member .family-row{padding-top:16px;border-top:1px solid var(--line)}.family-member .family-row>.person-identity{display:none}.family-row .member-avatar{min-width:0}.family-row label{min-width:0}.form-error{overflow-wrap:anywhere}
:focus-visible{outline:3px solid #7445c8;outline-offset:3px}.toolbar button,.toolbar select{font-size:13px}.medicine-tabs{display:flex;gap:8px;flex-wrap:wrap}.medicine-tabs button[aria-pressed=true]{background:#e4f2ec;color:#245c4a}.medicine-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.medicine-row p{margin-bottom:6px}
@media(min-width:651px){.home-view #page{max-width:720px;margin:auto}.daily-routines{margin:0 auto}.day-switch{max-width:740px;margin-left:auto;margin-right:auto}.home-view .topbar{margin-bottom:16px}}
@media(max-width:650px){body{background:#f8f9fd}.sidebar{padding:15px 18px;background:#fff}.sidebar .brand strong{font-size:19px}.sidebar .brand small,.sidebar .brand img,.sidebar-bottom{display:none}.workspace{padding:14px 16px calc(110px + env(safe-area-inset-bottom))}.topbar{margin-bottom:18px}.topbar .badge{font-size:11px}.quick-entry{gap:5px}.secondary-entry{width:100%;justify-content:flex-end}.page-head h1{font-size:26px}.page-head p{font-size:13px}.nav{background:#fffffff5;padding-top:7px;border-color:#e9e4f6}.nav button{font-size:11px;min-height:50px}.nav span{color:#7654bd}.family-strip{gap:12px;justify-content:space-between;margin-bottom:15px}.family-strip .member-avatar{width:43px;height:43px}.voice-home{padding:15px;border-radius:20px;margin-bottom:20px}.jefri-greeting strong{font-size:16px}.jefri-greeting p{font-size:12px}.jefri-butler{width:49px;height:57px}.voice-main{font-size:20px;min-height:56px}.home-secondary{gap:0}.home-secondary button{padding:7px 5px;font-size:11px}.today-agenda{padding:15px;border-radius:20px}.today-agenda h2{font-size:22px}.today-agenda .calendar-entry{padding:10px 8px;font-size:14px}.more-grid{grid-template-columns:1fr}.more-card{padding:17px}.calendar-entry .identity-name,.routine-chip .identity-name{max-width:64px}.rolling-calendar{gap:16px}.family-row{display:grid;grid-template-columns:1fr}.family-row label{width:100%}.activity-heading{padding:14px}.dialog-brand{font-size:12px}.daily-routines .routine-chip{font-size:14px}.module-summary{gap:8px}.module-summary strong{font-size:13px}.module-summary>span:nth-last-child(2){font-size:11px}.calendar-toolbar #person{flex-basis:auto}.calendar-toolbar{gap:6px}.calendar-toolbar input{min-width:0;max-width:155px}dialog{padding:20px;max-height:calc(100dvh - 28px)}.home-view .topbar{position:absolute;top:7px;right:13px}.home-view .topbar .badge{display:none}.home-view .page-head{margin-top:5px}.home-view .sidebar .brand strong{padding-right:42px}.home-view .quick-entry{margin:0}.family-member>summary .identity-name{max-width:170px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.topbar #notifications{white-space:nowrap;min-width:54px;display:block}.notification-settings{background:#f6f3fc;border-radius:14px;padding:4px 14px;margin-bottom:20px}.notification-settings .actions{gap:8px}.secondary-routines{margin-bottom:18px}
.columns>section{min-width:0}.section-head{gap:10px;flex-wrap:wrap}.section-head h2{min-width:0;overflow-wrap:anywhere}.section-head button{flex-shrink:0}
.module-summary{flex-wrap:wrap}.module-summary>small{flex-basis:100%;font-weight:500;margin:0 0 2px 32px;line-height:1.5;overflow-wrap:anywhere}.module-summary:has(small){padding-top:16px;padding-bottom:16px}
@media(max-width:650px){.topbar .badge{display:none}.quick-entry{width:100%;display:grid;grid-template-columns:54px 1fr}.topbar #add{font-size:15px;min-height:44px;padding:10px}.secondary-entry{grid-column:1/-1;display:flex!important;justify-content:center;gap:2px!important}.secondary-entry button{background:none;border:0!important;font-size:11px!important;padding:7px!important;min-height:44px}.topbar{margin-bottom:15px}.home-view .quick-entry{display:block;width:auto}.home-view .topbar .secondary-entry{display:none!important}.home-view .topbar{width:auto}.home-view .topbar #notifications{min-width:44px;padding:10px 8px}.family-member .identity-name{max-width:130px}.medicine-row{align-items:flex-start}.medicine-row>div{min-width:0}.medicine-row h3{overflow-wrap:anywhere}.medicine-row>div:last-child{max-width:100px}.medicine-row button{padding:8px;font-size:12px}}

/* Purple butler identity and approved illustrated family portraits. */
.brand strong{color:#6038b3;font-weight:800;letter-spacing:-.6px}.brand img{border-radius:12px}.jefri-butler{object-fit:contain;border-radius:15px}.dialog-brand .jefri-butler{border-radius:8px}.member-avatar img{width:100%;height:100%;object-fit:cover}.family-strip .member-avatar{box-shadow:0 3px 10px #33255320;outline:2px solid #fff;outline-offset:1px}
@media(max-width:650px){.sidebar .brand img{display:block;width:30px;height:30px;border-radius:9px;flex-shrink:0}.sidebar .brand strong{font-size:18px}.sidebar .brand{gap:9px}.home-view .sidebar .brand strong{padding-right:25px}.family-strip .member-avatar{width:47px;height:47px}.jefri-greeting .jefri-butler{width:53px;height:53px}.family-strip .identity-name{font-weight:650}}

.avatar-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;grid-column:1/-1}.avatar-options button{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px;border:2px solid transparent;background:#f7f4fc;font-size:12px}.avatar-options button[aria-pressed="true"]{border-color:#7850c5;background:#ede4ff}.avatar-options img{width:56px;height:56px;border-radius:50%}

.task-deadline{display:block;font-size:11px;font-weight:500;color:#655d76;margin-top:3px}.task-deadline.overdue{color:#a52f4c}

.task-summary{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:0;border-radius:15px;padding:13px 12px;margin:0 0 9px;min-height:66px;background:#f4f2f9;color:#302b44}.task-summary-body{flex:1;min-width:0}.task-summary-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.task-chevron{margin-left:auto;font-size:23px;flex-shrink:0;color:#7952c9}.task-summary.done .task-summary-title{text-decoration:line-through;opacity:.7}.task-color-purple{background:#f0eafa}.task-color-pink{background:#fce8f3}.task-color-blue{background:#e7f1fc}.task-color-teal{background:#e3f5ef}.task-color-amber{background:#fff3d5}.task-completion{display:flex;align-items:center;gap:10px;padding:12px 0}.task-completion input{width:21px;height:21px}

.task-origin{display:block;font-size:11px;color:#655d76;margin-top:3px;font-weight:400}

/* Mobile landscape board; portrait and large-screen layouts stay unchanged. */
.tasks-landscape{display:none}
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){
 .tasks-portrait{display:none}.tasks-landscape{display:block}
 .shell{display:block}.sidebar{height:auto;position:static;padding:8px 16px}.sidebar .brand{margin:0}.sidebar .brand small,.sidebar-bottom{display:none}.sidebar .brand img{display:block;width:26px;height:26px}.sidebar .brand strong{font-size:17px}
 .nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;z-index:20;background:#fffffff5;padding:2px 8px}.nav button{flex:1;min-height:42px;font-size:11px;padding:4px}.nav span{font-size:17px}
 .workspace{padding:10px max(16px,env(safe-area-inset-right)) 65px max(16px,env(safe-area-inset-left))}.topbar{margin-bottom:8px}.page-head{margin-bottom:10px}.page-head h1{font-size:23px}.page-head p{margin:4px 0;font-size:12px}.quick-entry{gap:5px}.quick-entry .primary{min-height:38px;padding:7px 12px}.secondary-entry{width:auto}
 .workspace:has(.weekly-task-board) .topbar,.workspace:has(.rolling-calendar) .topbar{display:none}.page-head p{display:none}.toolbar{margin-bottom:8px}.page-head h1{margin-bottom:2px}.tasks-landscape>.toolbar{margin-top:4px}.nav{padding-bottom:max(2px,env(safe-area-inset-bottom))}
 .rolling-calendar,.weekly-task-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);grid-template-columns:none;gap:10px;overflow-x:auto;align-items:start;padding:3px 2px 12px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
 .rolling-calendar>.day,.week-task-day{min-width:180px;scroll-snap-align:start;border:1px solid #e4dcef;border-radius:16px;background:#fff;padding:10px}.week-task-day.is-today{border:2px solid #bba7f0;background:#fcfaff}.week-task-day h2,.rolling-calendar .day h2{font-size:14px;margin:0 0 12px;padding-bottom:8px;color:#65439c;border-bottom:1px solid #ece6f5}
 .rolling-calendar .calendar-category{padding:8px;margin-bottom:8px;border-radius:12px}.rolling-calendar h3{font-size:12px;margin:0 0 7px}.rolling-calendar .calendar-entry{padding:7px 4px;min-height:42px;gap:4px;font-size:12px}.rolling-calendar .identity-name{display:none}.rolling-calendar .member-avatar{width:23px;height:23px}
 .weekly-task-board .task-summary{padding:9px 7px;gap:5px;flex-wrap:wrap}.weekly-task-board .task-summary .identity-name{font-size:10px}.weekly-task-board .task-summary-body{flex-basis:110px}.weekly-task-board .task-summary-title{white-space:normal;font-size:12px;line-height:1.3}.weekly-task-board .task-chevron{font-size:19px}.weekly-task-board .task-origin,.weekly-task-board .task-deadline{font-size:10px}.week-task-extra{margin-top:8px;background:#f4f0fb;border-radius:12px;padding:10px}.week-task-extra summary{font-size:13px;font-weight:600}.week-task-extra .task-summary{margin-top:8px;max-width:440px}
}
.next-match{display:block;width:100%;text-align:left;background:#eee8fb;margin-bottom:12px;font-size:13px}
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){
 .compact-week-view .topbar{display:none}.compact-week-view .workspace{padding:4px 12px 0;max-width:none}.compact-week-view .sidebar{padding:4px 12px}.compact-week-view .sidebar .brand img{width:22px;height:22px}.compact-week-view .sidebar .brand strong{font-size:14px}
 .compact-week-view .shell{height:100dvh;min-height:0;overflow:hidden}.compact-week-toolbar{height:42px;display:flex;align-items:center;gap:5px;overflow-x:auto;white-space:nowrap}.compact-week-toolbar button,.compact-week-toolbar select{min-height:30px;padding:4px 7px;font-size:11px;width:auto}.compact-week-toolbar strong{font-size:11px}.compact-workweek{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;height:calc(100dvh - 125px - env(safe-area-inset-bottom));min-height:0}
 .compact-week-day{min-width:0;background:#fff;border:1px solid #e4dcef;border-radius:10px;padding:5px;overflow:hidden}.compact-week-day.is-today{border-color:#9c7cda;background:#fcfaff}.compact-week-day h2{font-size:12px;text-transform:capitalize;white-space:nowrap;margin:0 0 5px;line-height:20px;color:#65439c}
 .compact-week-day .calendar-entry{min-height:26px;height:26px;font-size:11px;padding:3px;margin:3px 0;gap:4px;border-radius:6px}.compact-week-day .member-avatar{width:18px;height:18px}.compact-week-day .identity-name{display:none}.compact-week-day .compact-content{font-size:11px}.compact-week-day .week-more{min-height:24px;height:24px;width:100%;padding:2px;font-size:11px;background:#eee8ff}.compact-week-day .small{font-size:11px}
}

/* Semantic day layout: quiet morning logistics, personal activity colours. */
.home-day-group{margin-top:16px}.home-day-group h3{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#686275;margin:0 0 8px}.category-morning{background:#f5f5f8}.category-activity{background:#f7f6fa}.morning-gap{height:8px}.routine-pictogram{width:19px;height:19px;flex:0 0 19px;color:#787184}.morning-row{display:flex;align-items:center;gap:7px;background:#f5f5f8!important;color:#4d4858}.morning-row .identity-name{color:#60596b}.morning-row .member-avatar{display:none}.morning-row .person-identity{background:transparent}.home-day-group .routine-chip{min-height:42px;padding:8px;margin:3px 0}.activity-color-blue{background:#e7f1fc!important;border-left:3px solid #669edb!important}.activity-color-teal{background:#e3f5ef!important;border-left:3px solid #61b599!important}.activity-color-purple{background:#f0eafa!important;border-left:3px solid #b49bd9!important}.activity-color-pink{background:#fce8f3!important;border-left:3px solid #db9cc0!important}.activity-color-amber{background:#fff3d5!important;border-left:3px solid #d3af55!important}.activity-color-family{background:#f1eff8!important}.daily-routines .morning-row{background:#fff!important}.home-day-group .calendar-entry{margin-bottom:5px}
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){
.compact-week-day{overflow-y:auto;overscroll-behavior:contain}.compact-week-day .routine-block{padding:0;background:transparent;margin:0 0 9px}.compact-week-day .routine-block h3{font-size:10px;margin:5px 0;letter-spacing:.03em}.compact-week-day .routine-chip{display:flex;align-items:center;gap:3px;min-height:28px;margin:3px 0;padding:4px;font-size:11px}.compact-week-day .routine-chip .member-avatar{width:17px;height:17px}.compact-week-day .routine-pictogram{width:13px;height:13px;flex-basis:13px}.compact-week-day .morning-row .identity-name{display:inline;font-size:10px;max-width:43px}.compact-week-day .morning-row .compact-content{font-size:10px}.compact-week-day .morning-gap{height:5px}.compact-week-day .routine-chip:after{padding-left:0;font-size:12px}.home-view .home-day-group .routine-pictogram{width:15px;height:15px;flex-basis:15px}.home-view .home-day-group .routine-chip{min-height:30px;padding:4px;font-size:12px}
}

@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){
.compact-week-day .routine-chip{min-height:23px;height:23px;margin:2px 0;padding:3px}.compact-week-day .routine-block{margin-bottom:6px}.compact-week-day .routine-block h3{margin:3px 0;line-height:13px}.compact-week-day .morning-gap{height:3px}
}

/* Soft category colours and consistent illustrated morning icons. */
.category-morning{background:#faf9fc}.morning-row.morning-clothing{background:#eef4fc!important}.morning-row.morning-snack{background:#fff6df!important}.morning-row .identity-name:after{content:" ·";color:#888092;margin-left:3px}
.morning-row .identity-name{white-space:nowrap}@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){.compact-week-day .morning-row .identity-name{max-width:55px;white-space:nowrap}.compact-week-day .morning-row .person-identity{flex-shrink:0}}

/* Morning rows: child portrait/name, then category pictogram and content. */
.morning-row .member-avatar{display:inline-flex;width:25px;height:25px}.morning-row .identity-name:after{content:none}.morning-row .person-identity{gap:5px}
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){.compact-week-day .morning-row{gap:2px;padding:3px 2px}.compact-week-day .morning-row .member-avatar{width:15px;height:15px}.compact-week-day .morning-row .person-identity{gap:2px}.compact-week-day .morning-row .identity-name{font-size:9px;max-width:42px}.compact-week-day .morning-row .routine-pictogram{width:11px;height:11px;flex-basis:11px}.compact-week-day .morning-row .compact-content{font-size:9px}}

.swipe-remove{display:block;margin:-3px 0 8px auto;width:48px;min-height:40px;background:#c9354e;color:white;border:0;border-radius:9px;font-size:27px;line-height:1}.compact-week-day .swipe-remove{min-height:26px;height:26px;font-size:21px;width:34px}.day-switch{touch-action:pan-y}
