@font-face{font-family:Geist;src:url(/assets/Geist-Variable-Bj2R_7yk.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Variable-Dispecij.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{font-family:Geist,system-ui,sans-serif;color:#20332e;background:#f5f4ef;font-synthesis:none;--ink: #20332e;--muted: #5d6b65;--surface: #fffefa;--line: #e3e5de;--forest: #173d33;--forest-2: #235448;--coral: #b8502f;--coral-dark: #9d3d22;--mint: #74b59e;--blue: #719bb4;--gold: #e3ad4f;--radius: 18px;--shadow: 0 14px 40px rgb(28 55 48 / 8%);--font-6: 11px;--font-7: 11px;--font-8: 12px;--font-9: 13px;--font-10: 13px;--font-11: 14px;--font-12: 14px;--font-13: 15px;--font-14: 16px}*{box-sizing:border-box}html{min-width:320px;background:#f5f4ef}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgb(227 111 71 / 35%);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}.app-loader{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:16px;color:var(--muted)}.app-loader .brand-mark{width:52px;height:52px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.brand-lockup{display:flex;align-items:center;gap:11px;font-weight:720;letter-spacing:-.03em;font-size:18px}.brand-lockup.light{color:#fff}.brand-mark{width:39px;height:39px;border-radius:13px;display:inline-grid;place-items:center;background:var(--coral);color:#fff;box-shadow:0 8px 22px #af44244d;flex:none}.brand-mark.small{width:29px;height:29px;border-radius:9px}.eyebrow{margin:0 0 7px;color:var(--coral-dark);font:650 var(--font-11)/1.2 "Geist Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.muted{color:var(--muted)}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(440px,1.05fr) minmax(460px,.95fr);background:#f8f7f2}.auth-story{position:relative;min-height:100vh;padding:44px clamp(42px,6vw,88px);overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(circle at 87% 17%,rgb(109 171 150 / 28%),transparent 26%),linear-gradient(145deg,#153a31,#1d4a3d 62%,#17372f);color:#fff}.auth-story:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgb(255 255 255 / 9%);border-radius:50%;left:-240px;bottom:-150px;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff05}.auth-copy{margin:auto 0 36px;max-width:650px;position:relative;z-index:1}.auth-copy .eyebrow{color:#94d1bc}.auth-copy h1{font-size:clamp(48px,5.5vw,78px);line-height:.98;margin-bottom:25px;font-weight:680}.auth-copy>p:last-child{max-width:540px;color:#c7d8d2;font-size:18px;line-height:1.6}.auth-preview{position:relative;z-index:1;display:grid;grid-template-columns:130px 1fr 1fr 1fr;gap:10px;padding:12px;border:1px solid rgb(255 255 255 / 12%);border-radius:18px;background:#ffffff14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.preview-date,.preview-event{border-radius:12px;padding:15px;display:flex;flex-direction:column;gap:5px}.preview-date{background:#0b251e7f}.preview-date strong{font-size:15px}.preview-date span{font-size:var(--font-12);color:#a9c4ba}.preview-event{color:#20332e}.preview-event span{font:600 var(--font-10) "Geist Mono";opacity:1}.preview-event strong{font-size:var(--font-13)}.preview-event.coral{background:#ef9b7e}.preview-event.mint{background:#9fcdbd}.preview-event.cream{background:#f3dba7}.auth-panel{display:grid;place-items:center;padding:50px}.auth-card{width:min(100%,430px)}.auth-card h2{font-size:clamp(30px,3vw,42px);line-height:1.08;margin:8px 0 13px}.auth-card>.muted{line-height:1.6;margin-bottom:30px}.mobile-brand{display:none;margin-bottom:55px}.auth-switch{margin:24px 0;text-align:center;color:var(--muted);font-size:var(--font-14)}.auth-switch button,.text-button{padding:0;border:0;background:none;color:var(--coral-dark);font-weight:650;cursor:pointer}.trust-note{padding-top:23px;border-top:1px solid var(--line);color:var(--muted);display:flex;justify-content:center;align-items:center;gap:7px;font-size:var(--font-12)}.onboarding-layout{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 50% -20%,#b7d7ca,transparent 45%),#f5f4ef}.onboarding-card{width:min(100%,520px);padding:clamp(30px,6vw,58px);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.onboarding-card h1{font-size:42px;line-height:1.05;margin:20px 0 14px}.app-frame{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{height:100dvh;position:sticky;top:0;z-index:40;display:flex;flex-direction:column;padding:27px 18px 19px;overflow-x:hidden;overflow-y:auto;background:linear-gradient(180deg,#173d33,#13362e);color:#d8e7e1;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin}.sidebar-top{display:flex;justify-content:space-between;align-items:center;padding:0 8px 26px}.sidebar-close{display:none!important}.family-picker{display:block;margin:0 0 22px}.family-picker>span{display:block;margin:0 10px 7px;color:#89aa9e;font:600 var(--font-9) "Geist Mono";text-transform:uppercase;letter-spacing:.1em}.family-picker select{width:100%;appearance:none;border:1px solid rgb(255 255 255 / 10%);border-radius:11px;padding:10px 28px 10px 11px;color:#fff;background:#ffffff12 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b8d0c7' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;font-size:var(--font-13)}.primary-nav{display:flex;flex-direction:column;gap:3px}.primary-nav a{position:relative;display:flex;align-items:center;gap:13px;min-height:44px;padding:0 13px;border-radius:11px;color:#a9c2b9;font-size:var(--font-14);font-weight:510;transition:.14s ease}.primary-nav a:hover{background:#ffffff0f;color:#fff}.primary-nav a.active{background:#f7f3e9;color:var(--forest);box-shadow:0 8px 20px #071d1733}.primary-nav a.active:before{content:"";position:absolute;left:-18px;width:3px;height:22px;border-radius:0 3px 3px 0;background:var(--coral)}.primary-nav .admin-link{margin-top:13px;border-top:1px solid rgb(255 255 255 / 8%);border-radius:0 0 11px 11px;padding-top:9px;min-height:54px}.admin-link em{margin-left:auto;padding:3px 5px;border-radius:5px;color:#ffe4a7;background:#e3ad4f26;font:650 var(--font-8) "Geist Mono";font-style:normal}.sidebar-footer{margin-top:auto;padding:17px 7px 2px;border-top:1px solid rgb(255 255 255 / 9%);display:flex;align-items:center;justify-content:space-between;gap:8px}.user-row{min-width:0;display:flex;align-items:center;gap:9px}.user-row>span:last-child{min-width:0}.user-row strong,.user-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row strong{color:#fff;font-size:var(--font-12)}.user-row small{color:#88aa9d;font-size:var(--font-10);margin-top:3px}.content-frame{min-width:0}.core-sync-status{position:fixed;z-index:32;top:88px;right:clamp(18px,3vw,42px);display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #dbe4df;border-radius:999px;box-shadow:0 8px 22px #1e39301a;background:#fffefaf0;color:var(--forest);font-size:var(--font-10);font-weight:750;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar{height:78px;position:sticky;z-index:30;top:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,54px);border-bottom:1px solid rgb(218 221 213 / 80%);background:#f5f4efe5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.topbar>div:first-of-type p{margin:0 0 2px;color:var(--muted);font-size:var(--font-10)}.topbar>div:first-of-type h1{margin:0;font-size:18px}.top-actions{position:relative;display:flex;align-items:center;gap:11px}.global-search{width:230px;height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fffefa;color:#8a9691}.global-search input{width:100%;border:0;outline:0;background:none;font-size:var(--font-12);color:var(--ink)}.notification-button{position:relative}.notification-button>span{position:absolute;top:7px;right:7px;min-width:17px;height:17px;padding:0 4px;border:1px solid #fff;border-radius:999px;background:var(--coral);color:#fff;font-size:9px;font-weight:750;line-height:15px;text-align:center;transform:translate(45%,-45%)}.notification-popover{position:absolute;z-index:80;top:calc(100% + 14px);right:40px;width:min(390px,calc(100vw - 28px));max-height:min(560px,calc(100vh - 100px));overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 20px 55px #1730282e}.notification-popover>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-bottom:1px solid var(--line)}.notification-popover>header div,.notification-list a span{display:grid;gap:3px}.notification-popover small,.notification-popover time{color:var(--muted);font-size:var(--font-11)}.notification-list{max-height:470px;overflow:auto}.notification-list>p{margin:0;padding:28px 16px;text-align:center}.notification-list a{display:grid;grid-template-columns:8px 1fr;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.notification-list a:hover,.notification-list a.unread{background:#f4f8f5}.notification-list a>i{width:7px;height:7px;margin-top:6px;border-radius:50%;background:transparent}.notification-list a.unread>i{background:var(--coral)}.notification-list a strong{font-size:var(--font-13)}.menu-button{display:none!important}.page-content{width:100%;max-width:2400px;margin:0 auto;padding:clamp(25px,3.4vw,48px) clamp(20px,4vw,55px) 80px}.page-stack{display:flex;flex-direction:column;gap:25px}.mobile-nav{display:none}.button{min-height:40px;padding:0 16px;border:1px solid transparent;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:var(--font-13);font-weight:650;cursor:pointer;transition:.14s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.52}.button.primary{color:#fff;background:var(--coral);box-shadow:0 8px 20px #c9553230}.button.primary:hover:not(:disabled){background:var(--coral-dark)}.button.secondary{border-color:#d9dfda;color:var(--forest);background:#fff}.button.secondary:hover:not(:disabled){border-color:#b9c9c2;background:#f7faf8}.button.soft{border-color:#dce6e1;color:var(--forest-2);background:#eef4f1}.button.ghost{border-color:var(--line);background:var(--surface)}.button.danger{border-color:#f1c3b5;color:#8d2d18;background:#fff1ec}.button.danger:hover:not(:disabled){border-color:#e19882;background:#ffe5dc}.button.wide{width:100%}.icon-button{width:38px;height:38px;padding:0;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}.icon-button.dark{border-color:#ffffff14;background:#ffffff0d;color:#9ab9ae}.avatar{width:36px;height:36px;display:inline-grid;place-items:center;flex:none;border:2px solid #fffefa;border-radius:50%;color:#fff;font:670 var(--font-10) "Geist Mono";box-shadow:0 3px 10px #1f322c1a;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.animal{border-color:#fffefae0;font-family:system-ui,sans-serif}.avatar .animal-emoji{font-size:19px;line-height:1;transform:translateY(1px)}.avatar.small{width:27px;height:27px;font-size:var(--font-8)}.avatar.small .animal-emoji{font-size:var(--font-14)}.avatar.neutral{background:#50645e}.avatar.add{color:var(--forest);background:#fff;border:1px dashed #a9b8b3}.family-avatar{color:var(--forest);background:#dcebe5}.panel{padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 6px 24px #1c37300a}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.panel-header h3{margin:0;font-size:21px}.panel-header a{display:flex;align-items:center;gap:4px;color:var(--coral-dark);font-size:var(--font-12);font-weight:650}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.page-heading h2{margin:0 0 7px;font-size:clamp(31px,4vw,44px);line-height:1}.page-heading>div>p:last-child{margin:0;color:var(--muted);line-height:1.5}.calendar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.quick-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;flex:none}.quick-icon svg{width:20px}.quick-icon.coral{color:#b74b2d;background:#f9ded4}.quick-icon.mint{color:#2d7460;background:#d9ede5}.quick-icon.blue{color:#3d718e;background:#dceaf1}.quick-icon.gold{color:#9c6c17;background:#faebc8}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#b6bdb9}.status-dot.todo,.status-dot.created,.status-dot.assigned{background:#9ca9a4}.status-dot.progress,.status-dot.in_progress{background:var(--blue)}.status-dot.review,.status-dot.pending_review{background:var(--gold)}.status-dot.done,.status-dot.approved,.status-dot.rewarded{background:var(--mint)}.status-dot.rejected{background:var(--coral)}.welcome-banner{min-height:150px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:30px 33px;border-radius:22px;color:#fff;background:radial-gradient(circle at 90% 20%,rgb(141 198 179 / 25%),transparent 30%),linear-gradient(120deg,#1a4438,#245b4b);box-shadow:0 14px 34px #163d3321;overflow:hidden}.welcome-banner .eyebrow{color:#94d1bc}.welcome-banner h2{margin:0 0 8px;font-size:clamp(27px,3.5vw,39px)}.welcome-banner p:last-child{margin:0;color:#c7dbd4}.member-stack{display:flex;padding-left:15px}.member-stack .avatar{margin-left:-9px;border-color:#245448}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stat-card{min-height:118px;padding:19px;display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.stat-card>div{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 12px}.stat-card p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:var(--font-11)}.stat-card strong{font:680 29px Geist Mono;letter-spacing:-.06em}.stat-card small{color:var(--muted);font-size:var(--font-10);padding-bottom:4px;text-align:right}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.6fr);gap:20px}.timeline-row{min-height:71px;display:grid;grid-template-columns:35px 17px 34px 1fr auto;align-items:center;gap:10px}.event-date{text-align:center}.event-date strong,.event-date span{display:block}.event-date strong{font:650 18px Geist Mono}.event-date span{color:var(--muted);font-size:var(--font-9);text-transform:uppercase}.timeline-line{align-self:stretch;position:relative;display:flex;justify-content:center}.timeline-line:after{content:"";position:absolute;width:1px;height:100%;background:var(--line)}.timeline-row.last .timeline-line:after{height:50%}.timeline-line i{z-index:1;margin-top:31px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px var(--line)}.event-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:10px;background:#f4f2ec}.timeline-row>div:nth-of-type(2) strong{display:block;font-size:var(--font-13)}.timeline-row>div:nth-of-type(2)>span{margin-top:5px;display:flex;align-items:center;gap:4px;color:var(--muted);font-size:var(--font-10)}.timeline-row>div:nth-of-type(2)>span svg:nth-of-type(2){margin-left:7px}.progress-ring-row{display:flex;align-items:center;gap:17px;padding:5px 0 21px;border-bottom:1px solid var(--line)}.progress-ring{--progress: 0deg;width:78px;height:78px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--mint) var(--progress),#e7ebe7 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface)}.progress-ring span{z-index:1;font:650 15px Geist Mono}.progress-ring-row>div:last-child strong,.progress-ring-row>div:last-child span{display:block}.progress-ring-row>div:last-child strong{font-size:17px}.progress-ring-row>div:last-child span{margin-top:3px;color:var(--muted);font-size:var(--font-11)}.mini-chore-list>div{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #eeeeea}.mini-chore-list>div:last-child{border:0}.mini-chore-list strong,.mini-chore-list small{display:block}.mini-chore-list strong{font-size:var(--font-12)}.mini-chore-list small{margin-top:3px;color:var(--muted);font-size:var(--font-9)}.mini-chore-list b{color:#9a6d1d;font:650 var(--font-10) "Geist Mono"}.mini-chore-list .all-done{display:flex;grid-template-columns:none;color:#34745f;font-size:var(--font-12)}.quick-actions>div{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.quick-actions>div>a{display:grid;grid-template-columns:43px 1fr 18px;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--surface);transition:.14s ease}.quick-actions>div>a:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.quick-actions strong,.quick-actions small{display:block}.quick-actions strong{font-size:var(--font-13)}.quick-actions small{margin-top:3px;color:var(--muted);font-size:var(--font-10)}.quick-actions>div>a>svg{color:#9aa49f}@media(min-width:1600px){.page-content{padding:36px 48px 64px}.page-stack{gap:22px}.welcome-banner{min-height:154px;padding:31px 36px}.stat-grid{gap:18px}.stat-card{min-height:112px;padding:20px 22px}.dashboard-grid{grid-template-columns:minmax(0,2.15fr) minmax(420px,.85fr);gap:22px}.schedule-panel,.chores-summary{padding:27px 29px}.quick-actions>div{gap:16px}.quick-actions>div>a{min-height:78px;padding-inline:20px}}.stack-form{display:flex;flex-direction:column;gap:17px;margin-top:28px}.field{display:block;min-width:0}.field>span:first-child{display:flex;justify-content:space-between;margin:0 0 7px;color:#40524c;font-size:var(--font-11);font-weight:620}.field-label-row{display:flex;min-height:24px;align-items:center;justify-content:space-between;gap:16px;margin:0 0 7px}.field-label-row label{color:#40524c;font-size:var(--font-11);font-weight:620}.auth-recovery-link{margin:-5px -7px -5px 0;padding:5px 7px;border:0;border-radius:7px;color:var(--coral-dark);background:transparent;font-size:var(--font-11);font-weight:650;line-height:1.25;cursor:pointer;transition:color .14s ease,background-color .14s ease}.auth-recovery-link:hover{color:#8f3925;background:#f8e9e3}.auth-recovery-link:focus-visible{outline:3px solid rgb(190 83 57 / 22%);outline-offset:1px}.field>span em{color:#929b97;font-weight:450;font-style:normal}.field input:not([type=color]),.field select,.field textarea{width:100%;min-height:44px;border:1px solid #d8ddd8;border-radius:10px;background:#fff;padding:0 12px;color:var(--ink);outline:0;transition:.13s ease}.field textarea{min-height:84px;padding:11px 12px;resize:vertical;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:#a2aaa6}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7ea997;box-shadow:0 0 0 3px #56937e1a}.field select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23687670' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center}.chore-recurrence-builder{display:flex;flex-direction:column;gap:13px;padding:14px;border:1px solid #dce5df;border-radius:14px;background:#f6faf7}.chore-recurrence-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.chore-recurrence-heading .eyebrow{margin:0 0 3px}.chore-recurrence-heading strong{color:var(--forest);font-size:var(--font-10)}.chore-recurrence-icon{display:grid;width:33px;height:33px;place-items:center;border-radius:50%;color:#35725e;background:#dcefe5;font-size:21px;line-height:1}.chore-day-picker{margin:0;padding:0;border:0}.chore-day-picker legend{margin-bottom:7px;color:#40524c;font-size:var(--font-11);font-weight:620}.chore-day-picker>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.chore-day-picker label{position:relative;display:flex;min-width:0;cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:7px 3px 6px;border:1px solid #d8e2dc;border-radius:9px;color:#6c7b74;background:#fff;text-align:center;transition:.14s ease}.chore-day-picker label.selected{border-color:#83b39d;color:#235844;background:#e4f3ea}.chore-day-picker input{position:absolute;opacity:0;pointer-events:none}.chore-day-picker label>span{font-size:var(--font-10);font-weight:750}.chore-day-picker small{font-size:10px}.chore-repeat-ending{align-items:end}.password-field{position:relative;display:block!important;margin:0!important}.password-field button{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--coral-dark);font-size:var(--font-11);font-weight:650;cursor:pointer}.password-field input{padding-right:58px!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-error{margin:-4px 0 0;padding:9px 11px;border-radius:8px;color:#a53e27;background:#fce5dd;font-size:var(--font-11)}.color-field input{width:100%;height:42px;padding:5px;border:1px solid #d8ddd8;border-radius:10px;background:#fff}.animal-avatar-picker{padding:13px;border:1px solid #d9e4df;border-radius:14px;background:#f7faf8}.animal-avatar-message{display:flex;align-items:center;gap:11px;margin-bottom:12px}.animal-avatar-message>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.animal-avatar-message strong{color:var(--forest);font-size:var(--font-11)}.animal-avatar-message small{color:var(--muted);font-size:var(--font-9);line-height:1.4}.animal-avatar-preview{width:42px;height:42px;display:grid;place-items:center;flex:none;border:2px solid #fff;border-radius:50%;box-shadow:0 4px 13px #2544391a;font-size:23px}.animal-avatar-catalog{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.animal-avatar-catalog>button{aspect-ratio:1;min-width:0;display:grid;place-items:center;padding:0;border:2px solid transparent;border-radius:50%;background:#fff;cursor:pointer;font-size:16px;transition:.14s ease}.animal-avatar-catalog>button:hover:not(:disabled),.animal-avatar-catalog>button:focus-visible{border-color:var(--forest);box-shadow:0 0 0 2px #fff;transform:translateY(-1px)}.animal-avatar-catalog>button[aria-pressed=true]{border-color:var(--forest);box-shadow:0 0 0 2px #fff,0 3px 10px #2544392e}.animal-avatar-catalog>button.assigned,.animal-avatar-catalog>button:disabled{filter:grayscale(.7);opacity:.32;cursor:not-allowed}.animal-avatar-catalog>button.next{border-color:var(--forest);box-shadow:0 0 0 2px #fff;opacity:1}.animal-avatar-preview.empty{color:#718078;background:#e9eeea}.animal-avatar-preview.empty svg{width:19px;height:19px}.animal-avatar-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.animal-avatar-actions>button{min-height:31px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;border:1px solid #d7e1db;border-radius:9px;color:#5b7168;background:#fff;font-size:var(--font-9);font-weight:700;cursor:pointer}.animal-avatar-actions>button.active,.animal-avatar-actions>button:hover{border-color:#83ab98;color:var(--forest);background:#e6f2eb}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:22px;background:#0a1e1994;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(100%,590px);max-height:calc(100vh - 44px);overflow:auto;padding:28px;border-radius:22px;background:#faf9f5;box-shadow:0 30px 90px #071f1959;animation:modal-in .18s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}}.modal>header{display:flex;justify-content:space-between;gap:20px}.modal>header h2{margin:0 0 8px;font-size:26px}.modal>header p:last-child{margin:0;color:var(--muted);font-size:var(--font-12);line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}.modal-actions.split>span{flex:1}.event-details-stack{display:grid;gap:14px}.event-details-stack>p{display:flex;align-items:center;gap:7px;margin:0;color:var(--muted)}.toast-stack{position:fixed;z-index:120;right:22px;bottom:22px;display:flex;flex-direction:column;gap:8px}.toast-stack>div{width:min(380px,calc(100vw - 44px));display:flex;align-items:center;gap:10px;padding:13px 15px;border-radius:12px;color:#fff;background:var(--forest);box-shadow:0 15px 45px #0c282040;font-size:var(--font-12);animation:toast-in .18s ease-out}.toast-stack>div.error{background:#963d29}.toast-stack svg{width:18px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.calendar-toolbar{min-height:57px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.date-navigation{display:flex;align-items:center;gap:7px}.date-navigation strong{margin-left:8px;font-size:var(--font-13)}.segmented{display:flex;padding:3px;border-radius:9px;background:#eeeee9}.segmented button{padding:7px 12px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:var(--font-11);cursor:pointer}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 2px 7px #21352f17;font-weight:650}.member-filter{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:var(--font-10)}.member-filter>span:first-child{margin-right:3px}.member-chip{padding:6px 9px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--muted);cursor:pointer;opacity:.6}.member-chip.active{color:var(--forest);opacity:1}.member-chip i{width:7px;height:7px;border-radius:50%;background:var(--mint)}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-height:650px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.calendar-month-grid>article{min-width:120px;min-height:108px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-month-grid>article:nth-child(7n){border-right:0}.calendar-month-grid>article.outside{opacity:.42;background:#f3f3ef}.calendar-month-grid>article.today>header{color:var(--coral);font-weight:800}.calendar-month-grid article>button{width:100%;margin-top:5px;padding:4px 6px;overflow:hidden;border:0;border-left:3px solid;border-radius:5px;background:#f2f5f3;color:var(--ink);font-size:var(--font-8);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.calendar-day-view{display:grid;gap:9px}.calendar-day-view>button{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffefa;text-align:left;cursor:pointer}.calendar-day-view>button time,.calendar-day-view>button span{display:grid;gap:4px}.calendar-day-view>button small,.calendar-day-view>button time{color:var(--muted)}.week-grid{min-height:520px;display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.week-grid>article{min-width:105px;border-right:1px solid var(--line)}.week-grid>article:last-child{border:0}.week-grid>article>header{height:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}.week-grid>article>header span{color:var(--muted);font:600 var(--font-9) "Geist Mono";text-transform:uppercase}.week-grid>article>header strong{width:30px;height:30px;margin-top:4px;display:grid;place-items:center;border-radius:50%;font:620 var(--font-14) "Geist Mono"}.week-grid>article.today>header strong{color:#fff;background:var(--coral)}.day-events{min-height:443px;padding:9px;display:flex;flex-direction:column;gap:8px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 58px,#f3f3ef 59px)}.calendar-event{width:100%;border-top:0;border-right:0;border-bottom:0;text-align:left;cursor:pointer;padding:9px 8px;border-left:3px solid var(--event-color);border-radius:7px;color:var(--ink);background:color-mix(in srgb,var(--event-color) 14%,#fff)}.calendar-event span,.calendar-event strong,.calendar-event small{display:block}.calendar-event span{font:600 var(--font-8) "Geist Mono";opacity:.62}.calendar-event strong{margin-top:4px;font-size:var(--font-10);line-height:1.25}.calendar-event small{margin-top:5px;opacity:.7;font-size:var(--font-8)}.source-pill{display:inline-flex!important;align-items:center;gap:4px;width:fit-content;margin-top:5px;padding:3px 6px;border-radius:5px;color:#55776c;background:#e7f0ec;font:600 var(--font-8) "Geist Mono"}.calendar-event .source-pill{margin-top:6px;color:#527267;background:#ffffff7f;font-size:var(--font-7)}.open-day{color:#adb5b1;text-align:center;font-size:var(--font-9);padding-top:15px}.agenda-panel{min-height:300px;padding:20px 28px}.calendar-integration-loading{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:var(--font-11)}.calendar-feed-panel{padding:18px 22px}.calendar-management{padding:0;overflow:hidden}.calendar-management>summary{min-height:76px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none}.calendar-management>summary::-webkit-details-marker{display:none}.calendar-management>summary span{display:grid;gap:3px}.calendar-management>summary small,.calendar-management>summary em{color:var(--muted);font-style:normal}.calendar-management[open]>summary{border-bottom:1px solid var(--border)}.calendar-management-content{padding:18px;display:grid;gap:18px;background:color-mix(in srgb,var(--surface) 78%,var(--background))}.calendar-management-content>.panel{margin:0}.calendar-duplicate-review{padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.calendar-duplicate-review>header h3{margin:3px 0}.calendar-duplicate-review>header p:last-child{margin:0;color:var(--muted)}.calendar-duplicate-list{margin-top:16px;display:grid;gap:10px}.calendar-duplicate-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--border);border-radius:14px}.calendar-duplicate-list article>div,.calendar-duplicate-list label{display:grid;gap:4px}.calendar-duplicate-list small,.calendar-duplicate-list label span,.calendar-duplicate-empty{color:var(--muted)}.calendar-duplicate-bulk{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.45fr);align-items:center;gap:14px;margin:14px 0 10px;padding:12px 13px;border:1px solid #d8e4de;border-radius:11px;background:#f5faf7}.calendar-duplicate-bulk strong,.calendar-duplicate-bulk small{display:block}.calendar-duplicate-bulk strong{color:var(--ink);font-size:var(--font-10)}.calendar-duplicate-bulk small{margin-top:3px;color:var(--muted);font-size:var(--font-8);line-height:1.4}.calendar-duplicate-bulk select{min-height:38px;width:100%;border:1px solid #cad8d1;border-radius:9px;padding:0 10px;color:var(--ink);background:#fff;font:inherit;font-size:var(--font-9)}.calendar-duplicate-list select{min-width:240px}.calendar-duplicate-empty{margin-top:16px;display:flex;align-items:center;gap:8px}.calendar-feed-panel.loading{display:flex;align-items:center;gap:9px;color:var(--muted)}.calendar-feed-panel>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.calendar-feed-panel>header h3{margin:2px 0 5px;font-size:var(--font-16)}.calendar-feed-panel>header p:last-child{margin:0;color:var(--muted);font-size:var(--font-10)}.calendar-feed-list{display:grid;gap:8px;margin-top:15px}.calendar-feed-list>article{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(145px,.7fr) minmax(180px,.8fr) auto;align-items:center;gap:14px;padding:11px 12px;border:1px solid #dfe7e2;border-radius:12px;background:#fbfcfa}.calendar-feed-list>article.error{border-color:#b7482b52;background:#fff9f6}.calendar-feed-toggle{display:flex;align-items:center;gap:9px;min-width:0}.calendar-feed-toggle>i{width:10px;height:30px;flex:none;border-radius:5px}.calendar-feed-toggle>span{min-width:0}.calendar-feed-toggle strong,.calendar-feed-toggle small,.calendar-feed-health small,.calendar-feed-health em{display:block}.calendar-feed-toggle strong{overflow:hidden;color:var(--ink);font-size:var(--font-11);text-overflow:ellipsis;white-space:nowrap}.calendar-feed-toggle small,.calendar-feed-health small{margin-top:2px;color:var(--muted);font-size:var(--font-8)}.calendar-feed-health em{margin-top:3px;color:#9b432e;font-size:var(--font-8);font-style:normal}.calendar-feed-actions{display:flex;gap:5px}.calendar-feed-actions .button{min-height:31px;padding:0 9px;font-size:var(--font-8)}.calendar-feed-empty{display:flex;align-items:center;gap:10px;margin-top:14px;padding:13px;border:1px dashed #ccd9d2;border-radius:11px;color:#527267;background:#f6faf7}.calendar-feed-empty strong,.calendar-feed-empty small{display:block}.calendar-feed-empty small{margin-top:2px;color:var(--muted)}.calendar-feed-form{display:grid;gap:15px;margin-top:22px}.calendar-provider-choices{display:flex;flex-wrap:wrap;gap:7px}.calendar-provider-choices button{min-height:36px;padding:0 13px;border:1px solid #d4dfd9;border-radius:999px;color:var(--muted);background:#fff;font:inherit;font-size:var(--font-9);font-weight:700;cursor:pointer}.calendar-provider-choices button.active{border-color:#397763;color:#235746;background:#eaf5ef}.calendar-provider-help{margin:-8px 0 0;color:var(--muted);font-size:var(--font-9);line-height:1.5}.calendar-feed-mode{width:100%}.calendar-feed-mode button{flex:1}.calendar-file-field small{color:var(--muted);font-size:var(--font-9)}.calendar-preview-button{justify-self:end}.calendar-feed-preview{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid #bfdbc9;border-radius:12px;color:#27634b;background:#eff8f2}.calendar-feed-preview strong,.calendar-feed-preview span,.calendar-feed-preview small,.calendar-feed-preview em{display:block}.calendar-feed-preview em{margin-top:3px;color:#397763;font-size:var(--font-9);font-style:normal;font-weight:750}.calendar-feed-preview span,.calendar-feed-preview small{margin-top:3px;color:var(--muted);font-size:var(--font-9)}.calendar-feed-date-warning,.calendar-write-permission-notice{display:flex;align-items:center;gap:9px;margin:0;padding:11px 13px;border:1px solid #ead39b;border-radius:11px;color:#73520d;background:#fff9e8;font-size:var(--font-9);line-height:1.45}.calendar-mirror-target small{display:block;margin-top:4px;color:var(--muted);font-size:var(--font-8);line-height:1.35}.calendar-mirror-target small.error{color:#9b432e}.calendar-feed-privacy{display:flex;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:var(--font-9)}.google-connect-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:17px;background:linear-gradient(120deg,#fdfcf7,#f1f7f4)}.google-connect-card h3{margin:0 0 7px;font-size:18px}.google-connect-card p:last-child{max-width:700px;margin:0;color:var(--muted);font-size:var(--font-11);line-height:1.5}.calendar-provider-area{margin-top:15px;padding:22px 23px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#fcfdfc,#f5f8f7)}.calendar-provider-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.calendar-provider-heading h3{margin:2px 0 6px;font-size:18px}.calendar-provider-heading p{max-width:650px;margin:0;color:var(--muted);font-size:var(--font-11);line-height:1.5}.calendar-provider-heading>span{color:var(--muted);font:600 var(--font-9) "Geist Mono";text-align:right}.calendar-provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:17px}.calendar-provider-card{display:grid;align-content:start;min-height:275px;padding:16px;border:1px solid #dfe8e3;border-radius:13px;background:#fff}.calendar-provider-card.needs-help{border-color:#b7482b59}.calendar-provider-icon{display:grid;place-items:center;width:30px;height:30px;margin-bottom:13px;border-radius:9px;font:700 15px Geist Mono}.microsoft-mark{color:#fff;background:linear-gradient(135deg,#5d66b7,#2f98bc)}.apple-mark{color:#31484a;background:#e9efef}.cozi-mark{color:#7d5830;background:#f4ebdc}.calendar-provider-card-heading{display:flex;align-items:start;justify-content:space-between;gap:9px}.calendar-provider-card-heading p{margin:0 0 4px;color:var(--muted);font-size:var(--font-9)}.calendar-provider-card-heading h4{margin:0;color:var(--ink);font-size:var(--font-13)}.provider-state{flex:0 0 auto;padding:4px 6px;border-radius:999px;color:#806424;background:#fff0ca;font:600 var(--font-8) "Geist Mono"}.provider-state.connected{color:#286747;background:#dcf0e4}.calendar-provider-copy{margin:12px 0 0;color:var(--muted);font-size:var(--font-10);line-height:1.52}.calendar-provider-actions{display:flex;gap:7px;margin-top:auto;padding-top:14px}.calendar-provider-actions .button{flex:1;min-height:33px;font-size:var(--font-9)}.provider-help{margin:11px 0 0;color:var(--muted);font-size:var(--font-9);line-height:1.45}.provider-connection-summary{display:grid;gap:6px;margin-top:12px;padding:9px;border-radius:9px;color:#48645a;background:#f1f7f4;font-size:var(--font-9)}.provider-connection-summary span{display:flex;align-items:center;gap:5px}.provider-connection-summary small{color:var(--muted);font-size:var(--font-8)}.apple-connect-form{display:grid;gap:7px;margin-top:13px}.apple-connect-form input{width:100%;min-height:32px;padding:0 9px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:#fbfcfb;font:var(--font-10) "Geist"}.apple-connect-form input:focus{outline:2px solid rgba(50,118,101,.18);border-color:#6f9b8d}.apple-connect-form .button{min-height:33px;font-size:var(--font-9)}.provider-support-link{display:inline-flex;align-items:center;gap:4px;width:fit-content;margin-top:9px;color:#3c7864;font-size:var(--font-9);text-decoration:none}.cozi-setup-link{width:fit-content;margin-top:13px;text-decoration:none}.linked-calendar-panel{padding:20px 23px}.linked-calendar-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.linked-calendar-header h3{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:18px}.linked-calendar-header>div:first-child>p:last-child{margin:0;color:var(--muted);font-size:var(--font-10)}.linked-calendar-actions{display:flex;gap:7px}.linked-calendar-actions .button{min-height:34px;font-size:var(--font-10)}.calendar-connection-health{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:17px;padding:14px;border:1px solid var(--line);border-radius:12px}.calendar-write-permission-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;margin-top:17px}.calendar-write-permission-notice strong{display:block;color:#654507}.calendar-connection-health.good{border-color:#2a70553d;background:linear-gradient(135deg,#f0f8f1,#fbfdf9)}.calendar-connection-health.warning{border-color:#bf851f42;background:linear-gradient(135deg,#fff7df,#fffdf7)}.calendar-connection-health.bad{border-color:#b7482b40;background:linear-gradient(135deg,#fff0eb,#fffaf8)}.calendar-connection-icon{width:36px;height:36px;border-radius:12px;display:inline-grid;place-items:center}.calendar-connection-health.good .calendar-connection-icon{color:#1f684b;background:#dff0e6}.calendar-connection-health.warning .calendar-connection-icon{color:#8a610d;background:#ffedbf}.calendar-connection-health.bad .calendar-connection-icon{color:#8d2d18;background:#ffded5}.calendar-connection-health strong{display:block;color:var(--ink);font-size:var(--font-12)}.calendar-connection-health p{margin:4px 0 0;color:var(--muted);font-size:var(--font-10);line-height:1.45}.linked-source-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:17px}.linked-source{display:grid;gap:12px;align-content:start;padding:13px;border:1px solid var(--line);border-radius:8px;background:#fff}.linked-source.active{border-color:#173d333d;box-shadow:0 12px 28px #173d3312}.linked-source-toggle{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;cursor:pointer}.linked-source input{accent-color:var(--forest-2)}.linked-source-toggle>i{width:9px;height:9px;border-radius:50%}.linked-source strong,.linked-source small{display:block}.linked-source strong{font-size:var(--font-11)}.linked-source small{margin-top:3px;color:var(--muted);font-size:var(--font-9)}.calendar-sync-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px}.calendar-sync-summary>div{min-height:92px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#f8fbf7}.calendar-sync-summary span,.source-assignment span{display:block;color:var(--muted);font-size:var(--font-9);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calendar-sync-summary strong{display:block;margin-top:6px;color:var(--forest);font-size:15px}.calendar-sync-summary small{display:block;margin-top:7px;color:var(--muted);font-size:var(--font-10);line-height:1.45}.source-assignment{display:grid;gap:6px}.source-assignment select{width:100%;min-height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:var(--font-11);font-weight:700;padding:0 10px}.source-assignment select:disabled{color:var(--muted);background:#f6f3eb}.source-sync-meta{display:grid;gap:5px}.source-sync-meta small{line-height:1.35}.sync-pill{width:fit-content;padding:4px 8px;border-radius:999px;color:var(--forest);background:#edf7f1;font-size:var(--font-9);font-weight:900;letter-spacing:.04em}.sync-pill.syncing{color:#6f4d05;background:#fff5d6}.sync-pill.error{color:#8d2d18;background:#ffe8df}.linked-calendar-note{margin:15px 0 0;color:var(--muted);font-size:var(--font-9)}.school-year-page{--school-green: #006b4f;--school-gold: #c2a33f}.school-year-hero{min-height:210px;padding:27px;display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(420px,1fr);align-items:center;gap:35px;overflow:hidden;background:radial-gradient(circle at 90% 8%,rgb(194 163 63 / 23%),transparent 30%),linear-gradient(125deg,#f5faf7,#fffefa)}.school-year-mark{margin-bottom:16px;display:inline-flex;align-items:center;gap:8px;color:var(--school-green);font:700 var(--font-13) "Geist Mono";letter-spacing:.06em}.school-year-hero h2{margin:6px 0 9px;font-size:clamp(22px,2.4vw,31px);letter-spacing:-.04em}.school-year-hero>div:first-child>p:last-child{max-width:570px;margin:0;color:var(--muted);font-size:var(--font-11);line-height:1.55}.school-year-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.school-year-stats>div{min-height:105px;padding:14px;display:flex;flex-direction:column;justify-content:center;border:1px solid rgb(0 107 79 / 14%);border-radius:14px;background:#ffffffc2}.school-year-stats strong,.school-year-stats span,.school-year-stats small{display:block}.school-year-stats strong{color:var(--school-green);font:700 24px Geist Mono}.school-year-stats span{margin-top:5px;font-size:var(--font-9);font-weight:700}.school-year-stats small{margin-top:4px;color:var(--muted);font-size:var(--font-8)}.school-calendar-legend{padding:19px 21px;display:grid;grid-template-columns:190px 1fr;align-items:center;gap:18px}.school-calendar-legend h3{margin:4px 0 0;font-size:15px}.school-legend-items{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px}.school-legend-items>button{min-height:58px;padding:9px 10px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;color:#9a9e9a;background:#f4f4f0;text-align:left;cursor:pointer;opacity:.62}.school-legend-items>button.active{color:var(--ink);background:#fff;box-shadow:0 5px 15px #1d2f2a0d;opacity:1}.school-legend-items button>i{width:12px;height:30px;border-radius:5px}.school-legend-items strong,.school-legend-items small{display:block}.school-legend-items strong{font-size:var(--font-9)}.school-legend-items small{margin-top:3px;color:var(--muted);font-size:var(--font-7);line-height:1.3}.school-legend-items button>svg{color:var(--school-green)}.school-calendar-section-heading{margin:8px 2px 14px;display:flex;align-items:end;justify-content:space-between;gap:16px}.school-calendar-section-heading h2{margin:5px 0 0;font-size:21px}.school-calendar-section-heading>span{padding:7px 10px;display:inline-flex;align-items:center;gap:6px;border-radius:9px;color:var(--school-green);background:#e8f3ef;font:650 var(--font-9) "Geist Mono"}.school-year-grid{display:grid;grid-template-columns:repeat(3,minmax(270px,1fr));gap:13px}.school-month-card{min-height:440px;padding:15px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:17px;background:#fffefa;box-shadow:0 7px 22px #1d2f2a0a}.school-month-card>header{margin-bottom:13px;padding-bottom:11px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e5df}.school-month-card h3{margin:0 0 3px;color:var(--school-green);font-size:15px}.school-month-card header small{color:var(--muted);font-size:var(--font-8)}.school-month-card header>span{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;color:var(--school-green);background:#e8f3ef;font:700 var(--font-10) "Geist Mono"}.school-month-weekdays,.school-month-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.school-month-weekdays{margin-bottom:4px}.school-month-weekdays span{padding:3px 0;color:#8f9792;font:650 var(--font-7) "Geist Mono";text-align:center}.school-month-days>span{min-width:0;aspect-ratio:1;position:relative;display:grid;place-items:center;border-radius:7px;color:#56605c;background:#f1f2ed;font:600 var(--font-8) "Geist Mono"}.school-month-days>span.empty{background:transparent}.school-month-days>span.event{color:#fff;box-shadow:inset 0 0 0 1px #ffffff26;cursor:help}.school-month-days>span.event.milestone{color:#2e270d}.school-month-days>span.today{outline:2px solid var(--ink);outline-offset:1px}.school-month-days>span.event i{width:3px;height:3px;position:absolute;right:3px;bottom:3px;border-radius:50%;background:currentColor;opacity:.8}.school-month-event-list{margin-top:13px;padding-top:11px;display:flex;flex-direction:column;gap:7px;border-top:1px solid #e7e8e3}.school-month-event-list>div{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:7px}.school-month-event-list>div>i{width:7px;height:7px;margin-top:3px;border-radius:3px}.school-month-event-list strong,.school-month-event-list small{display:block}.school-month-event-list strong{font-size:var(--font-8);line-height:1.25}.school-month-event-list small{margin-top:2px;color:var(--muted);font:550 var(--font-7) "Geist Mono"}.school-month-event-list>p{margin:0;color:var(--muted);font-size:var(--font-8)}.school-year-notes{padding:18px 21px;display:grid;grid-template-columns:minmax(260px,.75fr) 1.25fr;align-items:center;gap:25px}.school-year-notes>div{display:flex;align-items:center;gap:10px;color:var(--school-green)}.school-year-notes strong,.school-year-notes small{display:block}.school-year-notes strong{font-size:var(--font-10)}.school-year-notes small{margin-top:3px;color:var(--muted);font-size:var(--font-8)}.school-year-notes ul{margin:0;padding-left:18px;color:var(--muted);font-size:var(--font-9);line-height:1.55}.school-health-strip{min-height:64px;padding:10px 13px;display:grid;grid-template-columns:auto minmax(180px,.65fr) minmax(360px,1fr) auto;align-items:center;gap:12px}.school-health-strip.good{border-color:#b9d8c9;background:linear-gradient(100deg,#f3faf6,#fffefa)}.school-health-strip.bad{border-color:#efc3b7;background:#fff7f3}.school-health-strip.warning{border-color:#e5d39c;background:#fffaf0}.school-health-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#2f7d63;background:#dff2e8}.school-health-strip.bad .school-health-icon{color:#a14c37;background:#ffe5dc}.school-health-copy strong,.school-health-copy small{display:block}.school-health-copy strong{font-size:var(--font-11)}.school-health-copy small{margin-top:3px;color:var(--muted);font-size:var(--font-8)}.school-health-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #dfe5df}.school-health-metrics>span{min-width:0;padding:2px 13px;border-right:1px solid #dfe5df}.school-health-metrics small,.school-health-metrics strong{display:block}.school-health-metrics small{color:var(--muted);font-size:var(--font-7);font-weight:750;letter-spacing:.06em;text-transform:uppercase}.school-health-metrics strong{margin-top:4px;overflow:hidden;font:650 var(--font-9) "Geist Mono";text-overflow:ellipsis;white-space:nowrap}.school-health-strip>.button{min-height:35px;padding-inline:12px;font-size:var(--font-9)}.school-dashboard-layout{display:grid;grid-template-columns:minmax(620px,1fr) minmax(310px,.36fr);align-items:start;gap:14px}.school-month-focus{padding:18px}.school-month-focus-header{margin-bottom:16px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.school-month-focus-header h2{margin:4px 0 3px;color:var(--forest);font-size:23px;letter-spacing:-.035em}.school-month-focus-header>div:first-child>span{color:var(--muted);font:550 var(--font-8) "Geist Mono"}.school-month-focus-actions,.school-month-focus-actions>div{display:flex;align-items:center;gap:7px}.school-month-focus-actions .button{min-height:36px;font-size:var(--font-9)}.school-month-focus-actions .icon-button{width:36px;height:36px}.school-month-focus-actions .icon-button:disabled{cursor:not-allowed;opacity:.35}.school-focus-weekdays,.school-focus-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.school-focus-weekdays{border:1px solid #e2e4df;border-bottom:0;border-radius:12px 12px 0 0;background:#f0f2ed}.school-focus-weekdays span{padding:8px 5px;color:var(--muted);font:650 var(--font-8) "Geist Mono";text-align:center;text-transform:uppercase}.school-focus-days{overflow:hidden;border-top:1px solid #e2e4df;border-left:1px solid #e2e4df;border-radius:0 0 12px 12px}.school-focus-day{min-width:0;min-height:79px;padding:7px;position:relative;display:flex;flex-direction:column;gap:6px;overflow:hidden;border-right:1px solid #e2e4df;border-bottom:1px solid #e2e4df;background:#fffefa}.school-focus-day.empty{background:#f4f4f0}.school-focus-day.weekend:not(.empty){background:#faf9f4}.school-focus-day.has-event{background:#fff}.school-focus-day.today{box-shadow:inset 0 0 0 2px var(--forest);z-index:1}.school-focus-date-number{min-height:17px;display:flex;align-items:center;justify-content:space-between;gap:4px}.school-focus-date-number strong{color:#59645f;font:650 var(--font-9) "Geist Mono"}.school-focus-date-number em{padding:3px 4px;border-radius:5px;color:#fff;background:var(--forest);font:650 var(--font-6) "Geist Mono";font-style:normal;text-transform:uppercase}.school-focus-event{min-height:31px;padding:5px 5px 5px 7px;display:-webkit-box;overflow:hidden;border-left:3px solid;border-radius:6px;color:#36443e;font-size:var(--font-7);font-weight:650;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.school-focus-event>i{width:5px;height:5px;margin:1px 4px 0 0;display:inline-block;border-radius:2px}.school-focus-legend{margin-top:13px;display:flex;flex-wrap:wrap;gap:7px 14px}.school-focus-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:var(--font-7)}.school-focus-legend i{width:7px;height:7px;border-radius:2px}.school-message-timeline{max-height:636px;padding:17px 16px;overflow:hidden}.school-message-timeline>header{padding-bottom:13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.school-message-timeline h2{margin:4px 0 0;font-size:17px}.school-message-timeline>header>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:var(--forest);background:#e8f3ef;font:650 var(--font-9) "Geist Mono"}.school-timeline-list{max-height:555px;padding:13px 3px 6px 0;overflow-y:auto}.school-timeline-list>article{min-height:82px;padding:0 0 17px 28px;position:relative}.school-timeline-list>article.latest{min-height:142px}.school-timeline-marker{width:14px;height:14px;position:absolute;top:2px;left:0;display:grid;place-items:center;border-radius:50%;background:#e7eee9}.school-timeline-marker:after{width:1px;height:calc(100% + 58px);position:absolute;top:14px;left:6px;background:#dce2dd;content:""}.school-timeline-list>article:last-child .school-timeline-marker:after{display:none}.school-timeline-marker i{width:6px;height:6px;border-radius:50%;background:#638a7c}.school-timeline-marker.deadline i{background:#cf6548}.school-timeline-marker.action_required i{background:#c3942f}.school-timeline-marker.event i{background:#4c84b5}.school-timeline-marker.announcement i{background:#7564a9}.school-timeline-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.school-timeline-meta span{color:var(--muted);font:550 var(--font-7) "Geist Mono"}.school-timeline-meta em{padding:3px 5px;border-radius:5px;color:#8b6315;background:#f8ebc9;font:650 var(--font-6) "Geist Mono";font-style:normal;text-transform:uppercase}.school-timeline-list h3{margin:5px 0 4px;font-size:var(--font-10);line-height:1.3}.school-timeline-list p{margin:0;display:-webkit-box;overflow:hidden;color:var(--muted);font-size:var(--font-8);line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.school-timeline-list article>div>small{margin-top:5px;display:block;color:#7c8883;font-size:var(--font-7)}.school-timeline-actions{margin-top:9px;display:flex;gap:5px}.school-timeline-actions .button{min-height:29px;padding:0 8px;font-size:var(--font-7)}.school-reminders-panel{display:grid;gap:14px}.school-reminder-list{display:grid;gap:8px}.school-reminder-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fffefa}.school-reminder-list article.overdue{border-color:#edb5a5;background:#fff6f2}.school-reminder-list article>span{display:grid;gap:3px}.school-reminder-list article small{color:var(--muted)}.school-reminder-list article.overdue small{color:#9c3d26}.school-reminder-list article>div{display:flex;gap:7px}.school-inbox-panel{display:grid;gap:15px}.school-toolbar,.school-toolbar-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.school-toolbar h3{margin:0;font-size:19px}.school-filter-row{display:flex;flex-wrap:wrap;gap:8px}.school-filter-row button{min-height:34px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);cursor:pointer;font-size:var(--font-10);font-weight:800;padding:0 12px}.school-filter-row button.active{border-color:#173d333d;color:var(--forest);background:#eef7f1}.school-filter-row span{margin-left:4px;color:var(--forest-2)}.school-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:12px}.school-email-card{display:grid;gap:12px;align-content:start;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 12px 26px #173d330d}.school-email-card header,.school-email-meta,.school-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.school-email-card header small,.school-email-meta{color:var(--muted);font-size:var(--font-10)}.school-email-card h3{margin:0;font-size:15px;line-height:1.25}.school-email-card p{margin:0;color:var(--muted);font-size:var(--font-11);line-height:1.55}.school-category{width:fit-content;border-radius:999px;padding:5px 8px;color:var(--forest);background:#edf7f1;font-size:var(--font-9);font-weight:900;letter-spacing:.04em}.school-category.deadline{color:#8d2d18;background:#ffe8df}.school-category.action_required{color:#6f4d05;background:#fff1c7}.school-category.event{color:#295985;background:#e6f0fb}.school-category.announcement{color:#4d3f85;background:#ede9fb}.school-term-row{display:flex;flex-wrap:wrap;gap:6px}.school-term-row i{border-radius:999px;color:#5f746d;background:#f2f2ed;font-size:var(--font-9);font-style:normal;font-weight:800;padding:4px 7px}.school-action-date{display:grid;gap:6px}.school-action-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:end;padding:.7rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.school-load-more{display:flex;justify-content:center;padding-top:1rem}@media(max-width:720px){.school-action-editor{grid-template-columns:1fr}}.school-action-date span{color:var(--muted);font-size:var(--font-9);font-weight:850;letter-spacing:.08em;text-transform:uppercase}.school-action-date input,.school-table input{min-height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:var(--font-11);padding:0 10px}.school-card-actions .button{min-height:34px;flex:1;font-size:var(--font-10)}.school-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.school-table{width:100%;min-width:860px;border-collapse:collapse;background:#fff}.school-table th,.school-table td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.school-table th{color:var(--muted);background:#f8fbf7;font-size:var(--font-9);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.school-table td{font-size:var(--font-11)}.school-table tr:last-child td{border-bottom:0}.school-table td strong,.school-table td small{display:block}.school-table td small{margin-top:5px;max-width:420px;color:var(--muted);line-height:1.4}.school-table-actions{display:flex;gap:6px}.school-table-actions .button{min-height:32px;padding:0 10px;font-size:var(--font-9)}.daily-chore-workspace{display:grid;gap:15px}.daily-chore-toolbar{padding:19px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:radial-gradient(circle at 84% 0%,rgb(232 192 106 / 17%),transparent 30%),var(--surface)}.daily-chore-toolbar h2{margin:4px 0 3px;font-size:clamp(20px,2.2vw,30px);letter-spacing:-.04em}.daily-chore-toolbar>div:first-child>p:last-child{margin:0;color:var(--muted);font-size:var(--font-10)}.daily-date-actions{display:flex;align-items:center;gap:7px}.daily-date-actions .icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;color:var(--forest);background:#fff}.daily-progress-strip{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 6px;scrollbar-width:thin}.daily-progress-strip>div{min-width:175px;min-height:45px;padding:7px 10px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:8px;border:1px solid color-mix(in srgb,var(--member-color) 27%,#e3e4df);border-radius:13px;background:color-mix(in srgb,var(--member-color) 10%,#fffefa)}.daily-progress-strip strong{overflow:hidden;font-size:var(--font-11);text-overflow:ellipsis;white-space:nowrap}.daily-progress-strip em{color:color-mix(in srgb,var(--member-color) 72%,#274039);font:700 var(--font-10) "Geist Mono";font-style:normal}.daily-progress-strip small{grid-column:2 / -1;display:flex;align-items:center;gap:3px;color:#a66d17;font:650 var(--font-8) "Geist Mono"}.parent-chore-summary{padding:18px 20px;background:linear-gradient(135deg,#fffdf8,#f5faf7)}.parent-chore-summary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.parent-chore-summary-heading h3{margin:3px 0 2px;color:var(--forest);font-size:var(--font-15)}.parent-chore-summary-heading p:last-child{max-width:680px;margin:0;color:var(--muted);font-size:var(--font-9);line-height:1.45}.parent-chore-summary-heading>svg{color:#4c8a70}.parent-chore-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:14px}.parent-chore-summary-grid article{min-width:0;padding:13px;border:1px solid #dce5df;border-radius:13px;background:#ffffffb8}.parent-chore-summary-grid article.has-missed{border-color:#ecd9be;background:#fffaf2}.parent-chore-summary-grid article header{display:flex;align-items:baseline;justify-content:space-between;gap:9px}.parent-chore-summary-grid article header strong{color:var(--forest);font-size:var(--font-11)}.parent-chore-summary-grid article header span{color:var(--muted);font-size:var(--font-8);white-space:nowrap}.parent-chore-stat-row{display:flex;gap:9px;margin-top:11px;color:var(--muted);font-size:var(--font-9)}.parent-chore-stat-row b{color:var(--ink);font:750 var(--font-11) "Geist Mono"}.parent-chore-stat-row .missed b,.parent-chore-stat-row .missed{color:#ae6b2f}.parent-chore-summary-grid ul{display:grid;gap:6px;margin:12px 0 0;padding:0;list-style:none}.parent-chore-summary-grid li{display:flex;align-items:center;gap:8px;padding-top:7px;border-top:1px solid #eee8dd}.parent-chore-summary-grid li>span{font-size:16px}.parent-chore-summary-grid li strong,.parent-chore-summary-grid li small{display:block}.parent-chore-summary-grid li strong{overflow:hidden;color:var(--ink);font-size:var(--font-9);text-overflow:ellipsis;white-space:nowrap}.parent-chore-summary-grid li small{margin-top:2px;color:var(--muted);font-size:var(--font-8)}.parent-chore-all-clear{margin:12px 0 0;color:#438267;font-size:var(--font-9);font-weight:680}.chore-completion-history{padding:18px 20px}.chore-completion-history>header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.chore-completion-history h3{margin:3px 0;color:var(--forest);font-size:var(--font-15)}.chore-completion-history header p:last-child{max-width:680px;margin:0;color:var(--muted);font-size:var(--font-9)}.chore-completion-history>header label{min-width:160px;display:grid;gap:5px;color:var(--muted);font-size:var(--font-8);font-weight:750}.chore-completion-history select{min-height:38px;padding:7px 30px 7px 10px;border:1px solid #d9e0dc;border-radius:10px;color:var(--ink);background:#fff;font:650 var(--font-9) "Geist"}.chore-history-table-wrap{overflow-x:auto;border:1px solid #e0e5e1;border-radius:13px}.chore-completion-history table{width:100%;border-collapse:collapse;font-size:var(--font-9)}.chore-completion-history th,.chore-completion-history td{padding:10px 12px;border-bottom:1px solid #e8ece9;text-align:left;white-space:nowrap}.chore-completion-history th{color:var(--muted);background:#f7f8f5;font-size:var(--font-8);letter-spacing:.04em;text-transform:uppercase}.chore-completion-history tbody tr:last-child td{border-bottom:0}.chore-history-person{display:inline-flex;align-items:center;gap:7px;font-weight:720}.chore-history-person i{width:9px;height:9px;border-radius:50%;background:var(--member-color)}.chore-history-status{display:inline-flex;padding:4px 7px;border-radius:999px;color:#356b57;background:#e7f4ed;font-size:var(--font-8);font-weight:780}.chore-history-status.approved{color:#315f87;background:#e8f2fa}.chore-history-status.rejected{color:#9b523e;background:#fff0eb}.chore-history-empty{margin:0;padding:24px;color:var(--muted);text-align:center}.starter-chore-callout{padding:17px 20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;border-color:#cddfd7;background:linear-gradient(120deg,#f2f8f4,#fffaf0)}.starter-chore-emoji{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#fff;box-shadow:0 6px 18px #26463b14;font-size:24px}.starter-chore-callout h3{margin:4px 0;font-size:15px}.starter-chore-callout p:last-child{margin:0;color:var(--muted);font-size:var(--font-10);line-height:1.45}.daily-member-board{display:flex;align-items:flex-start;gap:13px;overflow-x:auto;padding:1px 1px 12px;scroll-snap-type:x proximity;scrollbar-width:thin}.daily-member-board>.empty-state{width:100%}.daily-member-column{min-width:min(320px,86vw);flex:1 0 300px;min-height:570px;padding:17px;border:1px solid color-mix(in srgb,var(--member-color) 23%,#e2e3dd);border-radius:21px;background:linear-gradient(165deg,color-mix(in srgb,var(--member-color) 12%,#fffefa),color-mix(in srgb,var(--member-color) 4%,#fffefa) 52%);scroll-snap-align:start}.daily-member-column>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.daily-member-column>header h3,.daily-member-column>header p{margin:0}.daily-member-column>header h3{font-size:18px;letter-spacing:-.035em}.daily-member-column>header p{margin-top:2px;color:var(--muted);font-size:var(--font-9)}.daily-member-column>header>strong{display:flex;align-items:center;gap:4px;color:#a66d17;font:650 var(--font-10) "Geist Mono"}.daily-member-meter{height:5px;margin:13px 0 18px;overflow:hidden;border-radius:5px;background:#303f3a14}.daily-member-meter span{height:100%;display:block;border-radius:inherit;background:var(--member-color);transition:width .22s ease}.daily-chore-section+.daily-chore-section{margin-top:20px}.daily-chore-section h4{margin:0 0 9px;color:#2a3d37;font-size:var(--font-14);letter-spacing:-.02em}.daily-chore-section>div{display:grid;gap:7px}.daily-chore-item{min-height:58px;padding:8px 9px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;border:1px solid rgb(255 255 255 / 55%);border-radius:13px;background:color-mix(in srgb,var(--member-color) 14%,#fffefa);transition:.15s ease}.daily-chore-item.visual{min-height:76px;background:color-mix(in srgb,var(--member-color) 18%,#fffefa)}.daily-chore-item:hover{transform:translateY(-1px);box-shadow:0 7px 18px #24363012}.daily-chore-item.approved{opacity:.68;background:color-mix(in srgb,var(--member-color) 8%,#f4f5f0)}.daily-chore-item.pending{border-style:dashed}.daily-chore-item.rejected{border-color:#e3ac9f}.daily-chore-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:#ffffffa8;font-size:20px}.chore-proof-link{display:inline-flex;align-items:center;gap:4px;margin-top:5px;color:var(--forest-2);font-size:var(--font-8);font-weight:700}.chore-moved-note{color:#7a641d!important;font-weight:700}.daily-chore-schedule-actions{display:inline-flex;gap:3px;opacity:.35;transition:opacity .12s ease}.daily-chore-item:hover .daily-chore-schedule-actions,.daily-chore-schedule-actions:focus-within{opacity:1}.daily-chore-schedule-actions button{width:27px;height:27px;padding:0;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--member-color) 25%,#d8dad5);border-radius:8px;color:var(--muted);background:#ffffffb8;cursor:pointer}.daily-chore-schedule-actions button:disabled{opacity:.45;cursor:wait}@media(pointer:coarse){.daily-chore-schedule-actions{opacity:1}}.daily-chore-item.visual .daily-chore-icon{width:47px;height:47px;font-size:25px}.daily-chore-item strong,.daily-chore-item small{display:block}.daily-chore-item strong{font-size:var(--font-11)}.daily-chore-item small{margin-top:3px;display:flex;align-items:center;gap:4px;color:var(--muted);font-size:var(--font-8)}.daily-chore-toggle{width:31px;height:31px;padding:0;display:grid;place-items:center;overflow:hidden;border:2px solid color-mix(in srgb,var(--member-color) 42%,#d3d6d0);border-radius:50%;color:color-mix(in srgb,var(--member-color) 75%,#31433d);background:#ffffffd1;cursor:pointer}.daily-chore-toggle:disabled{cursor:not-allowed;opacity:.45}.daily-chore-toggle>span{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--member-color) 35%,#d7dad4)}.daily-chore-toggle.complete,.daily-chore-toggle.pending{border-color:var(--member-color);color:#fff;background:var(--member-color)}.daily-chore-toggle.chore-celebrated{position:relative;overflow:visible;animation:chore-done-pop .56s cubic-bezier(.2,1.5,.42,1)}.daily-chore-toggle.chore-celebrated:after{position:absolute;content:"";inset:-7px;border:2px solid color-mix(in srgb,var(--member-color) 48%,transparent);border-radius:50%;opacity:0;pointer-events:none;animation:chore-done-ring .72s ease-out}.daily-chore-toggle.camera{border-style:dashed}.daily-chore-toggle input{position:absolute;width:1px;height:1px;opacity:0}.daily-review-actions{display:flex;gap:4px}.daily-review-actions button{width:27px;height:27px;padding:0;display:grid;place-items:center;border:1px solid #e1c4bb;border-radius:50%;color:#9a4c39;background:#fff8f5;cursor:pointer}.daily-review-actions button:last-child{border-color:#abd1c1;color:#34755e;background:#f4fbf7}.daily-chore-toggle.syncing:disabled{opacity:1;animation:chore-toggle-sync .65s ease-in-out infinite alternate}@keyframes chore-toggle-sync{to{transform:scale(.9);box-shadow:0 0 0 5px color-mix(in srgb,var(--member-color) 18%,transparent)}}.daily-member-empty{min-height:220px;display:grid;place-content:center;justify-items:center;color:var(--muted);text-align:center}.daily-member-empty span{font-size:29px}.daily-member-empty strong{margin-top:9px;color:var(--forest);font-size:var(--font-13)}.daily-member-empty p{margin:4px 0 0;font-size:var(--font-9)}.proof-requirement{cursor:pointer}.proof-requirement>input{position:absolute;opacity:0;pointer-events:none}.proof-requirement>span{min-height:57px;padding:10px 13px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:#f2f3ee;transition:.14s ease}.proof-requirement>input:checked+span{border-color:#9fc6b5;color:#356f5c;background:#edf7f1}.proof-requirement strong,.proof-requirement small{display:block}.proof-requirement strong{color:var(--ink);font-size:var(--font-10)}.proof-requirement small{margin-top:2px;font-size:var(--font-8)}.heading-actions{display:flex;align-items:center;gap:9px}.workspace-tabs{width:fit-content;display:flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#ecece7}.workspace-tabs button{min-height:38px;padding:0 15px;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:var(--font-11);font-weight:620;cursor:pointer}.workspace-tabs button.active{color:var(--forest);background:#fff;box-shadow:0 4px 13px #26373117}.workspace-tabs em{min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;border-radius:9px;color:#fff;background:var(--coral);font:650 var(--font-8) "Geist Mono";font-style:normal}.chore-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.chore-bulk-bar{position:sticky;top:10px;z-index:6;display:flex;align-items:end;gap:12px;padding:12px 15px;border-color:color-mix(in srgb,var(--mint) 45%,var(--line));box-shadow:0 12px 30px #1e3d321f}.chore-bulk-bar>strong{align-self:center;margin-right:auto}.chore-bulk-bar label{display:grid;gap:4px;color:var(--muted);font-size:var(--font-8);font-weight:700}.chore-bulk-bar select{min-height:38px;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.chore-select{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:var(--font-8);font-weight:700}.chore-select input{width:16px;height:16px;accent-color:var(--forest-2)}@media(max-width:800px){.chore-bulk-bar{flex-wrap:wrap}.chore-bulk-bar>strong{width:100%}}.chore-momentum{padding:22px 25px;display:grid;grid-template-columns:minmax(220px,.5fr) minmax(440px,1.5fr);align-items:center;gap:35px}.chore-momentum h3{margin:6px 0 8px;font-size:19px}.chore-momentum>div:first-child>p:last-child{margin:0;color:var(--muted);font-size:var(--font-10)}.chore-bars{height:120px;display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.chore-bars>div{min-width:0;display:grid;grid-template-rows:1fr auto auto;justify-items:center;gap:4px}.chore-bars>div>span{width:min(28px,80%);height:82px;display:flex;align-items:flex-end;overflow:hidden;border-radius:8px;background:#edf0eb}.chore-bars i{width:100%;display:block;border-radius:7px;background:linear-gradient(180deg,#80b59f,#3e816a)}.chore-bars strong{font:650 var(--font-9) "Geist Mono"}.chore-bars small{color:var(--muted);font:600 var(--font-8) "Geist Mono";text-transform:uppercase}.chore-overview>div{display:flex;align-items:center;gap:13px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.chore-overview strong,.chore-overview small{display:block}.chore-overview strong{font:650 20px Geist Mono}.chore-overview small{color:var(--muted);font-size:var(--font-10)}.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:13px;overflow-x:auto}.kanban-column{min-width:220px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#ecece7}.kanban-column>header{min-height:38px;padding:0 5px;display:flex;align-items:center;gap:8px}.kanban-column>header strong{font-size:var(--font-12)}.kanban-column>header em{margin-left:auto;width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#dcddd7;color:var(--muted);font:600 var(--font-9) "Geist Mono";font-style:normal}.kanban-column>div{display:flex;flex-direction:column;gap:9px}.chore-card{padding:15px;border:1px solid #dedfd9;border-radius:12px;background:#fffefa;box-shadow:0 4px 12px #1d2f2a0a}.chore-card-top{display:flex;justify-content:space-between;align-items:center}.points-pill{padding:4px 6px;display:inline-flex;align-items:center;gap:3px;border-radius:6px;color:#916316;background:#f8eac8;font:620 var(--font-9) "Geist Mono"}.status-label{color:var(--muted);font-size:var(--font-8);text-transform:uppercase;letter-spacing:.04em}.chore-card h3{margin:15px 0 6px;font-size:var(--font-14)}.chore-card>p{color:var(--muted);font-size:var(--font-10);line-height:1.5}.chore-meta{margin:14px 0;padding-top:11px;border-top:1px solid #ecece8;display:flex;align-items:center;justify-content:space-between;gap:7px}.chore-meta>span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--font-9)}.chore-card .button{min-height:34px;font-size:var(--font-10)}.column-empty{padding:25px 8px;border:1px dashed #cfd2cc;border-radius:10px;color:#8a9590;text-align:center;font-size:var(--font-10)}.routines-workspace{display:flex;flex-direction:column;gap:16px}.routine-hero{padding:24px 27px;display:flex;align-items:center;justify-content:space-between;gap:30px;overflow:hidden;background:radial-gradient(circle at 88% 20%,rgb(229 183 83 / 20%),transparent 28%),linear-gradient(125deg,#fffefa,#f2f5ee)}.routine-hero h2{margin:6px 0 7px;font-size:clamp(19px,2vw,26px);letter-spacing:-.035em}.routine-hero p:last-child{max-width:620px;margin:0;color:var(--muted);font-size:var(--font-11);line-height:1.55}.routine-today-score{min-width:128px;padding:17px;display:grid;grid-template-columns:auto auto;align-items:end;justify-content:center;column-gap:5px;border:1px solid #dfe4dc;border-radius:16px;background:#ffffffbd;text-align:center}.routine-today-score strong{color:var(--forest);font:700 28px Geist Mono}.routine-today-score span{padding-bottom:4px;color:var(--muted);font:600 var(--font-10) "Geist Mono"}.routine-today-score small{grid-column:1 / -1;color:var(--muted);font-size:var(--font-9)}.routine-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px}.routine-grid>.empty-state{grid-column:1 / -1}.routine-card{padding:17px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 7px 22px #1d2f2a0a}.routine-card.complete{border-color:#b7d6c8;background:linear-gradient(155deg,#fffefa,#f0f8f3)}.routine-card>header,.routine-title-row{display:flex;align-items:center}.routine-card>header{justify-content:space-between}.routine-card .icon-button.subtle{width:29px;height:29px;border-color:transparent;color:#9aa19d;background:transparent}.routine-card .icon-button.subtle:hover{color:#a64b36;background:#fff0eb}.routine-period{padding:5px 8px;display:inline-flex;align-items:center;gap:5px;border-radius:8px;font:650 var(--font-8) "Geist Mono";text-transform:uppercase;letter-spacing:.05em}.routine-period.morning{color:#8b6519;background:#fbefcf}.routine-period.evening{color:#645581;background:#ede8f4}.routine-period.anytime{color:#527b6e;background:#e3eee9}.routine-title-row{margin:15px 0 13px;gap:9px}.routine-title-row h3,.routine-title-row small{display:block}.routine-title-row h3{margin:0 0 2px;font-size:15px}.routine-title-row small{color:var(--muted);font-size:var(--font-9)}.routine-title-row>strong{margin-left:auto;color:#568873;font:650 var(--font-10) "Geist Mono"}.routine-progress{height:5px;overflow:hidden;border-radius:5px;background:#e7e9e4}.routine-progress>span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#5e9b82,#8dc1aa);transition:width .22s ease}.routine-steps{margin:14px 0;display:flex;flex-direction:column;gap:3px}.routine-steps>div{min-height:39px;padding:4px 6px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;border-radius:9px}.routine-steps>div:hover{background:#f3f4ef}.routine-steps>div>span{font-size:var(--font-10)}.routine-steps>div.complete>span{color:#89918d;text-decoration:line-through}.routine-check{width:23px;height:23px;padding:0;display:grid;place-items:center;border:1px solid #cbd0ca;border-radius:7px;color:#fff;background:#fff;cursor:pointer}.routine-check>span{width:7px;height:7px;border-radius:50%;background:#d7dcd6}.routine-steps>div.complete .routine-check{border-color:#5d957e;background:#5d957e}.routine-timer{min-width:50px;min-height:25px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid #dfe1dc;border-radius:7px;color:var(--muted);background:#fffefa;font:600 var(--font-8) "Geist Mono";cursor:pointer}.routine-timer.active{border-color:#d8bd70;color:#775611;background:#fff5d9}.routine-complete-note{min-height:35px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:9px;color:#3f735e;background:#e3f1e9;font-size:var(--font-10);font-weight:650}.routine-builder{padding:13px;border:1px solid var(--line);border-radius:13px;background:#f1f2ed}.routine-builder-heading{margin:0 3px 9px;display:flex;justify-content:space-between;color:var(--ink);font-size:var(--font-10);font-weight:650}.routine-builder-heading small{color:var(--muted);font-size:var(--font-8);font-weight:500}.routine-step-input{margin-bottom:7px;display:grid;grid-template-columns:24px 1fr 82px 28px;align-items:center;gap:6px}.routine-step-input>strong{color:var(--muted);font:650 var(--font-9) "Geist Mono";text-align:center}.routine-step-input>input,.routine-step-input>label{min-height:38px;border:1px solid #dadcd6;border-radius:9px;background:#fffefa}.routine-step-input>input{min-width:0;padding:0 11px;color:var(--ink);font:inherit}.routine-step-input>label{padding:0 7px;display:flex;align-items:center;gap:3px;color:var(--muted);font-size:var(--font-8)}.routine-step-input>label input{width:29px;border:0;outline:0;color:var(--ink);background:transparent;font:600 var(--font-9) "Geist Mono"}.routine-step-input>button{width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;border-radius:7px;color:var(--muted);background:transparent;cursor:pointer}.routine-step-input>button:hover{color:#a64b36;background:#ffe8e0}.routine-add-step{min-height:32px;margin:3px 0 0 30px;padding:0 10px;font-size:var(--font-9)}.rewards-workspace{display:flex;flex-direction:column;gap:18px}.balance-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 6px}.balance-strip>button{min-width:165px;padding:11px 13px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--surface);text-align:left;cursor:pointer}.balance-strip>button.active{border-color:#6f9d8c;box-shadow:0 0 0 3px #56937e1a}.balance-strip strong,.balance-strip small{display:block}.balance-strip strong{font-size:var(--font-11)}.balance-strip small{margin-top:3px;color:#8b671f;font:600 var(--font-9) "Geist Mono"}.reward-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.35fr);gap:20px;align-items:start}.reward-layout>div>.panel-header{margin-bottom:14px}.reward-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:13px}.reward-card{min-height:230px;padding:18px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 6px 20px #1d2f2a0a}.reward-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#8c651d;background:#f7e7bd}.reward-icon.experience{color:#8c472f;background:#f8ded4}.reward-icon.item{color:#446a84;background:#dfeaf2}.reward-icon.cash{color:#286a55;background:#dceee7}.reward-icon.custom{color:#65518a;background:#e9e2f2}.reward-type{margin-top:14px;color:var(--muted);font:650 var(--font-8) "Geist Mono";text-transform:uppercase;letter-spacing:.08em}.reward-card h3{margin:5px 0 7px;font-size:16px}.reward-card>p{margin:0 0 18px;color:var(--muted);font-size:var(--font-10);line-height:1.5}.reward-card>div:last-child{margin-top:auto;padding-top:13px;border-top:1px solid #ecece7;display:flex;align-items:center;justify-content:space-between;gap:8px}.reward-card>div:last-child>strong{display:flex;align-items:center;gap:4px;color:#8c651d;font:650 var(--font-11) "Geist Mono"}.reward-card .button{min-height:34px;padding:0 11px;font-size:var(--font-9)}.reward-availability{min-height:19px;display:inline-flex;align-items:center;gap:4px;margin:0 0 8px;color:#668178;font-size:var(--font-9);line-height:1.35}.reward-availability svg{flex:0 0 auto}.reward-preset-section{padding:13px;border:1px solid #e5e8e2;border-radius:14px;background:#f7f8f3}.reward-preset-heading,.reward-assignee-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.reward-preset-heading h3{margin:3px 0 0;color:var(--forest);font-size:15px}.reward-preset-heading>span{padding:5px 8px;border-radius:999px;color:#557166;background:#e6eee8;font:700 var(--font-8) "Geist Mono"}.reward-preset-grid{max-height:205px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:11px;padding-right:2px;overflow-y:auto}.reward-preset-grid>button{min-width:0;min-height:66px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 6px;padding:7px;border:1px solid #e0e5df;border-radius:10px;color:var(--ink);background:#fff;text-align:left;cursor:pointer;transition:.14s ease}.reward-preset-grid>button:hover,.reward-preset-grid>button.selected{border-color:#83ad9c;background:#e8f4ed;box-shadow:0 3px 10px #315f4c14}.reward-preset-grid>button>span{grid-row:1 / -1;font-size:19px}.reward-preset-grid>button strong,.reward-preset-grid>button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reward-preset-grid>button strong{font-size:10px;line-height:1.15}.reward-preset-grid>button small{color:#a06f22;font:700 9px Geist Mono}.reward-assignee-picker{padding:13px;border:1px solid #dce8e0;border-radius:14px;background:#f1f8f3}.reward-assignee-heading>div>strong,.reward-assignee-heading>div>small{display:block}.reward-assignee-heading>div>strong{color:var(--forest);font-size:14px}.reward-assignee-heading>div>small{margin-top:3px;color:var(--muted);font-size:var(--font-9)}.reward-assignee-heading .button{min-height:31px;padding-inline:9px;font-size:var(--font-9)}.reward-assignee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:11px}.reward-assignee-grid>label{min-height:48px;display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid #d9e5dd;border-radius:10px;background:#fff;cursor:pointer}.reward-assignee-grid>label.selected{border-color:#82ad99;background:#e5f2e9}.reward-assignee-grid input{width:17px;height:17px;accent-color:var(--forest)}.reward-assignee-grid>label>span:last-child{overflow:hidden;font-size:var(--font-10);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.reward-assignee-empty{margin:10px 0 0;color:var(--muted);font-size:var(--font-10);line-height:1.45}.redemption-panel{position:sticky;top:98px;padding:20px}.redemption-list{margin-top:10px}.redemption-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #ecece7}.redemption-list article:last-child{border:0}.redemption-list strong,.redemption-list small{display:block}.redemption-list strong{font-size:var(--font-10)}.redemption-list small{margin-top:3px;color:var(--muted);font-size:var(--font-8)}.redemption-status{width:fit-content;margin-top:6px;padding:3px 5px;border-radius:5px;color:#6a7772;background:#edede8;font:650 var(--font-7) "Geist Mono";text-transform:uppercase}.redemption-status.requested{color:#8b5f1b;background:#f8e8c3}.redemption-status.approved{color:#276650;background:#dceee6}.redemption-status.rejected{color:#944731;background:#f5ddd5}.request-actions{display:flex;gap:5px}.request-actions button{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:#8a5140;background:#fff;cursor:pointer}.request-actions button:last-child{color:#34735e}.redemption-list .button{min-height:30px;padding:0 8px;font-size:var(--font-8)}.redemption-empty{padding:25px 8px;color:var(--muted);text-align:center;font-size:var(--font-10);line-height:1.5}.money-hero{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr);gap:20px}.virtual-card{min-height:240px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;border-radius:22px;color:#fff;background:radial-gradient(circle at 85% 15%,rgb(227 173 79 / 55%),transparent 22%),linear-gradient(135deg,#1a4539,#347866);box-shadow:0 18px 35px #123f332e}.virtual-card>div{display:flex;align-items:center;justify-content:space-between;font:600 var(--font-10) "Geist Mono";letter-spacing:.1em}.virtual-card>div:first-child{justify-content:flex-start;gap:10px}.virtual-card p{margin:auto 0 0;color:#bcd8ce;font-size:var(--font-11)}.virtual-card h2{margin:5px 0 25px;font:620 35px Geist Mono}.virtual-card h2 small{color:#bad7cd;font-size:var(--font-12)}.money-summary{padding:32px}.money-summary h3{margin:8px 0 11px;font-size:25px}.money-summary>p:last-of-type{max-width:580px;color:var(--muted);line-height:1.6;font-size:var(--font-12)}.money-metrics{margin-top:25px;display:flex;gap:13px}.money-metrics>span{flex:1;padding:13px;border-radius:11px;background:#f1f2ed}.money-metrics strong,.money-metrics small{display:block}.money-metrics strong{font:650 19px Geist Mono}.money-metrics small{margin-top:3px;color:var(--muted);font-size:var(--font-9)}.banking-readiness{padding:23px}.banking-readiness-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.banking-readiness-heading h3{margin:6px 0;font-size:19px}.banking-readiness-heading p:last-child{max-width:620px;margin:0;color:var(--muted);font-size:var(--font-10);line-height:1.5}.banking-environment{padding:7px 9px;border-radius:8px;color:#86572c;background:#fff0df;font:650 var(--font-8) "Geist Mono";text-transform:uppercase;white-space:nowrap}.banking-environment.ready{color:#34725d;background:#e6f4ec}.banking-checklist{margin-top:18px;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px}.banking-checklist>div{min-height:72px;padding:10px;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:7px;border:1px solid #e3d5c9;border-radius:11px;background:#fffaf4}.banking-checklist>div.complete{border-color:#c6dfd4;background:#f3faf6}.banking-checklist>div>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#966342;background:#f5e5d6}.banking-checklist>div.complete>span{color:#34725d;background:#dcefe6}.banking-checklist strong{font-size:var(--font-9);line-height:1.25}.banking-checklist small{grid-column:2;color:var(--muted);font:600 var(--font-7) "Geist Mono";text-transform:uppercase}.banking-security-note{margin:15px 0 0;padding-top:13px;display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--font-9);line-height:1.45}.feature-grid{display:grid;gap:15px}.feature-grid.three{grid-template-columns:repeat(3,1fr)}.feature-card{position:relative}.feature-card h3{margin:18px 0 8px;font-size:17px}.feature-card p{margin:0;color:var(--muted);font-size:var(--font-11);line-height:1.55}.status-chip{position:absolute;top:18px;right:18px;padding:5px 7px;border-radius:6px;color:#6a7772;background:#f0f0eb;font:600 var(--font-8) "Geist Mono";text-transform:uppercase}.integration-notice{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border:1px solid #d6e0dc;border-radius:14px;color:#315d51;background:#edf5f2}.integration-notice svg{flex:none;margin-top:1px}.integration-notice strong{font-size:var(--font-12)}.integration-notice p{margin:4px 0 0;max-width:1000px;color:#5f746d;font-size:var(--font-10);line-height:1.55}.meal-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);gap:20px}.meal-week{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:13px;overflow-x:auto}.meal-week>div{min-width:95px;border-right:1px solid var(--line)}.meal-week>div:last-child{border:0}.meal-week>div>span{height:36px;display:grid;place-items:center;color:var(--muted);background:#f2f2ed;font:600 var(--font-9) "Geist Mono"}.meal-week>div.active>span{color:#fff;background:var(--coral)}.meal-placeholder{width:100%;min-height:130px;border:0;padding:13px 8px;color:#8f9995;background:transparent;cursor:pointer;text-align:center}.meal-placeholder:hover,.meal-placeholder:focus-visible{color:var(--forest);background:#f7f8f4}.meal-placeholder p{margin:12px 0 0;font-size:var(--font-10);line-height:1.4}.meal-placeholder small{display:block;margin-top:7px;color:var(--muted);font-size:var(--font-8)}.meal-slot-editor{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(170px,1fr) 110px minmax(190px,1.2fr);gap:12px;align-items:end;margin-top:16px;padding:16px;border:1px solid #d9e2dd;border-radius:13px;background:#f7faf8}.meal-slot-editor>div:first-child{align-self:center}.meal-slot-editor>div:first-child small{display:block;margin-top:3px;color:var(--muted)}.meal-slot-editor label{display:grid;gap:6px}.meal-slot-editor label>span{color:var(--muted);font-size:var(--font-9);font-weight:700}.meal-slot-editor input{min-width:0;min-height:40px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff}.meal-slot-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}@media(max-width:900px){.meal-slot-editor{grid-template-columns:1fr 130px}.meal-slot-editor>div:first-child,.meal-slot-notes{grid-column:1 / -1}}@media(max-width:600px){.meal-slot-editor{grid-template-columns:1fr}.meal-slot-editor>*,.meal-slot-notes,.meal-slot-actions{grid-column:1}.meal-slot-actions{flex-wrap:wrap}}.grocery-progress>span{font-size:var(--font-10)}.grocery-progress>div{height:6px;margin-top:8px;overflow:hidden;border-radius:4px;background:#e6e7e2}.grocery-progress i{display:block;width:0;height:100%;background:var(--mint)}.grocery-card .empty-state{min-height:220px}.meal-add-grocery{display:flex;gap:6px}.meal-add-grocery input{width:150px;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.meal-grocery-list{display:grid;gap:6px;margin:15px 0 0;padding:0 3px 0 0;list-style:none;max-height:430px;overflow-y:auto}.meal-grocery-list li{min-height:34px;padding:7px 9px;display:flex;align-items:center;gap:8px;border-radius:9px;color:var(--forest);background:#f5f4ed;font-size:var(--font-9)}.meal-grocery-list li>span:not(.meal-grocery-actions){flex:1}.meal-grocery-toggle{width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.meal-grocery-actions{display:inline-flex;gap:4px;margin-left:auto}.meal-grocery-actions .icon-button,.meal-grocery-editor .icon-button{width:30px;height:30px;min-height:30px}.meal-grocery-editor{min-width:0;flex:1;display:flex;gap:6px}.meal-grocery-editor input{min-width:0;width:100%;padding:6px 8px;border:1px solid var(--mint);border-radius:8px}.meal-check{width:15px;height:15px;border:1px solid #93a49d;border-radius:4px}.meal-grocery-list li svg{color:#4c9578}.meal-grocery-list li.checked{opacity:.58}.meal-grocery-list li.checked>span:not(.meal-grocery-actions){text-decoration:line-through}.ai-meal-controls{display:grid;gap:12px}.ai-meal-controls label,.ai-meal-controls label>span{display:grid;gap:7px}.ai-meal-controls label>span{color:var(--forest);font-size:var(--font-10);font-weight:700}.ai-meal-controls textarea{width:100%;resize:vertical}.ai-meal-controls>small,.ai-meal-draft footer>small{color:var(--muted);font-size:var(--font-9)}.ai-meal-controls .status-pill,.ai-meal-draft .status-pill{padding:5px 9px;border-radius:999px;color:#28634f;background:#e4f3ec;font:700 var(--font-8) "Geist Mono"}.ai-meal-draft{display:grid;gap:16px;border-color:#bad8cc;background:linear-gradient(145deg,#fffefa,#f3faf6)}.ai-meal-draft-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:9px;overflow-x:auto;padding-bottom:4px}.ai-meal-draft-grid article{min-height:150px;padding:12px;border:1px solid #dce7e1;border-radius:13px;background:#ffffffc7}.ai-meal-draft-grid time,.ai-meal-draft-grid strong{display:block}.ai-meal-draft-grid time{color:var(--coral);font:700 var(--font-8) "Geist Mono"}.ai-meal-draft-grid strong{margin-top:9px;color:var(--forest);font-size:var(--font-11);line-height:1.25}.ai-meal-draft-grid p,.ai-grocery-preview p{margin:7px 0 0;color:var(--muted);font-size:var(--font-9);line-height:1.45}.ai-grocery-preview{padding:13px 15px;border-radius:12px;background:#f7f1e4}.ai-meal-draft footer,.ai-meal-draft footer>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.lists-intro{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 16px;border:1px solid #e1e5dd;border-radius:15px;background:#fbfaf5}.lists-intro .quick-icon{width:38px;height:38px;border-radius:11px}.lists-intro strong,.lists-intro p{display:block}.lists-intro strong{color:var(--forest);font-size:var(--font-13)}.lists-intro p{margin:3px 0 0;color:var(--muted);font-size:var(--font-11)}.behavior-chart-section{display:grid;gap:16px;padding:20px;border:1px solid #dbe6e1;border-radius:22px;background:radial-gradient(circle at 92% 0,rgb(227 173 79 / 18%),transparent 27%),linear-gradient(145deg,#f8fcfa,#f2f8f5)}.behavior-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.behavior-section-heading h2{margin:3px 0 5px;color:var(--forest);font-family:Georgia,serif;font-size:28px;line-height:1.1}.behavior-section-heading>div>p:last-child{max-width:680px;margin:0;color:var(--muted);font-size:var(--font-11);line-height:1.5}.behavior-chart-stack{display:grid;gap:15px}.behavior-empty{min-height:88px;display:flex;align-items:center;gap:13px;padding:16px 18px;border:1px dashed #b8cbc2;border-radius:16px;background:#ffffff94}.behavior-empty>span{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:13px;background:#faebc8;font-size:22px}.behavior-empty p{margin:0;color:var(--muted);font-size:var(--font-12);line-height:1.5}.behavior-chart{overflow:hidden;border:1px solid #d7e3dd;border-radius:20px;background:#fffefa;box-shadow:0 12px 30px #1a483c12}.behavior-chart.paused{background:#fafbf8;box-shadow:none}.behavior-chart-header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border-bottom:1px solid #e3e9e5;background:linear-gradient(110deg,rgb(220 239 231 / 85%),transparent 48%),#fffefa}.behavior-child{min-width:0;display:flex;align-items:center;gap:12px}.behavior-avatar{width:51px;height:51px;display:grid;place-items:center;flex:none;border:3px solid #fff;border-radius:17px;box-shadow:0 5px 13px #20332e21;font-size:26px}.behavior-child h3{margin:1px 0 2px;color:var(--forest);font-size:22px;line-height:1.1}.behavior-child>div>span{color:var(--muted);font-size:var(--font-10)}.behavior-toggle{min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:6px 13px 6px 7px;border:1px solid #d8dfda;border-radius:999px;color:#5d6b65;background:#fff;font-size:var(--font-11);font-weight:750;cursor:pointer}.behavior-toggle>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#9da9a4}.behavior-toggle svg{width:14px;height:14px}.behavior-toggle.on{border-color:#9fc8b8;color:#286b56;background:#eff8f4}.behavior-toggle.on>span{background:#3c8b70}.behavior-paused-message{display:flex;align-items:center;gap:13px;padding:18px;color:#6f7c77}.behavior-paused-message>svg{width:30px;height:30px;flex:none;color:#77968b}.behavior-paused-message strong{color:#44554f;font-size:var(--font-12)}.behavior-paused-message p{margin:3px 0 0;font-size:var(--font-10);line-height:1.45}.behavior-progress-row{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(260px,1.28fr);align-items:center;gap:18px;padding:13px 17px;border-bottom:1px solid #edf0ed;background:#fffaf0}.behavior-progress-copy{min-width:0;display:flex;align-items:center;gap:9px}.behavior-progress-copy>svg{color:#c68b25}.behavior-progress-copy strong,.behavior-progress-copy span{display:block}.behavior-progress-copy strong{color:#725618;font-size:var(--font-11)}.behavior-progress-copy span{overflow:hidden;margin-top:2px;color:#806f4c;font-size:var(--font-9);text-overflow:ellipsis;white-space:nowrap}.behavior-progress-track{height:11px;overflow:hidden;border-radius:999px;background:#eee6d5}.behavior-progress-track>span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#e3ad4f,#ef7d58);transition:width .22s ease}.behavior-week-toolbar{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:10px;padding:12px 17px}.behavior-week-toolbar button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #dce4df;border-radius:11px;color:var(--forest);background:#f8faf8;cursor:pointer}.behavior-week-toolbar button:disabled{cursor:default;opacity:.35}.behavior-week-toolbar button svg{width:17px}.behavior-week-toolbar>div{text-align:center}.behavior-week-toolbar strong,.behavior-week-toolbar span{display:block}.behavior-week-toolbar strong{color:var(--forest);font-size:var(--font-12)}.behavior-week-toolbar span{margin-top:2px;color:var(--muted);font-size:var(--font-9)}.behavior-table-scroll{overflow-x:auto;margin:0 17px;border:1px solid #dce5e0;border-radius:15px}.behavior-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;table-layout:fixed}.behavior-table th,.behavior-table td{height:54px;border-right:1px solid #e4e9e6;border-bottom:1px solid #e4e9e6;text-align:center}.behavior-table tr>*:last-child{border-right:0}.behavior-table tbody tr:last-child>*{border-bottom:0}.behavior-table thead th{height:51px;color:#fff;background:#235448}.behavior-table thead th:first-child{width:37%;padding:0 15px;text-align:left}.behavior-table thead th:nth-child(2n){background:#2f755f}.behavior-table thead th.today{background:#b8502f}.behavior-table thead th span,.behavior-table thead th strong{display:block}.behavior-table thead th span{font-size:var(--font-9);text-transform:uppercase}.behavior-table thead th strong{margin-top:-2px;font-size:var(--font-12)}.behavior-table tbody th{padding:7px 13px;color:var(--ink);background:#fbfcfa;text-align:left}.behavior-table tbody th>span{width:33px;display:inline-grid;place-items:center;margin-right:8px;font-size:21px;vertical-align:middle}.behavior-table tbody th strong{display:inline;font-size:var(--font-10);line-height:1.35}.behavior-table td{background:#fff}.behavior-table td.today{background:#fff6f0}.behavior-check{width:34px;height:34px;display:grid;place-items:center;margin:auto;border:2px solid #b7cbc2;border-radius:11px;color:#6f9d8c;background:#fff;font-size:23px;line-height:1;cursor:pointer;transition:.14s ease}.behavior-check:hover:not(:disabled){border-color:#5a9a82;background:#eff8f4;transform:translateY(-1px)}.behavior-check.checked{border-color:#e3ad4f;color:#fff;background:linear-gradient(145deg,#f1bd5c,#e7844e);box-shadow:0 5px 12px #d787343b;animation:behavior-pop .21s ease}.behavior-check svg{width:19px;stroke-width:3}@keyframes behavior-pop{50%{transform:scale(1.16) rotate(-4deg)}}.behavior-chart-footer{display:flex;align-items:center;gap:10px;margin:13px 17px 17px;padding:11px 13px;border-radius:13px;color:#41655a;background:#edf6f2}.behavior-chart-footer svg{flex:none;color:#c88b25}.behavior-chart-footer p{margin:0;font-size:var(--font-9);line-height:1.45}.behavior-add-another{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px dashed #adc4b9;border-radius:13px;color:var(--forest);background:#ffffff75;font-size:var(--font-10);font-weight:750;cursor:pointer}.behavior-goal-preview{display:grid;gap:7px;padding:14px 15px;border-radius:14px;color:#40524c;background:#f2f7f4;font-size:var(--font-10)}.behavior-goal-preview strong{margin-bottom:2px;color:var(--forest)}.behavior-modal-empty{display:grid;justify-items:center;gap:8px;padding:28px 8px 8px;text-align:center}.behavior-modal-empty>svg{width:34px;height:34px;color:#d3952e}.behavior-modal-empty h3,.behavior-modal-empty p{margin:0}.behavior-modal-empty p{color:var(--muted);font-size:var(--font-11)}.list-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));align-items:start;gap:18px}.list-card,.new-list-card{min-height:420px;padding:20px;border:1px solid rgb(79 70 51 / 6%);border-radius:23px}.list-card{--list-accent: #cc841e;background:#fbf0df;box-shadow:0 10px 28px #453b270d}.list-card.rose{--list-accent: #cf6f72;background:#fbe5e7}.list-card.lavender{--list-accent: #9d7eab;background:#f0eaf2}.list-card.mint{--list-accent: #519782;background:#e2f1e9}.list-card.sky{--list-accent: #648fb2;background:#e5f0f7}.list-card>header{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:16px}.list-card>header>div{display:flex;align-items:center;gap:9px;min-width:0}.list-card h3{overflow:hidden;margin:0;color:#243531;font-size:24px;font-weight:650;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}.list-count{width:29px;height:29px;flex:none;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--list-accent);font:650 var(--font-11) "Geist Mono",monospace}.list-delete{width:30px;height:30px;display:grid;place-items:center;flex:none;border:0;border-radius:9px;color:#36352e7a;background:transparent;cursor:pointer;opacity:0;transition:.14s ease}.list-card:hover .list-delete,.list-delete:focus-visible{opacity:1}.list-delete:hover:not(:disabled){color:#8d2d18;background:#ffffff9e}.list-items{min-height:244px;display:grid;align-content:start;gap:8px;margin:0;padding:0;list-style:none}.list-items li{min-height:51px;display:flex;align-items:center;gap:8px;padding:7px 8px 7px 14px;border:1px solid rgb(255 255 255 / 36%);border-radius:11px;background:#ffffff75;transition:.14s ease}.list-items li:hover{background:#ffffffa3}.list-items li label{min-width:0;flex:1;display:flex;align-items:center;gap:11px;cursor:pointer}.list-items input{width:19px;height:19px;margin:0;flex:none;accent-color:var(--list-accent);cursor:pointer}.list-items li span{overflow:hidden;color:#2b3733;font-size:var(--font-13);font-weight:590;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.list-items li.completed span{color:#2b37337f;text-decoration:line-through;text-decoration-thickness:1px}.list-items li>button{width:25px;height:25px;display:grid;place-items:center;flex:none;border:0;border-radius:7px;color:#303a356e;background:transparent;cursor:pointer;opacity:0;transition:.14s ease}.list-items li:hover>button,.list-items li>button:focus-visible{opacity:1}.list-items li>button:hover:not(:disabled){color:#8d2d18;background:#ffffffa1}.list-add-item{min-height:47px;display:flex;align-items:center;gap:7px;margin-top:14px;padding:0 10px;border:1px dashed rgb(64 66 51 / 19%);border-radius:11px;color:#2b37338c;background:#ffffff2b}.list-add-item:focus-within{border-color:var(--list-accent);background:#ffffff70}.list-add-item input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:var(--font-12)}.list-add-item input::placeholder{color:#2b37337f}.list-add-item button{padding:4px 0 4px 6px;border:0;color:var(--forest);background:transparent;font-size:var(--font-11);font-weight:700;cursor:pointer}.new-list-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;text-align:left;color:var(--forest);border:1px dashed #b8c7bf;background:#f8faf6;cursor:pointer;transition:.16s ease}.new-list-card:hover{border-color:var(--mint);background:#edf6f1;transform:translateY(-2px)}.new-list-card>span{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--forest-2)}.new-list-card strong{font-size:15px}.new-list-card small{max-width:210px;color:var(--muted);font-size:var(--font-11);line-height:1.5}.list-empty-state{min-height:265px;display:flex;align-items:center;gap:20px;padding:34px}.list-empty-state .quick-icon{width:56px;height:56px;flex:none;border-radius:16px}.list-empty-state>div{flex:1}.list-empty-state h3{margin:0 0 7px;font-size:22px}.list-empty-state p:last-child{max-width:530px;margin:0;color:var(--muted);font-size:var(--font-12);line-height:1.55}.weather-page{gap:22px}.weather-hero{position:relative;min-height:270px;display:grid;grid-template-columns:minmax(280px,1fr) minmax(390px,.92fr);gap:30px;overflow:hidden;padding:clamp(27px,4vw,45px);border-radius:25px;color:#fff;background:radial-gradient(circle at 88% 10%,rgb(255 255 255 / 32%),transparent 21%),radial-gradient(circle at 74% 84%,rgb(129 208 227 / 26%),transparent 27%),linear-gradient(130deg,#187fbb,#3fa9d0 56%,#78c6d9);box-shadow:0 19px 44px #1d77a733}.weather-hero.cloudy{background:linear-gradient(130deg,#647f92,#879fab 56%,#a8c0c6)}.weather-hero.rainy,.weather-hero.stormy{background:radial-gradient(circle at 84% 9%,rgb(181 218 229 / 21%),transparent 23%),linear-gradient(130deg,#294f72,#426b88 58%,#7895a7)}.weather-hero.snowy{color:#26475d;background:linear-gradient(130deg,#d8edf4,#edf8f9 58%,#c9e6ef)}.weather-hero-copy{position:relative;z-index:1}.weather-hero-copy>p{margin:0 0 7px;color:#fffc;font-size:var(--font-12);font-weight:670}.weather-hero.snowy .weather-hero-copy>p,.weather-hero.snowy .weather-feels,.weather-hero.snowy .weather-hero-copy small{color:#26475dad}.weather-temperature-row{display:flex;align-items:center;gap:12px}.weather-temperature-row>svg{width:49px;height:49px;stroke-width:1.7}.weather-temperature-row strong{font-size:clamp(68px,9vw,104px);font-weight:520;letter-spacing:-.085em;line-height:.96}.weather-temperature-row span{align-self:flex-start;margin:12px 0 0 -3px;font-size:22px;font-weight:640}.weather-hero-copy h3{margin:7px 0 3px;font-size:20px;letter-spacing:-.035em}.weather-feels,.weather-hero-copy small{display:block;color:#ffffffbf;font-size:var(--font-12)}.weather-hero-copy small{margin-top:15px;font-size:var(--font-10)}.weather-hero-metrics{position:relative;z-index:1;align-self:end;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.weather-hero-metrics>div{min-height:84px;padding:13px;border:1px solid rgb(255 255 255 / 20%);border-radius:14px;background:#0c4b7224;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.weather-hero.snowy .weather-hero-metrics>div{border-color:#34607624;background:#ffffff70}.weather-hero-metrics svg,.weather-hero-metrics span,.weather-hero-metrics strong{display:block}.weather-hero-metrics svg{margin-bottom:8px}.weather-hero-metrics span{color:#ffffffb5;font-size:var(--font-9);font-weight:700;letter-spacing:.07em;text-transform:uppercase}.weather-hero.snowy .weather-hero-metrics span{color:#26475d9e}.weather-hero-metrics strong{margin-top:4px;font-size:15px}.weather-sun-orbit{position:absolute;right:-62px;top:-80px;width:300px;height:300px;display:grid;place-items:center;border:1px solid rgb(255 255 255 / 22%);border-radius:50%;box-shadow:0 0 0 42px #ffffff12,0 0 0 84px #ffffff0a;color:#fff4ad87}.weather-sun-orbit svg{width:92px;height:92px;stroke-width:1.1}.weather-scene{width:clamp(104px,13vw,172px);height:clamp(104px,13vw,172px);position:relative;display:grid;place-items:center;flex:0 0 auto}.weather-scene-glow{width:67%;height:67%;position:absolute;border-radius:50%;background:#fff4ad8a;filter:blur(7px);animation:weatherGlow 4s ease-in-out infinite}.weather-scene-icon{width:63%;height:63%;position:relative;z-index:1;stroke-width:1.15;color:#fff4ad;filter:drop-shadow(0 7px 12px rgb(17 55 69 / 16%))}.weather-scene.partly-cloudy .weather-scene-glow,.weather-scene.cloudy .weather-scene-glow,.weather-scene.foggy .weather-scene-glow{width:86%;height:44%;border-radius:999px;background:#e0f2f452}.weather-scene.partly-cloudy .weather-scene-icon,.weather-scene.cloudy .weather-scene-icon,.weather-scene.foggy .weather-scene-icon{color:#e7f5f4;animation:weatherCloudDrift 6s ease-in-out infinite}.weather-scene.rainy .weather-scene-glow,.weather-scene.stormy .weather-scene-glow{width:90%;height:44%;border-radius:999px;background:#c1e0eb47}.weather-scene.rainy .weather-scene-icon,.weather-scene.stormy .weather-scene-icon{color:#d8eff4;animation:weatherCloudDrift 5s ease-in-out infinite}.weather-scene.snowy .weather-scene-glow{width:90%;height:44%;border-radius:999px;background:#ffffff73}.weather-scene.snowy .weather-scene-icon{color:#f4fdff;animation:weatherCloudDrift 6s ease-in-out infinite}.weather-scene-particles{position:absolute;inset:0;overflow:hidden}.weather-scene-particles i{width:3px;height:18px;position:absolute;top:calc(53% + (var(--particle-index) * 4%));left:calc(26% + (var(--particle-index) * 8%));border-radius:999px;background:#d3f1f8c7;transform:rotate(17deg);animation:weatherRain 1.35s linear calc(var(--particle-index) * -.16s) infinite}.weather-scene.snowy .weather-scene-particles i{width:7px;height:7px;border-radius:50%;background:#ffffffe5;animation:weatherSnow 3.8s ease-in-out calc(var(--particle-index) * -.32s) infinite}@keyframes weatherGlow{0%,to{transform:scale(.94);opacity:.72}50%{transform:scale(1.08);opacity:1}}@keyframes weatherCloudDrift{0%,to{transform:translate(-3px)}50%{transform:translate(4px)}}@keyframes weatherRain{0%{transform:translate3d(-4px,-16px,0) rotate(17deg);opacity:0}25%{opacity:.9}to{transform:translate3d(10px,85px,0) rotate(17deg);opacity:0}}@keyframes weatherSnow{0%{transform:translate3d(-8px,-15px,0);opacity:0}25%{opacity:.9}to{transform:translate3d(10px,84px,0);opacity:0}}.weather-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:19px}.weather-data-note{color:var(--muted);font:600 var(--font-10) "Geist Mono",monospace}.weather-hourly-list{display:grid;grid-template-columns:repeat(9,minmax(69px,1fr));gap:8px;overflow-x:auto;padding-bottom:4px}.weather-hourly-list>div{min-height:144px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:12px 7px;border-radius:13px;background:#f7f8f4;color:var(--muted)}.weather-hourly-list>div.now{color:var(--forest);background:#e9f5ef}.weather-hourly-list>div>span{font-size:var(--font-10);font-weight:680}.weather-hourly-list strong{color:var(--ink);font-size:17px}.weather-hourly-list small,.weather-week-list small{display:flex;align-items:center;gap:3px;color:var(--blue);font-size:var(--font-9)}.weather-hourly-list svg.sunny,.weather-week-list svg.sunny{color:#d99827}.weather-hourly-list svg.partly-cloudy,.weather-week-list svg.partly-cloudy{color:#6e95ac}.weather-hourly-list svg.rainy,.weather-week-list svg.rainy,.weather-hourly-list svg.stormy,.weather-week-list svg.stormy{color:#5984a3}.weather-hourly-list svg.snowy,.weather-week-list svg.snowy{color:#76a9bf}.weather-plan-panel{background:radial-gradient(circle at 92% 15%,#f7db93,transparent 23%),#fff9ec}.weather-plan-panel h3{margin:0 0 9px;font-size:21px}.weather-plan-panel>p:not(.eyebrow){margin:0;color:var(--muted);font-size:var(--font-12);line-height:1.55}.weather-sun-times{display:grid;gap:9px;margin-top:23px;padding-top:15px;border-top:1px solid #eddfbd}.weather-sun-times span{display:flex;align-items:center;gap:7px;color:#6a6453;font-size:var(--font-10)}.weather-sun-times svg{width:15px;color:#cc8c1a}.weather-sun-times strong{margin-left:auto;color:var(--forest)}.weather-week-panel{padding-bottom:17px}.weather-week-list{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:8px;overflow-x:auto;padding-bottom:4px}.weather-week-list article{min-height:166px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:13px 8px;border:1px solid #ebeee8;border-radius:13px;background:#fbfcf9}.weather-week-list article>strong{font-size:var(--font-12)}.weather-week-list article>span{margin-top:-5px;color:var(--muted);font-size:var(--font-9)}.weather-week-list article>div{display:flex;gap:5px;margin-top:2px}.weather-week-list article>div strong{font-size:15px}.weather-week-list article>div span{color:var(--muted);font-size:var(--font-12)}.weather-attribution{margin-top:16px;color:var(--muted);font-size:var(--font-10);text-align:right}.weather-attribution a{color:var(--forest-2);font-weight:650}.screensaver-intro,.screensaver-intro>div{display:flex;align-items:center}.screensaver-intro{justify-content:space-between;gap:20px;padding:17px 19px;border:1px solid #dce7df;border-radius:17px;background:#f5faf6}.screensaver-intro>div{gap:12px}.screensaver-intro strong,.screensaver-intro p{display:block}.screensaver-intro strong{font-size:var(--font-13)}.screensaver-intro p{margin:4px 0 0;color:var(--muted);font-size:var(--font-11)}.screensaver-intro .quick-icon{width:40px;height:40px;border-radius:12px}.screensaver-setup-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:20px}.photo-integrations{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 6px 24px #1c37300a}.photo-integrations .panel-header{margin-bottom:17px}.photo-integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-integration-card{min-height:220px;display:grid;grid-template-columns:43px minmax(0,1fr);gap:14px;padding:18px;box-shadow:none}.photo-integration-card.google{background:linear-gradient(145deg,#fbfbfa,#f4f8fb)}.photo-integration-card.icloud{background:linear-gradient(145deg,#f7fbff,#f1f6fc)}.photo-integration-card.facebook{background:linear-gradient(145deg,#f8faff,#f0f4fd)}.photo-integration-card.instagram{background:linear-gradient(145deg,#fff9f7,#f9f1f7)}.photo-integration-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(140deg,#4082e8,#db615a 48%,#edbf4c 49%,#41a464);font-size:18px;font-weight:760}.photo-integration-card.icloud .photo-integration-icon{background:linear-gradient(140deg,#77b8ef,#6981d0);font-size:21px}.photo-integration-card.facebook .photo-integration-icon{background:#1877f2;font:800 25px Georgia,serif}.photo-integration-card.instagram .photo-integration-icon{background:linear-gradient(135deg,#6443c4,#d43c83 55%,#f2a145);font-size:24px}.integration-status{display:inline-block;padding:4px 6px;border-radius:6px;font:650 var(--font-8) "Geist Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.integration-status.active{color:#20614b;background:#dff1e8}.integration-status.planned{color:#736132;background:#f8efd5}.photo-integration-card h3{margin:8px 0 6px;font-size:17px}.photo-integration-card p{margin:0;color:var(--muted);font-size:var(--font-11);line-height:1.5}.photo-integration-actions{grid-column:1 / -1;display:flex;align-items:end;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid rgb(71 93 85 / 9%)}.photo-integration-actions .button{min-height:34px;font-size:var(--font-10);white-space:nowrap}.photo-integration-actions small{color:var(--muted);font-size:var(--font-9);line-height:1.45;text-align:right}.photo-integration-actions.social-actions>div{display:flex;gap:7px}.social-photo-picker{width:min(920px,100%);padding:24px}.social-photo-picker>header .icon-button{flex:0 0 auto}.social-photo-candidate-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-height:min(58vh,560px);margin-top:20px;overflow-y:auto;padding-right:4px}.social-photo-candidate-grid button{position:relative;aspect-ratio:1;overflow:hidden;padding:0;border:2px solid transparent;border-radius:11px;background:#e9eeeb;cursor:pointer}.social-photo-candidate-grid button.selected{border-color:#2f7a63;box-shadow:0 0 0 2px #2f7a6324}.social-photo-candidate-grid button:disabled{opacity:.72;cursor:default}.social-photo-candidate-grid img{width:100%;height:100%;object-fit:cover}.social-photo-candidate-grid button>span{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#fff;background:#2f7a63;box-shadow:0 3px 10px #0003}.social-photo-picker>footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.social-photo-picker>footer>span{color:var(--muted);font-size:var(--font-10)}.social-photo-picker>footer>div{display:flex;gap:8px}.screensaver-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.screensaver-photo-grid article{position:relative;aspect-ratio:1;overflow:hidden;border-radius:12px;background:#e8ece8}.screensaver-photo-grid img{width:100%;height:100%;object-fit:cover}.screensaver-photo-grid button{position:absolute;top:6px;right:6px;width:27px;height:27px;display:grid;place-items:center;border:0;border-radius:8px;color:#fff;background:#1b2c27a3;cursor:pointer;opacity:0;transition:.14s ease}.screensaver-photo-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px}.screensaver-photo-grid .screensaver-photo-actions button{position:static}.screensaver-photo-grid .screensaver-photo-actions button:disabled{cursor:default;opacity:.28}.screensaver-photo-focus{position:absolute;right:6px;bottom:6px;left:6px;width:calc(100% - 12px);min-height:28px;padding:0 7px;border:0;border-radius:8px;color:#fff;background:#1b2c27b8;font-size:var(--font-7);cursor:pointer;opacity:0;transition:.14s ease}.screensaver-photo-grid article:hover button,.screensaver-photo-grid button:focus-visible,.screensaver-photo-grid article:hover .screensaver-photo-focus,.screensaver-photo-focus:focus-visible{opacity:1}.screensaver-how-it-works{background:linear-gradient(145deg,#183e34,#2c6656);color:#fff}.screensaver-how-it-works .eyebrow{color:#a8d7c4}.screensaver-how-it-works h3{margin:0 0 18px;font-size:23px}.screensaver-how-it-works ol{display:grid;gap:14px;margin:0;padding:0;list-style:none}.screensaver-how-it-works li{display:grid;grid-template-columns:25px 1fr;gap:9px}.screensaver-how-it-works li>span{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;color:#173d33;background:#a6d1bd;font:700 var(--font-9) "Geist Mono",monospace}.screensaver-how-it-works li p{margin:2px 0 0;color:#d3e4dd;font-size:var(--font-11);line-height:1.5}.screensaver-provider-note{margin:21px 0 0;padding-top:13px;border-top:1px solid rgb(255 255 255 / 13%);color:#9fc9b9;font-size:var(--font-9);line-height:1.45}.family-display-mode{position:fixed;z-index:100;inset:0;overflow:hidden;color:#fff;background:#11251f}.family-display-photo,.family-display-photo.empty{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:display-fade 1s ease}.family-display-photo.empty{background:radial-gradient(circle at 72% 15%,#9dcab9,transparent 25%),linear-gradient(135deg,#193e35,#315f50)}.family-display-shade{position:absolute;inset:0;background:linear-gradient(90deg,#091c17bd,#091c1729 58%,#091c177a)}.family-display-mode header{position:absolute;inset:clamp(25px,5vw,70px) clamp(25px,6vw,90px) auto;display:flex;justify-content:space-between;align-items:start}.family-display-mode header span,.family-display-mode header p{display:block;margin:0;color:#ffffffc7;font-size:clamp(13px,1.3vw,18px)}.family-display-mode header strong{font-size:clamp(68px,11vw,160px);font-weight:520;letter-spacing:-.085em;line-height:.82}.family-display-mode header em{margin-left:12px;font-size:clamp(25px,3vw,44px);font-style:normal}.family-display-mode header p{margin-top:15px}.family-display-brand{display:flex;align-items:center;gap:8px;color:#fffc;font-size:var(--font-13);font-weight:700}.family-display-brand svg{color:#f3b663}.family-display-events{position:absolute;left:clamp(25px,6vw,90px);bottom:clamp(30px,6vw,74px);width:min(410px,calc(100vw - 50px));padding:19px;border:1px solid rgb(255 255 255 / 20%);border-radius:17px;background:#0c261f7a;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.family-display-events>p{margin:0 0 12px;color:#a8d2c0;font:650 var(--font-10) "Geist Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.family-display-events article{display:grid;grid-template-columns:5px 1fr;gap:10px;padding:9px 0;border-top:1px solid rgb(255 255 255 / 13%)}.family-display-events article i{margin:3px 0;border-radius:8px}.family-display-events strong,.family-display-events span{display:block}.family-display-events strong{font-size:15px}.family-display-events span,.family-display-open{margin-top:3px;color:#ffffffb8;font-size:var(--font-11)}.family-display-controls{position:absolute;right:25px;bottom:25px;display:flex;gap:8px;opacity:.25;transition:.15s ease}.family-display-mode:hover .family-display-controls{opacity:1}.family-display-controls button{min-height:37px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid rgb(255 255 255 / 24%);border-radius:10px;color:#fff;background:#0c261f7a;cursor:pointer}.family-display-controls button:first-child{width:37px;padding:0}@keyframes display-fade{0%{opacity:.4;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}.delivery-hero{display:grid;gap:14px}.delivery-integrations{display:grid;gap:14px;padding-top:18px;padding-bottom:18px}.delivery-provider-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.delivery-provider-card{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:58px;padding:9px;border:1px solid var(--line);border-radius:13px;background:#fafaf7}.delivery-provider-card.enabled{border-color:#173d333d;background:#f2f8f2;box-shadow:inset 0 3px #82a88d}.delivery-provider-card.planned{color:#68756f}.delivery-provider-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:#69766f;background:#ecefe9;font-size:var(--font-12);font-weight:850}.delivery-provider-card.enabled .delivery-provider-mark{color:#fff;background:var(--forest)}.delivery-provider-card strong,.delivery-provider-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delivery-provider-card strong{color:var(--ink);font-size:var(--font-11)}.delivery-provider-card small{margin-top:3px;color:var(--muted);font-size:var(--font-8)}.delivery-provider-state{display:inline-flex;align-items:center;gap:3px;padding:4px 6px;border-radius:999px;color:#7c8782;background:#eef0ed;font-size:var(--font-7);font-weight:850;letter-spacing:.04em;text-transform:uppercase}.delivery-provider-state.on{color:#1c6a4e;background:#dcefe3}.delivery-cart-access{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid #e4dfd1;border-radius:13px;background:#fffdf8}.delivery-cart-access.linked{border-color:#c8ded0;background:#f5fbf6}.delivery-cart-access-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:#8a6734;background:#f4ead9}.delivery-cart-access.linked .delivery-cart-access-icon{color:#1c6a4e;background:#dcefe3}.delivery-cart-access strong,.delivery-cart-access p{display:block}.delivery-cart-access strong{color:var(--forest);font-size:var(--font-11)}.delivery-cart-access p{margin:3px 0 0;color:var(--muted);font-size:var(--font-9);line-height:1.4}.delivery-cart-access .button{min-height:34px;font-size:var(--font-9)}.delivery-recipe-builder{display:grid;gap:18px;overflow:hidden;background:radial-gradient(circle at 92% 8%,rgba(207,226,198,.42),transparent 28%),var(--surface)}.delivery-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.delivery-steps span{display:flex;align-items:center;gap:8px;min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:#ffffffbd;font-size:var(--font-10);font-weight:750}.delivery-steps b{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#ecefe9;color:var(--muted);font-size:var(--font-9)}.delivery-steps .active,.delivery-steps .complete{border-color:#173d333d;color:var(--forest);background:#f4faf5}.delivery-steps .active b,.delivery-steps .complete b{background:var(--forest);color:#fff}.delivery-meal-schedule{display:grid;gap:14px;padding:16px;border:1px solid rgba(23,61,51,.16);border-radius:16px;background:linear-gradient(135deg,#f4faf5,#fffdf8)}.delivery-meal-schedule h3{margin:2px 0 6px;color:var(--forest);font-size:var(--font-4)}.delivery-meal-schedule>div:first-child>p:last-child{max-width:760px;margin:0;color:var(--muted)}.delivery-meal-schedule-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.delivery-meal-schedule-footer small{color:var(--muted)}.delivery-recipe-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end}.delivery-recipe-toolbar label,.delivery-match-choice label{display:grid;gap:6px}.delivery-recipe-toolbar label>span,.delivery-match-choice label>span{color:var(--muted);font-size:var(--font-9);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.delivery-recipe-toolbar select,.delivery-match-choice select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-size:var(--font-12);padding:0 34px 0 12px}.delivery-inline-note{display:flex;align-items:center;gap:7px;margin:-4px 0 0;color:#8a5b1d;font-size:var(--font-11)}.delivery-ingredient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.delivery-ingredient{display:flex;align-items:center;gap:10px;min-height:62px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffffc2;cursor:pointer}.delivery-ingredient.selected{border-color:#173d3342;background:#edf7ef;box-shadow:0 8px 20px #173d330f}.delivery-ingredient input{width:17px;height:17px;accent-color:var(--forest)}.delivery-ingredient:has(input:disabled){cursor:default}.delivery-ingredient span,.delivery-ingredient strong,.delivery-ingredient small{display:block}.delivery-ingredient strong{font-size:var(--font-11);line-height:1.25}.delivery-ingredient small{margin-top:4px;color:var(--muted);font-size:var(--font-9);line-height:1.35}.delivery-match-list{display:grid;gap:9px;padding-top:4px}.delivery-match-row{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(260px,1.35fr);align-items:center;gap:14px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff}.delivery-match-ingredient{display:flex;align-items:center;gap:10px}.delivery-match-ingredient>span{display:grid;flex:0 0 auto;width:29px;height:29px;place-items:center;border-radius:9px;background:#edf4ea;color:var(--forest);font-size:var(--font-10);font-weight:850}.delivery-match-ingredient strong,.delivery-match-ingredient small{display:block}.delivery-match-ingredient strong{font-size:var(--font-11)}.delivery-match-ingredient small,.delivery-match-empty{margin-top:3px;color:var(--muted);font-size:var(--font-9)}.delivery-match-choice{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center}.delivery-match-choice img,.delivery-match-placeholder{display:grid;width:46px;height:46px;place-items:center;border-radius:10px;object-fit:contain;background:#f6f3eb;color:var(--muted)}.delivery-cart-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border-radius:14px;background:var(--forest);color:#fff}.delivery-cart-summary strong,.delivery-cart-summary small{display:block}.delivery-cart-summary strong{font-size:var(--font-13)}.delivery-cart-summary small{margin-top:4px;max-width:560px;color:#ffffffb8;font-size:var(--font-9);line-height:1.4}.delivery-cart-summary .button.primary{flex:0 0 auto;border-color:#fff6;background:#fff;color:var(--forest)}.delivery-checkout-handoff{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid rgba(23,61,51,.18);border-radius:16px;background:#edf7ef}.delivery-checkout-handoff>span{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#fff;background:var(--forest)}.delivery-checkout-handoff>span svg{width:21px;height:21px}.delivery-checkout-handoff h3{margin:2px 0 4px;color:var(--forest);font-size:var(--font-4)}.delivery-checkout-handoff p:last-child{max-width:720px;margin:0;color:var(--muted);font-size:var(--font-10);line-height:1.45}.delivery-checkout-handoff .button{white-space:nowrap}.delivery-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.delivery-capabilities>div{min-height:96px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8fbf7}.delivery-capabilities span{display:block;color:var(--muted);font-size:var(--font-9);font-weight:850;letter-spacing:.08em;text-transform:uppercase}.delivery-capabilities strong{display:block;margin-top:7px;color:var(--forest);font-size:var(--font-14)}.delivery-capabilities small{display:block;margin-top:7px;color:var(--muted);font-size:var(--font-10);line-height:1.45}.delivery-layout{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);gap:20px}.delivery-search-panel{min-height:420px}.delivery-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:14px}.delivery-form input{min-height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-size:var(--font-12);padding:0 12px}.delivery-location-list{display:grid;gap:9px}.delivery-location-list>button{border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer;padding:12px;text-align:left}.delivery-location-list>button.active{border-color:#173d334d;background:#eef7f1;box-shadow:0 10px 22px #173d3314}.delivery-location-list strong,.delivery-location-list span{display:block}.delivery-location-list strong{font-size:var(--font-12)}.delivery-location-list span{margin-top:4px;color:var(--muted);font-size:var(--font-10);line-height:1.4}.delivery-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px}.delivery-product-card{display:grid;gap:10px;align-content:start;min-height:250px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.delivery-product-card img,.delivery-product-placeholder{width:100%;height:104px;border-radius:11px;object-fit:contain;background:#f6f3eb}.delivery-product-placeholder{display:grid;place-items:center;color:var(--muted)}.delivery-product-card strong,.delivery-product-card small{display:block}.delivery-product-card strong{font-size:var(--font-12);line-height:1.3}.delivery-product-card small{margin-top:4px;color:var(--muted);font-size:var(--font-10);line-height:1.35}.delivery-product-card .button{align-self:end;min-height:34px;font-size:var(--font-10)}.safety-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:20px}.map-placeholder{position:relative;min-height:500px;overflow:hidden;border:1px solid #cad8d2;border-radius:20px;background:#dfe9e4}.map-grid{position:absolute;inset:0;opacity:.7;background:linear-gradient(30deg,transparent 48%,#fff 49%,#fff 51%,transparent 52%) 0 0 / 95px 95px,linear-gradient(120deg,transparent 48%,#c5d6ce 49%,#c5d6ce 51%,transparent 52%) 0 0 / 130px 130px}.map-pin{position:absolute;width:43px;height:43px;display:grid;place-items:center;border:4px solid white;border-radius:50% 50% 50% 10px;color:#fff;transform:rotate(-45deg);box-shadow:0 6px 18px #1f3b333b}.map-pin svg{transform:rotate(45deg)}.map-pin.home{left:32%;top:28%;background:var(--forest-2)}.map-pin.person{right:27%;bottom:30%;background:var(--coral)}.map-overlay{position:absolute;left:18px;bottom:18px;max-width:330px;padding:16px;border-radius:13px;background:#fffefaed;box-shadow:var(--shadow);font-size:var(--font-12)}.map-overlay p{margin:5px 0 0;color:var(--muted);font-size:var(--font-10);line-height:1.45}.status-live{width:7px;height:7px;margin-right:6px;display:inline-block;border-radius:50%;background:#a5afab}.safety-cards{display:flex;flex-direction:column;gap:13px}.safety-cards .feature-card{flex:1}.family-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.member-card{min-height:125px;position:relative;padding:21px;display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:inset 0 3px 0 var(--profile-color, transparent)}.member-card>.avatar{width:52px;height:52px;font-size:var(--font-13)}.member-card h3{margin:0 0 7px;font-size:16px}.role-pill{display:inline-block;padding:4px 7px;border-radius:6px;color:#52635d;background:#eceeea;font:600 var(--font-8) "Geist Mono";text-transform:uppercase}.gender-pill{display:inline-block;margin-left:5px;padding:4px 7px;border-radius:6px;color:color-mix(in srgb,var(--profile-color, #725349) 78%,#26342f);background:color-mix(in srgb,var(--profile-color, #ead8cf) 16%,white);font:650 var(--font-8) "Geist Mono";text-transform:uppercase}.member-edit-button{position:absolute;right:15px;top:15px;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:#fff;cursor:pointer;transition:.14s ease}.member-edit-button:hover{border-color:var(--profile-color, #b9c9c2);color:var(--forest);transform:translateY(-1px)}.role-pill.super{color:#976816;background:#f8e9c6}.member-color{position:absolute;bottom:15px;right:15px;width:9px;height:9px;border-radius:50%}.family-settings{max-width:780px}.family-invitations{display:grid;gap:15px}.family-invite-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.45fr) auto;align-items:end;gap:12px}.family-invite-form .button{min-height:44px}.family-invite-link{display:flex;gap:8px;padding:10px;border-radius:12px;background:var(--surface-soft)}.family-invite-link input{min-width:0;flex:1;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff}.family-invite-list{display:grid;gap:7px}.family-invite-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:11px}.family-invite-list strong,.family-invite-list small{display:block}.family-invite-list small{margin-top:3px;color:var(--muted)}.family-invite-actions{display:flex;gap:6px}.auth-invitation-summary{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #cfe2d9;border-radius:14px;background:#eef7f2;color:var(--ink)}.auth-invitation-summary span,.auth-invitation-summary small{display:block}.auth-invitation-summary small,.field-help{margin-top:3px;color:var(--muted)}.invitation-layout{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--canvas)}.invitation-card{width:min(520px,100%);display:grid;gap:16px;padding:clamp(28px,6vw,52px)}.invitation-card h1,.invitation-card p{margin:0}@media(max-width:720px){.family-invite-form{grid-template-columns:1fr}.family-invite-list article{grid-template-columns:minmax(0,1fr) auto}.family-invite-list article .button{grid-column:1 / -1}}.settings-row{padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line)}.settings-row strong,.settings-row small{display:block}.settings-row strong{font-size:var(--font-12)}.settings-row small{margin-top:4px;color:var(--muted);font-size:var(--font-9)}.settings-row b{color:#597069;font:600 var(--font-10) "Geist Mono"}.admin-badge{padding:8px 11px;display:inline-flex;align-items:center;gap:7px;border-radius:9px;color:#8f6217;background:#f7e7c3;font:600 var(--font-9) "Geist Mono";text-transform:uppercase}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-operations-grid{display:grid;grid-template-columns:1.25fr 1fr .75fr;gap:20px}.data-list.compact>div{grid-template-columns:10px 1fr auto}.data-list.compact b{color:var(--muted);font-size:var(--font-8)}.provider-health-list{display:grid}.admin-job-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem}.admin-job-actions .button,.admin-operations-grid .data-list .button{min-height:34px;padding:.4rem .65rem}.provider-health-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.provider-health-list>div>strong{text-transform:capitalize}.provider-health-list>div>span:not(.status-pill){color:var(--muted);font-size:var(--font-9);text-align:right}.data-list>div{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.data-list strong,.data-list small{display:block}.data-list strong{font-size:var(--font-11)}.data-list small{margin-top:3px;color:var(--muted);font-size:var(--font-9)}.tenant-stats{color:var(--muted);text-align:right;font-size:var(--font-9);line-height:1.4}.account-page{display:grid;gap:22px}.account-hero{min-height:166px;padding:clamp(24px,3vw,36px);display:grid;grid-template-columns:auto minmax(0,1fr) minmax(260px,340px);align-items:center;gap:22px;overflow:hidden;position:relative;border:1px solid #d4e1db;border-radius:22px;background:radial-gradient(circle at 88% 2%,rgb(116 181 158 / 22%),transparent 32%),linear-gradient(135deg,#f8fbf8,#fffdf8);box-shadow:0 16px 42px #1f3d3312}.account-hero:after{content:"";position:absolute;width:180px;height:180px;right:-90px;bottom:-115px;border:1px solid rgb(35 84 72 / 10%);border-radius:50%;box-shadow:0 0 0 34px #23544808}.account-hero h2{margin:0 0 6px;font-size:clamp(25px,3vw,36px)}.account-hero>div:nth-child(2)>p:last-child{margin:0;color:var(--muted);font-size:var(--font-12)}.account-avatar-wrap{position:relative}.profile-avatar{width:42px;height:42px;display:inline-grid;place-items:center;overflow:hidden;flex:none;border:3px solid #fff;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--forest-2),#538977);box-shadow:0 9px 24px #23544833;font-size:var(--font-13);font-weight:800}.profile-avatar.large{width:82px;height:82px;font-size:22px}.profile-avatar img,.topbar-profile-link img,.account-link .avatar img{width:100%;height:100%;object-fit:cover}.account-online{position:absolute;right:3px;bottom:5px;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:#64b28f}.account-trust-card{z-index:1;padding:16px;display:flex;align-items:center;gap:12px;border:1px solid rgb(35 84 72 / 11%);border-radius:14px;color:var(--forest);background:#ffffffb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.account-trust-card>svg{color:#4c8e76;flex:none}.account-trust-card strong,.account-trust-card small{display:block}.account-trust-card strong{font-size:var(--font-11)}.account-trust-card small{margin-top:4px;color:var(--muted);font-size:var(--font-9);line-height:1.4}.account-layout{display:grid;grid-template-columns:minmax(235px,.28fr) minmax(0,1fr);align-items:start;gap:20px}.account-nav{padding:9px;display:grid;gap:5px;border:1px solid var(--line);border-radius:18px;background:#fffefab8}.account-nav>button{width:100%;min-height:62px;padding:9px 10px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;border-radius:12px;text-align:left;background:transparent;cursor:pointer}.account-nav>button:hover,.account-nav>button.active{background:#edf4f1}.account-nav>button.active{color:var(--forest);box-shadow:inset 3px 0 #4f8d77}.account-nav>button>svg{color:#9aa49f}.account-nav>button strong,.account-nav>button small{display:block}.account-nav>button strong{font-size:var(--font-11)}.account-nav>button small{margin-top:3px;color:var(--muted);font-size:var(--font-8);line-height:1.3}.account-nav-icon,.account-section-icon,.session-device{width:38px;height:38px;display:inline-grid;place-items:center;flex:none;border-radius:11px;color:var(--forest-2);background:#e2efe9}.account-section-icon{width:42px;height:42px;border-radius:13px}.account-section-icon.coral{color:#b44d2f;background:#f9e4dc}.account-family-count{margin-top:6px;padding:15px 11px 10px;display:flex;align-items:flex-start;gap:10px;border-top:1px solid var(--line);color:var(--muted)}.account-family-count svg{flex:none;color:#729082}.account-family-count strong,.account-family-count small{display:block}.account-family-count strong{color:var(--ink);font-size:var(--font-10)}.account-family-count small{margin-top:3px;font-size:var(--font-8);line-height:1.35}.account-panel{padding:clamp(22px,3vw,34px)}.account-panel-header{padding-bottom:22px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.account-panel-header h2{margin:0 0 4px;font-size:22px}.account-panel-header p:last-child{margin:0;color:var(--muted);font-size:var(--font-10)}.account-section-stack{padding-top:24px;display:grid;gap:20px}.profile-photo-row{padding:17px;display:flex;align-items:center;gap:18px;border:1px solid #dde5e0;border-radius:15px;background:#f9fbf9}.profile-photo-row:focus-visible{border-color:#78a896;outline:3px solid rgb(120 168 150 / 18%)}.profile-photo-row>div{min-width:0}.profile-photo-row strong,.security-card strong,.digest-card strong{font-size:var(--font-12)}.profile-photo-row p,.security-card p,.digest-card p,.privacy-callout p{margin:4px 0 10px;color:var(--muted);font-size:var(--font-9);line-height:1.5}.inline-actions{display:flex;flex-wrap:wrap;gap:8px}.danger-text{color:#a13b27!important}.account-warning{color:#a35c27!important}.account-form{display:grid;gap:17px}.account-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.account-field{min-width:0;display:grid;gap:7px}.account-field>span{font-size:var(--font-10);font-weight:700}.account-field input,.account-field select,.account-field textarea,.digest-card select{width:100%;min-height:43px;padding:0 12px;border:1px solid #dce1dc;border-radius:10px;outline:0;color:var(--ink);background:#fff;font-size:var(--font-11);transition:.14s ease}.account-field textarea{padding-top:11px;resize:vertical}.account-field input:focus,.account-field select:focus,.account-field textarea:focus,.digest-card select:focus{border-color:#7da896;box-shadow:0 0 0 3px #4f8d771a}.account-field input:disabled{color:#77817d;background:#f3f4f1}.account-field small{color:var(--muted);font-size:var(--font-8)}.account-save-bar{padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line)}.account-save-bar>span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--font-9)}.privacy-callout{padding:17px;display:flex;gap:12px;border:1px solid #cfe1d9;border-radius:14px;color:var(--forest);background:#f1f8f4}.privacy-callout svg{flex:none}.privacy-callout strong{font-size:var(--font-11)}.privacy-callout p{margin-bottom:0}.visibility-setting{margin:0;padding:17px;border:1px solid var(--line);border-radius:15px}.visibility-setting legend{width:100%;padding:0;display:flex;align-items:center;gap:11px}.visibility-setting legend strong,.visibility-setting legend small{display:block}.visibility-setting legend strong{font-size:var(--font-11)}.visibility-setting legend small{margin-top:3px;color:var(--muted);font-size:var(--font-8)}.visibility-options{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.visibility-options label{min-height:43px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:7px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:var(--font-9);cursor:pointer}.visibility-options label.selected{border-color:#89ae9f;color:var(--forest);background:#edf5f1}.visibility-options input{position:absolute;opacity:0}.settings-list{overflow:hidden;border:1px solid var(--line);border-radius:15px}.account-setting-row{min-height:65px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line)}.account-setting-row:first-child{border-top:0}.account-setting-row strong{font-size:var(--font-10)}.account-setting-row p{margin:4px 0 0;color:var(--muted);font-size:var(--font-8);line-height:1.4}.switch-control{width:42px;height:24px;padding:3px;display:flex;align-items:center;border:0;border-radius:999px;background:#cdd3d0;cursor:pointer;transition:.16s ease}.switch-control span{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #19322a33;transition:.16s ease}.switch-control.on{background:#4f8d77}.switch-control.on span{transform:translate(18px)}.digest-card{padding:17px;display:grid;grid-template-columns:auto minmax(0,1fr) 120px;align-items:center;gap:13px;border:1px solid #eadfd8;border-radius:15px;background:#fffaf7}.digest-card p{margin-bottom:0}.security-card{padding:18px;display:grid;gap:18px;border:1px solid var(--line);border-radius:15px}.security-card-title{display:flex;align-items:center;gap:12px}.security-card-title.split>div:nth-child(2){min-width:0;flex:1}.security-card-title p{margin-bottom:0}.account-action{justify-self:start}.session-list{display:grid}.session-list>div{padding:12px 0;display:flex;align-items:center;gap:11px;border-top:1px solid var(--line)}.session-list strong,.session-list small{display:block}.session-list strong{font-size:var(--font-10)}.session-list small{margin-top:3px;color:var(--muted);font-size:var(--font-8)}.session-device{width:34px;height:34px}.data-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.security-card.compact{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px}.security-card.compact>svg{color:#648376}.security-card.compact .button{grid-column:1 / -1;justify-self:start}.danger-zone{border-color:#efd6ce;background:#fffaf8}.danger-zone>svg{color:#ad4b32!important}.delete-confirmation{position:fixed;z-index:80;inset:0;padding:20px;display:grid;place-items:center;background:#14221ea3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.delete-confirmation>div{width:min(440px,100%);padding:28px;position:relative;border-radius:20px;background:var(--surface);box-shadow:0 28px 80px #0a191440}.delete-confirmation .icon-button{position:absolute;top:15px;right:15px}.danger-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;color:#a43925;background:#fde8e1}.delete-confirmation h3{margin:17px 0 8px}.delete-confirmation>div>p{margin-bottom:20px;color:var(--muted);font-size:var(--font-10);line-height:1.6}.account-loading{min-height:360px;display:grid;place-content:center;justify-items:center;gap:13px;color:var(--muted);font-size:var(--font-11)}.account-link{flex:1;padding:4px;border-radius:10px}.account-link:hover{background:#ffffff0f}.topbar-profile-link{overflow:hidden}@media(max-width:850px){.account-hero{grid-template-columns:auto 1fr}.account-trust-card{grid-column:1 / -1}.account-layout{grid-template-columns:1fr}.account-nav{padding:5px;display:flex;overflow-x:auto;scrollbar-width:none}.account-nav::-webkit-scrollbar{display:none}.account-nav>button{min-width:145px;min-height:49px;grid-template-columns:34px minmax(0,1fr)}.account-nav>button>svg,.account-nav>button small,.account-family-count{display:none}.account-nav-icon{width:34px;height:34px}}body.hub-display-active{overflow:hidden;overscroll-behavior:none;background:#f2f0e9}.hub-display{--hub-ink: #203630;--hub-muted: #687771;position:fixed;z-index:200;inset:0;min-width:320px;min-height:100dvh;display:grid;grid-template-columns:108px minmax(0,1fr);color:var(--hub-ink);background:radial-gradient(circle at 88% 5%,rgb(101 190 213 / 16%),transparent 24%),radial-gradient(circle at 12% 92%,rgb(244 183 111 / 13%),transparent 25%),#f4f3ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.hub-display button,.hub-display a{-webkit-tap-highlight-color:transparent}.hub-display-rail{position:relative;z-index:4;min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:max(18px,env(safe-area-inset-top)) 10px max(18px,env(safe-area-inset-bottom));border-right:1px solid #dce3de;background:linear-gradient(180deg,rgb(255 255 255 / 38%),transparent 30%),linear-gradient(180deg,#e8f4f7,#edf6f1 56%,#fff3e9)}.hub-display-nav-toggle{display:none}.hub-display-mark{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 16px;border-radius:17px;color:#fff;background:#e87750;box-shadow:0 8px 20px #95513633}.hub-display-mark svg{width:25px;height:25px}.hub-display-rail nav{min-height:0;display:flex;flex:1;flex-direction:column;justify-content:center;gap:7px}.hub-display-rail nav button{--hub-nav-accent: #3f7c6a;position:relative;width:100%;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 4px;border:0;border-radius:17px;color:#677873;background:transparent;font:700 12px/1.1 inherit;cursor:pointer;transition:.14s ease}.hub-display-rail nav .hub-nav-weather{--hub-nav-accent: #d89123}.hub-display-rail nav .hub-nav-calendar{--hub-nav-accent: #4e83c2}.hub-display-rail nav .hub-nav-chores{--hub-nav-accent: #3d9275}.hub-display-rail nav .hub-nav-rewards{--hub-nav-accent: #9a66b5}.hub-display-rail nav .hub-nav-screensaver{--hub-nav-accent: #df7657}.hub-display-rail nav .hub-nav-meals{--hub-nav-accent: #c9803e}.hub-display-rail nav button svg{width:25px;height:25px;stroke-width:1.9;color:var(--hub-nav-accent)}.hub-display-rail nav button.active{color:color-mix(in srgb,var(--hub-nav-accent) 72%,#203630);background:linear-gradient(145deg,color-mix(in srgb,var(--hub-nav-accent) 13%,#fff),#fff 72%);box-shadow:0 7px 22px color-mix(in srgb,var(--hub-nav-accent) 20%,transparent)}.hub-display-rail nav button.active:before{position:absolute;left:-10px;width:4px;height:34px;border-radius:0 5px 5px 0;background:var(--hub-nav-accent);content:""}.hub-display-rail nav button:active{transform:scale(.96)}.hub-display-stage{min-width:0;min-height:0;display:grid;grid-template-rows:86px minmax(0,1fr)}.hub-display-header{position:relative;z-index:3;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:clamp(16px,2.6vw,36px);padding:max(11px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 11px 26px;border-bottom:1px solid #dedfd9;background:linear-gradient(90deg,#fffdf7f5,#f4faf8f0 56%,#eff8fbf2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 24px #2e4e440d}.hub-display-date{display:flex;align-items:baseline;gap:14px;white-space:nowrap}.hub-display-date strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(26px,3vw,42px);font-weight:500;letter-spacing:-.035em}.hub-display-date span{font-size:clamp(15px,1.6vw,21px);font-weight:720}.hub-display-weather-pill{min-height:52px;display:flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid #e2e4df;border-radius:16px;background:#fff;white-space:nowrap}.hub-display-weather-pill svg{width:25px;color:#dc9a37}.hub-display-weather-pill strong{font-size:20px}.hub-display-weather-pill span{max-width:120px;overflow:hidden;color:var(--hub-muted);font-size:12px;text-overflow:ellipsis}.hub-display-family{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:12px}.hub-display-family>strong{max-width:180px;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.hub-display-people{display:flex;padding-left:12px}.hub-member-avatar{width:46px;height:46px;display:inline-grid;flex:0 0 auto;place-items:center;overflow:hidden;border:3px solid #fff;border-radius:50%;color:#fff;font-size:21px;font-weight:780;box-shadow:0 3px 11px #2c443c21}.hub-display-people .hub-member-avatar{margin-left:-12px}.hub-member-avatar img{width:100%;height:100%;object-fit:cover}.hub-display-header-actions{display:flex;align-items:center;gap:8px}.hub-display-sync{display:inline-flex;align-items:center;gap:6px;padding:0 4px;color:#6e7f78;font-size:11px;font-weight:700;white-space:nowrap}.hub-display-sync svg{width:14px;height:14px}.hub-display-sync.syncing svg{animation:spin 1s linear infinite}.hub-display-header-actions button,.hub-display-header-actions a{width:52px;height:52px;display:grid;place-items:center;padding:0;border:1px solid #dfe2dd;border-radius:16px;color:#39554c;background:#fff;cursor:pointer}.hub-display-header-actions svg{width:23px;height:23px}.hub-display-content{min-width:0;min-height:0;overflow:hidden;padding:clamp(14px,2vw,24px)}.hub-display-panel{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.hub-section-heading{min-height:57px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.hub-section-heading p,.hub-section-heading h1{margin:0}.hub-section-heading p{color:#de704b;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hub-section-heading h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(29px,3.2vw,46px);font-weight:500;letter-spacing:-.035em;line-height:1}.hub-section-heading>span{padding:9px 13px;border-radius:999px;color:#587069;background:#e6ece8;font-size:12px;font-weight:720}.hub-calendar-grid{height:calc(100% - 72px);min-height:470px;display:grid;grid-template-columns:repeat(5,minmax(155px,1fr));gap:11px}.hub-calendar-switcher{display:flex;gap:8px}.hub-calendar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.hub-calendar-switcher button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 15px;border:1px solid #d9ded9;border-radius:15px;color:#526a62;background:#fff;font:760 12px/1 inherit;cursor:pointer}.hub-calendar-switcher button.active{border-color:#91b8aa;color:#174d3f;background:#dfefe8;box-shadow:0 5px 16px #315a4b17}.hub-calendar-switcher button svg{width:19px;height:19px}.hub-calendar-filter{position:relative}.hub-calendar-filter-trigger{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid #d9ded9;border-radius:15px;color:#526a62;background:#fff;font:760 12px/1 inherit;cursor:pointer}.hub-calendar-filter-trigger.active,.hub-calendar-filter-trigger:hover{border-color:#91b8aa;color:#174d3f;background:#edf7f2}.hub-calendar-filter-trigger>svg{width:18px;height:18px}.hub-calendar-filter-trigger>span{min-width:21px;height:21px;display:grid;place-items:center;border-radius:999px;color:#21604f;background:#dceee6;font-size:10px}.hub-calendar-filter-menu{width:min(320px,calc(100vw - 32px));padding:14px;position:absolute;z-index:12;top:calc(100% + 9px);right:0;border:1px solid #dce2dd;border-radius:18px;background:#fffffdfa;box-shadow:0 18px 45px #1f3d332e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hub-calendar-filter-menu>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 2px 12px;border-bottom:1px solid #e6e9e4}.hub-calendar-filter-menu>header strong,.hub-calendar-filter-menu>header small{display:block}.hub-calendar-filter-menu>header strong{color:#25473e;font-size:14px}.hub-calendar-filter-menu>header small{margin-top:3px;color:var(--hub-muted);font-size:10px}.hub-calendar-filter-menu>header button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:9px;color:#60736b;background:#f1f4f0;cursor:pointer}.hub-calendar-filter-menu>header button svg{width:16px}.hub-calendar-filter-list{display:grid;gap:4px;padding:9px 0}.hub-calendar-filter-list>label{min-height:52px;display:grid;grid-template-columns:22px 11px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 7px;border-radius:11px;cursor:pointer}.hub-calendar-filter-list>label:hover{background:#f3f7f4}.hub-calendar-filter-list input{width:20px;height:20px;margin:0;accent-color:#2c775e}.hub-calendar-filter-list i{width:10px;height:10px;border-radius:3px}.hub-calendar-filter-list strong,.hub-calendar-filter-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-calendar-filter-list strong{color:#315047;font-size:12px}.hub-calendar-filter-list small{margin-top:2px;color:var(--hub-muted);font-size:10px}.hub-calendar-filter-list em{min-width:23px;padding:3px 5px;border-radius:999px;color:#5a7168;background:#eef2ee;font-size:10px;font-style:normal;font-weight:800;text-align:center}.hub-calendar-filter-reset{width:100%;min-height:38px;border:1px solid #d5e2da;border-radius:10px;color:#2d6f5a;background:#eef7f2;font-size:11px;font-weight:780;cursor:pointer}.hub-school-calendar-loading{height:calc(100% - 72px);display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #dfe2dc;border-radius:22px;color:var(--hub-muted);background:#fff;font-size:15px;font-weight:700}.hub-school-calendar{height:calc(100% - 72px);min-height:470px;display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px}.hub-school-months{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px;overflow-x:auto}.hub-school-months .school-month-card{min-width:280px;min-height:0;height:100%;padding:17px;border-radius:22px;box-shadow:none}.hub-school-months .school-month-card h3{font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:550}.hub-school-months .school-month-days>span{min-height:34px;aspect-ratio:auto;font-size:10px}.hub-school-calendar>aside{padding:17px;overflow:auto;border:1px solid #d9e2dc;border-radius:22px;background:#f7fbf8}.hub-school-calendar>aside>p{margin:0 0 4px;color:#df704b;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.hub-school-calendar>aside>strong{display:block;margin-bottom:14px;font-family:Georgia,Times New Roman,serif;font-size:20px}.hub-school-calendar>aside>span{display:grid;grid-template-columns:13px 1fr;gap:9px;padding:11px 0;border-top:1px solid #e0e6e1}.hub-school-calendar>aside>span>i{width:11px;height:11px;margin-top:3px;border-radius:4px}.hub-school-calendar>aside>span strong,.hub-school-calendar>aside>span small{display:block}.hub-school-calendar>aside>span strong{font-size:12px}.hub-school-calendar>aside>span small{margin-top:3px;color:var(--hub-muted);font-size:9px;line-height:1.3}.hub-school-calendar>aside>footer{margin-top:12px;padding:10px;border-radius:11px;color:#27604e;background:#dfeee8;font-size:11px;font-weight:800;text-align:center}.hub-calendar-grid>article{min-width:0;overflow:hidden;border:1px solid #dedfd9;border-radius:22px;background:#ffffffbd}.hub-calendar-grid>article.today{border-color:#bfd8ce;background:#f4faf7;box-shadow:0 8px 28px #39615217}.hub-calendar-grid>article>header{min-height:77px;display:flex;align-items:baseline;gap:8px;padding:13px 14px;border-bottom:1px solid #e5e4df}.hub-calendar-grid>article>header span{color:var(--hub-muted);font-size:13px;font-weight:760;text-transform:uppercase}.hub-calendar-grid>article>header strong{font-family:Georgia,Times New Roman,serif;font-size:36px;font-weight:500}.hub-calendar-grid>article>header em{margin-left:auto;padding:5px 7px;border-radius:8px;color:#23604e;background:#d9eee5;font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase}.hub-calendar-grid>article>div{display:grid;align-content:start;gap:9px;padding:11px}.hub-event-card{position:relative;min-height:78px;display:flex;flex-direction:column;padding:11px 10px 10px 15px;overflow:hidden;border-radius:14px;background:color-mix(in srgb,var(--event-color) 13%,#fff)}.hub-event-card:before{position:absolute;inset:0 auto 0 0;width:5px;background:var(--event-color);content:""}.hub-event-card>span,.hub-event-card>small{color:#61726c;font-size:10px;font-weight:700}.hub-event-card>strong{margin:4px 0;font-size:clamp(13px,1.35vw,17px);line-height:1.15}.hub-open-day,.hub-empty-copy{color:#83908b;font-size:13px}.hub-weather{display:grid;grid-template-columns:minmax(290px,.95fr) minmax(420px,1.65fr);grid-template-rows:minmax(245px,1fr) auto;gap:14px}.hub-weather-current{--hub-sky-start: #1685bd;--hub-sky-middle: #43afd2;--hub-sky-end: #8bd3df;position:relative;isolation:isolate;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:16px;overflow:hidden;padding:clamp(24px,3.3vw,44px);border:1px solid rgb(255 255 255 / 28%);border-radius:26px;color:#fff;background:radial-gradient(circle at 90% 8%,rgb(255 255 255 / 35%),transparent 19%),radial-gradient(circle at 12% 96%,rgb(91 203 231 / 26%),transparent 30%),linear-gradient(140deg,var(--hub-sky-start),var(--hub-sky-middle) 58%,var(--hub-sky-end));box-shadow:0 20px 44px #1a77a636}.hub-weather-current:before,.hub-weather-current:after{position:absolute;z-index:-1;pointer-events:none;content:""}.hub-weather-current:before{top:-120px;right:-105px;width:310px;height:310px;border:1px solid rgb(255 255 255 / 23%);border-radius:50%;box-shadow:0 0 0 46px #ffffff12,0 0 0 92px #ffffff0a;animation:hubSkyOrbit 11s ease-in-out infinite}.hub-weather-current:after{inset:0;background:linear-gradient(112deg,transparent 25%,rgb(255 255 255 / 10%) 44%,transparent 62%);transform:translate(-85%);animation:hubSkyShimmer 9s ease-in-out infinite}.hub-weather-current.partly-cloudy{--hub-sky-start: #397c9e;--hub-sky-middle: #72a9bb;--hub-sky-end: #b3d5d7}.hub-weather-current.cloudy,.hub-weather-current.foggy{--hub-sky-start: #546f83;--hub-sky-middle: #839eaa;--hub-sky-end: #b8ccce}.hub-weather-current.rainy{--hub-sky-start: #28506f;--hub-sky-middle: #4f7893;--hub-sky-end: #88a8b8;box-shadow:0 20px 44px #2046623b}.hub-weather-current.rainy:after{inset:-30% -20%;opacity:.38;background:repeating-linear-gradient(112deg,transparent 0 30px,rgb(211 241 248 / 54%) 31px 33px,transparent 34px 58px);animation:hubRainSheet 1.8s linear infinite}.hub-weather-current.stormy{--hub-sky-start: #252f53;--hub-sky-middle: #4e5f82;--hub-sky-end: #7d849f;box-shadow:0 20px 48px #252e5247}.hub-weather-current.stormy:after{inset:0;background:linear-gradient(125deg,transparent 42%,rgb(255 240 161 / 34%),transparent 48%);animation:hubStormFlash 6.5s steps(1) infinite}.hub-weather-current.snowy{--hub-sky-start: #c4e3ed;--hub-sky-middle: #e4f3f5;--hub-sky-end: #b8dce7;color:#284b5f;box-shadow:0 20px 44px #4d8ba12e}.hub-weather-current.snowy:after{inset:0;opacity:.72;background-image:radial-gradient(circle,#fff 0 3px,transparent 4px),radial-gradient(circle,rgb(255 255 255 / 82%) 0 2px,transparent 3px);background-position:20px 8px,74px 48px;background-size:88px 96px,112px 128px;animation:hubSnowField 9s linear infinite}.hub-weather-copy,.hub-weather-current>.weather-scene,.hub-weather-metrics{position:relative;z-index:1}.hub-weather-current p{margin:0 0 6px;color:#ffffffbf;font-size:13px;font-weight:700}.hub-weather-current h1{margin:0;font-size:clamp(72px,9vw,128px);font-weight:580;letter-spacing:-.08em;line-height:.9}.hub-weather-current strong,.hub-weather-current span{display:block}.hub-weather-current strong{margin-top:12px;font-size:21px}.hub-weather-current span{margin-top:4px;color:#ffffffba;font-size:13px}.hub-weather-current.snowy p,.hub-weather-current.snowy span{color:#284b5fb8}.hub-weather-current>svg{width:clamp(90px,12vw,160px);height:auto;opacity:.77;stroke-width:1.2}.hub-weather-current>.weather-scene{width:clamp(124px,16vw,210px);height:clamp(124px,16vw,210px)}.hub-weather-metrics{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hub-weather-metrics article{min-height:58px;display:grid;grid-template-columns:25px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:1px 8px;padding:9px 11px;border:1px solid rgb(255 255 255 / 19%);border-radius:13px;background:#1257792e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hub-weather-current.snowy .hub-weather-metrics article{border-color:#3061771f;background:#ffffff6e}.hub-weather-metrics svg{width:19px;height:19px;grid-row:1 / 3;color:#ffffffe0}.hub-weather-current.snowy .hub-weather-metrics svg{color:#4f849c}.hub-weather-metrics span,.hub-weather-metrics strong{display:block;margin:0}.hub-weather-metrics span{color:#ffffffa8;font-size:8px;font-weight:790;letter-spacing:.08em;text-transform:uppercase}.hub-weather-metrics strong{font-size:13px}.hub-weather-current.snowy .hub-weather-metrics span{color:#284b5f9c}.hub-weather-hours article>svg,.hub-weather-week article>svg{animation:weatherIconBob 4.8s ease-in-out infinite}.hub-weather-hours article>svg.rainy,.hub-weather-hours article>svg.stormy,.hub-weather-week article>svg.rainy,.hub-weather-week article>svg.stormy{animation-name:weatherIconRain}@keyframes weatherIconBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes weatherIconRain{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(2px) rotate(-3deg)}}@keyframes hubSkyOrbit{0%,to{transform:translateZ(0) scale(.96)}50%{transform:translate3d(-14px,12px,0) scale(1.04)}}@keyframes hubSkyShimmer{0%,18%{transform:translate(-85%)}62%,to{transform:translate(92%)}}@keyframes hubRainSheet{to{transform:translate3d(42px,68px,0)}}@keyframes hubStormFlash{0%,71%,76%,to{opacity:0}72%,74%{opacity:.9}}@keyframes hubSnowField{to{background-position:48px 104px,94px 176px}}.hub-weather-hours{min-width:0;display:grid;grid-template-columns:repeat(6,minmax(80px,1fr));gap:8px;padding:16px;overflow-x:auto;border:1px solid #d8e6e9;border-radius:26px;background:radial-gradient(circle at 94% 8%,rgb(118 198 218 / 18%),transparent 28%),linear-gradient(145deg,#fbfdfb,#edf7f9);box-shadow:0 14px 34px #3768741a}.hub-weather-hours article{min-width:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:12px 5px;border:1px solid rgb(76 128 144 / 8%);border-radius:17px;background:#ffffffb8;box-shadow:0 7px 18px #4168700f;transition:transform .18s ease,box-shadow .18s ease}.hub-weather-hours article.now{border-color:#9dcebf;background:linear-gradient(160deg,#dff3eb,#f3fbf8);box-shadow:0 10px 24px #32796024}.hub-weather-hours article.sunny:not(.now){background:linear-gradient(160deg,#fff9e9,#fff)}.hub-weather-hours article.partly-cloudy,.hub-weather-hours article.cloudy{background:linear-gradient(160deg,#edf5f7,#fff)}.hub-weather-hours article.rainy{background:linear-gradient(160deg,#e2f0f6,#f8fbfd)}.hub-weather-hours article.stormy{background:linear-gradient(160deg,#e9e9f5,#f9f9fc)}.hub-weather-hours article.snowy{background:linear-gradient(160deg,#effbff,#fff)}.hub-weather-hours article>span,.hub-weather-hours article>small{color:var(--hub-muted);font-size:11px;font-weight:700}.hub-weather-hours article>svg{width:34px;height:34px;color:#d79536}.hub-weather-hours article>svg.partly-cloudy,.hub-weather-hours article>svg.cloudy,.hub-weather-week article>svg.partly-cloudy,.hub-weather-week article>svg.cloudy{color:#7196aa}.hub-weather-hours article>svg.rainy,.hub-weather-week article>svg.rainy{color:#4f86aa}.hub-weather-hours article>svg.stormy,.hub-weather-week article>svg.stormy{color:#6f6da5}.hub-weather-hours article>svg.snowy,.hub-weather-week article>svg.snowy{color:#78adc2}.hub-weather-hours article>strong{font-size:23px}.hub-weather-hours article>small{display:flex;align-items:center;gap:3px}.hub-weather-hours article>small svg{width:12px}.hub-weather-week{grid-column:1 / -1;display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.hub-weather-week article{min-height:88px;display:grid;grid-template-columns:auto 28px 1fr auto;align-items:center;gap:8px;padding:13px 15px;border:1px solid #dfe5e2;border-radius:18px;background:linear-gradient(145deg,#ffffffed,#f8faf7);box-shadow:0 9px 24px #43595012}.hub-weather-week article.sunny{border-color:#eadfbd;background:linear-gradient(145deg,#fff9e9,#fff)}.hub-weather-week article.partly-cloudy,.hub-weather-week article.cloudy{border-color:#d5e1e5;background:linear-gradient(145deg,#edf5f7,#fff)}.hub-weather-week article.rainy{border-color:#ccdde6;background:linear-gradient(145deg,#e5f1f6,#fff)}.hub-weather-week article.stormy{border-color:#d9d7e9;background:linear-gradient(145deg,#ebeaf5,#fff)}.hub-weather-week article.snowy{border-color:#d1e8ef;background:linear-gradient(145deg,#eefaff,#fff)}.hub-weather-week article>strong{font-size:13px}.hub-weather-week article>svg{color:#d79536}.hub-weather-week article>span{color:var(--hub-muted);font-size:11px}.hub-weather-week article>em{font-size:20px;font-style:normal;font-weight:800}.hub-weather-week article>em small{color:var(--hub-muted);font-size:13px}.hub-chore-week{display:grid;grid-template-columns:54px minmax(0,1fr) 54px auto;align-items:stretch;gap:9px;margin-bottom:13px}.hub-chore-days{min-width:0;display:grid;grid-template-columns:repeat(7,minmax(64px,1fr));gap:7px}.hub-chore-days button,.hub-chore-week-arrow,.hub-chore-today{min-height:64px;border:1px solid #d8dfda;border-radius:16px;color:#526a62;background:#fff;cursor:pointer}.hub-chore-days button{min-width:0;display:grid;place-content:center;gap:1px;padding:6px 3px;text-align:center}.hub-chore-days button span,.hub-chore-days button small{font-size:10px;font-weight:760;line-height:1}.hub-chore-days button strong{color:var(--hub-ink);font-size:21px;line-height:1}.hub-chore-days button.today:not(.active){border-color:#e3a58f;color:#b8593b}.hub-chore-days button.active{border-color:#285e50;color:#fff;background:#285e50;box-shadow:0 7px 18px #275b4d33}.hub-chore-days button.active strong{color:#fff}.hub-chore-week-arrow,.hub-chore-today{display:grid;place-items:center;padding:0;font-weight:800}.hub-chore-week-arrow svg{width:24px;height:24px}.hub-chore-today{min-width:74px;padding:0 14px;color:#174d3f;background:#dfefe8}.hub-chore-week button:focus-visible,.hub-chore-list button:focus-visible{outline:4px solid #f0a17f;outline-offset:2px}.hub-chore-members{min-width:100%;height:calc(100% - 149px);min-height:410px;display:grid;grid-auto-columns:minmax(310px,1fr);grid-auto-flow:column;gap:14px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity;transition:opacity .12s ease}.hub-chore-members.loading{opacity:.58;pointer-events:none}.hub-chore-members>article{min-width:0;overflow-y:auto;border:1px solid color-mix(in srgb,var(--member-color) 28%,#dfe1dc);border-radius:24px;background:color-mix(in srgb,var(--member-color) 7%,#fff);scroll-snap-align:start}.hub-chore-members>article>header{position:sticky;z-index:1;top:0;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;padding:15px;border-bottom:1px solid color-mix(in srgb,var(--member-color) 20%,#e4e4df);background:color-mix(in srgb,var(--member-color) 10%,#fff)}.hub-chore-members>article>header .hub-member-avatar{width:58px;height:58px}.hub-chore-members>article>header strong,.hub-chore-members>article>header span{display:block}.hub-chore-members>article>header strong{font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:550}.hub-chore-members>article>header span,.hub-chore-members>article>header em{color:var(--hub-muted);font-size:11px;font-style:normal;font-weight:700}.hub-chore-members>article>header em{display:flex;align-items:center;gap:4px;padding:7px 9px;border-radius:999px;color:color-mix(in srgb,var(--member-color) 70%,#233c34);background:color-mix(in srgb,var(--member-color) 13%,#fff);text-align:center}.hub-chore-member-stats{display:grid;justify-items:end;gap:5px}.hub-chore-members>article>header .hub-chore-member-stats em.points{color:#815a1d;background:#fff0c9;font-size:12px;font-weight:850}.hub-chore-members>article>header .hub-chore-member-stats em.pending-points{padding:3px 7px;color:#765f22;background:#fff8df;font-size:9px}.hub-chore-members>article>header .hub-chore-member-stats em.points svg{color:#b8781f;fill:none}.hub-chore-members>article>header em svg{width:14px;height:14px;color:#d86d44;fill:#f6b37c}.hub-chore-list{display:grid;gap:15px;padding:13px}.hub-chore-period{display:grid;gap:8px}.hub-chore-period>h2{display:flex;align-items:center;gap:7px;margin:2px 3px 0;color:#50675f;font-size:12px;font-weight:830;letter-spacing:.06em;text-transform:capitalize}.hub-chore-period>h2 svg{width:18px;height:18px;color:color-mix(in srgb,var(--member-color) 72%,#52675f)}.hub-chore-period>h2 span{min-width:22px;margin-left:auto;padding:3px 6px;border-radius:999px;background:color-mix(in srgb,var(--member-color) 13%,#fff);text-align:center}.hub-chore-period+.hub-chore-period{padding-top:2px;border-top:1px solid color-mix(in srgb,var(--member-color) 16%,#e5e8e4)}.hub-chore-list button{width:100%;min-height:76px;display:grid;grid-template-columns:42px minmax(0,1fr) auto 44px;align-items:center;gap:8px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--member-color) 19%,transparent);border-radius:16px;color:var(--hub-ink);background:color-mix(in srgb,var(--member-color) 16%,#fff);text-align:left}.hub-chore-list button:not(:disabled){cursor:pointer}.hub-chore-list button:not(:disabled):active{transform:scale(.985)}.hub-chore-list button:disabled:not(.complete){opacity:.76}.hub-chore-list button.complete{opacity:.86}.hub-chore-list button.syncing>i{animation:hub-chore-sync .65s ease-in-out infinite alternate}@keyframes hub-chore-sync{to{transform:scale(.86);box-shadow:0 0 0 6px color-mix(in srgb,var(--member-color) 18%,transparent)}}.hub-chore-list button>span:first-child{font-size:29px;text-align:center}.hub-chore-copy{min-width:0;display:grid;gap:4px}.hub-chore-copy strong{overflow:hidden;font-size:15px;line-height:1.18;text-overflow:ellipsis}.hub-chore-copy small{color:var(--hub-muted);font-size:11px;font-weight:700}.hub-chore-points{padding:5px 7px;border-radius:999px;color:#7c581f;background:#fff0c9;font-size:11px;font-weight:850}.hub-chore-list button>i{width:42px;height:42px;display:grid;place-items:center;border:2px solid color-mix(in srgb,var(--member-color) 45%,#d1d7d3);border-radius:50%;color:#fff}.hub-chore-list button.complete>i{position:relative;border-color:var(--member-color);background:var(--member-color)}.hub-chore-list button.chore-celebrated>i{overflow:visible;animation:chore-done-pop .56s cubic-bezier(.2,1.5,.42,1)}.hub-chore-list button.chore-celebrated>i:before{position:absolute;content:"";inset:-8px;border:3px solid color-mix(in srgb,var(--member-color) 48%,transparent);border-radius:50%;opacity:0;pointer-events:none;animation:chore-done-ring .72s ease-out}.hub-chore-list button.chore-celebrated>i:after{position:absolute;content:"✦";top:-13px;right:-8px;color:#f4b83f;font-size:16px;font-style:normal;line-height:1;text-shadow:-34px 24px 0 color-mix(in srgb,var(--member-color) 75%,#fff);animation:chore-done-sparkle .78s ease-out}@keyframes chore-done-pop{0%{transform:scale(.72) rotate(-9deg)}58%{transform:scale(1.14) rotate(3deg)}to{transform:scale(1) rotate(0)}}@keyframes chore-done-ring{0%{opacity:.8;transform:scale(.58)}to{opacity:0;transform:scale(1.35)}}@keyframes chore-done-sparkle{0%{opacity:0;transform:scale(.4) rotate(-18deg)}38%{opacity:1;transform:scale(1.22) rotate(8deg)}to{opacity:.78;transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.daily-chore-toggle.chore-celebrated,.daily-chore-toggle.chore-celebrated:after,.hub-chore-list button.chore-celebrated>i,.hub-chore-list button.chore-celebrated>i:before,.hub-chore-list button.chore-celebrated>i:after{animation:none}}.hub-chore-list button>i svg{width:20px}.hub-reward-balances{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px}.hub-reward-balances button{min-height:80px;display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:11px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--member-color) 25%,#dfe1dc);border-radius:19px;color:var(--hub-ink);background:color-mix(in srgb,var(--member-color) 7%,#fff);text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.hub-reward-balances button.active{border-color:color-mix(in srgb,var(--member-color) 76%,#355e52);box-shadow:0 0 0 3px color-mix(in srgb,var(--member-color) 20%,transparent);transform:translateY(-2px)}.hub-reward-balances .hub-member-avatar{width:50px;height:50px}.hub-reward-balances button strong,.hub-reward-balances button span{display:block}.hub-reward-balances button small{display:block;margin-top:3px;color:#80691f;font-size:9px;font-weight:750}.hub-reward-balances button strong{font-size:17px}.hub-reward-balances button span{color:var(--hub-muted);font-size:10px}.hub-reward-balances button em{display:flex;align-items:center;gap:5px;color:#96611e;font-size:22px;font-style:normal;font-weight:820}.hub-reward-balances button em svg{width:20px}.hub-reward-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:11px}.hub-reward-grid>button{min-height:164px;display:grid;grid-template-rows:auto 1fr auto;gap:9px;padding:17px;border:1px solid #e0ded7;border-radius:21px;color:var(--hub-ink);background:#fff;text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.hub-reward-grid>button:not(:disabled):active{transform:scale(.98)}.hub-reward-grid>button:disabled{opacity:.55;cursor:not-allowed}.hub-reward-balances button:focus-visible,.hub-reward-grid>button:focus-visible{outline:4px solid #f0a17f;outline-offset:2px}.hub-reward-grid>button>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:#9b691e;background:#faedc8}.hub-reward-grid>button strong{font-size:16px}.hub-reward-grid>button p{margin:5px 0 0;color:var(--hub-muted);font-size:11px;line-height:1.35}.hub-reward-grid>button>em{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#9b691e;font-size:13px;font-style:normal;font-weight:800}.hub-reward-grid>button>em small{color:var(--hub-muted);font-size:10px;font-style:normal;font-weight:700}.hub-display-content:has(.hub-screensaver){padding:0}.hub-screensaver{position:relative;overflow:hidden;background:#173d33}.hub-screensaver>img{width:100%;height:100%;object-fit:cover;opacity:1;animation:display-fade .9s ease;transition:opacity .32s ease}.hub-screensaver>img.is-loading{opacity:0}.hub-screensaver:after{position:absolute;inset:0;background:linear-gradient(90deg,rgb(12 34 28 / 62%),transparent 55%,rgb(12 34 28 / 25%));content:"";pointer-events:none}.hub-screensaver-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#3d4655;background:radial-gradient(circle at 20% 22%,rgb(255 192 105 / 45%),transparent 27%),radial-gradient(circle at 78% 18%,rgb(104 195 232 / 48%),transparent 29%),radial-gradient(circle at 74% 84%,rgb(210 151 218 / 34%),transparent 28%),linear-gradient(145deg,#fff5df,#f8eef8 52%,#e8f6fc)}.hub-screensaver-empty svg{width:60px;height:60px}.hub-screensaver-empty strong{font-family:Georgia,Times New Roman,serif;font-size:31px}.hub-screensaver-empty span{color:#717888}.hub-screensaver-overlay{position:absolute;z-index:2;inset:clamp(24px,5vw,60px);display:flex;align-items:flex-end;justify-content:space-between;gap:30px;color:#fff}.hub-screensaver-overlay.is-loading{opacity:0;pointer-events:none}.hub-screensaver-overlay>div>strong{font-size:clamp(70px,11vw,150px);font-weight:530;letter-spacing:-.08em;line-height:.8}.hub-screensaver-overlay>div>span{margin-left:12px;font-size:clamp(22px,3vw,40px)}.hub-screensaver-overlay>div>p{margin:17px 0 0;color:#ffffffc7;font-size:17px}.hub-screensaver-overlay aside{width:min(390px,42vw);padding:17px;border:1px solid rgb(255 255 255 / 22%);border-radius:19px;background:#0e2c2487;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.hub-screensaver-overlay aside>p{margin:0 0 8px;color:#afd6c6;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hub-screensaver-overlay aside article{display:grid;grid-template-columns:5px 1fr;gap:9px;padding:9px 0;border-top:1px solid rgb(255 255 255 / 14%)}.hub-screensaver-overlay aside article i{border-radius:8px}.hub-screensaver-overlay aside strong,.hub-screensaver-overlay aside span{display:block}.hub-screensaver-overlay aside strong{font-size:14px}.hub-screensaver-overlay aside span{margin-top:3px;color:#ffffffab;font-size:10px}.hub-meal-layout{height:calc(100% - 72px);min-height:470px;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.28fr);gap:13px}.hub-meal-main{min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:13px}.hub-meal-week{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:8px;overflow-x:auto}.hub-meal-week>article{min-width:105px;overflow:hidden;border:1px solid #dedfd9;border-radius:20px;background:#fff}.hub-meal-week>article.today{border-color:#9fcbbc;background:#f3faf7}.hub-meal-week>article>header{display:flex;align-items:baseline;justify-content:space-between;padding:13px;border-bottom:1px solid #e5e5df}.hub-meal-week>article>header span{color:var(--hub-muted);font-size:11px;font-weight:800;text-transform:uppercase}.hub-meal-week>article>header strong{font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:500}.hub-meal-day-action{width:100%;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px 10px;border:0;color:inherit;background:transparent;font:inherit;text-align:center}.hub-meal-day-action:disabled{cursor:default;opacity:1}.hub-meal-week>article.has-meal .hub-meal-day-action{cursor:pointer;transition:background .16s ease,transform .16s ease}.hub-meal-week>article.has-meal .hub-meal-day-action:hover,.hub-meal-week>article.has-meal .hub-meal-day-action:focus-visible{background:#fff5e9}.hub-meal-week>article.has-meal .hub-meal-day-action:active{transform:scale(.98)}.hub-meal-day-action>svg{width:34px;height:34px;color:#d57c52}.hub-meal-day-action>strong{font-size:clamp(12px,1.3vw,16px);line-height:1.25}.hub-meal-day-action>span{color:var(--hub-muted);font-size:10px}.hub-meal-day-action>small{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#b85d3c;font-size:9px;font-weight:800}.hub-meal-day-action>small svg{width:12px;height:12px}.hub-recipe-shelf{padding:14px;border:1px solid #dedfd9;border-radius:20px;background:#fff}.hub-recipe-shelf>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.hub-recipe-shelf>header p{margin:0 0 3px;color:#d16f4b;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.hub-recipe-shelf h2{margin:0;color:var(--hub-ink);font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:500}.hub-recipe-shelf-link{display:inline-flex;align-items:center;gap:5px;color:#c45f3f;font-size:11px;font-weight:800;white-space:nowrap}.hub-recipe-shelf-link svg,.hub-recipe-empty>svg{width:15px;height:15px}.hub-recipe-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.hub-recipe-card{min-width:0;overflow:hidden;padding:0;border:1px solid #e5e5df;border-radius:14px;color:inherit;background:#fffaf3;cursor:pointer;font:inherit;text-align:left;transition:transform .16s ease,border-color .16s ease}.hub-recipe-card:hover{border-color:#d9a88f;transform:translateY(-2px)}.hub-recipe-card>img,.hub-recipe-card-placeholder{width:100%;height:78px;display:grid;place-items:center;object-fit:cover;color:#c56c49;background:#f3dfce}.hub-recipe-card-placeholder svg{width:25px;height:25px}.hub-recipe-card>span:last-child{display:grid;gap:3px;padding:8px 9px 9px}.hub-recipe-card strong{overflow:hidden;color:var(--hub-ink);font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.hub-recipe-card small{color:var(--hub-muted);font-size:10px}.hub-recipe-empty{min-height:90px;display:flex;align-items:center;gap:10px;grid-column:1 / -1;padding:12px;border:1px dashed #d9c8b8;border-radius:14px;color:#c45f3f;background:#fffaf3}.hub-recipe-empty>span{display:grid;gap:3px;flex:1}.hub-recipe-loading{color:#c45f3f}.hub-recipe-empty strong{color:var(--hub-ink);font-size:12px}.hub-recipe-empty small{color:var(--hub-muted);font-size:10px}.hub-grocery-list{overflow:auto;padding:16px;border:1px solid #dedfd9;border-radius:20px;background:#fff}.hub-grocery-list>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.hub-grocery-list>header>svg{width:39px;height:39px;padding:9px;border-radius:12px;color:#3d7563;background:#dceee7}.hub-grocery-list header strong,.hub-grocery-list header span{display:block}.hub-grocery-list header strong{font-size:17px}.hub-grocery-list header span{color:var(--hub-muted);font-size:10px}.hub-grocery-list>p:not(.hub-empty-copy){display:flex;align-items:center;gap:9px;margin:0;padding:12px 0;border-top:1px solid #e8e8e3;font-size:13px;font-weight:680}.hub-grocery-list>p i{width:18px;height:18px;flex:0 0 auto;border:2px solid #bcc8c3;border-radius:6px}.hub-recipe-detail-backdrop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:max(22px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:#122d2585;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:hub-recipe-backdrop-in .18s ease-out}@keyframes hub-recipe-backdrop-in{0%{opacity:0}}.hub-recipe-detail{width:min(1080px,100%);max-height:100%;overflow:hidden;border:1px solid rgb(255 255 255 / 65%);border-radius:30px;background:#fffdf8;box-shadow:0 30px 80px #0b231c52;animation:hub-recipe-sheet-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes hub-recipe-sheet-in{0%{opacity:0;transform:translateY(22px) scale(.98)}}.hub-recipe-detail-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #eadbcf;background:radial-gradient(circle at 85% 10%,rgb(255 206 130 / 42%),transparent 26%),linear-gradient(130deg,#fff2df,#fbe8e2 52%,#e8f3eb)}.hub-recipe-detail-heading{min-width:0;display:flex;align-items:center;gap:15px}.hub-recipe-detail-icon{width:54px;height:54px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;color:#fff9f1;background:linear-gradient(145deg,#ed885b,#c96044);box-shadow:0 9px 22px #b85c3840}.hub-recipe-detail-icon svg{width:28px;height:28px}.hub-recipe-detail-heading p{margin:0 0 3px;color:#9e573f;font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.hub-recipe-detail-heading h1{overflow:hidden;margin:0;color:#193c32;font-family:Georgia,Times New Roman,serif;font-size:clamp(25px,3vw,40px);font-weight:500;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.hub-recipe-detail-close{width:54px;height:54px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #d8cfc6;border-radius:18px;color:#254a3f;background:#ffffffbf;cursor:pointer}.hub-recipe-detail-close svg{width:27px;height:27px}.hub-recipe-detail-body{max-height:calc(100vh - 150px);overflow-y:auto;overscroll-behavior:contain;padding:18px 22px 22px}.hub-recipe-detail-summary{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:18px;padding:14px;border:1px solid #e4e2da;border-radius:22px;background:#fff}.hub-recipe-detail-summary>img,.hub-recipe-detail-placeholder{width:140px;height:105px;display:grid;place-items:center;border-radius:16px;object-fit:cover;color:#b96648;background:linear-gradient(145deg,#f8d8c4,#f9e8c9)}.hub-recipe-detail-placeholder svg{width:44px;height:44px}.hub-recipe-detail-summary p{margin:0;color:#52685f;font-size:14px;line-height:1.5}.hub-recipe-detail-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.hub-recipe-detail-stats span{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;border-radius:999px;color:#345d50;background:#eaf4ef;font-size:11px;font-weight:750}.hub-recipe-detail-stats svg{width:15px;height:15px}.hub-recipe-detail-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.hub-recipe-detail-tabs button{min-height:58px;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 16px;border:1px solid #d9ddd7;border-radius:18px;color:#395b50;background:#f5f7f4;cursor:pointer;font:750 15px Geist,sans-serif}.hub-recipe-detail-tabs button.active{border-color:#429077;color:#fff;background:linear-gradient(135deg,#31745f,#4d9a80);box-shadow:0 9px 22px #266b5430}.hub-recipe-detail-tabs button>svg{width:22px;height:22px}.hub-recipe-detail-tabs button>span{min-width:25px;padding:3px 7px;border-radius:999px;background:#ffffff45;font-size:10px}.hub-recipe-detail-content{min-height:240px;padding:18px;border:1px solid #e1e1da;border-radius:22px;background:#fff}.hub-recipe-detail-content h2{margin:0 0 16px;color:#193c32;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:500}.hub-recipe-ingredients{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;margin:0;padding:0;list-style:none}.hub-recipe-ingredients li{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:9px;padding:10px 5px;border-bottom:1px solid #ecece6;color:#304d44;font-size:13px;line-height:1.4}.hub-recipe-ingredients li>i{width:20px;height:20px;border:2px solid #e2a06e;border-radius:7px;background:#fff7ed}.hub-recipe-ingredients li strong{color:#bd6545}.hub-recipe-ingredients li small{display:block;margin-top:2px;color:#7b8a84;font-size:10px}.hub-recipe-directions{display:grid;gap:12px;margin:0;padding:0;list-style:none}.hub-recipe-directions li{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:13px;padding:12px;border-radius:16px;color:#304d44;background:#f7f5ef;font-size:14px;line-height:1.52}.hub-recipe-directions li>strong{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,#ef8b5d,#ca6546)}.hub-recipe-detail-status{min-height:205px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#40685b;text-align:center}.hub-recipe-detail-status>svg{width:42px;height:42px;margin-bottom:5px}.hub-recipe-detail-status>span,.hub-recipe-detail-empty{color:#788a83;font-size:12px}.hub-recipe-detail-status.is-error{color:#a94f38}.hub-recipe-detail-empty{margin:35px 0;text-align:center}.hub-recipe-detail-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}.hub-recipe-detail-actions a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border:1px solid #d8ddd8;border-radius:15px;color:#345c50;background:#fff;font-size:12px;font-weight:800}.hub-recipe-detail-actions a:last-child{border-color:#d27653;color:#fff;background:linear-gradient(135deg,#e27b55,#bd5c42)}.hub-recipe-detail-actions svg{width:17px;height:17px}@media(min-width:700px)and (orientation:portrait){.hub-recipe-detail-backdrop{align-items:end;padding:max(18px,env(safe-area-inset-top)) 14px 0}.hub-recipe-detail{max-height:calc(100vh - max(18px,env(safe-area-inset-top)));border-radius:28px 28px 0 0}.hub-recipe-detail-body{max-height:calc(100vh - 120px);padding-bottom:max(22px,env(safe-area-inset-bottom))}.hub-recipe-detail-summary{grid-template-columns:112px minmax(0,1fr)}.hub-recipe-detail-summary>img,.hub-recipe-detail-placeholder{width:112px;height:96px}.hub-recipe-ingredients{grid-template-columns:1fr}}.hub-display-launch{gap:7px;white-space:nowrap}@media(max-width:1100px){.hub-display-family>strong,.hub-display-weather-pill span,.hub-display-sync span{display:none}.hub-display-header{gap:14px}.hub-weather-week article{grid-template-columns:1fr auto}.hub-weather-week article>span,.hub-weather-week article>svg{display:none}.hub-reward-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}}@media(min-width:700px)and (max-width:1100px)and (orientation:portrait){.hub-display{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) calc(88px + env(safe-area-inset-bottom))}.hub-display-rail{grid-row:2;padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid #dce3de;border-right:0}.hub-display-mark{display:none}.hub-display-rail nav{flex-direction:row;gap:4px}.hub-display-rail nav button{min-width:0;min-height:70px;flex:1;border-radius:15px;font-size:10px}.hub-display-rail nav button.active:before{inset:-7px auto auto;width:32px;height:4px;border-radius:0 0 5px 5px}.hub-display-stage{grid-row:1;grid-template-rows:84px minmax(0,1fr)}.hub-display-header{grid-template-columns:1fr auto auto;padding-left:max(16px,env(safe-area-inset-left))}.hub-display-date strong{font-size:clamp(24px,5vw,34px)}.hub-display-date span,.hub-display-family,.hub-display-sync,.hub-display-header-actions button{display:none}.hub-display-weather-pill{min-height:48px}.hub-display-header-actions a{width:48px;height:48px}.hub-display-content{overflow:auto;padding:14px}.hub-calendar-grid,.hub-chore-members{height:auto;grid-auto-columns:minmax(240px,76vw);grid-template-columns:none;grid-auto-flow:column;overflow-x:auto;scroll-snap-type:x mandatory}.hub-chore-week{grid-template-columns:50px minmax(0,1fr) 50px auto}.hub-chore-days{grid-template-columns:repeat(7,minmax(58px,1fr))}.hub-chore-days button,.hub-chore-week-arrow,.hub-chore-today{min-height:60px}.hub-chore-members>article{max-height:none}.hub-calendar-grid>article{scroll-snap-align:start}.hub-calendar .hub-section-heading{align-items:flex-start}.hub-calendar-switcher button{min-height:48px;padding-inline:11px;font-size:10px}.hub-school-calendar{height:auto;grid-template-columns:1fr}.hub-school-months{grid-template-columns:repeat(2,minmax(330px,1fr))}.hub-school-calendar>aside{display:grid;grid-template-columns:repeat(2,1fr);gap:0 16px}.hub-school-calendar>aside>p,.hub-school-calendar>aside>strong,.hub-school-calendar>aside>footer{grid-column:1 / -1}.hub-weather{display:flex;flex-direction:column;overflow:visible}.hub-weather-current{min-height:280px}.hub-weather-hours{grid-template-columns:repeat(6,minmax(86px,1fr));overflow-x:auto}.hub-weather-week{grid-template-columns:1fr}.hub-weather-week article{grid-template-columns:1fr 30px 1fr auto}.hub-weather-week article>span,.hub-weather-week article>svg{display:block}.hub-reward-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.hub-display-content:has(.hub-screensaver){overflow:hidden;padding:0}.hub-screensaver-overlay{flex-direction:column;align-items:stretch;justify-content:flex-end}.hub-screensaver-overlay aside{width:auto}.hub-meal-layout{height:auto;grid-template-columns:1fr}.hub-meal-main{grid-template-rows:auto auto}.hub-meal-week{grid-template-columns:repeat(7,minmax(135px,1fr))}.hub-recipe-shelf-link{min-height:44px;padding-inline:8px}.hub-recipe-cards{grid-template-columns:repeat(4,minmax(180px,1fr));overflow-x:auto;padding-bottom:4px}}@media(min-width:700px)and (orientation:portrait),(min-width:851px)and (max-height:1200px)and (orientation:landscape){.hub-display{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.hub-display-stage{grid-row:1;grid-column:1}.hub-display-rail{position:fixed;z-index:12;inset:0 auto 0 0;width:76px;padding:max(12px,env(safe-area-inset-top)) 6px max(12px,env(safe-area-inset-bottom));border-right:1px solid #d3ddd8;border-top:0;box-shadow:12px 0 30px #233e3529;transform:translate(-105%);transition:transform .18s ease}.hub-display-nav-open .hub-display-rail{transform:translate(0)}.hub-display-mark{display:none}.hub-display-rail nav{flex-direction:column;justify-content:center;gap:4px}.hub-display-rail nav button{min-width:0;min-height:56px;flex:0 0 auto;gap:3px;padding:5px 2px;border-radius:13px;font-size:9px;line-height:1}.hub-display-rail nav button svg{width:20px;height:20px}.hub-display-rail nav button.active:before{inset:50% auto auto -6px;width:3px;height:27px;border-radius:0 5px 5px 0;transform:translateY(-50%)}.hub-display-nav-toggle{position:fixed;z-index:13;top:max(96px,calc(env(safe-area-inset-top) + 72px));left:0;width:38px;height:58px;display:grid;place-items:center;padding:0;border:1px solid #d3ddd8;border-left:0;border-radius:0 15px 15px 0;color:#245a4b;background:#fffffff0;box-shadow:5px 5px 18px #233e3524;transition:left .18s ease}.hub-display-nav-open .hub-display-nav-toggle{left:76px}.hub-display-nav-toggle svg{width:20px;height:20px}.hub-display-chores .hub-display-stage{grid-template-rows:58px minmax(0,1fr)}.hub-display-chores .hub-display-header{gap:8px;padding:max(6px,env(safe-area-inset-top)) 10px 6px 48px}.hub-display-chores .hub-display-date strong{font-size:23px}.hub-display-chores .hub-display-date span,.hub-display-chores .hub-display-family>strong,.hub-display-chores .hub-display-weather-pill span,.hub-display-chores .hub-display-sync span{display:none}.hub-display-chores .hub-display-weather-pill{min-height:40px;padding:6px 9px}.hub-display-chores .hub-display-header-actions button,.hub-display-chores .hub-display-header-actions a{width:42px;height:42px;border-radius:13px}.hub-display-chores .hub-display-content{overflow:hidden;padding:7px 9px 9px}.hub-display-chores .hub-chores{display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.hub-display-chores .hub-section-heading{min-height:29px;margin-bottom:4px}.hub-display-chores .hub-section-heading p{display:none}.hub-display-chores .hub-section-heading h1{font-size:24px}.hub-display-chores .hub-section-heading>span{padding:5px 8px;font-size:9px}.hub-display-chores .hub-chore-week{grid-template-columns:42px minmax(0,1fr) 42px auto;gap:4px;margin-bottom:6px}.hub-display-chores .hub-chore-days{grid-template-columns:repeat(7,minmax(40px,1fr));gap:4px}.hub-display-chores .hub-chore-days button,.hub-display-chores .hub-chore-week-arrow,.hub-display-chores .hub-chore-today{min-height:44px;height:44px;border-radius:11px}.hub-display-chores .hub-chore-days button{padding:4px 2px}.hub-display-chores .hub-chore-days button span{font-size:9px}.hub-display-chores .hub-chore-days button strong{font-size:17px}.hub-display-chores .hub-chore-days button small{display:none}.hub-display-chores .hub-chore-week-arrow svg{width:18px;height:18px}.hub-display-chores .hub-chore-today{min-width:58px;padding-inline:9px;font-size:10px}.hub-display-chores .hub-chore-members{height:auto;min-height:0;grid-template-columns:none;grid-auto-columns:minmax(0,calc((100% - 8px)/2));grid-auto-flow:column;gap:8px;overflow-x:auto;padding-bottom:0;scroll-snap-type:x proximity}.hub-display-chores .hub-chore-members>article{max-height:none;border-radius:18px}.hub-display-chores .hub-chore-members>article>header{grid-template-columns:42px minmax(0,1fr) auto;gap:7px;padding:8px}.hub-display-chores .hub-chore-members>article>header .hub-member-avatar{width:42px;height:42px}.hub-display-chores .hub-chore-members>article>header strong{font-size:19px}.hub-display-chores .hub-chore-members>article>header em{padding:4px 6px}.hub-display-chores .hub-chore-member-stats{gap:3px}.hub-display-chores .hub-chore-list{gap:8px;padding:8px}.hub-display-chores .hub-chore-period{gap:5px}.hub-display-chores .hub-chore-list button{min-height:58px;grid-template-columns:34px minmax(0,1fr) auto 34px;gap:6px;padding:7px 8px;border-radius:13px}.hub-display-chores .hub-chore-list button>span:first-child{font-size:23px}.hub-display-chores .hub-chore-copy{gap:2px}.hub-display-chores .hub-chore-copy strong{font-size:13px}.hub-display-chores .hub-chore-copy small{font-size:9px}.hub-display-chores .hub-chore-points{padding:4px 5px;font-size:9px}.hub-display-chores .hub-chore-list button>i{width:34px;height:34px}}@media(max-width:699px){.hub-display-launch{display:none!important}}@media(hover:none){.hub-display button:focus-visible,.hub-display a:focus-visible{outline:3px solid #de704b;outline-offset:2px}}@media(prefers-reduced-motion:reduce){.hub-display *,.hub-display *:before,.hub-display *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:600px){.account-page{gap:14px}.account-hero{min-height:0;padding:20px;grid-template-columns:auto minmax(0,1fr);gap:14px;border-radius:17px}.profile-avatar.large{width:64px;height:64px;font-size:18px}.account-hero h2{font-size:22px}.account-hero>div:nth-child(2)>p:last-child{font-size:var(--font-9);line-height:1.4}.account-trust-card{padding:12px}.account-panel{padding:18px;border-radius:16px}.account-panel-header{padding-bottom:17px}.account-section-stack{padding-top:17px;gap:14px}.profile-photo-row{align-items:flex-start;padding:14px}.account-field-grid,.data-control-grid,.visibility-options{grid-template-columns:1fr}.account-save-bar{align-items:stretch;flex-direction:column}.account-save-bar .button,.account-action{width:100%}.digest-card{grid-template-columns:auto 1fr}.digest-card select{grid-column:1 / -1}.security-card-title.split{flex-wrap:wrap}.security-card-title.split .button{width:100%}.delete-confirmation{align-items:end;padding:0}.delete-confirmation>div{width:100%;padding:25px 20px max(25px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0}}.admin-security{display:flex;align-items:flex-start;gap:17px}.admin-security h3{margin:2px 0 7px}.admin-security p:last-child{margin:0;color:var(--muted);font-size:var(--font-11);line-height:1.55}.loading-panel{min-height:250px;display:flex;place-content:center;align-items:center;gap:10px;color:var(--muted)}.family-loading-scene{position:relative;min-height:360px;overflow:hidden;display:grid;place-items:center;align-content:center;gap:20px;padding:36px;border:1px solid #eadfda;border-radius:28px;color:#303d49;background:radial-gradient(circle at 18% 20%,rgb(255 205 124 / 48%),transparent 25%),radial-gradient(circle at 82% 18%,rgb(126 204 234 / 45%),transparent 27%),radial-gradient(circle at 78% 85%,rgb(201 164 226 / 35%),transparent 29%),linear-gradient(145deg,#fff9ec,#f8f1fa 48%,#eaf7fc);box-shadow:0 20px 60px #634d441a;isolation:isolate}.family-loading-hub{position:fixed;z-index:50;inset:0;min-height:100dvh;border:0;border-radius:0}.family-loading-photo{position:absolute;z-index:2;inset:0;min-height:0;border:0;border-radius:0;background:radial-gradient(circle at 18% 23%,rgb(255 199 113 / 48%),transparent 27%),radial-gradient(circle at 84% 16%,rgb(113 196 232 / 50%),transparent 29%),radial-gradient(circle at 72% 88%,rgb(229 151 181 / 36%),transparent 29%),linear-gradient(145deg,#fff6df,#f8ecf6 48%,#e7f6fc)}.family-loading-sky{position:relative;width:clamp(210px,28vw,320px);aspect-ratio:1;display:grid;place-items:center}.family-loading-orbit{position:relative;width:82%;height:82%;border:2px dashed rgb(105 126 151 / 22%);border-radius:50%;animation:family-orbit-turn 18s linear infinite}.family-loading-orbit-item{--orbit-angle: calc(var(--orbit-index) * 60deg);position:absolute;top:50%;left:50%;width:clamp(42px,5vw,58px);height:clamp(42px,5vw,58px);display:grid;place-items:center;border:1px solid rgb(255 255 255 / 74%);border-radius:18px;background:#ffffffd9;box-shadow:0 10px 25px #434b5e21;font-size:clamp(21px,2.4vw,29px);transform:translate(-50%,-50%) rotate(var(--orbit-angle)) translateY(clamp(-130px,-11.5vw,-88px)) rotate(calc(var(--orbit-angle) * -1));animation:family-orbit-counter 18s linear infinite}.family-loading-home{position:absolute;inset:50% auto auto 50%;width:clamp(92px,11vw,130px);height:clamp(92px,11vw,130px);display:grid;place-items:center;border:6px solid rgb(255 255 255 / 78%);border-radius:36%;background:linear-gradient(145deg,#ffb778,#ed7e68);box-shadow:0 18px 40px #c7674f47;font-size:clamp(48px,6vw,70px);transform:translate(-50%,-50%);animation:family-home-breathe 1.9s ease-in-out infinite}.family-loading-home i{position:absolute;color:#fff4b6;font-size:16px;font-style:normal;animation:family-sparkle 1.5s ease-in-out infinite}.family-loading-home i:nth-child(2){top:-18px;right:3px}.family-loading-home i:nth-child(3){right:-22px;bottom:16px;animation-delay:.45s}.family-loading-home i:nth-child(4){bottom:-18px;left:2px;animation-delay:.85s}.family-loading-cloud{position:absolute;z-index:-1;color:#ffffffb8;font-size:clamp(42px,6vw,70px);filter:drop-shadow(0 8px 12px rgb(76 99 119 / 8%));animation:family-cloud-float 5.5s ease-in-out infinite}.family-loading-cloud.cloud-one{top:4%;left:-24%}.family-loading-cloud.cloud-two{right:-24%;bottom:7%;animation-delay:-2.8s}.family-loading-copy{max-width:610px;text-align:center}.family-loading-copy strong{display:block;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,48px);font-weight:520;letter-spacing:-.035em}.family-loading-copy p{margin:10px 0 0;color:#66717e;font-size:clamp(13px,1.55vw,18px);line-height:1.5}.family-loading-dots{display:inline-flex;gap:7px;margin-top:18px}.family-loading-dots i{width:9px;height:9px;border-radius:50%;background:#e3785b;animation:family-dot-hop .9s ease-in-out infinite alternate}.family-loading-dots i:nth-child(2){background:#5aa8ce;animation-delay:.16s}.family-loading-dots i:nth-child(3){background:#9a73b5;animation-delay:.32s}@keyframes family-orbit-turn{to{transform:rotate(360deg)}}@keyframes family-orbit-counter{to{rotate:-360deg}}@keyframes family-home-breathe{0%,to{transform:translate(-50%,-50%) scale(.96) rotate(-1deg)}50%{transform:translate(-50%,-50%) scale(1.04) rotate(1deg)}}@keyframes family-sparkle{0%,to{opacity:.35;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(20deg)}}@keyframes family-cloud-float{0%,to{transform:translate(-8px) translateY(2px)}50%{transform:translate(12px) translateY(-5px)}}@keyframes family-dot-hop{to{transform:translateY(-8px) scale(1.08)}}.empty-state{min-height:200px;padding:30px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state>span{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:#527b6e;background:#e3eee9}.empty-state h3{margin:14px 0 6px;font-size:15px}.empty-state p{max-width:360px;margin:0 0 15px;color:var(--muted);font-size:var(--font-10);line-height:1.5}.scrim{display:none}@media(max-width:1100px){.app-frame{grid-template-columns:220px 1fr}.sidebar{padding-inline:13px}.stat-grid{grid-template-columns:repeat(2,1fr)}.family-grid{grid-template-columns:repeat(3,1fr)}.feature-grid.three{grid-template-columns:1fr}.banking-checklist{grid-template-columns:repeat(3,minmax(120px,1fr))}.reward-layout{grid-template-columns:1fr}.routine-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.reward-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.redemption-panel{position:static}.meal-layout,.delivery-layout,.safety-layout,.delivery-capabilities{grid-template-columns:1fr}.delivery-provider-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-hero,.weather-grid,.screensaver-setup-grid,.photo-integration-grid{grid-template-columns:1fr}.social-photo-candidate-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.school-dashboard-layout{grid-template-columns:1fr}.school-message-timeline{max-height:none}.school-timeline-list{max-height:480px}.school-year-hero,.school-calendar-legend{grid-template-columns:1fr}.school-legend-items{grid-template-columns:repeat(2,minmax(170px,1fr))}.school-year-grid{grid-template-columns:repeat(2,minmax(270px,1fr))}.list-board{grid-template-columns:repeat(2,minmax(0,1fr))}.safety-cards{display:grid;grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.auth-layout{grid-template-columns:1fr}.auth-story{display:none}.auth-panel{min-height:100vh;padding:35px 24px}.mobile-brand{display:flex;color:var(--ink)}.app-frame{display:block}.chore-momentum{grid-template-columns:1fr}.sidebar{width:260px;position:fixed;left:0;transform:translate(-105%);transition:transform .18s ease;box-shadow:15px 0 50px #071c1740}.sidebar.open{transform:none}.sidebar-close{display:grid!important;border-color:#ffffff1f;background:transparent;color:#fff}.scrim{display:block;position:fixed;z-index:35;inset:0;border:0;background:#0a1e1973}.menu-button{display:grid!important}.topbar{padding:0 20px}.topbar>div:first-of-type{margin-right:auto;margin-left:12px}.global-search{display:none}.dashboard-grid,.money-hero,.admin-grid,.admin-operations-grid{grid-template-columns:1fr}.family-grid{grid-template-columns:repeat(2,1fr)}.quick-actions>div{grid-template-columns:1fr}.kanban-board{grid-template-columns:repeat(4,260px);padding-bottom:8px}.mobile-nav{height:66px;position:fixed;z-index:32;left:12px;right:12px;bottom:10px;display:grid;grid-template-columns:repeat(5,1fr);padding:5px;border:1px solid rgb(255 255 255 / 10%);border-radius:17px;background:#173d33f2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 30px #0c231d4d}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#9bb8ae;font-size:var(--font-8)}.mobile-nav a.active{color:#fff}.mobile-nav a.active svg{color:#f29473}.page-content{padding-bottom:100px}}@media(max-width:600px){.social-photo-candidate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.social-photo-picker>footer{align-items:stretch;flex-direction:column}.social-photo-picker>footer>div .button{flex:1}.topbar{height:68px}.top-actions .avatar{display:none}.topbar>div:first-of-type p{display:none}.topbar>div:first-of-type h1{font-size:16px}.page-content{padding:24px 15px 95px}.page-stack{gap:18px}.page-heading{align-items:flex-start;flex-direction:column;gap:16px}.page-heading h2{font-size:34px}.page-heading>.button{width:100%}.weather-hero{min-height:0;gap:27px;padding:26px}.screensaver-intro{align-items:flex-start;flex-direction:column}.photo-integrations{padding:19px}.photo-integration-actions{align-items:flex-start;flex-direction:column}.photo-integration-actions small{text-align:left}.screensaver-intro>.button{width:100%}.screensaver-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.screensaver-photo-grid button,.screensaver-photo-focus{opacity:1}.family-display-mode header{inset:31px 24px auto}.family-display-brand{display:none}.family-display-mode header strong{font-size:76px}.family-display-events{left:18px;right:18px;bottom:72px;width:auto}.weather-hero-metrics{grid-template-columns:repeat(2,1fr)}.weather-sun-orbit{right:-110px;top:-145px;transform:scale(.75)}.weather-week-panel{overflow:hidden}.weather-attribution{text-align:left}.list-board{grid-template-columns:1fr}.behavior-chart-section{padding:15px}.behavior-section-heading{align-items:flex-start;flex-direction:column}.behavior-section-heading .button{width:100%;justify-content:center}.behavior-chart-header{align-items:flex-start}.behavior-child h3{font-size:19px}.behavior-toggle{flex:none}.behavior-progress-row{grid-template-columns:1fr;gap:10px}.behavior-table-scroll,.behavior-chart-footer{margin-inline:11px}.list-card,.new-list-card,.list-items{min-height:0}.list-delete,.list-items li>button{opacity:1}.list-empty-state{align-items:flex-start;flex-direction:column;padding:25px}.heading-actions{width:100%}.heading-actions .button{flex:1}.workspace-tabs{width:100%;overflow-x:auto}.workspace-tabs button{min-width:max-content;flex:1 0 auto;justify-content:center}.daily-chore-toolbar{align-items:stretch;flex-direction:column}.daily-date-actions{justify-content:space-between}.daily-date-actions .button{flex:1}.starter-chore-callout{grid-template-columns:auto 1fr}.starter-chore-callout .button{grid-column:1 / -1;width:100%}.daily-member-board{margin-right:-15px}.daily-member-column{min-width:min(310px,88vw)}.calendar-actions{width:100%}.calendar-actions .button{flex:1}.welcome-banner{min-height:175px;padding:24px;flex-direction:column;align-items:flex-start}.welcome-banner h2{font-size:29px}.member-stack{padding:10px 0 0 8px}.stat-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:125px;align-items:flex-start;flex-direction:column;gap:10px}.stat-card>div{width:100%}.stat-card strong{font-size:24px}.panel{padding:19px}.dashboard-grid{gap:13px}.schedule-panel{overflow:hidden}.timeline-row{grid-template-columns:32px 14px 30px 1fr}.timeline-row>.avatar{display:none}.form-grid{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:0}.modal{max-height:92vh;padding:23px 20px;border-radius:22px 22px 0 0}.modal-actions{position:sticky;bottom:-23px;padding:12px 0 20px;background:#faf9f5}.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-sync-summary{grid-template-columns:1fr}.date-navigation{flex-wrap:wrap}.date-navigation strong{width:100%;margin:4px}.segmented button{flex:1}.week-grid{margin-right:-15px;border-radius:14px 0 0 14px}.chore-overview{grid-template-columns:1fr}.routine-hero{padding:20px;align-items:stretch;flex-direction:column}.routine-today-score{width:100%}.routine-grid{grid-template-columns:1fr}.routine-step-input{grid-template-columns:22px 1fr 72px}.routine-step-input>button{grid-column:2 / -1;justify-self:end}.chore-momentum{padding:19px;gap:20px}.chore-bars{gap:6px}.reward-grid{grid-template-columns:1fr}.reward-card{min-height:210px}.family-grid{grid-template-columns:1fr}.meal-week{margin-right:-19px}.safety-cards{grid-template-columns:1fr}.map-placeholder{min-height:380px}.feature-grid.three{gap:10px}.money-metrics,.banking-readiness-heading{flex-direction:column}.banking-checklist{grid-template-columns:1fr}.google-connect-card{grid-template-columns:auto 1fr}.calendar-provider-grid{grid-template-columns:1fr}.calendar-provider-heading{align-items:start;flex-direction:column}.calendar-provider-heading>span{text-align:left}.google-connect-card>.button{grid-column:1 / -1;width:100%}.linked-calendar-header{flex-direction:column}.linked-calendar-actions{width:100%}.linked-calendar-actions .button{flex:1}.school-toolbar{align-items:stretch;flex-direction:column}.school-health-strip{grid-template-columns:auto 1fr auto}.school-health-metrics{grid-column:1 / -1;border-top:1px solid #dfe5df;border-left:0;padding-top:8px}.school-month-focus{padding:14px}.school-month-focus-header{flex-direction:column}.school-month-focus-actions{width:100%;justify-content:space-between}.school-focus-day{min-height:63px;padding:5px}.school-focus-event{min-height:25px;padding:4px;border-left-width:2px;font-size:var(--font-6)}.school-year-hero{padding:21px}.school-year-stats{grid-template-columns:1fr}.school-calendar-legend{padding:16px}.school-legend-items,.school-year-grid{grid-template-columns:1fr}.school-calendar-section-heading{align-items:flex-start;flex-direction:column}.school-month-card{min-height:auto}.school-year-notes{grid-template-columns:1fr}.school-card-actions{flex-direction:column}.school-card-actions .button{width:100%}.calendar-connection-health{grid-template-columns:auto 1fr}.calendar-connection-health .button{grid-column:1 / -1;width:100%}.admin-badge{align-self:flex-start}.admin-security{flex-direction:column}}@supports (content-visibility: auto){.page-stack>section:nth-of-type(n+3),.school-inbox-section,.school-year-calendar-section,.school-year-notes{content-visibility:auto;contain-intrinsic-block-size:auto 560px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.recipe-page{--recipe-cream: #f5eee2;--recipe-green: #205849}.recipe-sync-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:15px 17px;border:1px solid #cfe2d9;border-radius:16px;background:#f0f7f3}.recipe-sync-card.needs-attention{border-color:#dfb6aa;background:#fff3ef}.recipe-sync-card.partial{border-color:#ead6ad;background:#fff8e9}.recipe-sync-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:var(--recipe-green);background:#dceee7}.recipe-sync-card.needs-attention .recipe-sync-icon,.recipe-sync-card.partial .recipe-sync-icon{color:#8b6014;background:#f7e7c4}.recipe-sync-card strong,.recipe-sync-card p{display:block;margin:0}.recipe-sync-card>div:nth-child(2)>strong{font-size:var(--font-13)}.recipe-sync-card p{margin-top:3px;color:var(--muted);font-size:var(--font-11);line-height:1.5}.recipe-sync-total{min-width:74px;padding-left:16px;border-left:1px solid rgb(32 88 73 / 13%);text-align:right}.recipe-sync-total strong{font:700 21px Geist Mono}.recipe-sync-total span{color:var(--muted);font-size:var(--font-10)}.recipe-source-health{display:flex;flex-wrap:wrap;gap:7px;margin-top:-8px}.recipe-source-health a{min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:#fffefab3;font-size:var(--font-9);text-decoration:none}.recipe-source-health a:hover{border-color:#becdc5}.recipe-source-health i{width:6px;height:6px;border-radius:50%}.recipe-source-health i.healthy{background:var(--mint)}.recipe-source-health i.error{background:var(--coral)}.recipe-source-health i.warning{background:var(--gold)}.recipe-source-health small{color:var(--muted);font-size:var(--font-8)}.recipe-tools{display:flex;align-items:center;justify-content:space-between;gap:16px}.recipe-search-field{width:min(100%,440px);min-height:46px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid var(--line);border-radius:14px;color:#7a8782;background:var(--surface);box-shadow:0 5px 16px #1e362f0a}.recipe-search-field:focus-within{border-color:#8daf9f;box-shadow:0 0 0 3px #74b59e29}.recipe-search-field input{width:100%;border:0;outline:0;color:var(--ink);background:none}.recipe-search-clear{width:30px;height:30px;display:grid;flex:0 0 auto;place-items:center;padding:0;border:0;border-radius:9px;color:var(--muted);background:#f0f1ec;cursor:pointer}.recipe-source-filters{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.recipe-source-filters::-webkit-scrollbar{display:none}.recipe-source-filters button{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);white-space:nowrap;cursor:pointer}.recipe-source-filters button.active{border-color:var(--forest);color:#fff;background:var(--forest)}.recipe-source-filters i{width:6px;height:6px;border-radius:50%;background:var(--gold)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;transition:opacity .16s ease}.recipe-grid.is-refreshing{opacity:.58;pointer-events:none}.recipe-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:18px;color:inherit;background:var(--surface);box-shadow:0 7px 22px #1b352d0d;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.recipe-card:hover{transform:translateY(-3px);border-color:#c9d5ce;box-shadow:0 15px 34px #1b352d1a}.recipe-card:focus-visible{outline:3px solid rgb(116 181 158 / 36%);outline-offset:2px}.recipe-card-img{aspect-ratio:16 / 10;display:grid;place-items:center;overflow:hidden;color:#718079;background:var(--recipe-cream)}.recipe-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.recipe-card:hover .recipe-card-img img{transform:scale(1.035)}.recipe-card-body{min-height:176px;display:flex;flex:1;flex-direction:column;gap:7px;padding:17px}.recipe-card-source{margin:0;color:var(--coral-dark);font-size:var(--font-9);font-weight:760;letter-spacing:.09em;text-transform:uppercase}.recipe-card-body h3{display:-webkit-box;overflow:hidden;margin:0;font-size:17px;line-height:1.26;-webkit-box-orient:vertical;-webkit-line-clamp:2}.recipe-card-body>p:not(.recipe-card-source){display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:var(--font-11);line-height:1.48;-webkit-box-orient:vertical;-webkit-line-clamp:2}.recipe-card-meta{min-height:20px;display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin-top:auto;padding-top:7px;color:#66736e;font-size:var(--font-10)}.recipe-card-meta span{display:inline-flex;align-items:center;gap:4px}.recipe-card-skeleton{cursor:default}.recipe-card-skeleton .recipe-card-img,.recipe-card-skeleton .recipe-card-body i{background:linear-gradient(100deg,#eeece5 30%,#f7f6f1,#eeece5 70%);background-size:250% 100%;animation:recipe-shimmer 1.3s infinite linear}.recipe-card-skeleton .recipe-card-body i{width:55%;height:12px;border-radius:6px}.recipe-card-skeleton .recipe-card-body i:nth-child(2){width:88%;height:20px}.recipe-card-skeleton .recipe-card-body i:nth-child(3){width:70%}@keyframes recipe-shimmer{to{background-position-x:-250%}}.modal:has(>.recipe-detail){width:min(100%,980px)}.recipe-detail{margin:22px -28px -28px;overflow:hidden;border-top:1px solid var(--line);background:#fffefa}.recipe-hero{width:100%;max-height:380px;display:block;object-fit:cover}.recipe-detail-body{padding:26px 28px 30px}.recipe-detail-summary{max-width:760px;margin:0;color:var(--muted);font-size:var(--font-13);line-height:1.65}.recipe-stats{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px}.recipe-stats .stat{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;color:#4f615a;background:#f1f3ee;font-size:var(--font-10)}.recipe-detail-columns{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(320px,1.18fr);gap:34px;padding-top:4px}.recipe-detail section h3{margin:0 0 13px;font-size:15px}.ingredient-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.ingredient-list li{display:grid;grid-template-columns:auto 1fr;gap:9px;padding:9px 0;border-bottom:1px solid #ecece6;color:#52605b;font-size:var(--font-11);line-height:1.45}.ingredient-list strong{color:var(--ink)}.ingredient-check{width:16px;height:16px;margin-top:1px;border:1px solid #cfd8d2;border-radius:5px;background:#fff}.instruction-list{display:flex;flex-direction:column;gap:13px;margin:0;padding:0;list-style:none;counter-reset:recipe-step}.instruction-list li{display:grid;grid-template-columns:27px 1fr;gap:10px;color:#52605b;font-size:var(--font-11);line-height:1.58;counter-increment:recipe-step}.instruction-list li:before{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;color:var(--recipe-green);background:#e4f0eb;content:counter(recipe-step);font:700 var(--font-10) "Geist Mono"}.recipe-missing-copy{color:var(--muted);font-size:var(--font-11)}.recipe-detail-actions{display:flex;gap:9px;margin-top:25px;padding-top:18px;border-top:1px solid var(--line)}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:10px;color:var(--muted);font-size:var(--font-11)}@media(max-width:850px){html,body,#root{min-height:100%;overflow-x:clip}.sidebar{width:min(310px,88vw);height:100dvh;padding-top:max(22px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.primary-nav{padding-bottom:14px}.content-frame{width:100%}.topbar{min-height:calc(68px + env(safe-area-inset-top));height:auto;padding-top:env(safe-area-inset-top)}.mobile-nav{height:auto;min-height:66px;bottom:max(8px,env(safe-area-inset-bottom));grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-nav a,.mobile-nav button{min-width:0;min-height:54px;padding:4px 2px;border:0;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#9bb8ae;background:transparent;font:inherit;font-size:var(--font-9);cursor:pointer}.mobile-nav a.active,.mobile-nav button.active{color:#fff;background:#ffffff12}.mobile-nav a.active svg,.mobile-nav button.active svg{color:#f29473}.page-content{width:100%;padding-bottom:calc(108px + env(safe-area-inset-bottom))}.scrim{height:100dvh;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.school-table-wrap,.week-grid,.meal-week,.kanban-board,.daily-member-board,.weather-hourly-list,.weather-week-list,.workspace-tabs,.school-filter-row{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.week-grid>article,.meal-week>div,.kanban-column,.daily-member-column,.weather-hourly-list>div,.weather-week-list>article{scroll-snap-align:start}}@media(max-width:600px){.auth-panel,.onboarding-layout{min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom))}.auth-form-card,.onboarding-card{width:100%;padding:24px 20px;border-radius:22px}.onboarding-card h1{font-size:34px}input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{font-size:16px!important}.button,.icon-button,.segmented button,.school-filter-row button,.workspace-tabs button,.request-actions button{min-height:44px}.icon-button{width:44px;height:44px}.topbar{padding-inline:14px}.topbar>div:first-of-type{min-width:0;margin-left:9px}.topbar>div:first-of-type h1{max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-content{padding-inline:14px;padding-top:20px}.page-heading{gap:13px}.page-heading h2{font-size:clamp(29px,9.5vw,36px)}.page-heading>div,.page-heading>div>p:last-child{max-width:100%}.heading-actions,.calendar-actions,.linked-calendar-actions,.calendar-provider-actions,.school-card-actions,.modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.heading-actions>:only-child,.calendar-actions>:only-child,.linked-calendar-actions>:only-child,.calendar-provider-actions>:only-child,.school-card-actions>:only-child{grid-column:1 / -1}.heading-actions .button,.calendar-actions .button,.linked-calendar-actions .button,.calendar-provider-actions .button,.school-card-actions .button{width:100%;min-width:0;padding-inline:10px}.panel,.photo-integrations{padding:17px;border-radius:16px}.panel-header{align-items:flex-start;gap:12px}.panel-header h3{font-size:19px}.core-sync-status{top:calc(76px + env(safe-area-inset-top));right:12px;left:12px;justify-content:center}.toast-stack{right:12px;bottom:calc(88px + env(safe-area-inset-bottom));left:12px}.toast-stack>div{width:100%}.modal-backdrop,.modal-overlay{position:fixed;z-index:100;inset:0;display:flex;align-items:flex-end;padding:0;background:#0a1e1994;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal,.recipe-detail,.social-photo-picker{width:100%;max-width:none;max-height:calc(94dvh - env(safe-area-inset-top));padding:20px 18px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.modal>header h2,.recipe-detail-body h2{font-size:23px}.modal-actions{bottom:calc(-18px - env(safe-area-inset-bottom));margin-inline:-18px;padding:12px 18px calc(18px + env(safe-area-inset-bottom))}.modal-actions .button{width:100%}.recipe-grid{grid-template-columns:1fr}.recipe-search-bar .input-wrap{max-width:none;flex-direction:column}.recipe-search-bar .button{width:100%}.recipe-card{min-height:0}.recipe-card-img{aspect-ratio:16 / 9}.recipe-detail{padding:0 0 env(safe-area-inset-bottom)}.recipe-detail-body{padding:18px}.recipe-hero{max-height:230px}.pagination{justify-content:space-between;gap:8px}.pagination .button{flex:1}.calendar-toolbar,.date-navigation{gap:8px}.date-navigation{display:grid;grid-template-columns:1fr auto auto}.date-navigation strong{grid-column:1 / -1;grid-row:2;margin:4px 0 0;font-size:var(--font-12)}.calendar-toolbar>.segmented{width:100%}.member-filter,.school-filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.member-filter>span,.school-filter-row button{flex:0 0 auto}.week-grid{grid-template-columns:repeat(7,minmax(78vw,1fr))}.agenda-panel{padding:8px 16px}.calendar-provider-card,.linked-calendar-panel,.google-connect-card,.calendar-provider-card-heading,.linked-calendar-header{min-width:0}.calendar-provider-card h3,.linked-calendar-header h3{overflow-wrap:anywhere}.apple-connect-form,.calendar-source-row,.calendar-connection-health{grid-template-columns:1fr}.school-health-strip{grid-template-columns:auto minmax(0,1fr)}.school-health-strip>.button{grid-column:1 / -1;width:100%}.school-month-focus-actions{align-items:stretch;flex-wrap:wrap}.school-month-focus-actions>.button{flex:1 0 100%}.school-focus-date-number em{width:6px;height:6px;overflow:hidden;padding:0;color:transparent;border-radius:50%}.school-message-timeline,.school-timeline-list{max-height:none}.school-toolbar-actions,.school-toolbar-actions .segmented{width:100%}.school-table{min-width:820px}.school-table-wrap:after{content:"Swipe to see all columns →";position:sticky;left:0;display:block;width:max-content;padding-top:8px;color:var(--muted);font-size:var(--font-9)}.school-year-grid{gap:12px}.weather-hero{padding:24px 20px;border-radius:20px}.weather-temperature-row strong{font-size:68px}.weather-hero-metrics>div{min-height:76px;padding:11px}.weather-hourly-list,.weather-week-list{margin-right:-17px;padding-right:17px}.photo-integration-card{grid-template-columns:42px minmax(0,1fr);min-height:0;padding:15px}.photo-integration-actions{display:flex}.photo-integration-actions .button,.photo-integration-actions.social-actions>div{width:100%}.photo-integration-actions.social-actions>div .button{flex:1}.screensaver-photo-grid,.social-photo-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-display-mode header{inset:max(24px,env(safe-area-inset-top)) 18px auto}.family-display-mode header strong{font-size:clamp(50px,20vw,72px)}.family-display-events{bottom:calc(82px + env(safe-area-inset-bottom));max-height:42vh;overflow-y:auto}.family-display-controls{right:18px;bottom:max(18px,env(safe-area-inset-bottom));opacity:1}.daily-member-board,.kanban-board,.meal-week{margin-right:-14px;padding-right:14px}.daily-member-column,.kanban-column{min-width:min(310px,86vw)}.chore-momentum{padding:17px}.chore-bars{gap:5px}.chore-bars small{font-size:var(--font-7)}.virtual-card{min-height:205px;padding:20px}.virtual-card h2{font-size:27px}.money-summary{padding:22px 18px}.delivery-capabilities,.delivery-product-grid,.delivery-provider-strip{grid-template-columns:1fr}.delivery-cart-access{grid-template-columns:36px minmax(0,1fr)}.delivery-cart-access .button{width:100%;grid-column:1 / -1}.delivery-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-recipe-toolbar,.delivery-match-row{grid-template-columns:1fr}.delivery-cart-summary{align-items:stretch;flex-direction:column}.delivery-cart-summary .button{width:100%}.delivery-checkout-handoff{grid-template-columns:auto minmax(0,1fr)}.delivery-checkout-handoff .button{width:100%;grid-column:1 / -1}.delivery-meal-schedule-footer{align-items:stretch;flex-direction:column}.delivery-meal-schedule-footer .button{width:100%}.delivery-form{grid-template-columns:1fr}.delivery-form .button{width:100%}.delivery-search-panel{min-height:0}.map-placeholder{min-height:330px}.map-overlay{right:12px;bottom:12px;left:12px;max-width:none}.member-card{min-height:104px;padding:17px}.settings-row{align-items:flex-start;flex-direction:column;gap:8px}.settings-row b{overflow-wrap:anywhere}.data-list>div{grid-template-columns:38px minmax(0,1fr)}.tenant-stats{grid-column:2;text-align:left}}@media(max-width:760px){.recipe-sync-card{grid-template-columns:auto 1fr;align-items:start}.recipe-sync-total{grid-column:2;padding:0;border:0;text-align:left}.recipe-sync-total strong,.recipe-sync-total span{display:inline}.recipe-sync-total span{margin-left:5px}.recipe-tools{align-items:stretch;flex-direction:column}.recipe-search-field{width:100%}.recipe-source-filters{margin-right:-14px;padding-right:14px}.recipe-grid{grid-template-columns:1fr;gap:13px}.recipe-card{display:grid;grid-template-columns:118px minmax(0,1fr);border-radius:16px}.recipe-card-img{height:100%;min-height:150px;aspect-ratio:auto}.recipe-card-body{min-height:150px;padding:14px}.recipe-card-body>p:not(.recipe-card-source){-webkit-line-clamp:2}.modal:has(>.recipe-detail){padding-bottom:0}.recipe-detail{margin-bottom:0}.recipe-hero{max-height:230px}.recipe-detail-body{padding:20px}.recipe-detail-columns{grid-template-columns:1fr;gap:28px}.recipe-detail-actions{flex-direction:column}.recipe-detail-actions .button{width:100%}}@media(min-width:851px){.page-content{padding:24px 28px 48px}.page-stack,.page-heading{gap:16px}.page-heading h2{margin-bottom:5px}.panel{padding:18px 20px}.panel-header{margin-bottom:14px}.panel-header h3{font-size:23px}.button{min-height:38px;padding-inline:14px}.welcome-banner{min-height:132px;padding:23px 26px}.welcome-banner h2{font-size:42px}.stat-grid{gap:12px}.stat-card{min-height:92px;gap:12px;padding:14px 16px}.dashboard-grid{gap:14px}.schedule-panel,.chores-summary{padding:18px 20px}.timeline-row{min-height:64px}.timeline-line i{margin-top:28px}.quick-actions>div{gap:12px}.quick-actions>div>a{min-height:64px;padding:11px 14px}.stack-form{gap:13px;margin-top:20px}.form-grid,.feature-grid,.family-grid,.admin-grid,.admin-operations-grid,.routine-grid,.reward-grid,.weather-grid,.screensaver-setup-grid,.photo-integration-grid,.delivery-layout,.delivery-capabilities,.meal-layout,.safety-layout,.school-dashboard-layout,.school-year-grid,.list-board,.recipe-grid,.account-layout{gap:14px}.calendar-toolbar{padding:6px 8px}.calendar-provider-card,.photo-integration-card{padding:14px}.photo-integration-card{min-height:190px}.empty-state{min-height:130px;padding:18px 12px}.grocery-card .empty-state{min-height:140px}.delivery-search-panel{min-height:300px}.list-empty-state{min-height:170px}.member-card{min-height:108px;padding:16px}.account-page{gap:14px}.school-year-hero,.routine-hero,.money-summary,.photo-integrations,.list-empty-state,.account-hero,.account-panel{padding:20px}.virtual-card{min-height:220px;padding:20px}.school-year-hero{min-height:170px}.modal,.social-photo-picker,.recipe-detail-body{padding:22px}.calendar-feed-panel>header,.calendar-feed-list>article{align-items:stretch;grid-template-columns:1fr}.calendar-feed-panel>header{flex-direction:column}.calendar-feed-panel>header .button{width:100%}.calendar-feed-actions .button{flex:1}}@media(max-width:850px){.calendar-duplicate-bulk{grid-template-columns:1fr}:root{--font-6: 6px;--font-7: 7px;--font-8: 8px;--font-9: 9px;--font-10: 10px;--font-11: 11px;--font-12: 12px;--font-13: 13px;--font-14: 14px}}.notification-delivery-error{color:#b5472c;font-weight:650}.onboarding-shell{--onboarding-navy: #153b34;--onboarding-coral: #ed7756;--onboarding-yellow: #f3c766;--onboarding-sky: #89cce0;--onboarding-lilac: #bfacd9;position:relative;min-height:100dvh;overflow:hidden;padding:clamp(18px,3vw,42px);background:radial-gradient(circle at 5% 7%,rgb(243 199 102 / 42%),transparent 22%),radial-gradient(circle at 92% 10%,rgb(137 204 224 / 45%),transparent 25%),radial-gradient(circle at 80% 92%,rgb(191 172 217 / 32%),transparent 25%),linear-gradient(145deg,#f9f5e9,#f4f8f4 52%,#f9f1eb);color:var(--onboarding-navy)}.onboarding-sky-shape{position:absolute;border-radius:999px;pointer-events:none;opacity:.58;filter:blur(1px);animation:onboarding-drift 9s ease-in-out infinite alternate}.onboarding-sky-shape.shape-one{width:min(38vw,520px);height:min(38vw,520px);top:-27vw;right:8vw;border:2px solid rgb(255 255 255 / 65%);box-shadow:0 0 0 58px #ffffff21}.onboarding-sky-shape.shape-two{width:210px;height:210px;left:-100px;bottom:4vh;background:#ed77561a;animation-delay:-3s}.onboarding-wizard{position:relative;z-index:1;width:min(100%,1240px);min-height:calc(100dvh - clamp(36px,6vw,84px));margin:0 auto;overflow:hidden;border:1px solid rgb(21 59 52 / 10%);border-radius:30px;background:#fffefaf0;box-shadow:0 30px 90px #233f3629;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.onboarding-brand-row{min-height:76px;padding:16px clamp(20px,3vw,38px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgb(21 59 52 / 8%)}.onboarding-brand-row .brand{display:inline-flex;align-items:center;gap:11px;font-size:18px;font-weight:780;letter-spacing:-.035em}.onboarding-brand-row>span{display:inline-flex;align-items:center;gap:7px;color:#5d716b;font-size:13px;font-weight:650}.onboarding-progress{position:relative;isolation:isolate;width:min(86%,720px);margin:22px auto 6px;display:grid;grid-template-columns:repeat(5,1fr)}.onboarding-progress:before,.onboarding-progress>i{content:"";position:absolute;z-index:-1;top:20px;left:10%;width:80%;height:3px;border-radius:3px;background:#e6e9e3}.onboarding-progress>i{width:calc(var(--setup-progress) * .8);background:linear-gradient(90deg,var(--onboarding-coral),#dd9650);transition:width .42s cubic-bezier(.2,.75,.25,1)}.onboarding-progress button{border:0;padding:0;background:transparent;display:grid;justify-items:center;gap:6px;cursor:default}.onboarding-progress button.active,.onboarding-progress button.done{cursor:pointer}.onboarding-progress button>span{width:42px;height:42px;display:grid;place-items:center;border:2px solid #e2e6df;border-radius:50%;background:#fffefa;color:#82908b;box-shadow:0 4px 12px #1f40360f;transition:.22s ease}.onboarding-progress button.active>span{border-color:var(--onboarding-coral);background:var(--onboarding-coral);color:#fff;transform:scale(1.09);box-shadow:0 7px 19px #ed775647}.onboarding-progress button.done>span{border-color:#72ad94;background:#dff1e8;color:#23694f}.onboarding-progress small{color:#71807a;font-size:11px;font-weight:680}.onboarding-progress button.active small{color:var(--onboarding-navy)}.onboarding-content-grid{min-height:calc(100dvh - 190px);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)}.onboarding-step-panel{min-width:0;padding:clamp(28px,4vw,56px) clamp(25px,5vw,68px) 28px;display:flex;flex-direction:column;animation:onboarding-step-in .38s cubic-bezier(.2,.75,.25,1)}.onboarding-step-kicker{display:flex;align-items:center;gap:9px;margin-bottom:21px;color:#65766f;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.11em}.onboarding-step-kicker>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:#9b442d;background:#ffdfd5}.onboarding-step-body{width:min(100%,720px)}.onboarding-step-body h1{max-width:680px;margin:0 0 14px;color:var(--onboarding-navy);font-size:clamp(36px,4.2vw,58px);font-weight:720;line-height:1.01}.onboarding-lede{max-width:620px;margin-bottom:28px;color:#60716b;font-size:16px;line-height:1.6}.onboarding-hero-field{margin-bottom:18px}.onboarding-step-body .field>span,.onboarding-animal-picker legend{color:#4f625c;font-size:12px;font-weight:720}.onboarding-step-body .field input,.onboarding-step-body .field select{min-height:52px;border:1px solid #d9e0da;border-radius:14px;background:#fffefa;color:var(--onboarding-navy);font-size:15px;transition:border-color .16s ease,box-shadow .16s ease}.onboarding-hero-field input{min-height:64px!important;font-size:21px!important;font-weight:680}.onboarding-step-body .field input:focus,.onboarding-step-body .field select:focus{border-color:#df8062;box-shadow:0 0 0 4px #ed77561f}.onboarding-owner-card{position:relative;margin:0 0 24px;padding:20px;display:flex;align-items:center;gap:14px;border:1px solid #e1e5df;border-radius:18px;background:linear-gradient(135deg,#fffdf7,#f4f8f5)}.onboarding-owner-card .avatar{width:52px;height:52px;background:var(--onboarding-navy);color:#fff;font-size:17px}.onboarding-owner-card>div{display:grid;min-width:0}.onboarding-owner-card strong{font-size:16px}.onboarding-owner-card small{overflow:hidden;color:#63736d;text-overflow:ellipsis}.owner-badge{margin-left:auto;padding:8px 11px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#fff0c8;color:#7c5b08;font-size:11px;font-weight:750}.onboarding-security-note,.onboarding-ready-note{margin-top:22px;padding:15px 17px;display:flex;align-items:center;gap:12px;border-radius:14px;background:#e9f4ee;color:#28684f}.onboarding-security-note span,.onboarding-ready-note span{display:grid;gap:2px}.onboarding-security-note small,.onboarding-ready-note small{color:#59756a;font-size:12px}.onboarding-kid-editor-list,.onboarding-starter-list{display:grid;gap:14px}.onboarding-kid-editor{overflow:hidden;border:1px solid #dfe4de;border-radius:19px;background:#fffefa;box-shadow:0 7px 20px #1b39300d}.onboarding-kid-editor>header,.onboarding-starter-list article>header{padding:14px 16px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #edf0ec}.onboarding-animal-preview,.onboarding-starter-list article>header>span{width:47px;height:47px;display:grid;place-items:center;flex:none;border-radius:15px;font-size:25px}.onboarding-kid-editor header>div,.onboarding-starter-list header>div{display:grid;gap:2px}.onboarding-kid-editor header small,.onboarding-starter-list header small{color:#708079;font-size:11px}.onboarding-kid-editor header>button{width:36px;height:36px;margin-left:auto;display:grid;place-items:center;border:0;border-radius:11px;background:#f4f4f0;color:#7b8883;cursor:pointer}.onboarding-kid-fields{padding:16px;display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:11px}.onboarding-animal-picker{margin:0;padding:0 16px 17px;border:0}.onboarding-animal-picker legend{margin-bottom:9px}.onboarding-animal-picker>div{display:flex;flex-wrap:wrap;gap:7px}.onboarding-animal-picker button{position:relative;width:39px;height:39px;padding:0;display:grid;place-items:center;border:2px solid transparent;border-radius:12px;font-size:21px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,opacity .15s ease}.onboarding-animal-picker button:hover:not(:disabled){transform:translateY(-2px) rotate(-3deg)}.onboarding-animal-picker button.selected{border-color:var(--onboarding-navy);transform:scale(1.08);box-shadow:0 4px 11px #1c3a3129}.onboarding-animal-picker button:disabled{opacity:.22;filter:grayscale(.8);cursor:not-allowed}.onboarding-animal-picker button svg{position:absolute;right:-3px;bottom:-3px;padding:2px;border-radius:50%;background:var(--onboarding-navy);color:#fff}.onboarding-add-kid{margin-top:14px;min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px dashed #8ba69c;border-radius:14px;background:#f2f8f4;color:#2a6751;font-weight:700;cursor:pointer}.onboarding-empty-kids{min-height:160px;padding:24px;display:grid;place-content:center;justify-items:center;gap:8px;border:1px dashed #cbd4ce;border-radius:18px;color:#61736c;text-align:center}.onboarding-empty-kids button{border:0;background:transparent;color:#a34a31;font-weight:750;cursor:pointer}.onboarding-empty-kids.compact{min-height:130px}.onboarding-starter-list>article{overflow:hidden;border:1px solid #dfe4de;border-radius:18px;background:#fffefa}.onboarding-starter-options{padding:13px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.onboarding-starter-options>button{position:relative;min-height:125px;padding:15px;display:grid;grid-template-columns:38px 1fr 25px;grid-template-rows:auto auto;align-items:center;column-gap:10px;border:2px solid #e4e7e2;border-radius:16px;background:#fafaf7;text-align:left;cursor:pointer;transition:transform .17s ease,border-color .17s ease,background .17s ease}.onboarding-starter-options>button:hover{transform:translateY(-2px)}.onboarding-starter-options>button.selected.chores{border-color:#e1957b;background:#fff0ea}.onboarding-starter-options>button.selected.behavior{border-color:#8cb9d2;background:#edf7fb}.onboarding-starter-options button>span{grid-row:1 / 3;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff;color:#ac4e34}.onboarding-starter-options button.behavior>span{color:#357d9f}.onboarding-starter-options button>strong{align-self:end;font-size:14px}.onboarding-starter-options button>small{align-self:start;color:#6c7b75;font-size:11px;line-height:1.4}.onboarding-starter-options button>i{grid-column:3;grid-row:1 / 3;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#7a8883}.onboarding-starter-options button.selected>i{background:var(--onboarding-navy);color:#fff}.onboarding-goal-slider{padding:4px 18px 17px;display:grid;gap:8px}.onboarding-goal-slider>span{display:flex;justify-content:space-between;color:#64756e;font-size:12px}.onboarding-goal-slider b{color:#326d56}.onboarding-goal-slider input{accent-color:#4f9c7e}.onboarding-review-card{display:grid;gap:9px}.onboarding-review-card>div{min-height:75px;padding:13px 15px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;border:1px solid #e0e5df;border-radius:15px;background:#fafbf8}.onboarding-review-card>div>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#fce4db;color:#9c472f}.onboarding-review-card p{margin:0;display:grid}.onboarding-review-card small,.onboarding-review-card em{color:#6e7c77;font-size:11px;font-style:normal}.onboarding-review-card button{border:0;background:transparent;color:#a64930;font-size:12px;font-weight:720;cursor:pointer}.onboarding-review-kids{margin-top:13px;display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.onboarding-review-kids article{padding:11px;display:grid;grid-template-columns:43px 1fr;align-items:center;gap:10px;border-radius:15px;background:#f7f5ef}.onboarding-review-kids article>span{width:43px;height:43px;display:grid;place-items:center;grid-row:1 / 3;border-radius:13px;font-size:23px}.onboarding-review-kids article>div{display:grid}.onboarding-review-kids small,.onboarding-review-kids em{color:#6c7b75;font-size:10px;font-style:normal}.onboarding-review-kids em{grid-column:2;color:#2e7259;font-weight:650}.onboarding-actions{margin-top:auto;padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:12px}.onboarding-actions .button{min-height:50px;padding:0 20px;border-radius:14px;font-size:14px}.onboarding-actions .button.primary{background:var(--onboarding-navy);box-shadow:0 9px 23px #153b3438}.onboarding-finish-button{background:linear-gradient(135deg,var(--onboarding-coral),#c95236)!important;box-shadow:0 9px 23px #c04d2f40!important}.onboarding-visual-panel{position:relative;min-height:100%;overflow:hidden;padding:clamp(30px,4vw,54px);display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid rgb(255 255 255 / 15%);background:radial-gradient(circle at 70% 15%,rgb(255 231 167 / 34%),transparent 24%),radial-gradient(circle at 22% 55%,rgb(139 207 227 / 21%),transparent 30%),linear-gradient(155deg,#163e35,#276754);color:#fff}.onboarding-visual-panel:after{content:"";position:absolute;width:240px;height:240px;right:-120px;bottom:-110px;border:1px solid rgb(255 255 255 / 12%);border-radius:50%;box-shadow:0 0 0 44px #ffffff08,0 0 0 88px #ffffff08}.onboarding-visual-panel>div:last-child{position:relative;z-index:2}.onboarding-visual-panel .eyebrow{color:#9bd8c2}.onboarding-visual-panel h2{margin-bottom:22px;font-size:clamp(29px,3vw,43px);line-height:1.06}.onboarding-visual-panel ul{margin:0;padding:0;display:grid;gap:12px;list-style:none;color:#d3e3dd;font-size:13px}.onboarding-visual-panel li{display:flex;align-items:center;gap:9px}.onboarding-visual-panel li svg{padding:2px;border-radius:50%;background:#85c4a9;color:#153b34}.onboarding-family-preview{position:relative;z-index:2;min-height:310px;display:grid;place-items:center}.onboarding-owner-bubble,.onboarding-kid-bubble{position:absolute;z-index:3;display:grid;place-items:center;border:4px solid rgb(255 255 255 / 92%);border-radius:50%;box-shadow:0 13px 28px #071b1540}.onboarding-owner-bubble{width:92px;height:92px;background:#f0a78d;color:#153b34;font-size:26px;font-weight:820;animation:onboarding-float 4.4s ease-in-out infinite}.onboarding-kid-bubble{width:66px;height:66px;background:var(--bubble-background);font-size:33px;animation:onboarding-float 4s var(--bubble-delay) ease-in-out infinite}.onboarding-kid-bubble.bubble-1{transform:translate(-105px,-70px)}.onboarding-kid-bubble.bubble-2{transform:translate(105px,-63px)}.onboarding-kid-bubble.bubble-3{transform:translate(-100px,80px)}.onboarding-kid-bubble.bubble-4{transform:translate(105px,76px)}.onboarding-orbit{position:absolute;border:1px solid rgb(255 255 255 / 20%);border-radius:50%;animation:onboarding-spin 20s linear infinite}.onboarding-orbit:after{content:"✦";position:absolute;top:-10px;left:calc(50% - 8px);color:#ffda77;font-size:18px}.onboarding-orbit.orbit-one{width:236px;height:236px}.onboarding-orbit.orbit-two{width:310px;height:310px;animation-direction:reverse;animation-duration:28s}.onboarding-success-shell{display:grid;place-items:center}.onboarding-success{position:relative;z-index:2;width:min(92vw,620px);padding:clamp(42px,7vw,78px);border:1px solid rgb(21 59 52 / 10%);border-radius:30px;background:#fffefaf2;box-shadow:0 30px 90px #233f362b;text-align:center;animation:onboarding-success-pop .52s cubic-bezier(.18,.85,.3,1.15)}.onboarding-success-mark{width:86px;height:86px;margin:0 auto 25px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#79c29e,#2c785a);color:#fff;box-shadow:0 13px 28px #317b5a3d}.onboarding-success h1{margin-bottom:13px;font-size:clamp(42px,7vw,68px)}.onboarding-success>p:not(.eyebrow){margin-bottom:25px;color:#62736d;font-size:16px;line-height:1.55}.onboarding-success>span{display:inline-flex;align-items:center;gap:8px;color:#35745b;font-size:13px;font-weight:680}.onboarding-confetti i{--confetti-color: var(--onboarding-coral);position:absolute;z-index:1;top:-25px;left:calc((var(--confetti-index) + 1) * 5.25%);width:10px;height:17px;border-radius:3px;background:var(--confetti-color);animation:onboarding-confetti-fall 2.8s calc(var(--confetti-index) * -.12s) linear infinite}.onboarding-confetti i:nth-child(3n){--confetti-color: var(--onboarding-yellow)}.onboarding-confetti i:nth-child(3n+1){--confetti-color: var(--onboarding-sky)}.onboarding-confetti i:nth-child(4n){--confetti-color: var(--onboarding-lilac)}@keyframes onboarding-step-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes onboarding-float{0%,to{margin-top:0}50%{margin-top:-10px}}@keyframes onboarding-spin{to{transform:rotate(360deg)}}@keyframes onboarding-drift{to{transform:translate3d(14px,10px,0) scale(1.04)}}@keyframes onboarding-success-pop{0%{opacity:0;transform:scale(.88) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes onboarding-confetti-fall{to{transform:translateY(110vh) rotate(600deg)}}.admin-family-directory{display:grid;gap:14px}.admin-family-search{min-height:47px;padding:0 14px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;background:#f8f8f4;color:#718079}.admin-family-search:focus-within{border-color:#80a99a;box-shadow:0 0 0 3px #59917c1c}.admin-family-search input{width:100%;min-height:43px;border:0;outline:0;background:transparent;color:var(--ink)}.admin-family-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.admin-family-table{width:100%;min-width:820px;border-collapse:collapse;text-align:left}.admin-family-table th,.admin-family-table td{padding:13px 15px;border-bottom:1px solid #ebede8}.admin-family-table th{background:#f6f7f3;color:#64736d;font-size:10px;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.admin-family-table td{color:#53635d;font-size:13px}.admin-family-table tr:last-child td{border-bottom:0}.admin-family-table td strong,.admin-family-table td small{display:block}.admin-family-table td strong{color:var(--ink);font-size:13px}.admin-family-table td small{margin-top:2px;color:#78857f;font-size:10px}.admin-family-empty{padding:28px;display:flex;justify-content:center;gap:9px;color:var(--muted)}.role-pill.primary-owner{margin-left:5px;background:#fff0c8;color:#775706}@media(max-width:960px){.onboarding-shell{padding:14px}.onboarding-wizard{min-height:calc(100dvh - 28px)}.onboarding-content-grid{grid-template-columns:1fr}.onboarding-visual-panel{display:none}.onboarding-step-panel{min-height:calc(100dvh - 185px)}}@media(max-width:620px){.onboarding-shell{padding:0;background:#fffefa}.onboarding-wizard{min-height:100dvh;border:0;border-radius:0;box-shadow:none}.onboarding-brand-row{min-height:66px;padding:12px 17px}.onboarding-brand-row>span{font-size:0}.onboarding-brand-row>span svg{width:19px;height:19px}.onboarding-progress{width:calc(100% - 24px);margin-top:16px}.onboarding-progress button>span{width:37px;height:37px}.onboarding-progress:before,.onboarding-progress>i{top:18px}.onboarding-progress small{display:none}.onboarding-step-panel{min-height:calc(100dvh - 132px);padding:25px 18px max(20px,env(safe-area-inset-bottom))}.onboarding-step-kicker{margin-bottom:16px}.onboarding-step-body h1{font-size:35px}.onboarding-lede{margin-bottom:22px;font-size:14px}.onboarding-owner-card{align-items:flex-start;flex-wrap:wrap}.owner-badge{width:max-content;margin-left:66px;margin-top:-8px}.onboarding-kid-fields,.onboarding-starter-options,.onboarding-review-kids{grid-template-columns:1fr}.onboarding-animal-picker button{width:43px;height:43px}.onboarding-starter-options>button{min-height:105px}.onboarding-actions{position:sticky;bottom:0;margin-inline:-18px;padding:14px 18px max(14px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#fffefa00,#fffefa 24%)}.onboarding-actions .button.primary{flex:1}}@media(prefers-reduced-motion:reduce){.onboarding-sky-shape,.onboarding-owner-bubble,.onboarding-kid-bubble,.onboarding-orbit,.onboarding-confetti i,.onboarding-step-panel,.onboarding-success{animation:none!important}}
