@import"https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&family=Lora:ital,wght@0,400;0,600&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--s:#FAF7F2;--sm:#F0EAE0;--sd:#DACEC0;--k:#1C1611;--km:#7B6F63;--kl:#B5A899;--ac:#3674D9;--ab:#EEF3FB;--am:#E8A500;--amB:#FEF9E6;--gn:#3D8F5E;--gnB:#EBF6F1;--rd:#C84A36;--rdB:#FEF0ED;--tc:#D97A42;--tp:#F8E7DC;--pu:#7C3AED;--puB:#EDE9FE;--fn:"Sora", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs:"Lora", serif}html,body{background:var(--s);font-family:var(--fn);color:var(--k);-webkit-font-smoothing:antialiased}body{min-height:100vh}input,textarea,select{font-family:var(--fn);direction:ltr}button{font-family:var(--fn);cursor:pointer}.app-shell{min-height:100vh;max-width:480px;margin:0 auto;background:var(--s);position:relative}@media (min-width: 768px){body{background:linear-gradient(160deg,#ede7de,#d8cebf)}.app-shell{margin:24px auto;min-height:calc(100vh - 48px);border-radius:32px;box-shadow:0 20px 60px #1c161129;overflow:hidden}}.hdr{padding:24px 24px 16px;display:flex;align-items:center;justify-content:space-between}.hdr h1{font-family:var(--fs);font-size:26px;font-weight:700}.hdr .sub{color:var(--km);font-size:14px;margin-top:4px;font-weight:500}.btn{padding:16px 20px;border:none;border-radius:18px;background:var(--k);color:#fff;font-size:16px;font-weight:700;transition:transform .12s,opacity .12s,box-shadow .12s;box-shadow:0 4px 12px #1c16111f}.btn:hover{transform:translateY(-2px);opacity:.95;box-shadow:0 6px 18px #1c16112e}.btn:disabled{background:var(--sd);cursor:not-allowed;transform:none;box-shadow:none}.btn.secondary{background:#fff;color:var(--k);border:1.5px solid var(--sm);box-shadow:none}.btn.secondary:hover{box-shadow:0 4px 12px #1c161114}.btn.danger{background:var(--rd)}.btn.full{width:100%}.link-btn{background:none;border:none;color:var(--ac);font-size:14px;font-weight:600;padding:8px 0}.input{width:100%;padding:14px 16px;border:1.5px solid var(--sm);border-radius:13px;background:#fff;font-size:15px;color:var(--k);transition:border-color .15s}.input:focus{outline:none;border-color:var(--ac)}label{display:block;font-size:13px;font-weight:600;color:var(--km);margin-bottom:6px}.card{background:#fff;border-radius:22px;padding:18px;border:1px solid var(--sm);box-shadow:0 2px 8px #1c16110f;margin-bottom:12px;transition:box-shadow .15s}.card:hover{box-shadow:0 4px 16px #1c16111f}.tc{background:#fff;border-radius:20px;padding:16px;cursor:pointer;box-shadow:0 2px 8px #1c16110f;margin-bottom:12px;border:1px solid var(--sm);transition:box-shadow .15s,transform .15s}.tc:hover{box-shadow:0 6px 18px #1c16111f;transform:translateY(-2px)}.tc.care{background:#fef8f4}.tc.home{background:var(--s)}.tc.health{background:#f2f9f5}.tc.admin{background:#f3f5fc}.tc.spese{background:#fff8e0}.tc.other{background:#faf5ff}.tc.done{opacity:.6}.tc.done .tc-title{text-decoration:line-through}.tc-row{display:flex;align-items:center;gap:12px}.tc-emoji{font-size:22px;flex-shrink:0}.tc-title{font-size:16px;font-weight:700;flex:1;line-height:1.4}.tc-meta{color:var(--km);font-size:13px;margin-top:6px;font-weight:500}.sp{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:100px;font-size:11px;font-weight:600}.sp.todo{background:var(--amB);color:var(--am)}.sp.taken{background:var(--ab);color:var(--ac)}.sp.done{background:var(--gnB);color:var(--gn)}.sp.to_pay{background:var(--rdB);color:var(--rd)}.fab{position:fixed;right:max(20px,calc(50% - 220px));bottom:92px;width:64px;height:64px;border-radius:50%;background:var(--tc);color:#fff;border:none;font-size:28px;box-shadow:0 10px 28px #d97a4252;cursor:pointer;z-index:50;transition:transform .12s,box-shadow .12s}.fab:active{transform:scale(.92)}.bnav{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;background:#fff;border-top:1px solid var(--sm);display:flex;padding:8px 4px 16px;z-index:40}.bnav button{flex:1;background:none;border:none;padding:8px 4px;color:var(--kl);font-size:11px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:2px}.bnav button.active{color:var(--k)}.bnav .ic{font-size:22px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c161180;z-index:100;display:flex;align-items:flex-end;justify-content:center}@media (min-width: 768px){.modal-bg{align-items:center}}.modal{background:var(--s);width:100%;max-width:480px;border-radius:24px 24px 0 0;padding:24px;max-height:90vh;overflow-y:auto}@media (min-width: 768px){.modal{border-radius:24px}}.modal h2{font-family:var(--fs);font-size:22px;font-weight:600;margin-bottom:6px}.modal .modal-sub{color:var(--km);font-size:14px;margin-bottom:20px}.modal .row{display:flex;gap:8px;margin-top:8px}.modal .row .btn{flex:1}.empty{text-align:center;padding:40px 20px;color:var(--km)}.empty-emoji{font-size:56px;margin-bottom:12px}.empty h3{font-family:var(--fs);font-size:20px;color:var(--k);margin-bottom:6px}.empty p{font-size:14px;line-height:1.5;max-width:280px;margin:0 auto}.login-wrap{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:32px 24px;max-width:420px;margin:0 auto}.login-logo{font-size:64px;text-align:center;margin-bottom:8px}.login-h{font-family:var(--fs);font-size:32px;font-weight:600;text-align:center;margin-bottom:8px}.login-s{color:var(--km);text-align:center;margin-bottom:32px;line-height:1.5}.login-form>*+*{margin-top:12px}.login-msg{padding:14px;border-radius:12px;font-size:14px;line-height:1.4}.login-msg.success{background:var(--gnB);color:var(--gn)}.login-msg.error{background:var(--rdB);color:var(--rd)}.scr{padding-bottom:110px}.tab-content{padding-bottom:16px}.fam-switcher-wrap{display:flex;align-items:center;gap:8px;padding:0 16px 12px}.fam-switcher{display:flex;gap:8px;flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px 0}.fam-switcher::-webkit-scrollbar{display:none}.fam-chip{padding:8px 14px;border-radius:100px;border:1.5px solid var(--sm);background:#fff;color:var(--km);font-size:13px;font-weight:600;white-space:nowrap;flex-shrink:0;cursor:pointer}.fam-chip.on{background:var(--k);color:#fff;border-color:var(--k)}.fam-chip-add{width:36px;height:36px;flex-shrink:0;border-radius:50%;border:1.5px dashed var(--sd);background:#fff;color:var(--km);font-size:18px;font-weight:600;cursor:pointer;transition:all .12s}.fam-chip-add:hover{border-color:var(--k);color:var(--k)}.tc-check{width:26px;height:26px;border-radius:50%;border:2px solid var(--sd);background:#fff;color:var(--gn);font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.tc.done .tc-check{background:var(--gn);color:#fff;border-color:var(--gn)}.member-card{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border-radius:14px;margin:0 16px 8px;border:1px solid var(--sm);cursor:pointer;transition:box-shadow .15s}.member-card:hover{box-shadow:0 4px 12px #1c161112}.event-date{width:56px;flex-shrink:0;text-align:center;padding:8px 4px;background:var(--s);border-radius:12px;border:1px solid var(--sm)}.profile-wrap{padding:24px 20px 32px;max-width:480px;margin:0 auto}.profile-h{font-family:var(--fs);font-size:26px;font-weight:600;text-align:center;margin-bottom:24px}.profile-section{padding:18px 0;border-bottom:1px solid var(--sm)}.profile-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-label{font-size:13px;font-weight:600;color:var(--km);margin-bottom:4px}.profile-value{font-size:15px;color:var(--k);font-weight:500;word-break:break-word}.profile-btn{padding:8px 14px;border-radius:100px;border:1.5px solid var(--sm);background:#fff;color:var(--k);font-size:13px;font-weight:600;cursor:pointer;transition:all .12s;flex-shrink:0}.profile-btn:hover{border-color:var(--k)}.profile-btn.primary{background:var(--k);color:#fff;border-color:var(--k)}.profile-btn.primary:disabled{opacity:.5}.hub-wrap{padding:32px 20px 60px;max-width:480px;margin:0 auto}.hub-greeting{display:flex;align-items:center;gap:10px;margin-bottom:32px;font-size:14px;font-weight:500;color:var(--k)}.hub-h{font-family:var(--fs);font-size:30px;font-weight:600;line-height:1.2;margin-bottom:8px}.hub-sub{color:var(--km);margin-bottom:24px;line-height:1.5}.hub-cards{display:flex;flex-direction:column;gap:10px}.hub-card{display:flex;align-items:center;gap:14px;padding:16px;background:#fff;border:1px solid var(--sm);border-radius:18px;cursor:pointer;text-align:left;width:100%;transition:box-shadow .15s,transform .15s}.hub-card:hover{box-shadow:0 4px 14px #1c161117;transform:translateY(-1px)}.hub-card-emoji{font-size:32px;flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--s);border-radius:16px}.hub-card-text{flex:1;min-width:0}.hub-card-title{font-size:16px;font-weight:600;color:var(--k)}.hub-card-sub{font-size:13px;color:var(--km);margin-top:2px;line-height:1.4}.hub-card-arrow{font-size:22px;color:var(--kl);flex-shrink:0}.collapsible-header{display:flex;align-items:center;gap:12px;width:100%;padding:16px 20px;background:#fff;border:1px solid var(--sm);border-radius:18px;cursor:pointer;text-align:left;margin:10px 16px 0;width:calc(100% - 32px);box-shadow:0 2px 8px #1c16110f;transition:box-shadow .15s,background .15s}.collapsible-header:hover{box-shadow:0 4px 14px #1c16111f;background:#fdfaf6}.collapsible-arrow{font-size:22px;color:var(--km);transition:transform .15s;flex-shrink:0}.collapsible-label{flex:1;font-family:var(--fs);font-size:18px;font-weight:700;color:var(--k);letter-spacing:0}.collapsible-count{background:var(--k);color:#fff;border-radius:100px;padding:4px 12px;font-size:13px;font-weight:700;min-width:28px;text-align:center}.month-grid-wrap{padding:8px 16px 12px}.month-header{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 16px}.month-title{font-family:var(--fs);font-size:20px;font-weight:700;color:var(--k);text-transform:capitalize}.month-nav{width:36px;height:36px;border-radius:50%;border:1px solid var(--sm);background:#fff;color:var(--k);font-size:20px;cursor:pointer;transition:all .12s}.month-nav:hover{background:var(--sm)}.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}.month-weekday{text-align:center;font-size:13px;font-weight:700;color:var(--k);padding:8px 0;text-transform:uppercase;letter-spacing:.3px}.month-cells{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.month-cell{position:relative;padding:0;border-radius:12px;border:1px solid var(--sm);background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:space-between;font-size:13px;color:var(--k);transition:all .15s;min-height:70px}.month-cell:disabled{cursor:default;opacity:0}.month-cell:hover:not(:disabled){border-color:var(--am);background:var(--amB)}.month-cell.today{background:var(--am)11;border:2px solid var(--am);font-weight:700}.month-cell.selected{background:var(--ac);color:#fff;border:2px solid var(--ac);font-weight:700}.month-cell.has-events{background:var(--am)11}.month-day{line-height:1.1;font-size:18px;font-weight:700}.month-dot{width:4px;height:4px;border-radius:50%;background:var(--ac);margin-top:3px}.month-cell.selected .month-dot{background:#fff}.setting-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1.5px solid var(--sm);border-radius:14px;cursor:pointer;transition:all .12s;width:100%}.setting-row:hover{border-color:var(--k)}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;background:#fff;border:1.5px solid var(--sm);border-radius:14px;font-size:14px;font-weight:600;color:var(--k);cursor:pointer;transition:all .12s}.oauth-btn:hover{border-color:var(--k);box-shadow:0 2px 8px #1c16110f}.login-separator{display:flex;align-items:center;gap:12px;margin:24px 0 16px;color:var(--km);font-size:12px}.login-separator:before,.login-separator:after{content:"";flex:1;height:1px;background:var(--sm)}.profile-row-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;cursor:pointer;transition:all .12s}.billing-toggle{display:flex;gap:4px;padding:4px;background:var(--sm);border-radius:100px;max-width:360px;margin:0 auto 24px}.billing-toggle button{flex:1;padding:10px 14px;border-radius:100px;border:none;background:none;font-size:13px;font-weight:600;color:var(--km);cursor:pointer}.billing-toggle button.on{background:#fff;color:var(--k);box-shadow:0 1px 3px #1c161114}.billing-save{display:inline-block;padding:2px 8px;border-radius:100px;background:var(--gnB);color:var(--gn);font-size:10px;font-weight:700;margin-left:6px}.plan-cards{display:flex;flex-direction:column;gap:16px}.plan-card{padding:24px;background:#fff;border:1.5px solid var(--sm);border-radius:24px;position:relative}.plan-card.highlighted{background:linear-gradient(160deg,#faf7f2,#f5e6dc);border-color:var(--tc)}.plan-crown{position:absolute;top:18px;right:20px;font-size:24px}.plan-title{font-family:var(--fs);font-size:24px;font-weight:600}.plan-desc{color:var(--km);font-size:13px;margin-top:4px;line-height:1.4}.plan-price{font-family:var(--fs);font-size:36px;font-weight:700;margin-top:16px;line-height:1}.plan-per{color:var(--km);font-size:12px;margin-top:4px}.plan-cta-note{font-size:11px;color:var(--km);text-align:center;margin:8px 0 0;line-height:1.4}.plan-features{list-style:none;padding:0;margin:16px 0 0}.plan-features li{padding:6px 0;font-size:13px;color:var(--k);display:flex;align-items:flex-start}.plan-compare{background:#fff;border:1px solid var(--sm);border-radius:14px;overflow:hidden}.plan-compare-h{display:grid;grid-template-columns:1.6fr 1fr 1fr;background:var(--sm);padding:12px 14px;font-size:12px;font-weight:700;color:var(--k)}.plan-compare-h>div:not(:first-child){text-align:center}.plan-compare-row{display:grid;grid-template-columns:1.6fr 1fr 1fr;padding:10px 14px;font-size:13px;align-items:center;border-top:1px solid var(--sm)}.plan-compare-feature{color:var(--k)}.plan-compare-yes{text-align:center;color:var(--gn);font-weight:700}.plan-compare-no{text-align:center;color:var(--kl)}html[data-theme=dark]{--s: #1C1611;--sm: #2A211B;--sd: #3F342B;--k: #F7F3EE;--km: #B8AB9D;--kl: #6B5F52;--ac: #5B92E0;--ab: #1E2D45;--am: #FAB81B;--amB: #2E2510;--gn: #4FAA77;--gnB: #1C2820;--rd: #E15A4A;--rdB: #2C1815;--tc: #DD8550;--tp: #2E2018}html[data-theme=dark] body{background:var(--s)}html[data-theme=dark] .app-shell{background:var(--s);box-shadow:0 0 0 1px #ffffff0d}html[data-theme=dark] .card,html[data-theme=dark] .tc,html[data-theme=dark] .member-card,html[data-theme=dark] .input,html[data-theme=dark] .modal,html[data-theme=dark] .fam-chip,html[data-theme=dark] .collapsible-header,html[data-theme=dark] .setting-row,html[data-theme=dark] .plan-card,html[data-theme=dark] .hub-card{background:var(--sm);color:var(--k)}html[data-theme=dark] .tc.care{background:#2a1f18}html[data-theme=dark] .tc.home{background:var(--sm)}html[data-theme=dark] .tc.health{background:#1a2520}html[data-theme=dark] .tc.admin{background:#1a1e2a}html[data-theme=dark] .tc.spese{background:#2a2010}html[data-theme=dark] .tc.other{background:#251a2a}html[data-theme=dark] .bnav{background:var(--sm);border-top-color:#ffffff14}html[data-theme=dark] .fam-chip.on,html[data-theme=dark] .btn{background:var(--k);color:var(--s)}html[data-high-contrast=true]{--km: var(--k);--sm: #888}html[data-high-contrast=true] .input,html[data-high-contrast=true] .card,html[data-high-contrast=true] .tc{border-width:2px}html[data-reduced-motion=true] *,html[data-reduced-motion=true] *:before,html[data-reduced-motion=true] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.sh{display:flex;align-items:center;gap:8px;padding:16px 22px 8px}.sh-l{font-size:12px;font-weight:700;color:var(--k);letter-spacing:.4px;text-transform:uppercase}.sh-c{background:var(--sm);border-radius:100px;padding:1px 8px;font-size:11px;font-weight:700;color:var(--km)}.list{padding:0 16px}.av{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:14px;flex-shrink:0;background:var(--k)}.spin{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block;vertical-align:middle}.spin.dark{border-color:#1c161133;border-top-color:var(--k)}@keyframes spin{to{transform:rotate(360deg)}}
