:root,[data-theme=light]{--font-display:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-body:"DM Sans",-apple-system,BlinkMacSystemFont,sans-serif;--bg:#fff;--bg-secondary:#f5f5f7;--surface:#fff;--surface-secondary:#f5f5f7;--surface-tertiary:#ebebed;--surface-input:#f5f5f7;--surface-hover:#f0f0f2;--glass-bg:#ffffffd9;--glass-bg-solid:#fff;--glass-border:#0000000f;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#86868b;--text-quaternary:#aeaeb2;--text-placeholder:#c7c7cc;--border:#00000014;--border-strong:#0000001f;--blue:#007aff;--blue-bg:#007aff14;--blue-glow:#007aff1f;--green:#34c759;--green-bg:#34c75914;--green-text:#248a3d;--red:#ff3b30;--red-bg:#ff3b3014;--orange:#ff9500;--today-bg:#007aff0f;--today-ring:#007aff26;--payday-bg:#34c7590d;--payday-subtotal-bg:#34c75914;--payday-subtotal-color:#248a3d;--bill-chip-bg:#f5f5f7;--shadow-xs:0 0.5px 1px #0000000a;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 30px #0000001a;--shadow-modal:0 24px 80px #00000024,0 4px 16px #0000000f}[data-theme=dark]{--bg:#000;--bg-secondary:#1c1c1e;--surface:#1c1c1e;--surface-secondary:#2c2c2e;--surface-tertiary:#3a3a3c;--surface-input:#2c2c2e;--surface-hover:#2c2c2e;--glass-bg:#1c1c1ed9;--glass-bg-solid:#1c1c1e;--glass-border:#ffffff14;--text-primary:#f5f5f7;--text-secondary:#98989d;--text-tertiary:#636366;--text-quaternary:#48484a;--text-placeholder:#48484a;--border:#ffffff14;--border-strong:#ffffff1f;--blue:#0a84ff;--blue-bg:#0a84ff1f;--blue-glow:#0a84ff26;--green:#30d158;--green-bg:#30d1581a;--green-text:#30d158;--red:#ff453a;--red-bg:#ff453a1a;--today-bg:#0a84ff14;--today-ring:#0a84ff33;--payday-bg:#30d1580f;--payday-subtotal-bg:#30d1581f;--payday-subtotal-color:#30d158;--bill-chip-bg:#2c2c2e;--shadow-xs:0 0.5px 1px #0003;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #00000059;--shadow-lg:0 8px 30px #0006;--shadow-modal:0 24px 80px #00000080,0 4px 16px #0000004d}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:#fff;background:var(--bg);color:#1d1d1f;color:var(--text-primary);font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-body);line-height:1.5;overflow-x:hidden}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#aeaeb2;background:var(--text-quaternary);border-radius:3px}::selection{background:#007aff1f;background:var(--blue-glow);color:#1d1d1f;color:var(--text-primary)}:focus-visible{outline:2px solid #007aff;outline:2px solid var(--blue);outline-offset:2px}.loading-screen{align-items:center;display:flex;justify-content:center;min-height:100vh}.loading-spinner{animation:spin .7s linear infinite;border:2.5px solid #00000014;border-top-color:#007aff;border:2.5px solid var(--border);border-radius:50%;border-top-color:var(--blue);height:24px;width:24px}.toast-container{flex-direction:column;gap:8px;left:50%;pointer-events:none;position:fixed;top:16px;transform:translateX(-50%);z-index:9999}.toast,.toast-container{align-items:center;display:flex}.toast{animation:toastIn .35s cubic-bezier(.16,1,.3,1);background:var(--text-primary);border-radius:50px;box-shadow:0 8px 30px #00000026;color:var(--bg);font-family:var(--font-body);font-size:14px;font-weight:500;gap:10px;max-width:400px;padding:12px 20px;pointer-events:auto}.toast-exit{animation:toastOut .3s ease forwards}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:20px;justify-content:center;width:20px}.toast-success .toast-icon{background:#34c75933;color:#34c759}.toast-error .toast-icon{background:#ff3b3033;color:#ff3b30}.toast-info .toast-icon{background:#007aff33;color:#007aff}.toast-msg{line-height:1.3}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{to{opacity:0;transform:translateY(-8px) scale(.95)}}@media (max-width:480px){.toast-container{left:16px;right:16px;transform:none}.toast{font-size:13px;max-width:100%;padding:10px 16px}}.landing{background:var(--bg);display:flex;min-height:100vh}.landing-left{align-items:center;background:var(--text-primary);display:flex;flex:1 1;justify-content:center;padding:60px 48px}.landing-left-content{animation:fadeInUp .6s ease;max-width:480px}.landing-brand{align-items:center;display:flex;gap:12px;margin-bottom:48px}.landing-brand-name{font-size:24px;letter-spacing:-.5px}.landing-brand-name,.landing-headline{color:#fff;font-family:var(--font-display);font-weight:800}.landing-headline{font-size:42px;letter-spacing:-1px;line-height:1.15;margin:0 0 20px}.landing-sub{color:#ffffff8c;font-size:16px;line-height:1.65;margin:0 0 40px}.landing-features{display:flex;flex-direction:column;gap:14px;margin-bottom:48px}.landing-feature{align-items:flex-start;color:#ffffffb3;display:flex;font-size:15px;gap:14px;line-height:1.5}.landing-byline{color:#ffffff40;font-size:12px}.landing-right{align-items:center;display:flex;flex-shrink:0;justify-content:center;padding:40px 32px;width:420px}.landing-form-card{animation:fadeInUp .5s ease .1s both;max-width:360px;width:100%}.landing-form-title{color:var(--text-primary);font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.4px;margin:0 0 24px}.landing-mode-toggle{background:var(--surface-secondary);border-radius:8px;display:flex;margin-bottom:24px;padding:3px;position:relative}.landing-mode-toggle button{background:none;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:14px;font-weight:600;padding:8px;position:relative;transition:color .2s;z-index:1}.landing-mode-toggle button.active{color:var(--text-primary)}.landing-mode-bar{background:var(--surface);border-radius:6px;box-shadow:var(--shadow-xs);height:calc(100% - 6px);left:3px;position:absolute;top:3px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);width:calc(50% - 3px)}.landing-mode-bar.right{transform:translateX(100%)}.landing-form{gap:14px}.landing-field,.landing-form{display:flex;flex-direction:column}.landing-field{gap:5px}.landing-field label{color:var(--text-tertiary);font-size:12px;font-weight:600}.landing-field input{background:var(--surface-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:var(--font-body);font-size:15px;outline:none;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.landing-field input::placeholder{color:var(--text-placeholder)}.landing-field input:focus{background:var(--surface);border-color:var(--text-primary);box-shadow:0 0 0 3px #0000000f}.landing-error{background:var(--red-bg);border-radius:8px;color:var(--red);font-size:13px;font-weight:500;padding:10px 12px;text-align:center}.landing-submit{background:var(--text-primary);border:none;border-radius:8px;color:var(--bg);cursor:pointer;font-family:var(--font-body);font-size:15px;font-weight:600;margin-top:4px;padding:13px;transition:opacity .15s,transform .15s;width:100%}.landing-submit:hover{opacity:.85}.landing-submit:active{transform:scale(.98)}.landing-submit:disabled{cursor:not-allowed;opacity:.4}.landing-spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}.landing-form-footer{color:var(--text-quaternary);font-size:11px;margin-top:24px;text-align:center}@media(max-width:768px){.landing{flex-direction:column}.landing-left{flex:none;padding:40px 24px 36px}.landing-headline{font-size:28px}.landing-right{padding:32px 24px 40px;width:100%}}@keyframes spin{to{transform:rotate(1turn)}}.verify-screen{align-items:center;background:var(--bg);display:flex;justify-content:center;min-height:100vh;padding:20px}.verify-card{animation:fadeInUp .5s ease;max-width:400px;text-align:center;width:100%}.verify-logo{margin-bottom:24px}.verify-title{color:var(--text-primary);font-family:var(--font-display);font-size:26px;font-weight:800;letter-spacing:-.7px;margin:0 0 8px}.verify-subtitle{color:var(--text-tertiary);font-size:15px;line-height:1.5;margin:0 0 32px}.verify-subtitle strong{color:var(--text-primary);font-weight:600}.verify-code-row{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.verify-digit{background:var(--surface-secondary);border:2px solid var(--border);border-radius:12px;caret-color:var(--blue);color:var(--text-primary);font-family:var(--font-display);font-size:24px;font-weight:700;height:56px;outline:none;text-align:center;transition:all .15s;width:48px}.verify-digit:focus{box-shadow:0 0 0 3px #0000000f}.verify-digit.filled,.verify-digit:focus{background:var(--surface);border-color:var(--text-primary)}.verify-digit.loading{opacity:.5}.verify-status{animation:fadeIn .2s ease;color:var(--text-tertiary);font-size:14px;margin:0 0 16px}.verify-actions{display:flex;gap:24px;justify-content:center;margin-bottom:32px}.verify-logout,.verify-resend{background:none;border:none;cursor:pointer;font-size:14px;font-weight:600;padding:4px 0;transition:opacity .15s}.verify-resend{color:var(--blue)}.verify-resend:disabled{color:var(--text-quaternary);cursor:default}.verify-logout{color:var(--text-tertiary)}.verify-logout:hover{color:var(--text-primary)}.verify-footer{color:var(--text-quaternary);font-size:11px;letter-spacing:.3px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:380px){.verify-digit{font-size:20px;height:50px;width:42px}.verify-code-row{gap:6px}}.onboarding-overlay{align-items:center;animation:fadeIn .4s ease;background:var(--bg);display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.onboarding-fadeout{animation:fadeOut .3s ease forwards}@keyframes fadeOut{to{opacity:0}}.onboarding-card{max-width:400px;padding:0 24px;text-align:center;width:100%}.onboarding-slide,.onboarding-slide-enter{animation:slideEnter .35s cubic-bezier(.16,1,.3,1)}.onboarding-slide-exit-next{animation:slideExitLeft .2s ease forwards}.onboarding-slide-exit-back{animation:slideExitRight .2s ease forwards}@keyframes slideEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideExitLeft{to{opacity:0;transform:translateX(-20px)}}@keyframes slideExitRight{to{opacity:0;transform:translateX(20px)}}.onboarding-icon{display:inline-block;margin-bottom:28px}.onboarding-title{color:var(--text-primary);font-family:var(--font-display);font-size:26px;font-weight:800;letter-spacing:-.7px;margin:0 0 12px}.onboarding-body{color:var(--text-tertiary);font-size:15px;line-height:1.6;margin:0 auto;max-width:340px}.onboarding-dots{display:flex;gap:8px;justify-content:center;margin:36px 0}.onboarding-dot{background:var(--border);border-radius:50%;height:8px;transition:all .3s ease;width:8px}.onboarding-dot.active{background:var(--text-primary);border-radius:4px;width:24px}.onboarding-actions{align-items:center;display:flex;gap:12px;justify-content:space-between}.onboarding-back,.onboarding-skip{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-family:var(--font-body);font-size:15px;font-weight:600;padding:12px 20px;transition:color .15s}.onboarding-back:hover,.onboarding-skip:hover{color:var(--text-primary)}.onboarding-next{background:var(--text-primary);border:none;border-radius:12px;color:var(--bg);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:15px;font-weight:600;margin-left:auto;max-width:200px;padding:14px 24px;transition:opacity .15s,transform .15s}.onboarding-next:hover{opacity:.85}.onboarding-next:active{transform:scale(.97)}@media (max-width:480px){.onboarding-title{font-size:22px}.onboarding-body{font-size:14px}}.modal-overlay{align-items:center;animation:fadeIn .15s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#00000059;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.modal-card{animation:modalIn .3s cubic-bezier(.16,1,.3,1);background:var(--glass-bg-solid);border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--shadow-modal);max-height:88vh;max-width:440px;overflow-y:auto;width:100%}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-card::-webkit-scrollbar{width:4px}.modal-card::-webkit-scrollbar-thumb{background:var(--text-quaternary);border-radius:2px}.modal-header{align-items:center;display:flex;justify-content:space-between;padding:20px 22px 0}.modal-header h3{color:var(--text-primary);font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.3px;margin:0}.modal-close{align-items:center;background:var(--surface-secondary);border:none;border-radius:50%;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:13px;height:28px;justify-content:center;transition:all .15s;width:28px}.modal-close:hover{background:var(--surface-tertiary);color:var(--text-primary)}.modal-form{gap:14px;padding:18px 22px 22px}.modal-field,.modal-form{display:flex;flex-direction:column}.modal-field{gap:5px}.modal-field label{color:var(--text-tertiary);font-size:12px;font-weight:600;letter-spacing:.2px}.modal-field input,.modal-field select,.modal-field textarea{background:var(--surface-input);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:15px;outline:none;padding:11px 13px;transition:border-color .15s,box-shadow .15s;width:100%}.modal-field input::placeholder,.modal-field textarea::placeholder{color:var(--text-placeholder)}.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}.modal-field textarea{min-height:72px;resize:vertical}.modal-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.modal-hint{color:var(--text-tertiary);font-size:12px;line-height:1.4;margin:-6px 0 0}.modal-error{background:var(--red-bg);color:var(--red)}.modal-error,.modal-success{border-radius:8px;font-size:13px;font-weight:500;padding:9px 12px;text-align:center}.modal-success{background:var(--green-bg);color:var(--green-text)}.modal-actions{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-top:4px}.modal-actions-right{display:flex;gap:8px;margin-left:auto}.modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:9px 18px;transition:all .15s}.modal-btn:active{transform:scale(.97)}.modal-btn:disabled{cursor:not-allowed;opacity:.4}.modal-btn-primary{background:var(--text-primary);color:var(--bg)}.modal-btn-primary:hover{opacity:.85}.modal-btn-secondary{background:var(--surface-secondary);color:var(--text-secondary)}.modal-btn-secondary:hover{background:var(--surface-tertiary)}.modal-btn-danger{background:var(--red-bg);color:var(--red)}.modal-btn-danger:hover{opacity:.8}.modal-body{padding:14px 22px 22px}.modal-day-title{color:var(--text-tertiary);font-family:var(--font-display);font-size:14px;font-weight:600;margin:0 0 16px}.modal-section{margin-bottom:18px}.modal-section-title{color:var(--text-quaternary);font-size:11px;font-weight:700;letter-spacing:.8px;margin:0 0 8px;text-transform:uppercase}.modal-bill-item{align-items:center;background:var(--surface-secondary);border-radius:10px;cursor:pointer;display:flex;gap:10px;margin-bottom:4px;padding:10px 12px;transition:background .1s}.modal-bill-item:hover{background:var(--surface-tertiary)}.modal-bill-item.is-paid{opacity:.5}.modal-bill-item.is-paid .modal-bill-item-name{text-decoration:line-through}.modal-bill-item-check{align-items:center;border:2px solid var(--border-strong);border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .15s;width:20px}.modal-bill-item-check.checked{background:var(--green);border-color:var(--green)}.modal-bill-item-check.checked:after{color:#fff;content:"✓";font-size:11px;font-weight:800}.modal-bill-item-info{flex:1 1;min-width:0}.modal-bill-item-name{font-size:14px;font-weight:600}.modal-bill-item-cat{color:var(--text-tertiary);font-size:11px;margin-top:1px}.modal-bill-item-amount{font-feature-settings:"tnum";font-size:14px;font-variant-numeric:tabular-nums;font-weight:700}.modal-bill-item-edit{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-quaternary);cursor:pointer;display:flex;height:26px;justify-content:center;width:26px}.modal-bill-item-edit:hover{background:var(--surface-secondary);color:var(--blue)}.modal-note-item{background:var(--surface-secondary);border-radius:10px;margin-bottom:4px;padding:10px 12px}.modal-note-content{font-size:14px;line-height:1.5;white-space:pre-wrap}.modal-note-actions{display:flex;gap:8px;margin-top:6px}.modal-note-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:12px;font-weight:600}.modal-note-btn:hover{color:var(--blue)}.modal-note-btn.delete:hover{color:var(--red)}.modal-add-note{display:flex;gap:6px;margin-top:8px}.modal-add-note input{background:var(--surface-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);flex:1 1;font-size:14px;outline:none;padding:9px 12px}.modal-add-note input::placeholder{color:var(--text-placeholder)}.modal-add-note input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}.modal-add-note button{background:var(--text-primary);border:none;border-radius:8px;color:var(--bg);cursor:pointer;font-size:13px;font-weight:600;padding:9px 14px}@media (max-width:480px){.modal-card{border-radius:14px;margin:0 6px}.modal-row{grid-template-columns:1fr}.modal-header{padding:16px 18px 0}.modal-form{padding:14px 18px 18px}.modal-body{padding:12px 18px 18px}}.confirm-active{animation:confirmPulse .3s ease;background:var(--red-bg)!important;border-color:#ff3b3033!important;color:var(--red)!important}@keyframes confirmPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.freq-toggle{background:var(--surface-secondary);border-radius:8px;display:flex;gap:1px;padding:3px}.freq-btn{background:#0000;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:14px;font-weight:600;padding:8px;transition:all .15s}.freq-btn.active{background:var(--surface);box-shadow:var(--shadow-xs);color:var(--text-primary)}.multi-bill-modal{max-height:85vh;max-width:600px}.multi-bill-list{display:flex;flex-direction:column;gap:16px;max-height:60vh;overflow-y:auto;padding:16px 22px 0}.multi-bill-row{border:1px solid var(--border);border-radius:10px;padding:12px}.multi-bill-row-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.multi-bill-row-num{font-weight:700}.multi-bill-remove,.multi-bill-row-num{color:var(--text-quaternary);font-size:12px}.multi-bill-remove{background:none;border:none;border-radius:4px;cursor:pointer;padding:2px 6px}.multi-bill-remove:hover{background:var(--red-bg);color:var(--red)}.multi-bill-fields{display:flex;flex-wrap:wrap;gap:8px}.multi-bill-footer{padding:12px 22px 20px}.modal-add-bill-btn{align-items:center;background:#0000;border:1.5px dashed var(--border);border-radius:8px;color:var(--text-tertiary);cursor:pointer;display:flex;font-family:var(--font-body);font-size:13px;font-weight:600;gap:6px;margin-top:8px;padding:8px 12px;transition:all .15s;width:100%}.modal-add-bill-btn:hover{background:var(--surface-secondary);border-color:var(--text-primary);color:var(--text-primary)}.insights-modal{max-height:85vh;max-width:400px}.insights-body{overflow-y:auto;padding:0 22px 22px}.insights-toggle{background:var(--surface-secondary);border-radius:8px;display:flex;margin-bottom:20px;padding:3px;position:relative}.insights-toggle button{background:none;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:13px;font-weight:600;padding:7px;position:relative;transition:color .2s;z-index:1}.insights-toggle button.active{color:var(--text-primary)}.insights-toggle-bar{background:var(--surface);border-radius:6px;box-shadow:var(--shadow-xs);height:calc(100% - 6px);left:3px;position:absolute;top:3px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);width:calc(50% - 3px)}.insights-toggle-bar.right{transform:translateX(100%)}.donut-wrap{display:flex;justify-content:center;margin-bottom:20px}.insights-list{display:flex;flex-direction:column;gap:2px}.insights-row{align-items:center;border-radius:8px;display:flex;gap:10px;padding:9px 12px;transition:background .1s}.insights-row:hover{background:var(--surface-secondary)}.insights-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.insights-row-label{color:var(--text-primary);flex:1 1;font-size:14px;font-weight:500}.insights-row-pct{color:var(--text-tertiary);font-size:13px;text-align:right;width:36px}.insights-row-amount{color:var(--text-primary);font-size:14px;font-weight:600;text-align:right;width:72px}.insights-total-row{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.insights-total-row .insights-row-label{font-weight:700}.insights-total-row .insights-row-amount{font-size:15px}.snowball-modal{max-height:90vh;max-width:480px}.snowball-subtitle{color:var(--text-tertiary);font-size:12px;margin:2px 0 0}.snowball-body{max-height:calc(90vh - 80px);overflow-y:auto;padding:0 22px 22px}.snowball-debts{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.snowball-debt-row{border:1px solid var(--border);border-radius:10px;padding:14px}.snowball-debt-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.snowball-debt-num{color:var(--text-quaternary);font-size:12px;font-weight:700}.snowball-remove{background:none;border:none;color:var(--red);cursor:pointer;font-family:var(--font-body);font-size:12px}.snowball-debt-fields{display:flex;flex-wrap:wrap;gap:8px}.snowball-field-wide{flex:1 1 100%}.snowball-field{flex-basis:calc(33% - 8px);flex-grow:1;flex-shrink:1;min-width:100px}.snowball-extra{margin:16px 0 0}.snowball-summary{display:flex;gap:8px;margin-bottom:20px}.snowball-summary-card{background:var(--surface-secondary);border-radius:10px;flex:1 1;padding:12px;text-align:center}.snowball-summary-label{color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.4px;margin-bottom:4px;text-transform:uppercase}.snowball-summary-value{color:var(--text-primary);font-family:var(--font-display);font-size:16px;font-weight:700}.snowball-summary-value.red{color:var(--red)}.snowball-order-label{color:var(--text-tertiary);font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.snowball-results{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.snowball-result-row{background:var(--surface-secondary);border-radius:10px;padding:12px 14px}.snowball-result-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.snowball-result-rank{align-items:center;background:var(--text-primary);border-radius:50%;color:var(--bg);display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.snowball-result-name{color:var(--text-primary);flex:1 1;font-size:14px;font-weight:600}.snowball-result-time{color:var(--text-secondary);font-size:13px;font-weight:700}.snowball-progress-track{background:var(--border);border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.snowball-progress-bar{background:var(--text-primary);border-radius:3px;height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.snowball-result-detail{color:var(--text-tertiary);display:flex;font-size:11px;justify-content:space-between}.snowball-actions{display:flex;justify-content:flex-end}@media(max-width:480px){.snowball-field{flex-basis:calc(50% - 8px);flex-grow:1;flex-shrink:1}.snowball-summary-value{font-size:14px}}.calendar-app{background:var(--bg);display:flex;flex-direction:column;height:100vh;overflow:hidden}.cal-header{backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);background:var(--glass-bg);border-bottom:1px solid var(--glass-border);flex-shrink:0;height:52px;justify-content:space-between;padding:0 24px}.cal-header,.cal-header-left{align-items:center;display:flex}.cal-header-left{gap:20px}.cal-brand{align-items:center;cursor:default;display:flex;gap:8px}.cal-brand-name{color:var(--text-primary);font-family:var(--font-display);font-size:17px;font-weight:800;letter-spacing:-.5px}.cal-brand-sub{color:var(--text-tertiary);font-size:11px;font-weight:500;letter-spacing:.3px}.cal-year-tabs{background:var(--surface-secondary);border-radius:8px;display:flex;gap:1px;padding:2px}.cal-year-tab{background:#0000;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:600;padding:5px 14px;transition:all .2s}.cal-year-tab:hover{color:var(--text-secondary)}.cal-year-tab.active{background:var(--surface);box-shadow:var(--shadow-xs);color:var(--text-primary)}.cal-header-right{align-items:center;display:flex;gap:2px}.cal-search-wrap{align-items:center;display:flex;position:relative}.cal-search-icon{color:var(--text-placeholder);left:10px;pointer-events:none;position:absolute}.cal-search{background:var(--surface-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:13px;outline:none;padding:7px 10px 7px 30px;transition:all .25s;width:160px}.cal-search::placeholder{color:var(--text-placeholder)}.cal-search:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow);width:220px}.cal-icon-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-tertiary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s;width:32px}.cal-icon-btn:hover{background:var(--surface-secondary);color:var(--text-primary)}.cal-icon-btn:active{transform:scale(.92)}.cal-mobile-header{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--glass-bg);border-bottom:1px solid var(--glass-border);display:none;flex-shrink:0;height:48px;justify-content:space-between;padding:0 16px}.cal-mobile-title{color:var(--text-primary);font-family:var(--font-display);font-size:17px;font-weight:700}.cal-mobile-menu-overlay{animation:fadeIn .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000004d;inset:0;position:fixed;z-index:200}.cal-mobile-menu{animation:slideIn .3s cubic-bezier(.16,1,.3,1);background:var(--glass-bg-solid);box-shadow:var(--shadow-lg);height:100%;left:0;padding:20px;position:absolute;top:0;width:280px}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.cal-mobile-menu-header{align-items:center;color:var(--text-primary);display:flex;font-family:var(--font-display);font-size:17px;font-weight:700;justify-content:space-between;margin-bottom:24px}.cal-mobile-menu-years{display:flex;flex-direction:column;gap:2px;margin-bottom:20px}.cal-mobile-menu-years .cal-year-tab{border-radius:8px;font-size:15px;padding:10px 12px;text-align:left}.cal-mobile-menu-years .cal-year-tab.active{background:var(--text-primary);color:var(--bg)}.cal-mobile-menu-actions{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px;padding-top:16px}.cal-mobile-menu-actions button{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:15px;gap:12px;padding:10px 12px;text-align:left}.cal-menu-icon,.cal-mobile-menu-actions button:hover{background:var(--surface-secondary)}.cal-menu-icon{align-items:center;border-radius:6px;color:var(--text-secondary);display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.cal-main{display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:1280px;min-height:0;padding:12px 20px;width:100%}.cal-nav{flex-shrink:0;justify-content:space-between;margin-bottom:10px}.cal-nav,.cal-nav-center{align-items:center;display:flex}.cal-nav-center{gap:12px}.cal-month-title{color:var(--text-primary);font-family:var(--font-display);font-size:26px;font-weight:800;letter-spacing:-.8px;margin:0}.cal-today-btn{background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--blue);cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px;transition:all .15s}.cal-today-btn:hover{background:var(--blue-bg);border-color:var(--blue)}.cal-nav-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s;width:32px}.cal-nav-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.cal-nav-btn:active{transform:scale(.94)}.cal-nav-btn:disabled{cursor:not-allowed;opacity:.2}.cal-search-results{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);flex-shrink:0;margin-bottom:10px;padding:12px}.cal-search-results-header{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;justify-content:space-between;margin-bottom:8px}.cal-search-results-header button{background:none;border:none;color:var(--blue);cursor:pointer;font-size:12px;font-weight:600}.cal-search-result{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:8px 10px;transition:background .1s}.cal-search-result:hover{background:var(--surface-secondary)}.cal-search-result-name{flex:1 1;font-size:13px;font-weight:600}.cal-search-result-amount{font-feature-settings:"tnum";font-size:13px;font-variant-numeric:tabular-nums;font-weight:600}.cal-search-result-day{color:var(--text-tertiary);font-size:11px}.cal-grid-header{display:grid;flex-shrink:0;grid-template-columns:repeat(7,1fr)}.cal-day-header{color:var(--text-quaternary);font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 0 6px;text-align:center;text-transform:uppercase}.cal-grid{grid-gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;display:grid;flex:1 1;gap:1px;grid-template-columns:repeat(7,1fr);min-height:0;overflow:hidden}.cal-grid-enter{animation:fadeIn .25s ease}.cal-grid-exit-right{animation:slideOut .2s ease forwards}.cal-grid-exit-left{animation:slideOutLeft .2s ease forwards}@keyframes slideOut{to{opacity:0;transform:translateX(-8px)}}@keyframes slideOutLeft{to{opacity:0;transform:translateX(8px)}}.cal-cell{background:var(--surface);cursor:pointer;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:5px 6px;transition:background .1s}.cal-cell:hover{background:var(--surface-hover)}.cal-cell-empty{cursor:default}.cal-cell-empty,.cal-cell-empty:hover{background:#00000005}.cal-cell-today,.cal-cell-today:hover{background:var(--today-bg)}.cal-cell-payday,.cal-cell-payday:hover{background:var(--payday-bg)}.cal-cell-header{flex-shrink:0;justify-content:space-between;margin-bottom:3px}.cal-cell-header,.cal-cell-num{align-items:center;display:flex}.cal-cell-num{border-radius:50%;color:var(--text-tertiary);font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px}.today-num{background:var(--text-primary);color:var(--bg)!important;font-weight:700}.cal-payday-badge{font-size:12px;line-height:1}.cal-cell-bills{display:flex;flex:1 1;flex-direction:column;gap:1px;min-height:0;overflow:hidden}.cal-bill-chip{align-items:center;background:var(--bill-chip-bg);border-radius:4px;display:flex;flex-shrink:0;font-size:10px;gap:4px;line-height:1.5;overflow:hidden;padding:1px 5px}.cal-bill-chip.paid{opacity:.4;text-decoration:line-through}.cal-bill-dot{background:var(--blue);border-radius:50%;flex-shrink:0;height:4px;width:4px}.cal-bill-name{color:var(--text-primary);flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-bill-amount{font-feature-settings:"tnum";color:var(--text-secondary);flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600}.cal-bill-more{font-weight:600;padding:0 5px}.cal-bill-more,.cal-note-indicator{color:var(--text-tertiary);font-size:9px}.cal-payday-subtotal{font-feature-settings:"tnum";background:var(--payday-subtotal-bg);border-radius:4px;color:var(--payday-subtotal-color);flex-shrink:0;font-size:10px;font-variant-numeric:tabular-nums;font-weight:700;margin-top:auto;padding:2px 5px;text-align:center}.cal-month-total{align-items:center;background:var(--surface-secondary);border-radius:10px;display:flex;flex-shrink:0;justify-content:space-between;margin-top:10px;padding:10px 16px}.cal-month-total span:first-child{color:var(--text-secondary);font-size:13px;font-weight:600}.cal-month-total-amount{font-feature-settings:"tnum";color:var(--text-primary);font-family:var(--font-display);font-size:20px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.5px}.settings-modal{max-width:520px}.settings-tabs{background:var(--surface-secondary);border-radius:8px;display:flex;gap:1px;margin:14px 24px 0;padding:2px}.settings-tab{background:#0000;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:7px;transition:all .15s}.settings-tab.active{background:var(--surface);box-shadow:var(--shadow-xs);color:var(--text-primary)}.settings-section{padding-top:4px}.settings-cal-item{align-items:center;border-radius:8px;display:flex;gap:10px;margin-bottom:2px;padding:8px 10px}.settings-cal-item.active{background:var(--surface-secondary)}.settings-cal-color{border-radius:50%;flex-shrink:0;height:10px;width:10px}.settings-cal-name{cursor:pointer;flex:1 1;font-size:14px;font-weight:600}.settings-cal-badge{background:var(--surface-secondary);border-radius:4px;color:var(--text-tertiary);font-size:10px;font-weight:700;letter-spacing:.3px;padding:1px 7px;text-transform:uppercase}.settings-cal-owner{color:var(--text-tertiary);font-size:11px}@media (max-width:768px){.cal-header{display:none}.cal-mobile-header{display:flex}.cal-main{padding:8px}.cal-month-title{font-size:20px}.cal-cell{padding:3px 4px}.cal-cell-num{font-size:11px;height:20px;width:20px}.cal-bill-chip{font-size:8px;padding:1px 3px}.cal-bill-amount{display:none}.cal-payday-subtotal{font-size:8px}.cal-grid{border-radius:10px}.settings-tabs{margin:14px 16px 0}}.admin-page{background:var(--bg);display:flex;height:100vh;overflow:hidden}.admin-loading{align-items:center;display:flex;height:100vh;justify-content:center;width:100%}.admin-sidebar{background:var(--surface-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;padding:16px 10px;width:220px}.admin-sidebar-brand{align-items:center;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-display);font-size:15px;font-weight:800;gap:8px;letter-spacing:-.3px;margin-bottom:20px;padding:8px 10px;transition:background .15s}.admin-sidebar-brand:hover{background:var(--surface-tertiary)}.admin-sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px}.admin-nav-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:9px 12px;text-align:left;transition:all .1s;width:100%}.admin-nav-btn:hover{background:var(--surface-tertiary);color:var(--text-primary)}.admin-nav-btn.active{background:var(--text-primary);color:var(--bg)}.admin-nav-btn.active svg{color:var(--bg)}.admin-sidebar-footer{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px;padding-top:10px}.admin-main{flex:1 1;min-width:0;overflow-y:auto;padding:24px 32px 48px}.admin-main-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.admin-main-header h1{color:var(--text-primary);font-family:var(--font-display);font-size:28px;font-weight:800;letter-spacing:-.8px;text-transform:capitalize}.admin-user-badge{background:var(--surface-secondary);border-radius:20px;color:var(--text-tertiary);font-size:12px;font-weight:600;padding:4px 12px}.admin-msg{border-radius:10px;font-size:13px;font-weight:500;margin-bottom:16px;padding:10px 14px}.admin-msg-ok{background:var(--green-bg);color:var(--green-text)}.admin-msg-err{background:var(--red-bg);color:var(--red)}.admin-stat-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(6,1fr);margin-bottom:24px}.admin-stat{background:var(--surface-secondary);border-radius:12px;padding:16px;text-align:center}.admin-stat-num{color:var(--text-primary);display:block;font-family:var(--font-display);font-size:28px;font-weight:800;letter-spacing:-.5px;line-height:1.2}.admin-stat-label{color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.admin-card-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.admin-card{background:var(--surface-secondary);border-radius:12px;margin-bottom:12px;padding:20px}.admin-card h3{color:var(--text-primary);font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:-.2px;margin:0 0 12px}.admin-kv{border-bottom:1px solid var(--border);display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.admin-kv:last-child{border-bottom:none}.admin-kv span:first-child{color:var(--text-tertiary);font-weight:500}.admin-kv span:last-child{font-feature-settings:"tnum";color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.admin-bar,.admin-bar-wrap{margin-bottom:4px}.admin-bar{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.admin-bar-fill{border-radius:4px;height:100%;transition:width .6s ease}.admin-bar-text{font-feature-settings:"tnum";color:var(--text-tertiary);font-size:12px;font-variant-numeric:tabular-nums;font-weight:500}.admin-user-row{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;padding:14px 0}.admin-user-row:last-child{border-bottom:none}.admin-user-info{flex:1 1;min-width:0}.admin-user-name{align-items:center;color:var(--text-primary);display:flex;flex-wrap:wrap;font-size:14px;font-weight:600;gap:6px}.admin-user-email{color:var(--text-tertiary);font-size:12px;margin-top:2px}.admin-user-meta{color:var(--text-quaternary);font-size:11px;margin-top:2px}.admin-user-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:4px}.admin-user-actions button{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:all .1s}.admin-user-actions button:hover{background:var(--surface-hover);color:var(--text-primary)}.admin-user-actions button:active{transform:scale(.96)}.admin-btn-danger{border-color:#ff3b3033!important;color:var(--red)!important}.admin-btn-danger:hover{background:var(--red-bg)!important}.admin-badge-blue,.admin-badge-green,.admin-badge-red,.admin-badge-yellow{border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.3px;padding:1px 6px;text-transform:uppercase}.admin-badge-blue{background:var(--blue-bg);color:var(--blue)}.admin-badge-green{background:var(--green-bg);color:var(--green-text)}.admin-badge-red{background:var(--red-bg);color:var(--red)}.admin-badge-yellow{background:#f59e0b1a;color:#d97706}.admin-form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.admin-field{display:flex;flex-direction:column;gap:4px}.admin-field label{color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.admin-field input,.admin-field select{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:14px;outline:none;padding:10px 12px;width:100%}.admin-field input:focus,.admin-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}.admin-field input::placeholder{color:var(--text-placeholder)}.admin-toggle-row{align-items:center;color:var(--text-primary);display:flex;font-size:14px;justify-content:space-between;padding:10px 0}.admin-toggle{background:var(--surface-tertiary);border:none;border-radius:13px;cursor:pointer;height:26px;padding:0;position:relative;transition:background .2s;width:44px}.admin-toggle.on{background:var(--green)}.admin-toggle-thumb{background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);height:20px;left:3px;position:absolute;top:3px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);width:20px}.admin-toggle.on .admin-toggle-thumb{transform:translateX(18px)}.admin-actions-bar{display:flex;gap:8px;margin-top:4px}.admin-btn-primary,.admin-btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .15s}.admin-btn-primary{background:var(--text-primary);color:var(--bg)}.admin-btn-primary:hover{opacity:.85}.admin-btn-primary:active{transform:scale(.97)}.admin-btn-secondary{background:var(--surface-secondary);color:var(--text-secondary)}.admin-btn-secondary:hover{background:var(--surface-tertiary)}.admin-log-row{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:13px;gap:12px;padding:8px 0}.admin-log-row:last-child{border-bottom:none}.admin-log-action{color:var(--text-primary);font-weight:600;min-width:120px;text-transform:capitalize}.admin-log-detail{color:var(--text-tertiary);flex:1 1}.admin-log-time{font-feature-settings:"tnum";color:var(--text-quaternary);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.admin-empty{color:var(--text-tertiary);font-size:14px;padding:24px;text-align:center}@media (max-width:768px){.admin-sidebar{padding:12px 6px;width:56px}.admin-nav-btn span,.admin-sidebar-brand span,.admin-sidebar-footer span{display:none}.admin-sidebar-brand{justify-content:center;padding:8px}.admin-nav-btn{justify-content:center;padding:10px}.admin-main{padding:16px}.admin-stat-grid{grid-template-columns:repeat(3,1fr)}.admin-card-row,.admin-form-grid{grid-template-columns:1fr}.admin-main-header h1{font-size:22px}.admin-user-row{flex-direction:column}}.pulse-app{background:var(--bg);color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-body);min-height:100vh}.pulse-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;height:56px;justify-content:space-between;padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.pulse-header-left,.pulse-header-right{width:80px}.pulse-back-to-slate{align-items:center;color:var(--text-tertiary);display:flex;font-size:13px;font-weight:600;gap:4px;text-decoration:none}.pulse-back-to-slate:hover{color:var(--text-primary)}.pulse-brand{align-items:center;display:flex;font-family:var(--font-display);font-size:18px;font-weight:800;gap:8px;letter-spacing:-.5px}.pulse-header-right{display:flex;justify-content:flex-end}.pulse-icon-btn{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-tertiary);cursor:pointer;display:flex;padding:6px}.pulse-icon-btn:hover{background:var(--surface-secondary);color:var(--text-primary)}.pulse-main{flex:1 1;margin:0 auto;max-width:640px;padding:24px 20px;width:100%}.pulse-home-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.pulse-home-title{font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-.5px;margin:0}.pulse-welcome{padding:48px 20px;text-align:center}.pulse-welcome svg{margin-bottom:16px;opacity:.4}.pulse-welcome h3{font-size:20px;font-weight:700;margin:0 0 8px}.pulse-welcome p{color:var(--text-tertiary);font-size:15px;line-height:1.6;margin:0 auto 24px;max-width:300px}.pulse-tracker-grid{display:flex;flex-direction:column;gap:10px}.pulse-tracker-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;gap:8px;padding:16px;position:relative;transition:all .15s}.pulse-tracker-card:hover{background:var(--surface-secondary);border-color:var(--text-primary)}.pulse-tracker-card-name{flex:1 1;font-size:16px;font-weight:600}.pulse-tracker-card-unit{background:var(--surface-secondary);border-radius:20px;color:var(--text-tertiary);font-size:12px;padding:2px 8px}.pulse-tracker-card-desc{color:var(--text-tertiary);font-size:13px}.pulse-tracker-card-arrow{color:var(--text-quaternary);flex-shrink:0}.pulse-btn-primary{background:var(--text-primary);border:none;border-radius:10px;color:var(--bg);cursor:pointer;font-family:var(--font-body);font-size:14px;font-weight:600;padding:10px 20px;transition:opacity .15s}.pulse-btn-primary:hover{opacity:.85}.pulse-btn-secondary{background:var(--surface-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);cursor:pointer;font-family:var(--font-body);font-size:14px;font-weight:600;padding:10px 20px}.pulse-create-title{font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:-.5px;margin:0 0 20px}.pulse-form{gap:14px}.pulse-field,.pulse-form{display:flex;flex-direction:column}.pulse-field{gap:5px}.pulse-field label{color:var(--text-tertiary);font-size:12px;font-weight:600}.pulse-field input{background:var(--surface-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:var(--font-body);font-size:15px;outline:none;padding:12px 14px}.pulse-field input:focus{background:var(--surface);border-color:var(--text-primary)}.pulse-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.pulse-detail-top{justify-content:space-between;margin-bottom:16px}.pulse-back,.pulse-detail-top{align-items:center;display:flex}.pulse-back{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-family:var(--font-body);font-size:15px;font-weight:600;gap:4px;padding:4px 0}.pulse-back:hover{color:var(--text-primary)}.pulse-delete-btn{background:none;border:none;color:var(--red);cursor:pointer;font-family:var(--font-body);font-size:13px}.pulse-detail-title{font-family:var(--font-display);font-size:26px;font-weight:800;letter-spacing:-.5px;margin:0 0 4px}.pulse-detail-desc{color:var(--text-tertiary);font-size:14px;margin:0 0 20px}.pulse-chart{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:16px}.pulse-chart-labels{color:var(--text-tertiary);display:flex;font-size:12px;justify-content:space-between;margin-top:6px}.pulse-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.pulse-stat{background:var(--surface-secondary);border-radius:10px;padding:12px;text-align:center}.pulse-stat-label{color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.4px;margin-bottom:4px;text-transform:uppercase}.pulse-stat-value{font-family:var(--font-display);font-size:16px;font-weight:700}.pulse-log-form{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:16px}.pulse-log-title{font-size:14px;font-weight:700;margin:0 0 12px}.pulse-log-row{display:flex;gap:8px;margin-bottom:8px}.pulse-value-input{flex:1 1;font-size:15px}.pulse-date-input,.pulse-value-input{background:var(--surface-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:var(--font-body);outline:none;padding:10px 12px}.pulse-date-input{font-size:13px}.pulse-note-input{background:var(--surface-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);flex:1 1;outline:none;padding:10px 12px}.pulse-log-btn,.pulse-note-input{font-family:var(--font-body);font-size:14px}.pulse-log-btn{background:var(--text-primary);border:none;border-radius:8px;color:var(--bg);cursor:pointer;font-weight:600;padding:10px 20px}.pulse-entries-title{font-size:14px;font-weight:700;margin:0 0 12px}.pulse-entries{display:flex;flex-direction:column;gap:6px}.pulse-entry{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;display:flex;gap:10px;padding:10px 14px}.pulse-entry-value{font-family:var(--font-display);font-size:16px;font-weight:700;min-width:60px}.pulse-entry-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.pulse-entry-date{color:var(--text-tertiary);font-size:12px}.pulse-entry-note{color:var(--text-secondary);font-size:13px}.pulse-entry-del{background:none;border:none;border-radius:4px;color:var(--text-quaternary);cursor:pointer;font-size:13px;padding:4px}.pulse-entry-del:hover{background:var(--red-bg);color:var(--red)}.pulse-empty{color:var(--text-tertiary);font-size:14px;padding:24px 0;text-align:center}.pulse-footer{border-top:1px solid var(--border);color:var(--text-quaternary);font-size:11px;padding:20px;text-align:center}@media(max-width:480px){.pulse-stats{grid-template-columns:repeat(2,1fr)}.pulse-log-row{flex-wrap:wrap}.pulse-date-input{width:100%}}