*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1{font-size:clamp(1.5rem,4vw,2rem)}h2{font-size:clamp(1.25rem,3vw,1.5rem)}h3{font-size:clamp(1.1rem,2.5vw,1.25rem)}label,p,span{font-size:clamp(.875rem,2vw,1rem)}#root,body,html{max-width:100vw;overflow-x:hidden}a,button,input[type=button],input[type=submit],select{min-height:44px}input,select,textarea{border-radius:8px;font-size:16px}.container{margin:0 auto;max-width:1400px;padding:1rem;width:100%}@media (min-width:768px){.container{padding:2rem}}.grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width:768px){.grid{gap:1.5rem;grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}.card{background-color:#fff;border-radius:16px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;padding:1rem;width:100%}@media (min-width:768px){.card{border-radius:20px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:1.5rem}}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width:768px){.form-grid{grid-template-columns:repeat(2,1fr)}}.form-grid-full{grid-column:1/-1}.button-group{display:flex;flex-direction:column;gap:.75rem}@media (min-width:480px){.button-group{flex-direction:row}}.responsive-table{width:100%}@media (max-width:767px){.responsive-table thead{display:none}.responsive-table tbody tr{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;display:block;margin-bottom:1rem;padding:1rem}.responsive-table tbody td{border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:.5rem 0}.responsive-table tbody td:last-child{border-bottom:none}.responsive-table tbody td:before{color:#64748b;content:attr(data-label);font-weight:600}}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;max-width:500px;overflow-y:auto;padding:1.5rem;width:100%}@media (min-width:768px){.modal-content{padding:2rem}}.navbar-container{position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-button{transition:all .2s ease}.nav-button:hover{transform:translateY(-1px)}.nav-button-active{box-shadow:0 2px 4px #2563eb33}@media (max-width:767px){.hide-mobile{display:none!important}}@media (min-width:768px){.hide-desktop{display:none!important}}.flex-col-mobile{display:flex;flex-direction:column;gap:1rem}@media (min-width:768px){.flex-col-mobile{align-items:center;flex-direction:row}}.page-content{margin:0 auto;max-width:1400px;padding:1rem}@media (min-width:768px){.page-content{padding:2rem 1.5rem}}@media (min-width:1024px){.page-content{padding:2.5rem 2rem}}.page-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}@media (min-width:768px){.page-header{align-items:center;flex-direction:row;justify-content:space-between;margin-bottom:2rem}}.summary-card{background:linear-gradient(to bottom right,#3b82f6,#1d4ed8);border-radius:16px;box-shadow:0 10px 15px -3px #3b82f633,0 4px 6px -2px #3b82f626;margin-bottom:1.5rem;padding:1.5rem 1.25rem}@media (min-width:768px){.summary-card{border-radius:24px;box-shadow:0 20px 25px -5px #3b82f633,0 10px 10px -5px #3b82f626;padding:2rem 1.5rem}}.summary-content{display:flex;flex-direction:column;gap:1rem}@media (min-width:640px){.summary-content{align-items:center;flex-direction:row;justify-content:space-between}}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width:768px){.stats-grid{grid-template-columns:1fr 1fr}}.calendar-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width:1024px){.calendar-layout{grid-template-columns:1fr 400px}}.calendar-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}@media (min-width:768px){.calendar-grid{gap:8px}}.calendar-day{min-height:60px;padding:4px}@media (min-width:768px){.calendar-day{min-height:100px;padding:8px}}.recurring-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width:768px){.recurring-grid{grid-template-columns:1fr 1fr}}.transaction-item{display:flex;flex-direction:column;gap:.75rem;padding:1rem}@media (min-width:640px){.transaction-item{align-items:center;flex-direction:row;justify-content:space-between;padding:1rem 1.5rem}}.accounts-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width:480px){.accounts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.accounts-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.vaults-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width:640px){.vaults-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.vaults-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.filter-section{display:flex;flex-direction:column;gap:1rem}@media (min-width:768px){.filter-section{align-items:flex-end;flex-direction:row;flex-wrap:wrap}}.chart-container{display:flex;justify-content:center;margin-bottom:1.5rem}.pie-chart{border-radius:50%;height:150px;width:150px}@media (min-width:768px){.pie-chart{height:200px;width:200px}}@media (max-width:767px){.navbar-container select{min-width:0;min-width:auto;width:100%}}*{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.loading-container{align-items:center;background-color:#f8fafc;display:flex;justify-content:center;min-height:100vh}.empty-state{background-color:#fff;border-radius:16px;box-shadow:0 1px 3px 0 #0000001a;padding:2rem 1.5rem;text-align:center}@media (min-width:768px){.empty-state{padding:3.5rem 2rem}}@media (max-width:1023px){.day-details-panel{border-radius:24px 24px 0 0;bottom:0;box-shadow:0 -4px 20px #00000026;left:0;max-height:60vh;overflow-y:auto;position:fixed;right:0;z-index:50}}.calendar-legend{border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding-top:1rem}@media (min-width:768px){.calendar-legend{gap:2rem;padding-top:1.5rem}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.admin-table-desktop{display:block}.admin-cards-mobile{display:none}@media (max-width:767px){.admin-table-desktop{display:none}.admin-cards-mobile{display:block}}.carousel-scroll{-ms-overflow-style:none;display:flex;gap:16px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel-scroll::-webkit-scrollbar{display:none}.carousel-scroll>*{flex-shrink:0;scroll-snap-align:start}.glass-page-bg{background:linear-gradient(160deg,#eef2ff,#e0e7ff 30%,#f1f5f9 60%,#ede9fe);min-height:calc(100vh - 64px)}.glass-hero-card{background:linear-gradient(135deg,#3b82f6,#1d4ed8 40%,#4f46e5);border-radius:24px;box-shadow:0 20px 40px -12px #3b82f659;margin-bottom:32px;overflow:hidden;padding:28px 32px;position:relative}.glass-hero-card:before{background:radial-gradient(circle,#ffffff26 0,#0000 70%);height:300px;right:-20%;top:-50%;width:300px}.glass-hero-card:after,.glass-hero-card:before{content:"";pointer-events:none;position:absolute}.glass-hero-card:after{background:radial-gradient(circle,#ffffff1a 0,#0000 70%);bottom:-30%;height:250px;left:-10%;width:250px}@media (max-width:767px){.glass-hero-card{border-radius:18px;padding:20px 16px}}.glass-account-pill{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff26;border:1px solid #fff3;border-radius:14px;color:#fff;cursor:pointer;padding:14px 18px;transition:all .2s ease}.glass-account-pill:hover{background:#ffffff40;transform:translateY(-1px)}.glass-account-pill.pinned{background:#ffffff38;border:1.5px solid #ffffff73}.pin-btn{align-items:center;background:none;border:none;border-radius:6px;color:#fff6;cursor:pointer;display:flex;justify-content:center;opacity:0;padding:4px;position:absolute;right:6px;top:6px;transition:all .2s ease}.glass-account-pill:hover .pin-btn,.pin-btn.pinned{opacity:1}.pin-btn:hover{background:#ffffff26}.pin-btn.pinned,.pin-btn:hover{color:#ffffffe6}@media (max-width:767px){.glass-account-pill{border-radius:12px;padding:10px 14px}.pin-btn{opacity:1}}.glass-add-pill{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff1a;border:1.5px dashed #ffffff59;border-radius:14px;color:#fffc;cursor:pointer;display:flex;font-size:20px;justify-content:center;min-height:44px;padding:14px 18px;transition:all .2s ease}.glass-add-pill:hover{background:#fff3;border-color:#ffffff80;color:#fff}.glass-show-all-pill{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #fff3;border-radius:14px;color:#fffc;cursor:pointer;display:flex;font-size:13px;font-weight:500;min-height:44px;padding:14px 18px;transition:all .2s ease}.glass-show-all-pill:hover{background:#fff3;color:#fff}.glass-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #fffc;border-radius:18px;box-shadow:0 4px 24px #0000000a;padding:20px}@media (max-width:767px){.glass-card{border-radius:14px;padding:16px}}.glass-carousel-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffbf;border:1px solid #ffffffe6;border-radius:16px;transition:all .2s ease}.glass-carousel-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.glass-carousel-card-overdue{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#7f1d1de6;border:2px solid #991b1b}.glass-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 2px 8px #2563eb4d;color:#fff;cursor:pointer;font-weight:600;transition:all .2s ease}.glass-btn-primary:hover{box-shadow:0 4px 16px #2563eb66;transform:translateY(-1px)}.glass-btn-outline{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#fffc;border:1.5px solid #2563eb4d;border-radius:12px;color:#2563eb;cursor:pointer;font-weight:600;transition:all .2s ease}.glass-btn-outline:hover{background:#fffffff2;border-color:#2563eb80}.glass-bottom-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr;margin-top:32px}@media (min-width:768px){.glass-bottom-grid{grid-template-columns:3fr 2fr}}.glass-empty-state{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff80;border:1px solid #fff9;border-radius:16px;padding:32px 24px;text-align:center}.glass-error{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#fef2f2cc;border:1px solid #fecaca;border-radius:12px;color:#991b1b;font-size:14px;margin-bottom:24px;padding:16px}@media print{.hide-print,.navbar-container,button{display:none!important}}:root{--c-bg:#f8fafc;--c-surface:#fff;--c-border:#e2e8f0;--c-border-hover:#cbd5e1;--c-text-1:#0f172a;--c-text-2:#64748b;--c-text-3:#94a3b8;--c-brand:#0f172a;--c-accent:#4f46e5;--c-success:#059669;--c-success-bg:#ecfdf5;--c-warning:#d97706;--c-warning-bg:#fffbeb;--c-danger:#e11d48;--c-danger-bg:#fff1f2;--c-danger-border:#fecdd3;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px}.dash-bg{background:#f8fafc;background:var(--c-bg);min-height:calc(100vh - 64px)}.btn-primary{align-items:center;background:#0f172a;background:var(--c-brand);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;line-height:1;min-height:38px;padding:9px 16px;transition:background .15s;white-space:nowrap}.btn-primary:hover:not(:disabled){background:#1e293b}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-primary:focus-visible{outline:2px solid #0f172a;outline:2px solid var(--c-brand);outline-offset:2px}.btn-destructive{align-items:center;background:#e11d48;background:var(--c-danger);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;line-height:1;min-height:38px;padding:9px 16px;transition:background .15s;white-space:nowrap}.btn-destructive:hover:not(:disabled){background:#be123c}.btn-destructive:disabled{cursor:not-allowed;opacity:.5}.btn-destructive:focus-visible{outline:2px solid #e11d48;outline:2px solid var(--c-danger);outline-offset:2px}.btn-secondary{align-items:center;background:#fff;background:var(--c-surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:10px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;justify-content:center;line-height:1;min-height:38px;padding:9px 16px;transition:all .15s;white-space:nowrap}.btn-secondary:hover:not(:disabled){background:#f8fafc;background:var(--c-bg);border-color:#cbd5e1;border-color:var(--c-border-hover)}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary:focus-visible{outline:2px solid #0f172a;outline:2px solid var(--c-brand);outline-offset:2px}.btn-tertiary{align-items:center;background:#0000;border:none;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;justify-content:center;line-height:1;min-height:36px;padding:8px 12px;transition:background .15s;white-space:nowrap}.btn-tertiary:hover:not(:disabled){background:#f1f5f9;color:#0f172a;color:var(--c-text-1)}.btn-tertiary:focus-visible{outline:2px solid #0f172a;outline:2px solid var(--c-brand);outline-offset:2px}.icon-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#94a3b8;color:var(--c-text-3);cursor:pointer;display:inline-flex;flex-shrink:0;height:36px;justify-content:center;padding:0;transition:all .15s;width:36px}.icon-btn:hover{background:#f1f5f9;color:#475569}.icon-btn.danger:hover{background:#fff1f2;background:var(--c-danger-bg);color:#e11d48;color:var(--c-danger)}.icon-btn:focus-visible{outline:2px solid #0f172a;outline:2px solid var(--c-brand);outline-offset:2px}.pill{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;line-height:1.6;padding:2px 8px;white-space:nowrap}.pill-indigo{background:#eef2ff;box-shadow:inset 0 0 0 1px #4f46e51f;color:#4338ca}.pill-emerald{background:#ecfdf5;box-shadow:inset 0 0 0 1px #0596691f;color:#065f46}.pill-amber{background:#fffbeb;box-shadow:inset 0 0 0 1px #d9770633;color:#92400e}.pill-rose{background:#fff1f2;box-shadow:inset 0 0 0 1px #e11d481f;color:#be123c}.pill-slate{background:#f1f5f9;box-shadow:inset 0 0 0 1px #4755691f;color:#475569}.nav-redesign{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--c-border);display:flex;height:64px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-redesign-inner{align-items:center;display:flex;gap:2px;margin:0 auto;max-width:1400px;padding:0 20px;width:100%}.nav-link-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;line-height:1;min-height:36px;padding:8px 12px;transition:all .15s;white-space:nowrap}.nav-link-btn:hover{background:#f1f5f9;color:#0f172a;color:var(--c-text-1)}.nav-link-btn.active{background:#0f172a;background:var(--c-brand);color:#fff}.nav-link-btn.active:hover{background:#1e293b}.nav-link-btn:focus-visible{outline:2px solid #0f172a;outline:2px solid var(--c-brand);outline-offset:2px}.dash-summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:28px}@media (min-width:640px){.dash-summary-grid{grid-template-columns:repeat(3,1fr)}}.dash-summary-card{background:#fff;background:var(--c-surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:20px;border-radius:var(--r-xl);overflow:hidden;padding:20px 24px;position:relative}@media (max-width:639px){.dash-summary-card{padding:16px}}.dash-section-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.dash-section-title{color:#0f172a;color:var(--c-text-1);font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0}.dash-section-meta{color:#64748b;color:var(--c-text-2);font-size:13px;margin:2px 0 0}.dash-accounts-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:32px}@media (min-width:480px){.dash-accounts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.dash-accounts-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:1280px){.dash-accounts-grid{grid-template-columns:repeat(5,1fr)}}.dash-account-card{background:#fff;background:var(--c-surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:12px;border-radius:var(--r-md);cursor:pointer;padding:14px 16px;position:relative;transition:all .15s}.dash-account-card:hover{border-color:#cbd5e1;border-color:var(--c-border-hover);box-shadow:0 1px 4px #0000000d}.dash-account-card:focus-visible{outline:2px solid #0f172a;outline:2px solid var(--c-brand);outline-offset:2px}.dash-icon-tile{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.dash-expense-card{background:#fff;background:var(--c-surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:12px;border-radius:var(--r-md);display:flex;flex-direction:column;flex-shrink:0;gap:12px;padding:16px;scroll-snap-align:start;transition:border-color .15s;width:288px}.dash-expense-card:hover{border-color:#cbd5e1;border-color:var(--c-border-hover)}.dash-expense-card.overdue{background:#fff1f266;border-color:#fecdd3;border-color:var(--c-danger-border)}@media (max-width:767px){.dash-expense-card{width:85vw}}.dash-tx-wrap{background:#fff;background:var(--c-surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:20px;border-radius:var(--r-xl);margin-bottom:32px;overflow:hidden}.dash-tx-header-row{grid-gap:8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--c-border);display:grid;gap:8px;grid-template-columns:1fr 120px 90px 100px;padding:10px 20px}@media (max-width:639px){.dash-tx-header-row{display:none}}.dash-tx-col-lbl{color:#64748b;color:var(--c-text-2);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.dash-tx-row{align-items:center;border-top:1px solid #f1f5f9;cursor:pointer;display:flex;gap:12px;padding:12px 20px;position:relative;transition:background .1s}.dash-tx-row:first-child{border-top:none}.dash-tx-row:hover{background:#f8fafc99}.dash-tx-row.group:hover .tx-edit-btn{opacity:1}@media (max-width:639px){.dash-tx-row{padding:12px 16px}}.tx-edit-btn{opacity:0;transition:opacity .15s}@media (hover:none){.tx-edit-btn{opacity:1!important}}.dash-tx-row:hover .tx-edit-btn{opacity:1}.dash-goals-card{background:#fff;background:var(--c-surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:20px;border-radius:var(--r-xl);display:flex;flex-direction:column;padding:20px}.dash-goal-row{border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:8px;border-radius:var(--r-sm);cursor:pointer;padding:12px 14px;transition:border-color .15s}.dash-goal-row:hover{border-color:#cbd5e1;border-color:var(--c-border-hover)}.dash-bottom-grid{grid-gap:24px;display:grid;gap:24px;margin-bottom:32px}@media (min-width:768px){.dash-bottom-grid{grid-template-columns:3fr 2fr}}.dash-empty{background:#fff;background:var(--c-surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:12px;border-radius:var(--r-md);padding:32px 24px;text-align:center}.dash-progress-track{background:#e2e8f0;border-radius:2px;height:4px;margin-top:8px;overflow:hidden;width:100%}.dash-progress-fill{background:#4f46e5;background:var(--c-accent);border-radius:2px;height:100%;transition:width .3s ease}.dash-progress-fill.depleted{background:#e11d48;background:var(--c-danger)}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nav-mobile-link{align-items:center;background:#0000;border:none;border-radius:10px;color:#475569;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;min-height:48px;padding:14px 16px;text-align:left;transition:all .15s;width:100%}.nav-mobile-link:hover{background:#f1f5f9;color:#0f172a;color:var(--c-text-1)}.nav-mobile-link.active{background:#0f172a;background:var(--c-brand);color:#fff}.nav-mobile-link:focus-visible{outline:2px solid #0f172a;outline:2px solid var(--c-brand);outline-offset:2px}.dash-page-header{align-items:flex-start;display:flex;flex-direction:column;gap:12px;margin-bottom:24px}@media (min-width:768px){.dash-page-header{align-items:flex-end;flex-direction:row;justify-content:space-between}}.dash-page-date{color:#64748b;color:var(--c-text-2);font-size:13px;font-weight:500}.dash-page-greeting{color:#0f172a;color:var(--c-text-1);font-size:24px;font-weight:600;letter-spacing:-.015em;line-height:1.2;margin:4px 0 0}.dash-page-actions{display:flex;flex-wrap:wrap;gap:8px}.dash-trend-chip{align-items:center;display:inline-flex;font-size:12px;font-weight:600;gap:4px}.dash-trend-chip.neg{color:#e11d48;color:var(--c-danger)}.dash-trend-chip.pos{color:#059669;color:var(--c-success)}.dash-tx-card{background:#fff;background:var(--c-surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:20px;border-radius:var(--r-xl);overflow:hidden}.dash-tx-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:16px 20px}.dash-tx-card-header h2{color:#0f172a;color:var(--c-text-1);font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0}.dash-tx-card-header p{color:#64748b;color:var(--c-text-2);font-size:12px;margin:2px 0 0}.dash-tx-card .dash-tx-header-row{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--c-border);border-top:1px solid #e2e8f0;border-top:1px solid var(--c-border);padding:8px 20px}.dash-tx-card .dash-tx-row{padding:12px 20px}.dash-side-panels{display:flex;flex-direction:column;gap:16px}.dash-mini-cal{background:#fff;background:var(--c-surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:20px;border-radius:var(--r-xl);padding:18px 20px}.dash-mini-cal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.dash-mini-cal-title{align-items:center;color:#0f172a;color:var(--c-text-1);display:flex;font-size:16px;font-weight:600;gap:8px;letter-spacing:-.01em;margin:0}.dash-mini-cal-weekdays{color:#94a3b8;color:var(--c-text-3);font-size:11px;font-weight:500;margin-bottom:4px;text-align:center}.dash-mini-cal-grid,.dash-mini-cal-weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.dash-cal-day{font-feature-settings:"tnum";align-items:center;background:#0000;border:none;border-radius:6px;color:#334155;cursor:pointer;display:flex;font-size:12px;font-variant-numeric:tabular-nums;height:32px;justify-content:center;padding:0;position:relative;transition:background .15s}.dash-cal-day:hover{background:#f1f5f9}.dash-cal-day.empty{cursor:default}.dash-cal-day.empty:hover{background:#0000}.dash-cal-day.today{background:#0f172a;background:var(--c-brand);color:#fff}.dash-cal-day.today:hover{background:#1e293b}.dash-cal-day .dash-cal-dot{border-radius:50%;bottom:4px;height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}.dash-cal-day.today .dash-cal-dot{background:#fff!important}.dash-cal-dot.overdue{background:#e11d48;background:var(--c-danger)}.dash-cal-dot.normal{background:#4f46e5;background:var(--c-accent)}.dash-footer{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--c-border);display:flex;flex-wrap:wrap;font-size:12px;gap:12px;justify-content:space-between;margin-top:32px;padding-top:20px}.dash-footer,.dash-footer a{color:#64748b;color:var(--c-text-2)}.dash-footer a{text-decoration:none}.dash-footer a:hover{color:#0f172a;color:var(--c-text-1)}.dash-footer-links{display:flex;gap:16px}.dash-bottom-grid{grid-template-columns:1fr}@media (min-width:1024px){.dash-bottom-grid{grid-template-columns:2fr 1fr}}.app-page-header{align-items:flex-start;display:flex;flex-direction:column;gap:12px;margin-bottom:24px}@media (min-width:768px){.app-page-header{align-items:flex-end;flex-direction:row;justify-content:space-between}}.app-page-title{color:#0f172a;color:var(--c-text-1);font-size:22px;font-weight:600;letter-spacing:-.015em;line-height:1.2;margin:0}.app-page-subtitle{color:#64748b;color:var(--c-text-2);font-size:13px;margin:4px 0 0}.app-page-actions{display:flex;flex-wrap:wrap;gap:8px}.app-card{border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:20px;border-radius:var(--r-xl);padding:20px}.app-card,.app-card-tight{background:#fff;background:var(--c-surface)}.app-card-tight{border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:12px;border-radius:var(--r-md);padding:14px 16px}.app-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.app-card-title{color:#0f172a;color:var(--c-text-1);font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0}.field{display:block;margin-bottom:16px}.field-label{color:#475569;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.field-label-optional{color:#94a3b8;color:var(--c-text-3);font-size:11px;font-weight:400;margin-left:6px}.field-hint{color:#64748b;color:var(--c-text-2);font-size:12px;margin-top:6px}.input,.select,.textarea{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:10px;box-sizing:border-box;color:#0f172a;color:var(--c-text-1);font-size:16px;line-height:1.3;min-height:42px;outline:none;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.textarea{min-height:80px;resize:vertical}.select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='none' stroke='%2394A3B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='m1 1 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:32px}.input:focus,.select:focus,.textarea:focus{border-color:#4f46e5;border-color:var(--c-accent);box-shadow:0 0 0 3px #4f46e51f}.input:disabled,.select:disabled,.textarea:disabled{background:#f8fafc;cursor:not-allowed}.field-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:16px}@media (min-width:640px){.field-row{gap:16px;grid-template-columns:1fr 1fr}}.banner{border:1px solid #0000;border-radius:10px;font-size:13px;line-height:1.45;margin-bottom:14px;padding:10px 14px}.banner-error{background:#fff1f2;background:var(--c-danger-bg);border-color:#fecdd3;border-color:var(--c-danger-border);color:#9f1239}.banner-info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.banner-success{background:#ecfdf5;background:var(--c-success-bg);border-color:#a7f3d0;color:#065f46}.banner-warning{background:#fffbeb;background:var(--c-warning-bg);border-color:#fde68a;color:#92400e}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.modal-title{color:#0f172a;color:var(--c-text-1);font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#94a3b8;color:var(--c-text-3);cursor:pointer;display:inline-flex;font-size:22px;height:36px;justify-content:center;line-height:1;padding:0;transition:background .15s,color .15s;width:36px}.modal-close:hover{background:#f1f5f9;color:#475569}.modal-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:6px}@media (max-width:480px){.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.app-table{border-collapse:collapse;width:100%}.app-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--c-border);color:#64748b;color:var(--c-text-2);font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 16px;text-align:left;text-transform:uppercase}.app-table td{border-top:1px solid #f1f5f9;color:#0f172a;color:var(--c-text-1);font-size:14px;padding:12px 16px}.app-table tr:first-child td{border-top:none}.app-table tbody tr:hover{background:#f8fafc99}.app-card-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr}@media (min-width:640px){.app-card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.app-card-grid{grid-template-columns:repeat(3,1fr)}}
/*# sourceMappingURL=main.0d25d504.css.map*/