:root{--ink:#101c3a;--muted:#667797;--line:#e9e8e6;--canvas:#fdfaf7;--card:#fff;--terracotta:#d9573c;--sage:#6b9b81;--sky:#dbeafe;--blue:#2875e8;--green:#0c9460;--orange:#f59b18;--red:#e74645;--shadow:0 8px 30px rgba(36,39,51,.045);font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--canvas)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.icon{flex:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.035em}h1{font-size:clamp(1.75rem,2.15vw,2.55rem);line-height:1.16}h2{font-size:1.12rem}small{font-size:.78rem}#app{display:flex;min-height:100vh}.sidebar{width:236px;flex:0 0 236px;background:#fff;border-right:1px solid #f0eeeb;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:21px 22px 24px}.brand strong{font-family:Manrope;font-size:1.28rem;letter-spacing:-.06em;display:block;white-space:nowrap}.brand small{display:block;color:var(--muted);white-space:nowrap;font-size:.72rem}.brand-mark{display:flex}.main-nav{display:flex;flex-direction:column;gap:5px;padding:0 15px}.nav-item{min-height:50px;display:flex;align-items:center;gap:19px;padding:0 18px;border-radius:12px;color:#273c63;font-size:.93rem;font-weight:600;transition:background .2s,color .2s}.nav-item:hover{background:#f9f5f1}.nav-item.active{color:#c74c31;background:#fff0eb}.nav-item .icon{stroke-width:1.8}.nav-count,.notification-count{display:grid;place-items:center;background:#ef4a42;color:#fff;border-radius:50%;font-size:.69rem;width:20px;height:20px;margin-left:auto}.sidebar-art{margin-top:auto;min-height:338px;background:radial-gradient(circle at 42% 64%,#faeee4 0,#fff 73%);padding:0 32px 28px;overflow:hidden}.sidebar-art-image{height:205px;margin:0 -32px 5px;display:flex;align-items:end}.sidebar-art-image svg{width:100%;height:auto}.sidebar-art strong{font-size:.92rem;line-height:1.4}.sidebar-art p{font-size:.83rem;color:var(--muted);line-height:1.5;margin:9px 0 0}.app-main{min-width:0;flex:1}.topbar{height:74px;display:flex;align-items:center;justify-content:flex-end;gap:28px;padding:0 26px;position:relative;z-index:20}.search-wrap{width:min(278px,34vw);position:relative;display:flex;align-items:center;color:#7382a0}.search-wrap>.icon{position:absolute;left:14px}.search-wrap input{height:44px;width:100%;padding:0 14px 0 43px;border:1px solid #d9dfeb;border-radius:12px;background:rgba(255,255,255,.7);outline:none;color:var(--ink);font-size:.82rem}.search-wrap input:focus{border-color:#91b4ea;box-shadow:0 0 0 3px #e6f0ff}.search-wrap input::placeholder{color:#7a88a1}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:0;background:transparent;color:#132853;border-radius:10px}.icon-button:hover,.profile-button:hover{background:#f5f5f3}.notification-button{position:relative}.notification-count{position:absolute;right:0;top:-3px;width:17px;height:17px;font-size:.62rem}.profile-button{border:0;background:transparent;display:flex;align-items:center;text-align:left;gap:9px;border-radius:12px;padding:5px;color:var(--ink)}.profile-button strong,.profile-button small{display:block}.profile-button strong{font-size:.8rem}.profile-button small{color:var(--muted);font-size:.7rem;white-space:nowrap}.profile-button>.icon:last-child{margin-left:14px}.avatar{width:40px;height:40px;flex:none;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(145deg,#475c6a,#172a39);border:3px solid white;box-shadow:0 1px 5px #d5d8dc}.avatar.coral{background:linear-gradient(145deg,#efb0a3,#b85d50)}.avatar.lilac{background:linear-gradient(145deg,#caa7e9,#8060ad)}.avatar.blue{background:linear-gradient(145deg,#a7c8e8,#5479a5)}.popover{position:absolute;right:27px;top:68px;width:290px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:0 20px 55px #23345626;z-index:50}.popover h3{font-size:.96rem;margin:0 0 4px}.popover p{color:var(--muted);font-size:.78rem;margin:0 0 10px}.profile-option{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:none;border-radius:9px;padding:7px;color:var(--ink)}.profile-option:hover,.profile-option.selected{background:#f6f6f7}.profile-option .avatar{width:34px;height:34px}.profile-option span:nth-child(2){flex:1}.profile-option strong,.profile-option small{display:block}.profile-option small{color:var(--muted)}.notification-line{display:flex;align-items:center;gap:9px;font-size:.78rem;border-top:1px solid var(--line);padding:9px 0}.notification-line .icon-tile{width:29px;height:29px;border-radius:8px}.mobile-menu{display:none}main{padding:0 25px 24px;max-width:1600px;margin:auto}.hero{height:110px;display:flex;align-items:flex-start;justify-content:space-between;position:relative}.hero-copy{display:flex;align-items:flex-start;gap:25px;padding:5px 0 0 24px;z-index:1}.hero-sun{color:#ffad35;margin-top:3px}.hero h1{margin:0 0 3px}.hero p{color:#485c82;font-size:1.02rem;margin:0}.hero-landscape{position:absolute;right:-25px;bottom:-6px;width:min(45%,480px);height:130px;overflow:hidden;pointer-events:none}.hero-landscape svg{width:100%;height:100%;object-fit:contain;object-position:bottom}.hero-script{position:absolute;right:20px;top:23px;font-family:cursive;font-size:.95rem;line-height:1.2;transform:rotate(-6deg);color:#31364a}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;position:relative}.summary-card,.panel,.assistant-card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.summary-card{height:101px;padding:15px;display:flex;align-items:center;gap:18px;min-width:0;transition:transform .18s,box-shadow .18s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #303d5a16}.icon-tile{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:13px;background:#eef4ff;color:#1e68d4}.icon-tile.large{width:62px;height:62px}.icon-tile.blue{background:#e7f1ff;color:#1967d8}.icon-tile.red{background:#ffeded;color:#e93838}.icon-tile.orange{background:#fff3e2;color:#f28d06}.icon-tile.green{background:#e7f8ee;color:#10925b}.icon-tile.lilac{background:#f1eafb;color:#7436bc}.summary-copy{display:flex;flex-direction:column;min-width:0}.summary-copy strong{font-family:Manrope;font-size:1.6rem;line-height:1.1;letter-spacing:-.05em}.summary-copy b{font-size:.82rem;white-space:nowrap}.summary-copy small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.summary-chevron{margin-left:auto;color:#173057}.main-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:14px;margin-bottom:16px}.panel{min-width:0;padding:16px}.panel-heading{display:flex;align-items:center;gap:13px;min-height:42px;margin-bottom:10px}.panel-heading h2{margin:0;white-space:nowrap}.heading-icon{color:#122d61;display:flex}.heading-icon.alert-icon{color:#e74b3c}.heading-end{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-left:auto}.text-link{font-size:.77rem;color:#2b72d3;white-space:nowrap;display:flex;align-items:center;gap:5px;margin-left:auto}.text-link:hover{text-decoration:underline}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#f2f5f8;color:#405372;font-size:.73rem;white-space:nowrap;padding:4px 11px;line-height:1.1}.badge.red{background:#ffe9e8;color:#eb3837}.badge.orange{background:#fff0d5;color:#d77700}.badge.blue{background:#e9f2ff;color:#2470e5}.badge.green{background:#e4f6ea;color:#09804f}.badge.lilac{background:#f0e7fb;color:#7e42bd}.inbox-panel{min-height:350px}.inbox-item{display:flex;align-items:center;gap:16px;width:100%;min-height:92px;padding:10px 4px;text-align:left;background:none;border:0;border-top:1px solid #f0f0f1;color:var(--ink)}.inbox-item:hover{background:#fafbfc}.inbox-item:first-child{border-top:0}.inbox-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.inbox-copy b,.inbox-copy strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-copy b{font-weight:800}.inbox-copy strong{font-weight:600}.inbox-copy small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-meta{margin-left:auto;height:62px;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;color:var(--muted);font-size:.75rem;flex:none}.schedule-panel{min-height:350px}.period-button{border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#1b315f;padding:8px 10px;display:flex;align-items:center;gap:18px;margin-left:auto;font-size:.78rem;font-weight:700}.period-button:hover{background:#f5f8ff}.schedule-content{display:grid;grid-template-columns:minmax(0,1fr) 142px;gap:15px}.timeline-item{height:47px;display:grid;grid-template-columns:23px 53px 13px minmax(0,1fr) auto;align-items:center;gap:7px;border-bottom:1px solid #f0f0f2;font-size:.77rem}.timeline-item:last-child{border-bottom:0}.timeline-status{width:19px;height:19px;border:2px solid #3587eb;border-radius:50%;display:grid;place-items:center;color:white}.timeline-item.done .timeline-status{background:#0b9866;border-color:#0b9866}.timeline-item.activity .timeline-status{border-color:#ff9b00}.timeline-item.family .timeline-status{border-color:#e9be66}.timeline-item.wellbeing .timeline-status{border-color:#14a064}.timeline-item time{color:#506489}.timeline-dot{width:8px;height:8px;border-radius:50%;background:#3983e9;position:relative}.timeline-dot:after{content:"";position:absolute;width:1px;height:39px;background:#e1e7ee;top:8px;left:3px}.timeline-item:last-child .timeline-dot:after{display:none}.timeline-item.activity .timeline-dot{background:#fa9a14}.timeline-item.family .timeline-dot{background:#e9bd64}.timeline-copy{min-width:0}.timeline-copy strong,.timeline-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-copy small{color:var(--muted);margin-top:2px}.quote-card{background:#e7f7ef;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 13px;overflow:hidden}.plant-art{width:106px;height:116px}.quote-card p{font-family:cursive;font-size:.91rem;line-height:1.32;color:#244263;margin:0 auto;text-align:center;transform:rotate(-3deg)}.quote-card>span{width:36px;height:2px;background:#a1d8b9;margin-top:13px}.lower-grid{display:grid;grid-template-columns:1.18fr .9fr .86fr;gap:14px;margin-bottom:14px}.lower-grid .panel{min-height:300px}.lower-grid .panel-heading{margin-bottom:8px}.task-filters{display:flex;gap:5px;border-bottom:1px solid #edf0f3;padding-bottom:7px;overflow-x:auto}.filter{border:0;background:transparent;color:#304367;border-radius:8px;white-space:nowrap;padding:4px 8px;font-size:.75rem}.filter.selected{background:#e7f2ff;color:#102f62;font-weight:700}.filter em{font-style:normal;background:#e9edf2;color:#405574;border-radius:100%;padding:1px 5px;margin-left:3px}.task-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto 50px;align-items:center;gap:8px;height:38px;border-bottom:1px solid #f0f1f2;font-size:.78rem;cursor:pointer}.task-row:last-child{border-bottom:0}.task-row input{position:absolute;opacity:0}.custom-checkbox{width:19px;height:19px;border:1.7px solid #8d9bb1;border-radius:4px;display:grid;place-items:center;color:transparent}.task-row input:checked+.custom-checkbox{background:#098c60;border-color:#098c60;color:white}.task-row input:focus-visible+.custom-checkbox{outline:3px solid #9bc5ff}.task-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-row.completed .task-title{text-decoration:line-through;color:#91a0b2}.task-assignee{color:#8692a8;text-align:right;font-size:.72rem}.vehicle-row{display:flex;align-items:center;gap:12px;min-height:105px;border-top:1px solid #edf0f2;padding:9px 1px}.vehicle-visual{width:100px;height:71px;border-radius:14px;background:linear-gradient(155deg,#e9ede9,#f8f8f8);display:grid;place-items:center;color:#2e424b}.vehicle-visual.mini{background:linear-gradient(155deg,#f6f2ed,#fafafa);color:#59646a}.vehicle-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.vehicle-copy b{font-size:.8rem}.vehicle-copy small{color:var(--muted)}.vehicle-warning,.vehicle-good{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;margin-top:5px}.vehicle-warning{color:#e33e35}.vehicle-good{color:#078b53}.vehicle-row>.icon{color:#526583}.attention-row{display:flex;gap:12px;align-items:center;min-height:58px;border-top:1px solid #edf0f2}.attention-row:first-of-type{border-top:0}.attention-row .icon-tile{width:39px;height:39px}.attention-row span:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}.attention-row strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attention-row small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attention-row>.icon{color:#365074}.assistant-card{display:flex;align-items:center;gap:20px;padding:12px 22px;min-height:70px}.assistant-spark{color:#e9583b}.assistant-card div{min-width:0;flex:1}.assistant-card strong{font-size:.82rem}.assistant-card p{color:var(--muted);font-size:.78rem;margin:2px 0 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.primary-button{border:0;border-radius:9px;background:#dd6045;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;font-size:.78rem;font-weight:700;white-space:nowrap}.primary-button:hover{background:#c84c33}.secondary-button{border:1px solid var(--line);border-radius:9px;padding:10px 15px;background:#fff;color:var(--ink)}.future-page{min-height:calc(100vh - 100px);padding:12px 4px}.future-header{display:flex;align-items:center;gap:20px;margin-bottom:20px}.future-header h1{margin:0 0 4px}.future-header p{color:#52678c;margin:0}.future-card{background:#fff;border:1px solid var(--line);border-radius:17px;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:480px;overflow:hidden}.future-illustration{background:#f8f4ed;height:100%;display:grid;place-items:center}.future-illustration svg{width:100%}.future-card>div:last-child{padding:40px}.future-card h2{font-size:2rem;margin:12px 0}.future-card p{color:var(--muted);max-width:340px;line-height:1.6}.eyebrow{color:#d76b4c;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.modal-scrim{position:fixed;inset:0;z-index:90;background:#0d1b35a3;display:grid;place-items:center;padding:20px}.modal{position:relative;background:#fff;width:min(100%,520px);max-height:90vh;overflow:auto;border-radius:20px;padding:28px;box-shadow:0 20px 60px #09183055}.modal-close{position:absolute;top:18px;right:18px}.modal>.icon-tile{margin-bottom:15px}.modal h2{font-size:1.5rem;margin:7px 0 12px}.modal p:not(.eyebrow){color:#566987;line-height:1.5}.modal dl{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}.modal dl>div{display:flex;justify-content:space-between;padding:7px 0;font-size:.84rem}.modal dt{color:var(--muted)}.modal dd{margin:0;font-weight:700}.modal-actions{display:flex;gap:10px;margin:18px 0}.mock-note{display:block;color:#8391a6;margin-top:15px}.suggestion{display:flex;gap:13px;border-top:1px solid var(--line);padding:16px 0;color:#d56143}.suggestion span{color:var(--ink)}.suggestion strong,.suggestion small{display:block}.suggestion small{color:var(--muted);margin-top:4px;line-height:1.4}.search-results{position:absolute;left:0;right:0;top:48px;border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:0 15px 35px #17274527;padding:5px;z-index:70}.search-results a{padding:9px 11px;display:flex;justify-content:space-between;gap:10px;border-radius:7px;font-size:.75rem}.search-results a:hover{background:#f3f7fc}.search-results small{color:var(--muted)}.no-results{padding:12px;font-size:.78rem}.empty{min-height:120px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8da0b1;gap:4px}.empty strong{color:var(--ink)}.sidebar-scrim{display:none}
@media(max-width:1320px){.summary-card{gap:10px;padding:11px}.summary-copy strong{font-size:1.42rem}.summary-copy b{font-size:.73rem}.summary-copy small{font-size:.68rem}.icon-tile.large{width:54px;height:54px}.lower-grid{grid-template-columns:1.2fr 1fr}.attention-panel{grid-column:1/-1;min-height:unset!important;display:grid;grid-template-columns:repeat(2,1fr);column-gap:20px}.attention-panel .panel-heading{grid-column:1/-1}.attention-row:nth-of-type(2){border-top:0}}
@media(max-width:1100px){.sidebar{width:205px;flex-basis:205px}.brand{padding-left:15px}.brand strong{font-size:1.1rem}.main-nav{padding:0 10px}.nav-item{gap:13px;padding:0 12px}.sidebar-art{padding:0 20px 22px}.main-grid{grid-template-columns:1fr}.hero-landscape{opacity:.75}.schedule-content{grid-template-columns:minmax(0,1fr) 180px}.summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .25s;box-shadow:12px 0 30px #1a2e4930}.sidebar.open{transform:translateX(0)}.sidebar-scrim{display:block;position:fixed;inset:0;z-index:25;background:#11213c77;border:0}.mobile-menu{display:grid;margin-right:auto}.topbar{height:66px;padding:0 16px;gap:10px;background:#fff;border-bottom:1px solid #f0eeeb}.search-wrap{width:min(100%,340px);flex:1}.profile-button span:nth-child(2),.profile-button>.icon:last-child{display:none}.profile-button .avatar{width:35px;height:35px}.topbar .popover{right:10px;top:60px}main{padding:15px}.hero{height:130px}.hero-copy{padding:5px 0;gap:12px}.hero-sun .icon{width:32px;height:32px}.hero h1{font-size:1.7rem}.hero p{font-size:.85rem;max-width:290px}.hero-landscape{width:48%;height:88px;right:-15px;bottom:0;opacity:.6}.hero-script{display:none}.lower-grid{grid-template-columns:1fr}.attention-panel{display:block}.summary-grid{gap:9px}.summary-card{height:90px}.main-grid{gap:10px}.assistant-card{align-items:flex-start;flex-wrap:wrap}.assistant-card p{white-space:normal}.assistant-card .primary-button{margin-left:45px}}
@media(max-width:520px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{height:114px;align-items:flex-start;position:relative;gap:6px;flex-direction:column}.summary-card .icon-tile.large{width:35px;height:35px;border-radius:9px}.summary-card .icon-tile svg{width:21px;height:21px}.summary-copy strong{font-size:1.12rem;position:absolute;top:13px;left:55px}.summary-copy b{font-size:.74rem}.summary-copy small{font-size:.67rem;white-space:normal;max-height:2.4em;line-height:1.2}.summary-chevron{position:absolute;right:9px;top:18px;width:13px}.panel{padding:13px}.inbox-item{gap:9px}.inbox-item .icon-tile{width:38px;height:38px}.inbox-meta{height:65px}.inbox-copy b,.inbox-copy strong{font-size:.73rem}.inbox-copy small{font-size:.7rem}.schedule-content{grid-template-columns:1fr}.quote-card{display:none}.timeline-item{grid-template-columns:21px 43px 10px minmax(0,1fr) auto;gap:5px}.timeline-item .badge{font-size:.63rem;padding:3px 6px}.task-row{grid-template-columns:20px minmax(0,1fr) auto 42px;gap:5px}.task-row .badge{font-size:.65rem;padding:3px 6px}.task-assignee{font-size:.68rem}.future-card{display:block}.future-illustration{height:180px}.future-card>div:last-child{padding:25px}.future-card h2{font-size:1.5rem}.assistant-card{gap:8px;padding:14px}.assistant-card .primary-button{margin-left:0}.brand{padding-top:16px}.profile-button{padding:0}.search-wrap input{font-size:.75rem}}
.sidebar .nav-item{gap:14px;padding-inline:14px;font-size:.9rem}.sidebar .nav-item span{white-space:nowrap}
@media(max-width:520px){.summary-card .icon-tile .app-icon{width:29px;height:29px}}
/* Account entry uses the same warm palette as the family dashboard. */
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 90%,#fbe9de,transparent 35%),#fdf9f5}
.auth-card{width:min(100%,440px);padding:38px;background:white;border:1px solid #eee6e1;border-radius:22px;box-shadow:0 18px 55px #0f172a12;color:#0f172a}
.auth-card .brand-mark{display:inline-flex;width:54px;height:54px}
.auth-card h1{font-size:30px;margin:12px 0 0}
.auth-card h2{font-size:22px;margin:28px 0 18px}
.auth-card p{color:#566783}
.auth-card form{display:grid;gap:16px}
.auth-card label,.modal[data-auth] label{display:grid;gap:7px;font-weight:700;font-size:13px}
.auth-card input,.invite-link{width:100%;padding:12px 14px;border:1px solid #d8dde6;border-radius:10px;font:inherit}
.auth-card .primary-button{justify-content:center;margin-top:6px}
.auth-card .text-link{margin-top:18px;background:none;border:0;cursor:pointer;color:#ca5039}
.auth-card .api-error{color:#b42318}
.auth-actions{display:flex;gap:18px}
.approval-request{padding:12px 0;border-bottom:1px solid #e9edf2;display:grid;gap:6px}
.approval-request small{color:#53627d;overflow-wrap:anywhere}
.approval-request div{display:flex;gap:8px}
.approval-request .primary-button,.approval-request .secondary-button{padding:7px 11px;font-size:12px}
