*{-webkit-tap-highlight-color:transparent;box-sizing:border-box}body,html{-ms-overflow-style:none;margin:0;max-width:100%;overflow-x:hidden;overflow-x:clip;overscroll-behavior-y:none;padding:0;scrollbar-width:none}body::-webkit-scrollbar,html::-webkit-scrollbar{display:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1200px 600px at 110% -10%,#a78bfa2e,#0000 60%),radial-gradient(900px 500px at -20% 20%,#7dd3fc29,#0000 55%),radial-gradient(700px 500px at 60% 110%,#fbbf241f,#0000 55%),linear-gradient(165deg,#eef1fb,#f7f3ff 45%,#fff7ec);background-attachment:fixed;color:#2b2733;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100vh;min-height:100dvh}button,input,textarea{font-family:inherit}button{cursor:pointer;touch-action:manipulation}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app-main{flex:1 1;margin:0 auto;max-width:720px;padding:20px 16px calc(40px + env(safe-area-inset-bottom));width:100%}.app-header{-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);background:#ffffff9e;border-bottom:1px solid #1e193c12;padding-top:env(safe-area-inset-top);position:-webkit-sticky;position:sticky;top:0;z-index:20}.app-header-inner{padding:14px 16px 8px}.app-header-actions,.app-header-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:720px}.app-header-actions{gap:10px;padding:0 16px 10px}.app-title-group{min-width:0}.app-kicker{color:#7c6fdb;display:block;font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:2px;text-transform:uppercase}.app-title{color:#232030;font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-title-row{justify-content:space-between}.app-month-nav,.app-title-row{align-items:center;display:flex;gap:10px;min-width:0}.month-nav{background:#ffffffd9;border:1px solid #1e193c1f;border-radius:50%;color:#6c5ce7;display:grid;flex-shrink:0;height:30px;padding:0;place-items:center;transition:opacity .2s ease,transform .15s ease,background .2s ease;width:30px}.month-nav:active:not(:disabled){transform:scale(.88)}.month-nav:disabled{cursor:default;opacity:.35}.app-today{color:#2320308c;font-size:12px;font-weight:500;margin:0;text-align:right;white-space:nowrap}.btn-add{animation:add-pulse 2.8s ease-in-out infinite;background:linear-gradient(135deg,#8b7cf0,#6c5ce7);border:none;border-radius:50%;box-shadow:0 6px 18px #6c5ce766;color:#fff;display:grid;height:44px;place-items:center;transition:transform .15s ease;width:44px}.btn-add:active{transform:scale(.9)}@keyframes add-pulse{0%,to{box-shadow:0 6px 18px #6c5ce766}50%{box-shadow:0 6px 26px #6c5ce799}}.app-progress{margin:0 auto;max-width:720px;padding:0 16px}.app-progress-track{background:#1e193c14;border-radius:999px;height:6px;overflow:hidden}.app-progress-fill{background:linear-gradient(90deg,#6ee7a7,#34d399);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.app-progress-label{color:#2320308c;margin:6px auto 0}.app-progress-label,.app-unpaid-label{font-size:12px;max-width:720px;padding:0 16px 10px;text-align:right}.app-unpaid-label{color:#6c5ce7;font-weight:800;margin:-4px auto 0}.checklist-wrap{width:100%}.checklist{grid-gap:14px;align-items:stretch;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.sortable{min-width:0;will-change:transform}.sortable--dragging{z-index:10}.sortable--dragging .note{box-shadow:0 4px 8px #281e3c1f,0 24px 48px -12px #281e3c73;transform:rotate(var(--rot)) scale(1.05)}.sortable--dragging .note-desc,.sortable--dragging .note-tape{opacity:.4}.note{-webkit-touch-callout:none;animation:note-in .5s cubic-bezier(.21,1.02,.73,1) backwards;animation-delay:calc(var(--i)*45ms);background:var(--bg);border:1px solid var(--edge);border-radius:14px;box-shadow:0 1px 2px #281e3c0f,0 8px 20px -8px #281e3c38;cursor:pointer;display:flex;flex-direction:column;min-height:128px;outline:none;padding:16px 14px 13px;position:relative;transform:rotate(var(--rot));transition:transform .18s ease,box-shadow .25s ease,filter .4s ease;-webkit-user-select:none;user-select:none}@media (hover:hover){.note:hover{box-shadow:0 2px 4px #281e3c14,0 14px 28px -10px #281e3c4d;transform:rotate(var(--rot)) translateY(-2px)}.note--done:hover{transform:rotate(var(--rot)) translateY(-2px) scale(.99)}}.note:active{transform:rotate(var(--rot)) scale(.97)}.note:focus-visible{box-shadow:0 0 0 3px #6c5ce773,0 14px 28px -10px #281e3c4d}@keyframes note-in{0%{opacity:0;transform:rotate(calc(var(--rot) + 7deg)) scale(.6) translateY(14px)}to{opacity:1;transform:rotate(var(--rot)) scale(1) translateY(0)}}.note-tape{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff8c;border-radius:3px;box-shadow:0 1px 3px #00000014;height:16px;left:50%;pointer-events:none;position:absolute;top:-8px;transform:translateX(-50%) rotate(-2deg);width:58px}.note--done{filter:saturate(.55) brightness(1.05)}.note--done .note-title{text-decoration:line-through;-webkit-text-decoration-color:#00000040;text-decoration-color:#00000040;text-decoration-thickness:2px}.tick{background:#ffffffb3;border:2px solid #0000002e;border-radius:50%;color:#0000;display:grid;height:28px;left:10px;place-items:center;position:absolute;top:10px;transition:all .25s ease;width:28px;z-index:2}.tick:active{transform:scale(.85)}.tick--on{background:linear-gradient(135deg,#34d399,#10b981);border-color:#0000;box-shadow:0 3px 10px #10b98173;color:#fff}.tick-path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .35s ease .05s}.tick--on .tick-path{stroke-dashoffset:0}.note-body{display:flex;flex:1 1;flex-direction:column;min-width:0;padding-left:34px}.note-title{color:var(--ink);font-size:18px;font-weight:900;letter-spacing:-.02em;line-height:1.2;margin:0;overflow-wrap:anywhere}.note-date{align-items:center;align-self:flex-start;background:#fff9;border:1px solid var(--edge);border-radius:999px;color:var(--ink);display:inline-flex;font-size:10px;font-weight:800;gap:4px;letter-spacing:.02em;margin-bottom:6px;margin-top:4px;max-width:100%;min-width:0;padding:3px 7px}.note-date-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-date--overdue{background:#fde0de;border-color:#e5484d;box-shadow:0 0 0 1px #e5484d40;color:#a3332a;font-weight:800}.note-date--paid{background:#34d3992e;border-color:#10b98180;color:#0f766e}.note--overdue{background:linear-gradient(#e5484d14,#e5484d14),var(--bg);border-color:#e5484d;box-shadow:0 1px 2px #281e3c0f,0 8px 20px -8px #e5484d8c,0 0 0 1px #e5484d59}.note--overdue .note-title{color:#a3332a}.note-warn{animation:warn-pulse 1.6s ease-in-out infinite;display:inline-block;margin-right:3px}@keyframes warn-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.note-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--ink);display:-webkit-box;font-size:12px;line-height:1.4;margin:0;opacity:.78;overflow:hidden}.note-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-top:auto;padding-top:10px}.drag-handle,.note-goto{border:none;border-radius:50%;cursor:pointer;display:grid;height:30px;place-items:center;transition:transform .15s ease,background .2s ease,opacity .2s ease;width:30px}.note-goto{background:linear-gradient(135deg,#8b7cf0,#6c5ce7);box-shadow:0 3px 10px #6c5ce759;color:#fff}.note-goto:active{transform:scale(.9)}.drag-handle{background:#fff9;border:1px solid var(--edge);color:var(--ink);opacity:.75;touch-action:none;-webkit-user-select:none;user-select:none}.drag-handle:active{opacity:1;transform:scale(.9)}.empty-state{color:#23203080;font-size:14px;padding:48px 16px;text-align:center}.modal-backdrop{align-items:flex-end;animation:fade-in .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c173073;display:flex;inset:0;justify-content:center;overflow:hidden;position:fixed;z-index:50}.modal{-ms-overflow-style:none;animation:sheet-up .34s cubic-bezier(.22,1,.36,1);background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -10px 40px #140f2840;max-height:88vh;max-width:min(560px,calc(100vw - 16px));min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding:10px 18px calc(24px + env(safe-area-inset-bottom));scrollbar-width:none;touch-action:pan-y;transition:transform .3s cubic-bezier(.22,1,.36,1);width:100%;will-change:transform}.modal::-webkit-scrollbar{display:none}.modal--dragging{transition:none}.modal--closing{pointer-events:none}.modal-grabber{background:#2320302e;border-radius:999px;height:4px;margin:4px auto 14px;width:42px}.modal-title{color:#232030;font-size:18px;font-weight:800;margin:0 0 18px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{opacity:.6;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.field{display:block;margin-bottom:14px}.field,.modal form{min-width:0}.field-label{color:#23203099;display:block;font-size:12px;font-weight:700;margin-bottom:6px}.field-hint{color:#23203073;display:block;font-size:11px;line-height:1.4;margin-top:5px}.field input,.field textarea{background:#faf9fd;border:1.5px solid #e4e0ee;border-radius:12px;color:#232030;font-size:16px;max-width:100%;min-width:0;outline:none;padding:12px 14px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.field input::placeholder,.field textarea::placeholder{color:#23203059}.field input:focus,.field textarea:focus{border-color:#7c6fdb;box-shadow:0 0 0 3px #6c5ce72e}.native-input-wrap{background:#faf9fd;border:1.5px solid #e4e0ee;border-radius:12px;color:#232030;font-size:16px;min-width:0;padding:12px 14px;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.native-input-wrap:focus-within{border-color:#7c6fdb;box-shadow:0 0 0 3px #6c5ce72e}.native-input-display{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.native-input-display--empty{color:#23203059}.native-input-overlay{-webkit-tap-highlight-color:transparent;border:none;cursor:pointer;height:100%;inset:0;margin:0;opacity:0;padding:0;position:absolute;width:100%}.modal-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-end;margin-top:20px}.btn{border:none;border-radius:12px;flex:0 1 auto;font-size:13px;font-weight:700;min-width:0;padding:12px 14px;transition:transform .12s ease,opacity .2s ease,box-shadow .2s ease;white-space:nowrap}.btn:active{transform:scale(.95)}.btn--primary{background:linear-gradient(135deg,#8b7cf0,#6c5ce7);box-shadow:0 4px 14px #6c5ce759;color:#fff}.btn--ghost{background:#f1eefb;color:#4a4386}.btn--danger{background:#fdeceb;color:#c0392b}@media (min-width:640px){.modal-backdrop{align-items:center;padding:20px}.modal{animation:modal-pop .28s cubic-bezier(.22,1,.36,1);border-radius:22px}.modal-grabber{display:none}}@keyframes modal-pop{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.app-version{color:#23203059;font-weight:400}.color-row{display:flex;flex-wrap:wrap;gap:10px}.color-swatch{border:2px solid #0000;border-radius:50%;cursor:pointer;height:34px;padding:0;transition:transform .15s ease,box-shadow .15s ease;width:34px}.color-swatch:active{transform:scale(.9)}.color-swatch--active{box-shadow:0 0 0 3px #6c5ce759;transform:scale(1.1)}.color-swatch--auto{background:conic-gradient(#fff3c2,#ffdfea,#d8f5e2,#e3e0ff,#d9efff,#ffe6d3,#fff3c2);border-color:#e4e0ee;display:grid;place-items:center}.color-auto-icon{background:#fff;border-radius:50%;color:#6c5ce7;display:grid;font-size:11px;height:18px;place-items:center;width:18px}.color-swatch--custom{background:conic-gradient(#ff7b72,#ffd166,#06d6a0,#4cc9f0,#8b7cf0,#f472b6,#ff7b72);border-color:#e4e0ee;display:grid;overflow:hidden;place-items:center;position:relative}.color-swatch--custom input[type=color]{border:none;cursor:pointer;height:100%;inset:0;margin:0;opacity:0;padding:0;position:absolute;width:100%}.color-custom-icon{background:#fff;border-radius:50%;color:#6c5ce7;display:grid;height:18px;place-items:center;width:18px}.link-type-row{display:flex;gap:8px}.link-type-btn{background:#faf9fd;border:1.5px solid #e4e0ee;border-radius:12px;color:#23203099;flex:1 1;font-size:13px;font-weight:700;padding:10px 12px;transition:all .15s ease}.link-type-btn--active{background:linear-gradient(135deg,#8b7cf0,#6c5ce7);border-color:#0000;box-shadow:0 4px 14px #6c5ce759;color:#fff}.app-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.app-chip{background:#faf9fd;border:1.5px solid #e4e0ee;border-radius:999px;color:#4a4386;font-size:12px;font-weight:700;padding:7px 14px;transition:all .15s ease}.app-chip--active{background:#f1eefb;border-color:#6c5ce7;color:#4a4386}.app-chip:active{transform:scale(.95)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#faf9fd;border:1.5px solid #e4e0ee;border-radius:999px;color:#4a4386;font-size:12px;font-weight:700;padding:7px 14px;transition:all .15s ease}.chip--active{background:#f1eefb;border-color:#6c5ce7;color:#4a4386}.chip:active{transform:scale(.95)}.header-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.bell,.btn-icon{background:#ffffffd9;border:1px solid #1e193c1f;border-radius:50%;color:#6c5ce7;display:grid;height:44px;padding:0;place-items:center;transition:transform .15s ease,background .2s ease,color .2s ease,box-shadow .2s ease;width:44px}.bell:active,.btn-icon:active{transform:scale(.88)}.btn-icon:disabled{cursor:default;opacity:.5}.bell--on{background:linear-gradient(135deg,#8b7cf0,#6c5ce7);border-color:#0000;box-shadow:0 4px 14px #6c5ce766;color:#fff}.bell--denied{background:#fdeceb;border-color:#c0392b4d;color:#c0392b}.push-hint{animation:toast-in .3s cubic-bezier(.22,1,.36,1);background:#232030eb;border-radius:14px;bottom:calc(24px + env(safe-area-inset-bottom));box-shadow:0 10px 30px #140f2859;color:#fff;cursor:pointer;font-size:13px;left:50%;line-height:1.45;max-width:min(480px,calc(100vw - 32px));padding:12px 18px;position:fixed;text-align:center;transform:translateX(-50%);z-index:60}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.summary{display:flex;flex-direction:column;gap:12px}.summary-chart{display:block;margin:8px auto 0;max-width:230px;width:100%}.summary-chart-track{stroke:#1e193c14}.summary-chart-slice{cursor:pointer;transition:opacity .15s ease}.summary-chart-total{font-size:3.6px;font-weight:900;letter-spacing:-.02em;pointer-events:none}.summary-chart-total-label{fill:#23203073;font-size:2.2px;font-weight:800;letter-spacing:.16em;pointer-events:none}.summary-chart-tip{color:#2320308c;font-size:12px;font-weight:700;margin:0 0 12px;min-height:17px;text-align:center}.summary-total-bar{align-items:center;background:linear-gradient(135deg,#8b7cf0,#6c5ce7);border-radius:12px;box-shadow:0 6px 18px #6c5ce759;color:#fff;display:flex;gap:12px;justify-content:space-between;padding:11px 14px;position:-webkit-sticky;position:sticky;z-index:10}.summary-total-bar-label{font-size:11px;font-weight:800;letter-spacing:.1em;opacity:.9;text-transform:uppercase}.summary-total-bar-amount{font-size:18px;font-weight:900;letter-spacing:-.01em}.summary-row--active .summary-row-dot{transform:scale(1.4)}.summary-row--active .summary-row-title{color:#6c5ce7}.summary-row-dot{transition:transform .15s ease}.summary-list{margin:0;padding:0}.summary-category,.summary-list{display:flex;flex-direction:column;gap:8px;list-style:none}.summary-category-head{align-items:center;border-bottom:1px solid #1e193c14;display:flex;gap:12px;justify-content:space-between;padding:2px 4px 6px}.summary-category-name{color:#2320308c;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.summary-category-total{color:#6c5ce7;font-size:13px;font-weight:800}.summary-category-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.summary-row{align-items:center;background:#ffffffd9;border:1px solid #1e193c14;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.summary-row-name{display:flex;flex-direction:column;gap:1px;min-width:0}.summary-row-title-line{align-items:center;display:flex;gap:7px;min-width:0}.summary-row-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.summary-row-title{color:#232030;font-size:14px;font-weight:700;overflow-wrap:anywhere}.summary-row-date{color:#23203080;font-size:11px;font-weight:600}.summary-row-amount{color:#232030;font-size:15px;font-weight:800;white-space:nowrap}
/*# sourceMappingURL=main.d00af4ae.css.map*/