:root{font-family:Avenir Next,Avenir,system-ui,sans-serif;color:#23372e;background:#f7f7f2;font-synthesis:none;text-rendering:optimizeLegibility;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #447b59;outline-offset:4px}.app-shell{max-width:920px;margin:auto;min-height:100dvh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 24px;border-bottom:1px solid #dce3d9}.brand{text-decoration:none;font-size:26px;font-weight:650;letter-spacing:-1px}.brand span{font-weight:400}.brand em{font-style:normal;color:#295b43}.account{display:flex;align-items:center;gap:10px;font-size:.875rem}.account small,small{display:block;color:#617166;font-size:.8125rem}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e6eddf}.toolbar{display:flex;padding:9px 20px 0;flex-wrap:wrap}.logout{margin-left:auto}main{padding:24px}.eyebrow{margin:0 0 9px;text-transform:uppercase;letter-spacing:1.5px;font-size:.75rem;color:#617166;font-weight:500}h1{font-size:2rem;font-weight:500;letter-spacing:-1px;line-height:1.2;margin:0 0 10px}h2{font-size:1.375rem;font-weight:550;line-height:1.3;margin:0 0 8px}.intro{color:#617166;margin:0 0 27px}.panel{background:#fff;border:1px solid #dce3d9;border-radius:20px;padding:22px}.task-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;color:#617166;font-size:.875rem}.task-icon,.welcome-icon{display:grid;place-items:center;width:44px;height:44px;background:#eaf0e5;color:#295b43;border-radius:13px;flex-shrink:0}.muted{color:#617166;font-size:.875rem;margin:0 0 22px}.primary{width:100%;min-height:52px;border:0;border-radius:12px;background:#295b43;color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:550;padding:12px}.primary:hover:not(:disabled){background:#204934}.primary:disabled{opacity:.7}.primary.completed{background:#eaf0e5;color:#295b43;opacity:1}.receipt{font-size:.8125rem;color:#617166;text-align:center;margin:12px 0 0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:28px 0 13px;flex-wrap:wrap}.section-heading h2{font-size:1.125rem;margin:0}.section-heading span{font-size:.875rem;color:#617166}progress{display:block;width:100%;height:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#dce3d9;border-radius:4px;overflow:hidden}progress::-webkit-progress-bar{background:#dce3d9}progress::-webkit-progress-value{background:#295b43}progress::-moz-progress-bar{background:#295b43}.task-list{list-style:none;padding:0;margin:8px 0 0}.task-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #dce3d9}.task-list li:last-child{border-bottom:0}.task-list strong{font-size:.9375rem;font-weight:550;display:block}.task-list small{margin-top:2px}.status{display:flex;align-items:center;gap:5px;font-size:.875rem;white-space:nowrap;color:#617166}.status svg{flex-shrink:0}.done{color:#295b43}.next-week{margin-top:23px;border-top:1px solid #dce3d9;padding-top:9px}.next-week summary{cursor:pointer;padding:14px 0;min-height:48px;font-weight:500}.next-week summary span{float:right;font-size:.875rem;color:#617166}.next-week .task-list li{font-size:.875rem}.text-button{background:transparent;border:0;color:#375d46;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 6px;min-height:44px;font-size:.875rem}.text-button:hover{text-decoration:underline}.login{max-width:450px;margin:20px auto}.welcome-icon{margin-bottom:22px;width:52px;height:52px}.login-form{display:grid;gap:17px}.login-form h2{font-size:1.125rem}.login-form .muted{margin:0}label{display:grid;gap:7px;font-size:.875rem;font-weight:500}input,select{min-height:48px;width:100%;min-width:0;border:1px solid #b6c3b7;border-radius:9px;background:#fff;color:#23372e;padding:11px;font-size:1rem}.error,.notice,.success{padding:14px;border-radius:10px;margin:0 0 18px;overflow-wrap:anywhere;font-size:.875rem}.error{background:#fbece7;color:#862e20}.notice,.success{background:#e6eddf;color:#244333}.user-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #dce3d9}.user-row:last-child{border:0}.secondary{background:#edf2e9;color:#295b43;border:1px solid #d3dfce;border-radius:8px;padding:10px;min-height:44px;font-size:.875rem;flex-shrink:0}.admin-week{margin-top:22px}.assignment-edit{padding:13px 0;border-bottom:1px solid #dce3d9}.assignment-edit:last-child{border:0}.own-task+.own-task{margin-top:16px}footer{padding:22px 24px 28px;text-align:center;font-size:.8125rem;color:#617166}@media(min-width:700px){main{padding:38px}.app-header{padding:24px 38px}.toolbar{padding-left:32px;padding-right:32px}.dashboard{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.section-heading{margin-top:0}.login{padding:24px}.next-week{max-width:100%}}@media(max-width:360px){main{padding:21px 17px}.app-header{padding:20px 17px}.panel{padding:17px}.status{font-size:.8125rem}.user-row{flex-wrap:wrap}}.overdue-alert{background:#fff0eb;border:1px solid #eab6a6;border-left:5px solid #a73824;border-radius:16px;padding:22px;margin:0 0 25px;color:#762719}.alert-heading{display:flex;gap:12px;align-items:flex-start}.alert-heading svg{flex-shrink:0}.alert-heading h2{font-size:1.2rem}.overdue-alert>p{margin:8px 0 18px;font-size:.9375rem}.overdue-task{background:#fffaf8;border:1px solid #edc5b9;border-radius:12px;padding:17px;margin-top:12px}.overdue-task h3{margin:0 0 4px;font-size:1.1rem}.overdue-task p{font-size:.875rem;margin:0 0 15px}.overdue-task .primary{background:#94351f}.deadline-reminder{display:flex;gap:12px;align-items:flex-start;background:#fff2d8;color:#735015;border-radius:12px;padding:18px;margin-bottom:23px}.deadline-reminder svg{flex-shrink:0}.deadline-reminder p{font-size:.875rem;margin:4px 0 0}.email-contact{padding:14px 0;border-bottom:1px solid #dce3d9;display:grid;gap:8px}.email-contact:last-child{border:0}.email-section{margin-top:22px}.email-log{padding:10px 0;border-bottom:1px solid #dce3d9;font-size:.875rem}.email-log small{overflow-wrap:anywhere}.avatar{overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-large{width:96px;height:96px;font-size:2rem}.photo-panel{margin-bottom:22px;display:grid;gap:14px}.photo-preview{display:flex;justify-content:center}.photo-preview>img{width:96px;height:96px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.photo-panel .muted{margin:0}.photo-panel input[type=file]{max-width:100%;font-size:.875rem}.resident-label{display:flex;gap:7px;align-items:center;margin-top:5px}.resident-label .avatar{width:25px;height:25px;font-size:.75rem}.resident-label small{margin:0}.task-details{border-top:1px solid #dce3d9;margin:12px 0}.task-details summary{cursor:pointer;min-height:48px;padding:12px 0;font-size:.875rem;font-weight:500}.task-details .muted{margin:0 0 8px}.checklist{list-style:none;margin:0 0 12px;padding:0}.checklist label{display:flex;align-items:center;gap:10px;min-height:48px;font-weight:400}.checklist input{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:#295b43}.completion-form textarea{font:inherit;font-size:16px;width:100%;resize:vertical;min-height:90px;padding:12px;border:1px solid #b6c3b7;border-radius:9px;background:#fff;color:#23372e}.completion-form textarea:focus-visible{outline:3px solid #447b59;outline-offset:3px}.completion-form small{margin:6px 0 14px}.task-comment{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf2e9;border-radius:8px;padding:10px 12px;font-size:.875rem;margin:10px 0 0}.task-list li>div{min-width:0}.history-week{border-top:1px solid #dce3d9}.history-week summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:.9375rem}.history-entry{width:100%;font-size:.875rem}.history-entry>p:not(.task-comment){margin:7px 0 0}.history .muted{margin-bottom:14px}.shared-house{margin-top:30px}.shared-house>h2{font-size:1.125rem}.shared-form{display:grid;gap:12px;margin:12px 0 22px}.shared-form select{max-width:100%;text-overflow:ellipsis}.swap-card{padding:16px 0;border-top:1px solid #dce3d9;font-size:.875rem}.swap-card p{margin:6px 0;overflow-wrap:anywhere}.shared-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.swap-summary{font-size:.875rem;padding:12px;background:#eaf0e5;border-radius:10px;margin:0}.shopping-list{list-style:none;padding:0;margin:12px 0}.shopping-list li{border-bottom:1px solid #dce3d9}.shopping-list label{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 0;font-size:1rem;font-weight:400;cursor:pointer}.shopping-list input{width:22px;height:22px;min-height:22px;flex-shrink:0;accent-color:#295b43}.shopping-list span{min-width:0;overflow-wrap:anywhere}.bought-summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:.875rem}.navigation{position:relative}.navigation>summary{list-style:none;display:grid;place-items:center;width:46px;height:46px;border:1px solid #dce3d9;border-radius:12px;cursor:pointer;background:#fff;position:relative}.navigation>summary::-webkit-details-marker{display:none}.menu-close,.navigation[open] .menu-open{display:none}.navigation[open] .menu-close{display:block}.navigation nav{position:absolute;right:0;top:54px;width:min(300px,calc(100vw - 34px));padding:8px;background:#fff;border:1px solid #dce3d9;border-radius:16px;box-shadow:0 12px 40px #23372e26;z-index:20}.navigation nav button{display:flex;align-items:center;gap:12px;width:100%;min-height:49px;padding:12px;border:0;border-radius:9px;background:transparent;text-align:left;color:#23372e;font-size:.9375rem}.navigation nav button:hover,.navigation nav button[aria-current=page]{background:#eaf0e5}.navigation nav svg{flex-shrink:0}.navigation nav .menu-logout{border-top:1px solid #dce3d9;border-radius:0;margin-top:5px}.menu-dot{position:absolute;right:6px;top:6px;width:8px;height:8px;border-radius:50%;background:#94351f}.menu-count{margin-left:auto;min-width:24px;border-radius:12px;background:#295b43;color:#fff;text-align:center;font-size:.8125rem}.back-link{margin:-10px 0 16px;padding-left:0}main:focus{outline:none}.shared-house{margin-top:0}.shared-house h1{margin-bottom:20px}.notice>.text-button{display:flex}@media(max-width:360px){.account{gap:7px}.account>div:first-child{font-size:.8125rem}.app-header{gap:10px}}.navigation nav{max-height:calc(100dvh - 110px);overflow-y:auto}.swap-step{min-width:0;border:0;border-bottom:1px solid #dce3d9;margin:0;padding:0 0 20px;display:grid;gap:12px}.swap-step legend{font-size:1rem;font-weight:600;padding:0 0 14px}.swap-step:disabled{opacity:.65}.selected-task{margin:0;padding:12px 14px;background:#edf2e9;border-radius:10px;display:grid;gap:3px;font-size:1rem}.selected-task>span{font-size:.875rem;color:#526357}.task-top>span:last-child{display:grid;text-align:right;gap:2px}.task-top strong{color:#295b43}.own-task>h2{font-size:1.75rem;line-height:1.2;margin:0 0 18px}.task-deadline{display:grid;gap:3px;border-left:3px solid #b18438;padding:2px 0 2px 12px;margin:0 0 20px;font-size:.875rem}.task-deadline strong{font-size:1rem}.task-deadline.is-done{border-color:#295b43}.completion-receipt{background:#eaf0e5;border-radius:12px;padding:14px;text-align:center;color:#295b43}.completion-receipt>strong{display:block;font-size:1rem}.completion-receipt .text-button{padding-bottom:0;min-height:44px}.receipt,small,.account small{font-size:.875rem;color:#526357}
