@font-face{font-family:Manrope;src:url('./assets/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--paper:#f6f5f0;--white:#fff;--ink:#232b32;--muted:#6b747a;--line:#e1e5e2;--blue:#1279bb;--blue-dark:#0c5b8d;--mint:#e6f2e9;--green:#276747;--peach:#f4e7db;--lavender:#eeecf7;--ease:cubic-bezier(.22,1,.36,1);--shadow:0 12px 40px #24374409}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2{letter-spacing:-.045em;line-height:1.1;font-weight:500}h1{font-size:clamp(32px,4vw,52px)}h2{font-size:30px}h3{font-size:16px;letter-spacing:-.025em;font-weight:650}p{color:var(--muted)}small{font-size:11px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #1279bb80;outline-offset:4px}button,a,input,select{touch-action:manipulation}::selection{background:#cee6f7}input,select{min-width:0;width:100%;border:1px solid #d8dfdf;border-radius:12px;padding:13px 14px;background:white;color:var(--ink);transition:border-color .18s,box-shadow .18s}input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1279bb12;outline:none}label{display:block;font-size:12px;font-weight:650;margin-bottom:8px}.field{margin-top:21px}.field small{display:block;margin-top:7px;color:var(--muted)}.skip-link{position:fixed;top:-80px;left:16px;background:white;padding:12px;z-index:100}.skip-link:focus{top:12px}
.preview-bar{min-height:31px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;font-weight:600;letter-spacing:.03em;border-bottom:1px solid #e3e6e4;color:#69767d;background:#eef1ee;padding:5px 15px}.preview-bar a{text-decoration:underline;text-underline-offset:3px}.preview-dot{height:5px;width:5px;background:#88a691;border-radius:50%}.brand{display:inline-flex;align-items:center;gap:9px;font-size:26px;font-weight:750;letter-spacing:-1.6px}.brand img{width:79px;height:28px;object-fit:contain}.brand.light img{filter:brightness(0) invert(1)}.pill{display:inline-flex;gap:6px;align-items:center;padding:5px 9px;border-radius:20px;background:var(--mint);color:var(--green);font-size:10px;font-weight:650;letter-spacing:.01em;white-space:nowrap}.pill.neutral{background:#f0f2ef;color:#69746d}.pill.amber{color:#856135;background:#f8efdd}.pill.blue{background:#e8f2f9;color:#21698f}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:10px;color:var(--muted)}.eyebrow.light{color:#b6d3d5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 20px;border-radius:12px;font-size:12px;font-weight:650;transition:transform .18s var(--ease),background .18s,box-shadow .18s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:scale(.975)}.btn.primary{background:var(--blue);color:#fff;box-shadow:0 4px 8px #1279bb12}.btn.primary:hover{background:var(--blue-dark);box-shadow:0 7px 17px #1279bb20}.btn.dark{background:#253a3e;color:#fff}.btn.white{background:white;color:#263d3d}.btn.secondary{border:1px solid var(--line);background:white}.btn.ghost{color:var(--muted)}.btn.block{width:100%;margin-top:25px}.btn.small{min-height:36px;padding:8px 12px;font-size:11px}.text-btn{display:inline-flex;gap:6px;align-items:center;color:var(--blue);font-weight:650;font-size:12px;padding:5px 0}.text-btn:hover{text-decoration:underline;text-underline-offset:4px}.icon-btn{display:grid;place-items:center;min-width:38px;min-height:38px;border-radius:10px}.icon-btn:hover{background:#edf0ec}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.grow{flex:1;min-width:0}.stack{display:grid;gap:16px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.fine{font-size:11px;line-height:1.7;color:var(--muted)}.divider{height:1px;background:var(--line);margin:24px 0}.avatar{height:38px;width:38px;display:inline-grid;place-items:center;border-radius:50%;background:#f1dfce;color:#614e3c;font-size:12px;font-weight:650;flex-shrink:0;border:2px solid #fff}.avatar.blue{background:#d6e7f2;color:#315976}.avatar.lilac{background:#e3def2;color:#63548b}.avatar.green{background:#dcebdc;color:#486a46}.avatar.big{width:51px;height:51px;font-size:15px}.avatars{display:flex;padding-left:5px}.avatars .avatar{margin-left:-5px}.card{background:white;border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:var(--shadow)}.section-title{margin:28px 0 17px;display:flex;align-items:center;justify-content:space-between}.section-title h2{font-size:20px;letter-spacing:-.025em}.empty{padding:45px 20px;text-align:center}.empty p{margin:10px auto;max-width:340px}.info-box{border-radius:12px;background:#edf3f5;padding:14px 16px;color:#48616e;font-size:12px;margin-top:20px;display:flex;align-items:flex-start;gap:10px}.info-box.warm{background:#f7f0e8;color:#755e43}.info-box svg{margin-top:2px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:500;font-size:12px;color:#4c5a60;margin:18px 0}.check input{width:16px;height:16px;margin:2px 0 0;flex-shrink:0;accent-color:var(--blue)}.route-content{animation:arrive .45s var(--ease) both}.stagger>*{animation:arrive .55s var(--ease) both}.stagger>:nth-child(2){animation-delay:50ms}.stagger>:nth-child(3){animation-delay:100ms}.stagger>:nth-child(4){animation-delay:150ms}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
/* The Rift capsule: two shells, one luminous aperture. */
.orb-scene{--size:270px;width:var(--size);height:var(--size);position:relative;display:grid;place-items:center;isolation:isolate;perspective:800px}.orb-shadow{position:absolute;bottom:-35px;left:15%;width:70%;height:25px;background:#061d2580;filter:blur(16px);border-radius:50%;transform:scale(.9)}.orb-shell{position:absolute;inset:0;z-index:3;border-radius:50%;background:radial-gradient(ellipse at 28% 20%,#f6fffc 0%,#bbdedc 16%,#82b5bd 33%,#3d7c91 58%,#215365 77%,#0e3446 100%);box-shadow:inset 5px 4px 12px #fff8,inset -12px -12px 25px #041e4855,0 0 80px #80d2d516;transition:transform .85s var(--ease),filter .85s var(--ease)}.orb-shell.top{clip-path:inset(0 0 50% 0);transform-origin:50% 55%}.orb-shell.bottom{clip-path:inset(50% 0 0 0)}.orb-seam{position:absolute;top:49%;width:100%;height:5px;background:#c9fff4;z-index:4;border-radius:100%;box-shadow:0 0 12px #b5fff9,0 0 28px #55d7d7;transition:opacity .4s}.orb-core{width:60%;height:60%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#fffef6,#d3e9b4 23%,#abdabf 45%,#a4b9e0 73%,#416c8a);box-shadow:0 0 65px #b7e5cb70;position:relative;z-index:2;transform:scale(.55);transition:transform .85s var(--ease);display:grid;place-items:center}.orb-core svg{width:42%;height:42%;color:white;filter:drop-shadow(0 2px 6px #35684e50)}.orb-button{position:absolute;z-index:6;width:43px;height:43px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#f9fffa,#c9e6de 55%,#72abb6);border:5px solid #366d7a;box-shadow:0 0 0 3px #b8e3e655;display:grid;place-items:center;color:#326578;transition:transform .8s var(--ease),opacity .4s}.orb-scene.open .orb-shell.top{transform:translateY(-39px) rotateX(18deg) rotateZ(-8deg)}.orb-scene.open .orb-shell.bottom{transform:translateY(39px) rotateX(-8deg) rotateZ(8deg)}.orb-scene.open .orb-seam{opacity:0}.orb-scene.open .orb-button{transform:translateY(48px) rotateZ(8deg)}.orb-scene.open .orb-core{transform:scale(1)}.orb-scene.interactive{cursor:pointer}.orb-scene.interactive:hover .orb-shell{filter:brightness(1.08)}.orb-glow{position:absolute;inset:-75px;border-radius:50%;background:radial-gradient(circle,#bce7de22,transparent 65%);z-index:0}.orbit{position:absolute;width:150%;height:64%;border:1px solid #d4e6dc24;border-radius:50%;transform:rotate(-25deg);z-index:1}.orbit.two{transform:rotate(32deg);width:130%;height:85%}.floating-note{position:absolute;background:#fffef4f5;color:#334d50;border:1px solid #fff8;border-radius:14px;box-shadow:0 12px 30px #071e2925;padding:12px 16px;font-size:11px;z-index:8;backdrop-filter:blur(14px);animation:arrive .8s var(--ease) .15s both}.floating-note b{display:block;font-size:11px;margin-bottom:3px}.floating-note span{color:#778681;font-size:10px}.floating-note.one{left:-73px;top:31px;transform:rotate(-6deg)}.floating-note.two{right:-69px;bottom:24px;transform:rotate(6deg)}.floating-note .note-icon{height:27px;width:27px;background:#e4efdc;display:grid;place-items:center;border-radius:8px;margin-right:9px}.floating-note.two .note-icon{background:#efe7da}
/* Welcome */
.welcome{background:#173d45;color:#f2f5ee;min-height:calc(100svh - 31px);overflow:hidden;position:relative;background-image:radial-gradient(ellipse at 80% 43%,#53736c55,transparent 50%),radial-gradient(ellipse at 15% 95%,#092d3e,transparent 70%)}.welcome:after{content:'';position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.035' filter='url(%23n)'/%3E%3C/svg%3E")}.welcome-nav{position:relative;z-index:10;max-width:1320px;margin:auto;padding:34px 60px;display:flex;justify-content:space-between;align-items:center}.welcome-nav .btn{border:1px solid #ffffff30;color:#d4e4df;min-height:37px}.welcome-main{max-width:1230px;margin:55px auto 0;padding:0 54px 100px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;position:relative;z-index:1;gap:60px}.welcome-copy h1{font-size:clamp(46px,5.6vw,77px);max-width:560px;line-height:1.06;letter-spacing:-.055em;margin:24px 0}.welcome-copy h1 em{font-family:Georgia,serif;font-weight:400;color:#d5dfc1;letter-spacing:-.05em}.welcome-copy>p{color:#b9cdca;max-width:370px;line-height:1.9;font-size:14px}.welcome-actions{display:flex;align-items:center;gap:22px;margin:30px 0}.welcome-actions .btn{background:#e3eccf;color:#294b41;min-height:52px}.welcome-actions .text-btn{color:#d4e4df}.welcome-proof{display:flex;gap:10px;align-items:center;font-size:10px;color:#a4bbb6;margin-top:32px}.welcome-proof .avatar{height:28px;width:28px;border-color:#173d45;font-size:9px}.welcome-visual{display:grid;place-items:center;min-height:410px;position:relative}.welcome-visual .orb-scene{animation:float 7s ease-in-out infinite}.orb-caption{position:absolute;bottom:0;color:#b9d0c9;font-size:10px;letter-spacing:.02em;display:flex;align-items:center;gap:7px}.welcome-bottom{max-width:1120px;margin:0 auto;padding:28px 0;border-top:1px solid #ffffff17;display:flex;justify-content:space-between;color:#97b2ae;font-size:11px}.welcome-bottom span{display:flex;gap:8px;align-items:center}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
/* Onboarding */
.onboard{min-height:calc(100svh - 31px);display:grid;grid-template-columns:40% 60%}.onboard-aside{padding:42px 48px;background:#e9efea;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:760px}.onboard-aside .aside-copy{margin:auto 0 24px;position:relative;z-index:1;max-width:350px}.aside-copy h2{font-size:37px;line-height:1.18;margin:15px 0}.aside-copy p{font-size:12px;line-height:1.9;max-width:290px}.onboard-aside .orb-scene{--size:170px;margin:40px auto 75px}.onboard-aside .orb-shadow{background:#32504c20}.aside-bottom{font-size:10px;color:#76887d;display:flex;align-items:center;gap:7px}.onboard-main{padding:36px 55px 48px;display:flex;flex-direction:column;background:#fafbf8}.onboard-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.step-track{display:flex;gap:5px}.step-track i{width:26px;height:3px;border-radius:4px;background:#dce3de}.step-track i.on{background:#44887d}.onboard-body{width:min(100%,450px);margin:auto; padding:40px 0}.onboard-body h1{font-size:35px;margin:14px 0}.onboard-body>p{font-size:12px;max-width:420px;line-height:1.85}.onboard-body .eyebrow{color:#598278}.onboard-footer{margin-top:32px;text-align:center;font-size:10px;color:#8a9392}.otp{letter-spacing:1em;text-align:center;font-size:22px;font-weight:600;padding-left:30px}.form-error{color:#a74338;font-size:12px;min-height:19px;margin-top:7px}.member-entry{display:grid;grid-template-columns:36px 1fr 102px 30px;gap:8px;align-items:center;margin:12px 0}.member-entry input,.member-entry select{font-size:12px;padding:11px 10px}.member-entry .avatar{width:32px;height:32px;font-size:10px}.invite-list{margin-top:23px}.invite-entry{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center}.invite-entry p{font-size:11px}.invite-entry:last-child{border-bottom:0}.small-number{width:23px;height:23px;border-radius:50%;background:#edf1e7;display:grid;place-items:center;font-size:10px;font-weight:650;color:#5e7956}.phone-preview{background:#fff;border:1px solid var(--line);padding:16px;border-radius:18px;margin-top:20px;box-shadow:var(--shadow)}.chat-header{display:flex;gap:10px;align-items:center;padding-bottom:13px;border-bottom:1px solid #e9ede7}.chat-header .chat-logo{background:#e2ece5;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;color:#3a7568}.chat-header p{font-size:10px}.bubble{background:#eff4ee;padding:13px 15px;border-radius:3px 14px 14px 14px;font-size:12px;line-height:1.8;max-width:90%;margin-top:14px}.bubble.out{background:#ddecdf;margin-left:auto;border-radius:14px 3px 14px 14px}.bubble small{display:block;text-align:right;color:#799180;font-size:9px}.bubble .link-preview{background:#fff9;padding:10px;border-radius:8px;margin:8px 0;display:block}.bubble .link-preview b{display:block;font-size:12px}.success-icon{height:60px;width:60px;background:var(--mint);color:var(--green);border-radius:50%;display:grid;place-items:center;margin-bottom:23px}.status-line{display:flex;align-items:center;gap:9px;padding:10px 0;color:#5f726b;font-size:12px}.status-line svg{color:#4d8b68}.choice{border:1px solid var(--line);background:white;border-radius:13px;padding:16px;margin-top:11px;display:flex;align-items:center;gap:12px}.choice:has(input:checked){border-color:#679e8d;background:#f1f7f1}.choice input{width:16px;height:16px;margin:0;accent-color:#437c68}.choice label{margin:0;font-size:12px}.choice p{font-size:10px;margin-top:3px}.invite-family{margin-top:25px;padding:24px;background:var(--peach);border-radius:18px;text-align:center}.invite-family .avatars{justify-content:center;margin-bottom:13px}.invite-family h3{font-size:20px;margin-bottom:5px}
/* Household shell */
.shell{min-height:calc(100svh - 31px);display:grid;grid-template-columns:218px 1fr}.sidebar{border-right:1px solid #dfe4de;background:#f2f4ed;padding:28px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:calc(100svh - 31px)}.family-switch{margin:33px 0 26px;padding:12px 10px;background:#e9ede3;border:1px solid #dfe5d8;border-radius:13px;display:flex;gap:9px;align-items:center}.family-switch .avatar{height:29px;width:29px;background:#c7d8b3;border-color:#e9ede3;color:#526543;font-size:10px}.family-switch b{font-size:11px}.family-switch small{font-size:9px;display:block;color:#7b8873}.side-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#8d9788;margin:17px 11px 9px}.side-nav{display:grid;gap:5px}.side-nav a{display:flex;align-items:center;gap:11px;min-height:41px;padding:10px 12px;border-radius:10px;color:#6a756b;font-size:11px;font-weight:550;transition:background .17s,color .17s}.side-nav a.active{background:#fff;color:#244c47;box-shadow:0 2px 5px #203f3210}.side-nav a:hover{background:#fff9}.side-nav a svg{width:16px;height:16px}.side-nav .count{margin-left:auto;font-size:9px;background:#e5ecdc;color:#60794c;padding:2px 6px;border-radius:5px}.sidebar-bottom{margin-top:auto;padding-top:20px}.mini-assistant{padding:13px;border:1px solid #dbe4d5;border-radius:13px;background:#e7eddf}.mini-assistant p{font-size:10px;margin:6px 0 10px;color:#718264}.mini-assistant .btn{background:#fff;min-height:32px;font-size:10px;width:100%;padding:8px}.sidebar-profile{margin-top:22px;display:flex;gap:8px;align-items:center;font-size:10px}.sidebar-profile .avatar{width:29px;height:29px;font-size:10px}.sidebar-profile span{display:block;font-size:9px;color:var(--muted)}.main-wrap{min-width:0}.topbar{height:76px;border-bottom:1px solid #e5e7e1;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#f9faf6a6}.breadcrumb{font-size:11px;color:#778075;display:flex;align-items:center;gap:10px}.breadcrumb strong{color:#4b5c52;font-weight:550}.topbar-actions{display:flex;align-items:center;gap:12px;color:#6e7d6e}.topbar-actions .pill{font-size:9px;background:#e9efe4}.main{max-width:1180px;margin:0 auto;padding:37px 40px 58px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.page-head p{font-size:12px;margin-top:10px}.page-head h1{font-size:35px}.page-head .eyebrow{margin-bottom:13px}.page-head em{font-family:Georgia,serif;font-weight:400;color:#72907a}.mobile-menu{display:none}.home-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.today-card{background:#e5ecdf;position:relative;overflow:hidden;border:1px solid #d5dfcd;border-radius:22px;padding:30px;min-height:270px;display:flex;align-items:center}.today-card .orb-scene{--size:105px;position:absolute;right:30px;top:81px;opacity:.95}.today-card .orb-shadow{background:#5a705a20}.today-card h2{font-size:30px;max-width:260px;margin:15px 0;line-height:1.13}.today-card p{font-size:11px;max-width:235px;color:#708167;line-height:1.8}.today-card .text-btn{color:#3f654c;margin-top:22px}.brief-card{padding:24px 25px;background:#fff;border:1px solid var(--line);border-radius:22px}.brief-card h3{font-size:14px}.event{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #eef0e9;align-items:center}.event:last-child{border-bottom:0;padding-bottom:0}.event-time{width:42px;font-size:10px;color:#839079;font-weight:600}.event-icon{height:32px;width:32px;display:grid;place-items:center;background:#f0ede7;border-radius:10px;color:#94816a}.event-icon.blue{background:#eaf0f7;color:#66829c}.event p{font-size:10px;margin-top:2px}.event b{font-size:11px;font-weight:650}.page-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.page-tile{border:1px solid var(--line);border-radius:17px;background:white;overflow:hidden;transition:transform .22s var(--ease),box-shadow .22s;display:block}.page-tile:hover{transform:translateY(-5px);box-shadow:0 14px 28px #263f3210}.tile-art{height:117px;position:relative;overflow:hidden;background:#e4e9de;display:grid;place-items:center}.tile-art.education{background:#e9ebdf}.tile-art.week{background:#e9e3ec}.tile-art.travel{background:#e8dacc}.tile-art.money{background:#dce8e3}.tile-content{padding:15px}.tile-content h3{font-size:12px}.tile-content p{font-size:9px;margin:5px 0 10px}.tile-content .row{font-size:8px;color:#8d9889}.tile-content .avatar{width:18px;height:18px;font-size:7px;border-width:1px}.tile-content .text-btn{font-size:10px}.book-art{position:absolute;width:105px;height:75px;transform:rotate(-9deg);border-radius:3px 9px 9px 3px;background:#758974;box-shadow:5px 7px 0 #cfd9c2,6px 8px 15px #3c4b3820;top:20px}.book-art:before{content:'';position:absolute;left:14px;top:0;height:100%;width:1px;background:#fff4}.book-art:after{content:'A a';position:absolute;left:29px;top:15px;font:italic 29px Georgia;color:#f4f1db}.calendar-art{background:#fff9;width:100px;border-radius:9px;box-shadow:2px 5px 12px #5c466214;transform:rotate(6deg);padding:13px 12px;color:#79647e}.calendar-art b{font-size:10px;display:block;border-bottom:1px solid #ddd0e0;padding-bottom:8px;letter-spacing:.07em}.calendar-art span{display:block;font:28px Georgia;margin-top:5px}.travel-art{width:100%;height:100%;background:linear-gradient(15deg,#485c54 0 25%,transparent 25%),linear-gradient(-15deg,#758979 0 40%,transparent 40%),linear-gradient(0deg,#c5cbb5,#dfbb96);position:relative}.travel-art:after{content:'';position:absolute;width:31px;height:31px;border-radius:50%;background:#f9e1b7;right:29%;top:19px;box-shadow:0 0 30px #ffddac70}.travel-art:before{content:'';position:absolute;width:80px;height:48px;left:35%;bottom:5px;border-top:5px solid #414b46;border-bottom:5px solid #414b46;background:repeating-linear-gradient(90deg,#414b46 0 4px,transparent 4px 37px);z-index:1;transform:perspective(80px) rotateX(-10deg)}.money-art{width:104px;height:65px;border-radius:8px;background:linear-gradient(135deg,#759b89,#3d6d61);box-shadow:4px 6px 0 #b7d0c2;transform:rotate(-8deg);padding:15px;color:#e1efdb;font:11px Manrope}.money-art:after{content:'••••  2048';display:block;font-size:8px;margin-top:16px;letter-spacing:2px}.activity-card{margin-top:25px;padding:20px 24px;border-radius:18px;border:1px solid var(--line);background:#f9faf6}.activity-card h3{font-size:12px}.activity-row{display:flex;align-items:center;gap:12px;padding-top:15px;font-size:10px;color:#6e7c70}.activity-row .activity-dot{width:6px;height:6px;background:#8eb199;border-radius:50%;flex-shrink:0}.activity-row time{margin-left:auto;color:#8c978b;white-space:nowrap}.activity-row b{color:#536a54;font-weight:600}.home-bottom{margin-top:27px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8b958b}.family-card{padding:21px 24px;display:flex;align-items:center;gap:15px;border:1px solid var(--line);background:#fff;border-radius:17px}.family-card h3{font-size:14px}.family-card p{font-size:10px;margin-top:4px}.family-card .pill{margin-left:auto}.family-card .icon-btn{color:#7d897b}.permission-grid{margin-top:24px}.permission-row{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:10px;border-bottom:1px solid #edf0e8;padding:14px 0;font-size:11px;align-items:center}.permission-row span:not(:first-child){text-align:center;color:#6b886d}.permission-row.head{font-size:9px;color:#879382;font-weight:600}.connection-row{display:flex;gap:14px;align-items:center;padding:22px 0;border-bottom:1px solid #edf0e8}.connection-row:last-child{border-bottom:0}.connection-logo{height:41px;width:41px;border-radius:12px;background:#f2f4ef;display:grid;place-items:center;color:#618264;font-weight:750;font-size:20px}.connection-row h3{font-size:13px}.connection-row p{font-size:10px;margin-top:4px}.connection-row .btn{min-height:34px;padding:8px 12px;font-size:10px}.vault-header{background:#e6ece1;border-radius:18px;padding:24px;display:flex;gap:18px;align-items:center;margin-bottom:25px}.vault-header h3{font-size:15px}.vault-header p{font-size:11px;margin-top:7px;max-width:440px}.vault-header .icon-circle{background:#d3dfc9;border-radius:50%;height:49px;width:49px;display:grid;place-items:center;flex-shrink:0;color:#55754d}.vault-item{display:flex;gap:13px;align-items:center;padding:20px 0;border-bottom:1px solid #edf0e8}.vault-item h3{font-size:12px}.vault-item p{font-size:10px;margin-top:3px}.vault-item .connection-logo{font-size:13px}.vault-item .pill{font-size:9px}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:8px;overflow-x:auto}.tabs button{font-size:11px;padding:10px 0 13px;white-space:nowrap;color:#80907f;border-bottom:2px solid transparent}.tabs button.active{color:#3a654b;border-color:#548064}.vault-form{max-width:550px}.select-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.select-grid button{border:1px solid var(--line);border-radius:12px;background:white;padding:14px;display:flex;align-items:center;gap:10px;font-size:12px}.select-grid button.active{border-color:#6d9d8a;background:#edf4ed}
/* Living documents */
.doc-header{margin-bottom:24px}.doc-metadata{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:10px;color:#8a9588;margin-top:16px}.doc-metadata .avatars .avatar{height:22px;width:22px;font-size:8px}.doc-banner{border-radius:20px;padding:30px 34px;background:#e6ecdf;display:flex;justify-content:space-between;align-items:center;margin:25px 0;gap:20px}.doc-banner h2{font:italic 30px/1.25 Georgia,serif;letter-spacing:-.025em;max-width:530px;color:#3c5944}.doc-banner p{font-size:11px;max-width:490px;margin-top:12px;color:#73836a;line-height:1.9}.doc-icon{height:80px;width:80px;border:1px solid #bfd0b8;border-radius:50%;display:grid;place-items:center;color:#79996b;flex-shrink:0}.doc-icon svg{width:33px;height:33px}.report-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.student-head{display:flex;gap:13px;align-items:center;margin-bottom:21px}.student-head p{font-size:10px;margin-top:4px}.student-head .pill{margin-left:auto;font-size:9px}.subject{margin-top:18px}.subject .row{font-size:11px;margin-bottom:7px}.subject .row span:last-child{margin-left:auto;color:#6b8265;font-size:10px}.progress{height:5px;background:#eef1e8;border-radius:5px;overflow:hidden}.progress i{display:block;height:100%;width:var(--value);background:#95af86;border-radius:5px;transform-origin:left;animation:grow .7s var(--ease)}@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}.source-note{border-top:1px solid #edf0e7;margin-top:22px;padding-top:13px;font-size:9px;color:#8a9585}.source-note a{text-decoration:underline;text-underline-offset:3px}.attention{padding:17px;background:#faf3e7;border:1px solid #efe1c7;border-radius:12px;margin-top:17px}.attention h3{font-size:11px;color:#947040}.attention p{font-size:10px;margin-top:5px;color:#9b8868;line-height:1.8}.action-line{display:flex;gap:12px;align-items:center;margin-top:13px;font-size:11px;padding:13px 0;border-bottom:1px solid #edf0e7}.action-line p{font-size:10px;margin-top:3px}.action-line .avatar{width:29px;height:29px;font-size:9px}.document-footer{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#8b9587}.schedule{display:grid;grid-template-columns:52px repeat(5,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.schedule>div{min-height:73px;border-right:1px solid #edf0e8;border-bottom:1px solid #edf0e8;padding:10px;font-size:10px;color:#7f8c77}.schedule .day{min-height:65px;text-align:center;background:#f9faf6;color:#7c8b75}.schedule .day b{font-size:18px;display:block;color:#596d54;font-weight:500}.schedule .day.today{background:#edf2e7}.schedule .slot{padding:7px}.schedule .time{font-size:9px;color:#99a18e}.cal-event{border-radius:7px;background:#e6edde;padding:8px;font-size:9px;line-height:1.6;color:#5a744c;min-height:51px}.cal-event.lilac{background:#eeebf3;color:#7c6c8d}.cal-event.peach{background:#f5ece1;color:#958266}.cal-event.blue{background:#e8f0f5;color:#648094}.cal-event b{font-size:9px;display:block}.travel-hero{height:235px;border-radius:20px;position:relative;overflow:hidden;background:#c6c8b2;margin-top:25px}.travel-hero .travel-art:before{width:160px;height:105px;bottom:24px;left:68%;border-width:9px;background:repeating-linear-gradient(90deg,#414b46 0 9px,transparent 9px 73px)}.travel-hero .travel-art:after{width:65px;height:65px;right:27%;top:37px}.travel-hero .travel-art{background:linear-gradient(15deg,#405d53 0 25%,transparent 25%),linear-gradient(-15deg,#7e9379 0 40%,transparent 40%),linear-gradient(0deg,#c5cbb5,#d9b592)}.travel-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#193d3bba,transparent 70%);padding:35px;color:#f3f3df;display:flex;flex-direction:column;justify-content:center}.travel-overlay p{color:#d1deca;font-size:11px;margin-top:12px}.travel-overlay h2{font:italic 42px Georgia;letter-spacing:-.05em;max-width:320px}.travel-overlay .eyebrow{color:#c6d7b8;margin-bottom:17px;font-size:9px}.itinerary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.day-card{background:white;border:1px solid var(--line);padding:22px;border-radius:17px}.day-card h3{font-size:13px;margin:10px 0 17px}.day-card .eyebrow{font-size:9px}.trip-item{border-left:1px solid #dce6d5;padding-left:12px;font-size:10px;margin-top:17px;line-height:1.8;color:#6e8264}.trip-item b{display:block;color:#526b49;font-weight:650}.trip-item small{font-size:9px;color:#94a087;display:block}.budget-list{display:flex;align-items:center;gap:20px;font-size:11px;flex-wrap:wrap;margin-top:22px}.budget-list span{display:block;font-size:9px;color:#8b9785;margin-top:3px}.money-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.money-summary>div{background:white;border:1px solid var(--line);border-radius:17px;padding:24px}.money-summary .eyebrow{font-size:9px}.money-summary b{font-size:28px;font-weight:450;display:block;margin:12px 0 7px;letter-spacing:-.05em}.money-summary p{font-size:10px}.ledger{width:100%;border-collapse:collapse;font-size:11px}.ledger th{font-size:9px;color:#98a18f;font-weight:600;text-align:left;padding:11px 0}.ledger td{border-top:1px solid #edf0e7;padding:16px 0;color:#697b60}.ledger th:last-child,.ledger td:last-child{text-align:right}.ledger .avatar{width:23px;height:23px;font-size:8px;margin-right:8px}.ledger td:first-child{color:#435a3e;font-weight:600}.ledger td small{display:block;font-weight:400;font-size:9px;color:#92a088;margin-top:3px}.share-panel{padding:19px;background:#f7faf4;border:1px solid #e0e8d8;border-radius:12px;margin-top:21px}.share-panel h3{font-size:12px}.share-panel p{font-size:10px;margin-top:6px}.share-person{display:flex;align-items:center;gap:10px;margin-top:15px;font-size:12px}.share-person select{width:auto;margin-left:auto;font-size:11px;padding:8px 10px}.link-box{margin-top:20px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;font-size:10px;background:#f4f6f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-state{max-width:530px;margin:40px auto}.login-state h1{font-size:32px;margin:22px 0 13px}.login-state p{font-size:12px;line-height:1.9}.route-index{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.route-index a{border:1px solid var(--line);border-radius:13px;padding:18px;background:white;transition:transform .2s}.route-index a:hover{transform:translateY(-3px)}.route-index small{color:#81947a;display:block;margin-bottom:7px;font-size:9px}.route-index b{font-size:12px}.route-index p{font-size:10px;margin-top:5px}.toast{position:fixed;z-index:90;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:calc(100% - 40px);background:#27483f;color:#f0f6e9;border:1px solid #476654;border-radius:12px;box-shadow:0 9px 25px #16312925;padding:13px 19px;font-size:12px;transition:transform .25s var(--ease),opacity .2s}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #e0e6db;border-radius:23px;width:min(480px,calc(100% - 32px));padding:29px;color:var(--ink);box-shadow:0 30px 100px #163a3225;background:#fcfdf9}dialog::backdrop{background:#183b3648;backdrop-filter:blur(5px)}dialog[open]{animation:arrive .3s var(--ease)}dialog h2{font-size:24px;max-width:340px}dialog .dialog-close{position:absolute;top:17px;right:17px}dialog>p{font-size:12px;margin-top:13px}.dialog-actions{display:flex;gap:10px;margin-top:24px;justify-content:flex-end}.demo-note{padding:12px 15px;border:1px dashed #d9e1d1;border-radius:12px;font-size:10px;color:#8a977e;margin-top:23px}.error-state{color:#9d5c43}.toggle{width:33px;height:19px;border-radius:12px;background:#cbd5c5;padding:3px;display:inline-flex;align-items:center}.toggle.on{background:#688c65}.toggle:after{content:'';height:13px;width:13px;background:white;border-radius:50%;box-shadow:0 1px 3px #34532320;transition:transform .18s}.toggle.on:after{transform:translateX(14px)}
.menu-scrim{display:none}h1[tabindex]:focus{outline:none}.route-content{animation-duration:.24s}.stagger>*{animation-duration:.28s}.orb-shell{transition-property:transform}.member-view-switch{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.member-view-switch button{font-size:10px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:white}.member-view-switch button[aria-pressed="true"]{background:#e5eedf;border-color:#9fb595}.permission-note{font-size:10px;margin-top:12px;color:#8a977e}
@media(hover:none),(pointer:coarse){.btn:hover,.page-tile:hover,.route-index a:hover{transform:none;box-shadow:none}.orb-scene.interactive:hover .orb-shell{filter:none}}
@media(min-width:1440px){.welcome-main{margin-top:95px}.welcome-bottom{margin-top:40px}.orb-scene{--size:305px}.welcome-visual{min-height:440px}.main{padding-top:45px}}
@media(max-width:1150px){.shell{grid-template-columns:190px 1fr}.sidebar{padding:26px 16px}.main{padding:30px 26px 45px}.topbar{padding:0 26px}.page-grid{grid-template-columns:repeat(2,1fr)}.today-card .orb-scene{right:18px;--size:83px}.today-card h2{max-width:190px;font-size:26px}.today-card p{max-width:190px}.home-grid{gap:16px}.today-card{padding:24px}.onboard-aside{padding:35px}.welcome-main{gap:35px}.floating-note.one{left:-38px}.floating-note.two{right:-35px}.welcome-bottom{margin:0 55px}.report-grid{grid-template-columns:1fr}.onboard-main{padding:32px 35px}}
@media(max-width:850px){.onboard{grid-template-columns:32% 68%}.onboard-aside{padding:28px}.aside-copy h2{font-size:28px}.onboard-aside .orb-scene{--size:120px;margin-bottom:55px}.home-grid{grid-template-columns:1fr}.today-card{min-height:225px}.today-card h2{max-width:330px}.today-card p{max-width:330px}.today-card .orb-scene{right:35px;--size:125px;top:60px}.itinerary{grid-template-columns:1fr}.welcome-main{padding:0 38px 65px;margin-top:40px;gap:18px}.welcome-nav{padding:30px 38px}.welcome-copy h1{font-size:53px}.orb-scene{--size:210px}.floating-note{padding:10px}.floating-note.one{left:-26px;top:24px}.floating-note.two{right:-29px;bottom:2px}.floating-note .note-icon{display:none}.welcome-proof{margin-top:20px}.welcome-actions{gap:12px}.welcome-actions .text-btn{font-size:10px}.welcome-bottom{margin:0 38px}.welcome-bottom span{font-size:9px}.grid2{grid-template-columns:1fr}.route-index{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.preview-bar{font-size:9px;gap:6px}.welcome-nav{padding:25px}.welcome-nav .brand img{width:70px}.welcome-nav .btn{font-size:10px;min-height:34px;padding:8px 12px}.welcome-main{grid-template-columns:1fr;padding:0 28px 35px;margin-top:25px;gap:20px}.welcome-copy{text-align:center}.welcome-copy h1{font-size:49px;max-width:400px;margin:20px auto}.welcome-copy>p{font-size:12px;max-width:310px;margin:auto}.welcome-actions{justify-content:center;margin:25px 0 17px;gap:18px}.welcome-actions .btn{font-size:11px;min-height:46px}.welcome-proof{justify-content:center}.welcome-visual{min-height:285px;margin:10px 30px 15px}.welcome-visual .orb-scene{--size:190px}.floating-note.one{left:-45px;top:8px}.floating-note.two{right:-44px;bottom:7px}.orb-caption{bottom:-10px;font-size:9px}.welcome-bottom{margin:0 25px;justify-content:center;gap:19px;padding:22px 0 30px;flex-wrap:wrap}.welcome-bottom span{font-size:9px}.onboard{grid-template-columns:1fr}.onboard-aside{display:none}.onboard-main{min-height:calc(100svh - 31px);padding:26px 25px 34px}.onboard-top:before{content:'otie';font-size:24px;font-weight:750;letter-spacing:-1.5px;color:#2c4e49}.onboard-top>.text-btn{font-size:10px}.onboard-body{padding:44px 0 30px;margin:auto;width:min(100%,410px)}.onboard-body h1{font-size:32px}.member-entry{grid-template-columns:30px 1fr 96px 24px;gap:6px}.member-entry select{font-size:10px}.onboard-footer{font-size:9px}.shell{display:block}.sidebar{display:none;position:fixed;inset:31px auto 0 0;z-index:40;height:calc(100svh - 31px);width:235px;box-shadow:0 10px 60px #193a3940}.shell.menu-open .sidebar{display:flex}.menu-scrim{display:none}.shell.menu-open .menu-scrim{display:block;position:fixed;inset:31px 0 0;background:#183b3640;z-index:39}.topbar{height:61px;padding:0 19px}.mobile-menu{display:grid}.breadcrumb{font-size:10px;gap:8px}.topbar-actions{gap:4px}.topbar-actions .pill{font-size:8px}.topbar-actions .icon-btn{min-width:32px}.main{padding:28px 20px 40px}.page-head{gap:12px;margin-bottom:23px;align-items:flex-start}.page-head h1{font-size:30px}.page-head p{font-size:11px;max-width:280px;line-height:1.8}.page-head .btn{font-size:10px;padding:10px 12px;min-height:39px;white-space:nowrap}.page-head .eyebrow{font-size:9px}.today-card{min-height:225px;padding:23px}.today-card h2{max-width:210px;font-size:28px}.today-card p{max-width:220px;font-size:10px}.today-card .orb-scene{--size:85px;right:23px;top:79px}.today-card .text-btn{margin-top:17px}.brief-card{padding:22px}.section-title{margin-top:25px}.section-title h2{font-size:18px}.section-title .text-btn{font-size:10px}.page-grid{gap:12px}.tile-art{height:104px}.tile-content{padding:13px}.tile-content h3{font-size:11px}.tile-content p{font-size:9px}.tile-content .row{gap:4px}.activity-card{padding:19px}.activity-row{font-size:9px;gap:8px}.activity-row time{font-size:8px}.home-bottom{font-size:9px;gap:12px;line-height:1.7}.home-bottom .text-btn{font-size:9px;white-space:nowrap}.card{padding:21px}.family-card{padding:17px;gap:10px}.family-card .avatar.big{width:41px;height:41px;font-size:12px}.family-card h3{font-size:12px}.family-card p{font-size:9px}.family-card .pill{font-size:8px}.family-card .icon-btn{min-width:28px}.permission-row{grid-template-columns:1.3fr repeat(3,1fr);font-size:9px;gap:4px}.permission-row.head{font-size:8px}.connection-row{gap:10px;flex-wrap:wrap}.connection-row .grow{min-width:160px}.connection-row .pill{font-size:9px}.connection-row h3{font-size:12px}.connection-row p{font-size:9px}.vault-header{padding:20px;gap:12px}.vault-header h3{font-size:13px}.vault-header p{font-size:10px}.vault-header .icon-circle{height:36px;width:36px}.vault-item{gap:9px;flex-wrap:wrap}.vault-item .pill{font-size:8px}.vault-item h3{font-size:11px}.vault-item p{font-size:9px}.doc-banner{padding:25px}.doc-banner h2{font-size:26px}.doc-banner .doc-icon{display:none}.doc-banner p{font-size:10px}.student-head{gap:9px}.student-head h3{font-size:14px}.student-head .pill{font-size:8px}.doc-metadata{gap:9px;font-size:9px}.doc-header .page-head{display:block}.doc-header .page-head .row{margin-top:18px}.schedule{grid-template-columns:34px repeat(5,minmax(0,1fr));border-radius:13px}.schedule>div{padding:7px 3px;min-height:87px}.schedule .day{font-size:8px;min-height:60px}.schedule .day b{font-size:15px}.schedule .time{font-size:7px}.schedule .slot{padding:4px}.cal-event{padding:6px 4px;font-size:7px;overflow-wrap:anywhere;min-height:56px}.cal-event b{font-size:7px}.travel-hero{height:245px}.travel-overlay{padding:27px}.travel-overlay h2{font-size:36px;max-width:240px}.travel-overlay .eyebrow{font-size:8px}.travel-overlay p{font-size:10px;max-width:200px}.travel-hero .travel-art:before{left:62%;width:100px;height:70px}.money-summary{gap:9px}.money-summary>div{padding:15px 12px;border-radius:13px}.money-summary .eyebrow{font-size:7px;letter-spacing:.07em}.money-summary b{font-size:23px;margin:11px 0 7px}.money-summary p{font-size:8px}.ledger{font-size:9px}.ledger th{font-size:8px}.ledger td small{font-size:8px}.ledger .avatar{display:none}.document-footer{font-size:9px}.route-index{gap:10px}.route-index a{padding:15px}.route-index b{font-size:11px}.route-index p{font-size:9px}.info-box{font-size:11px}.doc-metadata .pill{font-size:8px}}
@media(max-width:360px){.welcome-copy h1{font-size:43px}.welcome-visual{margin-left:40px;margin-right:40px}.today-card .orb-scene{--size:64px;right:15px}.today-card p{max-width:190px}.main{padding-left:16px;padding-right:16px}.topbar-actions .pill{display:none}.page-head h1{font-size:27px}.page-head .btn{font-size:9px;padding:8px 10px}.family-card .icon-btn{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.orb-scene.open .orb-shell.top{transform:translateY(-39px)}.orb-scene.open .orb-shell.bottom{transform:translateY(39px)}.orb-scene.open .orb-core{transform:scale(1)}.btn:hover,.page-tile:hover{transform:none}}
@media print{.preview-bar,.sidebar,.topbar,.btn,.text-btn,.home-bottom{display:none!important}.shell{display:block}.main{max-width:100%;padding:10px}.card,.day-card{break-inside:avoid}.doc-banner,.travel-hero{print-color-adjust:exact}.route-content{animation:none}}

.sidebar-close{display:none}@media(max-width:680px){.sidebar-close{display:grid;position:absolute;right:12px;top:22px}}

/* Otie identity: the original otter emerges from the family capsule. */
.brand img{width:112px!important;max-height:42px;object-fit:contain;filter:none!important}.orb-core .otie-orb-mark{width:72%;height:72%;object-fit:contain}.orb-core{background:#f3dfc0}.orb-button{background:#eee3cf;color:#6b452d}.onboard-top:before{color:#3e2b22!important}
