:root{--green:#35618c;--green-mid:#4a76a3;--green-soft:#e9f0f8;--green-tint:#f2f6fb;--cream:#f4f4f6;--amber:#a17a3e;--amber-soft:#f2ead9;--amber-ink:#6d5320;--ink:#161a1f;--muted:#7b8089;--line:#eceef0;--white:#fff;--topbar:#12161c;--danger:#a3402d;--danger-soft:#f9e7e2;--radius:16px;--shadow:0 1px 2px #1f2b160a, 0 6px 20px #1f2b160f;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:#e9eaee}svg{display:block}.ic{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}#app{background:var(--cream);flex-direction:column;max-width:460px;min-height:100dvh;margin:0 auto;display:flex;position:relative;box-shadow:0 0 40px #0000000d}.topbar{background:var(--topbar);color:#fff;padding:16px 18px calc(16px + env(safe-area-inset-top));padding-top:max(16px, env(safe-area-inset-top));z-index:20;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:9px;font-size:14px;font-weight:800;display:flex}.brand .ic{width:22px;height:22px}.avatar{color:#fff;cursor:pointer;border:2px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:650;display:flex}.screen{flex:1;padding:18px 16px 96px}.h1{letter-spacing:-.02em;font-size:24px;font-weight:680}.sub{color:var(--muted);margin:3px 0 18px;font-size:13.5px}.sec{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:22px 2px 10px;font-size:12px;font-weight:600}.sec:first-child{margin-top:0}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:11px;padding:15px 16px}.tap{cursor:pointer;transition:transform 60ms}.tap:active{transform:scale(.985)}.calbar{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.calbar .m{letter-spacing:-.01em;font-size:18px;font-weight:650}.navbtn{background:var(--white);width:34px;height:34px;box-shadow:var(--shadow);color:var(--green);cursor:pointer;border:none;border-radius:11px;justify-content:center;align-items:center;display:flex}.navbtn .ic{width:18px;height:18px}.calcard{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:14px 12px 8px}.dow{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.dow span{text-align:center;color:var(--muted);font-size:11px;font-weight:600}.grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.day{aspect-ratio:1/1.05;cursor:pointer;font:inherit;color:var(--ink);background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.day.dim{color:#c3ccb4}.day .n{font-size:14px;font-weight:500;line-height:1}.day.today .n{color:var(--green);font-weight:700}.day.sel{background:var(--green)}.day.sel .n{color:#fff;font-weight:650}.day .dts{align-items:center;gap:2px;height:5px;display:flex}.day .dt{border-radius:50%;width:5px;height:5px}.day.sel .dt{outline:1px solid #ffffff80}.ev{align-items:stretch;gap:12px;display:flex}.ev .bar{border-radius:4px;flex:0 0 4px;width:4px}.ev .mid{flex:1;min-width:0}.ev .t{letter-spacing:-.01em;font-size:15px;font-weight:600}.ev .meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:3px;font-size:12.5px;display:flex}.ev .meta .mi{align-items:center;gap:4px;display:inline-flex}.ev .meta .ic{stroke-width:2.2px;width:13px;height:13px}.ev .time{color:var(--green);white-space:nowrap;font-size:13px;font-weight:600}.chev{color:#c3ccb4;align-self:center}.chev .ic{width:18px;height:18px}.faces{display:flex}.face{color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-left:-7px;font-size:10px;font-weight:650;display:flex}.face:first-child{margin-left:0}.pill{border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.pill.pending{background:var(--amber-soft);color:var(--amber-ink)}.pill.confirmed{background:var(--green-soft);color:var(--green)}.pill.declined{background:var(--danger-soft);color:var(--danger)}.tabs{background:var(--green-tint);border-radius:12px;gap:4px;margin-bottom:16px;padding:4px;display:flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:9px;font-size:13px;font-weight:550}.tabs button.on{background:var(--white);color:var(--green);box-shadow:0 1px 3px #00000014}.banner{background:var(--amber-soft);color:var(--amber-ink);border-radius:13px;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:13.5px;font-weight:500;display:flex}.banner.g{background:var(--green-soft);color:var(--green)}.banner .ic{flex:0 0 18px;width:18px;height:18px}.seg{background:var(--green-tint);border-radius:12px;gap:4px;margin-bottom:16px;padding:4px;display:flex}.seg button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:10px;font-size:14px;font-weight:550}.seg button.on{background:var(--green);color:#fff}.field{margin-bottom:13px}.field>label{color:var(--muted);margin:0 2px 6px;font-size:12.5px;font-weight:600;display:block}input,select,textarea{border:1.5px solid var(--line);background:var(--white);width:100%;color:var(--ink);border-radius:12px;outline:none;padding:13px 14px;font-family:inherit;font-size:15px;transition:border-color .12s}input:focus,select:focus,textarea:focus{border-color:var(--green-mid)}textarea{resize:vertical;min-height:70px}.two{gap:10px;display:flex}.two>*{flex:1;min-width:0}.whochips{flex-wrap:wrap;gap:8px;display:flex}.wc{border:1.5px solid var(--line);background:var(--white);cursor:pointer;border-radius:30px;align-items:center;gap:7px;padding:8px 12px 8px 8px;font-size:13.5px;font-weight:550;display:flex}.wc .face{border:none;width:24px;height:24px;margin:0}.wc.on{border-color:var(--green);background:var(--green-soft);color:var(--green)}.btn{cursor:pointer;background:var(--green);color:#fff;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px;font-size:15px;font-weight:600;transition:transform 60ms;display:flex}.btn:active{transform:scale(.99)}.btn.ghost{background:var(--white);color:var(--green);box-shadow:var(--shadow)}.btn.amber{background:var(--amber)}.btn.danger{background:var(--white);color:var(--danger);box-shadow:var(--shadow)}.btn.sm{border-radius:11px;width:auto;padding:9px 15px;font-size:13px}.rowbtns{gap:8px;display:flex}.rowbtns .btn{flex:1}.row-between{justify-content:space-between;align-items:center;gap:10px;display:flex}.chiprow{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.fchip{border:1.5px solid var(--line);background:var(--white);cursor:pointer;border-radius:22px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:550;display:flex}.fchip.on{border-color:var(--green-mid);background:var(--green-soft)}.fchip .cd{border-radius:50%;width:9px;height:9px}.empty{text-align:center;color:var(--muted);padding:44px 20px;font-size:14px}.empty .ic{color:#c3ccb4;stroke-width:1.6px;width:34px;height:34px;margin:0 auto 12px}.listitem{align-items:center;gap:12px;display:flex}.listitem input[type=checkbox]{width:20px;height:20px;accent-color:var(--green);flex:0 0 20px}.strike{color:var(--muted);text-decoration:line-through}.iconbtn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:6px}.iconbtn .ic{width:18px;height:18px}.money{color:var(--green);font-weight:650}.nav{background:var(--white);border-top:1px solid var(--line);width:100%;max-width:460px;padding:8px 6px calc(10px + env(safe-area-inset-bottom));z-index:20;justify-content:space-around;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav button{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:4px 10px;font-size:10.5px;font-weight:550;display:flex}.nav button .ic{width:23px;height:23px}.nav button.on{color:var(--green)}.nav .fab{background:var(--green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin-top:-22px;padding:0;box-shadow:0 6px 16px #3b6d1166}.nav .fab .ic{stroke-width:2.4px;width:26px;height:26px}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100dvh;padding:32px;display:flex}.center .logo{background:var(--green);color:#fff;border-radius:20px;justify-content:center;align-items:center;width:66px;height:66px;margin-bottom:6px;display:flex}.center .logo .ic{width:34px;height:34px}.center h1{letter-spacing:-.02em;font-size:27px;font-weight:700}.center p{color:var(--muted);max-width:300px;font-size:14px;line-height:1.5}.center input,.center .btn{max-width:320px}.note{color:var(--danger);min-height:18px;font-size:13px}.note.ok{color:var(--green)}.toast{background:var(--ink);color:#fff;z-index:50;text-align:center;border-radius:24px;max-width:90%;padding:11px 18px;font-size:13.5px;font-weight:500;position:fixed;bottom:96px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.toast.err{background:var(--danger)}.maplink{color:var(--green);text-decoration:none}.maplink .ic{stroke:var(--green)}.segrow{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;gap:6px;padding:4px;display:flex}.segrow button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;padding:8px 0;font-size:14px;font-weight:600}.segrow button.on{background:var(--ink);color:#fff}.cd{background:var(--green-soft);color:var(--green);border-radius:20px;padding:2px 9px;font-weight:600}.wk-h{align-items:baseline;gap:8px;margin-bottom:6px;font-size:15px;font-weight:700;display:flex}.wk-h small{color:var(--faint);font-size:12px;font-weight:600}.wk-h .wk-c{color:var(--muted);margin-left:auto;font-size:12px;font-weight:600}.wk-ev{cursor:pointer;align-items:center;gap:9px;padding:6px 0;font-size:13.5px;display:flex}.wk-ev .bar{border-radius:2px;flex:none;width:3px;height:16px}.card.wk-today{border:1px solid var(--green)}.wk-empty{color:var(--faint);font-size:12.5px;font-style:italic}.chorestats{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.cstat{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:13px 15px}.cstat-h{align-items:center;gap:9px;margin-bottom:8px;font-size:14px;font-weight:700;display:flex}.cstat-h .face{width:24px;height:24px}.cstat-row{align-items:baseline;gap:7px;margin-bottom:9px;display:flex}.cstat-row .money{color:var(--ink);font-size:20px;font-weight:800}.cstat-sub{color:var(--muted);font-size:11px;font-weight:600}.cstat-tags{flex-wrap:wrap;gap:8px;display:flex}.ctag{background:var(--green-soft);color:var(--green);border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700}.ctag.fire{color:#a3541b;background:#fbe9d7}.setup{background:linear-gradient(135deg,var(--topbar),#243441);color:#fff;box-shadow:var(--shadow);border-radius:16px;margin-bottom:14px;padding:15px 16px}.setup-h{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:15px;font-weight:700;display:flex}.setup-h b{align-items:center;gap:8px;display:flex}.setup-h .ic{stroke:#fff;width:18px;height:18px}.setup p{color:#ffffffd9;margin:0 0 10px;font-size:13px;line-height:1.5}.setup p b{color:#fff}.setup .btn{color:var(--ink);width:auto;box-shadow:none;background:#fff;padding:11px 16px}.setup-x{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;flex:none;width:26px;height:26px;font-size:16px;line-height:1}.login{background:var(--cream);flex-direction:column;min-height:100dvh;display:flex}.login-hero{padding:calc(56px + env(safe-area-inset-top)) 28px 74px;color:#fff;background:radial-gradient(120% 80% at 82% 0,#26323f 0,#12161c 62%);position:relative;overflow:hidden}.login-hero:after{content:"";background:radial-gradient(circle,#4a7d5a38,#0000 70%);border-radius:50%;width:220px;height:220px;position:absolute;top:-40px;right:-60px}.lbrand{letter-spacing:.2em;text-transform:uppercase;color:#ffffffeb;align-items:center;gap:9px;font-size:12px;font-weight:800;display:flex}.lmark{background:#fff;border-radius:8px;place-items:center;width:26px;height:26px;display:grid}.lmark svg{width:15px;height:15px}.lh1{letter-spacing:-.03em;margin:28px 0 0;font-size:32px;font-weight:800;line-height:1.05}.lh1 span{color:#9fb7cf}.lp{color:#fff9;max-width:250px;margin-top:11px;font-size:14px;line-height:1.45}.lfam{align-items:center;margin-top:24px;display:flex}.lfam .la{color:#fff;border:2.5px solid #12161c;border-radius:50%;place-items:center;width:36px;height:36px;margin-left:-9px;font-size:11px;font-weight:800;display:grid;box-shadow:0 4px 10px #0000004d}.lfam .la:first-child{margin-left:0}.lfam-lbl{color:#ffffff8c;margin-left:12px;font-size:12px;font-weight:500}.login-card{background:var(--cream);padding:28px 26px calc(24px + env(safe-area-inset-bottom));z-index:5;border-radius:28px 28px 0 0;flex:1;margin-top:-42px;position:relative}.login-card .lh2{letter-spacing:-.02em;color:var(--ink);font-size:20px;font-weight:800}.login-card .lsub{color:var(--muted);margin:4px 0 22px;font-size:13px}.lfield{margin-bottom:13px}.lfield label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;font-size:11px;font-weight:700;display:block}.linp{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:14px 15px;display:flex}.linp svg{color:#aeb2ba;flex:none;width:17px;height:17px}.linp input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;font-family:inherit;font-size:15px}.linp input::placeholder{color:#aeb2ba}.lbtn{background:var(--topbar);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;width:100%;margin-top:8px;padding:16px;font-family:inherit;font-size:15.5px;font-weight:700;display:flex;box-shadow:0 14px 30px -12px #12161c8c}.lbtn svg{width:17px;height:17px}.lghost{text-align:center;color:var(--ink);margin-top:14px;font-size:13.5px;font-weight:600}.linkbtn{color:#35618c;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:13.5px;font-weight:700}.lnote{text-align:center;color:var(--danger);margin-top:12px;font-size:13px}.lnote:empty{display:none}.llock{color:#aeb2ba;justify-content:center;align-items:center;gap:6px;margin-top:20px;font-size:11.5px;font-weight:600;display:flex}.llock svg{width:13px;height:13px}
