@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.login-page[data-v-6f0a2ae2]{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:1.5rem}.login-card[data-v-6f0a2ae2]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2.5rem 2rem;width:100%;max-width:380px}.login-header[data-v-6f0a2ae2]{text-align:center;margin-bottom:2rem}.login-icon[data-v-6f0a2ae2]{font-size:2.5rem;margin-bottom:.5rem}.login-header h1[data-v-6f0a2ae2]{font-size:1.6rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.login-header p[data-v-6f0a2ae2]{color:var(--muted);font-size:.9rem;margin-top:.3rem}form[data-v-6f0a2ae2]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-6f0a2ae2]{display:flex;flex-direction:column}.error-banner[data-v-6f0a2ae2]{padding:.6rem .85rem;background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border);border-radius:var(--radius);font-size:.875rem}.submit-btn[data-v-6f0a2ae2]{width:100%;padding:.65rem;font-size:.95rem;margin-top:.25rem}.charts-section[data-v-3d3e3578]{display:flex;flex-direction:column;gap:0}.charts-toggle[data-v-3d3e3578]{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;align-self:flex-start;font-size:.875rem;font-weight:600;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:color .15s,border-color .15s}.charts-toggle[data-v-3d3e3578]:hover{color:var(--text);border-color:#cbd5e1;box-shadow:none;transform:none}.toggle-chevron[data-v-3d3e3578]{transition:transform .2s cubic-bezier(.4,0,.2,1);color:var(--muted)}.toggle-chevron.open[data-v-3d3e3578]{transform:rotate(180deg)}.charts-grid[data-v-3d3e3578]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.75rem}@media (max-width: 720px){.charts-grid[data-v-3d3e3578]{grid-template-columns:1fr}}.chart-card[data-v-3d3e3578]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.chart-card-header[data-v-3d3e3578]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.chart-card h3[data-v-3d3e3578]{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:0}.chart-controls[data-v-3d3e3578]{display:flex;align-items:center;gap:.75rem}.view-toggle[data-v-3d3e3578]{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.view-btn[data-v-3d3e3578]{padding:.2rem .65rem;font-size:.75rem;font-weight:600;color:var(--muted);background:transparent;border:none;border-radius:0;cursor:pointer;transition:color .15s,background .15s;box-shadow:none}.view-btn[data-v-3d3e3578]:hover:not(.active){color:var(--text);transform:none;box-shadow:none}.view-btn.active[data-v-3d3e3578]{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.year-nav[data-v-3d3e3578]{display:flex;align-items:center;gap:.4rem}.year-btn[data-v-3d3e3578]{padding:.15rem .5rem;font-size:1rem;line-height:1;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;box-shadow:none;transition:color .15s,border-color .15s}.year-btn[data-v-3d3e3578]:hover:not(:disabled){color:var(--text);border-color:#cbd5e1;transform:none;box-shadow:none}.year-btn[data-v-3d3e3578]:disabled{opacity:.35;cursor:default}.year-label[data-v-3d3e3578]{font-size:.875rem;font-weight:700;color:var(--text);min-width:2.8rem;text-align:center}.chart-wrap[data-v-3d3e3578]{height:220px;position:relative}.chart-wrap--donut[data-v-3d3e3578]{height:220px}.chart-empty[data-v-3d3e3578]{color:var(--muted);font-size:.875rem;text-align:center;padding-top:4rem}.charts-expand-enter-active[data-v-3d3e3578],.charts-expand-leave-active[data-v-3d3e3578]{transition:opacity .2s,transform .2s cubic-bezier(.4,0,.2,1)}.charts-expand-enter-from[data-v-3d3e3578],.charts-expand-leave-to[data-v-3d3e3578]{opacity:0;transform:translateY(-8px)}.dashboard[data-v-a0a987ab]{max-width:1060px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.dashboard-header h2[data-v-a0a987ab]{font-size:1.3rem}.export-menu[data-v-a0a987ab]{position:relative;margin-left:auto}.export-trigger[data-v-a0a987ab]{display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .85rem;font-size:.875rem;font-weight:500}.export-chevron[data-v-a0a987ab]{color:var(--muted);transition:transform .2s cubic-bezier(.4,0,.2,1);margin-left:.1rem}.export-chevron.open[data-v-a0a987ab]{transform:rotate(180deg)}.export-dropdown[data-v-a0a987ab]{position:absolute;top:calc(100% + 6px);right:0;min-width:230px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:.4rem;z-index:90}.export-option[data-v-a0a987ab]{width:100%;display:flex;align-items:center;gap:.75rem;padding:.55rem .7rem;border-radius:var(--radius);border:none;background:transparent;cursor:pointer;text-align:left;box-shadow:none;transition:background .12s}.export-option[data-v-a0a987ab]:hover{background:var(--bg);transform:none;box-shadow:none}.export-opt-icon[data-v-a0a987ab]{font-size:1.2rem;flex-shrink:0}.export-opt-title[data-v-a0a987ab]{font-size:.875rem;font-weight:600;color:var(--text)}.export-opt-desc[data-v-a0a987ab]{font-size:.775rem;color:var(--muted);margin-top:.1rem;font-weight:400;text-transform:none;letter-spacing:0}.export-sep[data-v-a0a987ab]{height:1px;background:var(--border);margin:.35rem 0}.export-dd-enter-active[data-v-a0a987ab],.export-dd-leave-active[data-v-a0a987ab]{transition:opacity .15s,transform .15s cubic-bezier(.4,0,.2,1)}.export-dd-enter-from[data-v-a0a987ab],.export-dd-leave-to[data-v-a0a987ab]{opacity:0;transform:translateY(-6px) scale(.97)}.stats-grid[data-v-a0a987ab]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media (max-width: 640px){.stats-grid[data-v-a0a987ab]{grid-template-columns:1fr}}.stat-card[data-v-a0a987ab]{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.2rem;position:relative;transition:box-shadow .2s,transform .2s}.stat-card[data-v-a0a987ab]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon[data-v-a0a987ab]{font-size:1.2rem;margin-bottom:.3rem}.stat-label[data-v-a0a987ab]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.stat-value[data-v-a0a987ab]{font-size:1.7rem;font-weight:800;color:var(--text);letter-spacing:-.03em;line-height:1.15;font-variant-numeric:tabular-nums}.stat-positive[data-v-a0a987ab]{border-left-color:#16a34a}.stat-positive .stat-value[data-v-a0a987ab]{color:#16a34a}.stat-negative[data-v-a0a987ab]{border-left-color:#dc2626}.stat-negative .stat-value[data-v-a0a987ab]{color:#dc2626}.stat-income-card[data-v-a0a987ab]{border-left-color:#16a34a}.stat-income-card .stat-value[data-v-a0a987ab]{color:#16a34a}.stat-expense-card[data-v-a0a987ab]{border-left-color:#dc2626}.stat-expense-card .stat-value[data-v-a0a987ab]{color:#dc2626}.range-note[data-v-a0a987ab]{font-size:.82rem;color:var(--muted);font-weight:400;margin-top:-.25rem}.filter-info[data-v-a0a987ab]{display:flex;align-items:center;gap:.75rem;padding:.5rem .85rem;background:var(--primary-light);border:1px solid #bfdbfe;border-radius:var(--radius);font-size:.875rem;color:var(--primary);font-style:normal}.filter-info button[data-v-a0a987ab]{font-size:.8rem;padding:.2rem .55rem;color:var(--primary);border-color:#bfdbfe;background:transparent}.filter-info button[data-v-a0a987ab]:hover{background:var(--primary-light)}.category-filter[data-v-a0a987ab]{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.category-filter strong[data-v-a0a987ab]{font-size:.85rem;color:var(--muted);margin-right:.25rem}.category-filter button[data-v-a0a987ab]{padding:.3rem .75rem;border-radius:100px;font-size:.82rem;background:var(--surface);border-color:var(--border);color:var(--muted)}.category-filter button[data-v-a0a987ab]:hover{border-color:#cbd5e1;color:var(--text)}.category-filter button.active[data-v-a0a987ab],.category-filter button.active[data-v-a0a987ab]:hover{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.date-filter[data-v-a0a987ab]{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.date-filter strong[data-v-a0a987ab]{font-size:.85rem;color:var(--muted);align-self:center;margin-right:.25rem;white-space:nowrap}.date-filter label[data-v-a0a987ab]{font-size:.8rem;margin-bottom:0;display:flex;flex-direction:column;gap:.25rem}.date-filter input[type=date][data-v-a0a987ab]{font-size:.875rem;padding:.4rem .6rem;width:auto}.date-filter button[data-v-a0a987ab]{font-size:.85rem;padding:.4rem .85rem;align-self:flex-end}.period-toggle[data-v-a0a987ab]{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;align-self:flex-end}.period-toggle button[data-v-a0a987ab]{padding:.4rem .75rem;font-size:.82rem;font-weight:600;color:var(--muted);background:transparent;border:none;border-radius:0;box-shadow:none;transition:color .15s,background .15s}.period-toggle button[data-v-a0a987ab]:hover:not(.active):not(:disabled){color:var(--text);transform:none;box-shadow:none}.period-toggle button.active[data-v-a0a987ab]{background:var(--primary);color:#fff;box-shadow:none}.table-scroll[data-v-a0a987ab]{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}table[data-v-a0a987ab]{border-radius:0;border:none;margin-top:0;min-width:860px;width:100%}.income[data-v-a0a987ab]{color:var(--success);font-weight:600}.expense[data-v-a0a987ab]{color:var(--danger);font-weight:600}tr.row-pending[data-v-a0a987ab]{background:#fef9ec!important}tr.row-pending td[data-v-a0a987ab]{color:var(--text);opacity:.85}.badge-pending[data-v-a0a987ab]{display:inline-flex;align-items:center;gap:.2rem;margin-left:.5rem;padding:.1rem .5rem;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:100px;font-size:.72rem;font-weight:600;vertical-align:middle;white-space:nowrap;cursor:default}.tags-cell[data-v-a0a987ab]{white-space:normal;word-break:break-word;max-width:200px}.attachments-indicator-cell[data-v-a0a987ab]{min-width:95px}.attachment-indicator[data-v-a0a987ab]{display:inline-flex;align-items:center;gap:.3rem;padding:.14rem .5rem;border:1px solid #dbe3ef;border-radius:999px;background:#f8fbff;color:#2563eb;font-size:.74rem;font-weight:600}.row-actions[data-v-a0a987ab]{display:flex;gap:.4rem}.attachment-link[data-v-a0a987ab]{display:inline-flex;align-items:center;gap:.2rem;margin:0 .3rem .3rem 0;padding:.12rem .45rem;border:1px solid #dbe3ef;border-radius:999px;background:#f8fbff;color:#2563eb;font-size:.74rem;font-weight:600;box-shadow:none}.attachment-link[data-v-a0a987ab]:hover{background:#eef5ff;border-color:#bfd7ff;transform:none;box-shadow:none}.category-cell[data-v-a0a987ab]{min-width:220px}.split-summary[data-v-a0a987ab]{display:flex;flex-direction:column;gap:.28rem}.split-header[data-v-a0a987ab]{font-size:.74rem;color:#475569;font-weight:700;letter-spacing:.02em}.split-parts[data-v-a0a987ab]{display:flex;flex-direction:column;align-items:flex-start;gap:.24rem}.split-part[data-v-a0a987ab]{display:inline-flex;align-items:center;gap:.25rem;padding:.12rem .4rem;border:1px solid #dbe3ef;border-radius:999px;background:#f8fbff;font-size:.74rem;color:#334155;line-height:1.2}.split-dot[data-v-a0a987ab]{width:7px;height:7px;border-radius:50%;background:#cbd5e1;border:1px solid rgba(15,23,42,.08)}.tag[data-v-a0a987ab]{display:inline-block;background:var(--primary-light);color:var(--primary);border:1px solid #bfdbfe;padding:.15rem .5rem;margin:0 .2rem .2rem 0;border-radius:100px;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s}.tag[data-v-a0a987ab]:hover{background:#dbeafe}.tag.active[data-v-a0a987ab]{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination[data-v-a0a987ab]{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.pagination button[data-v-a0a987ab]{padding:.3rem .65rem;font-size:.85rem;min-width:34px}.pagination button.active[data-v-a0a987ab]{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.pagination-info[data-v-a0a987ab]{margin-left:.5rem;color:var(--light);font-size:.82rem}.pagination-ellipsis[data-v-a0a987ab]{padding:.3rem;color:var(--muted);font-size:.85rem;-webkit-user-select:none;user-select:none}.offline-page-note[data-v-a0a987ab]{font-size:.82rem;color:var(--muted);font-style:italic}.legend[data-v-a0a987ab]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem}.legend h3[data-v-a0a987ab]{font-size:.875rem;color:var(--muted);margin-bottom:.65rem;text-transform:uppercase;letter-spacing:.05em}.legend ul[data-v-a0a987ab]{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}.legend li[data-v-a0a987ab]{display:flex;align-items:center;gap:.45rem;font-size:.875rem;color:var(--text)}.legend-color[data-v-a0a987ab]{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.12);flex-shrink:0}.details-modal-overlay[data-v-a0a987ab]{position:fixed;inset:0;z-index:1200;background:#0f172a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem}.details-modal[data-v-a0a987ab]{width:min(860px,100%);max-height:min(90vh,920px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow-y:auto;display:flex;flex-direction:column}.details-modal-header[data-v-a0a987ab]{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.details-modal-header h3[data-v-a0a987ab]{margin:0;font-size:1rem}.details-close[data-v-a0a987ab]{width:30px;height:30px;border:none;border-radius:999px;background:transparent;color:var(--muted);box-shadow:none;padding:0}.details-close[data-v-a0a987ab]:hover{background:var(--bg);color:var(--text);transform:none}.details-grid[data-v-a0a987ab]{padding:1rem 1.25rem .2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.detail-item[data-v-a0a987ab]{border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .7rem;background:#f8fafc;display:flex;flex-direction:column;gap:.2rem}.detail-item span[data-v-a0a987ab]{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.detail-item strong[data-v-a0a987ab]{font-size:.9rem;color:var(--text)}.details-section[data-v-a0a987ab]{padding:.6rem 1.25rem .2rem}.details-section h4[data-v-a0a987ab]{margin:0 0 .45rem;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.details-text[data-v-a0a987ab]{margin:0;color:var(--text);font-size:.9rem}.details-tags[data-v-a0a987ab]{display:flex;flex-wrap:wrap;gap:.3rem}.details-tag[data-v-a0a987ab]{display:inline-block;background:var(--primary-light);color:var(--primary);border:1px solid #bfdbfe;padding:.15rem .5rem;border-radius:100px;font-size:.78rem;font-weight:500}.type-badge[data-v-a0a987ab]{display:inline-flex;align-items:center;padding:.2rem .62rem;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;width:fit-content}.type-badge-income[data-v-a0a987ab]{background:#22c55e1f;color:#15803d;border:1px solid rgba(34,197,94,.26)}.type-badge-expense[data-v-a0a987ab]{background:#ef44441a;color:#b91c1c;border:1px solid rgba(239,68,68,.24)}.details-attachments[data-v-a0a987ab]{display:flex;flex-wrap:wrap;gap:.35rem;padding-bottom:1rem}@media (max-width: 860px){.details-grid[data-v-a0a987ab]{grid-template-columns:1fr}}.admin-hub[data-v-0f273e65]{max-width:700px;margin:0 auto;padding:2rem 1.5rem}.admin-hub h2[data-v-0f273e65]{font-size:1.3rem;margin-bottom:.3rem}.subtitle[data-v-0f273e65]{color:var(--muted);font-size:.9rem;margin-bottom:1.75rem}.admin-grid[data-v-0f273e65]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.admin-card[data-v-0f273e65]{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--text);transition:box-shadow .15s,border-color .15s,transform .1s}.admin-card[data-v-0f273e65]:hover{border-color:#bfdbfe;box-shadow:var(--shadow);transform:translateY(-1px)}.card-icon[data-v-0f273e65]{font-size:1.75rem;width:44px;text-align:center;flex-shrink:0}.card-body[data-v-0f273e65]{display:flex;flex-direction:column;gap:.2rem}.card-body strong[data-v-0f273e65]{font-size:.95rem;font-weight:600;color:var(--text)}.card-body span[data-v-0f273e65]{font-size:.82rem;color:var(--muted)}.page-wrap[data-v-1249f2c6]{display:flex;justify-content:center;padding:2rem 1rem}.form-card[data-v-1249f2c6]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:2rem;width:100%;max-width:520px}.form-card-header[data-v-1249f2c6]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem}.form-card-header h2[data-v-1249f2c6]{font-size:1.25rem}.back-btn[data-v-1249f2c6]{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;color:var(--muted);background:transparent;border:none;padding:.3rem 0;box-shadow:none;cursor:pointer}.back-btn[data-v-1249f2c6]:hover{color:var(--text);background:transparent;box-shadow:none;transform:none}form[data-v-1249f2c6]{display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-1249f2c6]{display:flex;flex-direction:column}.inline-check[data-v-1249f2c6]{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--text)}.split-group[data-v-1249f2c6]{gap:.45rem}.split-row[data-v-1249f2c6]{display:grid;grid-template-columns:1fr 120px 36px;gap:.5rem}.split-add[data-v-1249f2c6],.split-remove[data-v-1249f2c6]{box-shadow:none}.split-remove[data-v-1249f2c6]{align-self:stretch;padding:0}.split-hint[data-v-1249f2c6]{color:var(--muted);font-size:.78rem}.split-hint-error[data-v-1249f2c6]{color:var(--danger)}.attachment-input[data-v-1249f2c6]{display:none}.attachment-picker[data-v-1249f2c6]{margin-top:.5rem;border:1px dashed #bfdbfe;background:linear-gradient(180deg,#f8fbff,#f1f6ff);border-radius:var(--radius);padding:.65rem}.attachment-btn[data-v-1249f2c6]{width:100%;border:1px solid #bfdbfe;background:#fff;color:var(--primary);box-shadow:none;display:inline-flex;justify-content:center;align-items:center;gap:.45rem}.attachment-btn[data-v-1249f2c6]:hover{border-color:#93c5fd;background:#eff6ff;transform:none}.attachment-btn-icon[data-v-1249f2c6]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:var(--primary-light);font-size:.95rem;line-height:1}.attachment-help[data-v-1249f2c6]{margin:.5rem 0 0;color:var(--muted);font-size:.78rem}.attachment-list[data-v-1249f2c6]{margin-top:.65rem;display:grid;gap:.4rem}.attachment-chip[data-v-1249f2c6]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.4rem;background:var(--surface);color:#334155;border:1px solid #dbe7ff;border-radius:var(--radius);padding:.35rem .5rem .35rem .65rem}.attachment-name[data-v-1249f2c6]{min-width:0;font-size:.8rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size[data-v-1249f2c6]{font-size:.74rem;color:var(--muted)}.attachment-remove[data-v-1249f2c6]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:.7rem;cursor:pointer;box-shadow:none;padding:0}.attachment-remove[data-v-1249f2c6]:hover{background:#fecaca;transform:none;box-shadow:none}.type-toggle[data-v-1249f2c6]{display:flex;gap:.5rem}.toggle-option[data-v-1249f2c6]{flex:1;cursor:pointer;margin-bottom:0}.toggle-option input[type=radio][data-v-1249f2c6]{display:none}.toggle-option span[data-v-1249f2c6]{display:block;text-align:center;padding:.55rem 1rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;font-weight:500;color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s;background:var(--surface)}.toggle-option span[data-v-1249f2c6]:hover{border-color:#cbd5e1;background:var(--bg)}.income-option input[type=radio]:checked+span[data-v-1249f2c6]{border-color:var(--success);color:var(--success);background:var(--success-light);font-weight:600}.expense-option input[type=radio]:checked+span[data-v-1249f2c6]{border-color:var(--danger);color:var(--danger);background:var(--danger-light);font-weight:600}.tags-suggestions[data-v-1249f2c6]{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.35rem}.tags-suggestions span[data-v-1249f2c6]{display:inline-block;background:var(--bg);border:1px solid var(--border);padding:.25rem .6rem;border-radius:100px;font-size:.8rem;cursor:pointer;transition:background .15s,border-color .15s;color:var(--muted)}.tags-suggestions span[data-v-1249f2c6]:hover,.tags-suggestions span.selected[data-v-1249f2c6]{background:var(--primary-light);border-color:#bfdbfe;color:var(--primary)}.add-new-tag[data-v-1249f2c6]{background:var(--success-light)!important;border-color:var(--success-border)!important;color:var(--success)!important;font-style:italic}.selected-tags[data-v-1249f2c6]{margin-top:.6rem;display:flex;flex-wrap:wrap;gap:.4rem}.tag-chip[data-v-1249f2c6]{display:inline-flex;align-items:center;gap:.3rem;background:var(--primary-light);color:var(--primary);border:1px solid #bfdbfe;padding:.2rem .35rem .2rem .65rem;border-radius:100px;font-size:.8rem;font-weight:500}.tag-remove[data-v-1249f2c6]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:.7rem;border-radius:50%;opacity:.7;transition:opacity .15s,background .15s}.tag-remove[data-v-1249f2c6]:hover{opacity:1;background:#2563eb26;border-color:transparent}.feedback[data-v-1249f2c6]{padding:.65rem .85rem;border-radius:var(--radius);font-size:.875rem;font-weight:500}.feedback-success[data-v-1249f2c6]{background:var(--success-light);color:var(--success);border:1px solid var(--success-border)}.feedback-error[data-v-1249f2c6]{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border)}.confirm-overlay[data-v-48bead8f]{position:fixed;inset:0;z-index:1300;background:#0f172a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;padding:1rem}.confirm-modal[data-v-48bead8f]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:460px;width:100%;box-shadow:var(--shadow-md);overflow:hidden}.confirm-header[data-v-48bead8f]{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.confirm-header h3[data-v-48bead8f]{margin:0;font-size:1rem}.close-btn[data-v-48bead8f]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--muted);box-shadow:none}.close-btn[data-v-48bead8f]:hover{background:var(--bg);color:var(--text);transform:none}.confirm-message[data-v-48bead8f]{margin:0;padding:1rem 1.25rem;color:var(--text);font-size:.92rem}.confirm-actions[data-v-48bead8f]{padding:0 1.25rem 1.15rem;display:flex;justify-content:flex-end;gap:.5rem}.fade-enter-active[data-v-48bead8f],.fade-leave-active[data-v-48bead8f]{transition:opacity .2s ease}.fade-enter-from[data-v-48bead8f],.fade-leave-to[data-v-48bead8f]{opacity:0}.categories-container[data-v-9d69d216]{max-width:720px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.page-header[data-v-9d69d216]{display:flex;justify-content:flex-start;align-items:center;gap:.75rem}.page-header h2[data-v-9d69d216]{margin:0;font-size:1.3rem}.categories-list[data-v-9d69d216]{list-style:none;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.categories-list li[data-v-9d69d216]{padding:.75rem 1.25rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;transition:background .1s}.categories-list li[data-v-9d69d216]:last-child{border-bottom:none}.categories-list li[data-v-9d69d216]:hover{background:var(--bg)}.name[data-v-9d69d216]{display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:500;color:var(--text)}.color-dot[data-v-9d69d216]{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.12);flex-shrink:0}.actions[data-v-9d69d216]{display:flex;gap:.4rem}.empty-state[data-v-9d69d216]{color:var(--muted);font-size:.9rem;font-style:italic}.add-action-row[data-v-9d69d216]{display:flex;justify-content:flex-end}.category-modal-overlay[data-v-9d69d216]{position:fixed;inset:0;z-index:1200;background:#0f172a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem}.category-modal[data-v-9d69d216]{width:min(560px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.category-modal-header[data-v-9d69d216]{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.category-modal-header h3[data-v-9d69d216]{margin:0;font-size:1rem}.icon-btn[data-v-9d69d216]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--muted);box-shadow:none}.icon-btn[data-v-9d69d216]:hover{background:var(--bg);color:var(--text);transform:none}.category-form[data-v-9d69d216]{padding:1.1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.95rem}.form-group[data-v-9d69d216]{display:flex;flex-direction:column;gap:.5rem}.checkbox-inline[data-v-9d69d216]{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text);margin-bottom:0;font-weight:500}.checkbox-inline input[type=checkbox][data-v-9d69d216]{accent-color:var(--primary)}.color-controls[data-v-9d69d216]{border:1px solid #dbe7ff;background:linear-gradient(180deg,#f8fbff,#f1f6ff);border-radius:var(--radius);padding:.65rem;display:flex;flex-direction:column;gap:.6rem}.native-color-input[data-v-9d69d216]{position:absolute;opacity:0;pointer-events:none}.color-preview-button[data-v-9d69d216]{width:fit-content;display:inline-flex;align-items:center;gap:.45rem;border:1px solid #bfdbfe;background:#fff;color:var(--primary);box-shadow:none;padding:.3rem .55rem}.color-preview-button[data-v-9d69d216]:hover{background:#eff6ff;border-color:#93c5fd;transform:none}.color-preview-dot[data-v-9d69d216]{width:14px;height:14px;border-radius:999px;border:1px solid rgba(15,23,42,.14)}.color-presets[data-v-9d69d216]{display:flex;flex-wrap:wrap;gap:.4rem}.color-preset[data-v-9d69d216]{width:22px;height:22px;padding:0;border-radius:999px;border:2px solid transparent;box-shadow:none}.color-preset.active[data-v-9d69d216]{border-color:#1f2937;box-shadow:0 0 0 2px #1f293726}.form-actions[data-v-9d69d216]{display:flex;justify-content:flex-end;gap:.5rem}.alert[data-v-9d69d216]{padding:.65rem .85rem;border-radius:var(--radius);font-size:.875rem;font-weight:500}.alert-success[data-v-9d69d216]{background:var(--success-light);color:var(--success);border:1px solid var(--success-border)}.alert-danger[data-v-9d69d216]{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border)}@media (max-width: 640px){.categories-container[data-v-9d69d216]{padding:1.4rem 1rem}.page-header[data-v-9d69d216]{justify-content:flex-start}.add-action-row[data-v-9d69d216]{justify-content:stretch}.add-action-row .btn-primary[data-v-9d69d216]{width:100%}.categories-list li[data-v-9d69d216]{padding:.7rem .85rem;flex-direction:column;align-items:flex-start;gap:.6rem}.actions[data-v-9d69d216],.category-modal[data-v-9d69d216]{width:100%}}.admin-transactions[data-v-3a9acf42]{max-width:1050px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.admin-transactions h2[data-v-3a9acf42]{font-size:1.3rem}.edit-modal-overlay[data-v-3a9acf42]{position:fixed;inset:0;z-index:1200;background:#0f172a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem}.edit-modal[data-v-3a9acf42]{width:min(920px,100%);max-height:min(92vh,980px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;display:flex;flex-direction:column}.edit-modal-header[data-v-3a9acf42]{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.edit-modal-header h3[data-v-3a9acf42]{font-size:1rem;margin:0}.icon-btn[data-v-3a9acf42]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--muted);box-shadow:none}.icon-btn[data-v-3a9acf42]:hover{background:var(--bg);color:var(--text);transform:none}.edit-form[data-v-3a9acf42]{padding:1.25rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.form-row[data-v-3a9acf42]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.form-group[data-v-3a9acf42]{display:flex;flex-direction:column}.form-row .form-group[data-v-3a9acf42]:only-child{grid-column:1 / -1}.inline-check[data-v-3a9acf42]{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--text)}.split-wrap[data-v-3a9acf42]{border:1px solid var(--border);border-radius:var(--radius);background:#f8fafc;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.split-row[data-v-3a9acf42]{display:grid;grid-template-columns:minmax(0,1fr) 140px 36px;gap:.5rem}.split-add[data-v-3a9acf42],.split-remove[data-v-3a9acf42]{box-shadow:none}.split-remove[data-v-3a9acf42]{padding:0}.split-hint[data-v-3a9acf42]{margin:0;color:var(--muted);font-size:.78rem}.split-hint-error[data-v-3a9acf42]{color:var(--danger)}.tag-section[data-v-3a9acf42]{display:flex;flex-direction:column;gap:.5rem}.tags-suggestions[data-v-3a9acf42]{display:flex;flex-wrap:wrap;gap:.35rem}.tags-suggestions span[data-v-3a9acf42]{display:inline-block;background:var(--bg);border:1px solid var(--border);padding:.22rem .6rem;border-radius:100px;font-size:.8rem;cursor:pointer;color:var(--muted);transition:background .15s}.tags-suggestions span[data-v-3a9acf42]:hover,.tags-suggestions span.selected[data-v-3a9acf42]{background:var(--primary-light);border-color:#bfdbfe;color:var(--primary)}.add-new-tag[data-v-3a9acf42]{background:var(--success-light)!important;border-color:var(--success-border)!important;color:var(--success)!important;font-style:italic}.tags-preview[data-v-3a9acf42]{display:flex;flex-wrap:wrap;gap:.4rem}.tag-chip[data-v-3a9acf42]{display:inline-flex;align-items:center;gap:.3rem;background:var(--primary-light);color:var(--primary);border:1px solid #bfdbfe;padding:.2rem .35rem .2rem .65rem;border-radius:100px;font-size:.8rem;font-weight:500}.tag-remove[data-v-3a9acf42]{width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:.7rem;border-radius:50%;opacity:.7;display:inline-flex;align-items:center;justify-content:center}.tag-remove[data-v-3a9acf42]:hover{opacity:1;background:#2563eb26;border-color:transparent}.form-actions[data-v-3a9acf42]{display:flex;justify-content:flex-end;gap:.5rem}.attachment-edit[data-v-3a9acf42]{display:flex;flex-direction:column;gap:.5rem}.attachment-input[data-v-3a9acf42]{display:none}.attachment-picker[data-v-3a9acf42]{border:1px dashed #bfdbfe;background:linear-gradient(180deg,#f8fbff,#f1f6ff);border-radius:var(--radius);padding:.65rem}.attachment-btn[data-v-3a9acf42]{width:100%;border:1px solid #bfdbfe;background:#fff;color:var(--primary);box-shadow:none;display:inline-flex;justify-content:center;align-items:center;gap:.45rem}.attachment-btn[data-v-3a9acf42]:hover{border-color:#93c5fd;background:#eff6ff;transform:none}.attachment-btn-icon[data-v-3a9acf42]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:var(--primary-light);font-size:.95rem;line-height:1}.attachment-help[data-v-3a9acf42]{margin:.45rem 0 0;color:var(--muted);font-size:.78rem}.attachment-list[data-v-3a9acf42]{display:grid;gap:.4rem}.attachment-chip[data-v-3a9acf42]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.4rem;background:var(--surface);color:#334155;border:1px solid #dbe7ff;border-radius:var(--radius);padding:.35rem .5rem .35rem .65rem}.attachment-chip-removed[data-v-3a9acf42]{opacity:.65;background:#fef2f2;border-color:#fecaca}.attachment-name[data-v-3a9acf42]{min-width:0;font-size:.8rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size[data-v-3a9acf42]{font-size:.74rem;color:var(--muted);white-space:nowrap}.attachment-download[data-v-3a9acf42]{border:none;background:transparent;color:#2563eb;font-size:.78rem;font-weight:600;text-align:left;padding:0;box-shadow:none}.attachment-download[data-v-3a9acf42]:hover{text-decoration:underline;transform:none}.attachment-remove[data-v-3a9acf42]{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:24px;border:1px solid #fecaca;border-radius:999px;background:#fff1f2;color:#b91c1c;font-size:.72rem;cursor:pointer;box-shadow:none;padding:0 .45rem}.attachment-remove[data-v-3a9acf42]:hover{background:#fee2e2;transform:none;box-shadow:none}.table-scroll[data-v-3a9acf42]{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}table[data-v-3a9acf42]{border-radius:0;border:none;margin-top:0;min-width:980px;width:100%}.income[data-v-3a9acf42]{color:var(--success);font-weight:600}.expense[data-v-3a9acf42]{color:var(--danger);font-weight:600}tr.editing[data-v-3a9acf42]{outline:2px solid rgba(37,99,235,.22);outline-offset:-2px}.category-cell[data-v-3a9acf42]{min-width:220px}.split-summary[data-v-3a9acf42]{display:flex;flex-direction:column;gap:.28rem}.split-header[data-v-3a9acf42]{font-size:.74rem;color:#475569;font-weight:700;letter-spacing:.02em}.split-parts[data-v-3a9acf42]{display:flex;flex-direction:column;align-items:flex-start;gap:.24rem}.split-part[data-v-3a9acf42]{display:inline-flex;align-items:center;gap:.25rem;padding:.12rem .4rem;border:1px solid #dbe3ef;border-radius:999px;background:#f8fbff;font-size:.74rem;color:#334155;line-height:1.2}.split-dot[data-v-3a9acf42]{width:7px;height:7px;border-radius:50%;background:#cbd5e1;border:1px solid rgba(15,23,42,.08)}.attachments-indicator-cell[data-v-3a9acf42]{min-width:95px}.attachment-indicator[data-v-3a9acf42]{display:inline-flex;align-items:center;gap:.3rem;padding:.14rem .5rem;border:1px solid #dbe3ef;border-radius:999px;background:#f8fbff;color:#2563eb;font-size:.74rem;font-weight:600}.tags-cell[data-v-3a9acf42]{white-space:normal;word-break:break-word;max-width:200px}.tag[data-v-3a9acf42]{display:inline-block;background:var(--primary-light);color:var(--primary);border:1px solid #bfdbfe;padding:.15rem .5rem;margin:0 .2rem .2rem 0;border-radius:100px;font-size:.78rem;font-weight:500}.actions-cell[data-v-3a9acf42]{min-width:160px}.attachment-link[data-v-3a9acf42]{display:inline-flex;align-items:center;gap:.2rem;margin:0 .25rem .25rem 0;padding:.12rem .45rem;border:1px solid #dbe3ef;border-radius:999px;background:#f8fbff;color:#2563eb;font-size:.72rem;font-weight:600;box-shadow:none}.attachment-link[data-v-3a9acf42]:hover{background:#eef5ff;border-color:#bfd7ff;transform:none;box-shadow:none}.row-actions[data-v-3a9acf42]{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.row-actions .btn-sm[data-v-3a9acf42]{min-width:106px;padding:.32rem .65rem;font-size:.82rem}.pagination[data-v-3a9acf42]{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.pagination button[data-v-3a9acf42]{padding:.3rem .65rem;font-size:.85rem;min-width:34px}.pagination button.active[data-v-3a9acf42]{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.pagination-ellipsis[data-v-3a9acf42]{padding:.3rem;color:var(--muted);font-size:.85rem;-webkit-user-select:none;user-select:none}.pagination-info[data-v-3a9acf42]{margin-left:.5rem;color:var(--light);font-size:.82rem}.offline-page-note[data-v-3a9acf42]{font-size:.82rem;color:var(--muted);font-style:italic}.undo-banner[data-v-3a9acf42]{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;background:var(--warning-light);border:1px solid var(--warning-border);border-radius:var(--radius-lg);font-size:.875rem;color:var(--warning);font-weight:500}.details-modal-overlay[data-v-3a9acf42]{position:fixed;inset:0;z-index:1100;background:#0f172a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem}.details-modal[data-v-3a9acf42]{width:min(820px,100%);max-height:min(90vh,920px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow-y:auto}.details-modal-header[data-v-3a9acf42]{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.details-modal-header h3[data-v-3a9acf42]{margin:0;font-size:1rem}.details-close[data-v-3a9acf42]{width:30px;height:30px;border:none;border-radius:999px;background:transparent;color:var(--muted);box-shadow:none;padding:0}.details-close[data-v-3a9acf42]:hover{background:var(--bg);color:var(--text);transform:none}.details-grid[data-v-3a9acf42]{padding:1rem 1.25rem .2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.detail-item[data-v-3a9acf42]{border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .7rem;background:#f8fafc;display:flex;flex-direction:column;gap:.2rem}.detail-item span[data-v-3a9acf42]{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.detail-item strong[data-v-3a9acf42]{font-size:.9rem;color:var(--text)}.details-section[data-v-3a9acf42]{padding:.6rem 1.25rem .2rem}.details-section h4[data-v-3a9acf42]{margin:0 0 .45rem;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.details-text[data-v-3a9acf42]{margin:0;color:var(--text);font-size:.9rem}.details-tags[data-v-3a9acf42]{display:flex;flex-wrap:wrap;gap:.3rem}.details-tag[data-v-3a9acf42]{display:inline-block;background:var(--primary-light);color:var(--primary);border:1px solid #bfdbfe;padding:.15rem .5rem;border-radius:100px;font-size:.78rem;font-weight:500}.type-badge[data-v-3a9acf42]{display:inline-flex;align-items:center;padding:.2rem .62rem;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;width:fit-content}.type-badge-income[data-v-3a9acf42]{background:#22c55e1f;color:#15803d;border:1px solid rgba(34,197,94,.26)}.type-badge-expense[data-v-3a9acf42]{background:#ef44441a;color:#b91c1c;border:1px solid rgba(239,68,68,.24)}.details-attachments[data-v-3a9acf42]{display:flex;flex-wrap:wrap;gap:.35rem;padding-bottom:1rem}.alert[data-v-3a9acf42]{padding:.65rem .9rem;border-radius:var(--radius);font-size:.875rem}.alert-success[data-v-3a9acf42]{background:var(--success-light);color:var(--success);border:1px solid var(--success-border)}.alert-danger[data-v-3a9acf42]{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border)}@media (max-width: 860px){.admin-transactions[data-v-3a9acf42]{padding:1.25rem 1rem}.form-row[data-v-3a9acf42],.split-row[data-v-3a9acf42]{grid-template-columns:1fr}.split-remove[data-v-3a9acf42]{height:32px}.details-grid[data-v-3a9acf42]{grid-template-columns:1fr}}@media (max-width: 760px){.row-actions .btn-sm[data-v-3a9acf42]{min-width:92px;padding-left:.5rem;padding-right:.5rem}}.fade-enter-active[data-v-3a9acf42],.fade-leave-active[data-v-3a9acf42]{transition:opacity .3s ease}.fade-enter-from[data-v-3a9acf42],.fade-leave-to[data-v-3a9acf42]{opacity:0}.users-page[data-v-a5ec7efd]{max-width:920px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.page-header[data-v-a5ec7efd]{display:flex;justify-content:flex-start;align-items:center;gap:.75rem}.page-header h2[data-v-a5ec7efd]{margin:0;font-size:1.3rem}.table-card[data-v-a5ec7efd]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.table-scroll[data-v-a5ec7efd]{overflow-x:auto}.name-cell[data-v-a5ec7efd]{font-weight:500}.email-cell[data-v-a5ec7efd]{color:var(--muted);font-size:.875rem}.row-actions[data-v-a5ec7efd]{display:flex;gap:.4rem}.empty-state[data-v-a5ec7efd]{color:var(--muted);font-size:.9rem;font-style:italic}.add-action-row[data-v-a5ec7efd]{display:flex;justify-content:flex-end}.user-modal-overlay[data-v-a5ec7efd]{position:fixed;inset:0;z-index:1200;background:#0f172a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem}.user-modal[data-v-a5ec7efd]{width:min(740px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.user-modal-header[data-v-a5ec7efd]{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.user-modal-header h3[data-v-a5ec7efd]{margin:0;font-size:1rem}.icon-btn[data-v-a5ec7efd]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--muted);box-shadow:none}.icon-btn[data-v-a5ec7efd]:hover{background:var(--bg);color:var(--text);transform:none}.user-form[data-v-a5ec7efd]{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.form-row[data-v-a5ec7efd]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.form-group[data-v-a5ec7efd]{display:flex;flex-direction:column}.form-actions[data-v-a5ec7efd]{display:flex;justify-content:flex-end;gap:.5rem}.alert[data-v-a5ec7efd]{padding:.65rem .9rem;border-radius:var(--radius);font-size:.875rem}.alert-success[data-v-a5ec7efd]{background:var(--success-light);color:var(--success);border:1px solid var(--success-border)}.alert-danger[data-v-a5ec7efd]{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border)}@media (max-width: 720px){.users-page[data-v-a5ec7efd]{padding:1.25rem .9rem}.page-header[data-v-a5ec7efd]{flex-wrap:wrap;align-items:flex-start}.add-action-row[data-v-a5ec7efd]{justify-content:stretch}.add-action-row .btn-primary[data-v-a5ec7efd]{width:100%}.form-row[data-v-a5ec7efd]{grid-template-columns:1fr}.user-form[data-v-a5ec7efd]{padding:1rem}}.tags-page[data-v-f31e9dc0]{max-width:900px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.tags-page h2[data-v-f31e9dc0]{font-size:1.3rem}.table-card[data-v-f31e9dc0]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}tr.inactive td[data-v-f31e9dc0]{opacity:.5}tr.inactive .badge[data-v-f31e9dc0]{opacity:1}.tag-name[data-v-f31e9dc0]{font-weight:500}.inline-input[data-v-f31e9dc0]{padding:.3rem .6rem;font-size:.875rem;width:160px}.count-cell[data-v-f31e9dc0]{text-align:center;color:var(--muted);font-size:.85rem}.date-cell[data-v-f31e9dc0]{color:var(--muted);font-size:.82rem;white-space:nowrap}.row-actions[data-v-f31e9dc0]{display:flex;gap:.4rem}.state-msg[data-v-f31e9dc0]{color:var(--muted);font-size:.9rem}.alert[data-v-f31e9dc0]{padding:.65rem .9rem;border-radius:var(--radius);font-size:.875rem}.alert-success[data-v-f31e9dc0]{background:var(--success-light);color:var(--success);border:1px solid var(--success-border)}.alert-danger[data-v-f31e9dc0]{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border)}.navbar[data-v-346c7c90]{display:flex;justify-content:space-between;align-items:center;background:#ffffffe0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:0 1.5rem;height:var(--navbar-height);box-shadow:0 1px 0 var(--border),0 2px 8px #0000000a;position:sticky;top:0;z-index:100}.logo[data-v-346c7c90]{font-weight:700;font-size:1.05rem;color:var(--text);letter-spacing:-.02em;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.pending-badge[data-v-346c7c90]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#f59e0b;color:#fff;border-radius:100px;font-size:.68rem;font-weight:700;line-height:1}.links[data-v-346c7c90]{display:flex;align-items:center;gap:.15rem}.nav-link[data-v-346c7c90]{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .75rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;color:var(--muted);text-decoration:none;transition:background .15s,color .15s;cursor:pointer;border:none;background:transparent;white-space:nowrap}.nav-link[data-v-346c7c90]:hover{background:var(--bg);color:var(--text);border-color:transparent}.nav-link.router-link-active[data-v-346c7c90]{color:var(--primary);background:var(--primary-light);font-weight:600}.dropdown[data-v-346c7c90]{position:relative}.dropdown-trigger[data-v-346c7c90]{cursor:pointer}.dropdown-menu[data-v-346c7c90]{position:absolute;top:100%;left:0;min-width:175px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:8px .35rem .35rem;display:none;flex-direction:column;z-index:200}.dropdown:hover .dropdown-menu[data-v-346c7c90]{display:flex}.dropdown-item[data-v-346c7c90]{display:block;padding:.45rem .75rem;border-radius:var(--radius);font-size:.875rem;color:var(--text);text-decoration:none;transition:background .1s}.dropdown-item[data-v-346c7c90]:hover{background:var(--bg)}.user-menu[data-v-346c7c90]{position:relative;margin-left:.5rem}.user-trigger[data-v-346c7c90]{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .5rem .28rem .28rem;border-radius:100px;background:transparent;border:1.5px solid var(--border);color:var(--text);cursor:pointer;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s;box-shadow:none}.user-trigger[data-v-346c7c90]:hover{background:var(--bg);border-color:#cbd5e1;transform:none;box-shadow:none}.user-trigger[data-v-346c7c90]:active{transform:none;box-shadow:none}.user-avatar[data-v-346c7c90]{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:.68rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:0}.user-name[data-v-346c7c90]{font-size:.855rem;font-weight:500;color:var(--text);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron[data-v-346c7c90]{color:var(--muted);transition:transform .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.chevron.open[data-v-346c7c90]{transform:rotate(180deg)}.user-dropdown[data-v-346c7c90]{position:absolute;top:calc(100% + 8px);right:0;min-width:230px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:.4rem;z-index:200}.user-dropdown-header[data-v-346c7c90]{display:flex;align-items:center;gap:.7rem;padding:.65rem .75rem}.user-avatar-lg[data-v-346c7c90]{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-info[data-v-346c7c90]{min-width:0}.user-full-name[data-v-346c7c90]{font-size:.875rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email[data-v-346c7c90]{font-size:.775rem;color:var(--muted);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown-divider[data-v-346c7c90]{height:1px;background:var(--border);margin:.35rem 0}.user-dropdown-role[data-v-346c7c90]{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem}.role-key[data-v-346c7c90]{font-size:.78rem;color:var(--muted);font-weight:500}.user-logout-btn[data-v-346c7c90]{width:100%;display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-radius:var(--radius);color:var(--danger);border:none;background:transparent;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s;box-shadow:none}.user-logout-btn[data-v-346c7c90]:hover{background:var(--danger-light);color:var(--danger);transform:none;box-shadow:none}.user-dropdown-enter-active[data-v-346c7c90],.user-dropdown-leave-active[data-v-346c7c90]{transition:opacity .15s,transform .15s cubic-bezier(.4,0,.2,1)}.user-dropdown-enter-from[data-v-346c7c90],.user-dropdown-leave-to[data-v-346c7c90]{opacity:0;transform:translateY(-6px) scale(.97)}.hamburger[data-v-346c7c90]{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:7px;background:transparent;border:none;cursor:pointer;box-shadow:none;border-radius:var(--radius);flex-shrink:0}.hamburger[data-v-346c7c90]:hover{background:var(--bg);transform:none;box-shadow:none}.hb-bar[data-v-346c7c90]{display:block;width:100%;height:2px;background:var(--text);border-radius:2px;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s}.hamburger.open .hb-bar[data-v-346c7c90]:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open .hb-bar[data-v-346c7c90]:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open .hb-bar[data-v-346c7c90]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu[data-v-346c7c90]{position:fixed;top:var(--navbar-height);left:0;right:0;bottom:0;z-index:99;display:flex;flex-direction:column}.mobile-panel[data-v-346c7c90]{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);padding:.6rem;display:flex;flex-direction:column;gap:.15rem}.mobile-backdrop[data-v-346c7c90]{flex:1;background:#0f172a59}.mobile-user[data-v-346c7c90]{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;margin-bottom:.1rem}.mobile-user .user-avatar[data-v-346c7c90]{width:34px;height:34px;font-size:.8rem;flex-shrink:0}.mobile-user-info[data-v-346c7c90]{flex:1;min-width:0}.mobile-user-name[data-v-346c7c90]{font-size:.9rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-user-email[data-v-346c7c90]{font-size:.775rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-sep[data-v-346c7c90]{height:1px;background:var(--border);margin:.35rem 0}.mobile-section-label[data-v-346c7c90]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.5rem .75rem .2rem}.mobile-link[data-v-346c7c90]{display:block;padding:.65rem .75rem;border-radius:var(--radius);font-size:.95rem;font-weight:500;color:var(--text);text-decoration:none;transition:background .12s,color .12s}.mobile-link[data-v-346c7c90]:hover,.mobile-link.router-link-active[data-v-346c7c90]{background:var(--primary-light);color:var(--primary)}.mobile-link-sub[data-v-346c7c90]{padding-left:1.25rem;font-size:.9rem;color:var(--muted)}.mobile-link-sub.router-link-active[data-v-346c7c90]{color:var(--primary)}.mobile-logout[data-v-346c7c90]{display:flex;align-items:center;gap:.5rem;padding:.65rem .75rem;width:100%;border:none;background:transparent;color:var(--danger);font-size:.95rem;font-weight:500;border-radius:var(--radius);cursor:pointer;transition:background .12s;box-shadow:none}.mobile-logout[data-v-346c7c90]:hover{background:var(--danger-light);transform:none;box-shadow:none}@media (max-width: 640px){.links[data-v-346c7c90]{display:none}.hamburger[data-v-346c7c90]{display:flex}}.mobile-menu-enter-active[data-v-346c7c90],.mobile-menu-leave-active[data-v-346c7c90]{transition:opacity .2s}.mobile-menu-enter-from[data-v-346c7c90],.mobile-menu-leave-to[data-v-346c7c90]{opacity:0}.mobile-menu-enter-active .mobile-panel[data-v-346c7c90]{transition:transform .25s cubic-bezier(.4,0,.2,1)}.mobile-menu-leave-active .mobile-panel[data-v-346c7c90]{transition:transform .2s cubic-bezier(.4,0,.2,1)}.mobile-menu-enter-from .mobile-panel[data-v-346c7c90],.mobile-menu-leave-to .mobile-panel[data-v-346c7c90]{transform:translateY(-8px)}.so-backdrop[data-v-46583a23]{position:fixed;inset:0;background:#0f172a73;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:150}.so-panel[data-v-46583a23]{position:fixed;top:0;right:0;height:100dvh;width:440px;max-width:100vw;background:var(--surface);box-shadow:-4px 0 40px #0000001f,-1px 0 0 var(--border);z-index:151;display:flex;flex-direction:column;overflow:hidden}.so-header[data-v-46583a23]{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.so-header h2[data-v-46583a23]{font-size:1.1rem;font-weight:700;letter-spacing:-.02em}.so-close[data-v-46583a23]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--muted);border-radius:var(--radius);cursor:pointer;transition:background .15s,color .15s;box-shadow:none}.so-close[data-v-46583a23]:hover{background:var(--bg);color:var(--text);transform:none;box-shadow:none}.so-body[data-v-46583a23]{flex:1;overflow-y:auto;padding:1.5rem}form[data-v-46583a23]{display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-46583a23]{display:flex;flex-direction:column}.inline-check[data-v-46583a23]{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--text)}.split-group[data-v-46583a23]{gap:.45rem}.split-row[data-v-46583a23]{display:grid;grid-template-columns:1fr 120px 36px;gap:.5rem}.split-add[data-v-46583a23],.split-remove[data-v-46583a23]{box-shadow:none}.split-remove[data-v-46583a23]{align-self:stretch;padding:0}.split-hint[data-v-46583a23]{color:var(--muted);font-size:.78rem}.split-hint-error[data-v-46583a23]{color:var(--danger)}.attachment-input[data-v-46583a23]{display:none}.attachment-picker[data-v-46583a23]{margin-top:.5rem;border:1px dashed #bfdbfe;background:linear-gradient(180deg,#f8fbff,#f1f6ff);border-radius:var(--radius);padding:.65rem}.attachment-btn[data-v-46583a23]{width:100%;border:1px solid #bfdbfe;background:#fff;color:var(--primary);box-shadow:none;display:inline-flex;justify-content:center;align-items:center;gap:.45rem}.attachment-btn[data-v-46583a23]:hover{border-color:#93c5fd;background:#eff6ff;transform:none}.attachment-btn-icon[data-v-46583a23]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:var(--primary-light);font-size:.95rem;line-height:1}.attachment-help[data-v-46583a23]{margin:.5rem 0 0;color:var(--muted);font-size:.78rem}.attachment-list[data-v-46583a23]{margin-top:.65rem;display:grid;gap:.4rem}.attachment-chip[data-v-46583a23]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.4rem;background:var(--surface);color:#334155;border:1px solid #dbe7ff;border-radius:var(--radius);padding:.35rem .5rem .35rem .65rem}.attachment-name[data-v-46583a23]{min-width:0;font-size:.8rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size[data-v-46583a23]{font-size:.74rem;color:var(--muted)}.attachment-remove[data-v-46583a23]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:.7rem;cursor:pointer;box-shadow:none;padding:0}.attachment-remove[data-v-46583a23]:hover{background:#fecaca;transform:none;box-shadow:none}.type-toggle[data-v-46583a23]{display:flex;gap:.5rem}.toggle-option[data-v-46583a23]{flex:1;cursor:pointer;margin-bottom:0}.toggle-option input[type=radio][data-v-46583a23]{display:none}.toggle-option span[data-v-46583a23]{display:block;text-align:center;padding:.6rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.9rem;font-weight:500;color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s;background:var(--surface)}.toggle-option span[data-v-46583a23]:hover{border-color:#cbd5e1;background:var(--bg)}.income-option input[type=radio]:checked+span[data-v-46583a23]{border-color:var(--success);color:var(--success);background:var(--success-light);font-weight:600}.expense-option input[type=radio]:checked+span[data-v-46583a23]{border-color:var(--danger);color:var(--danger);background:var(--danger-light);font-weight:600}.tags-suggestions[data-v-46583a23]{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.35rem}.tags-suggestions span[data-v-46583a23]{display:inline-block;background:var(--bg);border:1px solid var(--border);padding:.25rem .6rem;border-radius:100px;font-size:.8rem;cursor:pointer;transition:background .15s,border-color .15s;color:var(--muted)}.tags-suggestions span[data-v-46583a23]:hover,.tags-suggestions span.selected[data-v-46583a23]{background:var(--primary-light);border-color:#bfdbfe;color:var(--primary)}.add-new-tag[data-v-46583a23]{background:var(--success-light)!important;border-color:var(--success-border)!important;color:var(--success)!important;font-style:italic}.selected-tags[data-v-46583a23]{margin-top:.6rem;display:flex;flex-wrap:wrap;gap:.4rem}.tag-chip[data-v-46583a23]{display:inline-flex;align-items:center;gap:.3rem;background:var(--primary-light);color:var(--primary);border:1px solid #bfdbfe;padding:.2rem .35rem .2rem .65rem;border-radius:100px;font-size:.8rem;font-weight:500}.tag-remove[data-v-46583a23]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:.7rem;border-radius:50%;opacity:.7;transition:opacity .15s,background .15s;box-shadow:none}.tag-remove[data-v-46583a23]:hover{opacity:1;background:#2563eb26;transform:none;box-shadow:none}.feedback[data-v-46583a23]{padding:.65rem .85rem;border-radius:var(--radius);font-size:.875rem;font-weight:500}.feedback-success[data-v-46583a23]{background:var(--success-light);color:var(--success);border:1px solid var(--success-border)}.feedback-error[data-v-46583a23]{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border)}.so-bg-enter-active[data-v-46583a23],.so-bg-leave-active[data-v-46583a23]{transition:opacity .28s}.so-bg-enter-from[data-v-46583a23],.so-bg-leave-to[data-v-46583a23]{opacity:0}.so-panel-enter-active[data-v-46583a23],.so-panel-leave-active[data-v-46583a23]{transition:transform .3s cubic-bezier(.4,0,.2,1)}.so-panel-enter-from[data-v-46583a23],.so-panel-leave-to[data-v-46583a23]{transform:translate(100%)}body{background:var(--bg)}.install-banner{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);z-index:210;display:flex;align-items:center;gap:.6rem;max-width:min(94vw,620px);padding:.55rem .7rem;border-radius:14px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;box-shadow:0 8px 24px #1e40af2e;flex-wrap:wrap}.install-banner--raised{bottom:4.25rem}.install-banner-text{font-size:.82rem;font-weight:600}.install-banner-actions{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto}.install-banner-btn{padding:.28rem .65rem;min-height:30px;font-size:.78rem;border-radius:999px;background:#2563eb;color:#fff;border:1px solid #2563eb;box-shadow:none}.install-banner-btn:hover{background:#1d4ed8;border-color:#1d4ed8;transform:none}.install-banner-close{width:30px;height:30px;border-radius:999px;border:1px solid #c7d2fe;background:#fff;color:#475569;box-shadow:none;padding:0;line-height:1}.install-banner-close:hover{background:#f8fafc;color:#1f2937;transform:none}.install-banner-help{width:100%;margin:.15rem 0 0;font-size:.76rem;color:#334155}.install-banner-enter-active,.install-banner-leave-active{transition:opacity .2s ease,transform .2s ease}.install-banner-enter-from,.install-banner-leave-to{opacity:0;transform:translate(-50%) translateY(8px)}@media (max-width: 760px){.install-banner{width:calc(100vw - 1rem);max-width:none}.install-banner-actions{margin-left:0}}.offline-banner{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:100px;font-size:.8rem;font-weight:600;z-index:200;box-shadow:0 4px 16px #0000001f;white-space:nowrap}.offline-banner span{display:inline-flex;align-items:center;gap:.4rem}.offline-banner--offline{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.offline-banner--syncing{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.offline-banner-enter-active,.offline-banner-leave-active{transition:opacity .25s,transform .25s cubic-bezier(.4,0,.2,1)}.offline-banner-enter-from,.offline-banner-leave-to{opacity:0;transform:translate(-50%) translateY(8px)}.fab{position:fixed;top:calc(var(--navbar-height) + .75rem);right:1.5rem;display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1.3rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:100px;font-weight:600;font-size:.9rem;letter-spacing:.01em;box-shadow:0 4px 16px #2563eb66,0 2px 6px #0000001a;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;z-index:50;border:none;cursor:pointer}.fab:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-color:transparent;transform:translateY(-3px);box-shadow:0 8px 28px #2563eb80,0 4px 10px #0000001a}.fab:active{transform:translateY(0);box-shadow:0 4px 16px #2563eb66}.fab-enter-active,.fab-leave-active{transition:opacity .2s,transform .2s cubic-bezier(.4,0,.2,1)}.fab-enter-from,.fab-leave-to{opacity:0;transform:translateY(12px) scale(.9)}:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #eff6ff;--success: #16a34a;--success-light: #f0fdf4;--success-border: #bbf7d0;--danger: #dc2626;--danger-hover: #b91c1c;--danger-light: #fef2f2;--danger-border: #fecaca;--warning: #d97706;--warning-light: #fffbeb;--warning-border: #fde68a;--bg: #f1f5f9;--surface: #ffffff;--border: #e2e8f0;--text: #1e293b;--muted: #64748b;--light: #94a3b8;--navbar-height: 56px;--radius: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1), 0 4px 10px rgba(0, 0, 0, .06);--shadow-primary: 0 4px 14px rgba(37, 99, 235, .35);--radius-xl: 16px;--transition: .15s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes spin{to{transform:rotate(360deg)}}.page-enter-active{animation:fadeInUp .22s cubic-bezier(.4,0,.2,1)}.page-leave-active{transition:opacity .14s ease}.page-leave-to{opacity:0}#app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}a{color:inherit;text-decoration:none}h1,h2,h3,h4{color:var(--text);font-weight:700;line-height:1.3;letter-spacing:-.02em}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=datetime-local],select,textarea{display:block;width:100%;padding:.525rem .8rem;font-size:.9rem;line-height:1.5;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);font-family:inherit;-webkit-appearance:none;appearance:none}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f;background:#fff}input:hover:not(:focus),select:hover:not(:focus),textarea:hover:not(:focus){border-color:#cbd5e1}input::placeholder{color:var(--light)}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:1rem;padding-right:2.25rem;cursor:pointer}input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.35;cursor:pointer;padding:0;margin-left:.25rem}input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:.65}input[type=color]{width:2.5rem;height:2.5rem;padding:.2rem;border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--surface)}input[type=checkbox]{width:auto;display:inline;margin:0;accent-color:var(--primary)}label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.3rem;letter-spacing:.02em;text-transform:uppercase}button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.475rem .95rem;font-size:.875rem;font-weight:500;line-height:1.4;border-radius:var(--radius);border:1.5px solid var(--border);cursor:pointer;transition:all var(--transition);font-family:inherit;white-space:nowrap;background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000000f;transform:translateY(0);position:relative;letter-spacing:.01em}button:hover:not(:disabled){background:var(--bg);border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 10px #0000001a}button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000000f}button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}button[type=submit]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:transparent;box-shadow:0 2px 8px #2563eb4d;font-weight:600}button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 20px #2563eb66;transform:translateY(-1px);border-color:transparent}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:transparent;box-shadow:0 2px 8px #2563eb4d;font-weight:600}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 20px #2563eb66;border-color:transparent}.btn-danger{background:var(--danger);color:#fff;border-color:transparent;box-shadow:0 2px 6px #dc262640;font-weight:600}.btn-danger:hover:not(:disabled){background:var(--danger-hover);box-shadow:0 4px 14px #dc262659;border-color:transparent}.btn-success{background:var(--success);color:#fff;border-color:transparent;box-shadow:0 2px 6px #16a34a40;font-weight:600}.btn-success:hover:not(:disabled){filter:brightness(.92);box-shadow:0 4px 14px #16a34a59}.btn-warning{background:var(--warning);color:#fff;border-color:transparent;font-weight:600}.btn-sm{padding:.28rem .65rem;font-size:.8rem}table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--surface)}thead{background:var(--bg)}th{padding:.7rem .9rem;text-align:left;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}td{padding:.75rem .9rem;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background var(--transition),box-shadow var(--transition);position:relative}tbody tr:hover{background:#f8fafc;box-shadow:inset 3px 0 0 var(--primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:100px;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.badge-success{background:var(--success-light);color:var(--success);border:1px solid var(--success-border)}.badge-danger{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border)}.badge-muted{background:var(--bg);color:var(--muted);border:1px solid var(--border)}.badge-primary{background:var(--primary-light);color:var(--primary);border:1px solid #bfdbfe}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius)}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite;display:inline-block;flex-shrink:0}
