:root{--bg: #F5F6FA;--surface: #FFFFFF;--sunk: #EFF1F7;--ink: #141B26;--ink-2: #525C6E;--line: #E3E7EF;--accent: #2F55C9;--accent-ink: #FFFFFF;--accent-soft: #E8EEFC;--field-line: #7C8599;--self: #7B55C7;--self-soft: #F1ECFB;--work: #2F6FD6;--work-soft: #E8F0FC;--family: #D0643A;--family-soft: #FCEDE6;--money: #23845A;--money-soft: #E4F4EC;--late: #C0362C;--late-soft: #FDECEA;--soon: #9A5D00;--soon-soft: #FCF1DE;--shadow: 0 1px 2px rgba(20,27,38,.04), 0 4px 14px rgba(20,27,38,.04);--glass: rgba(255,255,255,.62);--glass-line: rgba(255,255,255,.85);--sky-ink: #141B26;--scrim: rgba(20,27,38,.38);--display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--body: "Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color-scheme:light}:root[data-mode=dark]{--bg: #0F141D;--surface: #171E2A;--sunk: #1D2533;--ink: #E9EDF3;--ink-2: #A5AFBF;--line: #273041;--accent: #8EA9F5;--accent-ink: #0F141D;--accent-soft: #1E2A47;--field-line: #6B7690;--self: #B89BEA;--self-soft: color-mix(in oklab, #7B55C7 20%, #171E2A);--work: #86AEF2;--work-soft: color-mix(in oklab, #2F6FD6 18%, #171E2A);--family: #EFA07C;--family-soft: color-mix(in oklab, #D0643A 18%, #171E2A);--money: #70C99C;--money-soft: color-mix(in oklab, #23845A 18%, #171E2A);--late: #F28A7E;--late-soft: #3A1A16;--soon: #F0B65E;--soon-soft: #33280F;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.25);--glass: rgba(15,20,29,.45);--glass-line: rgba(255,255,255,.12);--sky-ink: #F2F4F8;--scrim: rgba(0,0,0,.6);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--body);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html{scroll-padding-bottom:140px}::placeholder{color:var(--ink-2);opacity:1}#main:focus,#needs:focus{outline:none}h1,h2,h3{font-family:var(--display);margin:0;line-height:1.2;text-wrap:balance}p{margin:0}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.ico{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.sub{font-size:14px;color:var(--ink-2)}.err{color:var(--late);font-size:14px}.shell{display:grid;min-height:100%}.side{display:none}.main{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(100px + env(safe-area-inset-bottom));min-width:0}.wrap{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.brand{font:800 21px/1 var(--display);letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.brand .wm span{font-weight:400}.for-dark{display:none}:root[data-mode=dark] .for-dark{display:block}:root[data-mode=dark] .for-light{display:none}.brand img{width:32px;height:32px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.seg{display:inline-flex;background:var(--sunk);border-radius:999px;padding:3px;flex-wrap:wrap}.seg button{padding:6px 14px;border-radius:999px;font-size:14px;color:var(--ink-2)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}.round{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--sunk)}.bottom{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.bottom button{display:grid;justify-items:center;gap:2px;font-size:12px;color:var(--ink-2);padding:4px 6px;min-width:56px}.bottom button[aria-current=page]{color:var(--accent);font-weight:600}.fab span{white-space:nowrap}.fab{position:fixed;inset-inline-end:max(16px,env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));z-index:6;display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 20px;border-radius:26px;background:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:0 8px 24px #2f55c959}@media(min-width:900px){.shell{grid-template-columns:240px 1fr}.side{display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh;padding:24px 16px;border-inline-end:1px solid var(--line);background:var(--surface)}.side nav{display:grid;gap:2px}.side nav button{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--ink-2);text-align:start}.side nav button:hover{background:var(--sunk)}.side nav button[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.side .foot{margin-top:auto;display:grid;gap:8px}.side .foot button{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:var(--sunk);font-size:14px;text-align:start}.bottom,.topbar .brand,.topbar .round{display:none}.main{padding-top:28px;padding-bottom:48px}.fab{bottom:28px;inset-inline-end:32px}}.sky{border-radius:22px;padding:24px;display:grid;gap:20px;color:var(--sky-ink);position:relative;overflow:hidden}.sky.morning{background:linear-gradient(135deg,#ffe1c4,#fce9e1 42%,#dce7ff)}.sky.day{background:linear-gradient(135deg,#d7e8ff,#e9f2ff 45%,#efe8ff)}.sky.evening{background:linear-gradient(135deg,#ffd3bc,#f2d0e4 48%,#d4d8fa)}.sky.night{background:linear-gradient(135deg,#c9d3f2,#d9d3f0,#e6e9f7)}:root[data-mode=dark] .sky.morning{background:linear-gradient(135deg,#4a3326,#3b2f3c 45%,#24304f)}:root[data-mode=dark] .sky.day{background:linear-gradient(135deg,#1f3253,#22304a 45%,#2d2850)}:root[data-mode=dark] .sky.evening{background:linear-gradient(135deg,#4d2e2a,#432a45 48%,#272c55)}:root[data-mode=dark] .sky.night{background:linear-gradient(135deg,#151e3a,#221e40 50%,#121a2e)}.sky .date{font:600 14px/1.2 var(--body);opacity:.72}.sky h1{font-size:clamp(30px,5vw,44px);font-weight:700;letter-spacing:-.02em;overflow-wrap:anywhere}.sky p{opacity:.82;max-width:56ch}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tile{background:var(--glass);border:1px solid var(--glass-line);border-radius:16px;padding:14px;display:grid;gap:4px;text-align:start;position:relative;z-index:1}.tile b{font:700 24px/1.1 var(--display);letter-spacing:-.01em;overflow-wrap:anywhere}.tile span{font-size:13px;opacity:.8}@media(max-width:560px){.sky{padding:20px 16px;gap:16px}.tiles{gap:8px}.tile{padding:10px;border-radius:12px}.tile b{font-size:17px}.tile span{font-size:12px}}.head{display:grid;gap:6px}.head h1{font-size:clamp(28px,4vw,38px);letter-spacing:-.015em}.head p{color:var(--ink-2);max-width:60ch}.banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:16px;background:var(--accent-soft)}.grid2{display:grid;gap:20px}@media(min-width:1120px){.grid2{grid-template-columns:1.2fr 1fr;align-items:start}}.col{display:grid;gap:20px;min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;gap:14px;min-width:0;box-shadow:var(--shadow)}.card-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.card-h h2{font-size:20px}.empty{color:var(--ink-2);font-size:15px;background:var(--sunk);border-radius:12px;padding:14px}.list{display:grid}.row{display:grid;grid-template-columns:26px 40px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.row:first-child{border-top:0;padding-top:0}.tick{position:relative;width:24px;height:24px;border-radius:8px;border:1.6px solid var(--ink-2);display:grid;place-items:center}.tick:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.tick:hover{border-color:var(--accent);background:var(--accent-soft)}.badge{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--cs);color:var(--c)}.row .open{text-align:start;min-width:0;display:grid;gap:2px}.t{font-weight:600;overflow-wrap:anywhere}.m{font-size:14px;color:var(--ink-2);display:flex;gap:2px 10px;flex-wrap:wrap;align-items:center}.right{display:grid;justify-items:end;gap:6px}@media(max-width:520px){.row{grid-template-columns:26px 36px 1fr}.badge{width:36px;height:36px;border-radius:10px}.right{grid-column:3;grid-auto-flow:column;justify-content:start;align-items:center}}.due{font:500 13px/1 var(--mono);padding:6px 9px;border-radius:999px;white-space:nowrap}.due.late{background:var(--late-soft);color:var(--late)}.due.urgent,.due.soon{background:var(--soon-soft);color:var(--soon)}.due.later,.due.none{background:var(--sunk);color:var(--ink-2)}.pill{display:inline-flex;align-items:center;gap:5px;min-height:32px;font-size:13px;color:var(--ink-2);padding:4px 10px;border:1px solid var(--field-line);border-radius:999px;white-space:nowrap;background:var(--surface)}.pill:hover{border-color:var(--ink-2);color:var(--ink)}.pill .ico{width:13px;height:13px}.area-tag{display:inline-flex;align-items:center;gap:5px}.area-tag:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c)}.horizon svg{width:100%;height:auto;display:block}.total{font:700 30px/1 var(--display);letter-spacing:-.01em}.goals{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.goal{border-radius:16px;padding:16px;display:grid;gap:12px;align-content:start;background:var(--cs)}.goal-top{display:flex;align-items:center;gap:14px}.goal h3{font-size:17px}.goal .plan{font-size:14px;background:var(--surface);border-radius:12px;padding:10px 12px}.goal .foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--ink-2)}.ring{width:58px;height:58px;flex:none}.ring text{font:600 14px var(--body);fill:var(--ink)}.meter{height:10px;border-radius:5px;background:var(--sunk);overflow:hidden}.meter i{display:block;height:100%;background:var(--c, var(--money));border-radius:5px}.months{display:grid;gap:12px}.month{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;font-size:15px}.people{display:flex;gap:18px;flex-wrap:wrap}.person{display:grid;justify-items:center;gap:4px;font-size:14px;text-align:center}.av{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--family-soft);color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;font-weight:600;background:var(--accent);color:var(--accent-ink)}.btn[disabled]{opacity:.55;cursor:wait}.btn.ghost{background:transparent;border:1px solid var(--field-line);color:var(--ink)}.btn.danger{background:var(--late-soft);color:var(--late)}.link{font-size:14px;color:var(--accent);font-weight:600;min-height:32px;display:inline-flex;align-items:center}.field{display:grid;gap:6px}.field>span{font-size:14px;font-weight:600}.input{width:100%;min-width:0;min-height:46px;padding:10px 14px;border-radius:12px;border:1px solid var(--field-line);background:var(--surface)}.input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:400px){.pair{grid-template-columns:1fr}}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:8px 14px;min-height:36px;border-radius:999px;border:1px solid var(--field-line);font-size:14px}.chip[aria-pressed=true]{background:var(--cs, var(--accent-soft));border-color:var(--c, var(--accent));color:var(--ink);font-weight:600}.range{width:100%;height:28px;accent-color:var(--accent)}.sheet-dialog{padding:0;border:0;background:transparent;width:min(560px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:visible;color:var(--ink)}.sheet-dialog::backdrop{background:#141b2673}.sheet{background:var(--surface);border-radius:20px;max-height:calc(100dvh - 32px);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;box-shadow:var(--shadow)}.sheet header{padding:20px 22px 12px;border-bottom:1px solid var(--line)}.sheet header h2{font-size:22px}.sheet .body{padding:18px 22px;overflow:auto;display:grid;gap:16px;align-content:start}.sheet footer{padding:14px 22px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}@media(max-width:640px){.sheet-dialog{width:100%;height:100dvh;max-height:none;margin:0}.sheet{height:100dvh;max-height:none;border-radius:0;padding-top:env(safe-area-inset-top)}}.signin{min-height:100%;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left));background:linear-gradient(160deg,#ffe1c4,#fce9e1 35%,#dce7ff)}:root[data-mode=dark] .signin{background:linear-gradient(160deg,#4a3326,#3b2f3c 45%,#24304f)}.signin form{width:min(420px,100%);background:var(--surface);border-radius:24px;padding:28px;display:grid;gap:18px;box-shadow:var(--shadow)}.signin .logo{width:72px;height:72px}.signin h1{font-size:28px}.signin .tag{font-family:var(--display);color:var(--ink-2)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(140px + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:12px;font-size:14px;z-index:30;max-width:calc(100% - 32px);display:flex;gap:14px;align-items:center}.toast button{color:var(--bg);font-weight:700;text-decoration:underline}@media(min-width:900px){.toast{bottom:28px}}@media(prefers-reduced-motion:no-preference){.toast{animation:up .2s ease-out}@keyframes up{0%{opacity:0;transform:translate(-50%,8px)}}}.pillars{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.pillar{background:var(--cs);border-radius:16px;padding:16px;display:grid;gap:8px;align-content:start;text-align:start;transition:transform .15s}.pillar:hover{transform:translateY(-2px)}.pillar-h{display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:19px}.sail{width:22px;height:26px;fill:var(--c);flex:none}.sail.big{width:54px;height:64px}.mast{font:500 12px/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}.goal-text{font-size:14px;color:var(--ink)}.counts{display:flex;gap:6px;flex-wrap:wrap}.count{font-size:12px;background:var(--surface);border-radius:999px;padding:3px 9px;color:var(--ink-2)}.count.warn,.warn-text{color:var(--soon)}.area-head{display:flex;gap:18px;align-items:flex-start;padding:22px;border-radius:22px;background:var(--cs)}.area-head h1{font-size:clamp(30px,5vw,42px);letter-spacing:-.02em}.area-head p{max-width:60ch}.household{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pcard{background:var(--sunk);border-radius:16px;padding:14px;display:grid;justify-items:start;gap:4px;text-align:start}.pcard:hover{background:var(--accent-soft)}.pcard .av{width:44px;height:44px;font-size:15px;margin-bottom:4px}.tick.renew{border-color:var(--soon);color:var(--soon)}.tick.renew .ico{width:15px;height:15px}@media(prefers-reduced-motion:reduce){.pillar{transition:none}.pillar:hover{transform:none}}.review-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-radius:18px;padding:20px 22px;background:linear-gradient(120deg,#2f55c9,#7b55c7);color:#fff}.review-cta.is-due{box-shadow:0 0 0 3px var(--accent-soft),0 10px 30px #2f55c94d}.review-cta h2{font-size:20px}.review-cta p{opacity:.9;font-size:14px;max-width:62ch}.review-cta .on-sky{font:500 12px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;opacity:.85}.focus-chip{background:#ffffff2e;border-color:#ffffff73;color:#fff}.btn.white{background:#fff;color:#1e2b55}.steps{display:flex;gap:6px}.steps i{flex:1;height:5px;border-radius:3px;background:var(--sunk)}.steps i.on{background:linear-gradient(90deg,var(--accent),var(--self))}.choice-row{display:grid;gap:8px;padding:10px 0;border-top:1px solid var(--line)}.slider-field{background:var(--cs);border-radius:14px;padding:12px 14px}.slider-field>span{display:flex;justify-content:space-between;gap:8px}.review-summary{font:700 22px/1.3 var(--display)}.focus-list{margin:0;padding-inline-start:1.2em;display:grid;gap:6px}textarea.input{resize:vertical;min-height:90px;font:inherit}:root[lang=ar]{--body: "Noto Sans Arabic", "Geeza Pro", Tahoma, sans-serif;--display: "Noto Kufi Arabic", "Geeza Pro", Tahoma, sans-serif}:root[lang=ar] .due,:root[lang=ar] .horizon text{font-family:var(--body)}:root[lang=ar] .brand .wm{font-family:Bricolage Grotesque,sans-serif}:root[lang=ar] .sky .date,:root[lang=ar] .mast{letter-spacing:0;text-transform:none;font-family:var(--body)}.signin-foot{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}.lang-pick{min-width:150px}.sky:after{content:"";position:absolute;inset-inline:0;bottom:0;height:26%;background:linear-gradient(transparent,#141b260d);pointer-events:none}:root[data-mode=dark] .sky:after{background:linear-gradient(transparent,#0000002e)}.voyage{position:absolute;top:18px;inset-inline-start:calc(55% + var(--day) / 6 * (45% - 48px));width:26px;height:26px;opacity:.6;pointer-events:none}@media(max-width:560px){.voyage{top:14px;width:20px;height:20px}}.review-cta{background:#141b26;position:relative;overflow:hidden;padding-inline-start:30px}.review-cta:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:6px;background:linear-gradient(#7b55c7 0,#7b55c7 25%,#d0643a 0,#d0643a 50%,#23845a 0,#23845a 75%,#2f6fd6 0)}.review-cta.is-due{box-shadow:0 0 0 2px #7b55c7,var(--shadow)}:root[data-mode=dark] .review-cta{background:#1d2533}.review-cta .on-sky{font:600 13px/1.2 var(--body);letter-spacing:0;text-transform:none;opacity:.75}.steps i:nth-child(1).on{background:var(--self)}.steps i:nth-child(2).on{background:var(--family)}.steps i:nth-child(3).on{background:var(--money)}.steps i:nth-child(4).on{background:var(--work)}.steps i:nth-child(5).on{background:var(--ink)}.pill.icon-only{padding:4px 8px;min-width:32px;justify-content:center}.horizon svg{max-width:640px}.goal.slot{background:none;border:1.5px dashed var(--field-line);color:var(--ink-2);min-height:120px;place-items:center;text-align:center;font-weight:600}.goal.slot:hover{border-color:var(--accent);color:var(--accent)}.btn[disabled]{opacity:1;background:var(--sunk);color:var(--ink-2);border-color:transparent}@media(max-width:560px){.fab{width:56px;padding:0;justify-content:center}.fab span{display:none}.main{padding-bottom:calc(150px + env(safe-area-inset-bottom))}.toast{bottom:calc(150px + env(safe-area-inset-bottom))}}
