:root{--primary-color:#7c6cf6;--secondary-color:#f472b6;--success-color:#34d399;--warning-color:#fbbf24;--danger-color:#fb7185;--info-color:#38bdf8;--indigo-color:#818cf8;--orchid-color:#c084fc;--primary-text:#6d28d9;--secondary-text:#db2777;--success-text:#059669;--warning-text:#b45309;--danger-text:#e11d48;--info-text:#0369a1;--indigo-text:#4338ca;--orchid-text:#a21caf;--background-color:#f6f3ff;--card-background:#fff;--text-color:#2e2a47;--border-color:#ece6fb;--on-accent:#322b54;--header-btn-text:#fff;--shadow:0 10px 24px #7c6cf624;--chart-1:#2a78d6;--chart-2:#eb6834;--chart-3:#1baf7a;--chart-4:#eda100;--chart-5:#e87ba4;--chart-6:#4a3aa7;--chart-other:#6b6880;--chart-ahead:#1baf7a;--chart-behind:#eb6834;--chart-zero:#9a97a8;--chart-grid:#ece6fb}[data-theme=dark]{--primary-color:#a78bfa;--secondary-color:#f9a8d4;--success-color:#6ee7b7;--warning-color:#fcd34d;--danger-color:#fda4af;--info-color:#7dd3fc;--indigo-color:#a5b4fc;--orchid-color:#d8b4fe;--primary-text:#c4b5fd;--secondary-text:#f9a8d4;--success-text:#6ee7b7;--warning-text:#fcd34d;--danger-text:#fda4af;--info-text:#7dd3fc;--indigo-text:#a5b4fc;--orchid-text:#d8b4fe;--background-color:#1e1b2e;--card-background:#2a2640;--text-color:#f3f0ff;--border-color:#3d3760;--on-accent:#201c33;--header-btn-text:var(--on-accent);--shadow:0 10px 28px #0006;--chart-1:#3987e5;--chart-2:#d95926;--chart-3:#199e70;--chart-4:#c98500;--chart-5:#d55181;--chart-6:#9085e9;--chart-other:#8e8aa6;--chart-ahead:#199e70;--chart-behind:#d95926;--chart-zero:#8e8aa6;--chart-grid:#3d3760}*{box-sizing:border-box}html{font-size:14px}body{background:#f6f3ff;background:var(--background-color);color:#2e2a47;color:var(--text-color);font-family:Montserrat,sans-serif;margin:0;min-height:100vh;overflow-x:hidden;transition:background .3s ease,color .3s ease}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid #7c6cf6;outline:2px solid var(--primary-color);outline-offset:2px}.page-card{display:flex;flex-direction:column;gap:1.5rem}.page-header{gap:1rem;justify-content:space-between}.page-actions,.page-header{align-items:center;display:flex}.page-actions{flex-wrap:wrap;gap:.75rem}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.modal-content{max-height:90vh;max-width:420px;overflow-y:auto;width:100%}.modal-actions{align-items:center;display:flex;gap:.75rem;justify-content:flex-end}.display-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6d28d9,#db2777);background:linear-gradient(135deg,var(--primary-text),var(--secondary-text));-webkit-background-clip:text;background-clip:text;font-family:Fredoka,sans-serif;font-size:2.5rem;font-weight:600;line-height:1.1;margin:0}.display-subtitle{color:color-mix(in srgb,#2e2a47 50%,#0000);color:color-mix(in srgb,var(--text-color) 50%,#0000);font-size:.72rem;letter-spacing:.16em;margin:.3rem 0 0}.display-subtitle,.eyebrow{font-weight:600;text-transform:uppercase}.eyebrow{color:#6d28d9;color:var(--primary-text);font-size:.78rem;letter-spacing:.24em;margin:0 0 .25rem}.charts-grid,.dashboard-grid,.form-grid,.summary-grid{grid-gap:1rem;display:grid;gap:1rem}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.charts-grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{align-items:start;grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.card,.checklist-card,.goal-card,.summary-card{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);padding:1rem}.card h3,.checklist-card h3,.goal-card h3,.summary-card strong{display:block;margin-bottom:.3rem}.goal-meta span,.summary-card strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.primary-btn,.text-btn,.theme-toggle{border:1px solid #0000;border-radius:999px;font-weight:600;padding:.7rem 1.1rem;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.primary-btn{background:linear-gradient(135deg,#7c6cf6,#f472b6);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));box-shadow:0 6px 16px color-mix(in srgb,#7c6cf6 40%,#0000);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 40%,#0000);color:#322b54;color:var(--on-accent)}.primary-btn:hover{box-shadow:0 10px 22px color-mix(in srgb,#7c6cf6 48%,#0000);box-shadow:0 10px 22px color-mix(in srgb,var(--primary-color) 48%,#0000);transform:translateY(-2px) scale(1.02)}.standout-btn{align-items:center;box-shadow:0 8px 20px color-mix(in srgb,#7c6cf6 45%,#0000);box-shadow:0 8px 20px color-mix(in srgb,var(--primary-color) 45%,#0000);color:#fff;color:var(--header-btn-text);display:inline-flex;font-size:1rem;gap:.4rem;justify-content:center;padding:.85rem 1.6rem}.standout-btn:hover{box-shadow:0 12px 26px color-mix(in srgb,#7c6cf6 55%,#0000);box-shadow:0 12px 26px color-mix(in srgb,var(--primary-color) 55%,#0000)}.primary-btn.danger-btn{background:linear-gradient(135deg,#fb7185,color-mix(in srgb,#fb7185 70%,#000));background:linear-gradient(135deg,var(--danger-color),color-mix(in srgb,var(--danger-color) 70%,#000));box-shadow:0 6px 16px color-mix(in srgb,#fb7185 40%,#0000);box-shadow:0 6px 16px color-mix(in srgb,var(--danger-color) 40%,#0000)}.primary-btn.danger-btn:hover{box-shadow:0 10px 22px color-mix(in srgb,#fb7185 48%,#0000);box-shadow:0 10px 22px color-mix(in srgb,var(--danger-color) 48%,#0000)}.confirm-modal h3{margin:0 0 .6rem}.confirm-modal p{color:color-mix(in srgb,#2e2a47 75%,#0000);color:color-mix(in srgb,var(--text-color) 75%,#0000);line-height:1.5;margin:0 0 1.25rem}.segmented-toggle{display:flex;gap:.5rem}.segmented-toggle button{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:.9rem;color:#2e2a47;color:var(--text-color);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;padding:.6rem .8rem;transition:background .15s ease,border-color .15s ease,color .15s ease}.segmented-toggle button.active{background:color-mix(in srgb,#7c6cf6 16%,#0000);background:color-mix(in srgb,var(--primary-color) 16%,#0000);border-color:color-mix(in srgb,#7c6cf6 40%,#0000);border-color:color-mix(in srgb,var(--primary-color) 40%,#0000);color:#6d28d9;color:var(--primary-text)}.theme-toggle{background:#fff;background:var(--card-background);border-color:#ece6fb;border-color:var(--border-color);box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow)}.theme-toggle:hover{border-color:color-mix(in srgb,#7c6cf6 40%,#0000);border-color:color-mix(in srgb,var(--primary-color) 40%,#0000);transform:translateY(-2px) rotate(-8deg)}.text-btn{background:color-mix(in srgb,#7c6cf6 14%,#0000);background:color-mix(in srgb,var(--primary-color) 14%,#0000);border-color:#0000;color:#6d28d9;color:var(--primary-text);font-size:.85rem;padding:.45rem .9rem}.text-btn:hover{background:color-mix(in srgb,#7c6cf6 24%,#0000);background:color-mix(in srgb,var(--primary-color) 24%,#0000);transform:translateY(-1px)}.text-btn:disabled{cursor:not-allowed;opacity:.45;transform:none}.text-btn.danger{background:color-mix(in srgb,#fb7185 16%,#0000);background:color-mix(in srgb,var(--danger-color) 16%,#0000);color:#e11d48;color:var(--danger-text)}.text-btn.danger:hover{background:color-mix(in srgb,#fb7185 28%,#0000);background:color-mix(in srgb,var(--danger-color) 28%,#0000)}.filters label,form label{display:flex;flex-direction:column;font-size:.95rem;gap:.35rem}input,select,textarea{background:#0000;border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1rem;color:#2e2a47;color:var(--text-color);padding:.75rem .9rem;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{border-color:#7c6cf6;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,#7c6cf6 25%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 25%,#0000);outline:none}input:disabled,select:disabled,textarea:disabled{background:color-mix(in srgb,#2e2a47 6%,#0000);background:color-mix(in srgb,var(--text-color) 6%,#0000);color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);cursor:not-allowed}textarea{min-height:4.5rem;resize:none}.form-card,.list-card,.table-card{display:flex;flex-direction:column;gap:.75rem}.inline-fields{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 0}.filters{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.filters input,.filters select{flex:1 1 180px}.error-text{color:#e11d48;color:var(--danger-text);font-size:.85rem}.toast-stack{display:flex;flex-direction:column;gap:.6rem;position:fixed;right:1rem;top:11rem;z-index:1000}.toast{border-radius:999px;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);color:#322b54;color:var(--on-accent);font-weight:600;padding:.85rem 1.1rem}.toast-success{background:linear-gradient(135deg,#34d399,color-mix(in srgb,#34d399 70%,#7c6cf6));background:linear-gradient(135deg,var(--success-color),color-mix(in srgb,var(--success-color) 70%,var(--primary-color)))}.toast-error{background:linear-gradient(135deg,#fb7185,#f472b6);background:linear-gradient(135deg,var(--danger-color),var(--secondary-color))}.toast-warning{background:linear-gradient(135deg,#fbbf24,color-mix(in srgb,#fbbf24 70%,#fb7185));background:linear-gradient(135deg,var(--warning-color),color-mix(in srgb,var(--warning-color) 70%,var(--danger-color)));color:#3a2a00}.stack-list{display:flex;flex-direction:column;gap:.7rem;list-style:none;margin:0;padding:0}.goal-actions,.goal-card-top,.goal-meta,.stack-list li{align-items:center;display:flex;gap:.75rem;justify-content:space-around}.progress-bar{background:color-mix(in srgb,#7c6cf6 14%,#0000);background:color-mix(in srgb,var(--primary-color) 14%,#0000);border-radius:999px;height:.6rem;overflow:hidden;width:100%}.progress-bar>div{background:linear-gradient(90deg,#7c6cf6,#f472b6);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:inherit;height:100%;transition:width .3s ease}.status-pill{background:color-mix(in srgb,#7c6cf6 18%,#0000);background:color-mix(in srgb,var(--primary-color) 18%,#0000);border-radius:999px;color:#6d28d9;color:var(--primary-text);font-size:.75rem;font-weight:700;padding:.3rem .7rem}.status-pill.completed{background:color-mix(in srgb,#34d399 24%,#0000);background:color-mix(in srgb,var(--success-color) 24%,#0000);color:#059669;color:var(--success-text)}.task-list{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.task-list label{align-items:center;border-radius:.6rem;cursor:pointer;display:flex;gap:.6rem;padding:.3rem .35rem;transition:background .12s ease}.task-list label:hover{background:color-mix(in srgb,#2e2a47 5%,#0000);background:color-mix(in srgb,var(--text-color) 5%,#0000)}.done{color:#059669;color:var(--success-text);text-decoration:line-through}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #ece6fb;border-bottom:1px solid var(--border-color);padding:.75rem .5rem;text-align:left;vertical-align:middle}th{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}td.numeric,th.numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}@media(max-width:1023px){.charts-grid,.dashboard-grid,.form-grid,.summary-grid{grid-template-columns:1fr}}@media(max-width:767px){.goal-actions,.goal-card-top,.goal-meta,.page-header{align-items:flex-start;flex-direction:column}.inline-fields{grid-template-columns:1fr;padding:10px 0}}.chat-widget{align-items:flex-end;bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem;position:fixed;right:1.5rem;z-index:60}.chat-fab{align-items:center;background:linear-gradient(135deg,#7c6cf6,#f472b6);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:none;border-radius:50%;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.4rem;font-weight:800;height:4.5rem;justify-content:center;letter-spacing:.02em;transition:transform .15s ease;width:4.5rem}.chat-fab:hover{transform:translateY(-2px)}.chat-panel{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:flex;flex-direction:column;height:640px;max-height:calc(100vh - 8rem);max-width:calc(100vw - 3rem);overflow:hidden;width:440px}.chat-panel-header{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,#7c6cf6 18%,#fff),color-mix(in srgb,#f472b6 18%,#fff));background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 18%,var(--card-background)),color-mix(in srgb,var(--secondary-color) 18%,var(--card-background)));border-bottom:1px solid #ece6fb;border-bottom:1px solid var(--border-color);display:flex;font-weight:700;justify-content:space-between;padding:.9rem 1.1rem}.chat-close-btn{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem}.chat-panel-body{display:flex;flex:1 1;flex-direction:column;gap:.6rem;overflow-y:auto;padding:1rem}.chat-empty-hint{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.85rem;margin-top:2rem;text-align:center}.chat-message{border-radius:.9rem;font-size:.85rem;line-height:1.45;max-width:85%;padding:.55rem .8rem;white-space:pre-wrap}.chat-message-user{align-self:flex-end;background:linear-gradient(135deg,#7c6cf6,#f472b6);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-bottom-right-radius:.25rem;color:#fff}.chat-message-assistant{align-self:flex-start;background:color-mix(in srgb,#2e2a47 8%,#0000);background:color-mix(in srgb,var(--text-color) 8%,#0000);border-bottom-left-radius:.25rem}.chat-message-system{align-self:center;background:color-mix(in srgb,#34d399 16%,#0000);background:color-mix(in srgb,var(--success-color) 16%,#0000);border-radius:.7rem;color:#059669;color:var(--success-text);font-size:.78rem;font-weight:600}.chat-message-error{align-self:flex-start;background:color-mix(in srgb,#fb7185 16%,#0000);background:color-mix(in srgb,var(--danger-color) 16%,#0000);color:#e11d48;color:var(--danger-text)}.chat-message-typing{font-weight:700;letter-spacing:.1em}.chat-message-confirm{align-self:center;background:color-mix(in srgb,#7c6cf6 12%,#0000);background:color-mix(in srgb,var(--primary-color) 12%,#0000);border-radius:.7rem;text-align:center}.chat-confirm-actions{display:flex;gap:.5rem;justify-content:center;margin-top:.5rem}.chat-cancel-btn,.chat-confirm-btn{border:none;border-radius:.5rem;cursor:pointer;font-size:.78rem;font-weight:600;padding:.35rem .9rem}.chat-confirm-btn{background:#7c6cf6;background:var(--primary-color);color:#fff}.chat-cancel-btn{background:color-mix(in srgb,#2e2a47 10%,#0000);background:color-mix(in srgb,var(--text-color) 10%,#0000);color:#2e2a47;color:var(--text-color)}.chat-confirm-outcome{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.78rem;font-weight:600;margin-top:.3rem}.chat-usage-indicator{border-top:1px solid #ece6fb;border-top:1px solid var(--border-color);color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.72rem;padding:.4rem .75rem;text-align:center}.chat-usage-indicator.chat-usage-empty{color:#e11d48;color:var(--danger-text);font-weight:600}.chat-upgrade-link{color:#7c6cf6;color:var(--primary-color);display:block;font-size:.78rem;font-weight:600;margin:.3rem auto 0}.chat-panel-input{border-top:1px solid #ece6fb;border-top:1px solid var(--border-color);display:flex;gap:.5rem;padding:.75rem}.chat-panel-input input{flex:1 1}.chat-send-btn{background:#7c6cf6;background:var(--primary-color);border:none;border-radius:.6rem;color:#fff;cursor:pointer;flex-shrink:0;font-size:1rem;width:2.5rem}.chat-send-btn:disabled{cursor:not-allowed;opacity:.5}@media(max-width:480px){.chat-widget{bottom:1rem;right:1rem}.chat-panel{width:calc(100vw - 2rem)}}@keyframes character-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes character-tilt{0%,to{transform:rotate(0deg)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes character-dot-bounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes character-bubble-pop{0%{opacity:0;transform:scale(.85) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.ai-avatar{align-items:center;animation:character-breathe 3.4s ease-in-out infinite;display:inline-flex;justify-content:center;position:relative}.ai-avatar-thinking{animation:character-tilt 1.6s ease-in-out infinite}.ai-avatar-face{fill:#7c6cf6;fill:var(--primary-color);transition:fill .35s ease}.ai-avatar-happy .ai-avatar-face{fill:#34d399;fill:var(--success-color)}.ai-avatar-sad .ai-avatar-face{fill:color-mix(in srgb,#818cf8 70%,#2e2a47 15%);fill:color-mix(in srgb,var(--indigo-color) 70%,var(--text-color) 15%)}.ai-avatar-surprised .ai-avatar-face{fill:#fbbf24;fill:var(--warning-color)}.ai-avatar-thinking .ai-avatar-face{fill:#c084fc;fill:var(--orchid-color)}.ai-avatar-eye{fill:#322b54;fill:var(--on-accent);transition:ry .08s ease}.ai-avatar-mouth{stroke:#322b54;stroke:var(--on-accent);stroke-width:3;stroke-linecap:round;color:#322b54;color:var(--on-accent)}.ai-avatar-eyebrow{stroke:#322b54;stroke:var(--on-accent);stroke-width:2.5;stroke-linecap:round;fill:none}.ai-avatar-thinking-dots{display:flex;gap:.15rem;position:absolute;right:-.3rem;top:-.6rem}.ai-avatar-thinking-dots span{animation:character-dot-bounce 1s ease-in-out infinite;background:#c084fc;background:var(--orchid-color);border-radius:50%;height:.3rem;width:.3rem}.ai-avatar-thinking-dots span:nth-child(2){animation-delay:.15s}.ai-avatar-thinking-dots span:nth-child(3){animation-delay:.3s}.chat-fab-wrapper{position:relative}.chat-fab{background:#fff;background:var(--card-background);padding:.35rem}.character-speech-bubble{align-self:flex-start;animation:character-bubble-pop .22s ease-out;background:color-mix(in srgb,#7c6cf6 12%,#fff);background:color-mix(in srgb,var(--primary-color) 12%,var(--card-background));border:1px solid color-mix(in srgb,#7c6cf6 25%,#0000);border:1px solid color-mix(in srgb,var(--primary-color) 25%,#0000);border-radius:.9rem;border-bottom-left-radius:.25rem;font-size:.85rem;line-height:1.45;max-width:85%;padding:.6rem .85rem;position:relative;white-space:pre-wrap}.character-prompt-bubble{animation:character-bubble-pop .25s ease-out;background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:.9rem;border-bottom-right-radius:.25rem;bottom:calc(100% + .6rem);box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);cursor:pointer;font-size:.82rem;font-weight:600;max-width:220px;padding:.6rem .85rem;position:absolute;right:0;width:-webkit-max-content;width:max-content}.card-list{display:none;gap:.6rem;padding:.8rem}.card-list,.card-row{flex-direction:column}.card-row{background:color-mix(in srgb,#2e2a47 3%,#fff);background:color-mix(in srgb,var(--text-color) 3%,var(--card-background));border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1rem;display:flex;gap:.35rem;padding:.75rem .85rem}.card-row-top{align-items:center;gap:.5rem}.card-row-meta,.card-row-top{display:flex;justify-content:space-between}.card-row-meta{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.8rem}.card-row-actions{justify-content:flex-start}.card-empty{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-style:italic;padding:1.25rem;text-align:center}@media(max-width:700px){.responsive-collapse{display:none}.card-list.responsive-list{display:flex}}.table-scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}.app-header{background:#fff;background:var(--card-background);border-bottom:1px solid #ece6fb;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:1rem 1.5rem}.app-brand,.app-header{align-items:center;display:flex}.app-brand{color:inherit;gap:.6rem;text-decoration:none;transition:opacity .15s ease}.app-brand:hover{opacity:.8}.app-brand-icon{flex-shrink:0;height:34px;object-fit:contain;width:34px}.app-header h1{font-size:1.35rem;margin:0}.app-header p{color:color-mix(in srgb,#2e2a47 70%,#0000);color:color-mix(in srgb,var(--text-color) 70%,#0000);margin:.2rem 0 0}.header-actions{align-items:center;display:flex;gap:.75rem}@media(max-width:640px){.app-header{flex-wrap:wrap;padding:.85rem 1rem;row-gap:.6rem}.app-header p{display:none}.app-brand{flex-shrink:0}.header-actions{gap:.5rem;margin-left:auto}.currency-switcher-btn,.language-switcher-btn,.notification-bell-btn{padding:.5rem .65rem}}.currency-switcher{position:relative}.currency-switcher-btn{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,#7c6cf6 16%,#fff),color-mix(in srgb,#f472b6 16%,#fff));background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 16%,var(--card-background)),color-mix(in srgb,var(--secondary-color) 16%,var(--card-background)));border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:999px;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);color:#6d28d9;color:var(--primary-text);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:700;gap:.35rem;padding:.55rem .9rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.currency-switcher-btn:hover{border-color:color-mix(in srgb,#7c6cf6 40%,#0000);border-color:color-mix(in srgb,var(--primary-color) 40%,#0000);transform:translateY(-2px)}.currency-switcher-symbol{font-weight:700}.currency-switcher-caret{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.65rem}.currency-switcher-panel{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.1rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.6rem;max-height:380px;padding:.75rem;position:absolute;right:0;top:calc(100% + .6rem);width:280px;z-index:1100}.currency-switcher-search{font-size:.85rem;padding:.55rem .8rem;width:100%}.currency-switcher-list{display:flex;flex-direction:column;gap:.15rem;max-height:300px;overflow-y:auto}.currency-switcher-group-label{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.68rem;font-weight:700;letter-spacing:.08em;padding:.3rem .5rem .1rem;text-transform:uppercase}.currency-switcher-divider{background:#ece6fb;background:var(--border-color);height:1px;margin:.4rem .2rem}.currency-switcher-option{align-items:center;background:#0000;border:none;border-radius:.75rem;color:#2e2a47;color:var(--text-color);cursor:pointer;display:flex;font-size:.85rem;gap:.55rem;padding:.5rem .6rem;text-align:left;transition:background .15s ease;width:100%}.currency-switcher-option:hover{background:color-mix(in srgb,#7c6cf6 12%,#0000);background:color-mix(in srgb,var(--primary-color) 12%,#0000)}.currency-switcher-option.active{background:color-mix(in srgb,#7c6cf6 20%,#0000);background:color-mix(in srgb,var(--primary-color) 20%,#0000);color:#6d28d9;color:var(--primary-text);font-weight:700}.currency-switcher-option-flag{flex-shrink:0;font-size:1.1rem;line-height:1}.currency-switcher-option-symbol{flex-shrink:0;font-weight:700;text-align:center;width:1.6rem}.currency-switcher-option-code{flex-shrink:0;font-weight:700;width:2.4rem}.currency-switcher-option-name{color:color-mix(in srgb,#2e2a47 70%,#0000);color:color-mix(in srgb,var(--text-color) 70%,#0000);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.currency-switcher-empty{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.85rem;font-style:italic;padding:1rem .5rem;text-align:center}.language-switcher{position:relative}.language-switcher-btn{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,#7c6cf6 16%,#fff),color-mix(in srgb,#f472b6 16%,#fff));background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 16%,var(--card-background)),color-mix(in srgb,var(--secondary-color) 16%,var(--card-background)));border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:999px;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);color:#6d28d9;color:var(--primary-text);cursor:pointer;display:inline-flex;font-size:1rem;gap:.35rem;padding:.55rem .75rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.language-switcher-btn:hover{border-color:color-mix(in srgb,#7c6cf6 40%,#0000);border-color:color-mix(in srgb,var(--primary-color) 40%,#0000);transform:translateY(-2px)}.language-switcher-caret{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.65rem}.language-switcher-panel{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.1rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.15rem;padding:.6rem;position:absolute;right:0;top:calc(100% + .6rem);width:200px;z-index:1100}.language-switcher-option{align-items:center;background:#0000;border:none;border-radius:.75rem;color:#2e2a47;color:var(--text-color);cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.6rem;padding:.5rem .6rem;text-align:left;transition:background .15s ease;width:100%}.language-switcher-option:hover{background:color-mix(in srgb,#7c6cf6 12%,#0000);background:color-mix(in srgb,var(--primary-color) 12%,#0000)}.language-switcher-option.active{background:color-mix(in srgb,#7c6cf6 20%,#0000);background:color-mix(in srgb,var(--primary-color) 20%,#0000);color:#6d28d9;color:var(--primary-text)}@media(max-width:767px){.currency-switcher-panel,.language-switcher-panel{left:1rem;max-width:none;position:fixed;right:1rem;top:4.5rem;width:auto}}.app-footer{background:#fff;background:var(--card-background);border-top:1px solid #ece6fb;border-top:1px solid var(--border-color);color:color-mix(in srgb,#2e2a47 78%,#0000);color:color-mix(in srgb,var(--text-color) 78%,#0000);padding:2.5rem 1.5rem 1.5rem}.footer-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1.4fr 1fr 1fr 1fr;margin:0 auto;max-width:1200px}.footer-brand-heading{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.footer-brand-icon{flex-shrink:0;height:26px;object-fit:contain;width:26px}.footer-brand h3{color:#2e2a47;color:var(--text-color);font-size:1.15rem;margin:0}.footer-brand p{color:color-mix(in srgb,#2e2a47 65%,#0000);color:color-mix(in srgb,var(--text-color) 65%,#0000);font-size:.85rem;line-height:1.6;margin:0;max-width:340px}.footer-column h4{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.78rem;letter-spacing:.06em;margin:0 0 .75rem;text-transform:uppercase}.footer-column p{color:color-mix(in srgb,#2e2a47 65%,#0000);color:color-mix(in srgb,var(--text-color) 65%,#0000);font-size:.85rem;line-height:1.5;margin:0 0 .75rem}.footer-column ul{display:flex;flex-direction:column;gap:.55rem;list-style:none;margin:0;padding:0}.footer-column ul a{color:color-mix(in srgb,#2e2a47 78%,#0000);color:color-mix(in srgb,var(--text-color) 78%,#0000);font-size:.85rem;transition:color .15s ease}.footer-column ul a:hover{color:#6d28d9;color:var(--primary-text)}.footer-feature-list li{color:color-mix(in srgb,#2e2a47 70%,#0000);color:color-mix(in srgb,var(--text-color) 70%,#0000);font-size:.83rem;line-height:1.5}.footer-link-strong{color:#6d28d9;color:var(--primary-text);display:inline-block;font-size:.85rem;font-weight:700}.footer-link-strong:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #ece6fb;border-top:1px solid var(--border-color);color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);display:flex;flex-wrap:wrap;font-size:.78rem;gap:.5rem;justify-content:space-between;margin:2rem auto 0;max-width:1200px;padding-top:1.25rem}.footer-bottom p{margin:0}@media(max-width:900px){.footer-content{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.footer-content{grid-template-columns:1fr}.footer-brand p{max-width:none}.footer-bottom{flex-direction:column;text-align:center}}.notification-bell{position:relative}.notification-bell-btn{align-items:center;background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:999px;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);cursor:pointer;display:flex;font-size:1.05rem;justify-content:center;padding:.7rem 1.1rem;position:relative;transition:transform .18s ease,border-color .18s ease}.notification-bell-btn:hover{border-color:color-mix(in srgb,#7c6cf6 40%,#0000);border-color:color-mix(in srgb,var(--primary-color) 40%,#0000);transform:translateY(-2px)}.notification-badge{align-items:center;background:#fb7185;background:var(--danger-color);border-radius:999px;color:#322b54;color:var(--on-accent);display:flex;font-size:.65rem;font-weight:700;height:1.2rem;justify-content:center;line-height:1;min-width:1.2rem;padding:0 .3rem;position:absolute;right:-.2rem;top:-.2rem}.notification-panel{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.1rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:flex;flex-direction:column;max-height:420px;overflow:hidden;position:absolute;right:0;top:calc(100% + .6rem);width:320px;z-index:1100}.notification-panel-header{border-bottom:1px solid #ece6fb;border-bottom:1px solid var(--border-color);font-size:.9rem;font-weight:700;padding:.85rem 1rem}.notification-list{display:flex;flex-direction:column;max-height:360px;overflow-y:auto}.notification-item{align-items:flex-start;border-bottom:1px solid #ece6fb;border-bottom:1px solid var(--border-color);display:flex;gap:.6rem;padding:.7rem 1rem}.notification-item:last-child{border-bottom:none}.notification-dot{background:color-mix(in srgb,#2e2a47 40%,#0000);background:color-mix(in srgb,var(--text-color) 40%,#0000);border-radius:50%;flex-shrink:0;height:.5rem;margin-top:.35rem;width:.5rem}.notification-item.notification-success .notification-dot{background:#34d399;background:var(--success-color)}.notification-item.notification-error .notification-dot{background:#fb7185;background:var(--danger-color)}.notification-item-clickable{cursor:pointer}.notification-item-clickable:focus-visible,.notification-item-clickable:hover{background:color-mix(in srgb,#2e2a47 5%,#0000);background:color-mix(in srgb,var(--text-color) 5%,#0000)}.notification-item-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.notification-message{color:#2e2a47;color:var(--text-color);font-size:.85rem;overflow-wrap:break-word}.notification-time{font-size:.72rem}.notification-empty,.notification-time{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000)}.notification-empty{font-size:.85rem;font-style:italic;padding:2rem 1rem;text-align:center}@media(max-width:767px){.notification-panel{left:1rem;position:fixed;right:1rem;top:4.5rem;width:auto}}.sidebar{background:#fff;background:var(--card-background);border-right:1px solid #ece6fb;border-right:1px solid var(--border-color);padding:1.25rem 1rem;width:220px}.sidebar nav{display:flex;flex-direction:column;gap:.5rem}.nav-link{border-radius:.75rem;color:#2e2a47;color:var(--text-color);padding:.8rem .9rem;transition:background .2s ease,color .2s ease}.nav-link.active,.nav-link:hover{background:color-mix(in srgb,#7c6cf6 20%,#0000);background:color-mix(in srgb,var(--primary-color) 20%,#0000);color:#6d28d9;color:var(--primary-text)}@media(max-width:767px){.sidebar{border-bottom:1px solid #ece6fb;border-bottom:1px solid var(--border-color);border-right:none;width:100%}.sidebar nav{flex-direction:row;flex-wrap:wrap}}.login-page{align-items:center;background:#f6f3ff;background:var(--background-color);display:flex;justify-content:center;min-height:100vh;padding:1.5rem}.login-card{display:flex;flex-direction:column;gap:1rem;max-width:380px;text-align:center;width:100%}.login-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6d28d9,#db2777);background:linear-gradient(135deg,var(--primary-text),var(--secondary-text));-webkit-background-clip:text;background-clip:text;font-family:Fredoka,sans-serif;font-size:2.2rem;font-weight:600;margin:0}.login-subtitle{color:color-mix(in srgb,#2e2a47 50%,#0000);color:color-mix(in srgb,var(--text-color) 50%,#0000);font-size:.72rem;font-weight:600;letter-spacing:.16em;margin:0 0 .5rem;text-transform:uppercase}.login-card label{text-align:left}.login-hint{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.78rem;margin:0}.auth-switch-btn{background:#0000;text-align:center;width:100%}.auth-switch-btn:hover{background:color-mix(in srgb,#7c6cf6 10%,#0000);background:color-mix(in srgb,var(--primary-color) 10%,#0000)}.login-divider{align-items:center;color:color-mix(in srgb,#2e2a47 50%,#0000);color:color-mix(in srgb,var(--text-color) 50%,#0000);display:flex;font-size:.78rem;font-weight:600;gap:.75rem;letter-spacing:.06em;margin:.1rem 0;text-transform:uppercase}.login-divider:after,.login-divider:before{background:#ece6fb;background:var(--border-color);content:"";flex:1 1;height:1px}.google-btn-wrap{display:flex;justify-content:center}.profile-menu{position:relative}.profile-menu-btn{background:#0000;border:none;cursor:pointer;padding:0}.profile-avatar{align-items:center;background:linear-gradient(135deg,#7c6cf6,#f472b6);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:50%;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);color:#322b54;color:var(--on-accent);display:flex;font-size:.8rem;font-weight:700;height:2.3rem;justify-content:center;transition:transform .18s ease;width:2.3rem}.profile-menu-btn:hover .profile-avatar{transform:translateY(-2px) scale(1.05)}.profile-menu-panel{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.1rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.2rem;padding:.6rem;position:absolute;right:0;top:calc(100% + .6rem);width:200px;z-index:1100}.profile-menu-username{font-size:.85rem;font-weight:700;overflow:hidden;padding:.5rem .7rem .3rem;text-overflow:ellipsis;white-space:nowrap}.profile-menu-theme-row{align-items:center;border-bottom:1px solid #ece6fb;border-bottom:1px solid var(--border-color);display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.3rem;padding:.3rem .7rem .5rem}.profile-menu-theme-row span{color:#2e2a47;color:var(--text-color);font-size:.85rem;font-weight:600}.profile-menu-theme-row .theme-toggle{padding:.4rem .65rem}.profile-menu-item{background:#0000;border:none;border-radius:.7rem;color:#2e2a47;color:var(--text-color);cursor:pointer;display:block;font-size:.85rem;font-weight:600;padding:.55rem .7rem;text-align:left;transition:background .15s ease;width:100%}.profile-menu-item:hover{background:color-mix(in srgb,#7c6cf6 12%,#0000);background:color-mix(in srgb,var(--primary-color) 12%,#0000)}.profile-menu-item.danger{color:#e11d48;color:var(--danger-text)}.profile-menu-item.danger:hover{background:color-mix(in srgb,#fb7185 14%,#0000);background:color-mix(in srgb,var(--danger-color) 14%,#0000)}.profile-avatar-img{object-fit:cover}.avatar-card{align-items:center;display:flex;gap:1.1rem;max-width:420px}.profile-avatar-large{flex-shrink:0;font-size:1.4rem;height:4.5rem;width:4.5rem}.avatar-card-actions{align-items:center;display:flex;gap:.5rem}.avatar-upload-btn{cursor:pointer}.settings-form{max-width:420px}.role-pill{border-radius:999px;font-size:.72rem;font-weight:700;padding:.3rem .7rem;text-transform:capitalize;white-space:nowrap}.role-pill.admin{background:color-mix(in srgb,#fb7185 20%,#0000);background:color-mix(in srgb,var(--danger-color) 20%,#0000);color:#e11d48;color:var(--danger-text)}.role-pill.staff{background:color-mix(in srgb,#c084fc 22%,#0000);background:color-mix(in srgb,var(--orchid-color) 22%,#0000);color:#a21caf;color:var(--orchid-text)}.role-pill.user{background:color-mix(in srgb,#2e2a47 14%,#0000);background:color-mix(in srgb,var(--text-color) 14%,#0000);color:color-mix(in srgb,#2e2a47 75%,#0000);color:color-mix(in srgb,var(--text-color) 75%,#0000)}.role-pill.special{background:color-mix(in srgb,#818cf8 22%,#0000);background:color-mix(in srgb,var(--indigo-color) 22%,#0000);color:#4338ca;color:var(--indigo-text)}.profile-avatar-small{flex-shrink:0;font-size:.68rem;height:2rem;width:2rem}.account-cell{align-items:center;display:flex;gap:.6rem;min-width:0}.account-username{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-you-badge{background:color-mix(in srgb,#34d399 20%,#0000);background:color-mix(in srgb,var(--success-color) 20%,#0000);border-radius:999px;color:#059669;color:var(--success-text);flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:.15rem .5rem;text-transform:uppercase}.account-joined{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.85rem}.package-pill{border-radius:999px;font-size:.72rem;font-weight:700;padding:.3rem .7rem;text-transform:capitalize;white-space:nowrap}.package-pill.free{background:color-mix(in srgb,#2e2a47 14%,#0000);background:color-mix(in srgb,var(--text-color) 14%,#0000);color:color-mix(in srgb,#2e2a47 75%,#0000);color:color-mix(in srgb,var(--text-color) 75%,#0000)}.package-pill.pro{background:color-mix(in srgb,#34d399 20%,#0000);background:color-mix(in srgb,var(--success-color) 20%,#0000);color:#059669;color:var(--success-text)}.package-pill.advanced{background:color-mix(in srgb,#fbbf24 25%,#0000);background:color-mix(in srgb,var(--warning-color) 25%,#0000);color:#b45309;color:var(--warning-text)}.back-link{display:inline-block;margin-bottom:1rem;padding:.4rem 0}.account-detail-header{align-items:center;display:flex;gap:1.1rem;margin-bottom:1rem}.account-detail-heading{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:.4rem;min-width:0}.account-detail-title-row{align-items:center;display:flex;gap:.6rem}.account-detail-title-row h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-detail-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.account-detail-grid{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.account-detail-field{display:flex;flex-direction:column;gap:.3rem}.account-detail-label{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.account-detail-value{font-size:.95rem;font-weight:600}.account-detail-edit-form{max-width:420px}@media(max-width:640px){.account-detail-header{flex-wrap:wrap}.account-detail-grid{grid-template-columns:1fr}}.activity-list{display:flex;flex-direction:column;max-height:360px;overflow-y:auto}.activity-item{align-items:flex-start;border-bottom:1px solid #ece6fb;border-bottom:1px solid var(--border-color);display:flex;gap:.6rem;padding:.7rem 1.1rem}.activity-item:last-child{border-bottom:none}.activity-dot{background:color-mix(in srgb,#2e2a47 40%,#0000);background:color-mix(in srgb,var(--text-color) 40%,#0000);border-radius:50%;flex-shrink:0;height:.5rem;margin-top:.4rem;width:.5rem}.activity-item.activity-success .activity-dot{background:#34d399;background:var(--success-color)}.activity-item.activity-error .activity-dot{background:#fb7185;background:var(--danger-color)}.activity-item-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.activity-message{color:#2e2a47;color:var(--text-color);font-size:.85rem;overflow-wrap:break-word}.activity-time{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.72rem}.report-flag{align-items:center;background:color-mix(in srgb,#fb7185 20%,#0000);background:color-mix(in srgb,var(--danger-color) 20%,#0000);border-radius:999px;color:#e11d48;color:var(--danger-text);display:inline-flex;font-size:.72rem;font-weight:700;gap:.3rem;padding:.25rem .6rem;white-space:nowrap}.report-flag-clear{color:color-mix(in srgb,#2e2a47 45%,#0000);color:color-mix(in srgb,var(--text-color) 45%,#0000)}.report-status-pill{border-radius:999px;font-size:.72rem;font-weight:700;padding:.3rem .7rem;text-transform:capitalize;white-space:nowrap}.report-status-pill.open{background:color-mix(in srgb,#fb7185 20%,#0000);background:color-mix(in srgb,var(--danger-color) 20%,#0000);color:#e11d48;color:var(--danger-text)}.report-status-pill.resolved{background:color-mix(in srgb,#34d399 20%,#0000);background:color-mix(in srgb,var(--success-color) 20%,#0000);color:#059669;color:var(--success-text)}.report-cell{display:flex;flex-direction:column;gap:.15rem;min-width:0}.report-subject{font-weight:600}.report-message{color:color-mix(in srgb,#2e2a47 65%,#0000);color:color-mix(in srgb,var(--text-color) 65%,#0000);font-size:.82rem;overflow-wrap:break-word}.report-resolve-toggle{align-items:center;cursor:pointer;display:inline-flex;font-size:.82rem;gap:.4rem;white-space:nowrap}.report-detail-modal{max-width:540px}.report-detail-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.report-detail-modal h3{margin:0 0 .5rem}.report-detail-message{line-height:1.55;margin:0 0 .5rem;overflow-wrap:break-word;white-space:pre-wrap}.report-detail-meta{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.82rem;margin:0 0 1.25rem}.report-detail-user{border-top:1px solid #ece6fb;border-top:1px solid var(--border-color);padding-top:1rem}.report-detail-user h4{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.78rem;letter-spacing:.06em;margin:0 0 .75rem;text-transform:uppercase}.report-detail-user .account-detail-header{margin-bottom:.75rem}.dash-lead{grid-gap:1rem;align-items:stretch;display:grid;gap:1rem;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.dash-lead.is-triple{grid-template-columns:minmax(0,.82fr) minmax(0,1fr) minmax(0,1fr)}@media(max-width:1279px){.dash-lead.is-triple{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-lead.is-triple>:first-child{grid-column:1/-1}}.dash-lead.is-single{grid-template-columns:minmax(0,1fr)}.dash-lead>*{margin:0;min-width:0}@media(max-width:1023px){.dash-lead,.dash-lead.is-triple{grid-template-columns:1fr}.dash-lead.is-triple>:first-child{grid-column:auto}}.dash-chart-card{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);min-width:0;padding:1rem 1.1rem .9rem}.dash-chart-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.65rem}.dash-chart-head h2{font-size:.95rem;font-weight:700;margin:0}.dash-chart-sub{color:color-mix(in srgb,#2e2a47 52%,#0000);color:color-mix(in srgb,var(--text-color) 52%,#0000);font-size:.76rem;font-weight:600;text-transform:capitalize}.dash-chart-body{color:#2e2a47;color:var(--text-color);overflow:hidden}.dash-chart-value-label{fill:color-mix(in srgb,#2e2a47 72%,#0000);fill:color-mix(in srgb,var(--text-color) 72%,#0000);font-feature-settings:"tnum";font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:700}.dash-chart-empty{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.86rem;font-style:italic;margin:0;padding:2.6rem .5rem;text-align:center}.dash-chart-legend{color:color-mix(in srgb,#2e2a47 65%,#0000);color:color-mix(in srgb,var(--text-color) 65%,#0000);display:flex;flex-wrap:wrap;font-size:.76rem;gap:.35rem 1rem;list-style:none;margin:.5rem 0 0;padding:0}.dash-chart-legend li{align-items:center;display:flex;gap:.4rem}.dash-chart-swatch{border-radius:.2rem;flex:none;height:.7rem;width:.7rem}.dash-lead .dash-money-figures,.dash-lead .goal-focus-stats{gap:.9rem 1.1rem;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}.dash-lead .dash-figure-value{font-size:1.55rem}.dash-lead .dash-chart-card{display:flex;flex-direction:column}.dash-lead .dash-chart-body{align-items:center;display:flex;flex:1 1}.dash-lead .dash-chart-body>*{width:100%}.dash-lead.is-triple .dash-money-figures{align-content:space-between;grid-template-columns:repeat(2,minmax(0,1fr));height:100%}.dash-lead.is-triple .dash-money-figures>:last-child{grid-column:1/-1}.dash-lead.is-triple .dash-money{display:flex;flex-direction:column}.dash-lead.is-triple .dash-money-figures{flex:1 1}.stat-card{display:flex;flex-direction:column;gap:.5rem;overflow:hidden;position:relative}.stat-card:before{content:"";height:4px;inset:0 0 auto 0;position:absolute}.stat-card.tint-lavender:before{background:#7c6cf6;background:var(--primary-color)}.stat-card.tint-orchid:before{background:#c084fc;background:var(--orchid-color)}.stat-card.tint-pink:before{background:#f472b6;background:var(--secondary-color)}.stat-card.tint-indigo:before{background:#818cf8;background:var(--indigo-color)}.stat-card-top{align-items:center;display:flex;gap:.5rem}.stat-icon{font-size:1.3rem;line-height:1}.stat-label{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.stat-card strong{font-size:1.8rem;font-weight:700}.stat-caption{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.82rem;margin:0}.stat-trend{font-size:.82rem;font-weight:700;margin:0}.stat-trend.up{color:#e11d48;color:var(--danger-text)}.stat-trend.down,.stat-trend.growth-up{color:#059669;color:var(--success-text)}.stat-trend.growth-down{color:#b45309;color:var(--warning-text)}.dashboard-content-grid{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media(max-width:1023px){.dashboard-content-grid{grid-template-columns:1fr}}.dashboard-list-card .sheet-panel-header .text-btn{font-size:.75rem}.dashboard-list{display:flex;flex-direction:column;gap:.35rem;list-style:none;margin:0;min-height:8rem;padding:.75rem 1rem 1rem}.dashboard-list li{align-items:center;border-radius:.85rem;display:flex;gap:.75rem;justify-content:space-between;padding:.6rem;transition:background .15s ease}.dashboard-list li:hover{background:color-mix(in srgb,#2e2a47 5%,#0000);background:color-mix(in srgb,var(--text-color) 5%,#0000)}.dashboard-list-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-list-name.done{color:color-mix(in srgb,#2e2a47 50%,#0000);color:color-mix(in srgb,var(--text-color) 50%,#0000);text-decoration:line-through}.dashboard-list-empty{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);flex-direction:column;gap:.6rem;justify-content:center;padding:1.5rem .5rem}.dashboard-list-empty-msg{font-style:italic}.dashboard-header-sub{font-size:.92rem;font-weight:400;margin:.3rem 0 0}.dashboard-header-sub,.stat-sub{color:color-mix(in srgb,#2e2a47 65%,#0000);color:color-mix(in srgb,var(--text-color) 65%,#0000)}.stat-sub{font-feature-settings:"tnum";font-size:.8rem;font-variant-numeric:tabular-nums;margin:-.2rem 0 0}.stat-sub b{color:#059669;color:var(--success-text);font-weight:700}.dashboard-head-badge{background:color-mix(in srgb,#7c6cf6 16%,#0000);background:color-mix(in srgb,var(--primary-color) 16%,#0000);border-radius:999px;color:#6d28d9;color:var(--primary-text);font-size:.72rem;font-weight:800;padding:.2rem .55rem}.dashboard-list-card-foot{border-top:1px solid #ece6fb;border-top:1px solid var(--border-color);padding:.7rem 1rem}.dashboard-exp-dot{border-radius:50%;flex-shrink:0;height:.6rem;width:.6rem}.dashboard-exp-main{display:flex;flex:1 1;flex-direction:column;gap:.1rem;min-width:0}.dashboard-exp-cat{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.76rem}.dashboard-list .dashboard-goal-row{align-items:stretch;flex-direction:column;gap:.4rem}.dashboard-goal-top{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between}.dashboard-goal-due{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.76rem;white-space:nowrap}.dashboard-goal-bar-row{align-items:center;display:flex;gap:.55rem}.dashboard-goal-bar-row .progress-bar{flex:1 1;height:.4rem}.dashboard-goal-pct{font-feature-settings:"tnum";color:#6d28d9;color:var(--primary-text);font-size:.76rem;font-variant-numeric:tabular-nums;font-weight:800;text-align:right;width:2.4rem}.dashboard-task-row label{align-items:center;cursor:pointer;display:flex;gap:.6rem;width:100%}.dashboard-task-row input[type=checkbox]{accent-color:#7c6cf6;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0;height:1.15rem;width:1.15rem}.dashboard-wallet-value{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.dashboard-wallet-actions{align-items:center;display:flex;gap:.25rem}.dash-money{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);overflow:hidden;padding:1.15rem 1.25rem 1.25rem;position:relative}.dash-money:before{background:linear-gradient(90deg,#34d399,#7c6cf6,#818cf8);background:linear-gradient(90deg,var(--success-color),var(--primary-color),var(--indigo-color));content:"";height:4px;inset:0 0 auto 0;position:absolute}.dash-money-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.9rem}.dash-money-head .eyebrow{margin:0}.dash-money-month{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.82rem;font-weight:600;text-transform:capitalize}.dash-money-figures{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(3,minmax(0,1fr))}.dash-figure{border-left:3px solid #ece6fb;border-left:3px solid var(--border-color);display:flex;flex-direction:column;gap:.3rem;min-width:0;padding-left:.85rem}.dash-figure.tone-income{border-left-color:#34d399;border-left-color:var(--success-color)}.dash-figure.tone-spending{border-left-color:#7c6cf6;border-left-color:var(--primary-color)}.dash-figure.tone-saving{border-left-color:#818cf8;border-left-color:var(--indigo-color)}.dash-figure-label{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.dash-figure-value{font-feature-settings:"tnum";font-family:Fredoka,sans-serif;font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.15;overflow-wrap:anywhere}.dash-figure.tone-income .dash-figure-value{color:#059669;color:var(--success-text)}.dash-figure.tone-saving .dash-figure-value{color:#4338ca;color:var(--indigo-text)}.dash-figure-note{font-feature-settings:"tnum";color:color-mix(in srgb,#2e2a47 58%,#0000);color:color-mix(in srgb,var(--text-color) 58%,#0000);font-size:.75rem;font-variant-numeric:tabular-nums;line-height:1.35}.dash-delta{font-weight:700}.dash-delta.up{color:#e11d48;color:var(--danger-text)}.dash-delta.down{color:#059669;color:var(--success-text)}@media(max-width:767px){.dash-money-figures{gap:.9rem;grid-template-columns:1fr}.dash-figure-value{font-size:1.5rem}}.dash-pulse{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.dash-pulse-card{align-items:center;background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;color:inherit;display:flex;gap:.85rem;padding:.9rem 1rem;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}a.dash-pulse-card:hover{border-color:color-mix(in srgb,#7c6cf6 45%,#ece6fb);border-color:color-mix(in srgb,var(--primary-color) 45%,var(--border-color));box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);transform:translateY(-2px)}.dash-pulse-ring{flex:none}.dash-pulse-glyph{background:color-mix(in srgb,#818cf8 16%,#0000);background:color-mix(in srgb,var(--indigo-color) 16%,#0000);border-radius:50%;display:grid;flex:none;font-size:1.35rem;height:48px;place-items:center;width:48px}.dash-pulse-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.dash-pulse-label{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.dash-pulse-value{font-feature-settings:"tnum";font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:700;overflow-wrap:anywhere}.dash-pulse-caption{color:color-mix(in srgb,#2e2a47 58%,#0000);color:color-mix(in srgb,var(--text-color) 58%,#0000);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-pulse-flag{color:#e11d48;color:var(--danger-text);font-size:.74rem;font-weight:700;margin-top:.15rem}@media(max-width:767px){.dash-pulse{grid-template-columns:1fr}}.dashboard-content-grid .dashboard-list-card.is-primary{grid-column:1/-1}@media(max-width:1023px){.dashboard-content-grid .dashboard-list-card.is-primary{grid-column:auto}}@media(hover:hover){.dashboard-wallet-actions{opacity:0;transition:opacity .15s ease}.dashboard-list li:focus-within .dashboard-wallet-actions,.dashboard-list li:hover .dashboard-wallet-actions{opacity:1}}.dash-pulse-card:focus-visible{outline:2px solid #7c6cf6;outline:2px solid var(--primary-color);outline-offset:2px}.dashboard-task-grid{grid-gap:.15rem .75rem;align-content:start;display:grid;gap:.15rem .75rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}.dashboard-task-grid .dashboard-task-row{justify-content:flex-start}.summary-card{display:flex;flex-direction:column;gap:.4rem}.summary-grid.compact-stats{grid-template-columns:repeat(auto-fit,minmax(220px,320px))}.tooltip-card{cursor:default;position:relative}.tooltip-card .tooltip-content{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:none;flex-direction:column;font-size:.85rem;font-weight:400;gap:.25rem;margin-top:.5rem;min-width:220px;padding:.75rem 1rem;position:absolute;right:0;text-align:left;top:100%;z-index:10}.tooltip-card:hover .tooltip-content{display:flex}.budget-grid{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(300px,380px) minmax(0,1fr)}@media(max-width:1023px){.budget-grid{grid-template-columns:1fr}}.budget-card{gap:.6rem}.budget-card,.budget-list{display:flex;flex-direction:column}.budget-list{gap:.8rem}.summary-card strong{font-size:1.3rem}.table-card table{margin-top:.5rem}.add-budget-btn,.page-actions .primary-btn{color:#fff;color:var(--header-btn-text)}.sheet-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(220px,1fr))}@media(max-width:1200px){.sheet-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:640px){.sheet-grid{grid-template-columns:1fr}}.sheet-panel,.sheet-table-card{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:flex;flex-direction:column}.sheet-table-card{min-width:0;overflow:hidden}.sheet-panel-header{align-items:center;background:#fff;background:var(--card-background);border-bottom:1px solid #ece6fb;border-bottom:1px solid var(--border-color);border-radius:1.25rem 1.25rem 0 0;color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);display:flex;font-size:.72rem;font-weight:700;gap:.5rem;justify-content:space-between;letter-spacing:.08em;padding:.9rem 1.1rem;text-align:left;text-transform:uppercase}.sheet-panel-header.tint-indigo{border-bottom:2px solid #818cf8;border-bottom:2px solid var(--indigo-color);font-weight:800}.sheet-panel-header.tint-lavender{border-bottom:2px solid #7c6cf6;border-bottom:2px solid var(--primary-color);font-weight:800}.sheet-panel-header.tint-orchid{border-bottom:2px solid #c084fc;border-bottom:2px solid var(--orchid-color);font-weight:800}.sheet-panel-header.tint-pink{border-bottom:2px solid #f472b6;border-bottom:2px solid var(--secondary-color);font-weight:800}.sheet-panel-header.tint-rose{border-bottom:2px solid #fb7185;border-bottom:2px solid var(--danger-color);font-weight:800}.sheet-panel-header.tint-mint{border-bottom:2px solid #34d399;border-bottom:2px solid var(--success-color);font-weight:800}.sheet-panel-header .text-btn{background:color-mix(in srgb,#2e2a47 6%,#fff);background:color-mix(in srgb,var(--text-color) 6%,var(--card-background));box-shadow:0 2px 6px color-mix(in srgb,#2e2a47 12%,#0000);box-shadow:0 2px 6px color-mix(in srgb,var(--text-color) 12%,#0000);transition:transform .18s ease,box-shadow .18s ease}.sheet-panel-header .text-btn:hover{box-shadow:0 5px 12px color-mix(in srgb,#2e2a47 20%,#0000);box-shadow:0 5px 12px color-mix(in srgb,var(--text-color) 20%,#0000);transform:translateY(-1px) scale(1.04)}.sheet-panel-header .text-btn:active{transform:translateY(0) scale(.98)}.sheet-panel-header.tint-indigo .text-btn{color:#4338ca;color:var(--indigo-text)}.sheet-panel-header.tint-lavender .text-btn{color:#6d28d9;color:var(--primary-text)}.sheet-panel-header.tint-orchid .text-btn{color:#a21caf;color:var(--orchid-text)}.sheet-panel-header.tint-pink .text-btn{color:#db2777;color:var(--secondary-text)}.sheet-panel-header.tint-rose .text-btn{color:#e11d48;color:var(--danger-text)}.sheet-panel-header.tint-mint .text-btn{color:#059669;color:var(--success-text)}.table-search-input{background:#fff;background:var(--card-background);border-radius:999px;font-size:.78rem;font-weight:500;letter-spacing:normal;max-width:200px;padding:.4rem .8rem;text-transform:none}.account-row-clickable{cursor:pointer}.add-btn{align-items:center;display:inline-flex;gap:.4rem;padding-left:.55rem}.add-btn-icon{background:currentColor;border-radius:50%;display:inline-block;flex-shrink:0;height:1.05rem;position:relative;width:1.05rem}.add-btn-icon:before{align-items:center;color:#fff;color:var(--card-background);content:"+";display:flex;font-size:.8rem;font-weight:700;inset:0;justify-content:center;line-height:1;position:absolute}.sheet-panel-body{flex:1 1;padding:1rem}.sheet-kv{border-collapse:collapse;width:100%}.sheet-kv td{border-bottom:1px dashed #ece6fb;border-bottom:1px dashed var(--border-color);font-size:.9rem;padding:.55rem 0}.sheet-kv tr:last-child td{border-bottom:none}.sheet-kv td:first-child{color:color-mix(in srgb,#2e2a47 65%,#0000);color:color-mix(in srgb,var(--text-color) 65%,#0000)}.sheet-kv td:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;position:relative;text-align:right}.sheet-kv .negative,.sheet-table .negative{color:#e11d48;color:var(--danger-text)}.period-modal{max-width:340px}.form-hint{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.78rem;font-style:italic;margin:-.5rem 0 0}.form-hint-block{align-items:flex-start;background:color-mix(in srgb,#7c6cf6 8%,#0000);background:color-mix(in srgb,var(--primary-color) 8%,#0000);border-radius:8px;display:flex;flex-direction:column;gap:.35rem;padding:.6rem .75rem}.form-hint-block .form-hint{margin:0}.amount-input-group{align-items:stretch;display:flex}.amount-input-group input{border-bottom-right-radius:0;border-right:none;border-top-right-radius:0;flex:1 1;min-width:0}.amount-input-currency{align-items:center;background:color-mix(in srgb,#7c6cf6 12%,#0000);background:color-mix(in srgb,var(--primary-color) 12%,#0000);border:1px solid #ece6fb;border:1px solid var(--border-color);border-bottom-right-radius:1rem;border-top-right-radius:1rem;color:#6d28d9;color:var(--primary-text);display:flex;flex-shrink:0;font-size:.82rem;font-weight:700;gap:.3rem;padding:0 .85rem;white-space:nowrap}.checkbox-field{align-items:center;cursor:pointer;flex-direction:row;gap:.6rem}.checkbox-field input[type=checkbox]{accent-color:#7c6cf6;accent-color:var(--primary-color);cursor:pointer;height:1.1rem;width:1.1rem}.one-time-badge{background:color-mix(in srgb,#fbbf24 20%,#0000);background:color-mix(in srgb,var(--warning-color) 20%,#0000);border-radius:999px;color:#b45309;color:var(--warning-text);font-size:.65rem;font-weight:700;margin-left:.5rem;padding:.2rem .55rem;white-space:nowrap}.range-cal-selection{font-feature-settings:"tnum";align-items:center;background:color-mix(in srgb,#7c6cf6 12%,#0000);background:color-mix(in srgb,var(--primary-color) 12%,#0000);border-radius:999px;color:#6d28d9;color:var(--primary-text);display:flex;font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:600;gap:.6rem;justify-content:center;padding:.6rem .9rem}.range-cal-arrow{color:color-mix(in srgb,#2e2a47 50%,#0000);color:color-mix(in srgb,var(--text-color) 50%,#0000);font-weight:400}.range-cal{display:flex;flex-direction:column;gap:.5rem}.range-cal-header{align-items:center;color:#2e2a47;color:var(--text-color);display:flex;font-size:.9rem;font-weight:700;justify-content:space-between}.range-cal-nav{align-items:center;background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:50%;color:#6d28d9;color:var(--primary-text);cursor:pointer;display:flex;font-size:1.1rem;height:2rem;justify-content:center;line-height:1;transition:transform .15s ease,background .15s ease;width:2rem}.range-cal-nav:hover{background:color-mix(in srgb,#7c6cf6 16%,#0000);background:color-mix(in srgb,var(--primary-color) 16%,#0000);transform:scale(1.08)}.range-cal-weekdays{color:color-mix(in srgb,#2e2a47 50%,#0000);color:color-mix(in srgb,var(--text-color) 50%,#0000);font-size:.68rem;font-weight:700;letter-spacing:.04em;padding-bottom:.15rem;text-align:center;text-transform:uppercase}.range-cal-grid,.range-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.range-cal-grid{grid-row-gap:.15rem;row-gap:.15rem}.range-cal-cell{align-items:center;aspect-ratio:1;display:flex;justify-content:center}.range-cal-cell.endpoint,.range-cal-cell.in-range{background:color-mix(in srgb,#7c6cf6 18%,#0000);background:color-mix(in srgb,var(--primary-color) 18%,#0000)}.range-cal-cell.range-lo:not(.range-hi){border-radius:999px 0 0 999px}.range-cal-cell.range-hi:not(.range-lo){border-radius:0 999px 999px 0}.range-cal-cell.range-lo.range-hi{border-radius:999px}.range-cal-day{font-feature-settings:"tnum";background:#0000;border:none;border-radius:50%;color:#2e2a47;color:var(--text-color);cursor:pointer;font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:600;height:100%;transition:background .15s ease,color .15s ease,transform .15s ease;width:100%}.range-cal-day:hover{background:color-mix(in srgb,#7c6cf6 24%,#0000);background:color-mix(in srgb,var(--primary-color) 24%,#0000)}.range-cal-day.is-endpoint{background:linear-gradient(135deg,#7c6cf6,#f472b6);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));box-shadow:0 4px 10px color-mix(in srgb,#7c6cf6 45%,#0000);box-shadow:0 4px 10px color-mix(in srgb,var(--primary-color) 45%,#0000);color:#322b54;color:var(--on-accent)}.range-cal-day.is-endpoint:hover{transform:scale(1.06)}.period-picker-btn{font-feature-settings:"tnum";background:none;border:none;color:#6d28d9;color:var(--primary-text);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;font-weight:600;padding:0;text-align:right;text-decoration:none}.search-field{flex:1 1 180px;position:relative}.search-field input{padding-right:2.2rem;width:100%}.search-clear-btn{align-items:center;background:color-mix(in srgb,#2e2a47 12%,#0000);background:color-mix(in srgb,var(--text-color) 12%,#0000);border:none;border-radius:50%;color:#2e2a47;color:var(--text-color);cursor:pointer;display:flex;font-size:.7rem;height:1.4rem;justify-content:center;line-height:1;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:1.4rem}.search-clear-btn:hover{background:color-mix(in srgb,#fb7185 24%,#0000);background:color-mix(in srgb,var(--danger-color) 24%,#0000);color:#e11d48;color:var(--danger-text)}.chart-legend{align-items:center;color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);display:flex;flex-wrap:wrap;font-size:.72rem;font-weight:600;gap:1rem;justify-content:center;margin-bottom:.5rem}.chart-legend-item{align-items:center;display:inline-flex}.legend-dot{border-radius:50%;display:inline-block;height:.6rem;margin-right:.35rem;width:.6rem}.legend-dot-budget{background:color-mix(in srgb,#2e2a47 22%,#0000);background:color-mix(in srgb,var(--text-color) 22%,#0000)}.legend-dot-under{background:#34d399;background:var(--success-color)}.legend-dot-over{background:#fb7185;background:var(--danger-color)}.legend-dot-current{background:linear-gradient(135deg,#7c6cf6,#f472b6);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color))}.legend-dot-past{background:color-mix(in srgb,#7c6cf6 30%,#0000);background:color-mix(in srgb,var(--primary-color) 30%,#0000)}.chart-tooltip{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:.9rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:flex;flex-direction:column;font-size:.8rem;gap:.2rem;min-width:160px;padding:.65rem .9rem}.chart-tooltip strong{margin-bottom:.15rem}.chart-empty{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.85rem;font-style:italic;padding:3rem .5rem;text-align:center}.left-to-spend-stat{align-items:center;display:flex;flex-direction:column;gap:.75rem;text-align:center}.left-to-spend-stat strong{font-feature-settings:"tnum";font-size:1.8rem;font-variant-numeric:tabular-nums}.left-to-spend-caption{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.8rem;margin-top:-.5rem}.left-to-spend-stat .progress-bar{height:.55rem}.left-to-spend-stat .progress-bar.over-budget>div{background:#fb7185;background:var(--danger-color)}.status-pill.over-budget{border-color:color-mix(in srgb,#fb7185 45%,#0000);border-color:color-mix(in srgb,var(--danger-color) 45%,#0000);color:#e11d48;color:var(--danger-text)}.left-to-spend-breakdown{display:flex;flex-direction:column;gap:.5rem;width:100%}.left-to-spend-breakdown div{display:flex;font-size:.85rem;justify-content:space-between}.left-to-spend-breakdown span:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.sheet-table{border-collapse:collapse;width:100%}.sheet-table td,.sheet-table th{border-right:1px solid #ece6fb;border-right:1px solid var(--border-color)}.sheet-table td:last-child,.sheet-table th:last-child{border-right:none}.sheet-total-row td{background:color-mix(in srgb,#2e2a47 6%,#fff);background:color-mix(in srgb,var(--text-color) 6%,var(--card-background));border-top:2px solid #ece6fb;border-top:2px solid var(--border-color);font-size:.95rem;font-weight:700;padding:.9rem .5rem}.sheet-tables-grid .sheet-table .sheet-total-row td{font-size:.9rem;padding:.9rem .4rem}.income-amount{color:#059669;color:var(--success-text)}.category-dot{border-radius:50%;display:inline-block;height:.55rem;margin-right:.5rem;vertical-align:middle;width:.55rem}.transactions-table{table-layout:fixed}.transactions-table td,.transactions-table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-table td:last-child{overflow:visible}.transactions-table .notes-cell{overflow:visible;text-overflow:clip;white-space:normal}.notes-cell{color:color-mix(in srgb,#2e2a47 70%,#0000);color:color-mix(in srgb,var(--text-color) 70%,#0000);font-size:.9rem;white-space:normal;word-break:break-word}.sheet-empty-row td{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-style:italic;padding:1.25rem .5rem;text-align:center}.sheet-table-toolbar{padding:1rem}.sheet-table tbody tr:not(.sheet-total-row){background:#fff;background:var(--card-background)}.sheet-table tbody tr:not(.sheet-total-row):hover{background:color-mix(in srgb,#2e2a47 6%,#0000);background:color-mix(in srgb,var(--text-color) 6%,#0000)}.sheet-tables-grid{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(320px,1fr))}.sheet-table-card--full{grid-column:1/-1}@media(max-width:900px){.sheet-tables-grid{grid-template-columns:1fr}.sheet-table-card--full{grid-column:auto}}.sheet-tables-grid .sheet-table{table-layout:fixed}.sheet-tables-grid .sheet-table td,.sheet-tables-grid .sheet-table th{font-size:.85rem;overflow:hidden;padding:.6rem .4rem;text-overflow:ellipsis;white-space:nowrap}.sheet-tables-grid .sheet-table td:last-child{overflow:visible}.sheet-table .goal-actions{gap:.25rem}@media(hover:hover)and (pointer:fine){.sheet-table tbody tr .goal-actions,.transactions-table tbody tr .goal-actions{justify-content:flex-end;opacity:0;transition:opacity .12s ease}.sheet-table tbody tr:focus-within .goal-actions,.sheet-table tbody tr:hover .goal-actions,.transactions-table tbody tr:focus-within .goal-actions,.transactions-table tbody tr:hover .goal-actions{opacity:1}}.sheet-tables-grid .text-btn{font-size:.8rem;padding:.3rem .6rem}.icon-btn{line-height:1;padding:.3rem .5rem}.sheet-table-scroll{max-height:30.8rem;min-height:19.4rem;min-width:0;overflow:auto}.sheet-table-scroll thead th{background:#fff;background:var(--card-background);position:-webkit-sticky;position:sticky;top:0;z-index:2}.sheet-table-footer{flex-shrink:0;margin:0}.pagination-controls{align-items:center;border-top:1px solid #ece6fb;border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:center;padding:.75rem 1rem}.pagination-status{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.85rem}.sheet-tables-grid .report-table td{overflow:visible;text-overflow:clip;white-space:normal}.hero-card{background:linear-gradient(135deg,color-mix(in srgb,#7c6cf6 12%,#fff),color-mix(in srgb,#f472b6 12%,#fff));background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 12%,var(--card-background)),color-mix(in srgb,var(--secondary-color) 12%,var(--card-background)));border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem 1.6rem}.hero-top{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.hero-card .period-pill{font-feature-settings:"tnum";background:color-mix(in srgb,#fff 60%,#0000);background:color-mix(in srgb,var(--card-background) 60%,#0000);border:1px dashed color-mix(in srgb,#7c6cf6 45%,#ece6fb);border:1px dashed color-mix(in srgb,var(--primary-color) 45%,var(--border-color));border-radius:999px;color:#6d28d9;color:var(--primary-text);cursor:pointer;font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:700;padding:.45rem .9rem}.hero-card .period-pill:hover{background:color-mix(in srgb,#7c6cf6 16%,#fff);background:color-mix(in srgb,var(--primary-color) 16%,var(--card-background))}.hero-biggest{color:color-mix(in srgb,#2e2a47 65%,#0000);color:color-mix(in srgb,var(--text-color) 65%,#0000);font-size:.85rem;font-weight:500}.hero-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:920px){.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.hero-stats{grid-template-columns:1fr}}.hero-stat{border-right:1px solid #ece6fb;border-right:1px solid var(--border-color);display:flex;flex-direction:column;gap:.3rem;padding-right:1rem}.hero-stat:last-child{border-right:none}@media(max-width:920px){.hero-stat:nth-child(2n){border-right:none}}@media(max-width:520px){.hero-stat{border-bottom:1px solid #ece6fb;border-bottom:1px solid var(--border-color);border-right:none;padding-bottom:.9rem}.hero-stat:last-child{border-bottom:none;padding-bottom:0}}.hero-stat label{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-stat strong{font-feature-settings:"tnum";font-size:1.6rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.15}.hero-stat strong.negative{color:#e11d48;color:var(--danger-text)}.hero-stat strong.warn{color:#b45309;color:var(--warning-text)}.hero-delta{font-size:.76rem;font-weight:700}.hero-delta.good{color:#059669;color:var(--success-text)}.hero-delta.bad{color:#e11d48;color:var(--danger-text)}.hero-substat{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.72rem;line-height:1.35}.hero-stat-ring{align-items:center;flex-direction:row;gap:.85rem}.ring-svg circle{transition:stroke-dashoffset .6s ease,stroke .3s ease}.status-pill.near-limit{background:color-mix(in srgb,#fbbf24 22%,#0000);background:color-mix(in srgb,var(--warning-color) 22%,#0000);color:#b45309;color:var(--warning-text)}.attention-row{display:flex;flex-wrap:wrap;gap:.6rem}.attn-chip{align-items:center;background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:999px;color:#2e2a47;color:var(--text-color);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:700;gap:.55rem;padding:.55rem .95rem;transition:transform .12s ease}.attn-chip:hover{transform:translateY(-1px)}.attn-chip .dot{border-radius:50%;flex-shrink:0;height:.55rem;width:.55rem}.attn-chip.danger{background:color-mix(in srgb,#fb7185 8%,#fff);background:color-mix(in srgb,var(--danger-color) 8%,var(--card-background));border-color:color-mix(in srgb,#fb7185 40%,#ece6fb);border-color:color-mix(in srgb,var(--danger-color) 40%,var(--border-color));color:#e11d48;color:var(--danger-text)}.attn-chip.danger .dot{background:#fb7185;background:var(--danger-color)}.attn-chip.warn{background:color-mix(in srgb,#fbbf24 10%,#fff);background:color-mix(in srgb,var(--warning-color) 10%,var(--card-background));border-color:color-mix(in srgb,#fbbf24 45%,#ece6fb);border-color:color-mix(in srgb,var(--warning-color) 45%,var(--border-color));color:#b45309;color:var(--warning-text)}.attn-chip.warn .dot{background:#fbbf24;background:var(--warning-color)}.attn-chip.ok{background:color-mix(in srgb,#34d399 8%,#fff);background:color-mix(in srgb,var(--success-color) 8%,var(--card-background));border-color:color-mix(in srgb,#34d399 40%,#ece6fb);border-color:color-mix(in srgb,var(--success-color) 40%,var(--border-color));color:#059669;color:var(--success-text);cursor:default}.attn-chip.ok:hover{transform:none}.attn-chip.ok .dot{background:#34d399;background:var(--success-color)}.view-tabs{background:color-mix(in srgb,#2e2a47 5%,#fff);background:color-mix(in srgb,var(--text-color) 5%,var(--card-background));border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:999px;display:inline-flex;gap:.3rem;padding:.3rem;width:-webkit-fit-content;width:fit-content}.view-tabs button{background:#0000;border:none;border-radius:999px;color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);cursor:pointer;font-size:.85rem;font-weight:700;padding:.55rem 1.2rem;transition:background .15s ease,color .15s ease}.view-tabs button.active{background:linear-gradient(135deg,#7c6cf6,#f472b6);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));box-shadow:0 4px 12px color-mix(in srgb,#7c6cf6 35%,#0000);box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 35%,#0000);color:#322b54;color:var(--on-accent)}.tab-panel{display:flex;flex-direction:column;gap:1.1rem}.chart-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.chart-row{grid-template-columns:1fr}}.recent-list{display:flex;flex-direction:column}.recent-row{align-items:center;border-bottom:1px dashed #ece6fb;border-bottom:1px dashed var(--border-color);display:flex;gap:.75rem;justify-content:space-between;padding:.65rem 0}.recent-row:last-child{border-bottom:none}.recent-left{display:flex;flex-direction:column;gap:.15rem;min-width:0}.recent-name{font-size:.88rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-meta{align-items:center;color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);display:flex;font-size:.76rem}.recent-amt{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}.type-tabs{display:flex;flex-wrap:wrap;gap:.6rem}.type-tab{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;min-width:140px;padding:.65rem 1rem;text-align:left}.type-tab-top{align-items:center;color:#2e2a47;color:var(--text-color);display:flex;font-size:.85rem;font-weight:800;gap:.4rem}.type-tab-dot{background:#34d399;background:var(--success-color);border-radius:50%;height:.55rem;width:.55rem}.type-tab-dot.warn{background:#fbbf24;background:var(--warning-color)}.type-tab-dot.danger{background:#fb7185;background:var(--danger-color)}.type-tab-sub{font-feature-settings:"tnum";color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.72rem;font-variant-numeric:tabular-nums}.type-tab.tint-indigo.active{border-color:#818cf8;border-color:var(--indigo-color);box-shadow:0 0 0 2px color-mix(in srgb,#818cf8 25%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--indigo-color) 25%,#0000)}.type-tab.tint-orchid.active{border-color:#c084fc;border-color:var(--orchid-color);box-shadow:0 0 0 2px color-mix(in srgb,#c084fc 25%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--orchid-color) 25%,#0000)}.type-tab.tint-lavender.active{border-color:#7c6cf6;border-color:var(--primary-color);box-shadow:0 0 0 2px color-mix(in srgb,#7c6cf6 25%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-color) 25%,#0000)}.type-tab.tint-rose.active{border-color:#fb7185;border-color:var(--danger-color);box-shadow:0 0 0 2px color-mix(in srgb,#fb7185 25%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--danger-color) 25%,#0000)}.type-tab.tint-mint.active{border-color:#34d399;border-color:var(--success-color);box-shadow:0 0 0 2px color-mix(in srgb,#34d399 25%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--success-color) 25%,#0000)}.mini-bar{background:color-mix(in srgb,#2e2a47 8%,#0000);background:color-mix(in srgb,var(--text-color) 8%,#0000);border-radius:999px;display:inline-block;height:.45rem;min-width:70px;overflow:hidden;width:100%}.mini-bar>span{background:#34d399;background:var(--success-color);border-radius:inherit;display:block;height:100%;transition:width .4s ease}.mini-bar>span.over{background:#fb7185;background:var(--danger-color)}.mini-bar>span.warn{background:#fbbf24;background:var(--warning-color)}.card-row-amt{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800}.preset-row{display:flex;flex-wrap:wrap;gap:.4rem}.preset-chip{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:999px;color:color-mix(in srgb,#2e2a47 65%,#0000);color:color-mix(in srgb,var(--text-color) 65%,#0000);cursor:pointer;font-size:.78rem;font-weight:700;padding:.4rem .8rem}.preset-chip:hover{background:color-mix(in srgb,#7c6cf6 12%,#fff);background:color-mix(in srgb,var(--primary-color) 12%,var(--card-background));color:#6d28d9;color:var(--primary-text)}.goal-focus{background:linear-gradient(135deg,color-mix(in srgb,#7c6cf6 12%,#fff),color-mix(in srgb,#f472b6 12%,#fff));background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 12%,var(--card-background)),color-mix(in srgb,var(--secondary-color) 12%,var(--card-background)));border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.15rem;padding:1.25rem 1.4rem}.goal-focus.alert{background:linear-gradient(135deg,color-mix(in srgb,#fb7185 11%,#fff),color-mix(in srgb,#f472b6 9%,#fff));background:linear-gradient(135deg,color-mix(in srgb,var(--danger-color) 11%,var(--card-background)),color-mix(in srgb,var(--secondary-color) 9%,var(--card-background)));border-color:color-mix(in srgb,#fb7185 40%,#ece6fb);border-color:color-mix(in srgb,var(--danger-color) 40%,var(--border-color))}.goal-focus-top{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.goal-focus-eyebrow{color:color-mix(in srgb,#2e2a47 50%,#0000);color:color-mix(in srgb,var(--text-color) 50%,#0000);font-size:.68rem;font-weight:800;letter-spacing:.16em;margin:0;text-transform:uppercase}.goal-focus-headline{font-size:1.15rem;font-weight:700;line-height:1.3;margin:.2rem 0 0}.goal-focus-stats{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(3,minmax(0,1fr))}.goal-focus-stat{border-right:1px solid #ece6fb;border-right:1px solid var(--border-color);display:flex;flex-direction:column;gap:.3rem;min-width:0;padding-right:1rem}.goal-focus-stat:last-child{border-right:none;padding-right:0}.goal-focus-stat label{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.goal-focus-stat strong{font-feature-settings:"tnum";font-size:1.55rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1}.goal-focus-stat strong.danger{color:#e11d48;color:var(--danger-text)}.goal-focus-note{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-focus-stat .progress-bar{height:.4rem;margin-top:.15rem}@media(max-width:640px){.goal-focus-stats{gap:.9rem;grid-template-columns:1fr}.goal-focus-stat{border-bottom:1px solid #ece6fb;border-bottom:1px solid var(--border-color);border-right:none;padding-bottom:.8rem;padding-right:0}.goal-focus-stat:last-child{border-bottom:none;padding-bottom:0}}.goal-toolbar{align-items:center;background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);gap:.75rem;justify-content:space-between;padding:.75rem .9rem}.goal-chips,.goal-toolbar{display:flex;flex-wrap:wrap}.goal-chips{gap:.4rem}.goal-chip{align-items:center;background:#0000;border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:999px;color:color-mix(in srgb,#2e2a47 72%,#0000);color:color-mix(in srgb,var(--text-color) 72%,#0000);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.4rem;padding:.42rem .85rem;transition:background .15s ease,border-color .15s ease,color .15s ease}.goal-chip:hover{background:color-mix(in srgb,#2e2a47 6%,#0000);background:color-mix(in srgb,var(--text-color) 6%,#0000)}.goal-chip.active{background:color-mix(in srgb,#7c6cf6 16%,#0000);background:color-mix(in srgb,var(--primary-color) 16%,#0000);border-color:color-mix(in srgb,#7c6cf6 40%,#0000);border-color:color-mix(in srgb,var(--primary-color) 40%,#0000);color:#6d28d9;color:var(--primary-text)}.goal-chip-count{font-feature-settings:"tnum";font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:800;opacity:.7}.goal-chip.alert .goal-chip-count{color:#e11d48;color:var(--danger-text);opacity:1}.goal-chip.alert.active{background:color-mix(in srgb,#fb7185 16%,#0000);background:color-mix(in srgb,var(--danger-color) 16%,#0000);border-color:color-mix(in srgb,#fb7185 40%,#0000);border-color:color-mix(in srgb,var(--danger-color) 40%,#0000);color:#e11d48;color:var(--danger-text)}.goal-toolbar-controls{align-items:center;display:flex;flex:1 1 260px;gap:.5rem;justify-content:flex-end}.goal-search,.goal-sort{border-radius:999px;font-size:.85rem;padding:.5rem .9rem}.goal-search{flex:1 1 150px;max-width:240px;min-width:0}@media(max-width:640px){.goal-toolbar-controls{flex:1 1 100%;justify-content:flex-start}.goal-search{max-width:none}}.goal-grid{grid-gap:1rem;align-items:stretch;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.goal-card{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 4px 14px color-mix(in srgb,#2e2a47 6%,#0000);box-shadow:0 4px 14px color-mix(in srgb,var(--text-color) 6%,#0000);display:flex;flex-direction:column;gap:.7rem;overflow:hidden;padding:1rem 1.1rem .5rem;position:relative;transition:border-color .18s ease,box-shadow .18s ease}.goal-card:hover{border-color:color-mix(in srgb,#7c6cf6 32%,#0000);border-color:color-mix(in srgb,var(--primary-color) 32%,#0000);box-shadow:0 10px 22px color-mix(in srgb,#7c6cf6 14%,#0000);box-shadow:0 10px 22px color-mix(in srgb,var(--primary-color) 14%,#0000)}.goal-card:before{background:#0000;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.goal-card.is-overdue:before{background:#fb7185;background:var(--danger-color)}.goal-card.is-soon:before{background:#fbbf24;background:var(--warning-color)}.goal-card.is-done:before{background:#34d399;background:var(--success-color)}.goal-card.is-cancelled,.goal-card.is-done{background:color-mix(in srgb,#2e2a47 3%,#fff);background:color-mix(in srgb,var(--text-color) 3%,var(--card-background));box-shadow:none}.goal-card.is-cancelled{opacity:.7}.goal-card.draggable{cursor:grab}.goal-card.draggable a,.goal-card.draggable button{cursor:pointer}.goal-card.draggable:active{cursor:grabbing}.goal-card.dragging{box-shadow:0 20px 40px color-mix(in srgb,#7c6cf6 25%,#0000);box-shadow:0 20px 40px color-mix(in srgb,var(--primary-color) 25%,#0000);opacity:.5;z-index:10}.goal-head{align-items:flex-start;display:flex;gap:.6rem;justify-content:space-between}.goal-title-group{align-items:center;display:flex;gap:.45rem;min-width:0}.goal-type-icon{flex-shrink:0;font-size:.95rem}.goal-card h3{font-size:1rem;font-weight:700;line-height:1.35;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-due-flag{background:color-mix(in srgb,#2e2a47 8%,#0000);background:color-mix(in srgb,var(--text-color) 8%,#0000);border-radius:999px;color:color-mix(in srgb,#2e2a47 62%,#0000);color:color-mix(in srgb,var(--text-color) 62%,#0000);flex-shrink:0;font-size:.72rem;font-weight:800;padding:.24rem .6rem;white-space:nowrap}.goal-due-flag.danger{background:color-mix(in srgb,#fb7185 18%,#0000);background:color-mix(in srgb,var(--danger-color) 18%,#0000);color:#e11d48;color:var(--danger-text)}.goal-due-flag.warn{background:color-mix(in srgb,#fbbf24 24%,#0000);background:color-mix(in srgb,var(--warning-color) 24%,#0000);color:#b45309;color:var(--warning-text)}.goal-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:color-mix(in srgb,#2e2a47 62%,#0000);color:color-mix(in srgb,var(--text-color) 62%,#0000);display:-webkit-box;font-size:.85rem;line-height:1.45;margin:0;overflow:hidden}.goal-progress{display:flex;flex-direction:column;gap:.35rem}.goal-progress-head{align-items:baseline;display:flex;gap:.6rem;justify-content:space-between}.goal-progress-value{font-feature-settings:"tnum";color:color-mix(in srgb,#2e2a47 78%,#0000);color:color-mix(in srgb,var(--text-color) 78%,#0000);font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-progress-percent{font-feature-settings:"tnum";color:#6d28d9;color:var(--primary-text);flex-shrink:0;font-size:1.02rem;font-variant-numeric:tabular-nums;font-weight:800}.goal-card .progress-bar{height:.5rem}.goal-card.is-done .goal-progress-percent{color:#059669;color:var(--success-text)}.goal-card.is-done .progress-bar>div{background:linear-gradient(90deg,#34d399,color-mix(in srgb,#34d399 55%,#7c6cf6));background:linear-gradient(90deg,var(--success-color),color-mix(in srgb,var(--success-color) 55%,var(--primary-color)))}.goal-card.is-overdue .goal-progress-percent{color:#e11d48;color:var(--danger-text)}.goal-card.is-overdue .progress-bar>div{background:linear-gradient(90deg,#fb7185,#f472b6);background:linear-gradient(90deg,var(--danger-color),var(--secondary-color))}.goal-progress-note{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.72rem}.goal-tag-row{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.status-pill.not-started{background:color-mix(in srgb,#2e2a47 12%,#0000);background:color-mix(in srgb,var(--text-color) 12%,#0000);color:color-mix(in srgb,#2e2a47 72%,#0000);color:color-mix(in srgb,var(--text-color) 72%,#0000)}.status-pill.in-progress{background:color-mix(in srgb,#7c6cf6 18%,#0000);background:color-mix(in srgb,var(--primary-color) 18%,#0000);color:#6d28d9;color:var(--primary-text)}.status-pill.cancelled{background:color-mix(in srgb,#fb7185 20%,#0000);background:color-mix(in srgb,var(--danger-color) 20%,#0000);color:#e11d48;color:var(--danger-text)}.goal-tag-row .status-pill{font-size:.72rem;padding:.24rem .6rem}.goal-link-badge{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:700;gap:.3rem;padding:.26rem .65rem;text-decoration:none;transition:background .15s ease,border-color .15s ease}.goal-link-badge.money{background:color-mix(in srgb,#34d399 15%,#0000);background:color-mix(in srgb,var(--success-color) 15%,#0000);color:#059669;color:var(--success-text)}.goal-link-badge.money:hover{background:color-mix(in srgb,#34d399 26%,#0000);background:color-mix(in srgb,var(--success-color) 26%,#0000)}.goal-link-badge.activity{background:color-mix(in srgb,#7c6cf6 14%,#0000);background:color-mix(in srgb,var(--primary-color) 14%,#0000);color:#6d28d9;color:var(--primary-text)}.goal-link-badge.activity:hover{background:color-mix(in srgb,#7c6cf6 24%,#0000);background:color-mix(in srgb,var(--primary-color) 24%,#0000)}.goal-link-badge.linked{background:#0000;border-color:color-mix(in srgb,currentColor 35%,#0000)}.goal-link-badge.linked:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.goal-card-foot{align-items:center;border-top:1px solid #ece6fb;border-top:1px solid var(--border-color);display:flex;gap:.1rem;justify-content:flex-end;margin-top:auto;padding-top:.45rem}.goal-act-btn{background:#0000;border:none;border-radius:999px;color:color-mix(in srgb,#2e2a47 62%,#0000);color:color-mix(in srgb,var(--text-color) 62%,#0000);cursor:pointer;font-size:.82rem;font-weight:600;padding:.45rem .7rem;transition:background .15s ease,color .15s ease}.goal-act-btn:hover{background:color-mix(in srgb,#2e2a47 7%,#0000);background:color-mix(in srgb,var(--text-color) 7%,#0000);color:#2e2a47;color:var(--text-color)}.goal-act-btn.accent{color:#6d28d9;color:var(--primary-text)}.goal-act-btn.accent:hover{background:color-mix(in srgb,#7c6cf6 14%,#0000);background:color-mix(in srgb,var(--primary-color) 14%,#0000)}.goal-act-btn.danger:hover{background:color-mix(in srgb,#fb7185 14%,#0000);background:color-mix(in srgb,var(--danger-color) 14%,#0000);color:#e11d48;color:var(--danger-text)}.goal-empty{align-items:center;background:color-mix(in srgb,#7c6cf6 4%,#fff);background:color-mix(in srgb,var(--primary-color) 4%,var(--card-background));border:1px dashed color-mix(in srgb,#7c6cf6 30%,#ece6fb);border:1px dashed color-mix(in srgb,var(--primary-color) 30%,var(--border-color));border-radius:1.25rem;display:flex;flex-direction:column;gap:.5rem;grid-column:1/-1;padding:2.75rem 1.5rem;text-align:center}.goal-empty-icon{font-size:1.9rem;line-height:1}.goal-empty h3{font-size:1.05rem;margin:0}.goal-empty p{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.88rem;line-height:1.5;margin:0;max-width:38ch}.goal-empty-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.4rem}.modal-content.goal-form-modal{max-width:540px}.modal-subtitle{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.85rem;line-height:1.45;margin:-.35rem 0 .25rem}.goal-attachments{grid-gap:.6rem;border-top:1px solid #ece6fb;border-top:1px solid var(--border-color);display:grid;gap:.6rem;margin-top:.4rem;padding-top:.9rem}.goal-attachments-title{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.72rem;font-weight:800;letter-spacing:.08em;margin:0;text-transform:uppercase}.goal-attachments-intro{color:color-mix(in srgb,#2e2a47 62%,#0000);color:color-mix(in srgb,var(--text-color) 62%,#0000);font-size:.82rem;line-height:1.45;margin:-.2rem 0 .1rem}.goal-attachment{background:color-mix(in srgb,#2e2a47 3%,#fff);background:color-mix(in srgb,var(--text-color) 3%,var(--card-background));border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1rem;padding:.8rem .9rem;transition:border-color .15s ease,background .15s ease}.goal-attachment.is-on{background:color-mix(in srgb,#7c6cf6 7%,#fff);background:color-mix(in srgb,var(--primary-color) 7%,var(--card-background));border-color:color-mix(in srgb,#7c6cf6 42%,#0000);border-color:color-mix(in srgb,var(--primary-color) 42%,#0000)}.goal-attachment-toggle{align-items:flex-start;cursor:pointer;display:flex;gap:.6rem;margin:0}.goal-attachment-toggle input[type=checkbox]{accent-color:#7c6cf6;accent-color:var(--primary-color);cursor:pointer;flex:none;height:1.05rem;margin-top:.15rem;width:1.05rem}.goal-attachment-toggle>span{grid-gap:.15rem;display:grid;gap:.15rem;min-width:0}.goal-attachment-icon{flex:none;font-size:1.05rem;line-height:1.2}.goal-attachment-body{grid-gap:.6rem;border-top:1px dashed color-mix(in srgb,#7c6cf6 30%,#ece6fb);border-top:1px dashed color-mix(in srgb,var(--primary-color) 30%,var(--border-color));display:grid;gap:.6rem;margin-top:.75rem;padding-top:.75rem}.goal-attachment-body .inline-fields{padding:0}.field-hint{color:color-mix(in srgb,#2e2a47 58%,#0000);color:color-mix(in srgb,var(--text-color) 58%,#0000);font-size:.74rem;font-weight:400;line-height:1.35}.progress-modal-context{background:color-mix(in srgb,#2e2a47 4%,#fff);background:color-mix(in srgb,var(--text-color) 4%,var(--card-background));border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1rem;display:flex;flex-direction:column;gap:.4rem;padding:.75rem .85rem}.progress-modal-title{font-size:.95rem;font-weight:700;margin:0}.progress-modal-figures{font-feature-settings:"tnum";color:color-mix(in srgb,#2e2a47 65%,#0000);color:color-mix(in srgb,var(--text-color) 65%,#0000);display:flex;font-size:.8rem;font-variant-numeric:tabular-nums;gap:.5rem;justify-content:space-between}.cl-hero{background:linear-gradient(135deg,color-mix(in srgb,#7c6cf6 12%,#fff),color-mix(in srgb,#f472b6 12%,#fff));background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 12%,var(--card-background)),color-mix(in srgb,var(--secondary-color) 12%,var(--card-background)));border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.1rem;padding:1.25rem 1.4rem}.cl-hero.is-clear{background:linear-gradient(135deg,color-mix(in srgb,#34d399 12%,#fff),color-mix(in srgb,#7c6cf6 8%,#fff));background:linear-gradient(135deg,color-mix(in srgb,var(--success-color) 12%,var(--card-background)),color-mix(in srgb,var(--primary-color) 8%,var(--card-background)));border-color:color-mix(in srgb,#34d399 38%,#ece6fb);border-color:color-mix(in srgb,var(--success-color) 38%,var(--border-color))}.cl-hero-top{align-items:center;display:flex;flex-wrap:wrap;gap:.9rem;justify-content:space-between}.cl-hero-eyebrow{color:color-mix(in srgb,#2e2a47 50%,#0000);color:color-mix(in srgb,var(--text-color) 50%,#0000);font-size:.68rem;font-weight:800;letter-spacing:.16em;margin:0;text-transform:uppercase}.cl-hero-headline{font-size:1.15rem;font-weight:700;line-height:1.3;margin:.2rem 0 0}.cl-date-nav{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.cl-date-step{background:color-mix(in srgb,#fff 70%,#0000);background:color-mix(in srgb,var(--card-background) 70%,#0000);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:50%;color:#2e2a47;color:var(--text-color);cursor:pointer;flex:none;font-size:1rem;font-weight:700;height:2.1rem;line-height:1;transition:background .15s ease,border-color .15s ease;width:2.1rem}.cl-date-step:hover{background:#fff;background:var(--card-background);border-color:color-mix(in srgb,#7c6cf6 40%,#0000);border-color:color-mix(in srgb,var(--primary-color) 40%,#0000)}.cl-date-input{font-feature-settings:"tnum";background:color-mix(in srgb,#fff 70%,#0000);background:color-mix(in srgb,var(--card-background) 70%,#0000);border-radius:999px;font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:600;padding:.45rem .8rem;width:auto}.cl-hero-progress{display:flex;flex-direction:column;gap:.5rem}.cl-hero-figures{gap:.75rem;justify-content:space-between}.cl-hero-count,.cl-hero-figures{align-items:baseline;display:flex}.cl-hero-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;gap:.4rem}.cl-hero-count strong{font-size:2rem;font-weight:800;line-height:1}.cl-hero-count span{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.9rem;font-weight:600}.cl-hero-pct{font-feature-settings:"tnum";color:#6d28d9;color:var(--primary-text);font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:800}.cl-hero.is-clear .cl-hero-pct{color:#059669;color:var(--success-text)}.cl-hero.is-clear .progress-bar>div{background:linear-gradient(90deg,#34d399,color-mix(in srgb,#34d399 55%,#7c6cf6));background:linear-gradient(90deg,var(--success-color),color-mix(in srgb,var(--success-color) 55%,var(--primary-color)))}.checklist-grid{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.cl-card{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 4px 14px color-mix(in srgb,#2e2a47 6%,#0000);box-shadow:0 4px 14px color-mix(in srgb,var(--text-color) 6%,#0000);display:flex;flex-direction:column;gap:.65rem;overflow:hidden;padding:1rem 1.1rem .5rem;position:relative;transition:border-color .18s ease,box-shadow .18s ease}.cl-card:hover{border-color:color-mix(in srgb,#7c6cf6 32%,#0000);border-color:color-mix(in srgb,var(--primary-color) 32%,#0000);box-shadow:0 10px 22px color-mix(in srgb,#7c6cf6 14%,#0000);box-shadow:0 10px 22px color-mix(in srgb,var(--primary-color) 14%,#0000)}.cl-card:before{background:#0000;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.cl-card.is-complete:before{background:#34d399;background:var(--success-color)}.cl-card.is-complete{background:color-mix(in srgb,#34d399 5%,#fff);background:color-mix(in srgb,var(--success-color) 5%,var(--card-background));box-shadow:none}.cl-card.draggable{cursor:grab}.cl-card.draggable a,.cl-card.draggable button,.cl-card.draggable input,.cl-card.draggable label{cursor:pointer}.cl-card.draggable:active{cursor:grabbing}.cl-card.dragging{box-shadow:0 20px 40px color-mix(in srgb,#7c6cf6 25%,#0000);box-shadow:0 20px 40px color-mix(in srgb,var(--primary-color) 25%,#0000);opacity:.5;z-index:10}.cl-card-top{align-items:flex-start;display:flex;gap:.6rem;justify-content:space-between}.cl-card h3{font-size:1rem;font-weight:700;line-height:1.35;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-frac{font-feature-settings:"tnum";background:color-mix(in srgb,#7c6cf6 14%,#0000);background:color-mix(in srgb,var(--primary-color) 14%,#0000);border-radius:999px;color:#6d28d9;color:var(--primary-text);flex-shrink:0;font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:800;padding:.24rem .6rem}.cl-card.is-complete .cl-frac{background:color-mix(in srgb,#34d399 18%,#0000);background:color-mix(in srgb,var(--success-color) 18%,#0000);color:#059669;color:var(--success-text)}.cl-card .progress-bar{height:.4rem}.cl-card.is-complete .progress-bar>div{background:linear-gradient(90deg,#34d399,color-mix(in srgb,#34d399 55%,#7c6cf6));background:linear-gradient(90deg,var(--success-color),color-mix(in srgb,var(--success-color) 55%,var(--primary-color)))}.cl-tag-row{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.reminder-pill{border-radius:999px;flex-shrink:0;font-size:.7rem;font-weight:700;padding:.24rem .6rem;white-space:nowrap}.reminder-pill.daily{background:color-mix(in srgb,#7c6cf6 18%,#0000);background:color-mix(in srgb,var(--primary-color) 18%,#0000);color:#6d28d9;color:var(--primary-text)}.reminder-pill.once{background:color-mix(in srgb,#2e2a47 12%,#0000);background:color-mix(in srgb,var(--text-color) 12%,#0000);color:color-mix(in srgb,#2e2a47 72%,#0000);color:color-mix(in srgb,var(--text-color) 72%,#0000)}.cl-when{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.72rem}.cl-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:color-mix(in srgb,#2e2a47 62%,#0000);color:color-mix(in srgb,var(--text-color) 62%,#0000);display:-webkit-box;font-size:.85rem;line-height:1.45;margin:0;overflow:hidden}.cl-card .task-list{gap:.15rem}.cl-card .task-list label{font-size:.9rem;line-height:1.4;padding:.4rem .45rem}.cl-card .task-list input[type=checkbox]{accent-color:#7c6cf6;accent-color:var(--primary-color);flex-shrink:0;height:1.1rem;width:1.1rem}.task-list-empty{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.82rem;padding:.35rem .45rem}.cl-actions{align-items:center;border-top:1px solid #ece6fb;border-top:1px solid var(--border-color);display:flex;gap:.1rem;justify-content:flex-end;margin-top:auto;padding-top:.45rem}.cl-act-btn{background:#0000;border:none;border-radius:999px;color:color-mix(in srgb,#2e2a47 62%,#0000);color:color-mix(in srgb,var(--text-color) 62%,#0000);cursor:pointer;font-size:.82rem;font-weight:600;padding:.45rem .7rem;transition:background .15s ease,color .15s ease}.cl-act-btn:hover{background:color-mix(in srgb,#2e2a47 7%,#0000);background:color-mix(in srgb,var(--text-color) 7%,#0000);color:#2e2a47;color:var(--text-color)}.cl-act-btn.danger:hover{background:color-mix(in srgb,#fb7185 14%,#0000);background:color-mix(in srgb,var(--danger-color) 14%,#0000);color:#e11d48;color:var(--danger-text)}.cl-empty{align-items:center;background:color-mix(in srgb,#7c6cf6 4%,#fff);background:color-mix(in srgb,var(--primary-color) 4%,var(--card-background));border:1px dashed color-mix(in srgb,#7c6cf6 30%,#ece6fb);border:1px dashed color-mix(in srgb,var(--primary-color) 30%,var(--border-color));border-radius:1.25rem;display:flex;flex-direction:column;gap:.5rem;grid-column:1/-1;padding:2.75rem 1.5rem;text-align:center}.cl-empty-icon{font-size:1.9rem;line-height:1}.cl-empty h3{font-size:1.05rem;margin:0}.cl-empty p{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.88rem;line-height:1.5;margin:0;max-width:38ch}.cl-empty-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.4rem}.task-editor{display:flex;flex-direction:column;gap:.5rem}.task-editor-row{align-items:center;display:flex;gap:.5rem}.task-editor-row input{flex:1 1;min-width:0}.task-editor-empty{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.78rem}.public-shell{background:#f6f3ff;background:var(--background-color);display:flex;flex-direction:column;min-height:100vh}.public-topbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1.25rem 2rem}.public-brand{color:#2e2a47;color:var(--text-color);font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:600;text-decoration:none}.public-topbar-actions{align-items:center;display:flex;gap:.6rem}.public-content{flex:1 1}.landing-page,.public-content{display:flex;flex-direction:column}.landing-page{gap:4rem;margin:0 auto;max-width:1080px;padding:1rem 1.5rem 4rem;width:100%}.landing-hero{flex-direction:column;padding:2rem 0 1rem;text-align:center}.landing-hero,.landing-title-row{align-items:center;display:flex;gap:.75rem}.landing-title-icon{height:3.4rem;object-fit:contain;width:3.4rem}.landing-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6d28d9,#db2777);background:linear-gradient(135deg,var(--primary-text),var(--secondary-text));-webkit-background-clip:text;background-clip:text;font-family:Fredoka,sans-serif;font-size:3.4rem;font-weight:600;margin:0}.landing-subtitle{color:#2e2a47;color:var(--text-color);font-size:1.15rem;font-weight:600;margin:0}.landing-hero-body{color:color-mix(in srgb,#2e2a47 70%,#0000);color:color-mix(in srgb,var(--text-color) 70%,#0000);line-height:1.6;margin:0;max-width:540px}.landing-hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:.5rem}.landing-ai-spotlight{grid-gap:2.5rem;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,#7c6cf6 16%,#fff),color-mix(in srgb,#f472b6 16%,#fff));background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 16%,var(--card-background)),color-mix(in srgb,var(--secondary-color) 16%,var(--card-background)));border:1px solid color-mix(in srgb,#7c6cf6 30%,#0000);border:1px solid color-mix(in srgb,var(--primary-color) 30%,#0000);border-radius:1.75rem;box-shadow:0 16px 40px color-mix(in srgb,#7c6cf6 20%,#0000);box-shadow:0 16px 40px color-mix(in srgb,var(--primary-color) 20%,#0000);display:grid;gap:2.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:2.5rem}.landing-ai-copy{align-items:flex-start;display:flex;flex-direction:column;gap:.85rem}.landing-ai-copy h2{font-family:Fredoka,sans-serif;margin:0}.landing-ai-copy p{color:color-mix(in srgb,#2e2a47 75%,#0000);color:color-mix(in srgb,var(--text-color) 75%,#0000);line-height:1.6;margin:0}.landing-ai-badge{align-items:center;background:linear-gradient(135deg,#7c6cf6,#f472b6);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:999px;box-shadow:0 6px 16px color-mix(in srgb,#7c6cf6 40%,#0000);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 40%,#0000);color:#322b54;color:var(--on-accent);display:inline-flex;font-size:.78rem;font-weight:700;padding:.35rem .85rem}.landing-ai-preview{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.6rem;padding:1.25rem}.landing-ai-bubble{border-radius:.9rem;font-size:.85rem;line-height:1.45;max-width:85%;padding:.6rem .9rem}.landing-ai-bubble-you{align-self:flex-end;background:linear-gradient(135deg,#7c6cf6,#f472b6);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-bottom-right-radius:.25rem;color:#fff}.landing-ai-bubble-ai{align-self:flex-start;background:color-mix(in srgb,#2e2a47 8%,#0000);background:color-mix(in srgb,var(--text-color) 8%,#0000);border-bottom-left-radius:.25rem;color:#2e2a47;color:var(--text-color)}.landing-features,.landing-steps{align-items:center;display:flex;flex-direction:column;gap:.25rem;text-align:center}.landing-features h2,.landing-steps h2{margin:0 0 1.75rem}.landing-feature-grid,.landing-steps-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));text-align:left;width:100%}.landing-steps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-feature-card,.landing-step-card{display:flex;flex-direction:column;gap:.4rem}.landing-feature-card h3,.landing-step-card h3{margin:0}.landing-feature-card p,.landing-step-card p{color:color-mix(in srgb,#2e2a47 65%,#0000);color:color-mix(in srgb,var(--text-color) 65%,#0000);font-size:.9rem;line-height:1.5;margin:0}.landing-feature-icon{font-size:1.8rem}.landing-step-number{color:#6d28d9;color:var(--primary-text);font-family:Fredoka,sans-serif;font-size:1.4rem;font-weight:600}.landing-cta{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:2rem 0;text-align:center}.landing-cta h2{margin:0}.landing-footer{color:color-mix(in srgb,#2e2a47 50%,#0000);color:color-mix(in srgb,var(--text-color) 50%,#0000);font-size:.85rem;text-align:center}.how-to-use-page{gap:2rem;margin:0 auto;max-width:820px;padding:1rem 1.5rem 4rem;width:100%}.how-to-hero,.how-to-use-page{display:flex;flex-direction:column}.how-to-hero{align-items:center;gap:.5rem;padding:1rem 0;text-align:center}.how-to-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6d28d9,#db2777);background:linear-gradient(135deg,var(--primary-text),var(--secondary-text));-webkit-background-clip:text;background-clip:text;font-family:Fredoka,sans-serif;font-size:2.2rem;font-weight:600;margin:0}.how-to-hero-body{color:color-mix(in srgb,#2e2a47 70%,#0000);color:color-mix(in srgb,var(--text-color) 70%,#0000);margin:0}.how-to-toc{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.how-to-toc-link{align-items:center;background:color-mix(in srgb,#7c6cf6 12%,#0000);background:color-mix(in srgb,var(--primary-color) 12%,#0000);border-radius:999px;color:#6d28d9;color:var(--primary-text);display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;padding:.5rem .95rem;text-decoration:none;transition:background .15s ease,transform .15s ease}.how-to-toc-link:hover{background:color-mix(in srgb,#7c6cf6 22%,#0000);background:color-mix(in srgb,var(--primary-color) 22%,#0000);transform:translateY(-1px)}.how-to-sections{display:flex;flex-direction:column;gap:1.1rem}.how-to-section{border-left:4px solid #7c6cf6;border-left:4px solid var(--accent,var(--primary-color));scroll-margin-top:2rem}.how-to-section-header{align-items:center;display:flex;gap:.7rem;margin-bottom:.6rem}.how-to-section-icon{align-items:center;background:color-mix(in srgb,#7c6cf6 18%,#0000);background:color-mix(in srgb,var(--accent,var(--primary-color)) 18%,#0000);border-radius:50%;display:flex;flex-shrink:0;font-size:1.15rem;height:2.4rem;justify-content:center;width:2.4rem}.how-to-section-header h2{font-family:Fredoka,sans-serif;font-size:1.15rem;margin:0}.how-to-section p{line-height:1.6;margin:0}.how-to-section p,.how-to-section ul{color:color-mix(in srgb,#2e2a47 80%,#0000);color:color-mix(in srgb,var(--text-color) 80%,#0000)}.how-to-section ul{display:flex;flex-direction:column;gap:.4rem;line-height:1.5;margin:.5rem 0 0;padding-left:1.2rem}@media(max-width:1023px){.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-ai-spotlight,.landing-steps-grid{grid-template-columns:1fr}.landing-ai-spotlight{padding:1.75rem}.landing-ai-copy{align-items:center;text-align:center}}@media(max-width:640px){.public-topbar{padding:1rem}.landing-feature-grid{grid-template-columns:1fr}.landing-title{font-size:2.4rem}.landing-title-icon{height:2.4rem;width:2.4rem}}.upgrade-pill{align-items:center;background:linear-gradient(135deg,#7c6cf6,#f472b6);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:none;border-radius:999px;box-shadow:0 6px 16px color-mix(in srgb,#7c6cf6 40%,#0000);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 40%,#0000);color:#322b54;color:var(--on-accent);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:700;gap:.35rem;padding:.5rem .9rem;transition:transform .18s ease,box-shadow .18s ease}.upgrade-pill:hover{transform:translateY(-2px) scale(1.02)}.upgrade-banner{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,#7c6cf6 14%,#0000),color-mix(in srgb,#f472b6 14%,#0000));background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 14%,#0000),color-mix(in srgb,var(--secondary-color) 14%,#0000));border:1px solid color-mix(in srgb,#7c6cf6 30%,#0000);border:1px solid color-mix(in srgb,var(--primary-color) 30%,#0000);border-radius:1.25rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.upgrade-banner p{font-weight:600;margin:0}.plan-badge{align-items:center;background:color-mix(in srgb,#2e2a47 10%,#0000);background:color-mix(in srgb,var(--text-color) 10%,#0000);border-radius:999px;color:#2e2a47;color:var(--text-color);display:inline-flex;font-size:.78rem;font-weight:700;gap:.35rem;letter-spacing:.06em;padding:.3rem .7rem;text-transform:uppercase}.plan-badge.plan-pro{background:linear-gradient(135deg,#7c6cf6,#f472b6);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#322b54;color:var(--on-accent)}.plan-badge.plan-special{background:#818cf8;background:var(--indigo-color);color:#322b54;color:var(--on-accent)}.upgrade-modal .modal-content{max-width:460px}.upgrade-modal-price{align-items:baseline;display:flex;gap:.5rem;margin:.5rem 0 1rem}.upgrade-modal-price strong{font-size:2.2rem}.upgrade-modal-price .price-original{color:color-mix(in srgb,#2e2a47 50%,#0000);color:color-mix(in srgb,var(--text-color) 50%,#0000);font-size:1.1rem;text-decoration:line-through}.upgrade-modal-price .price-period{color:color-mix(in srgb,#2e2a47 65%,#0000);color:color-mix(in srgb,var(--text-color) 65%,#0000);font-size:.9rem}.upgrade-feature-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0 0 1.25rem;padding:0}.upgrade-feature-list li{align-items:center;display:flex;font-size:.92rem;gap:.5rem}.upgrade-feature-list li:before{color:#059669;color:var(--success-text);content:"✓";font-weight:700}.qr-generate-btn{width:100%}.qr-payment-panel{align-items:center;display:flex;flex-direction:column;gap:.75rem;text-align:center}.qr-payment-panel>p{color:color-mix(in srgb,#2e2a47 75%,#0000);color:color-mix(in srgb,var(--text-color) 75%,#0000);font-size:.9rem;margin:0}.qr-payment-image{background:#fff;border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;height:220px;padding:.5rem;width:220px}.qr-payment-details{width:100%}.save-expense-panel .modal-actions{justify-content:center;width:100%}.qr-transfer-content{font-family:monospace;letter-spacing:.03em}.qr-waiting{align-items:center;color:color-mix(in srgb,#2e2a47 70%,#0000);color:color-mix(in srgb,var(--text-color) 70%,#0000);display:flex;font-size:.85rem;gap:.5rem;justify-content:center;margin:.25rem 0 0}.qr-spinner{animation:qr-spin .8s linear infinite;border:2px solid color-mix(in srgb,#7c6cf6 30%,#0000);border-radius:50%;border-top-color:#7c6cf6;border:2px solid color-mix(in srgb,var(--primary-color) 30%,#0000);border-top-color:var(--primary-color);height:14px;width:14px}@keyframes qr-spin{to{transform:rotate(1turn)}}.renewal-reminder{margin-bottom:1rem}.interval-selector{display:flex;gap:.5rem;margin:.5rem 0 1rem}.interval-option{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;color:#2e2a47;color:var(--text-color);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;padding:.55rem .5rem;transition:border-color .18s ease,background .18s ease,color .18s ease}.interval-option.active{background:linear-gradient(135deg,#7c6cf6,#f472b6);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-color:#0000;color:#322b54;color:var(--on-accent)}.plan-interval-group{border-top:1px solid #ece6fb;border-top:1px solid var(--border-color);padding-top:.75rem}.plan-interval-group:first-child{border-top:none;padding-top:0}.plan-interval-group h4{font-size:.85rem;margin:0 0 .5rem}.plan-interval-fields{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.plan-editor-currency{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.75rem;font-weight:700;letter-spacing:.04em}.pricing-card-note{color:color-mix(in srgb,#2e2a47 60%,#0000);color:color-mix(in srgb,var(--text-color) 60%,#0000);font-size:.8rem;margin:-.5rem 0 0}.usage-bar-row{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.usage-bar-row:last-child{margin-bottom:0}.usage-bar-label{color:color-mix(in srgb,#2e2a47 75%,#0000);color:color-mix(in srgb,var(--text-color) 75%,#0000);display:flex;font-size:.85rem;justify-content:space-between}.usage-bar-label strong{color:#2e2a47;color:var(--text-color)}.limit-hint{color:color-mix(in srgb,#2e2a47 55%,#0000);color:color-mix(in srgb,var(--text-color) 55%,#0000);font-size:.75rem;font-weight:600}.limit-hint.at-cap{color:#e11d48;color:var(--danger-text)}.billing-summary-row{align-items:center;border-bottom:1px solid #ece6fb;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:space-between;padding:.6rem 0}.billing-summary-row:last-child{border-bottom:none}.pricing-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.pricing-card{background:#fff;background:var(--card-background);border:1px solid #ece6fb;border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 10px 24px #7c6cf624;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1rem;padding:1.75rem}.pricing-card.pricing-card-featured{background:linear-gradient(160deg,color-mix(in srgb,#7c6cf6 10%,#fff),#fff);background:linear-gradient(160deg,color-mix(in srgb,var(--primary-color) 10%,var(--card-background)),var(--card-background));border-color:color-mix(in srgb,#7c6cf6 45%,#0000);border-color:color-mix(in srgb,var(--primary-color) 45%,#0000)}.pricing-card-price{align-items:baseline;display:flex;gap:.4rem}.pricing-card-price strong{font-size:2.4rem}.pricing-card-price .price-original{color:color-mix(in srgb,#2e2a47 50%,#0000);color:color-mix(in srgb,var(--text-color) 50%,#0000);font-size:1.1rem;text-decoration:line-through}.plan-editor-fieldset{border:none;display:flex;flex-direction:column;gap:.75rem;margin:0;min-width:0;padding:0}.coming-soon-panel p{color:color-mix(in srgb,#2e2a47 80%,#0000);color:color-mix(in srgb,var(--text-color) 80%,#0000);margin:0 0 1rem}.chat-upgrade-link{background:none;border:none;color:#6d28d9;color:var(--primary-text);cursor:pointer;font-size:.82rem;font-weight:700;padding:0;text-decoration:underline}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-layout{display:flex;flex:1 1}.content-area{flex:1 1;padding:1.5rem}.app-loading{grid-gap:1rem;color:var(--text-color);display:grid;gap:1rem;min-height:100vh;place-items:center}.loader{animation:spin .8s linear infinite;border:.25rem solid color-mix(in srgb,var(--primary-color) 25%,#0000);border-radius:50%;border-top-color:var(--primary-color);height:3rem;width:3rem}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:767px){.app-layout{flex-direction:column}.content-area{padding:1rem}}
/*# sourceMappingURL=main.d861fdbe.css.map*/