/* Comfortable desktop density and touch-sized controls. No external fonts. */
.hours-reuse{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0 18px;padding:14px;background:#eef3e8;border-radius:10px}.hours-reuse label{margin:0}.hours-reuse small{flex-basis:100%}
:root{color:#233b32}main{max-width:1850px}small{color:#596d54}button{font-size:15px;min-height:44px}input,select,textarea{font-size:16px}label{font-size:14px;color:#40573a}h1{font-size:38px}h2{font-size:21px}h3{font-size:17px}.eyebrow{font-size:12px;color:#576b4c}header p:last-child{font-size:16px;color:#576b4c}nav button{font-size:17px}.toolbar>span{font-size:14px;color:#576b4c}.capture p{font-size:15px;color:#536749}.capture input{font-size:16px}.capture small{font-size:13px;color:#526547}.stat small,.stat p{font-size:14px;color:#536548}.stat strong{font-size:36px}.panel-head h2{font-size:19px}.panel-head button{font-size:15px}.row small{font-size:14px;color:#596c4e}.empty p{font-size:15px;color:#596c4e}.owner{font-size:13px}.finance-note,.job-intro{font-size:14px;color:#506348}.money-bar-row{font-size:16px;gap:10px;margin-bottom:23px}.money-bar-row strong{font-size:17px}.bar-label{min-height:32px;font-size:16px}.bar-track{height:16px;background:#e3e8df}.bar-track i{min-width:3px}.money-bar-row small{font-size:13px;color:#3e5337}.trend{height:260px}.trend-columns{height:180px}.trend-columns i{background:#15803d}.trend-columns i+i{background:#ea580c}.trend-legend{font-size:15px;color:#166534}.trend-legend span+span{color:#c2410c}.trend-month small{font-size:13px;color:#3f5338}.review-switch{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:30px;border:1px solid #cdd7c5;padding:15px;background:#eef3e8;border-radius:14px}.review-switch button{background:white;border:1px solid #cbd5c2;color:#364c2c}.review-switch button.selected{background:#234f39;color:white;border-color:#234f39}.review-switch b{margin-left:8px}.review-switch p{font-size:14px;color:#4d6143;flex-basis:100%;line-height:1.5}.finance-controls{margin:20px 0}.finance-transaction{border-left:6px solid var(--category-color,#64748b);margin:16px;border-radius:12px;border-bottom:1px solid #ccd5c4;border-top:1px solid #e1e7da;border-right:1px solid #e1e7da;background:#fcfdfa;padding:0 22px 22px}.finance-transaction .row{gap:20px}.finance-transaction .row strong{font-size:21px}.finance-transaction h3{font-size:20px}.category-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:650;color:#30462b;margin:8px 0 2px}.category-chip:before{content:'';width:12px;height:12px;background:var(--category-color);border-radius:50%}.finance-classify select{font-size:16px;min-width:220px;padding:12px}.finance-classify button{background:#285347;color:white;font-size:15px;padding:12px 18px;min-height:46px}.remember-rule{font-size:13px;line-height:1.5;color:#536647;min-height:44px}.remember-rule input{width:21px;height:21px;accent-color:#285347}.finance-transaction details,.bank-row details{font-size:14px;color:#506348}.finance-transaction summary{min-height:36px;padding-top:10px}.positive{color:#137434}.negative{color:#b7420f}#status{font-size:15px}.bank-check{font-size:16px}.bank-row h3{font-size:19px}.bank-row p{font-size:14px}
@media(min-width:1200px){main{padding:42px 48px}.finance-classify{gap:14px}.finance-transaction{padding:0 26px 22px}.grid{grid-template-columns:1.15fr 1fr}}
@media(max-width:700px){h1{font-size:29px}main{padding:24px 14px 102px}.sidebar,aside{height:78px}nav button{min-height:56px;min-width:66px;font-size:20px}nav button span{font-size:11px}.stat{padding:15px 9px}.stat strong{font-size:22px;overflow-wrap:anywhere}.stat small,.stat p{font-size:12px}.capture input,.capture p{font-size:16px}#people button{min-height:44px;font-size:14px;padding:8px 11px}.finance-transaction{margin:10px;padding:0 13px 17px;border-left-width:5px}.finance-transaction h3{font-size:18px}.finance-transaction .row strong{font-size:18px}.finance-classify select,.finance-classify button{width:100%;min-width:0;min-height:48px}.remember-rule{width:100%;font-size:13px}.review-switch{gap:8px;padding:12px}.review-switch button{flex:1;padding:10px 8px;font-size:14px}.review-switch p{font-size:13px}.trend-month small{font-size:10px}.money-bar-row{font-size:14px}.bar-label{font-size:14px}.money-bar-row strong{font-size:15px}.finance-note{font-size:13px}.toolbar{flex-wrap:wrap}.panel-head h2{font-size:17px}.row small{font-size:13px}#status{bottom:90px}}
.toolbar .settings-button{background:#234f40;color:#fff;border:2px solid #173b2e;min-height:48px;padding:12px 20px;font-size:16px;font-weight:750;box-shadow:0 2px 5px #173b2e26;white-space:nowrap}
.toolbar .settings-button:hover{background:#173b2e;filter:none}
.toolbar .settings-button:focus-visible{outline:3px solid #173b2e;outline-offset:4px}
.work-meter{background:#234f40;color:white;padding:26px;border-radius:16px;margin-bottom:20px}.work-meter h2{font-size:28px;margin:12px 0}.work-meter progress{width:100%;height:22px;accent-color:#a9e3bb;margin-bottom:10px}.work-entry{padding:24px;margin-bottom:20px}.work-day,.work-actions,.work-choices{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.work-day h2{margin-right:auto}.work-entry input{font-size:20px;min-height:52px;width:100%}.work-entry label{font-size:16px;color:#293f36}.work-entry label span,.work-hint{font-size:14px;color:#526547}.work-choices{margin-top:12px}.work-choices button{flex:1;min-height:64px;border:2px solid #81978a;background:white;color:#234f40;font-size:17px}.work-choices button.selected{background:#234f40;color:white;border-color:#234f40;box-shadow:0 0 0 3px #b7d3c0}.work-actions{margin-top:20px}.work-actions button{min-height:52px;font-size:17px}.work-running{background:#e5f3e9;border-left:5px solid #287443;padding:18px;margin-bottom:20px}.work-running strong{display:block;margin:8px 0}.work-details{margin-top:22px;padding:18px;border:1px solid #bac9be;border-radius:12px}.work-details summary{cursor:pointer;font-weight:700;min-height:44px}#workError{color:#a02020;margin-top:12px}@media(max-width:700px){.work-entry,.work-meter{padding:18px}.work-meter h2{font-size:24px}.work-choices{flex-direction:column;align-items:stretch}.work-actions button{width:100%}.work-entry .fields{gap:10px}.work-entry input{padding:10px;min-width:0}.work-details .row{overflow-wrap:anywhere}}
.work-running{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;margin-bottom:16px;font-size:14px}.work-live-row{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.work-live-row>div{display:flex;align-items:center;gap:12px;white-space:nowrap}.work-running strong{display:inline;margin:0;font-size:14px}.work-live-row label{flex:1;margin:0;font-size:0;min-width:120px}.work-live-row input{font-size:16px;min-height:44px;padding:8px 10px}.work-running #workSaved{font-size:12px;font-weight:600;margin:0}.work-running>p:not(#workSaved){flex-basis:100%}@media(max-width:700px){.work-live-row{flex-wrap:wrap;gap:6px}.work-live-row>div{white-space:normal;flex-wrap:wrap;gap:6px}.work-live-row label{flex-basis:100%}.work-running #workSaved{flex-basis:100%}}
.instant-search{margin-bottom:22px}.instant-search label{font-weight:700;font-size:16px;margin-bottom:8px}.instant-search>input{width:100%;min-height:48px;border:2px solid #668674;font-size:18px}.instant-search article{display:flex;align-items:center;gap:16px;background:white;padding:16px;border:1px solid #becfc3;border-radius:10px;margin-top:8px}.instant-search article>div{flex:1}.instant-search article p{margin-top:6px}.instant-search article button{background:#234f40;color:white}@media(max-width:700px){.instant-search article{flex-wrap:wrap}}
@media(max-width:700px){nav{overflow-x:auto;justify-content:flex-start}nav button{flex:0 0 auto;min-width:72px}}
.appointment-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.appointment-actions a{display:inline-block;padding:12px 16px;background:#234f40;color:white;border-radius:9px;text-decoration:none;min-height:44px}dialog details{margin:18px 0}dialog details form{margin-top:14px}
#people{flex-wrap:wrap}.toolbar{flex-wrap:wrap}
.household .avatars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.family-member{display:flex;align-items:center;gap:6px;font-size:12px;color:#293f36}.family-member i{flex-shrink:0}.family-member:nth-child(2) i{background:#d8e1ca}.family-member:nth-child(3) i{background:#e8d6ec}.family-member:nth-child(4) i{background:#d4e4f2}
.capture>button{border:1px solid #b5c3ad;background:transparent;color:#234f40;margin-top:12px;min-height:44px;border-radius:9px}.capture>button:hover{background:#e3ecdf}
#calendarPeople{border:1px solid #b5c3ad;border-radius:8px;margin:16px 0;padding:12px;display:flex;flex-wrap:wrap;gap:12px}#calendarPeople label{display:flex;align-items:center;gap:8px;margin:0;min-height:44px}#calendarPeople input{width:22px;height:22px;accent-color:#285347}
.month-nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}.month-nav h2{flex:1}.month-nav [aria-pressed=true]{background:#285347;color:white}.month-grid{display:grid;grid-template-columns:32px repeat(7,minmax(0,1fr));gap:4px;margin:18px 0}.month-grid>span{text-align:center;font-weight:700;padding:8px 0}.month-week{display:grid;place-items:center;background:#e1e9db;font-weight:700;font-size:13px}.month-day{min-height:100px;padding:8px;text-align:left;background:white;border:1px solid #c8d4c1;display:flex;flex-direction:column;gap:5px;overflow:hidden}.month-day span{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;background:#e6efdf;padding:3px;border-radius:4px}.month-day.outside{background:#edf0e9;color:#63725c}.month-day.chosen{border:2px solid #285347;background:#eef5e8}.month-day[aria-current=date] b{background:#285347;color:white;border-radius:50%;padding:3px 6px;align-self:flex-start}@media(max-width:700px){.month-grid{grid-template-columns:24px repeat(7,minmax(0,1fr));gap:2px}.month-day{min-height:76px;padding:4px;font-size:13px}.month-day span{font-size:10px;padding:1px}.month-grid>span{font-size:12px}}
.family-legend{display:flex;gap:8px;flex-wrap:wrap}.family-legend span{padding:5px 10px;border-radius:6px;font-size:13px;color:#293f36}.family-member:nth-child(2) i{background:#f4d2d9}.month-day span small{display:block;color:#293f36;font-size:10px}.month-day.chosen{outline:2px solid #285347;outline-offset:-2px}
.family-legend span{font-weight:700;border:1px solid #293f3640}.family-member:nth-child(1) i{background:#fbad68}.family-member:nth-child(2) i{background:#f487b5}.family-member:nth-child(3) i{background:#b79af2}.family-member:nth-child(4) i{background:#72c7ef}
.month-day span{color:#182b25;font-weight:650}.month-day span small{color:#182b25}
.month-day .appointment-chip{width:100%;border:1px solid #293f3640;border-radius:6px;padding:5px;font-weight:700}@media(max-width:700px){.month-day .appointment-chip{padding:3px}}
.month-date-button{background:transparent;padding:2px 4px;text-align:left;font-weight:700;min-height:32px}.month-date-button[aria-current=date]{background:#285347;color:white;border-radius:6px}.month-day button.appointment-chip{display:block;text-align:left;font-size:12px;min-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#182b25}.appointment-chip small{display:block;color:#182b25;font-size:10px}@media(max-width:700px){.month-day button.appointment-chip{font-size:10px}}
.month-day button.appointment-chip{position:relative;padding-right:25px;flex-shrink:0}.month-day .appointment-chip .appointment-icon{position:absolute;right:5px;top:4px;background:transparent;padding:0;font-size:15px;line-height:20px}.month-grid{grid-auto-rows:auto}.month-day{height:auto}
body[data-view="week"] .toolbar>button,body[data-view="week"] .toolbar>span,body[data-view="week"] .family-legend,body[data-view="week"] #subtitle{display:none}body[data-view="week"] .toolbar{margin:12px 0}body[data-view="week"] header{margin-bottom:12px}body[data-view="week"] #people [data-owner="Cor"]{background:#fbad68}body[data-view="week"] #people [data-owner="Milenne"]{background:#f487b5}body[data-view="week"] #people [data-owner="Faith"]{background:#b79af2}body[data-view="week"] #people [data-owner="Merle"]{background:#72c7ef}body[data-view="week"] #people [data-owner="gezin"]{background:#c5d9d3}body[data-view="week"] #people button{color:#182b25;border:1px solid #293f3640}body[data-view="week"] #people button.selected{outline:2px solid #285347;outline-offset:2px;font-weight:750}
.photo-drop{border:1px dashed #78917c;border-radius:9px;padding:20px;margin:12px 0;color:#34513d;background:#f3f6ef;text-align:center}.photo-drop.dragging{border:2px solid #285347;background:#deebd8}
.contact-suggestions{display:grid;gap:8px;margin:8px 0 18px}.contact-suggestions button{text-align:left;border:1px solid #b5c3ad}
body[data-view="hours"] #people,body[data-view="hours"] .toolbar>span{display:none}.appointment-top-close{position:sticky;top:0;float:right;z-index:2;width:44px;height:44px;padding:0;font-size:28px;line-height:1;background:white;border:1px solid #b5c3ad}.appointment-dialog>h2{padding-right:48px}@media(max-width:700px){body[data-view="hours"] #app>.panel .row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px}body[data-view="hours"] #app>.panel .row .content{grid-column:1/-1}body[data-view="hours"] #app>.panel .row h3{font-size:16px;line-height:1.45}body[data-view="hours"] #app>.panel .row p{overflow-wrap:anywhere;margin-top:6px}body[data-view="hours"] #app>.panel .row button{padding:9px;font-size:14px}.work-running{gap:8px}.work-meter h2{font-size:22px}.work-choices button{min-height:48px;font-size:15px}.work-entry .fields{grid-template-columns:1fr}.work-entry{padding:14px}}
@media(max-width:700px){#people{display:flex;flex-wrap:nowrap;width:100%;gap:4px;min-width:0}#people button{flex:1;min-width:0;padding:8px 5px;font-size:13px;white-space:nowrap}}
.event-dialog{max-height:92dvh;overflow:auto}.event-dialog h2{padding-right:48px}.event-dialog h3{margin:22px 0 12px}.event-dialog form{display:grid;gap:10px;margin:12px 0}.event-dialog input,.event-dialog select{width:100%;font-size:16px;min-height:44px}.event-dialog .event-check{display:flex;gap:12px;align-items:center;margin:12px 0}.event-check input{width:24px;height:24px;min-height:24px;flex-shrink:0}.event-check small{display:block}.event-moment{display:block;width:100%;text-align:left;margin:8px 0;padding:14px}.event-reminder-note{font-size:13px;color:#655022;background:#fff4dc;padding:12px;border-radius:8px}
.mail-attachments{border:1px dashed #78917c;border-radius:10px;padding:14px;margin-top:20px}.mail-attachments.dragging{background:#deebd8}.mail-attachments h3{margin-bottom:12px}.mail-attachments a{display:inline-block;padding:10px;color:#234f40;overflow-wrap:anywhere}.mail-attachments p{font-size:14px;margin:8px 0}
.month-day.single-entry .appointment-chip{flex:1 0 auto;white-space:nowrap;overflow-wrap:normal}.month-day:not(.single-entry) .appointment-chip{flex:0 0 auto}
#agendaJump{display:flex;align-items:end;gap:8px;flex-wrap:nowrap;margin:10px 0}#agendaJump label{flex:1;min-width:0;margin:0;font-size:12px}#agendaJump input{min-height:44px;padding:8px;font-size:16px}#agendaJump button{min-height:44px;padding:8px 12px;white-space:nowrap;font-size:13px}
.appointment-dialog .appointment-photo-preview{display:inline-flex;align-items:center;gap:12px;max-width:100%;margin:0 0 14px;padding:6px;background:#f3f6f1;border:1px solid #d6e0d7;border-radius:12px}.appointment-photo-preview img{width:100px;height:100px;object-fit:contain;border-radius:7px}.appointment-photo-preview small{font-size:12px;max-width:95px;text-align:left}.photo-zoom{padding:14px;max-width:95vw;max-height:95dvh}.photo-zoom>button{display:block;margin-left:auto;width:44px;height:44px;font-size:26px}.photo-zoom>img{display:block;max-width:85vw;max-height:75dvh;object-fit:contain}.agenda-filter{margin:10px 0}.agenda-filter>summary{min-height:44px;padding:12px 0;font-size:13px;color:#3e5e50}.agenda-filter>div{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:10px;background:#edf3ec;border-radius:10px}.agenda-filter label{font-size:13px;margin:0;min-width:0}.agenda-filter select{font-size:14px;min-height:44px;max-width:100%}.agenda-filter .year-toggle{display:flex;align-items:center;gap:8px;min-height:44px}.agenda-filter input[type=checkbox]{width:19px;height:19px;margin:0}
.month-day .month-more{position:relative;z-index:1;min-height:30px;padding:4px 0;font-size:10px;background:transparent;color:#285347;border:0;font-weight:650;white-space:nowrap}.agenda-day-dialog .row .time{font-size:13px}.agenda-day-dialog .row .content h3{font-size:16px;line-height:1.35}
.agenda-day-dialog .day-existing .row{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr);gap:5px 10px;min-height:78px;padding:16px 22px 16px 0}.agenda-day-dialog .day-existing .content{min-width:0}.agenda-day-dialog .day-existing .content small{display:none}.agenda-day-dialog .day-existing .owner{grid-column:2;justify-self:start;padding:2px 6px;font-size:11px}.agenda-day-dialog .day-existing .row>button{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:transparent;font-size:0;padding:0}.agenda-day-dialog .day-existing .row>button::after{content:'›';position:absolute;right:0;top:calc(50% - 14px);font-size:24px;color:#52685b}.agenda-day-dialog .day-existing .row>button:focus-visible{outline:2px solid #285347;outline-offset:-2px}
.month-day .appointment-chip .appointment-label{display:block;min-width:0;padding:0;background:transparent;font-size:inherit;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-day .appointment-chip .appointment-time{font-weight:700;margin-bottom:2px}.agenda-edit-dialog{width:min(580px,calc(100vw - 24px));max-height:90dvh;overflow:auto}.agenda-people,.agenda-icon-picker{border:0;padding:0;margin:18px 0;min-width:0}.agenda-people legend,.agenda-icon-picker legend{font-size:15px;font-weight:650;margin-bottom:10px}.agenda-people>div{display:flex;gap:6px;flex-wrap:wrap}.agenda-people>div>label{display:flex;align-items:center;gap:5px;border:1px solid #b7c7bc;padding:8px;border-radius:10px;margin:0;font-size:13px;min-height:44px;cursor:pointer;background:white}.agenda-people input{width:18px;height:18px;min-height:0;margin:0;accent-color:#285347}.agenda-people label:has(input:checked){background:var(--person-color);border-color:#285347}.agenda-people>small,.agenda-icon-picker>small{display:block;font-size:12px;margin-top:8px;line-height:1.4}.agenda-icon-picker>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-height:260px;overflow:auto;padding:3px}.agenda-icon-picker>div>label{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:66px;margin:0;padding:7px 2px;border:1px solid #d4dfd6;background:#f5f8f3;border-radius:12px;cursor:pointer;min-width:0}.agenda-icon-picker>div>label>input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;pointer-events:none}.agenda-icon-picker>div>label>span{font-size:25px;line-height:30px}.agenda-icon-picker>div>label>small{font-size:10px;line-height:1.2;max-width:100%;text-align:center;overflow-wrap:anywhere}.agenda-icon-picker>div>label:has(input:checked){border:2px solid #285347;background:#e1eee3}.agenda-icon-picker label:focus-within{outline:2px solid #285347;outline-offset:1px}.agenda-icon-picker [data-own-emoji][hidden]{display:none}.agenda-icon-picker [name=emoji]{font-size:24px}@media(max-width:600px){.agenda-edit-dialog{padding:20px}.agenda-icon-picker>div{grid-template-columns:repeat(4,minmax(0,1fr));max-height:260px}}
.quick-task-dialog .appointment-top-close{position:absolute;right:18px;top:18px;float:none}.quick-task-dialog form{width:100%;min-width:0}.quick-task-dialog label{min-width:0;margin-top:4px}.quick-task-dialog [data-notification-help] p{margin:8px 0}
.fingerprint-login{display:block;width:100%;min-height:64px;background:#285347;color:white;border:1px solid #285347;border-radius:14px;font-size:20px;font-weight:700;margin:20px 0 14px}.fingerprint-login[hidden]{display:none}.password-fallback>summary{min-height:44px;padding:12px 0;font-size:14px;color:#405c50}.password-fallback{margin-top:12px}.quick-task-dialog{width:min(540px,calc(100vw - 24px));max-height:90dvh;overflow:auto}.quick-task-dialog h2{padding-right:44px}.quick-task-dialog form{display:grid;gap:12px}.quick-task-dialog input,.quick-task-dialog select{width:100%;font-size:16px;min-height:44px}.quick-task-dialog [data-notification-help] p{font-size:13px;color:#52665d;line-height:1.5}.task-reminder{display:block;margin-top:7px}.task-event-link{display:block;padding:8px 0;background:transparent;color:#285347;border:0;text-decoration:underline;font-size:14px}
.month-day .appointment-chip{min-width:0}.month-day .appointment-chip small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(max-width:700px){.month-day button.appointment-chip{padding:25px 3px 5px;white-space:nowrap;overflow-wrap:normal;word-break:normal;min-height:58px}.month-day .appointment-chip .appointment-icon{top:3px;right:3px;font-size:16px}.month-day.single-entry .appointment-chip{white-space:nowrap;overflow-wrap:normal}}
.appointment-dialog .appointment-management{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid #e0e7e1}.appointment-dialog .appointment-management>button:first-child{background:transparent;border:0;padding:8px 0;font-size:14px;color:#52675b}.appointment-dialog .appointment-management .appointment-delete{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:0;border:1px solid #e6b4ae;border-radius:12px;color:#b42318;background:#fff1ef}.appointment-dialog .appointment-management .appointment-delete:hover{background:#ffe1dc}@media(max-width:700px){.appointment-dialog>.appointment-source{display:none}}
.appointment-dialog{width:min(520px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:28px;border-radius:22px}.appointment-dialog>h2{font-size:27px;line-height:1.2;margin:4px 0 20px;padding-right:48px}.appointment-dialog .appointment-top-close{border:0;background:#f0f4f0;border-radius:50%;font-size:26px}.appointment-dialog .appointment-when{display:flex;flex-direction:column;gap:6px;margin:0 0 16px}.appointment-when strong{font-size:18px;font-weight:600}.appointment-when span{font-size:28px;font-weight:700;color:#193b36;letter-spacing:.02em}.appointment-dialog .appointment-for{display:inline-block;border-radius:8px;background:#e8efe9;padding:5px 10px;font-size:13px;margin:0 0 8px}.appointment-dialog .appointment-location{font-size:14px;line-height:1.5;color:#56685f;margin:4px 0 18px}.appointment-location:empty{display:none}.appointment-dialog .appointment-actions{display:flex;gap:12px;margin:18px 0 10px}.appointment-dialog .appointment-actions>a,.appointment-dialog .appointment-actions>button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;min-height:48px;padding:0;border:1px solid #c6d4ca;border-radius:14px;background:#edf3ee;color:#234d40;text-decoration:none;font-size:25px;font-weight:400}.appointment-dialog .appointment-actions>a:first-child{background:#285347;color:white;border-color:#285347}.appointment-dialog .appointment-agenda-link{display:block;font-size:13px;padding:8px 0;min-height:44px;border:0;background:transparent;color:#365b4d;text-decoration:underline;text-underline-offset:3px;margin:0 0 12px}.appointment-dialog>details{border-top:1px solid #e0e7e1;margin:0;padding:0}.appointment-dialog>details>summary{padding:14px 0;font-size:14px;color:#52675b;min-height:44px}.appointment-dialog .appointment-delete{color:#923d35;background:#fbefec}.appointment-dialog .mail-attachments{margin:0 0 16px;border:0;padding:0}.appointment-dialog .mail-attachments h3{display:none}.appointment-dialog .dialog-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}@media(max-width:600px){.appointment-dialog{padding:22px}.appointment-dialog>h2{font-size:25px}.appointment-when strong{font-size:17px}.appointment-when span{font-size:26px}}
header #date{display:inline-block;margin-right:10px}header .app-version{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:4px 8px;font-size:12px;font-weight:400;color:#52665e;background:transparent;border:0;vertical-align:middle}header .app-version:hover{background:#e7eee8}header .app-version:focus-visible{outline:2px solid #285347;outline-offset:2px}
.month-day{position:relative;padding-top:40px}.month-day .month-date-button{position:absolute;inset:0;display:flex;align-items:flex-start;padding:7px;z-index:0;border-radius:0}.month-day .month-date-button[aria-current=date]{background:transparent;color:#193b36;text-decoration:underline;text-underline-offset:4px}.month-day .appointment-chip{z-index:1}.month-date-button:focus-visible{outline:3px solid #285347;outline-offset:-3px}.agenda-day-dialog{width:min(620px,calc(100vw - 24px));max-height:90dvh;overflow:auto}.agenda-day-dialog>h2{padding-right:46px;font-size:20px}.day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}.day-new-choices:not([hidden]){display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.day-new-choices button{border:1px solid #a8bbb0;background:#f0f5ef}.day-existing .row{flex-wrap:wrap;padding:14px 0;gap:10px}.day-existing .content{min-width:120px}.day-existing h3{overflow-wrap:anywhere}@media(max-width:700px){.month-day{padding-top:35px}.agenda-day-dialog{padding:18px}.day-existing .owner{font-size:12px}}
button.agenda-person-change{display:inline-flex;align-items:center;min-height:44px;padding:5px 12px;border:1px solid #9aafa5;border-radius:18px;background:#edf3ee;color:#193b36;font:inherit;cursor:pointer}button.agenda-person-change:focus-visible{outline:2px solid #285347;outline-offset:2px}
.week-rhythm{margin:8px 0 14px;padding:8px 10px;border:1px solid #c9d5cc;border-radius:10px;font-size:13px}.week-rhythm>div{display:flex;align-items:center;justify-content:space-between}.week-rhythm button{font-size:13px;padding:6px 8px;min-height:36px;background:transparent;text-align:left}.week-rhythm>button{display:block;width:100%;border:0;border-left:3px solid var(--person-color);border-radius:0;margin:3px 0;line-height:1.4;color:#193b36}
.week-fixed{padding:6px 0;border-bottom:1px solid #dce5dd}.week-fixed button{display:flex;align-items:center;gap:7px;width:100%;text-align:left;font-size:13px;padding:7px 0;min-height:36px;background:transparent}.week-fixed button span{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.week-rhythm .rhythm-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-top:5px}.week-rhythm .rhythm-days button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:48px;padding:4px 0;font-size:13px;border:1px solid #d6e0d8;border-radius:10px;background:#fff;color:#193b36}.week-rhythm .rhythm-days button:disabled{opacity:.45;background:transparent;border-color:transparent;cursor:default}.rhythm-dots{display:flex;align-items:center;justify-content:center;gap:3px;min-height:10px}.rhythm-dots i{display:block;width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1px #00000012}.rhythm-dots small{font-size:10px}.rhythm-dialog .rhythm-entry{display:grid;width:100%;grid-template-columns:auto 1fr;gap:4px 12px;text-align:left;background:transparent;border-bottom:1px solid #d6e0d8;border-radius:0;padding:12px 0;font-size:14px;min-height:48px}.rhythm-entry small{grid-column:2}.rhythm-entry span{overflow-wrap:anywhere}.rhythm-days button:focus-visible{outline:2px solid #285347;outline-offset:2px}
.week-rhythm .rhythm-dots i{width:18px;height:18px}.week-rhythm .rhythm-dots{min-height:18px;gap:4px}
.week-rhythm .rhythm-dots i.rhythm-family{outline:2px solid #7b8580;outline-offset:1px}
.selected-dates{margin:12px 0}.selected-date-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) 32px;gap:6px;align-items:end;margin:8px 0}.selected-date-row label{min-width:0;font-size:12px}.selected-date-row input{width:100%;min-width:0;padding:8px 4px;box-sizing:border-box}.selected-date-row button{padding:0;min-height:44px;color:#a13d36;background:transparent}.selected-dates>p{font-size:12px}.selected-dates[hidden]{display:none}
.agenda-edit-dialog .fields[hidden]{display:none}
.appointment-time-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;grid-column:1/-1}.typed-clock{display:flex;align-items:center;gap:3px;border:1px solid #c7d3c9;background:white;border-radius:8px;padding:0 7px;max-width:150px}.typed-clock input{width:2.7ch!important;min-width:0!important;min-height:44px;padding:6px 0!important;text-align:center;border:0!important;background:transparent;font-size:16px}.typed-clock:focus-within{outline:2px solid #285347}.typed-clock>span{font-weight:600}.selected-date-row .typed-clock{padding:0 3px;gap:1px}.selected-date-row .typed-clock input{width:2.2ch!important;font-size:16px}
.typed-clock input:focus,.typed-clock input:focus-visible{outline:none;box-shadow:none}
.day-rhythm{border-top:1px solid #d6dfd7;margin-top:16px;padding-top:10px}.day-rhythm h3{font-size:13px}.day-rhythm .row{gap:6px;padding:8px 0;flex-wrap:wrap}.day-rhythm .content{min-width:90px}.day-rhythm .content h3,.day-rhythm .time,.day-rhythm .owner{font-size:12px}.day-rhythm .content small{display:none}.day-rhythm button{font-size:12px;padding:6px;min-height:36px}
.day-rhythm button{display:grid;place-items:center;width:44px;height:44px;background:transparent}.day-rhythm button i{display:block;width:18px;height:18px;border-radius:50%}
.agenda-scopes{display:flex;gap:5px;margin:6px 0 10px}.agenda-scopes button{font-size:13px;min-height:36px;padding:6px 12px;border:1px solid #b8c8bd;background:transparent}.agenda-scopes button[aria-pressed=true]{background:#285347;color:white;border-color:#285347}.agenda-people>label{display:block;margin-top:10px}.agenda-people select{margin-top:4px}
.agenda-view-controls{display:flex;align-items:center;gap:10px;margin:4px 0 8px}.agenda-mode-switch{display:flex;gap:2px;flex-shrink:0}.agenda-mode-switch button{min-height:40px;font-size:13px;font-weight:400;padding:6px 9px;background:transparent;border-radius:5px;border-bottom:2px solid transparent}.agenda-mode-switch button[aria-pressed=true]{color:#193b36;font-weight:650;border-bottom-color:#285347;background:#edf2ed}.agenda-view-controls #agendaJump{flex:1;max-width:230px;margin:0 0 0 auto;gap:4px;align-items:center}.agenda-view-controls #agendaJump label{display:block}.agenda-view-controls #agendaJump input{width:100%;min-height:40px;padding:6px 8px;line-height:24px}.agenda-view-controls #agendaJump button{min-width:36px;min-height:40px;padding:4px 8px;font-size:18px;background:transparent;color:#285347}.agenda-jump-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:380px){.agenda-view-controls{gap:5px}.agenda-mode-switch button{padding:6px 7px}.agenda-view-controls #agendaJump input{padding:6px 4px}}
/* Compact event and task detail cards; retain comfortable touch targets. */
input::placeholder,textarea::placeholder{color:#8b9690;opacity:1;font-weight:400}
button.agenda-person-change{border-radius:6px;min-height:36px;padding:4px 10px;font-size:14px}
.event-dialog,.task-dialog{width:min(560px,calc(100vw - 24px));max-height:90dvh;overflow:auto;box-sizing:border-box}
.event-dialog>h2,.task-dialog h2{font-size:21px;line-height:1.25;padding-right:42px;margin:0 0 5px}
.event-dialog>h2+p{font-size:13px;line-height:1.45;margin:0 0 7px;color:#586b61}
.event-dialog>p{margin:7px 0;font-size:13px}
.event-dialog h3{font-size:15px;margin:16px 0 7px}
.event-dialog details{margin:8px 0}.event-dialog summary{font-size:14px;min-height:36px;align-content:center}
.event-dialog button,.task-dialog button{font-size:14px;min-height:40px;padding:8px 12px}
.event-dialog .appointment-top-close,.task-dialog .appointment-top-close{width:40px;height:40px;min-height:40px;padding:0}
.event-dialog label{font-size:13px}.event-dialog input{min-height:40px;font-size:16px;padding:8px}
.event-dialog .event-reminder-note{font-size:12px;padding:8px;background:transparent;border-left:2px solid #c9d5cc}
.event-dialog .event-check{display:flex;align-items:center;gap:8px;margin:4px 0}.event-check>span{min-width:0;flex:1}
button.task-open{display:inline-block;text-align:left;background:transparent;color:inherit;border:0;border-radius:4px;padding:5px 0;min-height:36px;font:inherit;overflow-wrap:anywhere}
.task-extra{margin:12px 0}.task-extra summary{font-size:14px;min-height:40px;align-content:center}.task-extra label{display:block;font-size:13px;margin:8px 0}
.task-extra input,.task-extra select,.task-extra textarea{box-sizing:border-box;width:100%;min-width:0;font-size:16px}
.task-photo-pickers{display:grid;grid-template-columns:1fr;gap:4px}.task-photo-pickers input{font-size:13px}
.task-extra img[data-thumb],.task-thumbnail img{width:100px;height:100px;object-fit:cover;border-radius:6px}
.task-thumbnail{display:block;background:transparent;padding:0!important;margin:10px 0}.task-parent{font-size:12px;color:#586b61}.task-note{white-space:pre-wrap;font-size:14px}
.task-dialog .dialog-actions{display:flex;flex-wrap:wrap;gap:8px}.task-dialog form>p{font-size:13px}
@media(max-width:700px){.event-dialog,.task-dialog{padding:18px}.event-dialog .fields{gap:8px}.event-dialog .dialog-actions{gap:6px;margin-top:12px}}
.event-dialog .event-top-tools{display:flex;justify-content:flex-end;gap:5px;margin:-4px -4px 8px}
.event-dialog .event-top-tools button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #d5ded8;border-radius:6px;background:transparent;font-size:22px}
.event-dialog .event-top-tools .appointment-top-close{position:static;margin:0;font-size:22px}
.event-top-tools [data-event-delete]{color:#b42323!important}
.event-dialog>h2{padding-right:0}.event-add-task>summary{font-weight:600}
.inline-event-task{padding:8px 0 10px;border-bottom:1px solid #dce4df;margin:4px 0 10px}
.inline-event-task>input{width:100%;box-sizing:border-box}.inline-event-task .dialog-actions{margin:6px 0 0}
.inline-event-task details{margin:4px 0}.inline-event-task summary{font-size:13px}
.inline-event-task [role=status]:empty{display:none}.inline-task-links{display:flex;gap:14px;font-size:14px}
.event-mail-fold .mail-attachments{margin:0;padding:8px;border:0}.event-mail-fold .mail-attachments h3{display:none}
.inline-event-task input[type=checkbox]{width:18px;min-height:18px;vertical-align:middle;margin-right:6px}
.month-event-group{position:relative;z-index:1;min-width:0;width:100%;align-self:start}.month-event-group .appointment-chip{width:100%;box-sizing:border-box}
.month-day .month-check{display:flex;gap:3px;align-items:flex-start;text-align:left;min-width:0;width:100%;padding:4px 2px;min-height:32px;font-size:11px;line-height:1.3;border:0;border-radius:0;background:transparent;color:#314b40;border-left:2px solid #c6d3c9;margin:2px 0}
.month-check>span:last-child{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.month-check small{display:inline;font-size:10px;color:inherit;margin-right:3px}.month-day.single-entry .month-event-group .appointment-chip{height:auto;min-height:64px;flex:initial}
.month-day div.month-check{min-height:0;padding:2px 1px;margin:1px 0;font-size:10px;line-height:1.35;border:0;gap:3px;align-items:center}
.month-day div.month-check>span:first-child{flex:none;font-size:12px}
.month-grid{grid-auto-rows:auto;align-items:stretch}
.month-grid .month-day{max-height:none;height:auto}
.month-grid .month-event-group{flex:0 0 auto}
.contact-proposals{display:flex;flex-wrap:wrap;gap:4px;margin:-3px 0 8px}
html body dialog .contact-proposals button{font-size:12px;min-height:32px;padding:5px 8px;background:#edf3ee;border:1px solid #c6d4ca;border-radius:6px;text-align:left;overflow-wrap:anywhere}
.day-rhythm-inline{margin-top:12px;padding:8px 10px;background:#f1f5f1;border:1px solid #dce5dd;border-radius:9px}
.day-rhythm-inline h3{font-size:12px;margin:0 0 4px;font-weight:700}
.day-rhythm-inline h3{display:flex;align-items:center;gap:7px;min-height:28px}
.inline-rhythm-dot{display:inline-block;width:20px;height:20px;border-radius:50%;flex:none;border:1px solid #ffffff80}
.day-rhythm-inline h3 small{font-size:10px;font-weight:400;margin-left:5px;color:#607168}
html body dialog .day-rhythm-inline>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;width:100%;min-height:38px;padding:5px 0;margin:0;background:transparent;border:0;border-radius:0;text-align:left;font-size:12px;line-height:1.3}
.day-rhythm-inline>button+button{border-top:1px solid #dce5dd}
.day-rhythm-inline time{font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}
.day-rhythm-inline>button>span{min-width:0;overflow-wrap:anywhere}
.day-rhythm-inline>button>small{font-size:11px;font-weight:650}
.appointment-where-switch{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:#efe7f566;font-size:13px}
.appointment-where-switch input{appearance:none;flex:none;width:32px;height:20px;min-height:20px;border:0;border-radius:20px;background:#aab6ae;position:relative;padding:0;margin:0;cursor:pointer}
.appointment-where-switch input:before{content:'';position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:white;transition:transform .15s}
.appointment-where-switch input:checked{background:#78609c}.appointment-where-switch input:checked:before{transform:translateX(12px)}
.appointment-where-switch small{margin-left:auto;color:#624b85}.appointment-where-switch:has(:checked){background:#e9def4}
.month-day .appointment-chip.where-enabled{box-shadow:inset 0 -5px 0 #8060a86b;outline:1px solid #8060a84d}
.appointment-dialog .appointment-header-tools{float:right;display:flex;justify-content:flex-end;gap:6px;margin:0 0 6px 8px}
html body .appointment-dialog .appointment-header-tools>button{position:static;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;flex:0 0 40px;border-radius:50%;border:1px solid #d3ded6;background:#f0f4f0;color:#234d40;margin:0;padding:0;font-size:22px}
.appointment-dialog:has(.appointment-header-tools)>h2{padding-right:0;min-height:40px;margin-top:0;display:flow-root;overflow-wrap:anywhere}
.appointment-dialog:has(.appointment-header-tools)>.appointment-when{clear:both}
@media(max-width:400px){.appointment-dialog .appointment-actions{gap:6px;flex-wrap:wrap}.appointment-dialog .appointment-actions>a,.appointment-dialog .appointment-actions>button{flex:0 0 44px;width:44px;height:44px;min-height:44px;border-radius:10px}}
.appointment-tasks .event-check{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:14px}
.appointment-tasks .event-check>span{flex:1;min-width:0}
.appointment-tasks .event-check>input{width:18px;height:18px;flex:none}
html body dialog .task-delete{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;min-height:36px;padding:6px;color:#b42318;background:transparent;border:0}
.appointment-dialog h2 .title-edit-button{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;margin:0 0 0 6px;width:32px;min-height:32px;padding:0;border:0;font-size:20px;background:transparent}
.appointment-dialog .appointment-management-top{padding:0 0 8px;margin:0;border-top:0;justify-content:flex-start;gap:12px}
.day-event-group{border-bottom:1px solid #dce4df;padding-bottom:8px;margin-bottom:8px}.day-event-group>.row{border-bottom:0}.day-event-child{margin:0 0 3px 12px;border-left:2px solid #d4dfd7;padding-left:10px}.day-event-child>summary{display:flex;align-items:center;gap:8px;min-height:40px;font-size:14px;cursor:pointer}.day-event-child time{font-size:12px;color:#63736b}.day-child-body{font-size:13px;padding:4px 0 8px}.day-child-body button{min-height:36px;font-size:12px;margin:4px;padding:6px 8px}.day-child-body p{margin:4px 0}
.personal-today{padding:14px;border:1px solid #cbd7cf;border-radius:10px;margin-bottom:16px;background:#fff}.personal-today>label{display:flex;align-items:center;gap:10px}.personal-today>small{display:block;font-size:12px;margin-top:4px}.personal-today h3{margin:14px 0 5px;font-size:16px}.personal-today summary{min-height:40px;align-content:center;font-size:14px}.personal-today input,.personal-today select{max-width:100%;box-sizing:border-box}.where-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #e0e7e2;font-size:14px}.where-row small{display:block;font-size:12px}.where-row button{font-size:12px;white-space:nowrap;padding:6px 8px}.personal-today form>small{display:block;font-size:12px}
/* Interaction feedback only: resting theme and person colors stay unchanged. */
:root{--interaction-ring:#193b36;--interaction-fill:#285347;--interaction-ink:#fff}
button:enabled:active,summary:active{filter:brightness(.78);box-shadow:inset 0 0 0 2px var(--interaction-ring)}
button:focus-visible,summary:focus-visible{outline:3px solid var(--interaction-ring);outline-offset:2px}
nav button.active,.agenda-mode-switch button[aria-pressed=true],.agenda-scopes button[aria-pressed=true]{background:var(--interaction-fill);color:var(--interaction-ink);box-shadow:inset 0 -3px 0 var(--interaction-ring)}
button[data-owner][aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--interaction-ring);font-weight:750;text-decoration:underline;text-underline-offset:4px}
details[open]>summary{color:var(--interaction-fill);font-weight:650}
/* A quiet, stationary status strip above capture and the daily planner. */
.personal-today{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 12px;margin:8px 0 12px;border-radius:8px}
.personal-today>h3{font-size:13px;margin:0;align-self:center}.personal-today>[data-where-rows]{grid-column:1/-1;grid-row:2}
.personal-today>.where-profile{grid-column:2;grid-row:1;font-size:12px}.personal-today>.where-profile[open]{grid-column:1/-1;grid-row:auto}
.personal-today>.where-add{grid-column:1/-1}.personal-today>.where-add>summary{font-size:12px;min-height:32px}.personal-today>.where-profile>summary{font-size:12px;min-height:30px;text-align:right}
.where-status>summary{display:flex;align-items:center;gap:7px;min-height:40px;font-size:13px;cursor:pointer}.where-status>summary i{width:9px;height:9px;border-radius:50%;flex-shrink:0}.where-status>summary strong{font-size:13px}.where-place{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.where-status time{font-size:13px;font-weight:650;flex-shrink:0}.where-status-body{font-size:12px;padding:0 0 8px 16px}.where-status-body p{margin:2px 0 5px}.where-status-body button{min-height:36px;font-size:12px;padding:6px 10px}.where-empty{display:block;font-size:12px;color:#63736b;padding:4px 0}
.personal-today{--where-aqua:#dff1f5;--where-mint:#e5f3e9;--where-edge:#9dc9cb;--where-ink:#244b50;grid-template-columns:minmax(0,1fr) auto auto;gap:0 8px;padding:4px 9px;margin:5px 0 9px}
.personal-today.has-away{background:linear-gradient(110deg,var(--where-aqua),var(--where-mint));border-color:var(--where-edge);border-left:3px solid #438d98;color:var(--where-ink)}
.personal-today>.where-profile{grid-column:2;grid-row:1}.personal-today>.where-add{grid-column:3;grid-row:1}
.personal-today>.where-add>summary,.personal-today>.where-profile>summary{font-size:11px;min-height:32px;cursor:pointer}
.personal-today>.where-add[open],.personal-today>.where-profile[open]{grid-column:1/-1;grid-row:3;padding:4px 0}
.personal-today>.where-add[open]>summary,.personal-today>.where-profile[open]>summary{text-align:left}
.personal-today>.where-profile[open]~.where-add[open]{grid-row:4}
.personal-today>[data-where-rows]{min-width:0}.where-status>summary{min-height:36px;gap:6px}.where-status+.where-status{border-top:1px solid #438d9820}
.where-status>summary i{position:relative;width:7px;height:7px}.where-status>summary i:after{content:'';position:absolute;inset:-3px;border:1px solid #438d98;border-radius:50%;animation:where-breathe 2.4s ease-out 3;pointer-events:none}
.where-status time{background:#ffffff8c;border-radius:4px;padding:2px 5px;color:var(--where-ink)}
.where-status time:empty{display:none}.where-status-body{padding:2px 0 6px 13px}.where-status-body p{overflow-wrap:anywhere}.where-empty{padding:0 0 3px;font-size:11px}
@keyframes where-breathe{0%,100%{transform:scale(.8);opacity:.2}50%{transform:scale(1.4);opacity:.65}}
@media(prefers-reduced-motion:reduce){.where-status>summary i:after{animation:none;opacity:.4}}
.compact-agenda-editor{width:min(520px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:18px;box-sizing:border-box}
.compact-agenda-editor h2{font-size:20px;margin:0 0 12px}.compact-agenda-editor form{gap:8px}.compact-agenda-editor label{font-size:13px;margin:4px 0}.compact-agenda-editor input,.compact-agenda-editor select,.compact-agenda-editor textarea{font-size:16px;padding:8px;min-height:40px;box-sizing:border-box;max-width:100%}
.compact-agenda-editor .fields{gap:8px}.compact-agenda-editor .appointment-time-pair{gap:10px}.compact-agenda-editor .edit-extra{margin:2px 0;border-top:1px solid #dce5df}.compact-agenda-editor .edit-extra>summary{font-size:13px;min-height:40px;align-content:center;cursor:pointer}.compact-agenda-editor .edit-move-note{font-size:11px;color:#63736b;margin:4px 0}
.compact-agenda-editor .dialog-actions{margin:8px 0 0;gap:8px}.compact-agenda-editor .dialog-actions button{font-size:14px;min-height:40px;padding:8px 12px}.compact-agenda-editor [role=alert]:empty{display:none}
.compact-agenda-editor .subject-hint{display:block;font-size:11px;margin-top:3px}.compact-agenda-editor .agenda-people{padding:6px;margin:4px 0}.compact-agenda-editor .agenda-people label{min-height:36px;padding:4px 6px}.compact-agenda-editor .agenda-people small{display:none}
body[data-view=week] #heading,body[data-view=week] #subtitle{display:none}
.agenda-mode-switch{gap:1px}.agenda-mode-switch button{font-size:12px;padding:5px 7px;min-height:36px}
.agenda-scopes{display:flex;flex-wrap:nowrap;gap:4px;margin:4px 0}.agenda-scopes button{font-size:12px;padding:4px 10px;min-height:32px;white-space:nowrap}
.month-grid.workweek-grid{grid-template-columns:26px repeat(5,minmax(0,1fr))}
@media(max-width:420px){.agenda-view-controls{flex-wrap:wrap;gap:4px}.agenda-view-controls #agendaJump{max-width:155px}.agenda-view-controls #agendaJump input{font-size:13px}}
.sound-settings h3{font-size:16px;margin:0 0 10px}.sound-controls{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:6px;align-items:center}.sound-controls select,.sound-controls button{width:100%;min-width:0;min-height:44px;margin:0;padding:8px;border-radius:7px;font-size:16px}.sound-settings>small{display:block;margin-top:7px;font-size:11px;line-height:1.4}.sound-settings [data-status]:empty{display:none}.sound-settings [data-status],.sound-settings details{font-size:12px;margin:9px 0 0}.sound-settings details p{line-height:1.5}.sound-settings summary{min-height:32px;padding:6px 0}body[data-view="settings"] #app>.panel{padding:14px;margin-bottom:10px}body[data-view="settings"] #app h2{font-size:16px;margin:0 0 8px}
.work-day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:12px 0}.work-day-strip button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;margin:0;padding:9px 2px;background:#ffffff12;color:#fff;border:1px solid #ffffff45;border-radius:7px;font-size:13px}.work-day-strip button.selected{background:#ffffff28;border-color:#bce8cf}.work-day-strip small{font-size:10px;white-space:nowrap}.work-meter>small{display:block;font-size:11px;line-height:1.5;color:#dbece2}
.personal-today.has-away{--where-ink:#f7f2ff;background:#69508c;color:#fff;border:0;border-radius:6px;padding:3px 9px;margin:0 0 8px;gap:0 8px}.personal-today.has-away>h3{display:none}.personal-today.has-away>[data-where-rows]{grid-column:1/-1;grid-row:1}.personal-today.has-away>.where-profile{grid-column:2;grid-row:2}.personal-today.has-away>.where-add{grid-column:3;grid-row:2}.personal-today.has-away>.where-profile[open],.personal-today.has-away>.where-add[open]{grid-column:1/-1;grid-row:3;background:#faf7ff;color:#342644;padding:8px;border-radius:6px}.personal-today.has-away .where-status>summary{font-size:12px;min-height:32px}.personal-today.has-away .where-status>summary strong{font-size:12px}.personal-today.has-away .where-status time{background:#ffffff20;color:#fff;font-size:12px}.personal-today.has-away .where-status+.where-status{border-color:#ffffff30}.personal-today.has-away .where-status>summary i:after{border-color:#e6d6ff}.personal-today.has-away .where-status-body{color:#fff}.personal-today.has-away .where-status-body button{min-height:32px}
.personal-today .where-add form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.personal-today .where-add form>label{margin:0;font-size:12px;min-width:0}.personal-today .where-add form>label:nth-of-type(2){grid-column:2}.personal-today .where-add form>.fields{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0}.personal-today .where-add .fields label{font-size:12px;margin:0;min-width:0}.personal-today .where-add input,.personal-today .where-add select,.personal-today .where-profile select{min-width:0;width:100%;min-height:40px;padding:7px 8px;margin:3px 0 0;border-radius:6px;font-size:16px}.personal-today .where-add form>small,.personal-today .where-add [role="status"]{grid-column:1/-1;font-size:11px;margin:0}.personal-today .where-add [role="status"]:empty{display:none}.personal-today .where-add form>button{grid-column:2;grid-row:3;align-self:end;min-height:40px;padding:7px 12px;margin:0;font-size:13px}.personal-today .where-profile label{font-size:12px;margin:4px 0}.personal-today .where-profile small{font-size:11px}.personal-today.has-away>.where-profile[open]~.where-add[open]{grid-row:4}
@media(max-width:700px){body:has(>.global-work-clock){padding-top:calc(44px + env(safe-area-inset-top,0px))}body>.global-work-clock{position:fixed;top:0;left:0;right:0;z-index:100;width:100%;box-sizing:border-box;min-height:44px;padding:calc(4px + env(safe-area-inset-top,0px)) 8px 4px;gap:4px}body>.global-work-clock [data-work-open]{flex:1;text-align:left;font-size:11px;padding:4px;min-height:36px}body>.global-work-clock [data-work-pause]{min-height:36px;font-size:12px;padding:4px 8px}}
.personal-today.has-away .where-status-body [data-home]{background:#fff;color:#452565;border:1px solid #fff;font-weight:700;opacity:1}.personal-today.has-away .where-status-body [data-home]:hover{background:#f0e6fa;color:#35174f}.personal-today.has-away .where-status-body [data-home]:focus-visible{outline:2px solid #fff;outline-offset:3px}.personal-today.has-away .where-status-body [data-home]:disabled{background:#eee8f3;color:#594568;opacity:1}
.date-clock-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,150px);gap:8px;align-items:center}.date-clock-pair>input{min-width:0;width:100%;margin:0}.date-clock-pair .typed-clock{width:100%;box-sizing:border-box}.work-entry .typed-clock input{min-height:44px;font-size:16px}.personal-today .typed-clock input{margin:0;padding:6px 0!important}
body:has(>.status-dock){padding-top:var(--status-dock-height,0px)}.status-dock{position:fixed;inset:0 0 auto;z-index:100;padding-top:env(safe-area-inset-top,0px);background:#285347}.status-dock:empty{display:none}.status-dock>.global-work-clock{position:static;min-height:44px;box-sizing:border-box}.status-dock>.personal-today.has-away{position:relative;display:block;width:100%;box-sizing:border-box;border-radius:0;margin:0;padding:3px 52px 3px 12px}.status-dock .where-status summary{min-height:40px}.status-dock .where-line{min-width:0;font-size:12px;overflow-wrap:anywhere}.status-dock .where-line small{display:block;font-size:11px;color:#f1e8fc;line-height:1.5}.status-dock .where-status summary i{background:#e8d8fc}.status-dock .where-quick-add{position:absolute;right:8px;top:5px;width:36px;min-height:36px;padding:0;font-size:22px;background:transparent;color:#fff;border:1px solid #ffffff80;border-radius:6px}.status-dock .where-add{display:none}.where-editor.personal-today{display:block;padding:16px;max-height:85dvh;overflow:auto}.where-editor .where-add>summary{display:none}
.status-dock .where-reported{font-size:10px;color:#f1e8fc;white-space:nowrap}
.work-day-strip button small{color:#f0fff5;font-size:11px}#workPauseSummary{font-size:13px;color:#f0fff5;margin:7px 0;font-weight:600}
.status-dock>.personal-today,.status-dock>.personal-today.has-away{display:block;margin:0;padding:0;border:0;border-radius:0;width:100%;box-sizing:border-box}.status-dock .personal-today [data-where-rows]{padding:3px 12px}.status-dock .personal-today .where-quick-add{position:static;display:block;width:100%;min-height:32px;margin:0;padding:5px 12px;border:0;border-radius:0;text-align:left;font-size:12px;font-weight:600;background:#eee8f5;color:#492f65}.status-dock .personal-today .where-quick-add:hover{background:#e3d8ee}
dialog.where-editor{background:#fff;box-shadow:0 24px 80px #25153466,0 6px 22px #25153433;border:1px solid #d7cbe3;border-radius:16px}dialog.where-editor::backdrop{background:#251b3b66;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.status-dock .personal-today .where-quick-add{text-align:center}dialog.where-editor.personal-today{position:fixed;inset:0;margin:auto;width:min(480px,calc(100vw - 24px));height:fit-content;max-height:calc(100dvh - 40px);box-sizing:border-box}
html body dialog:modal{position:fixed;inset:0;margin:auto;height:fit-content;max-width:calc(100vw - 24px);max-height:calc(100dvh - 40px);box-sizing:border-box;overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #d7cbe3;border-radius:16px;box-shadow:0 24px 80px #25153466,0 6px 22px #25153433}html body dialog:modal::backdrop{background:#251b3b66;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.my-day-counts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;font-size:12px}.my-day-counts span{background:#e8eee7;padding:6px 9px;border-radius:6px}.my-day-panels{display:grid;gap:12px}.my-day-empty{padding:14px;font-size:13px;color:#53664f}.my-day-open{padding:0;text-align:left;background:none;font-weight:650;min-height:32px}.my-day-panels .row{padding:12px;gap:8px}.my-day-panels .row>button{font-size:12px;padding:7px;flex-shrink:0}.my-day-panels .panel-head{padding:12px 14px}
body[data-view="today"] main{padding-top:14px}body[data-view="today"] main>header{margin-bottom:10px;align-items:center}body[data-view="today"] #heading{font-size:22px;margin:2px 0}body[data-view="today"] #date{font-size:11px;margin:0}body[data-view="today"] #subtitle{display:none}body[data-view="today"] .capture{padding:10px 12px;border-radius:9px;margin:0}body[data-view="today"] .capture>.spark,body[data-view="today"] .capture>p,body[data-view="today"] .capture>small{display:none}body[data-view="today"] .capture h2{font-size:14px;margin:0 0 7px}body[data-view="today"] .capture form{display:grid;grid-template-columns:minmax(0,1fr) 40px 40px;gap:5px;margin:0}body[data-view="today"] .capture input{min-width:0;width:100%;min-height:40px;padding:8px;font-size:16px}body[data-view="today"] .capture form button{min-height:40px;width:40px;padding:4px}body[data-view="today"] .capture form>.primary{font-size:0}body[data-view="today"] .capture form>.primary:after{content:'↗';font-size:20px}body[data-view="today"] .capture>button{font-size:12px;min-height:32px;padding:4px 8px;margin-top:7px}body[data-view="today"] .toolbar{margin:10px 0;gap:5px}body[data-view="today"] .toolbar>span{display:none}body[data-view="today"] #people{gap:4px;flex-wrap:wrap}body[data-view="today"] #people button{min-height:36px;padding:5px 9px;font-size:12px}body[data-view="today"] .my-day-counts{margin-bottom:9px;gap:5px;font-size:11px}body[data-view="today"] .my-day-panels{gap:8px}body[data-view="today"] .my-day-panels .panel-head{padding:8px 12px}body[data-view="today"] .my-day-panels .panel-head h2{font-size:15px}body[data-view="today"] .my-day-empty{padding:10px 12px;margin:0;font-size:12px}
.today-appointments{display:flex;overflow-x:auto;gap:9px;padding:12px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin}.today-appointment{flex:0 0 220px;max-width:80vw;min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;gap:7px;align-items:flex-start;text-align:left;color:#182b25;border:1px solid #293f3630;border-radius:9px;padding:12px;margin:0;white-space:normal}.today-appointment strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}.today-appointment small{color:#263c35;font-size:12px}.today-appointment time{font-size:13px;font-weight:600}
.today-appointment{background:#fff;box-shadow:0 3px 10px #233b3212}.my-day-panels>.panel{box-shadow:0 4px 14px #233b3214}.my-day-open{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.my-day-open-hint{display:inline-block;padding:4px 8px;border:1px solid #bccbbf;border-radius:6px;background:#f0f5ef;font-size:11px;font-weight:600;white-space:nowrap}.my-day-open:hover .my-day-open-hint{background:#e2ecdf}
body[data-view="today"] .toolbar{display:none}body:not([data-view="today"]) .today-quick-tools{display:none}.today-quick-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:12px;align-items:start}body[data-view="today"] .today-quick-tools>.instant-search,body[data-view="today"] .today-quick-tools>.capture{min-width:0;padding:9px;margin:0;border:1px solid #d3ddcd;border-radius:9px;background:#f4f7f0}.today-quick-tools .instant-search label{font-size:13px;margin-bottom:7px}.today-quick-tools .instant-search>input{min-height:40px;padding:8px;font-size:16px;border:1px solid #aebfac}.today-quick-tools .instant-search article{padding:8px;font-size:12px;gap:7px}.today-quick-tools .instant-search article button{font-size:12px;padding:7px}.today-quick-tools #familyResults:empty{display:none}@media(max-width:550px){body[data-view="today"] .today-quick-tools .capture form{grid-template-columns:1fr 40px}body[data-view="today"] .today-quick-tools .capture #text{grid-column:1/-1}body[data-view="today"] .today-quick-tools .capture form>.primary{width:100%}body[data-view="today"] .today-quick-tools .capture>button{font-size:11px;padding:4px}.today-quick-tools .instant-search article{flex-wrap:wrap}}@media(max-width:350px){.today-quick-tools{grid-template-columns:1fr}}
body[data-view="today"] .today-quick-tools>.capture,body[data-view="today"] .today-quick-tools>.instant-search{padding:7px}.today-quick-tools .instant-search label,body[data-view="today"] .today-quick-tools .capture h2{font-size:12px;margin:0 0 5px}.search-input-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:3px}.search-input-row input{width:100%;min-width:0;padding:6px;min-height:38px;font-size:16px}.search-input-row button{width:36px;padding:3px;min-height:38px}body[data-view="today"] .today-quick-tools .capture form{grid-template-columns:minmax(0,1fr) 36px 32px;gap:3px}body[data-view="today"] .today-quick-tools .capture #text{grid-column:auto;min-height:38px;padding:6px}body[data-view="today"] .today-quick-tools .capture form button{width:100%;min-height:38px;padding:3px}body[data-view="today"] .today-quick-tools .capture>button{margin-top:4px;min-height:28px;font-size:10px}
.my-day-panels [data-loan-age="yellow"]{background:#fff8dc;border-left:4px solid #c69a13}.my-day-panels [data-loan-age="orange"]{background:#fff0df;border-left:4px solid #d36c1c}.my-day-panels [data-loan-age="red"]{background:#ffeded;border-left:4px solid #be3d3d}.my-day-panels .loan-age-label{font-size:12px;font-weight:650;color:#493b2c;margin-top:4px}
body[data-view="today"] main>header>[data-new],body[data-view="today"] .my-day-panels>.panel:first-child .panel-head>[data-new="appointments"]{display:none}.today-notebook{min-width:40px;min-height:40px;padding:5px;font-size:22px}body:not([data-view="today"]) .today-notebook{display:none}body[data-view="today"] .today-quick-tools .capture form{grid-template-columns:minmax(0,1fr) 36px}body[data-view="today"] .today-quick-tools .capture form>.primary{grid-column:1/-1;justify-self:end;width:auto;min-height:30px;font-size:12px;padding:4px 10px}body[data-view="today"] .capture form>.primary:after{content:none}.quick-new-appointment{font-size:12px;min-height:32px;padding:4px 8px;margin-top:5px;border:1px solid #b5c3ad;background:transparent}
body:not([data-view="money"]) .finance-lock-button{display:none}
.pdf-upload{margin:8px 0;padding:9px;border:1px dashed #a9b9ac;border-radius:8px;font-size:13px}.pdf-upload>label{font-size:13px}.pdf-upload input[type=file]{font-size:12px;max-width:100%;padding:4px}.pdf-upload small{font-size:11px}.pdf-upload.dragging{background:#e4f2eb;border-color:#285347}.pdf-proposal{padding:6px 0;border-bottom:1px solid #e4e9e2}.pdf-proposal small{display:block;overflow-wrap:anywhere}.pdf-proposal button,.pdf-upload button{font-size:12px;min-height:32px;margin:3px 4px 0 0;padding:4px 8px}.pdf-where-toggle{display:flex!important;align-items:center;gap:7px;font-size:13px!important}.pdf-where-toggle input[type=checkbox]{width:18px!important;min-height:18px!important}.pdf-original{display:block;font-size:13px;overflow-wrap:anywhere;margin:8px 0}.where-planned{display:block;width:100%;text-align:left;background:#69508c;color:white;padding:6px 12px;border:0;border-radius:0;font-size:12px}.where-planned small{display:block;color:#fff;font-size:11px;line-height:1.4}.where-planned strong{color:#fff}
.global-work-clock{position:sticky;top:0;z-index:80;display:block;width:100%;min-height:26px;padding:4px 8px;border:0;border-radius:0;background:#285347;color:#fff;font-size:11px;line-height:18px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-work-clock{display:flex;align-items:center;justify-content:center;gap:8px}.global-work-clock button{margin:0;padding:4px 8px;min-height:32px;font-size:12px;color:inherit;background:transparent;border:0}.global-work-clock [data-work-open]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.global-work-clock [data-work-pause]{flex-shrink:0;border:1px solid #ffffff90;border-radius:6px}.global-work-clock.is-paused{background:#d9ede9;color:#234b43}
body[data-view=hours] main>header,body[data-view=hours] .toolbar{display:none}
.appointment-actions .reminder-set{background:#dff1e5;border:2px solid #285347}
body.member-account [data-view=hours],body.member-account [data-view=money],body.member-account [data-view=jobs],body.member-account [data-view=inbox],body.member-account [data-view=passkeys],body.member-account .global-work-clock,body.member-account .capture,body.member-account .today-quick-tools,body.member-account [data-security-open],body.member-account [data-new],body.member-account .quick-new-appointment,body.member-account [data-new-rhythm],body.member-account .finance-lock-button{display:none!important}body.member-account[data-view=tasks] [data-new=tasks]{display:inline-block!important}body.member-account .event-top-tools [data-event-edit],body.member-account .event-top-tools [data-event-delete],body.member-account .event-check,body.member-account [data-event-form],body.member-account [data-event-link]{display:none!important}
.sticky-people:not([hidden]){position:fixed;left:0;right:0;z-index:99;display:flex;gap:3px;padding:3px 8px;background:#f7f8f4;box-shadow:0 2px 5px #193b3626;box-sizing:border-box}.sticky-people[hidden]{display:none}.sticky-people button{flex:1;min-width:0;min-height:32px;height:32px;margin:0;padding:3px 5px;font-size:12px;line-height:20px;color:#182b25;border:1px solid #293f3640;border-radius:5px;white-space:nowrap}.sticky-people button[aria-pressed=true]{border:2px solid #285347;font-weight:750;text-decoration:underline;text-underline-offset:3px}.sticky-people button:focus-visible{outline:2px solid #285347;outline-offset:1px}
.title-edit-button{font-size:12px;min-height:32px;padding:4px 8px;margin:2px 0 8px;border:1px solid #b6c4ba;background:transparent}.inline-title-editor{padding:10px;margin:4px 0 12px;background:#f3f6ef;border-radius:8px}.inline-title-editor input{width:100%;font-size:16px;box-sizing:border-box}.inline-title-editor button{font-size:13px;min-height:36px;padding:6px 10px}.inline-title-editor [role=alert]:empty{display:none}footer>a{font-size:12px;margin-left:10px}
.status-dock .personal-today.has-away .where-status>summary,.status-dock .personal-today.has-away .where-status>summary strong,.status-dock .personal-today.has-away .where-line,.status-dock .personal-today.has-away .where-status-body p{color:#fff}.status-dock .personal-today.has-away .where-status-body button{background:#fff;color:#452565;border:1px solid #fff;font-weight:650;opacity:1}.status-dock .personal-today.has-away .where-status-body button:hover{background:#f0e6fa;color:#35174f}.status-dock .personal-today.has-away .where-status-body button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.appointment-description-input{width:100%;min-height:88px;max-height:320px;resize:vertical;line-height:1.5;overflow-y:auto;font-size:16px!important}.appointment-description{margin:12px 0;padding:10px 12px;background:#f5f7f2;border-radius:8px;min-width:0}.appointment-description-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;font-size:14px}.appointment-description.is-collapsed .appointment-description-text{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.appointment-description button{font-size:12px;min-height:32px;padding:4px 8px;margin-top:6px}.appointment-description a{text-decoration:underline;color:#24594c}
.appointment-dialog .appointment-actions .appointment-memo-shortcut{overflow:hidden}.appointment-memo-shortcut svg{width:24px;height:24px;flex-shrink:0}
.month-grid.dynamic-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dynamic-grid .month-day{min-height:240px;min-width:0}.dynamic-grid .month-day.outside{opacity:1;background:inherit}.dynamic-grid .month-day:has([aria-current=date]){background:#eaf2e5;box-shadow:inset 0 0 0 2px #315c4b}.dynamic-grid .appointment-label{-webkit-line-clamp:4;overflow-wrap:anywhere}.dynamic-grid>span{font-size:12px;min-width:0}.dynamic-grid .appointment-chip{max-width:100%}
.dynamic-day-scroll{display:flex;gap:4px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding-bottom:10px;align-items:stretch}.dynamic-day-column{flex:0 0 calc((100% - 12px)/4);min-width:0;scroll-snap-align:start;display:flex;flex-direction:column}.dynamic-day-heading{text-align:center;font-size:12px;font-weight:600;min-height:42px}.dynamic-day-heading small{display:block;color:#285347}.dynamic-day-column .month-day{flex:1;min-height:260px;min-width:0}.dynamic-day-column .month-day.outside{background:white;color:inherit}.dynamic-day-column .month-day:has([aria-current=date]){background:#eaf2e5;box-shadow:inset 0 0 0 2px #315c4b}.dynamic-day-column .appointment-label{-webkit-line-clamp:4;overflow-wrap:anywhere}
.dynamic-day-heading{display:flex;flex-direction:column;min-height:48px}.dynamic-relative-label{order:-1;font-size:clamp(10px,2.7vw,14px);line-height:1.5;color:#234e40;visibility:hidden}.show-relative-labels .dynamic-relative-label{visibility:visible}
.dynamic-timetable{display:flex;gap:4px;min-width:0}.dynamic-timetable .dynamic-day-scroll{flex:1;min-width:0}.dynamic-time-axis{flex:0 0 46px;font-size:10px;color:#52675b}.dynamic-time-axis>[data-period]{padding-top:10px;border-top:1px solid #ccd8cf;box-sizing:border-box}.dynamic-day-heading{flex:none;box-sizing:border-box;justify-content:flex-start}.dynamic-day-heading .month-date-button{font-size:12px;min-height:22px;padding:0;visibility:hidden}.dynamic-period{box-sizing:border-box;padding:4px;flex:none;border:1px solid #d7dfd7;border-top:0;min-width:0;overflow:hidden;background:white}.dynamic-period .month-event-group{margin:0 0 4px}.dynamic-day-column.is-today .dynamic-period{background:#eff5e9}.dynamic-period .appointment-chip{width:100%;text-align:left;padding:6px 3px;border-radius:7px;min-width:0;min-height:0;font-size:11px}.dynamic-period .appointment-chip span,.dynamic-period .appointment-chip small{display:block;overflow-wrap:anywhere}.dynamic-period .appointment-icon{font-size:14px}.dynamic-period .rhythm-entry .appointment-chip{border-left:5px double #496353;padding:3px;font-size:10px;opacity:.9}.dynamic-period .rhythm-entry .appointment-icon{display:none}.dynamic-period .rhythm-entry .appointment-chip>small:last-child{display:none}.dynamic-period .rhythm-entry .appointment-label:before{content:'Ritme · ';font-size:9px}.dynamic-period .month-check{font-size:10px}.dynamic-day-heading{white-space:nowrap;font-size:11px}
.dynamic-navigation{margin:12px 0 8px}.dynamic-navigation>[data-dynamic-week]{display:block;font-size:12px;color:#52675b;margin-bottom:6px}.dynamic-navigation-controls{display:flex;align-items:center;justify-content:space-between;gap:5px;flex-wrap:wrap;font-size:12px}.dynamic-navigation-controls>span{display:flex;align-items:center;gap:4px}.dynamic-navigation-controls button{padding:6px 9px;min-height:36px;font-size:13px}.dynamic-day-heading .month-date-button{visibility:visible;display:flex;flex-direction:column;align-items:center;width:100%;min-height:76px;padding:4px 0;gap:2px;border-radius:6px}.dynamic-day-heading .dynamic-relative-label{visibility:visible;font-size:10px;min-height:15px}.dynamic-day-heading .dynamic-weekday{font-size:13px;font-weight:700}.dynamic-day-heading .dynamic-date{font-size:12px;font-weight:500}.dynamic-day-column.is-today .month-date-button{background:#e5eedc;box-shadow:inset 0 -2px #315c4b}.dynamic-period .rhythm-entry .appointment-label:before{content:'◇ ';font-size:12px}.dynamic-period .rhythm-entry .appointment-chip{border-left:1px solid #8da395}
.agenda-view-controls{justify-content:center;position:relative;flex-wrap:wrap;padding-right:62px;min-height:40px}.agenda-mode-switch{padding:3px;background:#e8ede6;border-radius:12px;gap:3px}.agenda-mode-switch button{border:0;border-radius:9px;min-height:34px;padding:5px 12px}.agenda-mode-switch button[aria-pressed=true]{background:#285347;color:white;box-shadow:0 2px 5px #18372c22}.agenda-view-controls>.agenda-filter{position:absolute;right:0;top:0;margin:0;z-index:3}.agenda-view-controls>.agenda-filter>summary{padding:9px 5px;font-size:12px}.agenda-view-controls>.agenda-filter[open]{background:#f9fbf6;border:1px solid #d2ddce;border-radius:12px;padding:8px;width:min(280px,85vw);box-shadow:0 8px 24px #1b38252b}.agenda-view-controls>.agenda-filter[open]>summary{text-align:right}.dynamic-navigation-controls{display:grid;grid-template-columns:1fr 36px auto 36px 1fr;gap:5px;align-items:center}.dynamic-navigation-controls>[data-dynamic-step="-7"]{grid-column:2}.dynamic-navigation-controls>[data-dynamic-week]{text-align:center;font-size:12px;white-space:nowrap}.dynamic-navigation-controls>[data-dynamic-step]{border-radius:50%;padding:0;min-width:36px;background:#edf2e9;font-size:23px}.dynamic-navigation-controls>.dynamic-today{justify-self:end;border-radius:20px;background:white;border:1px solid #c4d3c7;color:#285347;font-size:11px;min-height:30px;padding:4px 7px;box-shadow:0 2px 4px #24473512}.dynamic-day-column.is-today{border-radius:8px;box-shadow:inset 0 0 0 2px #315c4b}.dynamic-day-column.is-today .month-date-button{background:#285347;color:white;box-shadow:none}.dynamic-day-column.is-today .dynamic-relative-label{color:white}.dynamic-day-column.is-today .dynamic-period{border-left:2px solid #315c4b;border-right:2px solid #315c4b}.dynamic-day-column.is-today .dynamic-period:last-child{border-bottom:2px solid #315c4b}
.agenda-view-controls.agenda-single-row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:4px;padding:0;margin:24px 0 8px;min-width:0}.agenda-single-row .agenda-mode-switch{flex-shrink:0;padding:2px;gap:0}.agenda-single-row .agenda-mode-switch button{font-size:11px;padding:5px 6px;min-height:32px}.agenda-single-row .dynamic-navigation{flex:1;min-width:0;margin:0}.agenda-single-row .dynamic-navigation-controls{display:flex;justify-content:center;gap:2px}.agenda-single-row .dynamic-navigation-controls>[data-dynamic-step]{min-width:26px;min-height:32px;font-size:20px}.agenda-single-row [data-dynamic-week]{font-size:11px}.agenda-single-row .dynamic-navigation-controls>.dynamic-today{margin-left:auto;padding:4px 5px;font-size:10px;min-height:30px}.agenda-view-controls.agenda-single-row>.agenda-filter{position:static;flex:0 0 24px;padding:0;border:0;background:transparent;box-shadow:none;width:auto}.agenda-single-row>.agenda-filter>summary{font-size:0;padding:6px 2px;list-style:none;min-height:30px;box-sizing:border-box}.agenda-single-row>.agenda-filter>summary::-webkit-details-marker{display:none}.agenda-single-row>.agenda-filter>summary:after{content:'☰';font-size:17px;color:#285347}.agenda-single-row>.agenda-filter[open]>div{position:absolute;right:0;top:100%;width:min(280px,85vw);box-sizing:border-box;padding:12px;background:#f9fbf6;border:1px solid #d2ddce;border-radius:12px;box-shadow:0 8px 24px #1b38252b}.agenda-single-row>.agenda-filter[open]>.agenda-scopes{position:relative;top:auto;width:auto;padding:0;border:0;box-shadow:none}.agenda-single-row>.agenda-filter[open]{position:absolute;right:0;top:0;width:min(280px,85vw);padding:8px;background:#f9fbf6;border:1px solid #d2ddce;border-radius:12px;box-shadow:0 8px 24px #1b38252b}.agenda-single-row>.agenda-filter[open]>div{position:static;width:auto;box-shadow:none;border:0;padding:8px 0}.agenda-single-row>.agenda-filter[open]>summary{text-align:right}
.dynamic-date-picker{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:34px;margin:0;color:#285347;overflow:hidden;border-radius:8px;background:#edf2e9}.dynamic-date-picker svg{width:21px;height:21px;pointer-events:none}.dynamic-date-picker input{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;margin:0;opacity:0;cursor:pointer}.dynamic-date-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}.dynamic-date-picker:focus-within{outline:2px solid #285347;outline-offset:2px}
.agenda-header-filter{display:inline-block;position:relative;margin:0 0 0 8px;vertical-align:middle;z-index:5;font-size:12px}.agenda-header-filter>summary{padding:5px;cursor:pointer}.agenda-header-filter[open]{background:#f9fbf6;border-radius:10px;padding:8px;box-shadow:0 5px 18px #193b3626}.agenda-header-filter[open]>div{width:min(270px,75vw);text-align:left}.agenda-header-filter .agenda-scopes{display:flex;gap:3px}.agenda-header-filter .agenda-scopes button{min-height:32px;font-size:12px;padding:4px 8px}
.dynamic-day-column.is-selected{border-radius:8px;box-shadow:inset 0 0 0 2px #315c4b}.dynamic-day-column.is-selected .month-date-button{background:#285347;color:white;box-shadow:none}.dynamic-day-column.is-selected .dynamic-relative-label{color:white}.dynamic-day-column.is-selected .dynamic-period{background:#eff5e9;border-left:2px solid #315c4b;border-right:2px solid #315c4b}.dynamic-day-column.is-selected .dynamic-period:last-child{border-bottom:2px solid #315c4b}
header .header-meta{display:flex;align-items:center;gap:6px;position:relative;min-width:0}header .header-meta #date{margin:0;line-height:1.4;min-width:0}header .header-meta .app-version{flex-shrink:0;min-height:34px;padding:4px;line-height:1.4}header .header-meta .agenda-header-filter{position:static;margin:0 0 0 auto;flex-shrink:0;line-height:1.4}header .header-meta .agenda-header-filter>summary{display:flex;align-items:center;min-height:34px;box-sizing:border-box;padding:4px;list-style:none}header .header-meta .agenda-header-filter>summary::-webkit-details-marker{display:none}header .header-meta .agenda-header-filter[open]{position:absolute;right:0;top:0;background:#f9fbf6;padding:0 8px 8px}header .header-meta .agenda-header-filter[open]>summary{justify-content:flex-end}
.tentative-notice{margin:8px 0 14px;border:1px dashed #9b8651;border-radius:10px;background:#fff9e9;padding:5px}.tentative-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.tentative-row button{font-size:12px;min-height:32px;padding:5px 8px;background:transparent}.tentative-row button:first-child{flex:1;text-align:left;min-width:150px}.tentative-row button:not(:first-child){background:#f0ead9;border-radius:8px}.tentative-toggle{display:flex;align-items:center;gap:8px;font-size:13px}.tentative-toggle input[type=checkbox]{width:34px}.appointment-chip.is-tentative{border:2px dashed #816c39!important}.appointment-chip.is-tentative .appointment-label:before{content:'? ';font-weight:700}
.dynamic-day-heading .dynamic-day-add{align-self:flex-end;display:flex;align-items:center;justify-content:center;min-height:28px;min-width:30px;width:30px;height:28px;padding:0;margin:0 2px 3px 0;border-radius:8px;background:#e7eee5;color:#285347;font-size:21px;line-height:1;border:1px solid #ccd9ca}.dynamic-day-heading .dynamic-day-add:hover{background:#d9e7d6}.dynamic-day-heading .dynamic-day-add:focus-visible{outline:2px solid #285347;outline-offset:1px}
.dynamic-day-column.day-halloween .dynamic-period,.month-day.day-halloween{background:#fff3e4}.day-halloween .special-day-label{display:block;white-space:normal;font-size:10px;line-height:1.3;font-weight:600;color:#874307;padding:3px 2px;border-radius:5px;background:#ffe0b7;margin-top:3px}.dynamic-day-column.day-halloween:not(.is-today):not(.is-selected) .month-date-button{background:#fff0db;color:#753e13}.dynamic-day-column.day-halloween.is-selected .dynamic-period,.dynamic-day-column.day-halloween.is-today .dynamic-period{background:#fff3e4}.month-day.day-halloween .month-date-button{max-width:100%;white-space:normal}
.dynamic-day-column.day-christmas .dynamic-period,.month-day.day-christmas{background:#edf6ec}.day-christmas .special-day-label{display:block;white-space:normal;font-size:10px;line-height:1.3;font-weight:600;color:#255437;padding:3px 2px;border-radius:5px;background:#d5e9d2;margin-top:3px}.dynamic-day-column.day-christmas:not(.is-today):not(.is-selected) .month-date-button{background:#e3f0df;color:#255437}.dynamic-day-column.day-sinterklaas .dynamic-period,.month-day.day-sinterklaas{background:#fff0ed}.day-sinterklaas .special-day-label{display:block;white-space:normal;font-size:10px;line-height:1.3;font-weight:600;color:#873e35;padding:3px 2px;border-radius:5px;background:#f8dcd5;margin-top:3px}.dynamic-day-column.day-sinterklaas:not(.is-today):not(.is-selected) .month-date-button{background:#fce6df;color:#873e35}.month-day.day-christmas .month-date-button,.month-day.day-sinterklaas .month-date-button{max-width:100%;white-space:normal}
.dynamic-day-heading.has-day-add{position:relative}.dynamic-day-heading.has-day-add .month-date-button{padding-bottom:32px}.dynamic-day-heading .dynamic-day-add{position:absolute;bottom:4px;right:4px;margin:0;min-width:24px;width:24px;min-height:24px;height:24px;border:1px solid #ffffff70;background:#ffffff22;color:white;border-radius:50%;font-size:18px;box-shadow:none}.dynamic-day-heading .dynamic-day-add:hover{background:#ffffff40}
.dynamic-day-heading.has-day-add .month-date-button{padding-bottom:32px}.dynamic-day-heading .dynamic-day-add[hidden]{display:none!important}
.dynamic-day-scroll{scroll-snap-type:none;scroll-behavior:auto;overflow-anchor:none}
.attention-bar{margin:8px 0 12px}.attention-switches{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.attention-switch{display:flex;align-items:center;gap:5px;margin:0;min-width:0;font-size:12px;font-weight:500;line-height:1.3;cursor:pointer}.attention-switch input[type=checkbox]{appearance:none;-webkit-appearance:none;display:block;position:relative;flex:0 0 28px;width:28px;height:17px;min-height:0;margin:0;padding:0;border:0;border-radius:20px;background:#acb8b0;cursor:pointer}.attention-switch input:before{content:'';position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:white;transition:transform .15s}.attention-switch input:checked{background:#285347}.attention-switch input:checked:before{transform:translateX(11px)}.attention-switch input:disabled{opacity:.45}.attention-switch input:focus-visible{outline:2px solid #285347;outline-offset:3px}.attention-bar .tentative-notice,.attention-bar .open-notes-notice{margin:7px 0 0}.attention-bar .open-notes-notice>small{display:none}@media(max-width:360px){.attention-switches{gap:7px}.attention-switch{font-size:11px;gap:4px}}
.attention-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.attention-bar>.tentative-notice,.attention-bar>.open-notes-notice{margin:0;padding:6px;min-width:0;border-radius:9px}.attention-bar .attention-heading,.attention-bar .open-notes-notice>small.attention-heading{display:block;font-size:11px;font-weight:600;margin-bottom:3px}.attention-bar .tentative-row,.attention-bar .task-bar-item{display:flex;flex-wrap:nowrap;gap:5px;align-items:center}.attention-bar .tentative-row button,.attention-bar .task-bar-item button{flex:1;min-width:0;text-align:left;padding:3px 0;min-height:30px;font-size:11px;line-height:1.3;overflow-wrap:anywhere;background:transparent}.attention-bar .task-bar-items{display:block}.attention-bar input[role=switch]{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 28px;width:28px;height:17px;min-height:0;padding:0;margin:0;border:0;border-radius:20px;background:#acb8b0;cursor:pointer}.attention-bar input[role=switch]:before{content:'';position:absolute;top:2px;left:2px;width:13px;height:13px;background:white;border-radius:50%}.attention-bar input[role=switch]:checked{background:#285347}.attention-bar input[role=switch]:checked:before{transform:translateX(11px)}.attention-bar input[role=switch]:focus-visible{outline:2px solid #285347;outline-offset:2px}.attention-bar:has(>.tentative-notice[hidden]),.attention-bar:has(>.open-notes-notice[hidden]){grid-template-columns:1fr}
.attention-bar .tentative-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:anywhere;font-size:11px;font-weight:400;line-height:1.35;color:#59634d;margin-top:3px}
.title-search-trigger{width:100%;text-align:left;padding:9px 12px;font-size:14px}.title-search-results{max-height:45dvh;overflow:auto;display:flex;flex-direction:column;margin:8px 0}.title-search-results button{min-height:36px;padding:7px 9px;text-align:left;background:transparent;font-size:13px;border-bottom:1px solid #e3e9e1;border-radius:0}.title-search-dialog input{width:100%}.tentative-dialog .tentative-row{padding:10px 0;border-bottom:1px solid #e0e5da;display:flex;flex-wrap:wrap;gap:8px}.tentative-dialog .tentative-row button{font-size:13px}.tentative-dialog .tentative-description{display:block;font-size:12px;white-space:normal}.tentative-dialog input[role=switch]{width:30px}.attention-bar .tentative-row{flex-wrap:wrap}.attention-bar .tentative-whatsapp{flex-basis:100%;font-size:10px;color:#285347}.reaction-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dynamic-period .rhythm-entry .appointment-label:before{content:'● ';color:#111;font-size:9px}
html body dialog.tentative-dialog{padding:18px;width:min(480px,calc(100vw - 24px))}html body .tentative-dialog .dialog-head{align-items:center;margin:0 0 12px;gap:10px}html body .tentative-dialog .dialog-head h2{margin:0;font-size:20px}html body .tentative-dialog .dialog-head>button{display:flex;align-items:center;justify-content:center;flex:0 0 32px;min-height:32px;width:32px;padding:0;border-radius:50%;font-size:20px;background:#edf2eb}html body .tentative-dialog .tentative-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:start;gap:8px;margin:0 0 9px;padding:12px;border:1px solid #e3dfcd;border-radius:12px;background:#faf8f0}html body .tentative-dialog .tentative-row:last-child{margin-bottom:0}html body .tentative-dialog .tentative-row>.tentative-open{grid-column:1;grid-row:1;display:block;width:100%;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;text-align:left;box-shadow:none;color:#263f34;white-space:normal}html body .tentative-dialog .tentative-title{display:block;font-size:14px;line-height:1.35;font-weight:650;overflow-wrap:anywhere}html body .tentative-dialog .tentative-date{display:block;margin-top:3px;font-size:11px;font-weight:400;color:#647064}html body .tentative-dialog .tentative-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:normal;overflow-wrap:anywhere;margin-top:7px;font-size:12px;font-weight:400;line-height:1.45;color:#4d594e}html body .tentative-dialog .tentative-open-hint{display:block;margin-top:6px;font-size:11px;font-weight:500;color:#285347}html body .tentative-dialog input[role=switch]{grid-column:2;grid-row:1;appearance:none;-webkit-appearance:none;position:relative;width:32px;height:20px;min-height:20px;margin:1px 0 0;padding:0;border:0;border-radius:20px;background:#aab6ae;cursor:pointer}html body .tentative-dialog input[role=switch]:before{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;background:white;border-radius:50%;transition:transform .15s}html body .tentative-dialog input[role=switch]:checked{background:#28564a}html body .tentative-dialog input[role=switch]:checked:before{transform:translateX(12px)}html body .tentative-dialog input[role=switch]:focus-visible{outline:2px solid #285347;outline-offset:3px}html body .tentative-dialog .tentative-whatsapp{grid-column:1/-1;justify-self:start;min-height:32px;padding:5px 9px;font-size:11px;font-weight:500;background:#e5eee3;border-radius:8px}
.dynamic-timetable{position:relative;display:block;--day-axis-width:50px}.dynamic-timetable .dynamic-day-scroll{width:100%;box-sizing:border-box;padding-left:var(--day-axis-width);scroll-padding-left:var(--day-axis-width)}.dynamic-timetable .dynamic-time-axis{position:absolute;left:0;top:0;width:calc(var(--day-axis-width) - 4px);z-index:2;opacity:1;pointer-events:none;color:#52675b}.dynamic-time-axis>[data-period]{background:rgba(247,249,241,.78);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-right:1px solid rgba(205,217,205,.55);padding-left:2px}.dynamic-time-axis>.dynamic-axis-head{background:transparent}@media(prefers-reduced-transparency:reduce){.dynamic-time-axis>[data-period]{background:#f7f9f1;backdrop-filter:none;-webkit-backdrop-filter:none}}
.reply-question{white-space:pre-wrap;font-size:13px;background:#f8f3e5;padding:10px;border-radius:8px;max-height:140px;overflow:auto}.reply-templates>div{display:grid;grid-template-columns:24px 1fr 30px;gap:6px;align-items:center;margin-bottom:6px}.reply-templates textarea{font-size:12px;width:100%;padding:6px;box-sizing:border-box}.reply-templates input{width:20px}.reply-dialog label{margin:8px 0}.reply-dialog button{font-size:12px;padding:7px;min-height:32px}.reply-dialog>label>textarea{width:100%;box-sizing:border-box}.reply-dialog [data-copy]{background:#285347;color:white}
.dynamic-period .appointment-chip.is-confirmed,.month-day .appointment-chip.is-confirmed{border-left:4px solid #28784b!important}
.month-event-group.rhythm-entry .appointment-label:before{content:'';display:inline-block;width:16px;height:16px;margin-right:3px;vertical-align:-3px;background:url('/gezin_os/rhythm-mark.svg') center/contain no-repeat}
html:not([data-rhythm-marker="colour"]) .month-event-group.rhythm-entry .appointment-label:before{content:'●';width:auto;height:auto;margin-right:3px;vertical-align:baseline;background:none;color:#111;font-size:9px}
.settings-page{max-width:720px;margin:0 auto;display:grid;gap:22px}
.apk-download-dialog{width:min(420px,calc(100vw - 32px));box-sizing:border-box}.apk-download-dialog progress{width:100%;height:14px;accent-color:#285347}.apk-download-dialog [data-help]{font-size:13px;line-height:1.5}.apk-download-dialog .dialog-actions{display:flex;gap:8px;flex-wrap:wrap}.apk-download-dialog::backdrop{background:#193b3655;backdrop-filter:blur(4px)}
.compact-android nav [data-view]:not([data-view="week"]):not([data-view="tasks"]):not([data-view="today"]):not([data-view="settings"]){display:none!important}
.compact-android .today-quick-tools,.compact-android .my-day-counts,.compact-android #subtitle{display:none!important}
.compact-android .global-work-clock{display:none!important}
.widget-webview .status-dock{padding-top:0}
.compact-android .my-day-panels{display:block}.compact-android .my-day-panels>[hidden]{display:none!important}
.compact-help{font-size:12px;padding:5px 8px;min-height:34px}.app-introduction p{font-size:16px;line-height:1.6}.app-introduction small{display:block;font-size:12px;color:#657268}.app-introduction .dialog-actions{margin-top:20px;display:flex;gap:8px;flex-wrap:wrap}
.settings-page .settings-chapter{min-width:0}
.settings-page .settings-chapter[hidden]{display:none!important}
.settings-tabs{display:flex;flex-wrap:wrap;gap:2px 6px;margin:0 0 4px;padding-bottom:7px;border-bottom:1px solid #dfe6dd}
html body .settings-page .settings-tabs button{flex:0 0 auto;min-height:36px;padding:6px 9px;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:#657268;font-size:12px;font-weight:500;line-height:1.2;white-space:nowrap;box-shadow:none}
html body .settings-page .settings-tabs button[aria-selected=true]{background:transparent;color:#285347;border-bottom-color:#285347;font-weight:650}
.settings-page{gap:14px}
body[data-view=settings] #people,body[data-view=settings] .sticky-people{display:none!important}
.settings-page .family-settings-inline{width:100%;max-height:none;overflow:visible;padding:12px 0;box-sizing:border-box;box-shadow:none}
.settings-page .family-settings-inline .family-help{margin:0 0 12px}
.family-settings-people{display:flex;gap:6px;flex-wrap:wrap}
html body .settings-page .family-settings-people button{background:transparent;color:#254c40;border:1px solid #dce3dd;border-radius:8px;padding:7px 10px;font-size:13px;min-height:38px;box-shadow:none;display:flex;align-items:center;gap:7px}
.family-settings-people button::before{content:'';width:10px;height:10px;flex:none;border-radius:50%;background:var(--member-color)}
html body .settings-page .family-settings-people button[aria-pressed=true]{border:2px solid #285347;padding:6px 9px;background:#f3f6f1}
.family-selected-role{font-size:12px;color:#657268;margin:12px 0}
.settings-page .family-member-form>label:has(input[name=name][readonly]){display:none}
.settings-page .family-member-form .family-color-swatches{margin:8px 0 16px}
.settings-page .family-member-form :is(input,select)[hidden]{display:none!important}
.settings-page .family-member-form .family-color-swatches button{min-height:32px;height:32px}
.settings-page .family-settings-inline>button[data-add]{background:transparent;color:#285347;margin-top:18px;border:1px solid #b7c7bc;border-radius:8px}
.settings-page .work-rhythm-inline{width:100%;max-height:none;padding:12px 0 0;border-top:1px solid #edf0e9;overflow:visible;box-sizing:border-box}
.settings-page .work-rhythm-setting-heading,.settings-page .dynamic-bars-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}
.settings-page .work-rhythm-setting-heading input,.settings-page .dynamic-bars-setting input{order:2}
.settings-page .help-center-inline>details{margin-top:16px}
.settings-page .help-center-inline textarea,.settings-page .help-center-inline input{box-sizing:border-box;max-width:100%;width:100%}
.settings-page label:has(input[role=switch]){display:flex;align-items:center;gap:12px;min-height:40px;line-height:1.4}
html body .settings-page .member-invite-button{width:auto;margin:5px 0 10px;padding:7px 11px;min-height:36px;font-size:13px;border-radius:8px;box-shadow:none}
html body .settings-page .family-settings-launcher{padding:12px 0;font-size:14px}
.settings-tabs button:focus-visible{outline:2px solid #d69a3c;outline-offset:2px}
.rhythm-variant-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:10px 0}
html body .settings-page .rhythm-variant-picker button{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0!important;padding:6px!important;border:1px solid #dce4dd;background:#fafcf9;color:#285347;font-size:11px}
html body .settings-page .rhythm-variant-picker button[aria-pressed=true]{outline:2px solid #285347;outline-offset:-2px;background:#edf4ee}
.rhythm-variant-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:16px;vertical-align:middle}
html[data-rhythm-marker=ring] .month-event-group.rhythm-entry .appointment-label:before{content:'○';font-size:13px}
html[data-rhythm-marker=square] .month-event-group.rhythm-entry .appointment-label:before{content:'■';font-size:10px}
html[data-rhythm-marker=diamond] .month-event-group.rhythm-entry .appointment-label:before{content:'◆';font-size:11px}
html[data-rhythm-marker=repeat] .month-event-group.rhythm-entry .appointment-label:before{content:'↻';font-size:14px}
.settings-page .settings-items[hidden]{display:none!important}
.settings-page .agenda-settings-subtabs{margin:5px 0 10px}
html body .settings-page [data-settings-chapter=account] .settings-items>.panel{padding:12px 0}
.settings-page [data-settings-chapter=account] .settings-items h3{font-size:13px;margin:0 0 6px}
.settings-page [data-settings-chapter=account] .settings-items p{margin:4px 0 8px;font-size:12px;overflow-wrap:anywhere}
.settings-page [data-settings-chapter=account] .settings-items small{font-size:11px;margin-top:5px;line-height:1.45}
.settings-page [data-settings-chapter=account] .settings-items label{font-size:13px;margin-bottom:6px}
.settings-page [data-settings-chapter=account] .dialog-actions{justify-content:flex-start;gap:6px;margin-top:6px}
html body .settings-page [data-settings-chapter=account] .settings-items button{min-height:40px;padding:7px 10px;font-size:12px;margin:3px 5px 3px 0}
.settings-page [data-settings-chapter=account] .account-identity strong{font-size:14px;margin:2px 0}
.settings-page .title-library-row{display:flex;gap:6px;align-items:center;padding:8px 0;border-bottom:1px solid #edf0e9}
.settings-page .title-library-row:last-child{border-bottom:0}
.settings-page .title-library-row input{margin:0!important;min-width:0;flex:1}
html body .settings-page .title-library-row button{flex:0 0 40px;width:40px;margin:0!important;padding:6px!important;font-size:17px!important}
/* One quiet form language across every settings subtab. */
html body .settings-page .settings-items{padding:0 16px;border-radius:16px}
html body .settings-page .settings-items>.panel{padding:18px 0}
.settings-page .settings-items p{font-size:13px;line-height:1.55;margin:6px 0 12px;color:#596d61}
.settings-page .settings-items h3{font-size:14px;line-height:1.4;margin:0 0 10px;color:#254c40}
.settings-page .settings-items label:not(:has(input[type=checkbox])){display:block;margin:0 0 12px;line-height:1.45}
.settings-page .settings-items :is(input:not([type=checkbox]):not([type=color]),textarea,select){box-sizing:border-box;max-width:100%;border:1px solid #dce4dd;border-radius:9px;background:#fafcf9;color:#254c40;font:inherit;font-size:14px;padding:10px 12px;min-height:42px}
.settings-page .settings-items :is(input[type=email],input[type=text],textarea){width:100%;margin-top:6px}
.settings-page .settings-items textarea{resize:vertical;min-height:110px}
.settings-page .settings-items :is(input,textarea,select):focus-visible{outline:2px solid #285347;outline-offset:2px}
html body .settings-page input[type=checkbox][role=switch]{appearance:none;-webkit-appearance:none;position:relative;display:block;flex:0 0 34px;width:34px;height:20px;min-height:20px;padding:0;margin:0;border:0;border-radius:20px;background:#aab8ae;cursor:pointer}
html body .settings-page input[type=checkbox][role=switch]::before{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0002;transition:transform .15s}
html body .settings-page input[type=checkbox][role=switch]:checked{background:#285347}
html body .settings-page input[type=checkbox][role=switch]:checked::before{transform:translateX(14px)}
html body .settings-page input[type=checkbox][role=switch]:disabled{opacity:.45;cursor:default}
.settings-page .settings-switch-row{justify-content:space-between;min-height:44px;font-size:14px;font-weight:500}
.settings-page .settings-switch-row input{order:2}
html body .settings-page .settings-items button:not(.family-color-swatches button):not(.family-settings-people button){border-radius:9px;min-height:40px;font-size:13px;margin:4px 6px 4px 0;padding:9px 12px;box-shadow:none}
.settings-page .notes-tools,.settings-page .first-start-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.settings-page :is(.notes-tools,.first-start-tools)>h3{flex-basis:100%}
.settings-page .settings-items details{margin:0;border-top:1px solid #edf0e9;padding:9px 0}
.settings-page .settings-items summary{display:list-item;padding:7px 0;min-height:30px;line-height:1.45;font-size:13px;font-weight:500;color:#285347}
.settings-page .settings-items details[open]>summary{margin-bottom:9px}
.settings-page .feedback-form form{display:grid;gap:8px;padding-top:5px}
.settings-page .feedback-form form>label{margin:0}
.settings-page .feedback-form [data-preview]{width:100%;max-height:180px;object-fit:contain;border-radius:9px}
.settings-page .work-rhythm-inline .work-rhythm-times{gap:10px}
.settings-page .work-rhythm-inline input[type=time]{width:100%;font-variant-numeric:tabular-nums}
.settings-page [role=status]:empty,.settings-page [role=alert]:empty{display:none}
.settings-page .privacy-beta-settings>small{margin-top:8px}
@media(prefers-reduced-motion:reduce){.settings-page input[role=switch]::before{transition:none}}
.family-color-swatches{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin-top:10px}
html body .family-color-swatches button{background:var(--swatch);min-height:36px;padding:0;border:2px solid transparent;border-radius:8px;box-shadow:none}
html body .family-color-swatches button[aria-pressed=true]{border-color:#254c40;box-shadow:inset 0 0 0 2px white}
html body :is(.settings-page,.family-settings-dialog) input[type=checkbox]:not([role=switch]){width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;padding:0!important;flex:0 0 20px;margin:0 8px 0 0;accent-color:#285347}
.settings-page .settings-chapter>h2{font-size:17px;font-weight:650;margin:0 0 3px;color:#254c40}
.settings-page .settings-intro{font-size:12px;line-height:1.45;color:#657268;margin:0 0 9px}
.settings-page .settings-items{background:#fff;border:1px solid #dfe6dd;border-radius:14px;padding:4px 14px;box-shadow:0 2px 7px #234c3908;min-width:0}
.settings-page .settings-items>.panel{background:none;border:0;border-radius:0;box-shadow:none;margin:0;padding:13px 0;min-width:0}
.settings-page .settings-items>*+*{border-top:1px solid #edf0e9!important}
.settings-page .settings-items>button{display:block;width:100%;margin:0;padding:13px 0;border-radius:0;background:transparent;text-align:left;font-size:14px;font-weight:500;min-height:44px;box-shadow:none;color:#285347}
.settings-page .panel h2,.settings-page h3{font-size:14px;margin:0 0 8px;font-weight:600}
.settings-page label{font-size:14px;font-weight:500;margin:0 0 5px}
.settings-page small{display:block;font-size:12px;line-height:1.45;color:#657268}
.settings-page select{font-size:14px;min-height:42px;margin-top:6px;width:100%;max-width:100%;box-sizing:border-box}
.settings-page .dialog-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.settings-page button,.settings-page a.button{font-size:13px;min-height:40px;padding:8px 11px}
.settings-page .account-identity strong{display:block;margin:4px 0;font-size:15px}
.settings-page .sound-controls{display:flex;gap:6px;align-items:center}.settings-page .sound-controls select{flex:1;min-width:0;margin:0}.settings-page .sound-controls button{flex:none}
.settings-page details{font-size:13px;margin-top:10px}.settings-page summary{cursor:pointer;min-height:32px}
.loan-reminder-action{font-size:12px;padding:5px 8px;margin-top:5px;min-height:32px}.loan-reminder-dialog textarea{width:100%;box-sizing:border-box;font-size:14px}.loan-reminder-dialog small{display:block;margin:12px 0;font-size:12px}.loan-reminder-dialog [data-history]{font-size:12px;max-height:180px;overflow:auto}.loan-reminder-dialog [data-sent]{font-size:13px;background:#285347;color:white;margin:5px 0}
main>header>div{min-width:0;max-width:100%;width:100%}header .header-meta{max-width:100%;flex-wrap:wrap}header .header-meta #date{font-size:12px;letter-spacing:.04em}header .header-meta .agenda-header-filter>summary{font-size:12px}header .header-meta .agenda-header-filter[open]{z-index:8;width:min(280px,100%);max-width:100%;box-sizing:border-box;box-shadow:0 5px 18px #234c3926;border-radius:10px}header .header-meta .agenda-header-filter>div{min-width:0;max-width:100%;box-sizing:border-box}header .header-meta .agenda-header-filter label{width:100%}header .header-meta .agenda-header-filter select{width:100%;min-width:0;box-sizing:border-box}

/* Compact month controls; calendar cards and dates stay unchanged. */
.month-view-controls{justify-content:center!important;padding-right:0!important;margin:6px 0 10px;min-height:0}.month-view-controls .agenda-mode-switch button{min-height:34px;padding:5px 12px;font-size:13px}.month-navigation-compact{display:grid;grid-template-columns:32px minmax(0,1fr) 32px auto 32px;align-items:center;gap:6px;margin:0 0 12px;min-width:0}.month-navigation-compact h2{margin:0;font-size:20px;line-height:1.2;font-weight:650;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.month-navigation-compact>button{height:34px;min-height:34px;padding:4px 9px;margin:0;border-radius:10px;font-size:13px;background:#edf2e9}.month-navigation-compact>button[data-month-step]{width:32px;min-width:32px;padding:0;font-size:22px}.month-navigation-compact>button[data-month-today]{border:1px solid #d6e0d2;background:#fff;border-radius:18px;font-size:12px}.month-navigation-compact #agendaJump.month-date-jump{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:34px;margin:0;padding:0;gap:0;background:#edf2e9;border-radius:9px;min-width:0;overflow:hidden}.month-date-jump svg{width:21px;height:21px;color:#285347;pointer-events:none}.month-date-jump label{position:absolute;inset:0;width:100%;height:100%;margin:0}.month-date-jump input{position:absolute;inset:0;opacity:0;width:100%!important;height:100%;min-height:0!important;padding:0!important;margin:0;cursor:pointer}.month-date-jump input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}.month-date-jump button{display:none!important}.month-date-jump:focus-within{outline:2px solid #285347;outline-offset:2px}
@media(max-width:600px){.month-navigation-compact{grid-template-columns:28px minmax(0,1fr) 28px auto 30px;gap:4px}.month-navigation-compact h2{font-size:17px}.month-navigation-compact>button[data-month-step]{width:28px;min-width:28px}.month-navigation-compact>button[data-month-today]{padding:4px 7px;font-size:11px}.month-navigation-compact #agendaJump.month-date-jump{width:30px}.month-view-controls .agenda-mode-switch{margin:0}}

.month-holiday-legend{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:0 0 8px}.month-holiday-legend button{border:1px solid #e7dec8;background:#f9f3e8;color:#75633b;border-radius:12px;padding:3px 8px;min-height:26px;font-size:11px;font-weight:500}.month-grid .month-week{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0}.month-week .month-week-holiday{display:flex;align-items:center;justify-content:center;background:transparent;border:0;margin:0;padding:3px 0;width:100%;min-height:28px;min-width:0;font-size:14px;line-height:1}.month-week-holiday:focus-visible{outline:2px solid #285347;outline-offset:-2px}

body[data-view=week].calendar-hide-brandText .app-branding strong,body[data-view=week].calendar-hide-brandText .app-branding small{display:none!important}
body[data-view=week].calendar-hide-date .header-meta #date{display:none!important}
body[data-view=week].calendar-hide-search .appointment-search{display:none!important}
body[data-view=week].calendar-hide-refresh .header-meta .app-version{display:none!important}
body[data-view=week].calendar-hide-news .calendar-rhythm-info{display:none!important}
body[data-view=week].calendar-hide-help .compact-help{display:none!important}
body[data-view=week].calendar-hide-todayBars .dynamic-appointment-bars{display:none!important}
body[data-view=week].calendar-hide-quickShare .where-quick-add{display:none!important}
body[data-view=week].calendar-hide-people #people,body[data-view=week].calendar-hide-people .sticky-people{display:none!important}
body[data-view=week].calendar-hide-family #people [data-owner="gezin"],body[data-view=week].calendar-hide-family .sticky-people [data-owner="gezin"]{display:none!important}
body[data-view=week].calendar-hide-pets .pet-agenda-filter{display:none!important}
body[data-view=week].calendar-hide-mode .agenda-mode-switch{display:none!important}
body[data-view=week].calendar-hide-navigation .dynamic-navigation,body[data-view=week].calendar-hide-navigation .month-navigation-compact,body[data-view=week].calendar-hide-navigation .dynamic-date-picker{display:none!important}
body[data-view=week].calendar-hide-nav aside{display:none!important}
body[data-view=week].calendar-hide-footer main>footer{display:none!important}
body[data-view=week].calendar-hide-week .week-rhythm{display:none!important}
body[data-view=week].calendar-hide-attention .attention-bar{display:none!important}
body[data-view=week].calendar-hide-nav main{margin-left:0!important;padding-bottom:24px!important}body[data-view=week].calendar-minimal .app-branding{margin:8px 0 2px;padding:0}body[data-view=week].calendar-minimal main>header{margin-bottom:8px}body[data-view=week].calendar-minimal .header-meta{justify-content:flex-end}.screen-layout-dialog{width:min(440px,calc(100vw - 28px));max-height:90dvh;padding:18px;border-radius:22px;overflow:auto;overscroll-behavior:contain}.screen-layout-head{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:-18px;background:#fff;z-index:2;padding:10px 0;margin:-8px 0 2px}.screen-layout-head h2{font-size:20px;margin:0}.screen-layout-head .whats-new-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;padding:0;background:transparent;border:0;border-radius:50%;font-size:24px}.screen-layout-presets{display:flex;gap:8px;margin:10px 0 16px}.screen-layout-presets button{padding:6px 10px;min-height:32px;border-radius:10px;font-size:12px;background:#edf2e8;color:#285347}.screen-layout-group{margin:12px 0;padding:10px 12px;background:#f6f8f3;border:1px solid #e3e9de;border-radius:16px}.screen-layout-group h3{margin:0 0 4px;font-size:12px;font-weight:600;color:#728270}.screen-layout-group .calendar-layer-row{padding:9px 0!important;min-height:40px;font-size:13px}.screen-layout-group .calendar-layer-row:last-child{border-bottom:0}.screen-layout-group .calendar-layer-eye{border-radius:9px;background:#e3ecdf;padding:4px;flex-basis:28px}.screen-layout-group .calendar-layer-eye svg{width:19px;height:19px}.screen-layout-group [data-visible=false] .calendar-layer-eye{background:#ecefeb}.screen-layout-dialog .calendar-layers-note{font-size:12px;line-height:1.5;margin-bottom:8px}

body[data-view=week].calendar-minimal .app-branding{align-items:flex-start;justify-content:flex-start;margin:0;padding:0}body[data-view=week].calendar-minimal main>header{position:relative;height:0;min-height:0;margin:0!important;padding:0}body[data-view=week].calendar-minimal .header-meta{position:absolute;right:0;top:-42px}body[data-view=week].calendar-minimal.calendar-hide-mode.calendar-hide-navigation .agenda-view-controls{display:none!important}body[data-view=week].calendar-minimal .dynamic-timetable{margin-top:14px}

.google-calendar-dialog select{display:block;width:100%;margin:12px 0}.google-calendar-dialog select[hidden]{display:none}.google-calendar-status{font-size:.8rem;padding:6px 12px;margin:4px 0;background:#edf4f0;max-width:100%;white-space:normal}

.android-update-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px;padding:10px 14px;border:1px solid #c7dbd2;border-radius:14px;background:#eaf3ee;color:#214f43;font-size:.85rem}.android-update-notice small{display:block;font-size:.75rem;font-weight:normal;margin-top:2px}.android-update-action{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:8px 12px;background:#24594b;color:white;text-decoration:none;font-weight:600;white-space:nowrap}

/* Non-modal layout editor leaves the real calendar visible and interactive. */
html body dialog.screen-layout-dialog[open]{position:fixed;inset:auto 12px 12px auto;margin:0;width:min(350px,calc(100vw - 24px));max-height:66dvh;z-index:1000;border:1px solid #d4ded4;box-shadow:0 8px 32px #173b3429;background:#fffffff5;backdrop-filter:none;transform:none;padding:14px;border-radius:18px}.screen-layout-dialog .screen-layout-head{top:-14px;gap:6px;padding:8px 0;background:#fff}.screen-layout-dialog .screen-layout-head h2{font-size:16px}.screen-layout-peek{padding:5px 8px;min-height:30px;font-size:11px;background:#edf3ea;white-space:nowrap;margin-left:auto}.screen-layout-dialog.screen-layout-folded>:not(.screen-layout-head){display:none!important}.screen-layout-dialog.screen-layout-folded .screen-layout-head{margin:0;padding:0;position:static}.screen-layout-dialog.screen-layout-folded{padding:10px 14px}.screen-layout-dialog::backdrop{background:transparent;backdrop-filter:none}@media(max-width:700px){html body dialog.screen-layout-dialog[open]{inset:auto 8px calc(8px + env(safe-area-inset-bottom)) 8px;width:auto;max-height:42dvh}.screen-layout-dialog .screen-layout-group{margin:8px 0;padding:6px 10px}.screen-layout-dialog .screen-layout-presets{margin:6px 0 8px}.screen-layout-dialog .calendar-layers-note{font-size:11px}}

.screen-layout-presets{flex-wrap:wrap}.screen-layout-presets button:first-child{flex:1 1 100%;text-align:left;background:#e2ede5;color:#245347}.screen-layout-presets button:last-child{margin-left:auto}

.screen-layout-presets button.screen-layout-reset:first-child{flex:0 0 38px;width:38px;height:38px;min-height:38px;padding:0;text-align:center;background:#faece8;color:#b84437;font-size:25px;border-radius:50%}.screen-layout-presets{align-items:center}

.screen-layout-children{margin:0 0 6px 12px;padding-left:10px;border-left:2px solid #d5e2d6}.screen-layout-children[hidden]{display:none}

.shopping-list{margin:0 0 16px;border:1px solid #dce6dc;border-radius:16px;background:#fff;overflow:hidden}.shopping-list>summary{padding:14px 18px;color:#285347;font-weight:600;cursor:pointer}.shopping-content{padding:0 18px 16px}.shopping-content>small{display:block;font-size:12px;line-height:1.5}.shopping-add{display:flex;gap:6px;align-items:center;margin:12px 0 5px}.shopping-add textarea{resize:vertical;min-height:42px;max-height:180px;border:1px solid #dce6dc;border-radius:11px;padding:10px;font:inherit;flex:1;min-width:0}.shopping-add button{width:42px;min-width:42px;height:42px;padding:0;font-size:20px}.shopping-hint{font-size:11px!important}.shopping-status{font-size:12px;margin:8px 0;line-height:1.4}.shopping-row{display:flex;align-items:center;border-bottom:1px solid #eef2eb;gap:8px;padding:8px 0}.shopping-row label{display:flex;align-items:center;gap:10px;flex:1;margin:0;font-weight:400;min-width:0}.shopping-row label span{overflow-wrap:anywhere}.shopping-row input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:#285347;margin:0}.shopping-row.is-done label span{text-decoration:line-through;color:#829080}.shopping-row .shopping-remove{padding:5px 8px;background:transparent;color:#788678;min-height:32px}.shopping-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:14px}.shopping-actions button{font-size:12px;padding:9px 12px}.shopping-empty{font-size:13px;color:#72816f;padding:14px 0}.shopping-previous{padding:12px;margin-top:12px;border-radius:12px;background:#f3f6ee}.shopping-previous[hidden]{display:none}.shopping-previous h3{font-size:13px;margin-bottom:4px}.shopping-previous-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:13px}.shopping-previous-row button{padding:5px 9px;font-size:11px;min-height:30px}.attachment-add-options>summary{padding:10px 12px;background:#f1f5ed;border-radius:11px;font-size:13px;font-weight:600;cursor:pointer}.attachment-add-options small{display:block;font-size:11px;line-height:1.4;margin:8px 0}.attachment-add-options .attachment-picker-actions{margin-top:10px}.attachment-composer:has(.attachment-preview-grid:empty) .attachment-preview-grid{display:none}

.calendar-hide-shoppingVoice .shopping-voice-shortcut{display:none!important}
.shopping-voice-shortcut{font-size:.82rem;padding:.45rem .7rem;border-radius:999px;white-space:nowrap}
.shopping-quick-dialog{border:0;border-radius:22px;padding:22px;width:min(360px,calc(100vw - 36px));box-sizing:border-box;color:var(--ink,#245447);box-shadow:0 14px 50px #163a3533}
.shopping-quick-dialog::backdrop{background:#183c3533;backdrop-filter:blur(3px)}
.shopping-quick-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.shopping-quick-head h2{margin:0;font-size:1.2rem}.shopping-quick-head button{padding:.4rem .7rem;border-radius:50%}
.shopping-quick-list{padding-left:22px;max-height:32vh;overflow:auto;line-height:1.65}.shopping-quick-success{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#d8efdf;color:#245447;animation:shopping-tick .35s ease-out}
@keyframes shopping-tick{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.shopping-quick-success{animation:none}}

.shopping-quick-dialog>button{display:block;width:100%;text-align:left;margin-top:10px;padding:12px 14px;border-radius:12px}.shopping-quick-dialog>h2{margin:0 0 14px;font-size:1.2rem}

.shopping-quick-list{list-style:none;padding:0;margin:16px 0 0}.shopping-quick-list li{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:10px;color:#63736d}.shopping-quick-list .shopping-quick-added{background:#e6f2e9;color:#245447;font-weight:600;animation:shopping-row-in .4s both ease-out}.shopping-item-tick{animation:shopping-tick .4s .2s both ease-out}
@keyframes shopping-row-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.shopping-quick-list .shopping-quick-added,.shopping-item-tick{animation:none}}

.quick-action-intro{font-size:.88rem;color:#6a7871;line-height:1.5;margin:10px 0 18px}.shopping-quick-dialog .quick-action-choice{display:flex;align-items:center;gap:12px;background:#f1f5ef;border:1px solid #e2e9df;margin:8px 0;padding:14px;text-align:left;width:100%;border-radius:14px}.quick-action-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;background:#e0ebe0;border-radius:12px;font-size:1.3rem}.quick-action-choice>span:nth-child(2){flex:1}.quick-action-choice strong,.quick-action-choice small{display:block}.quick-action-choice strong{font-size:.96rem}.quick-action-choice small{font-weight:400;font-size:.78rem;color:#68766d;margin-top:4px}.shopping-quick-head h2{margin:0}.shopping-quick-head button{width:34px;height:34px;padding:0;background:#f0f4ee;border:0}

.where-editor.personal-today{width:min(420px,calc(100vw - 28px));max-height:85dvh;overflow:auto;padding:24px;border:0;border-radius:22px;box-sizing:border-box}.where-editor.personal-today h2{font-size:1.25rem;margin:0 40px 18px 0}.where-editor .where-add>summary{display:none}.where-editor .where-add form{display:grid;gap:14px}.where-editor .where-add label{display:grid;gap:6px;font-size:.86rem;font-weight:600}.where-editor .where-add input,.where-editor .where-add select{box-sizing:border-box;width:100%;min-height:44px;border-radius:10px}.where-editor .where-add small{font-size:.78rem;line-height:1.5;color:#6a7871}.where-editor .where-add .fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.where-editor .where-add .primary{width:100%;margin-top:4px}.where-editor .where-add p:empty{display:none}

.shopping-meta{display:block;font-size:.73rem;color:#6a7871;margin:8px 0}.shopping-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.shopping-quick-actions button{font-size:.78rem;border-radius:10px;padding:9px 11px}.shopping-actions [role=switch],.shopping-quick-actions [role=switch]{background:#e4eee5;color:#245447}.shopping-row>button:not(.shopping-remove){padding:4px 8px;border:0;background:transparent}

.shopping-quick-preview{width:min(440px,calc(100vw - 24px));max-height:85dvh;padding:20px;display:flex;flex-direction:column}.shopping-quick-preview:not([open]){display:none}.shopping-quick-preview [role=status]{margin:12px 0 4px;font-size:1rem}.shopping-quick-preview .shopping-meta{font-size:.72rem;margin:6px 0 12px;line-height:1.4}.shopping-quick-preview .shopping-quick-list{max-height:48dvh;min-height:100px;margin:0;overflow-y:auto;flex:1;scroll-padding:8px}.shopping-quick-preview .shopping-quick-list li{margin:0 0 4px!important;min-height:0!important;padding:9px 12px!important;line-height:1.45;font-size:1rem;color:#304d41}.shopping-quick-preview .shopping-quick-actions{flex-wrap:nowrap;justify-content:space-between;border-top:1px solid #e5eae3;padding-top:12px;margin-top:12px}.shopping-quick-preview .shopping-quick-actions button{min-height:34px!important;padding:7px 10px!important;font-size:.75rem!important;line-height:1.2;border-radius:9px}.shopping-checked{margin:10px 0}.shopping-checked>summary{font-size:.82rem;color:#64766a;cursor:pointer}.shopping-row{min-height:44px}.shopping-row label{font-size:1rem;line-height:1.4}

.shopping-quick-preview .shopping-quick-list li{padding:6px 10px!important;margin-bottom:2px!important;font-size:.95rem;line-height:1.35}.shopping-content .shopping-row{padding:3px 0;margin:0;gap:5px;min-height:40px}.shopping-content .shopping-row label{margin:0;gap:9px;font-size:.95rem;min-width:0}.shopping-content .shopping-row label span{overflow-wrap:anywhere}.shopping-content .shopping-row input[type=checkbox]{width:19px;height:19px;min-height:0;flex:0 0 19px}.shopping-content .shopping-row>button{min-width:30px;min-height:34px;margin:0;padding:3px 6px!important}.shopping-content .shopping-rows{max-height:52dvh;overflow-y:auto}

.shopping-reminder-roomy .shopping-quick-list li{font-size:1.12rem;padding:10px 12px!important;line-height:1.5}.shopping-reminder-roomy .shopping-quick-list{min-height:0}.shopping-reminder-roomy .shopping-quick-actions{margin-top:16px}

.quick-shopping-options{display:flex;gap:8px;margin:8px 0 0}.quick-shopping-options[hidden]{display:none}.quick-shopping-options button{flex:1;min-width:0;padding:10px;border-radius:11px;background:#e6eee3;font-size:.85rem;border:0}

.quick-shopping-card{background:#f1f5ef;border:1px solid #e2e9df;border-radius:14px;padding:12px 14px;margin-top:8px}.quick-shopping-card h3{margin:0 0 10px;font-size:.96rem}.quick-shopping-card .quick-shopping-options{margin:0}.quick-shopping-card .quick-shopping-options button{padding:10px 8px;background:#e0ebe0}.quick-shopping-card .quick-shopping-options button:first-child{flex:0 0 42px;font-size:1.1rem}.quick-shopping-card .quick-shopping-options button:last-child{flex:1}

.quick-shopping-card h3{display:flex;align-items:center;justify-content:space-between}.quick-shopping-week{font-size:.72rem;font-weight:400;color:#66766c}

.shopping-full-dialog{width:min(470px,calc(100vw - 24px));max-height:88dvh;overflow-y:auto;padding:20px}.shopping-full-dialog .shopping-list{border:0;padding:0;margin:12px 0 0;background:transparent;box-shadow:none}.shopping-full-dialog .shopping-list>summary{display:none}.shopping-full-dialog .shopping-content{padding:0}.shopping-full-dialog .shopping-content>small:first-child{display:none}.shopping-full-dialog .shopping-actions{gap:8px;flex-wrap:wrap}.shopping-full-dialog .shopping-actions button{font-size:.8rem;padding:9px 12px;min-height:34px}

.shopping-bulk{display:flex;gap:8px;margin:8px 0}.shopping-bulk button{font-size:.75rem;min-height:32px;padding:6px 10px;background:transparent;border:1px solid #dce6dc;border-radius:9px}

.shopping-full-dialog{background:#fffef8}.shopping-full-dialog .shopping-quick-head{border-bottom:1px dashed #d4d8cb;padding-bottom:14px}.shopping-full-dialog .shopping-meta{font-size:.7rem;letter-spacing:.02em}.shopping-full-dialog .shopping-rows{border-top:1px dashed #d4d8cb;border-bottom:1px dashed #d4d8cb;padding:6px 0}.shopping-full-dialog::after{content:"";display:block;height:8px;margin:16px -4px -12px;background:linear-gradient(135deg,transparent 5px,#e4e7d9 0) 0 0/12px 8px repeat-x}.shopping-full-dialog .shopping-row{border-bottom:1px solid #efefe5}

.attachment-audience{font-size:.82rem;line-height:1.5;color:#536b5e;padding:10px 12px;background:#f0f5ec;border-radius:12px}

.dialog-app-release{display:block;font-size:.72rem;font-weight:400;color:#68786c;margin:8px 0 12px}

.trusted-device-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #e9eee6}.trusted-device-copy{flex:1;min-width:0}.trusted-device-copy strong{display:block;font-size:.9rem;overflow-wrap:anywhere}.trusted-device-copy small{display:block;font-size:.75rem;color:#68796f;line-height:1.4;margin-top:5px}.trusted-device-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#eaf1e5;font-size:1.3rem}.trusted-device-row>button{font-size:.75rem;padding:7px 9px;min-height:34px;white-space:nowrap;border-radius:9px}.trusted-device-tools>p{font-size:.84rem;line-height:1.5}

.shopping-duplicate-note{display:block;color:#a44843;font-size:.78rem;margin-top:8px;line-height:1.4}

body[data-view=settings] .header-meta,body[data-view=settings] .app-branding,body[data-view=settings] #subtitle{display:none!important}body[data-view=settings] main>header{margin-top:12px;padding-top:0}

.first-start-preview .tour-top-close{position:absolute;right:14px;top:14px;width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;z-index:2}.first-start-preview .tour-eyebrow{padding-right:38px}

body[data-view=settings] .app-branding{display:flex!important;margin:16px 0 18px}body[data-view=settings] .app-branding .app-brand-identity strong,body[data-view=settings] .app-branding>small{display:none!important}body[data-view=settings] .app-branding .app-brand-identity{display:flex;justify-content:center;width:100%}

body[data-view=settings] .settings-week-rhythm .week-rhythm{display:block!important;margin:0}.recurring-moments>.settings-chapter{margin-top:14px}.recurring-moments-tabs{margin:12px 0}.recurring-moments-tabs button{font-size:.8rem;padding:8px 11px}

.settings-tabs .settings-rhythm-icon{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:8px 11px}.settings-rhythm-icon img{display:block;width:22px;height:22px}

.settings-page>.settings-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.settings-page>.settings-tabs>.settings-main-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px 4px;min-width:0;font-size:.78rem}.settings-main-icon{display:grid;place-items:center;width:26px;height:26px}.settings-main-icon svg,.settings-main-icon img{width:24px;height:24px}.grouped-settings-tabs{margin:12px 0}.grouped-settings-tabs button{font-size:.8rem;padding:8px 11px}

.recurring-moments-tabs{gap:7px;padding:4px 0 10px;border-bottom:1px solid #e2e8df}.recurring-moments-tabs button{border-radius:11px;border:1px solid transparent;background:var(--rhythm-soft,#f1f4ed);color:#526556;padding:8px 11px}.recurring-moments-tabs #settings-tab-work{--rhythm-soft:#edf0f7;--rhythm-edge:#abbad2}.recurring-moments-tabs #settings-tab-week{--rhythm-soft:#f2edf8;--rhythm-edge:#c1acd7}.recurring-moments-tabs #settings-tab-waste{--rhythm-soft:#edf4e8;--rhythm-edge:#acc69c}.recurring-moments-tabs #settings-tab-fixed{--rhythm-soft:#edf4f1;--rhythm-edge:#a4c5b9}.recurring-moments-tabs #settings-tab-holidays{--rhythm-soft:#faf2e6;--rhythm-edge:#dcc49a}.recurring-moments-tabs button[aria-selected=true]{border-color:var(--rhythm-edge);box-shadow:inset 0 -2px 0 var(--rhythm-edge);color:#245447;font-weight:600}

.waste-settings-kind{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:.86rem}.waste-settings-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--waste-kind-bg);color:var(--waste-kind-ink);font-size:1.2rem}.waste-settings-icon svg{width:24px;height:24px}.waste-settings-kind[data-type=gft]{--waste-kind-bg:#e1efdc;--waste-kind-ink:#2e7135}.waste-settings-kind[data-type=pmd]{--waste-kind-bg:#ffe6c7;--waste-kind-ink:#a9520c}.waste-settings-kind[data-type=rest]{--waste-kind-bg:#e5e7e8;--waste-kind-ink:#555b60}.waste-settings-kind[data-type=papier]{--waste-kind-bg:#dcecf9;--waste-kind-ink:#22689b}.waste-settings-kind[data-type=glas]{--waste-kind-bg:#e0f0ed;--waste-kind-ink:#367a73}.waste-settings-kind[data-type=textiel]{--waste-kind-bg:#efe2f3;--waste-kind-ink:#815893}

.week-rhythm-guide{font-size:.82rem;line-height:1.5;color:#66776b;margin:0 0 18px}.settings-week-summary>section{padding:12px 0;border-top:1px solid #e5eae1}.settings-week-summary h3{font-size:.9rem;margin:0 0 8px}.settings-rhythm-entry{display:flex;gap:12px;align-items:baseline;padding:7px 0}.settings-rhythm-entry time{font-size:.78rem;min-width:74px;color:#63776a}.settings-rhythm-entry strong{font-size:.87rem;font-weight:600}.settings-rhythm-entry small{display:block;font-size:.75rem;color:#6c7a6e;margin-top:3px}.appointment-compact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.appointment-compact-options>.appointment-repeat,.appointment-compact-options>.tentative-toggle,.appointment-compact-options>.attachment-composer,.appointment-compact-options>.appointment-cost-fields{margin:0!important;padding:0!important;border:0!important;background:transparent!important;min-width:0}.appointment-compact-options summary,.appointment-compact-options .tentative-toggle,.appointment-compact-options .settings-popup-trigger{font-size:.8rem!important;line-height:1.4!important;padding:10px 11px!important;min-height:40px!important;border-radius:11px!important;background:#f0f4eb!important;box-sizing:border-box;border:1px solid #e2e9dc!important;width:100%}.appointment-compact-options .attachment-add-options{margin:0!important}.appointment-compact-options .tentative-toggle{display:flex;align-items:center;gap:7px}.appointment-compact-options .tentative-toggle input[type=checkbox]{min-height:0!important;width:18px;height:18px}.appointment-compact-options>.appointment-repeat[open],.appointment-compact-options>.attachment-composer:has(details[open]),.appointment-compact-options>.attachment-composer:has(.attachment-preview){grid-column:1/-1}.appointment-compact-options .attachment-composer p:empty{display:none}.appointment-compact-options .attachment-preview-grid:empty{display:none}

.appointment-compact-options>.appointment-tentative-options{margin:0!important;padding:0!important;border:0!important;background:transparent!important;min-width:0}.appointment-compact-options>.appointment-tentative-options[open]{grid-column:1/-1}.appointment-compact-options .attachment-add-options{padding:0!important;border:0!important;background:transparent!important}.appointment-compact-options .settings-popup-trigger{min-width:0!important;max-width:100%!important;white-space:normal!important}.appointment-compact-options .appointment-cost-fields{width:auto!important;overflow:visible}.appointment-compact-options .appointment-repeat>summary{white-space:normal}

.appointment-compact-options .appointment-cost-fields{display:block!important;grid-column:auto!important;min-width:0!important;box-sizing:border-box!important}.appointment-compact-options .appointment-cost-fields>.settings-popup-trigger{margin:0!important;display:block!important;box-sizing:border-box!important;width:100%!important;transform:none!important}

button.settings-rhythm-entry{width:100%;text-align:left;border:0;border-radius:9px;background:transparent;color:inherit;margin:0;padding:8px 6px}button.settings-rhythm-entry:hover{background:#f0f4ed}.week-rhythm-create{font-size:.8rem;padding:8px 12px;margin-bottom:12px}.rhythm-entry-create-flow .appointment-repeat>summary{background:#245447!important;color:white!important}.rhythm-popup-actions{display:grid;gap:8px}.rhythm-popup-actions .rhythm-action{padding:10px 12px!important;min-height:38px;font-size:.86rem!important;text-align:left;border-radius:11px;background:#f1f5ed}

.holiday-rhythm-periods{margin:8px 0 18px}.holiday-rhythm-periods>button{display:block;font-size:.82rem;padding:8px 12px;margin:6px 0}.holiday-rhythm-choice{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #e5eae1}.holiday-rhythm-choice input{width:20px;min-height:20px;flex:0 0 20px}.holiday-rhythm-choice strong{font-size:.88rem}.holiday-rhythm-choice small{display:block;font-size:.75rem;color:#697b6e;margin-top:4px}

.holiday-rhythm-summary{font-size:.8rem;color:#607267;border-bottom:1px solid #e2e9dd;padding-bottom:10px}.holiday-rhythm-badge{display:inline-block;font-size:.73rem;line-height:1.4;padding:4px 7px;border-radius:7px;margin-top:7px}.holiday-rhythm-badge.is-paused{background:#e2f0df;color:#35683b}.holiday-rhythm-badge.is-active{background:#edf0f5;color:#546b80}.holiday-rhythm-badge.is-partial{background:#fff0d9;color:#8b6428}.holiday-rhythm-choice>span{flex:1}.holiday-rhythm-choice input:disabled{opacity:.4}

.holiday-pause-confirmed{display:block;font-size:.72rem;color:#35683b;margin-top:5px;font-weight:400}

.holiday-rhythm-choice{padding:12px 10px;margin:8px 0;border:1px solid transparent;border-left-width:3px;border-radius:10px}.holiday-rhythm-choice[data-state=paused]{background:#fff7eb;border-color:#f1d7af;border-left-color:#d7a158}.holiday-rhythm-choice[data-state=active]{background:#f0f7eb;border-color:#d6e8c9;border-left-color:#82ad69}.holiday-rhythm-choice[data-state=partial]{background:#fff9ec;border-color:#eadcb5;border-left-color:#c6ac65}.holiday-rhythm-badge.is-paused{background:#fae5c4;color:#895d25}.holiday-rhythm-badge.is-active{background:#dff0d7;color:#3d6d37}

.weekly-updates-dialog{width:min(430px,calc(100vw - 28px));max-height:84dvh;overflow-y:auto;padding:20px}.weekly-update-tabs{display:flex;gap:8px;margin:12px 0}.weekly-update-tabs button{padding:7px 12px;min-height:32px;border-radius:10px;font-size:.82rem;background:#f0f4eb}.weekly-update-tabs [aria-selected=true]{background:#245447;color:white}.weekly-update-date{display:block;color:#75806f;font-size:.72rem;margin-bottom:8px}.weekly-update-content .whats-new-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 0;margin:0;border:0;border-bottom:1px solid #e9ede4;background:transparent;min-height:0;border-radius:0;text-align:left;gap:10px}.weekly-update-content .whats-new-copy strong{font-size:.9rem}.weekly-update-content .whats-new-copy small{font-size:.74rem;line-height:1.35;margin-top:3px}.weekly-updates-dialog .dialog-app-release{margin:12px 0 0}

.weekly-update-return{font-size:.76rem;line-height:1.4;color:#5c7264;margin:13px 0 0}

.waste-saved-dialog{width:min(410px,calc(100vw - 28px));max-height:82dvh;overflow-y:auto;padding:20px}.waste-saved-dialog h2{font-size:1.1rem;padding-right:32px}.waste-saved-dialog>p{font-size:.82rem;color:#647769;margin:12px 0}.waste-saved-row{padding:10px 0;margin:0;border-bottom:1px solid #e6ece1}.waste-saved-row strong{font-size:.88rem}.waste-saved-row small{display:block;font-size:.75rem;font-weight:400;color:#68786d;margin-top:4px}.waste-saved-dialog .dialog-actions{margin-top:16px;gap:8px}.waste-saved-dialog .dialog-actions button{font-size:.8rem;min-height:36px;padding:8px 12px}

.shopping-actions .shopping-clear{background:transparent;color:#a34b45;font-size:.85rem;padding:.4rem .65rem;}

.settings-page>.settings-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.system-status-panel li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 12px;padding:12px 0}.system-status-panel li>span:first-child{grid-row:1/3}.system-status-panel li small{grid-column:2;padding-left:0}.system-status-panel h3{font-size:1.15rem;font-weight:650}

html body .tentative-dialog .tentative-row>.tentative-remove{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;min-height:32px;padding:4px 0;border:0;background:transparent;color:#98635d;font-size:11px;font-weight:500;text-align:left;box-shadow:none}.tentative-remove:disabled{opacity:.5}
