:root{font-family:Arial,Helvetica,sans-serif;color:#263d36;background:#f6f4ed;font-synthesis:none;--green:#244c43;--muted:#69746d;--line:#dfE3d9;--accent:#ddecaa}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:44px}button:disabled{opacity:.55;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #9bb85d;outline-offset:4px}[hidden]{display:none!important}.masthead{max-width:1240px;margin:auto;padding:28px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;font-size:24px;font-weight:700;gap:10px;letter-spacing:-1px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;color:#fff;background:var(--green);border-radius:12px;font-family:Georgia,serif;font-size:31px}.brand-caption{font-size:11px;font-weight:400;letter-spacing:0;margin-left:20px;color:var(--muted)}.private-label{font-size:12px;color:var(--muted)}.login-layout{max-width:1100px;margin:65px auto 40px;display:grid;grid-template-columns:1.2fr 1fr;gap:85px;padding:0 40px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#71845b}.welcome h1{font-family:Georgia,serif;font-size:66px;line-height:1.06;font-weight:400;letter-spacing:-2.5px;margin:22px 0}.welcome>p{font-size:15px;line-height:1.8;max-width:355px;color:var(--muted)}.illustration{height:160px;position:relative;max-width:340px}.house{font-size:170px;color:#c6d2b3;position:absolute;left:12px;top:-30px}.sun{position:absolute;right:65px;top:5px;font-size:72px;color:#d7af65}.note{position:absolute;left:105px;bottom:2px;background:#fffdf6;padding:18px 22px;transform:rotate(-7deg);box-shadow:0 8px 30px #244c4310;border:1px solid #e8e7d6;border-radius:8px;font-size:13px}.note b{margin-left:24px;color:#809a59}.sign-card{background:white;border:1px solid var(--line);border-radius:22px;padding:36px;align-self:center;box-shadow:0 15px 50px #263d3605}.sign-card h2{font:normal 36px/1.15 Georgia,serif;margin:18px 0}.muted{color:var(--muted);font-size:13px;line-height:1.6}.small{font-size:11px;line-height:1.6}label{font-size:12px;font-weight:600;display:block;margin:19px 0 8px}input,select,textarea{width:100%;padding:12px;border:1px solid #d9dfd4;background:#fcfcf8;border-radius:8px;min-height:45px;color:#263d36;outline-offset:2px}input:focus,select:focus,textarea:focus{outline:2px solid #77956b}.primary{background:var(--green);color:white;border:0;border-radius:9px;padding:12px 18px;font-size:12px;font-weight:600}.primary span{float:right}.sign-card .primary{width:100%;margin:6px 0 16px}.secondary{background:#fffdf8;border:1px solid var(--line);color:var(--green);border-radius:8px;padding:9px 13px;font-size:12px}.text-button{background:transparent;border:0;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:4px}.error{font-size:12px;color:#9b3e2e;line-height:1.5}.setup{font-size:12px;line-height:1.6;background:#f2f5e9;padding:14px;border-radius:8px}.setup p{margin:4px 0 0}#notice{max-width:1050px;margin:20px auto;padding:14px 20px;background:#e7edd9;border-radius:10px;font-size:13px}.workspace{max-width:1240px;margin:auto;display:grid;grid-template-columns:205px 1fr;min-height:70vh}aside{padding:38px 24px 24px 40px;border-right:1px solid var(--line)}.sidebar-label{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-bottom:20px}nav{display:grid;gap:5px}nav button{text-align:left;background:transparent;border:0;border-radius:8px;padding:12px;color:var(--muted);font-size:13px}nav button[aria-current=page]{background:#e4ead8;color:var(--green);font-weight:600}.shared-note{font:italic 19px/1.6 Georgia,serif;color:#99a28d;margin-top:70px}.main-panel{padding:22px 48px 50px;min-width:0}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;font-size:11px;color:var(--muted)}.page-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:12px 0 20px}.page-title h1{font:normal 42px Georgia,serif;margin:0;letter-spacing:-1px}#filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}#items{display:grid;gap:12px}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:21px}.item{display:flex;gap:17px;align-items:flex-start}.check{border:1.5px solid #9aa68c;border-radius:50%;background:white;width:28px;height:28px;min-height:28px;min-width:28px;margin-top:5px;color:#fff}.completed .check{background:var(--green);border-color:var(--green)}.item-content{flex:1;min-width:0;overflow-wrap:anywhere}.tag{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#899376}.item h2{font-size:15px;font-weight:500;margin:8px 0 6px}.item p{margin:0 0 5px}.notes{font-size:12px;line-height:1.6;white-space:pre-wrap;color:#58665b}.completed h2{text-decoration:line-through;color:var(--muted)}.empty{text-align:center;border:1px dashed #cdd6bf;border-radius:15px;padding:48px 25px;color:var(--muted)}.empty-mark{font-size:52px;color:#9ba887}.empty h2{font:normal 24px Georgia,serif;color:var(--green)}.empty p{font-size:13px;line-height:1.7}.day{font-size:13px;color:var(--muted);margin:16px 0 0}.settings h2{font:normal 27px Georgia,serif}.settings>p{font-size:13px;line-height:1.7}.connection{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:16px}.connection strong{font-size:11px;font-weight:500;white-space:nowrap;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;width:530px;max-width:calc(100% - 24px);max-height:90dvh;overflow:auto;color:var(--green);background:#fffdf8}dialog::backdrop{background:#182e2666;backdrop-filter:blur(3px)}.modal-heading h2{font:normal 28px/1.2 Georgia,serif;margin:12px 0 20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}footer{text-align:center;color:#a0a596;letter-spacing:1px;font-size:9px;padding:32px}
@media(max-width:760px){.masthead{padding:18px 22px}.brand-caption{display:none}.private-label{font-size:10px}.login-layout{margin:32px auto;gap:24px;padding:0 22px;display:block}.welcome h1{font-size:43px;line-height:1.06;letter-spacing:-1.5px}.welcome h1 br{display:none}.welcome>p{font-size:13px;max-width:none}.illustration{display:none}.sign-card{margin-top:28px;padding:25px}.sign-card h2{font-size:30px}.workspace{display:block}aside{padding:12px 14px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}.sidebar-label,.shared-note{display:none}nav{display:flex;gap:4px}nav button{padding:10px 12px;white-space:nowrap;font-size:11px}.main-panel{padding:18px 20px 40px}.topline{margin-bottom:25px}.page-title h1{font-size:32px}.page-title .primary{font-size:10px;padding:12px}.card{padding:16px}.item{gap:12px}.item .text-button{padding:0;font-size:10px}.connection{display:block}.connection strong{display:block}.field-row{gap:12px}#notice{margin:12px 16px}.private-label{max-width:90px;text-align:right}}

/* Phone-first navigation and a quieter, readable household workspace. */
nav button{display:flex;align-items:center;gap:12px;font-size:14px;min-height:48px}
nav svg{flex:none}.private-label{line-height:1.45}.main-panel{max-width:920px;width:100%}
#heading:focus{outline:none}.topline{font-size:13px;margin-bottom:20px}.page-title{flex-wrap:wrap;margin-bottom:24px}
.primary,.secondary,.text-button{font-size:14px}.muted{font-size:14px}.small{font-size:13px}
label{font-size:14px}.tag{font-size:11px;letter-spacing:.8px;color:#657353}.notes{font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.card{border-radius:18px;padding:22px;box-shadow:0 3px 12px #263d3603}.item{gap:14px}.item h2{font-size:17px;line-height:1.4;font-weight:600}.item p{font-size:14px}
.check{width:44px;height:44px;min-width:44px;min-height:44px;border:0;background:radial-gradient(circle,white 12px,#9aa68c 13px,#9aa68c 14px,transparent 15px);margin:0}
.completed .check{background:radial-gradient(circle,var(--green) 14px,transparent 15px)}.item .text-button{min-width:44px;font-size:13px}
.menu-card{position:relative;text-align:left;width:100%;color:var(--green);padding-right:48px}.menu-card strong{display:block;font:normal 25px Georgia,serif;margin-bottom:8px}.menu-card .muted{display:block}.menu-arrow{position:absolute;right:22px;top:26px;font-size:22px}
.school-notice{margin:0;line-height:1.6}.school-connections{border:1px solid var(--line);border-radius:12px;background:#eef1e6;padding:0 16px;margin:0 0 6px}
summary{cursor:pointer;min-height:48px;padding:14px 0;font-size:14px;font-weight:600}summary:focus-visible{outline:3px solid #9bb85d;outline-offset:2px}
.school-connections>div{display:grid;gap:12px;padding-bottom:16px}.school-connections .settings h2{margin:0 0 12px}.school-connections button{margin:6px 6px 0 0}.school-connections input[type=checkbox]{width:20px;min-height:20px;vertical-align:middle}.school-connections small{display:block}.settings>p{font-size:14px}.settings .connection strong{font-size:13px;white-space:normal}
.school-feed{display:grid;gap:16px}.school-toolbar{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}.school-toolbar input,.school-toolbar select{background:white;font-size:15px;min-width:0}.school-count{grid-column:1/-1;margin:0 0 2px;font-size:12px}
.school-post h2{font:normal 25px/1.25 Georgia,serif;margin:12px 0}.post-date{display:block;font-size:12px;color:var(--muted);margin-top:6px}.school-post .notes{margin:12px 0}.school-post a{display:inline-block;padding:10px 0;min-height:44px;font-size:14px;text-underline-offset:4px;overflow-wrap:anywhere}.school-post img{display:block;border-radius:12px;margin:12px 0}.school-post .secondary{margin:0 8px 8px 0}
@media(max-width:760px){
 .masthead{padding:16px 20px}.brand-mark{width:36px;height:36px}.brand{font-size:22px}.private-label{font-size:11px}
 .workspace{padding-bottom:88px}
 .workspace aside{position:fixed;z-index:20;bottom:0;left:0;right:0;padding:8px 8px max(8px,env(safe-area-inset-bottom));background:#fffdf8;border-top:1px solid var(--line);border-bottom:0;overflow:visible;box-shadow:0 -4px 20px #263d3608}
 nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
 nav button{flex-direction:column;justify-content:center;gap:5px;padding:8px 2px;min-height:58px;font-size:11px;border-radius:12px}
 .main-panel{padding:14px 18px 32px}.topline{margin-bottom:18px}.page-title{gap:12px;margin:10px 0 20px}.page-title h1{font-size:34px}.page-title .primary{font-size:13px;padding:12px 15px}
 .eyebrow{font-size:10px;letter-spacing:1.3px}.card{padding:18px}.item{gap:8px}.item .text-button{padding:0 4px;font-size:13px}.item h2{font-size:16px}.check{margin-left:-5px}
 .school-toolbar{grid-template-columns:1fr}.school-count{grid-column:1}.school-post h2{font-size:24px}.school-post .notes{font-size:15px}
 .connection{display:flex;flex-wrap:wrap;gap:4px 16px}.connection strong{display:inline}.empty{padding:36px 20px}.empty p{font-size:15px}
 footer{padding-bottom:110px}.actions{flex-wrap:wrap}dialog{padding:22px}.field-row{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s ease,box-shadow .15s ease}}

/* Familiar inbox rows, with personal read state and an opened-message view. */
.inbox-list{border:1px solid #dce3df;border-radius:16px;overflow:hidden;background:#f0f3ee}
.inbox-row{display:flex;align-items:stretch;border-bottom:1px solid #dce3df;border-left:3px solid transparent;background:#f0f3ee;min-width:0}.inbox-row:last-child{border-bottom:0}.inbox-row.unread{background:white;border-left-color:#4b8272}
.inbox-open{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;flex:1;min-width:0;text-align:left;border:0;background:transparent;padding:18px 12px 18px 16px;color:var(--green);border-radius:0}
.inbox-open:hover{background:#e9efe5}.inbox-open:focus-visible{outline-offset:-4px}.inbox-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dde7dc;color:#395d4c;font-size:16px;font-weight:600}.unread .inbox-avatar{background:#d9e9e4}
.inbox-summary{display:grid;gap:5px;min-width:0}.inbox-sender{font-size:13px;color:#566a60;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-subject{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread .inbox-sender,.unread .inbox-subject{font-weight:700;color:#183e32}.inbox-snippet{font-size:13px;line-height:1.5;color:#68766d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inbox-meta{display:flex;flex-direction:column;align-self:start;align-items:flex-end;gap:10px;font-size:12px;white-space:nowrap}.unread .inbox-meta{font-weight:600}.attachment-chip{font-size:11px;font-weight:400;background:#e8eee6;color:#50664e;padding:4px 7px;border-radius:5px}
.inbox-read-toggle{background:transparent;border:0;min-width:44px;color:#61756b;align-self:center;font-size:18px;margin-right:6px;border-radius:8px}.inbox-read-toggle:hover{background:#dde7dc}
.inbox-actions{display:flex;flex-wrap:wrap;gap:8px}.inbox-actions .secondary{background:transparent;border-color:transparent;border-radius:22px}.inbox-actions .secondary[aria-pressed=true]{background:#dfeade;color:#254d3b;font-weight:600}.inbox-actions .secondary:last-child{margin-left:auto}
.inbox-updates{padding:14px 18px;background:#e1eee9;border:1px solid #a7c7b7;border-radius:12px;color:#244c43;text-align:center;font-size:14px;font-weight:600}
.message-actions{display:flex;justify-content:space-between;gap:12px;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:12px}.message-detail h2{font:normal 30px/1.25 Georgia,serif}.message-detail h2:focus{outline:none}.message-detail .notes{font-size:16px;line-height:1.8}.message-detail img{max-height:900px;object-fit:contain;object-position:left}
@media(max-width:760px){.inbox-list{margin:0 -8px;border-radius:12px}.inbox-open{grid-template-columns:30px minmax(0,1fr) auto;gap:9px;padding:15px 4px 15px 10px}.inbox-avatar{width:29px;height:29px;font-size:13px}.inbox-sender{font-size:12px;max-width:155px}.inbox-subject{font-size:14px}.inbox-snippet{font-size:12px}.inbox-meta{font-size:11px;gap:8px}.attachment-chip{font-size:10px;padding:3px 4px}.inbox-read-toggle{min-width:44px;margin-right:0}.inbox-actions{gap:4px}.inbox-actions .secondary{padding:9px 10px;font-size:12px}.inbox-actions .secondary:last-child{margin-left:0}.school-count{line-height:1.6}.message-detail{padding:18px}.message-detail h2{font-size:27px}.message-actions .secondary{font-size:13px}}
