@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap);:root{--color-primary:#5b4b8a;--color-primary-dark:#4a3b72;--color-primary-deeper:#3d3066;--color-primary-light:#9b8dc6;--color-primary-lighter:#c4b8e0;--color-primary-bg:#eee9f8;--gradient-primary:linear-gradient(135deg,#5b4b8a,#9b8dc6);--color-accent:#e8927c;--color-accent-dark:#d47a63;--color-income:#22c55e;--color-expense:#ef4444;--color-debt:#f59e0b;--color-goal:#3b82f6;--color-bg:#f8f6f3;--color-surface:#fff;--color-surface-muted:#f1f5f9;--color-border:#e2e8f0;--color-border-dark:#cbd5e1;--color-text:#1e293b;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--input-height:48px;--input-radius:10px;--input-border:1px solid var(--color-border-dark);--input-focus-shadow:0 0 0 3px #5b4b8a2e;--table-head-bg:#f1f5f9;--table-hover-bg:#5b4b8a0d;--btn-radius:8px;--btn-height-sm:32px;--btn-height-md:40px;--btn-height-lg:48px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:28px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 12px 48px #00000024;--shadow-card-hover:0 8px 24px #5b4b8a29;--transition-fast:100ms ease;--transition-normal:150ms ease;--transition-modal:250ms ease;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:9999px}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{background:#fff;background:var(--color-surface);border:1px solid #cbd5e1;border:var(--input-border);border-radius:10px;border-radius:var(--input-radius);box-sizing:border-box;color:#1e293b;color:var(--color-text);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-family);font-size:.9rem;height:48px;height:var(--input-height);outline:none;padding:0 16px;padding:0 var(--sp-4);transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--transition-normal),box-shadow var(--transition-normal);width:100%}select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235B4B8A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-position:right var(--sp-3) center;background-repeat:no-repeat;cursor:pointer;padding-right:32px;padding-right:var(--sp-8)}.select-sm{background-position:right 8px center!important;background-position:right var(--sp-2) center!important;border-radius:6px!important;border-radius:var(--radius-sm)!important;font-size:.82rem!important;height:34px!important;padding:0 28px 0 12px!important;padding:0 var(--sp-7) 0 var(--sp-3)!important}textarea{height:auto;min-height:80px;padding:12px 16px;padding:var(--sp-3) var(--sp-4);resize:vertical}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):focus,select:focus,textarea:focus{border-color:#5b4b8a;border-color:var(--color-primary);box-shadow:0 0 0 3px #5b4b8a2e;box-shadow:var(--input-focus-shadow)}input::placeholder,textarea::placeholder{color:#94a3b8;color:var(--color-text-muted);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-family)}table{border-collapse:collapse;width:100%}thead{background:#f1f5f9;background:var(--table-head-bg);position:-webkit-sticky;position:sticky;top:0;z-index:1}thead th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border);color:#475569;color:var(--color-text-secondary);font-size:.78rem;font-weight:600;letter-spacing:.6px;padding:12px 16px;padding:var(--sp-3) var(--sp-4);text-align:left;text-transform:uppercase;white-space:nowrap}tbody tr{transition:background .15s ease;transition:background var(--transition-normal)}tbody tr:hover{background:#5b4b8a0d;background:var(--table-hover-bg)}tbody td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border);color:#1e293b;color:var(--color-text);padding:12px 16px;padding:var(--sp-3) var(--sp-4);vertical-align:middle}.btn,tbody td{font-size:.9rem}.btn{border-radius:8px;border-radius:var(--btn-radius);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-family);font-weight:600;gap:var(--sp-2);height:40px;height:var(--btn-height-md);justify-content:center;outline:none;padding:0 20px;padding:0 var(--sp-5);transition:transform .1s ease,box-shadow .15s ease,background .15s ease;transition:transform var(--transition-fast),box-shadow var(--transition-normal),background var(--transition-normal);white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:#5b4b8a;background:var(--color-primary)}.btn-primary:hover{background:#4a3b72;background:var(--color-primary-dark);box-shadow:0 4px 12px #5b4b8a4d}.btn-secondary{background:#0000;border:2px solid #5b4b8a;border:2px solid var(--color-primary);color:#5b4b8a;color:var(--color-primary)}.btn-secondary:hover{background:#eee9f8;background:var(--color-primary-bg)}.btn-ghost{background:#0000;color:#475569;color:var(--color-text-secondary)}.btn-ghost:hover{background:#f1f5f9;background:var(--color-surface-muted)}.btn-danger{background:#ef4444;background:var(--color-error)}.btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}.btn-sm{font-size:.82rem;height:32px;height:var(--btn-height-sm);padding:0 12px;padding:0 var(--sp-3)}.btn-lg{font-size:1rem;height:48px;height:var(--btn-height-lg);padding:0 24px;padding:0 var(--sp-6)}.pill{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #cbd5e1;border:1px solid var(--color-border-dark);border-radius:9999px;border-radius:var(--radius-pill);color:#475569;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:500;gap:4px;gap:var(--sp-1);padding:4px 12px;padding:var(--sp-1) var(--sp-3);transition:all .15s ease;transition:all var(--transition-normal)}.pill:hover{background:#eee9f8;background:var(--color-primary-bg);border-color:#9b8dc6;border-color:var(--color-primary-light);color:#5b4b8a;color:var(--color-primary)}.pill.active{background:linear-gradient(135deg,#5b4b8a,#9b8dc6);background:var(--gradient-primary);border-color:#0000;color:#fff}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{animation:skeleton-shimmer 1.4s linear infinite;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:800px 100%;border-radius:6px;border-radius:var(--radius-sm)}.skeleton-text{height:14px;margin-bottom:8px;margin-bottom:var(--sp-2)}.skeleton-text.wide{width:100%}.skeleton-text.med{width:60%}.skeleton-text.short{width:35%}.skeleton-card{border-radius:10px;border-radius:var(--radius-md);height:80px}.toast-container{display:flex;flex-direction:column;gap:8px;gap:var(--sp-2);pointer-events:none;position:fixed;right:20px;right:var(--sp-5);top:20px;top:var(--sp-5);z-index:9999}.toast{align-items:flex-start;animation:toast-in ease .25s ease both;animation:toast-in var(--transition-modal) ease both;background:#fff;background:var(--color-surface);border-left:4px solid #5b4b8a;border-left:4px solid var(--color-primary);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md);display:flex;gap:12px;gap:var(--sp-3);max-width:380px;min-width:280px;padding:12px 16px;padding:var(--sp-3) var(--sp-4);pointer-events:all}.toast-success{border-left-color:#22c55e;border-left-color:var(--color-success)}.toast-error{border-left-color:#ef4444;border-left-color:var(--color-error)}.toast-warning{border-left-color:#f59e0b;border-left-color:var(--color-warning)}.toast-info{border-left-color:#3b82f6;border-left-color:var(--color-info)}@keyframes toast-in{0%{opacity:0;transform:translateX(420px)}to{opacity:1;transform:translateX(0)}}@keyframes toast-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(420px)}}.toast-icon{flex-shrink:0;font-size:1.1rem;margin-top:1px}.toast-body{flex:1 1}.toast-title{color:#1e293b;color:var(--color-text);font-size:.88rem;font-weight:600;margin:0 0 2px}.toast-message{color:#475569;color:var(--color-text-secondary);font-size:.82rem;line-height:1.4;margin:0}.toast-close{background:none;border:none;color:#94a3b8;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;font-size:1rem;line-height:1;padding:0}.field-error{align-items:center;color:#ef4444;color:var(--color-error);display:flex;font-size:.78rem;gap:4px;line-height:1.4;margin-top:4px;margin-top:var(--sp-1)}button:active{transform:scale(.97);transition:transform .1s ease;transition:transform var(--transition-fast)}.card-hover{transition:box-shadow .15s ease,transform .15s ease;transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.card-hover:hover{box-shadow:0 8px 24px #5b4b8a29;box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}@keyframes modal-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-animate{animation:modal-in ease .25s ease both;animation:modal-in var(--transition-modal) ease both}@keyframes list-in{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.list-cascade>*{animation:list-in .2s ease both}.list-cascade>:first-child{animation-delay:0ms}.list-cascade>:nth-child(2){animation-delay:30ms}.list-cascade>:nth-child(3){animation-delay:60ms}.list-cascade>:nth-child(4){animation-delay:90ms}.list-cascade>:nth-child(5){animation-delay:.12s}.list-cascade>:nth-child(n+6){animation-delay:.15s}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:768px){.modal-overlay{align-items:flex-end!important;padding:0!important}.modal-content,[class*=Modal]>div,[class*=modal-content]{animation:slideUpMobile .3s ease-out!important;border-radius:16px 16px 0 0!important;margin:0!important;max-height:92vh!important;max-width:100%!important;overflow-y:auto!important;width:100%!important}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-content table,[class*=modal-content] table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.modal-footer{flex-direction:column-reverse!important}.modal-btn{width:100%!important}}.mob-shell{background:#f8f6f3;display:flex;flex-direction:column;font-family:inherit;inset:0;overflow:hidden;position:fixed}.mob-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding-bottom:68px}.mob-screen{animation:mobFadeUp .22s ease forwards;min-height:calc(100dvh - 68px)}.mob-nav{background:#fff;border-top:1px solid #ede9e6;bottom:0;box-shadow:0 -2px 16px #5b4b8a1a;height:68px;left:0;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:100}.mob-nav,.mob-nav__item{align-items:center;display:flex}.mob-nav__item{-webkit-tap-highlight-color:transparent;background:none;border:none;color:#b8acd8;cursor:pointer;flex:1 1;flex-direction:column;font-size:10px;font-weight:500;gap:3px;padding:8px 0;transition:color .18s}.mob-nav__item--active{color:#5b4b8a}.mob-nav__item--active .mob-nav__icon{background:#5b4b8a1a;border-radius:12px}.mob-nav__icon{padding:4px 10px;transition:background .18s}.mob-header{background:linear-gradient(160deg,#5b4b8a,#4a3b72);color:#fff;padding:14px 20px 18px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.mob-header--blue{background:linear-gradient(160deg,#1565c0,#0d47a1)}.mob-header__row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.mob-header__title{font-size:18px;font-weight:700;letter-spacing:-.2px;margin:0}.mob-header__subtitle{font-size:12px;margin:2px 0 0;opacity:.72}.mob-header__action{-webkit-tap-highlight-color:transparent;align-items:center;background:#ffffff2e;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:5px;padding:7px 13px;transition:background .15s}.mob-header__action:active{background:#ffffff47}.mob-month-nav{align-items:center;background:#ffffff21;border-radius:10px;display:flex;justify-content:space-between;padding:6px 10px}.mob-month-nav__btn{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;color:#ffffffd9;cursor:pointer;display:flex;padding:2px;transition:opacity .15s}.mob-month-nav__btn:active{opacity:.6}.mob-month-nav__label{color:#fff;font-size:14px;font-weight:600}.mob-balance-card{background:linear-gradient(135deg,#5b4b8a,#4a3b72);border-radius:20px;box-shadow:0 8px 24px #5b4b8a47;color:#fff;margin:16px;padding:22px 20px}.mob-balance-card__label{font-size:12px;font-weight:500;letter-spacing:.3px;margin:0 0 4px;opacity:.75}.mob-balance-card__value{font-size:30px;font-weight:700;letter-spacing:-.5px;margin:0 0 18px}.mob-balance-card__value--positive{color:#a5d6a7}.mob-balance-card__value--negative{color:#ef9a9a}.mob-balance-card__stats{display:flex;gap:10px}.mob-balance-card__stat{background:#ffffff1f;border-radius:10px;flex:1 1;min-width:0;padding:8px}.mob-balance-card__stat-label{font-size:9px;font-weight:500;letter-spacing:.3px;margin:0 0 3px;opacity:.72;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.mob-balance-card__stat-value{font-size:12px;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mob-section{padding:0 16px 8px}.mob-section__title{align-items:center;color:#1a1a2e;display:flex;font-size:14px;font-weight:700;gap:6px;margin:0 0 10px}.mob-stats-row{display:flex;gap:10px;padding:16px 16px 8px}.mob-stat-card{background:#fff;border-radius:12px;box-shadow:0 1px 8px #0000000f;flex:1 1;padding:12px 14px}.mob-stat-card__label{color:#9b8dc6;font-size:11px;font-weight:500;margin:0 0 4px}.mob-stat-card__value{color:#1a1a2e;font-size:15px;font-weight:700;margin:0}.mob-stat-card__value--green{color:#4caf50}.mob-stat-card__value--red{color:#e8927c}.mob-stat-card__value--purple{color:#5b4b8a}.mob-pills{display:flex;gap:8px;overflow-x:auto;padding:8px 16px 12px;scrollbar-width:none}.mob-pills::-webkit-scrollbar{display:none}.mob-pill{-webkit-tap-highlight-color:transparent;background:#fff;border:1.5px solid #e0daf5;border-radius:20px;color:#5b4b8a;cursor:pointer;flex-shrink:0;font-size:12px;font-weight:600;padding:6px 14px;transition:all .15s;white-space:nowrap}.mob-pill--active{background:#5b4b8a;border-color:#5b4b8a;color:#fff}.mob-tx-list{display:flex;flex-direction:column;gap:8px;padding:0 16px 8px}.mob-tx-item{-webkit-tap-highlight-color:transparent;align-items:center;animation:mobFadeUp .2s ease forwards;background:#fff;border-radius:12px;box-shadow:0 1px 6px #0000000d;cursor:default;display:flex;gap:12px;padding:12px 14px}.mob-tx-bar{border-radius:2px;flex-shrink:0;height:36px;width:4px}.mob-tx-info{flex:1 1;min-width:0}.mob-tx-desc{color:#1a1a2e;font-size:13px;font-weight:600;margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mob-tx-meta{color:#9b8dc6;font-size:11px;margin:0}.mob-tx-right{flex-shrink:0;text-align:right}.mob-tx-value{display:block;font-size:14px;font-weight:700;margin-bottom:2px}.mob-tx-type{font-size:10px;font-weight:500;opacity:.7}.mob-budget-list{display:flex;flex-direction:column;gap:8px;padding:0 16px 8px}.mob-budget-item{animation:mobFadeUp .2s ease forwards;background:#fff;border-radius:12px;box-shadow:0 1px 6px #0000000d;padding:14px}.mob-budget-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.mob-budget-name{color:#1a1a2e;font-size:13px;font-weight:700;margin:0}.mob-budget-type{color:#9b8dc6;font-size:10px;margin:2px 0 0}.mob-budget-amount{color:#5b4b8a;font-size:14px;font-weight:700;margin:0}.mob-budget-estimated{color:#9b8dc6;font-size:10px;margin:2px 0 0;text-align:right}.mob-progress-bar{background:#f0ecf9;border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.mob-progress-fill{border-radius:3px;height:100%;transition:width .7s ease}.mob-budget-meta{color:#9b8dc6;display:flex;font-size:11px;justify-content:space-between}.mob-budget-categories{border-top:1px solid #f5f3fb;display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:8px}.mob-cat-item{align-items:center;display:flex;font-size:12px;gap:8px}.mob-cat-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.mob-cat-name{color:#495057;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mob-cat-value{color:#1a1a2e;font-weight:600}.mob-obj-list{display:flex;flex-direction:column;gap:12px;padding:0 16px 8px}.mob-obj-card{animation:mobFadeUp .25s ease forwards;background:#fff;border-left:4px solid #1565c0;border-radius:16px;box-shadow:0 2px 10px #0000000f;padding:16px}.mob-obj-card--retirement{border-left-color:#9b8dc6}.mob-obj-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.mob-obj-name{color:#1a1a2e;flex:1 1;font-size:14px;font-weight:700;margin:0 0 4px;padding-right:8px}.mob-obj-badge{border-radius:10px;flex-shrink:0;font-size:10px;font-weight:600;padding:3px 8px}.mob-obj-badge--active{background:#e3f2fd;color:#1565c0}.mob-obj-badge--completed{background:#e8f5e9;color:#2e7d32}.mob-obj-progress-bar{background:#e3f2fd;border-radius:4px;height:7px;margin-bottom:12px;overflow:hidden}.mob-obj-progress-fill{background:linear-gradient(90deg,#1565c0,#42a5f5);border-radius:4px;height:100%;transition:width .8s ease}.mob-obj-progress-fill--retirement{background:linear-gradient(90deg,#5b4b8a,#9b8dc6)}.mob-obj-stats{display:flex;gap:10px}.mob-obj-stat{background:#f8f9fa;border-radius:8px;flex:1 1;padding:8px 10px}.mob-obj-stat__label{color:#9b8dc6;font-size:10px;font-weight:500;margin:0 0 2px}.mob-obj-stat__value{color:#1a1a2e;font-size:13px;font-weight:700;margin:0}.mob-fab{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,#5b4b8a,#4a3b72);border:none;border-radius:50%;bottom:84px;box-shadow:0 4px 16px #5b4b8a61;color:#fff;cursor:pointer;display:flex;height:52px;justify-content:center;position:fixed;right:20px;transition:transform .18s,box-shadow .18s;width:52px;z-index:50}.mob-fab--blue{background:linear-gradient(135deg,#1565c0,#0d47a1);box-shadow:0 4px 16px #1565c061}.mob-fab:active{box-shadow:0 2px 8px #5b4b8a40;transform:scale(.9)}.mob-empty{color:#9b8dc6;padding:48px 20px;text-align:center}.mob-empty__icon{margin-bottom:12px;opacity:.6}.mob-empty p{color:#6c757d;font-size:14px;margin:0}.mob-loading{display:flex;justify-content:center;padding:48px 20px}.mob-spinner{animation:mobSpin .75s linear infinite;border:3px solid #e0daf5;border-radius:50%;border-top-color:#5b4b8a;height:30px;width:30px}.mob-filter-overlay{display:flex;flex-direction:column;inset:0;justify-content:flex-end;position:fixed;z-index:300}.mob-filter-backdrop{animation:mobFadeIn .2s ease;background:#00000073;flex:1 1}.mob-filter-panel{animation:mobSlideUp .25s ease;background:#fff;border-radius:20px 20px 0 0;max-height:85dvh;overflow-y:auto;padding:12px 20px 40px}.mob-filter-handle{background:#e0daf5;border-radius:2px;height:4px;margin:0 auto 18px;width:36px}.mob-filter-title{color:#1a1a2e;font-size:16px;font-weight:700;margin:0 0 20px}.mob-filter-section{margin-bottom:18px}.mob-filter-label{color:#9b8dc6;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.mob-filter-search{background:#faf9ff;border:1.5px solid #e0daf5;border-radius:10px;box-sizing:border-box;color:#1a1a2e;font-size:14px;outline:none;padding:10px 14px;transition:border-color .15s;width:100%}.mob-filter-search:focus{border-color:#5b4b8a}.mob-filter-pills{display:flex;flex-wrap:wrap;gap:7px}.mob-filter-footer{display:flex;gap:10px;margin-top:20px}.mob-filter-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:opacity .15s}.mob-filter-btn--clear{background:#f0ecf9;color:#5b4b8a}.mob-filter-btn--apply{background:linear-gradient(135deg,#5b4b8a,#4a3b72);color:#fff}.mob-filter-active-dot{background:#e8927c;border-radius:50%;display:inline-block;height:7px;margin-left:4px;vertical-align:middle;width:7px}.mob-action-btn{align-items:center;background:#f7f5ff;border:none;border-radius:12px;color:#3d2f6e;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:12px;padding:14px 16px;text-align:left;transition:background .15s,opacity .15s;width:100%}.mob-action-btn:active{opacity:.75}.mob-action-btn--danger{background:#fff1f1;color:#dc2626}@keyframes mobFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes mobSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes mobFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mobSpin{to{transform:rotate(1turn)}}.login-page-wrapper{background:var(--gradient-primary);height:100vh;left:0;margin:0;position:fixed;top:0}.login-container,.login-page-wrapper{align-items:center;display:flex;justify-content:center;width:100%}.login-box{background:#fff;border-radius:12px;box-shadow:0 4px 8px #0003;padding:40px;text-align:center;width:400px}.login-title{color:var(--color-text);font-size:28px;margin-bottom:10px}.login-subtitle{color:var(--color-text-muted);font-size:14px;margin-bottom:20px}.input-group{margin-bottom:15px;position:relative}.password-toggle-btn{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:18px;padding:0;position:absolute;right:12px;top:12px}.password-toggle-btn:hover{color:var(--color-text)}.password-hint{background-color:var(--color-primary-bg);border-left:4px solid var(--color-primary);border-radius:4px;margin-top:8px;padding:12px;text-align:left;transition:all .3s ease;-webkit-user-select:none;user-select:none}.password-hint:hover{background-color:var(--color-primary-lighter)}.password-hint small{color:var(--color-primary-dark);font-size:12px;line-height:1.6}.password-hint strong{align-items:center;color:var(--color-primary-deeper);display:flex;font-size:13px}.login-input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;padding:12px;width:100%}.login-button{background:var(--color-primary);border:none;border-radius:var(--btn-radius);color:#fff;cursor:pointer;font-family:var(--font-family);font-size:16px;font-weight:600;padding:12px;transition:background var(--transition-normal),transform var(--transition-fast);width:100%}.login-button:hover{background:var(--color-primary-dark)}.login-button:active{transform:scale(.97)}.signup-link{color:var(--color-text-muted);margin-top:15px}.confirmBox{animation:slideInDown .5s ease-out,pulse 2s ease-in-out infinite;margin-top:16px}.confirmBox:before{background-color:#fff;border-radius:50%;color:#059669;content:"✓";display:inline-block;font-size:16px;font-weight:700;height:24px;line-height:24px;margin-right:8px;text-align:center;vertical-align:middle;width:24px}.confirmText{display:inline;vertical-align:middle}.forgot-link a,.signup-link a{color:var(--color-primary);font-weight:600;text-align:left;text-decoration:none}.terms-container{align-items:center;color:#000;display:flex;font-size:13px;margin-bottom:0}.terms-container input[type=checkbox]{margin-right:8px}.terms-container a{color:var(--color-primary);font-weight:600;margin-left:4px;text-decoration:none}.terms-container a:hover{text-decoration:underline}.errorBox{animation:fadeIn .5s ease-in-out;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:5px;box-shadow:0 2px 5px #0003;color:#721c24;margin:10px 0;padding:10px}.spinner{border-top:3px solid var(--color-border);border:3px solid var(--color-border);border-top-color:var(--color-primary);margin:0 auto}.confirmBox{animation:slideInDown .5s ease-out;background:linear-gradient(135deg,#10b981,#059669);border:2px solid #059669;border-radius:12px;box-shadow:0 4px 12px #10b9814d;margin-top:20px;padding:16px}.confirmText{color:#fff;font-size:14px;font-weight:500;line-height:1.5;margin:0;text-align:center}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.errorBox{animation:slideInDown .5s ease-out;background:linear-gradient(135deg,#ef4444,#dc2626);border:2px solid #dc2626;border-radius:12px;box-shadow:0 4px 12px #ef44444d;margin-top:20px;padding:16px}.errorText{color:#fff;font-size:14px;font-weight:500;line-height:1.5;margin:0;text-align:center}*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{background:#f8f6f3!important;overflow:hidden}#root,body,html{height:100%;width:100%}#root{background:#0000}.dashboard-layout{margin:0;min-height:100vh;overflow:hidden;padding:0;position:relative;width:100%}.sidebar nav a{color:inherit;outline:none}.sidebar nav a,.sidebar nav a:focus,.sidebar nav a:hover{text-decoration:none}.menu-item{border-radius:4px;padding:15px 20px;transition:background .2s}.menu-item:hover{background:#4a3b72}.menu-item.active{background:#e8927c}.sidebar{background:#5b4b8a;box-shadow:2px 0 8px #00000026;color:#f8f6f3;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:220px;z-index:1000}@media (max-width:768px){.sidebar{display:none}}.sidebar-header{border-bottom:1px solid #f8f6f326;padding:16px 0 12px;text-align:center}.sidebar-logo-img{background:#f8f6f3;border-radius:8px;display:block;height:auto;margin:0 auto;object-fit:contain;padding:6px 10px;width:140px}.group-selector{background:#4a3b72;border-left:3px solid #e8927c;border-radius:6px;margin:12px;padding:12px 16px}.group-selector-label{color:#c4b8e0;display:block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.group-selector-dropdown{background:#5b4b8a;border:1px solid #9b8dc6;border-radius:4px;color:#f8f6f3;cursor:pointer;font-size:.9rem;padding:8px 10px;transition:all .2s ease;width:100%}.group-selector-dropdown:hover{background:#4a3b72;border-color:#e8927c}.group-selector-dropdown:focus{border-color:#e8927c;box-shadow:0 0 0 2px #e8927c40;outline:none}.group-selector-dropdown option{background:#5b4b8a;color:#f8f6f3;padding:8px}.sidebar nav{display:flex;flex-direction:column;gap:0}.sidebar nav>*{margin:0}.sidebar-menu{list-style:none;margin:0;padding:0}.menu-item{align-items:center;cursor:pointer;display:flex;gap:10px;padding:12px 20px;transition:background .3s ease}.menu-icon{font-size:20px}.menu-item.active,.menu-item:hover{background:#4a3b72;border-left:4px solid #e8927c}.menu-item span{font-size:1rem}.menu-item-button{background:#0000;border:none;color:#f8f6f3;font-family:inherit;font-size:inherit;text-align:left;width:100%}.menu-item-button:hover{background:#4a3b72;border-left:4px solid #e8927c}.menu-section{margin:0;padding:0}.submenu{animation:slideDown .3s ease;background-color:#4a3b72;border-left:2px solid #9b8dc6;margin:0 0 0 20px;padding:0}.submenu-item{background-color:initial;font-size:.9rem;padding-left:48px!important}.submenu-item:hover{background:#3d3066!important;border-left:3px solid #e8927c}.menu-item-button svg{margin-left:0}.bottom-nav{display:none}@media (max-width:768px){.bottom-nav{background:#5b4b8a;border-top:1px solid #4a3b72;bottom:0;box-shadow:0 -2px 10px #0003;display:flex;height:60px;left:0;position:fixed;right:0;z-index:1001}.bottom-nav-item{align-items:center;background:#0000;border:none;color:#c4b8e0;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:inherit;font-size:0;gap:3px;justify-content:center;padding:6px 4px;text-decoration:none;transition:color .2s,background .2s}.bottom-nav-item svg{flex-shrink:0;font-size:20px;height:22px;width:22px}.bottom-nav-label{font-size:10px;font-weight:500;line-height:1;white-space:nowrap}.bottom-nav-item.active,.bottom-nav-item:hover{background:#e8927c1a;color:#e8927c}.bottom-nav-item.active{border-top:2px solid #e8927c}}.quick-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.quick-modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.quick-modal-header{align-items:center;background:var(--gradient-primary);border-bottom:1px solid #fff3;display:flex;justify-content:space-between;padding:20px 25px}.quick-modal-header h2{font-size:1.3rem;font-weight:600;gap:8px;margin:0}.quick-modal-close,.quick-modal-header h2{align-items:center;color:#fff;display:flex}.quick-modal-close{background:#fff3;border:none;border-radius:6px;cursor:pointer;font-size:1.5rem;height:32px;justify-content:center;line-height:1;transition:all .2s;width:32px}.quick-modal-close:hover:not(:disabled){background:#ffffff4d;transform:rotate(90deg)}.quick-modal-close:disabled{cursor:not-allowed;opacity:.5}.quick-modal-body{max-height:calc(90vh - 140px);overflow-y:auto;padding:25px}.quick-form-group{margin-bottom:20px}.quick-form-group:last-of-type{margin-bottom:0}.quick-form-group label{color:#333;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.quick-form-group input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 15px;transition:all .2s;width:100%}.quick-form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #5b4b8a1a;outline:none}.quick-form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.quick-form-group input::placeholder{color:#999}.quick-error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33}.quick-error-message,.quick-success-message{align-items:center;display:flex;font-size:.9rem;gap:8px;margin-bottom:20px;padding:12px 15px}.quick-success-message{background-color:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;color:#2e7d32}.quick-modal-footer{border-top:1px solid #f0f0f0;display:flex;gap:12px;margin-top:20px;padding-top:20px}.quick-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:6px;justify-content:center;padding:12px 20px;transition:all .2s}.quick-btn-cancel{background-color:#f5f5f5;color:#666}.quick-btn-cancel:hover:not(:disabled){background-color:#e0e0e0}.quick-btn-save{background:var(--gradient-primary);box-shadow:0 4px 12px #5b4b8a4d;color:#fff}.quick-btn-save:hover:not(:disabled){box-shadow:0 6px 20px #5b4b8a66;transform:translateY(-2px)}.quick-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:600px){.quick-modal-content{margin:10px;width:95%}.quick-modal-header{padding:16px 20px}.quick-modal-header h2{font-size:1.1rem}.quick-modal-body{padding:20px}.quick-modal-footer{flex-direction:column}.quick-btn{width:100%}}.chart-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px;transition:all .3s}.chart-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.chart-empty{color:#999;font-size:.9rem;padding:40px 20px;text-align:center}.chart-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.chart-header h3{color:#333;font-size:1.2rem;font-weight:700;margin:0}.debt-total,.total-investment{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;font-size:1.3rem;font-weight:700}.chart-legend{display:flex;gap:20px}.legend-item{align-items:center;color:#666;display:flex;font-size:.85rem;font-weight:500;gap:6px}.legend-dot{border-radius:50%;height:12px;width:12px}.legend-dot.revenue{background:var(--color-income)}.legend-dot.expense{background:var(--color-expense)}.chart-content{margin-bottom:20px}.bar-chart{overflow:visible}.bar{cursor:pointer;transition:all .3s}.bar:hover{opacity:.8;transform:scaleY(1.05);transform-origin:bottom}.revenue-bar{fill:url(#revenueGradient)}.expense-bar{fill:url(#expenseGradient)}.bar-chart .revenue-bar{fill:var(--color-income)}.bar-chart .expense-bar{fill:var(--color-expense)}.chart-label{fill:#666;font-size:11px;font-weight:500}.chart-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-top:20px}.summary-item{background:#f8f9fa;border-left:4px solid;border-radius:8px;padding:12px;text-align:center}.summary-item.revenue-summary{border-color:var(--color-income)}.summary-item.expense-summary{border-color:var(--color-expense)}.summary-item.profit-summary{border-color:#4caf50}.summary-label{color:#666;display:block;font-size:.75rem;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.summary-value{color:#333;display:block;font-size:1.1rem;font-weight:700}.pie-chart-container{align-items:center;display:flex;gap:30px;justify-content:space-between}.pie-chart{flex-shrink:0}.pie-slice{cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:all .3s}.pie-slice:hover{filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));opacity:1!important;transform:scale(1.05);transform-origin:center}.pie-legend{display:flex;flex:1 1;flex-direction:column;gap:12px}.pie-legend-item{border-radius:6px;gap:10px;padding:8px;transition:background-color .2s}.pie-legend-item:hover{background-color:#f8f9fa}.pie-dot{border-radius:50%;flex-shrink:0;height:14px;width:14px}.pie-label{color:#333;flex:1 1;font-size:.9rem;font-weight:500}.pie-value{color:#666;font-size:.9rem;font-weight:600}.debt-progress-list{gap:20px;margin-bottom:20px}.debt-item,.debt-progress-list{display:flex;flex-direction:column}.debt-item{gap:8px}.debt-info{align-items:center;display:flex;justify-content:space-between}.debt-name{color:#333;font-size:.9rem;font-weight:600}.debt-amount{color:#666;font-size:.85rem}.progress-bar{background-color:#f0f0f0;height:24px;width:100%}.progress-bar,.progress-fill{border-radius:12px;position:relative}.progress-fill{align-items:center;display:flex;justify-content:flex-end;padding-right:12px;transition:width 1s ease-out}.progress-label{color:#fff;font-size:.75rem;font-weight:600;text-shadow:0 1px 2px #0003}.debt-summary{grid-gap:12px;border-top:2px solid #f0f0f0;display:grid;gap:12px;grid-template-columns:1fr 1fr;padding-top:20px}.debt-summary-item{background:#f8f9fa;border-radius:8px;padding:12px;text-align:center}.debt-summary-label{color:#666;display:block;font-size:.75rem;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.debt-summary-value{display:block;font-size:1.1rem;font-weight:700}.debt-summary-value.paid{color:#4caf50}.debt-summary-value.remaining{color:#f44336}@media (max-width:768px){.chart-summary{grid-template-columns:1fr}.chart-legend,.pie-chart-container{flex-direction:column}.chart-legend{gap:8px}.debt-summary{grid-template-columns:1fr}}@media (max-width:480px){.chart-card{padding:15px}.chart-header h3{font-size:1rem}.debt-total,.total-investment{font-size:1.1rem}}.chart-card{animation:slideIn .5s ease-out}.chart-card:first-child{animation-delay:0s}.chart-card:nth-child(2){animation-delay:.1s}.chart-card:nth-child(3){animation-delay:.2s}.dashboard-main{bottom:0;box-sizing:border-box;left:220px;overflow:hidden;padding:20px;position:fixed;right:0;top:0}.dashboard-container{background-color:#fff;border-radius:16px;box-shadow:0 12px 48px #00000026;box-sizing:border-box;display:flex;flex-direction:column;height:calc(100vh - 40px);margin:0 auto;max-width:2600px}.dashboard-header{align-items:center;background:linear-gradient(180deg,#fff 0,#fafafa);border-bottom:2px solid #f0f0f0;border-radius:16px 16px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 28px}.header-left h1{color:var(--color-text);font-size:1.75rem;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}.dashboard-subtitle{color:var(--color-text-muted);font-size:.9rem;font-weight:400}.month-selector{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;gap:12px;padding:6px 12px}.month-nav-btn,.month-selector{align-items:center;display:flex}.month-nav-btn{background:none;border:none;border-radius:4px;color:#555;cursor:pointer;justify-content:center;padding:4px;transition:background-color .2s,color .2s}.month-nav-btn:hover{background-color:var(--color-primary-bg);color:var(--color-primary)}.month-label{color:var(--color-text);font-size:1rem;font-weight:600;min-width:160px;text-align:center;-webkit-user-select:none;user-select:none}.logout-btn{background-color:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:12px 24px;transition:background-color .2s}.logout-btn:hover{background-color:#d32f2f}.dashboard-content{background-color:#fff;flex:1 1;min-height:0;overflow-y:auto;padding:28px 32px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:30px}.stat-card{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;display:flex;gap:15px;padding:20px;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:2rem;height:60px;justify-content:center;width:60px}.stat-blue .stat-icon{background-color:var(--color-primary-bg)}.stat-green .stat-icon{background-color:#e8f5e9}.stat-orange .stat-icon{background-color:#fff3e0}.stat-purple .stat-icon{background-color:#f3e5f5}.stat-info{flex:1 1}.stat-label{color:#666;font-size:.85rem;font-weight:500;letter-spacing:.5px;margin:0 0 5px;text-transform:uppercase}.stat-value{color:#333;font-size:1.8rem;font-weight:700;margin:0}.stat-estimated{color:#888;font-size:.78rem;margin:4px 0 0}.charts-section{margin:30px 0}.section-title{border-bottom:3px solid #f0f0f0;color:#333;font-size:1.4rem;font-weight:700;margin:0 0 20px;padding-bottom:10px;position:relative}.section-title:before{background:var(--gradient-primary);bottom:-3px;content:"";height:3px;left:0;position:absolute;width:60px}.charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.content-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(1600px,1fr))}.content-box{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;padding:20px}.content-title{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 20px}.activity-list{display:flex;flex-direction:column;gap:0}.activity-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;gap:12px;padding:15px 0}.activity-item:last-child{border-bottom:none}.activity-dot{border-radius:50%;flex-shrink:0;height:12px;margin-top:4px;width:12px}.dot-blue{background-color:var(--color-primary)}.dot-green{background-color:#4caf50}.dot-orange{background-color:#ff9800}.dot-purple{background-color:#9c27b0}.activity-text-wrapper{flex:1 1}.activity-text{color:#333;font-size:.9rem;font-weight:500;margin:0 0 4px}.activity-time{color:#999;font-size:.8rem;margin:0}.actions-list{display:flex;flex-direction:column;gap:12px}.quick-action-btn{align-items:center;background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:12px;padding:15px;text-align:left;transition:all .2s;width:100%}.quick-action-btn:hover{background-color:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary);transform:translateX(4px)}.quick-action-btn-highlight{background:var(--gradient-primary);border-color:#0000;box-shadow:0 4px 12px #5b4b8a4d;color:#fff;font-weight:600}.quick-action-btn-highlight:hover{border-color:#0000;box-shadow:0 6px 20px #5b4b8a66;opacity:.92;transform:translateX(4px) translateY(-2px)}.action-icon{flex-shrink:0;font-size:1.5rem}@media (max-width:768px){.dashboard-main{left:0;padding:8px 8px 68px}.dashboard-container{border-radius:12px;height:calc(100vh - 76px)}.dashboard-header{align-items:flex-start;flex-direction:column;gap:10px;padding:12px 16px}.header-left h1{font-size:1.3rem}.month-selector{justify-content:space-between;width:100%}.month-label{font-size:.9rem;min-width:120px}.logout-btn{padding:10px;width:100%}.dashboard-content{padding:12px}.stats-grid{gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.stat-card{gap:10px;padding:12px}.stat-icon{font-size:1.4rem;height:44px;width:44px}.stat-value{font-size:1.3rem}.stat-label{font-size:.75rem}.charts-grid{gap:12px}.charts-grid,.content-grid{grid-template-columns:1fr}.section-title{font-size:1.1rem}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:1.1rem}.dashboard-content{padding:10px}}.modal-overlay{animation:fadeIn .2s ease-in-out}.modal-content{max-width:450px}.modal-header{border-bottom:1px solid #e0e0e0;padding:24px 24px 16px}.modal-header h2{color:#333;font-size:1.3rem;font-weight:600;margin:0}.modal-body p{color:#666;font-size:1rem;line-height:1.5;margin:0}.modal-footer{padding:16px 24px 24px}.modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 24px;transition:all .2s}.modal-btn-cancel{background-color:#f5f5f5;color:#666}.modal-btn-cancel:hover{background-color:#e0e0e0}.modal-btn-confirm{background-color:#f44336;color:#fff}.modal-btn-confirm:hover{background-color:#d32f2f;box-shadow:0 4px 8px #f443364d;transform:translateY(-1px)}@media (max-width:480px){.modal-content{margin:20px;max-width:none;width:95%}.modal-footer{flex-direction:column-reverse}.modal-btn{width:100%}}.clients-main{background-color:#f4f6f8;flex:1 1;height:100vh;overflow:hidden;padding:20px}.clients-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:calc(100vh - 40px)}.clients-header{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 30px}.header-left h1{color:#333;font-size:1.8rem;font-weight:600;margin:0 0 5px}.clients-count{color:#666;font-size:.9rem}.add-client-btn{background-color:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:12px 24px;transition:background-color .2s}.add-client-btn:hover{background-color:var(--color-primary-dark)}.clients-filters{background-color:#fafafa;border-bottom:1px solid #e0e0e0;padding:20px 30px}.alphabet-filter{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:15px}.filter-btn{background:none;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:all .2s}.filter-btn:hover{background-color:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary)}.filter-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.search-filters{align-items:center;display:flex;gap:15px}.clients-table-container{flex:1 1;overflow-y:auto;padding:0 30px 20px}.clients-table{background-color:#fff;border-collapse:collapse;width:100%}.clients-table thead{background-color:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.clients-table th{border-bottom:2px solid #e0e0e0;color:#555;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:15px 12px;text-align:left;text-transform:uppercase}.clients-table th.checkbox-col{text-align:center;width:40px}.clients-table td{border-bottom:1px solid #f0f0f0;padding:15px 12px;vertical-align:middle}.clients-table tr:hover{background-color:#f8f9fa}.client-type-icon{display:flex;font-size:1.2rem;justify-content:center}.client-name{align-items:center;display:flex}.name-link{color:var(--color-primary);cursor:pointer;font-weight:500;text-decoration:none;transition:color .2s}.name-link:hover{color:var(--color-primary-dark);text-decoration:underline}.actions-buttons{display:flex;gap:8px}.action-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:6px 8px;transition:background-color .2s}.action-btn:hover{background-color:#f0f0f0}.view-btn:hover{background-color:var(--color-primary-bg)}.edit-btn:hover{background-color:#fff3e0}.delete-btn:hover{background-color:#ffebee}.empty-state,.loading{align-items:center;color:#666;display:flex;font-style:italic;height:200px;justify-content:center}.empty-state p{font-size:1.1rem;margin:0}@media (max-width:768px){.clients-main{padding:10px}.clients-header{flex-direction:column;gap:15px}.clients-filters,.clients-header{padding:15px 20px}.alphabet-filter{justify-content:center}.clients-table-container{overflow-x:auto;padding:0 20px 15px}.clients-table{min-width:600px}.actions-buttons{flex-direction:column;gap:4px}}@media (max-width:480px){.clients-header h1{font-size:1.5rem}.clients-table td,.clients-table th{font-size:.85rem;padding:10px 8px}.modal{max-width:300px;padding:20px}}.mensagens-main{background-color:#f4f6f8;flex:1 1;height:99vh;overflow:hidden;padding:20px;width:160vh}.mensagens-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;height:calc(100vh - 40px);overflow:hidden}.chats-panel{border-right:1px solid #e0e0e0;color:#fff;flex-direction:column;width:320px}.chats-header,.chats-panel{background-color:var(--color-text);display:flex}.chats-header{align-items:center;border-bottom:1px solid #34495e;flex-shrink:0;justify-content:space-between;padding:20px}.chats-header h2{color:#fff;flex:1 1;font-size:1.4rem;font-weight:600;margin:0;text-align:center}.refresh-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.2rem;padding:8px;transition:background-color .2s}.refresh-btn:hover{background-color:#34495e}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.search-form{border-bottom:1px solid #34495e;display:flex;flex-shrink:0;gap:8px;height:40px;padding:4px 10px}.search-input{background-color:#34495e;border:1px solid #34495e;border-radius:20px;color:#fff;flex:1 1;font-size:.9rem;padding:8px 12px}.search-input::placeholder{color:#bdc3c7}.search-input:focus{background-color:var(--color-text);border-color:var(--color-primary);outline:none}.search-btn{align-items:center;background:var(--color-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.9rem;height:35px;justify-content:center;transition:background-color .2s;width:35px}.search-btn:hover:not(:disabled){background-color:#3498db}.search-btn:disabled{cursor:not-allowed;opacity:.5}.client-redirect-info{align-items:center;background-color:#4cacfe33;border-left:3px solid var(--color-primary);color:#ecf0f1;display:flex;flex-shrink:0;font-size:.85rem;gap:8px;padding:8px 20px}.chats-list{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:0}.chat-item{align-items:center;border-bottom:1px solid #34495e;color:#fff;cursor:pointer;display:flex;flex-shrink:0;padding:12px 20px;position:relative;transition:background-color .2s}.chat-item.selected,.chat-item:hover{background-color:#34495e}.chat-item.selected{border-left:3px solid var(--color-primary)}.chat-avatar{align-items:center;background-color:var(--color-primary);border-radius:50%;color:#fff;flex-shrink:0;font-size:1.1rem;font-weight:700;height:45px;margin-right:15px;width:45px}.chat-avatar,.chat-info{display:flex;justify-content:center}.chat-info{flex:1 1;flex-direction:column;min-width:0}.chat-name{color:#fff;font-size:1rem;font-weight:600;margin-bottom:4px}.chat-last-message,.chat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-last-message{color:#bdc3c7;font-size:.85rem;margin-bottom:2px}.chat-time{color:#95a5a6;font-size:.75rem}.unread-badge{align-items:center;background-color:var(--color-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:20px;justify-content:center;margin-left:10px;width:20px}.messages-panel{flex:1 1;flex-direction:column}.messages-header,.messages-panel{background-color:#fff;display:flex}.messages-header{align-items:center;border-bottom:1px solid #e0e0e0;flex-shrink:0;justify-content:space-between;padding:20px}.chat-participant,.participant-avatar{align-items:center;display:flex}.participant-avatar{background-color:var(--color-primary);border-radius:50%;color:#fff;flex-shrink:0;font-weight:700;height:40px;justify-content:center;margin-right:15px;width:40px}.participant-info h3{color:#333;font-size:1.1rem;margin:0 0 2px}.participant-status{color:#4caf50;font-size:.8rem;font-weight:500}.chat-actions{display:flex;gap:8px}.chat-action-btn{background:none;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:1rem;padding:8px;transition:background-color .2s,border-color .2s}.chat-action-btn:hover{background-color:#f5f5f5;border-color:var(--color-primary)}.messages-list{background-color:#f8f9fa;flex:1 1;gap:12px;overflow-y:auto;padding:20px}.message,.messages-list{display:flex;flex-direction:column}.message{word-wrap:break-word;flex-shrink:0;max-width:70%}.message.sent{align-items:flex-end;align-self:flex-end}.message.received{align-items:flex-start;align-self:flex-start}.message-content{border-radius:18px;font-size:.95rem;line-height:1.4;padding:12px 16px}.message.sent .message-content{background-color:var(--color-primary);border-bottom-right-radius:6px;color:#fff}.message.received .message-content{background-color:#fff;border:1px solid #e0e0e0;border-bottom-left-radius:6px;color:#333}.message-time{color:#999;font-size:.7rem;margin-top:4px;padding:0 8px}.message-input-form{background-color:#fff;border-top:1px solid #e0e0e0;flex-shrink:0;padding:20px}.message-input-container{align-items:center;display:flex;gap:12px;max-width:100%}.message-input{background-color:#f8f9fa;border:1px solid #ddd;border-radius:25px;flex:1 1;font-size:.95rem;outline:none;padding:12px 16px;transition:border-color .2s,background-color .2s}.message-input:focus{background-color:#fff;border-color:var(--color-primary)}.send-btn{align-items:center;background-color:var(--color-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:45px;justify-content:center;transition:background-color .2s,transform .1s;width:45px}.send-btn:hover:not(:disabled){background-color:var(--color-primary-dark);transform:scale(1.05)}.send-btn:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.empty-messages,.empty-state,.no-chat-selected{align-items:center;color:#666;display:flex;flex-direction:column;height:100%;justify-content:center;padding:20px;text-align:center}.empty-state{color:#bdc3c7}.no-chat-message h3{color:#333;font-size:1.3rem;margin:0 0 10px}.no-chat-message p{color:#666;font-size:1rem;margin:0 0 8px}.no-chat-message small{color:#999;font-size:.85rem}.empty-messages p,.empty-state p{font-size:1rem;margin:0 0 8px}.empty-messages small{color:#999;font-size:.85rem}.loading{color:#bdc3c7;padding:20px}.error-message{gap:10px;padding:12px 20px}.error-message button{margin-left:10px}@media (max-width:768px){.mensagens-container{flex-direction:column;margin:10px}.chats-panel{border-bottom:1px solid #e0e0e0;border-right:none;height:300px;width:100%}.messages-panel{height:calc(100vh - 340px)}.message{max-width:85%}}@media (max-width:480px){.chats-header{padding:15px}.chat-item{padding:12px 15px}.message-input-form,.messages-header,.messages-list{padding:15px}.message{max-width:90%}}.client-form-main{background-color:#f4f6f8;flex:1 1;height:100vh;overflow:hidden;padding:20px;width:65vw}.client-form-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:calc(100vh - 40px);width:65vw}.form-header{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 30px}.form-header h1{color:#333;font-size:1.8rem;font-weight:600;margin:0}.form-actions{display:flex;gap:15px}.btn-cancel,.btn-save{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:background-color .2s}.btn-cancel:hover:not(:disabled){background-color:#e0e0e0}.btn-save{background-color:var(--color-primary);color:#fff}.btn-save:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-cancel:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.6}.form-tabs{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:.9rem;padding:15px 25px;transition:all .2s}.tab:hover{background-color:var(--color-primary-bg)}.tab.active,.tab:hover{color:var(--color-primary)}.tab.active{background-color:#fff;border-bottom-color:var(--color-primary);font-weight:600}.client-form{flex:1 1;overflow-y:auto;padding:30px}.form-section{margin-bottom:30px}.form-section h3{border-bottom:2px solid #f0f0f0;color:#333;font-size:1.2rem;font-weight:600;margin:0 0 20px;padding-bottom:10px}.form-row{align-items:flex-end;display:flex;gap:20px;margin-bottom:20px}.form-group,.form-group.flex-1{flex:1 1}.form-group.flex-2{flex:2 1}.form-group label{font-size:.9rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:.95rem;padding:12px 15px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2196f31a;outline:none}.form-group textarea{font-family:inherit;line-height:1.5;min-height:100px;resize:vertical}.comments-textarea{min-height:120px;width:100%}.form-group select{cursor:pointer}.array-item{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;position:relative}.array-item,.array-item .form-row{margin-bottom:15px}.array-item .form-row:last-child{margin-bottom:0}.remove-btn{align-self:flex-end;background-color:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;padding:8px 12px;transition:background-color .2s}.remove-btn:hover{background-color:#d32f2f}.add-btn{background-color:initial;border:2px dashed var(--color-primary);border-radius:6px;color:var(--color-primary);cursor:pointer;font-size:.9rem;font-weight:500;margin-top:10px;padding:12px 20px;transition:all .2s}.add-btn:hover{background-color:var(--color-primary-bg);border-style:solid}.form-group label:after{content:""}.form-group input[required]+label:after,label:has(+input[required]):after{color:#f44336;content:" *"}@media (max-width:1000px){.client-form-main{padding:10px}.form-header{flex-direction:column;gap:15px;padding:15px 20px}.form-tabs{flex-wrap:wrap}.tab{font-size:.85rem;padding:12px 15px}.client-form{padding:20px}.form-row{flex-direction:column;gap:15px}.form-group.flex-1,.form-group.flex-2{flex:1 1}.array-item{padding:15px}}@media (max-width:1600px){.form-header h1{font-size:1.5rem}.form-actions{justify-content:space-between;width:100%}.btn-cancel,.btn-save{flex:1 1}.form-tabs{overflow-x:auto}.tab{min-width:120px;white-space:nowrap}.client-form{padding:15px}.form-section h3{font-size:1.1rem}}.client-view-main{background-color:#f4f6f8;flex:1 1;height:100vh;overflow:hidden;padding:20px}.client-view-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:calc(100vh - 40px)}.client-header{background-color:#fff;border-bottom:1px solid #e0e0e0;justify-content:space-between;padding:25px 30px}.client-header,.client-info{align-items:center;display:flex}.client-info{gap:20px}.client-avatar{align-items:center;background:var(--gradient-primary);border-radius:50%;box-shadow:0 4px 12px #5b4b8a4d;color:#fff;display:flex;font-size:2rem;font-weight:700;height:80px;justify-content:center;width:80px}.client-details h1{color:#333;font-size:1.8rem;font-weight:600;margin:0 0 8px}.client-type{background-color:var(--color-primary-bg);border-radius:15px;color:var(--color-primary-dark);display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.5px;margin-bottom:5px;padding:4px 12px;text-transform:uppercase}.client-date{color:#666;display:block;font-size:.9rem}.client-actions{display:flex;gap:12px}.btn-delete,.btn-edit{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:10px 16px;transition:all .2s}.btn-edit{background-color:#ff9800;color:#fff}.btn-edit:hover{background-color:#f57c00;transform:translateY(-1px)}.btn-delete{background-color:#f44336;color:#fff}.btn-delete:hover{background-color:#d32f2f;transform:translateY(-1px)}.view-tabs{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;overflow-x:auto}.view-tabs .tab{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:.9rem;min-width:100px;padding:15px 20px;transition:all .2s;white-space:nowrap}.view-tabs .tab:hover{background-color:var(--color-primary-bg);color:var(--color-primary)}.view-tabs .tab.active{background-color:#fff;border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:600}.tab-content{padding:30px}.cadastro-content{margin:0 auto;max-width:1000px}.documentos-content{margin:0 auto;max-width:800px}.info-section{background-color:#fafafa;border:1px solid #f0f0f0;border-radius:8px;margin-bottom:35px;padding:25px}.info-section h3{border-bottom:2px solid #e0e0e0;color:#333;font-size:1.3rem;font-weight:600;margin:0 0 20px;padding-bottom:12px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column}.info-item label{color:#555;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.info-item span{word-wrap:break-word;color:#333;font-size:1rem;padding:8px 0}.contact-list{display:flex;flex-direction:column;gap:8px}.contact-item{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:.95rem;padding:10px 15px}.contact-item a{color:var(--color-primary);text-decoration:none}.contact-item a:hover{text-decoration:underline}.operator{color:#666;font-size:.85rem}.address-item{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:15px;padding:20px}.address-details p{color:#333;line-height:1.5;margin:0 0 8px}.address-details p:last-child{margin-bottom:0}.bank-account{margin-bottom:15px}.bank-account,.comments-text{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.comments-text{color:#333;line-height:1.6;white-space:pre-wrap}.empty-tab-content{align-items:center;color:#666;display:flex;flex-direction:column;height:300px;justify-content:center;text-align:center}.empty-tab-content h3{color:#333;font-size:1.3rem;margin:0 0 10px}.empty-tab-content p{font-size:1rem;margin:0}.loading{font-size:1.1rem;font-style:italic;height:200px}.error-state,.loading{align-items:center;color:#666;display:flex;justify-content:center}.error-state{flex-direction:column;height:300px;text-align:center}.error-state h2{color:#333;font-size:1.5rem;margin:0 0 20px}.error-state button{background-color:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:12px 24px;transition:background-color .2s}.error-state button:hover{background-color:var(--color-primary-dark)}.modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:400px;padding:30px;width:90%}.modal h3{color:#333;font-size:1.3rem;margin:0 0 15px}.modal p{color:#666;line-height:1.5;margin:0 0 25px}.modal-actions{display:flex;gap:15px;justify-content:flex-end}.btn-cancel,.btn-confirm{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s}.btn-cancel{background-color:#f5f5f5;color:#666}.btn-cancel:hover{background-color:#e0e0e0}.btn-confirm{background-color:#f44336;color:#fff}.btn-confirm:hover{background-color:#d32f2f}.error-message{background-color:#f44336;border-radius:6px;box-shadow:0 4px 12px #f443364d;color:#fff;gap:15px;max-width:400px;padding:15px 20px;position:fixed;right:20px;top:20px;z-index:1000}.error-message button{background:none;border:none;color:#fff;cursor:pointer;font-size:1.2rem;padding:0}@media (max-width:768px){.client-view-main{padding:10px}.client-header{flex-direction:column;gap:20px;padding:20px;text-align:center}.client-info{flex-direction:column;gap:15px}.client-avatar{height:60px;width:60px}.client-avatar,.client-details h1{font-size:1.5rem}.client-actions{justify-content:center;width:100%}.btn-delete,.btn-edit{flex:1 1;justify-content:center}.view-tabs{justify-content:flex-start}.view-tabs .tab{font-size:.85rem;padding:12px 15px}.tab-content{padding:20px}.info-section{margin-bottom:25px;padding:20px}.info-grid{gap:15px;grid-template-columns:1fr}}@media (max-width:480px){.client-header{padding:15px}.client-details h1{font-size:1.3rem}.client-actions{flex-direction:column;width:100%}.view-tabs .tab{font-size:.8rem;min-width:80px;padding:10px 12px}.info-section,.tab-content{padding:15px}.info-section h3{font-size:1.1rem}.address-item,.bank-account,.contact-item{padding:15px}.modal{max-width:300px;padding:20px}}.device-verification-container{align-items:center;background:#f8f6f3;display:flex;justify-content:center;min-height:100vh;padding:20px;width:100vw}.device-verification-card{animation:slideUp .4s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #5b4b8a33;max-width:600px;overflow:hidden;width:100%}.device-verification-header{background:linear-gradient(135deg,#5b4b8a,#4a3b72);color:#fff;padding:40px 30px;text-align:center}.icon-shield{align-items:center;animation:pulse 2s ease-in-out infinite;background:#fff;border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 20px;width:80px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.device-verification-header h1{font-size:26px;font-weight:700;margin:0 0 8px}.device-verification-header .subtitle{font-size:14px;margin:0;opacity:.85}.device-verification-content{padding:40px 30px}.info-box{background:#f5f3fb;border-left:4px solid #5b4b8a;border-radius:4px;margin-bottom:30px;padding:16px 20px}.info-box p{color:#4a3b72;font-size:14px;line-height:1.5;margin:0 0 8px}.info-box p:last-child{margin-bottom:0}.email-display{color:#5b4b8a;font-size:15px;font-weight:600}.form-group{margin-bottom:24px}.form-group label{color:#1f2937;display:block;font-size:14px;margin-bottom:8px}.code-input{border:2px solid #e5e7eb;border-radius:8px;font-family:Courier New,monospace;font-size:28px;font-weight:700;letter-spacing:12px;padding:16px 20px;text-align:center;transition:all .2s;width:100%}.code-input:focus{border-color:#5b4b8a;box-shadow:0 0 0 3px #5b4b8a26;outline:none}.code-input:disabled{background-color:#f9fafb;cursor:not-allowed}.input-hint{color:#6b7280;display:block;font-size:13px;margin-top:8px}.error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;display:flex;font-size:14px;gap:8px;margin-bottom:20px;padding:12px 16px}.error-icon{flex-shrink:0}.success-message{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#166534;font-size:14px;margin-bottom:20px;padding:12px 16px;text-align:center}.verify-btn{align-items:center;background:linear-gradient(135deg,#5b4b8a,#4a3b72);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:16px;transition:all .2s;width:100%}.verify-btn:hover:not(:disabled){box-shadow:0 8px 16px #5b4b8a59;transform:translateY(-2px)}.verify-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}.resend-section{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px;text-align:center}.resend-section p{color:#6b7280;font-size:14px;margin:0 0 12px}.resend-btn{background:none;border:none;color:#5b4b8a;cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:underline;transition:color .2s}.resend-btn:hover:not(:disabled){color:#4a3b72}.resend-btn:disabled{cursor:not-allowed;opacity:.6}.back-btn{background:#0000;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:12px;transition:all .2s;width:100%}.back-btn:hover{background:#f5f3fb;border-color:#9b8dc6;color:#4a3b72}@media (max-width:480px){.device-verification-card{border-radius:0;max-width:none}.device-verification-content,.device-verification-header{padding:30px 20px}.code-input{font-size:24px;letter-spacing:8px;padding:14px 16px}}.import-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.import-modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:90%}.import-modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.import-modal-header h2{color:#212529;font-size:20px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;color:#6c757d;cursor:pointer;display:flex;font-size:24px;padding:4px;transition:color .2s}.close-button:hover{color:#212529}.import-modal-body{flex:1 1;overflow-y:auto;padding:24px}.import-instructions{background:#f8f9fa;border-radius:8px;margin-bottom:24px;padding:16px}.import-instructions h3{color:#495057;font-size:16px;font-weight:600;margin:0 0 12px}.import-instructions ul{margin:0 0 16px;padding-left:20px}.import-instructions li{color:#495057;font-size:14px;margin-bottom:8px}.btn-template{align-items:center;background:#e8927c;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:background .2s}.btn-template:hover{background:#d47a63}.import-upload-section{margin-bottom:20px}.file-input-wrapper{position:relative}.file-input-wrapper input[type=file]{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.file-input-label{align-items:center;background:#f8f9fa;border:2px dashed #ced4da;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:10px;justify-content:center;padding:16px;transition:all .2s}.file-input-label:hover{background:#e9ecef;border-color:var(--color-primary);color:var(--color-primary)}.file-input-wrapper input[type=file]:disabled+.file-input-label{cursor:not-allowed;opacity:.6}.file-info{align-items:center;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;display:flex;font-size:14px;gap:10px;margin-top:12px;padding:12px}.file-info .icon-success{color:#28a745;font-size:18px}.file-size{color:#6c757d;font-size:13px}.import-error{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;display:flex;font-size:14px;gap:10px;margin-bottom:16px;padding:12px}.import-error svg{flex-shrink:0;font-size:18px}.import-result{background:#f8f9fa;border-radius:8px;padding:16px}.result-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:16px}.result-item{align-items:center;background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;display:flex;gap:10px;padding:12px}.result-item svg{flex-shrink:0;font-size:24px}.result-item.success svg{color:#28a745}.result-item.error svg{color:#dc3545}.result-item div{display:flex;flex-direction:column}.result-item strong{color:#212529;font-size:20px;font-weight:700}.result-item span{color:#6c757d;font-size:12px}.result-errors{background:#fff;border-radius:6px;padding:12px}.result-errors h4{color:#721c24;font-size:14px;font-weight:600;margin:0 0 10px}.result-errors ul{margin:0;padding-left:20px}.result-errors li{color:#721c24;font-size:13px;margin-bottom:6px}.more-errors{color:#6c757d;font-size:13px;font-style:italic;margin:10px 0 0}.import-modal-footer{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-primary,.btn-secondary{padding:10px 20px}.btn-primary{background:#28a745}.btn-primary:hover:not(:disabled){background:#218838}.btn-primary:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.btn-secondary:hover:not(:disabled){background:#545b62}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.import-modal-content{max-height:95vh;width:95%}.result-summary{grid-template-columns:1fr}.tab-header{flex-wrap:wrap!important;gap:10px!important;margin-bottom:14px!important}.tab-header h3{font-size:1rem;width:100%}.tab-actions{flex-wrap:wrap!important;gap:6px!important;width:100%}.tab-actions button{flex:1 1 auto;font-size:12px!important;justify-content:center;min-width:100px;padding:7px 10px!important;white-space:nowrap}.table-scroll-container{-webkit-overflow-scrolling:touch;border-radius:8px;max-height:none!important;overflow-x:auto!important;overflow-y:visible!important}}@media (max-width:768px){.table-scroll-container::-webkit-scrollbar{height:6px}.table-scroll-container::-webkit-scrollbar-track{background:#e9ecef;border-radius:0 0 8px 8px}.table-scroll-container::-webkit-scrollbar-thumb{background:#adb5bd;border-radius:3px}.table-scroll-container table{min-width:560px}.table-scroll-container td,.table-scroll-container th{font-size:13px!important;padding:8px 10px!important;white-space:nowrap}.tab-info-box{font-size:13px!important;margin-bottom:14px!important;padding:10px 12px!important}.tab-notification{bottom:72px!important;left:12px!important;right:12px!important;text-align:center}.tab-modal-box{border-radius:12px 12px 0 0!important;max-height:85vh!important;max-width:95%!important;overflow-y:auto!important;padding:16px!important;width:95%!important}.tab-modal-overlay{align-items:flex-end!important}.tab-modal-actions{flex-direction:column-reverse!important;gap:8px!important}.tab-modal-actions button{padding:12px!important;width:100%!important}.transactions-header-bar{align-items:stretch!important;flex-direction:column!important;gap:8px!important;margin-bottom:10px!important}.tx-actions-row{flex-wrap:wrap!important;gap:6px!important;width:100%}.tx-actions-row>div:first-of-type{flex:0 0 100%!important}.tx-actions-row>div:first-of-type>button{justify-content:center!important;width:100%!important}.tx-actions-row>button{font-size:12px!important;justify-content:center!important;padding:7px 8px!important;white-space:nowrap}.tx-actions-row>button,.tx-actions-row>div:not(:first-of-type){flex-basis:calc(50% - 6px);flex-grow:1;flex-shrink:1;min-width:80px}.tx-actions-row>div:not(:first-of-type)>button{font-size:12px!important;justify-content:center!important;padding:7px 8px!important;white-space:nowrap;width:100%!important}.tx-summary-grid{gap:8px!important;grid-template-columns:repeat(2,1fr)!important}.tx-summary-grid>div{padding:10px!important}.tx-summary-grid>div>div:first-child{font-size:11px!important;margin-bottom:2px!important}.tx-summary-grid>div>div:last-child{font-size:15px!important}.bulk-actions-bar,.transactions-totals{flex-wrap:wrap!important;font-size:13px!important;gap:6px!important}.bulk-actions-bar{padding:8px!important}.bulk-actions-bar button{font-size:12px!important;padding:6px 10px!important}.financial-management-header{align-items:stretch!important;flex-direction:column!important;gap:10px!important}.budget-card{margin-bottom:12px!important}.budget-card-header{flex-wrap:wrap!important;gap:8px!important;padding:12px!important}.category-row{flex-wrap:wrap!important;gap:6px!important;padding:10px 12px!important}.category-row .category-actions{justify-content:flex-end!important;width:100%!important}.open-finance-header{flex-direction:column!important;gap:10px!important}.open-finance-actions{flex-wrap:wrap!important;gap:8px!important}.open-finance-actions button,.open-finance-actions select{flex:1 1 auto!important}.accounts-list{flex-direction:column!important}.account-card{width:100%!important}}.financial-management-tab{margin:0 auto;max-width:1400px;padding:24px}.filters-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;margin-bottom:24px;padding:16px}.filters-toggle{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s}.filters-toggle:hover{background:#e9ecef;border-color:#adb5bd}.filters-content{border-top:1px solid #dee2e6;margin-top:16px;padding-top:16px}.filters-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.filter-field label{color:#495057;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.filter-field input,.filter-field select{border:1px solid #ced4da;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s;width:100%}.filter-field input:focus,.filter-field select:focus{border-color:var(--color-primary);outline:none}.filters-actions{display:flex;gap:12px;justify-content:flex-end}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .2s}.btn-primary{background:#e8927c}.btn-primary:hover{background:#d47a63}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}.btn-danger{background:var(--color-expense);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .2s}.btn-danger:hover{background:#c82333}.summary-section{margin-bottom:32px}.summary-section h2{color:#212529;font-size:24px;font-weight:600;margin-bottom:16px}.summary-cards,.summary-cards-estimated{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.summary-cards-estimated{border-top:1px dashed #dee2e6;margin-top:12px;padding-top:12px}.summary-card.estimated{border:1px dashed #0000001f;box-shadow:none;opacity:.82}.summary-card.estimated:hover{box-shadow:0 2px 8px #00000014;opacity:1}.summary-card{align-items:center;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;transition:transform .2s,box-shadow .2s}.summary-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.summary-card .card-icon{align-items:center;border-radius:10px;color:#fff;display:flex;font-size:24px;height:48px;justify-content:center;width:48px}.summary-card.green .card-icon{background:linear-gradient(135deg,var(--color-income),#20c997)}.summary-card.red .card-icon{background:linear-gradient(135deg,var(--color-expense),#c82333)}.summary-card.blue .card-icon{background:var(--gradient-primary)}.summary-card.orange .card-icon{background:linear-gradient(135deg,var(--color-debt),#e8590c)}.card-content{flex:1 1}.card-label{color:#6c757d;font-size:13px;font-weight:500;margin:0 0 4px}.card-value{color:#212529;font-size:22px;font-weight:700;margin:0}.budgets-section h2{color:#212529;font-size:24px;font-weight:600;margin-bottom:16px}.budgets-list{display:flex;flex-direction:column;gap:16px}.budget-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:box-shadow .2s}.budget-card:hover{box-shadow:0 4px 12px #0000001f}.budget-card--despesa{background:linear-gradient(90deg,#ef444408 0,#fff 40%);border-left:4px solid var(--color-expense)}.budget-card--receita{background:linear-gradient(90deg,#22c55e08 0,#fff 40%);border-left:4px solid var(--color-income)}.budget-type-badge{border-radius:10px;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.3px;padding:2px 8px;vertical-align:middle}.budget-type-badge--despesa{background:#ef44441a;color:var(--color-expense)}.budget-type-badge--receita{background:#22c55e1a;color:var(--color-income)}.budget-type-badge--investimento{background:#3b82f61a;color:var(--color-goal)}.budget-type-badge--divida{background:#f59e0b1a;color:var(--color-debt)}.budget-card--virtual{border-radius:12px;border-style:dashed;border-width:1px;box-shadow:none;opacity:.85}.budget-card--virtual:hover{box-shadow:0 2px 6px #00000014;opacity:1}.budget-card--uncategorized-despesa{background:#ef444405;border-color:#ef444466;border-left:4px dashed var(--color-expense)}.budget-card--uncategorized-receita{background:#22c55e05;border-color:#22c55e66;border-left:4px dashed var(--color-income)}.budget-card--investimento{background:#3b82f605;border-color:#3b82f666;border-left:4px dashed var(--color-goal)}.budget-card--divida{background:#f59e0b05;border-color:#f59e0b66;border-left:4px dashed var(--color-debt)}.budget-header{cursor:pointer;padding:20px;-webkit-user-select:none;user-select:none}.budget-title{align-items:center;display:flex;flex:1 1;justify-content:space-between;margin-bottom:16px}.budget-title h3{color:#212529;font-size:20px;font-weight:600;margin:0}.budget-actions{display:flex;gap:8px;margin-right:16px}.action-button{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .2s;width:36px}.chart-button{background:#e8927c;color:#fff}.chart-button:hover{background:#d47a63;color:#fff}.move-button{background:#6c757d;color:#fff}.move-button:hover{background:#5a6268;color:#fff}.edit-button{background:#e8927c;color:#fff}.edit-button:hover{background:#d47a63;color:#fff}.delete-button{background:var(--color-expense);color:#fff}.delete-button:hover{background:#c0392b;color:#fff}.budget-period{background:#f8f9fa;border-radius:6px;color:#6c757d;font-size:14px;font-weight:500;padding:4px 12px}.budget-summary{align-items:center;display:flex;gap:20px}.budget-values{display:flex;flex:1 1;gap:24px}.value-item{display:flex;flex-direction:column;gap:4px}.value-label{color:#6c757d;font-size:12px;font-weight:500}.value-amount{color:#212529;font-size:16px;font-weight:600}.budget-progress{align-items:center;display:flex;flex:1 1;gap:12px}.progress-bar{background:#e9ecef;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-bar.small{height:6px}.progress-fill{border-radius:4px;height:100%;transition:width .3s ease,background-color .3s ease}.progress-percentage{font-size:14px;font-weight:600;min-width:50px;text-align:right}.progress-percentage.small{font-size:12px;min-width:45px}.expand-button{align-items:center;background:none;border:none;color:#6c757d;cursor:pointer;display:flex;font-size:20px;padding:4px;transition:color .2s}.expand-button:hover{color:#212529}.budget-categories{border-top:1px solid #e9ecef;margin-top:-4px;padding:0 20px 20px}.budget-categories h4{color:#495057;font-size:16px;font-weight:600;margin:16px 0 12px}.categories-list{display:flex;flex-direction:column;gap:12px}.category-item{background:#f8f9fa;border-radius:8px;padding:16px}.category-item--despesa{background:linear-gradient(90deg,#ef44440a 0,#f8f9fa 50%)}.category-item--receita{background:linear-gradient(90deg,#22c55e0a 0,#f8f9fa 50%)}.category-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.category-name{color:#212529;font-size:15px;font-weight:600}.category-status{border-radius:12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.category-details{display:flex;flex-direction:column;gap:10px}.category-values{color:#495057;display:flex;font-size:13px;gap:16px}.category-progress{align-items:center;display:flex;gap:10px}.empty-state,.no-categories{color:#6c757d;font-size:15px;padding:40px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top:4px solid var(--color-primary);height:40px;margin:0 auto 16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.alert{border-radius:8px;font-size:14px;padding:12px 16px}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.modal-overlay{background:#00000080;z-index:1000}.modal-content{animation:slideUp .3s ease-out;background:#fff;box-shadow:0 10px 40px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#212529;font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6c757d;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;transition:all .2s;width:32px}.modal-close:hover{background:#f8f9fa;color:#212529}.modal-body{padding:24px}.delete-warning{color:#212529;font-size:16px;line-height:1.5;margin:0 0 12px}.delete-warning strong{color:var(--color-expense);font-weight:600}.delete-info{background:#fff3cd;border-left:3px solid #ffc107;border-radius:4px;color:#6c757d;font-size:14px;line-height:1.5;margin:0;padding:12px}.form-field{margin-bottom:0}.form-field label{color:#495057;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-field input{border:1px solid #ced4da;border-radius:8px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #5b4b8a2e;outline:none}.modal-footer{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.toast-notification{animation:slideInRight .3s ease-out;border-radius:8px;box-shadow:0 4px 12px #00000026;font-size:14px;font-weight:500;max-width:500px;min-width:300px;padding:16px 24px;position:fixed;right:24px;top:24px;z-index:2000}@keyframes slideInRight{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}.toast-success{background:var(--color-income);border-left:4px solid #1e7e34;color:#fff}.toast-error{background:var(--color-expense);border-left:4px solid #c82333;color:#fff}.toast-notification span{display:block;line-height:1.4}@media (max-width:768px){.financial-management-tab{padding:12px 12px 68px}.summary-cards{grid-template-columns:repeat(2,1fr)}.summary-card{gap:8px;padding:12px}.summary-card .card-icon{border-radius:8px;flex-shrink:0;font-size:16px;height:34px;width:34px}.card-value{font-size:14px}.card-label{font-size:11px}.budget-summary{align-items:stretch;flex-direction:column}.budget-values{flex-direction:column;gap:12px}.category-values{flex-direction:column;gap:8px}.budget-header{flex-wrap:wrap}.budget-actions{justify-content:flex-end;margin-bottom:12px;margin-right:0;order:-1;width:100%}.modal-content{margin:16px;width:95%}.toast-notification{bottom:72px;left:12px;max-width:none;min-width:auto;right:12px;text-align:center;top:auto}}.open-finance-tab{width:100%}.message-banner{animation:slideDown .3s ease-out;border-radius:8px;font-size:14px;margin-bottom:20px;padding:12px 16px}.message-banner.success{background-color:#e8f5e9;border:1px solid #4caf50;color:#2e7d32}.message-banner.error{background-color:#ffebee;border:1px solid #f44336;color:#c62828}.actions-bar{display:flex;gap:12px;margin-bottom:24px}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--gradient-primary)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 8px #5b4b8a4d;opacity:.88;transform:translateY(-1px)}.btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;color:#333}.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.btn-danger-outline{background-color:initial;border:1px solid #f44336;color:#f44336;font-size:13px;padding:6px 12px}.btn-danger-outline:hover{background-color:#f44336;color:#fff}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:scaleIn .3s ease-out;background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:80vh;max-width:500px;overflow:auto;padding:24px;width:90%}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.pluggy-modal{padding:20px}.section{margin-bottom:32px}.section h2{color:#333;font-size:18px;font-weight:600;margin-bottom:16px}.cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:all .2s}.card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-header{align-items:center;background-color:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px}.card-header h3{color:#333;font-size:16px;font-weight:600;margin:0}.status-badge{border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase}.status-badge.updated{background-color:#e8f5e9;color:#2e7d32}.status-badge.login_error{background-color:#ffebee;color:#c62828}.account-type{background-color:var(--color-primary-bg);border-radius:12px;color:var(--color-primary-dark);font-size:12px;font-weight:500;padding:4px 12px}.card-body{padding:16px}.card-info{color:#666;font-size:14px;margin:0 0 8px}.card-date{color:#999;font-size:12px;margin:8px 0 0}.account-balance{color:#2e7d32;font-size:24px;font-weight:700;margin:12px 0}.card-footer{border-top:1px solid #e0e0e0;display:flex;gap:8px;justify-content:flex-end;padding:12px 16px}.empty-state{background-color:#f9f9f9;border:2px dashed #ddd;border-radius:8px}.empty-state p{color:#666;margin:8px 0}.empty-state p:first-child{color:#333;font-weight:600}.info-box{background-color:var(--color-primary-bg);border-left:4px solid var(--color-primary-dark);border-radius:8px;margin-top:24px;padding:16px}.info-box h3{color:#1565c0;font-size:16px;font-weight:600;margin:0 0 12px}.info-box ul{margin:0;padding-left:20px}.info-box li{color:#333;font-size:14px;line-height:1.5;margin-bottom:8px}.info-box li:last-child{margin-bottom:0}@media (max-width:768px){.open-finance-tab{padding-bottom:68px}.cards-grid{grid-template-columns:1fr}.actions-bar{flex-wrap:wrap}.btn{flex:1 1 auto;justify-content:center}}.financial-page{bottom:0;box-sizing:border-box;left:220px;overflow:hidden;padding:20px;position:fixed;right:0;top:0}.financial-container{background-color:#fff;border-radius:16px;box-shadow:0 12px 48px #00000026;box-sizing:border-box;display:flex;flex-direction:column;height:calc(100vh - 40px);margin:0 auto;max-width:2600px}.financial-header{background:linear-gradient(180deg,#fff 0,#fafafa);border-bottom:2px solid #f0f0f0;border-radius:16px 16px 0 0;flex-shrink:0;padding:20px 28px}.financial-header h1{color:var(--color-text);font-size:1.75rem;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}.financial-header p{color:var(--color-text-muted);font-size:.9rem;font-weight:400;margin:0}.date-range-selector{align-items:center;display:flex;gap:16px}.date-month-nav{align-items:center;background-color:#f0f2f5;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:8px;padding:4px 8px}.date-month-nav .month-nav-btn{align-items:center;background:none;border:none;border-radius:4px;color:#555;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background-color .2s,color .2s}.date-month-nav .month-nav-btn:hover{background-color:#ddd;color:#333}.date-range-label{color:var(--color-text);font-size:.9rem;font-weight:600;min-width:150px;text-align:center;-webkit-user-select:none;user-select:none;white-space:nowrap}.date-presets{display:flex;gap:6px}.preset-btn{background-color:#fff;border:1px solid #dee2e6;border-radius:6px;color:#555;cursor:pointer;font-size:.8rem;font-weight:500;padding:5px 12px;transition:all .2s;white-space:nowrap}.preset-btn:hover{background-color:var(--color-primary-bg);border-color:var(--color-primary-light);color:var(--color-primary)}.preset-btn.active{background:var(--gradient-primary);border-color:#0000;color:#fff;font-weight:600}.custom-date-row{align-items:center;background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:16px;margin-top:12px;padding:10px 16px}.custom-date-field{align-items:center;display:flex;gap:8px}.custom-date-field label{color:#555;font-size:.85rem;font-weight:500;white-space:nowrap}.custom-date-input{background-color:#fff;border:1px solid #ced4da;border-radius:6px;color:#333;cursor:pointer;font-size:.85rem;outline:none;padding:6px 10px;transition:border-color .2s}.custom-date-input:focus{border-color:var(--color-primary);box-shadow:var(--input-focus-shadow)}.custom-date-apply-btn{background:var(--gradient-primary);border:none;border-radius:var(--btn-radius);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 16px;transition:opacity .2s;white-space:nowrap}.custom-date-apply-btn:hover{opacity:.9}.custom-date-apply-btn:disabled{cursor:not-allowed;opacity:.4}.financial-tabs-container{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.tabs-navigation{background:#f8f9fa;border-bottom:1px solid #e8e8e8;display:flex;flex-shrink:0}.tab-button{align-items:center;background-color:initial;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:600;gap:10px;justify-content:center;padding:14px 24px;position:relative;transition:all .3s ease}.tab-button:hover{background-color:#fff;color:var(--color-text)}.tab-button.active{background-color:#fff;color:var(--color-primary);font-weight:700}.tab-button.active:after{background:var(--gradient-primary);bottom:-1px;box-shadow:0 2px 8px #5b4b8a4d;content:"";height:4px;left:0;position:absolute;right:0}.tab-icon{font-size:1.2rem}.tab-icon,.tab-label{display:inline-block}.tab-content{background-color:#fff;flex:1 1;min-height:0;overflow-y:auto;padding:28px 32px}.tab-pane{display:none}.tab-pane.active{animation:tab-in .22s ease backwards;display:block}@keyframes tab-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.financial-page{left:0;padding:8px 8px 68px}.financial-container{border-radius:12px;height:calc(100vh - 76px)}.financial-header{padding:10px 14px}.financial-header h1{font-size:1.2rem;margin-bottom:2px}.financial-header p{font-size:.8rem}.financial-header-top{align-items:stretch!important;flex-direction:column!important;gap:10px}.date-range-selector{align-items:stretch;flex-direction:column;gap:8px;min-width:0;overflow:hidden;width:100%}.date-month-nav{justify-content:space-between}.date-range-label{font-size:.85rem;min-width:0;min-width:auto}.date-presets{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;min-width:0;overflow-x:auto;padding-bottom:4px;width:100%}.date-presets::-webkit-scrollbar{height:3px}.date-presets::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.preset-btn{flex:0 0 auto;font-size:.72rem;padding:4px 9px;white-space:nowrap}.tabs-navigation{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.tabs-navigation::-webkit-scrollbar{display:none}.tab-button{flex:1 1;flex-direction:column;font-size:.6rem;gap:2px;min-width:0;padding:7px 4px;white-space:normal}.tab-icon{font-size:1.1rem;line-height:1}.tab-label{line-height:1.2;max-width:100%;text-align:center;word-break:break-word}.tab-content{padding:10px}.custom-date-row{flex-direction:column;gap:10px}.custom-date-field{width:100%}.custom-date-input{flex:1 1}.custom-date-apply-btn{padding:8px;width:100%}}@media (max-width:480px){.tab-button{font-size:.58rem;padding:6px 2px}.tab-content{padding:8px}}.budgets-tab,.categories-tab,.transactions-tab{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.tab-content::-webkit-scrollbar{width:8px}.tab-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.tab-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.tab-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.settings-main{bottom:0;box-sizing:border-box;left:220px;overflow:hidden;padding:20px;position:fixed;right:0;top:0}.settings-container{background-color:#fff;border-radius:16px;box-shadow:0 12px 48px #00000026;box-sizing:border-box;display:flex;flex-direction:column;height:calc(100vh - 40px);margin:0 auto;max-width:2600px}.settings-header{align-items:center;background:linear-gradient(180deg,#fff 0,#fafafa);border-bottom:2px solid #f0f0f0;border-radius:16px 16px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 28px}.settings-header h1{color:var(--color-text);font-size:1.75rem;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}.settings-subtitle{color:var(--color-text-muted);font-size:.9rem;font-weight:400}.settings-content{display:flex;flex:1 1;flex-direction:column;gap:24px;min-height:0;overflow-y:auto;padding:28px 32px}.settings-card{background-color:#fff;border:1px solid #f0f0f0;border-radius:8px;box-shadow:0 2px 4px #00000014;padding:24px}.settings-card-title{border-bottom:2px solid #f0f0f0;color:#333;font-size:1.2rem;font-weight:600;margin:0 0 20px;padding-bottom:12px}.settings-error,.settings-loading{color:#999;font-size:.9rem}.settings-error{color:#f44336}.profile-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.profile-field{display:flex;flex-direction:column;gap:6px}.profile-field label{color:#999;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.profile-field span{color:#333;font-size:1rem;font-weight:500}.status-badge{border-radius:20px;font-size:.85rem;padding:4px 12px;width:-webkit-fit-content;width:fit-content}.status-active{background-color:#e8f5e9;color:#2e7d32}.status-blocked{background-color:#ffebee;color:#c62828}.password-form{gap:16px;max-width:450px}.form-group,.password-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#555;font-size:.85rem;font-weight:600}.form-group input{border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;outline:none;padding:10px 14px;transition:border-color .2s}.form-group input:focus{border-color:var(--color-primary)}.password-msg{border-radius:6px;font-size:.9rem;font-weight:500;padding:10px 14px}.password-msg.success{background-color:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32}.password-msg.error{background-color:#ffebee;border:1px solid #ef9a9a;color:#c62828}.change-password-btn{background:var(--gradient-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 24px;transition:all .2s;width:-webkit-fit-content;width:fit-content}.change-password-btn:hover:not(:disabled){box-shadow:0 4px 12px #5b4b8a4d;transform:translateY(-1px)}.change-password-btn:disabled{cursor:not-allowed;opacity:.6}.settings-logout-btn{background-color:#f44336;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;letter-spacing:.5px;padding:10px 20px;transition:background-color .2s}.settings-logout-btn:hover{background-color:#d32f2f}.settings-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.settings-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:400px;padding:32px;width:90%}.settings-modal-header h2{color:var(--color-text);font-size:1.2rem;margin:0 0 16px}.settings-modal-body p{color:#555;font-size:.95rem;margin:0 0 24px}.settings-modal-footer{display:flex;gap:12px;justify-content:flex-end}.settings-modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 24px;transition:all .2s}.settings-modal-btn-cancel{background-color:#f5f5f5;color:#666}.settings-modal-btn-cancel:hover{background-color:#e0e0e0}.settings-modal-btn-confirm{background-color:#f44336;color:#fff}.settings-modal-btn-confirm:hover{background-color:#d32f2f;box-shadow:0 4px 8px #f443364d;transform:translateY(-1px)}@media (max-width:768px){.settings-main{left:0;padding:8px 8px 68px}.settings-container{border-radius:12px;height:calc(100vh - 76px)}.settings-header{flex-wrap:wrap;gap:8px;padding:12px 16px}.settings-header h1{font-size:1.2rem;margin-bottom:2px}.settings-content{gap:14px;padding:14px}.settings-card{padding:16px}.profile-grid{gap:12px;grid-template-columns:1fr}.password-form{max-width:100%}.change-password-btn{width:100%}.settings-logout-btn{font-size:.8rem;padding:8px 14px}}.objectives-page{background:#f4f5f7;display:flex;min-height:100vh}.objectives-content{box-sizing:border-box;flex:1 1;margin-left:220px;min-height:100vh;overflow-y:auto;padding:28px 28px 40px}.objectives-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.objectives-title{color:#1a1a2e;font-size:1.6rem;font-weight:700;margin:0 0 4px}.objectives-subtitle{color:#6c757d;font-size:.875rem;margin:0}.btn-new-objective{background:linear-gradient(135deg,#1565c0,#0d47a1);border:none;border-radius:8px;box-shadow:0 2px 8px #1565c059;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 22px;transition:opacity .15s;white-space:nowrap}.btn-new-objective:hover{opacity:.88}.objectives-main{display:block}.objectives-left{min-width:0;width:100%}.objectives-loading{font-size:15px}.objectives-empty,.objectives-loading{color:#6c757d;padding:60px 20px;text-align:center}.objectives-empty{align-items:center;display:flex;flex-direction:column;gap:12px}.objectives-empty__icon{align-items:center;background:linear-gradient(135deg,#1565c01f,#0d47a114);border-radius:50%;display:flex;height:80px;justify-content:center;margin-bottom:4px;width:80px}.objectives-empty h3{color:#495057;font-size:18px;font-weight:700;margin:0}.objectives-empty p{color:#6c757d;font-size:14px;margin:0}.objectives-empty .btn-new-objective{margin-top:8px}.obj-cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:28px}.obj-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #00000012;cursor:pointer;padding:16px;transition:transform .15s,box-shadow .15s,border-color .15s}.obj-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.obj-card--selected{border-color:#1565c0;box-shadow:0 4px 16px #1565c040}.obj-card__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.obj-card__type{border-radius:99px;font-size:11px;font-weight:600;padding:3px 8px}.obj-card__status{color:#6c757d;font-size:11px;font-weight:500}.obj-card__status--active{color:#28a745}.obj-card__status--completed{color:#1565c0}.obj-card__status--cancelled{color:#dc3545}.obj-card__name{color:#1a1a2e;font-size:15px;font-weight:700;line-height:1.3;margin:0 0 4px}.obj-card__desc,.obj-card__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obj-card__desc{color:#6c757d;font-size:12px;margin:0 0 10px}.obj-card__amounts{align-items:baseline;display:flex;gap:4px;margin-bottom:8px}.obj-card__current{color:#1a1a2e;font-size:16px;font-weight:700}.obj-card__separator{color:#adb5bd;font-size:14px}.obj-card__target{color:#6c757d;font-size:13px}.obj-card__pct{color:#6c757d;font-size:11px;margin-bottom:10px;margin-top:5px}.obj-card__footer{border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-top:10px}.obj-card__label{color:#6c757d;font-size:11px;margin-bottom:2px}.obj-card__value{color:#1a1a2e;font-size:14px;font-weight:600}.detail-tab--active{border-bottom-color:#1565c0;color:#1565c0}.detail-overlay__panel .detail-panel{border-radius:14px;display:flex;flex-direction:column;height:100%;overflow:hidden}.progress-list{display:flex;flex-direction:column;gap:8px}.progress-item{background:#f8f9fa;border-left:3px solid #1565c0;border-radius:8px;justify-content:space-between;padding:10px 12px}.chart-loading,.progress-item{align-items:center;display:flex}.chart-loading{color:#6c757d;font-size:13px;height:200px;justify-content:center}.mgmt-table-wrap{margin-bottom:24px;padding:20px}.mgmt-table-title{color:#1a1a2e;font-size:15px;font-weight:700;margin:0 0 14px}.mgmt-table th{border-bottom:2px solid #e9ecef;color:#6c757d;font-size:11px;font-weight:600;letter-spacing:.04em;padding:8px 12px;text-align:left;text-transform:uppercase}.mgmt-table td{border-bottom:1px solid #f0f0f0;color:#1a1a2e;padding:10px 12px}.mgmt-row--selected td{background:#e3f2fd}.mgmt-name{color:#1565c0!important;cursor:pointer;font-weight:600}.mgmt-name:hover{text-decoration:underline}.mgmt-btn{padding:3px 7px}.status-badge{border-radius:99px;padding:2px 8px}.status-badge--active{background:#dcfce7;color:#166534}.status-badge--completed{background:#ede9fe;color:#5b21b6}.status-badge--cancelled{background:#fee2e2;color:#991b1b}.cashflow-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000012;margin-bottom:24px;padding:20px}.cashflow-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:16px}.cashflow-title{color:#1a1a2e;font-size:15px;font-weight:700;margin:0}.cashflow-toggle{border:1px solid #e9ecef;border-radius:6px;display:flex;overflow:hidden}.cashflow-toggle-btn{background:#fff;border:none;cursor:pointer;font-size:13px;padding:6px 14px;transition:background .15s}.cashflow-toggle-btn.active{background:#1565c0;color:#fff;font-weight:600}.cashflow-table-wrap{max-height:480px;overflow-x:auto;overflow-y:auto}.cashflow-table{border-collapse:collapse;font-size:12px;width:100%}.cashflow-table th{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#6c757d;font-size:11px;font-weight:600;padding:6px 10px;text-align:center}.cashflow-table td{border-bottom:1px solid #f0f0f0;color:#6c757d;padding:5px 10px;text-align:center}.cashflow-month{text-align:left!important}.cashflow-cell--active,.cashflow-month{color:#1a1a2e!important;font-weight:500}.cashflow-total-row td{background:#f8f9fa;color:#1a1a2e!important;font-weight:700}.confirm-overlay{background:#00000073;z-index:2000}.confirm-dialog{font-size:15px;max-width:380px;padding:24px 28px;width:90%}.confirm-btn{font-size:14px;padding:8px 20px}.confirm-btn--cancel{background:#e9ecef}@media (max-width:768px){.objectives-content{margin-left:0!important;padding:16px 14px 80px!important}.objectives-header{align-items:flex-start;flex-direction:column}.objectives-title{font-size:1.3rem}.objectives-main{flex-direction:column}.detail-overlay{align-items:flex-end!important;padding:0!important}.detail-overlay__panel{border-radius:14px 14px 0 0!important;max-height:92vh!important;max-width:100%!important}.obj-cards-grid,.overview-grid{grid-template-columns:1fr!important}.cashflow-table td,.cashflow-table th{font-size:11px;padding:4px 6px}.mgmt-table td,.mgmt-table th{padding:7px 8px}}.confirm-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.confirm-dialog{background:#fff;border-radius:10px;box-shadow:0 8px 32px #0003;color:#1a1a2e;font-size:14px;padding:28px 32px;width:380px}.confirm-dialog p{line-height:1.5;margin:0 0 4px}.confirm-btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px}.confirm-btn--cancel{background:#f0f0f0;color:#495057}.confirm-btn--cancel:hover{background:#e2e3e5}.confirm-btn--delete{background:#dc3545;color:#fff}.confirm-btn--delete:hover{background:#c82333}.debt-page{background:#f4f5f7;bottom:0;left:220px;overflow-y:auto;padding:24px;position:fixed;right:0;top:0}.debt-page-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.debt-page-header h1{color:#212529;font-size:24px;font-weight:700;margin:0}.debt-btn-new{align-items:center;background:linear-gradient(135deg,#fd7e14,#e65100);border:none;border-radius:8px;box-shadow:0 2px 8px #fd7e1459;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:opacity .2s}.debt-btn-new:hover{opacity:.88}.debt-cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:32px}.debt-card-new{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #00000012;cursor:pointer;padding:16px;transition:transform .15s,box-shadow .15s,border-color .15s;-webkit-user-select:none;user-select:none}.debt-card-new:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.debt-card-new--selected{border-color:#fd7e14;box-shadow:0 4px 16px #fd7e1440}.debt-card-new__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.debt-card-new__system{border-radius:99px;font-size:11px;font-weight:600;padding:3px 8px}.debt-card-new__status{color:#6c757d;font-size:11px;font-weight:500}.debt-card-new__status--active{color:#fd7e14}.debt-card-new__status--settled{color:#28a745}.debt-card-new__status--cancelled{color:#6c757d}.debt-card-new__name{color:#1a1a2e;font-size:15px;font-weight:700;line-height:1.3;margin:0 0 4px}.debt-card-new__name,.debt-card-new__sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debt-card-new__sub{color:#6c757d;font-size:12px;margin:0 0 10px}.debt-card-new__amounts{align-items:baseline;display:flex;gap:4px;margin-bottom:8px}.debt-card-new__current{font-size:16px;font-weight:700}.debt-card-new__separator{color:#adb5bd;font-size:14px}.debt-card-new__target{color:#6c757d;font-size:13px}.debt-card-new__pct{color:#6c757d;font-size:11px;margin-bottom:10px;margin-top:5px}.debt-card-new__footer{border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-top:10px}.debt-card-new__label{color:#6c757d;font-size:11px;margin-bottom:2px}.debt-card-new__value{color:#1a1a2e;font-size:14px;font-weight:600}.debt-tabs{border-bottom:2px solid #e9ecef;display:flex;gap:0;margin-bottom:20px}.debt-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6c757d;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:10px 20px;transition:color .15s,border-color .15s}.debt-tab.active{border-bottom-color:#fd7e14;color:#fd7e14}.debt-tab:hover:not(.active){color:#495057}.debt-table-wrapper{border:1px solid #e9ecef;border-radius:8px;overflow-x:auto}.debt-table{border-collapse:collapse;font-size:13px;width:100%}.debt-table thead tr{background:#f8f9fa;border-bottom:2px solid #dee2e6}.debt-table th{color:#495057;font-weight:600;padding:12px 14px;text-align:left;white-space:nowrap}.debt-table td{border-bottom:1px solid #f0f0f0;padding:10px 14px;vertical-align:middle}.debt-table tr:last-child td{border-bottom:none}.debt-table tbody tr:hover{background:#f8f9fa}.status-badge{border-radius:10px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;white-space:nowrap}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.paid{background:#d4edda;color:#155724}.status-badge.overdue{background:#f8d7da;color:#721c24}.status-badge.active{background:#cce5ff;color:#004085}.status-badge.settled{background:#d4edda;color:#155724}.debt-charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr 1fr;margin-top:8px}.debt-chart-card{background:#fff;border:1px solid #e9ecef;border-radius:10px;box-shadow:0 1px 4px #0000000d;padding:20px}.debt-chart-title{color:#495057;font-size:13px;font-weight:600;margin-bottom:16px}.overview-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.overview-stat{background:#f8f9fa;border-radius:8px;padding:12px 14px}.overview-stat__label{color:#6c757d;font-size:11px;font-weight:500;margin-bottom:4px}.overview-stat__value{color:#1a1a2e;font-size:16px;font-weight:700}.detail-overlay{align-items:center;animation:fadeInOverlay .18s ease;background:#0f0f1e8c;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1100}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.detail-overlay__panel{animation:slideUpPanel .22s cubic-bezier(.34,1.3,.64,1);border-radius:14px;display:flex;flex-direction:column;max-height:88vh;max-width:820px;overflow:hidden;width:100%}@keyframes slideUpPanel{0%{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.detail-panel{background:#fff;border-radius:14px;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden}.detail-panel__header{align-items:flex-start;background:#fafafa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:16px 18px}.detail-panel__title{color:#1a1a2e;font-size:16px;font-weight:700;margin:0 0 2px}.detail-panel__close{align-items:center;background:none;border:none;color:#6c757d;cursor:pointer;display:flex;font-size:22px;line-height:1;padding:0 4px}.detail-tabs{border-bottom:1px solid #e9ecef;display:flex;overflow-x:auto;padding:0 16px}.detail-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6c757d;cursor:pointer;font-size:13px;font-weight:500;padding:10px 12px;transition:color .15s;white-space:nowrap}.detail-tab--active{border-bottom-color:#fd7e14;color:#fd7e14}.detail-panel__body{flex:1 1;overflow-y:auto;padding:20px}.mgmt-table-wrap{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #00000012;overflow:hidden;padding:0}.mgmt-table-scroll{overflow-x:auto}.mgmt-table{border-collapse:collapse;font-size:13px;white-space:nowrap;width:100%}.mgmt-btn{align-items:center;background:none;border:1px solid #e9ecef;border-radius:4px;cursor:pointer;display:inline-flex;font-size:13px;padding:4px 8px;transition:background .15s}.mgmt-btn:hover{background:#f0f0f0}.debt-empty{color:#6c757d;flex-direction:column;gap:12px;padding:60px 20px;text-align:center}.debt-empty,.debt-empty__icon{align-items:center;display:flex}.debt-empty__icon{background:linear-gradient(135deg,#fd7e141f,#e6510014);border-radius:50%;height:80px;justify-content:center;margin-bottom:4px;width:80px}.debt-empty h3{color:#495057;font-size:18px;font-weight:700;margin:0}.debt-empty p{color:#6c757d;font-size:14px;margin:0}.debt-empty .debt-btn-new{margin-top:8px}.pay-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.pay-modal-box{background:#fff;border-radius:12px;box-shadow:0 8px 30px #0003;padding:28px;width:360px}@media (max-width:768px){.debt-page{left:0;padding:12px 12px 68px}.debt-cards-grid{grid-template-columns:1fr}.debt-card-new{touch-action:manipulation}.debt-charts-grid,.overview-grid{grid-template-columns:1fr}.detail-overlay{align-items:flex-end;padding:0}.detail-overlay__panel{border-radius:14px 14px 0 0;max-height:92vh;max-width:100%}}.patrimony-content{background:#f4f6fb;bottom:0;left:220px;overflow-y:auto;padding:28px 32px;position:fixed;right:0;top:0}.patrimony-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:28px}.patrimony-header h1{color:#212529;font-size:24px;font-weight:700;margin:0}.patrimony-header-actions{display:flex;flex-wrap:wrap;gap:10px}.btn-primary{background:linear-gradient(135deg,#5b4b8a,#9b8dc6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 18px;transition:opacity .2s}.btn-primary:hover{opacity:.88}.btn-secondary{background:#fff;border:1px solid #ced4da;border-radius:8px;color:#495057;cursor:pointer;font-size:14px;font-weight:600;padding:9px 18px;transition:background .2s}.btn-secondary:hover{background:#f8f9fa}.patrimony-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:28px}.summary-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000012;padding:20px}.summary-card__label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.summary-card__value{color:#212529;font-size:22px;font-weight:700}.patrimony-body{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:320px 1fr}@media (max-width:900px){.patrimony-body{grid-template-columns:1fr}.patrimony-content{left:0;padding:16px 16px 72px}}.pie-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000012;padding:20px}.pie-card h3{color:#495057;font-size:14px;font-weight:700;letter-spacing:.4px;margin:0 0 12px;text-transform:uppercase}.pie-legend{margin-top:16px}.pie-legend-item{align-items:center;color:#495057;display:flex;font-size:13px;gap:8px;padding:5px 0}.pie-legend-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.pie-legend-label{flex:1 1}.pie-legend-pct{color:#212529;font-weight:700}.patrimony-blocks{display:flex;flex-direction:column;gap:16px}.patrimony-block{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000012;overflow:hidden}.patrimony-block__header{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;-webkit-user-select:none;user-select:none}.patrimony-block__header:hover{background:#fafafa}.patrimony-block__title{color:#212529;font-size:15px;font-weight:700;margin:0}.patrimony-block__meta{color:#6c757d;font-size:12px;margin-top:2px}.patrimony-block__amounts{align-items:center;display:flex;gap:20px}.patrimony-block__amount-item{text-align:right}.patrimony-block__amount-label{color:#6c757d;font-size:11px}.patrimony-block__amount-value{color:#212529;font-size:14px;font-weight:700}.patrimony-block__amount-value--positive{color:#28a745}.patrimony-block__amount-value--negative{color:#dc3545}.patrimony-block__body{padding:16px 20px}.patrimony-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:12px;padding:10px 0}.patrimony-item:last-child{border-bottom:none}.patrimony-item__info{flex:1 1;min-width:0}.patrimony-item__name{color:#212529;font-size:14px;font-weight:600}.patrimony-item__sub{color:#6c757d;font-size:12px;margin-top:2px}.patrimony-item__value{text-align:right}.patrimony-item__current{color:#212529;font-size:14px;font-weight:700}.patrimony-item__alloc{color:#667eea;font-size:11px;margin-top:2px}.patrimony-item__actions{display:flex;gap:6px}.patrimony-item__btn{background:none;border:1px solid #ced4da;border-radius:6px;color:#495057;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .15s}.patrimony-item__btn:hover{background:#f8f9fa;border-color:#adb5bd}.patrimony-item__btn--danger:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.patrimony-item__btn--link{border-color:#667eea;color:#667eea}.patrimony-item__btn--link:hover{background:#f0f4ff}.inconsistent-badge{background:#fff3cd;border-radius:99px;color:#856404;font-size:10px;font-weight:600;margin-left:6px;padding:2px 6px}.empty-state{color:#6c757d;font-size:14px;padding:40px 20px;text-align:center}.add-allocation-btn{align-items:center;background:#f0f4ff;border:1px dashed #667eea;border-radius:6px;color:#667eea;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-top:12px;padding:7px 14px;transition:background .15s}.add-allocation-btn:hover{background:#e6ecff}.analytics-page{background:#f0f2f5;bottom:0;left:220px;overflow-y:auto;position:fixed;right:0;top:0}.analytics-container{margin:0 auto;max-width:1400px;padding:24px}.analytics-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.analytics-header h1{color:#1a1a2e;font-size:1.6rem;font-weight:700;margin:0}.analytics-header-subtitle{color:#6c757d;font-size:.85rem;margin:2px 0 0}.analytics-date-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.analytics-preset-btn{background:#fff;border:1px solid #dee2e6;border-radius:20px;color:#495057;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.analytics-preset-btn.active,.analytics-preset-btn:hover{background:#667eea;border-color:#667eea;color:#fff}.analytics-month-nav{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:8px;padding:5px 10px}.analytics-month-nav button{align-items:center;background:none;border:none;border-radius:4px;color:#495057;cursor:pointer;display:flex;padding:2px;transition:background .15s}.analytics-month-nav button:hover{background:#f1f3f5}.analytics-month-label{color:#212529;font-size:14px;font-weight:600;min-width:130px;text-align:center}.analytics-custom-dates{align-items:center;animation:slideDown .2s ease;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:10px;margin-top:10px;padding:8px 14px}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.analytics-custom-dates label{color:#6c757d;font-size:12px}.analytics-custom-dates input[type=date]{border:1px solid #ced4da;border-radius:6px;font-size:13px;padding:5px 8px}.widget-config-toggle{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 16px;transition:all .2s}.widget-config-toggle:hover{border-color:#667eea;color:#667eea}.widget-config-panel{animation:slideDown .2s ease;background:#fff;border:1px solid #dee2e6;border-radius:12px;margin-bottom:24px;padding:20px}.widget-config-panel h3{color:#495057;font-size:14px;font-weight:600;margin:0 0 14px}.widget-config-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.widget-config-item{align-items:center;border:1px solid #dee2e6;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;transition:all .2s;-webkit-user-select:none;user-select:none}.widget-config-item.active{background:#f0f3ff;border-color:#667eea;color:#667eea}.widget-config-item input[type=checkbox]{accent-color:#667eea;height:15px;width:15px}.analytics-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:28px}.analytics-stat-card{align-items:center;animation:fadeInUp .3s ease both;background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000012;display:flex;gap:14px;padding:18px 20px;transition:transform .2s,box-shadow .2s}.analytics-stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.analytics-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;width:44px}.analytics-stat-icon.green{background:#e8f5e9;color:#22c55e}.analytics-stat-icon.red{background:#fce4ec;color:#dc3545}.analytics-stat-icon.blue{background:var(--color-primary-bg);color:var(--color-primary)}.analytics-stat-icon.orange{background:#fff3e0;color:#f59e0b}.analytics-stat-icon.purple{background:#f3e5f5;color:#5b4b8a}.analytics-stat-label{color:#6c757d;font-size:12px;margin:0 0 2px}.analytics-stat-value{color:#212529;font-size:1.15rem;font-weight:700;margin:0}.analytics-widgets-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(12,1fr)}.widget-card{animation:fadeInUp .35s ease both;background:#fff;border-radius:14px;box-shadow:0 1px 4px #00000012;overflow:hidden;padding:20px}.widget-card.col-6{grid-column:span 6}.widget-card.col-4{grid-column:span 4}.widget-card.col-8{grid-column:span 8}.widget-card.col-12{grid-column:span 12}@media (max-width:1100px){.widget-card.col-4,.widget-card.col-6,.widget-card.col-8{grid-column:span 12}}@media (max-width:768px){.analytics-widgets-grid{grid-template-columns:1fr}.widget-card{grid-column:span 1!important}.analytics-container{padding:14px}}.widget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.widget-title{color:#212529;font-size:14px;font-weight:600;margin:0}.widget-subtitle{color:#6c757d;font-size:12px;margin:2px 0 0}.widget-empty{align-items:center;color:#adb5bd;display:flex;font-size:13px;height:120px;justify-content:center}.top-cat-list{list-style:none;margin:0;padding:0}.top-cat-item{align-items:center;animation:fadeInUp .3s ease both;border-bottom:1px solid #f1f3f5;display:flex;gap:10px;padding:8px 0}.top-cat-item:last-child{border-bottom:none}.top-cat-bar-wrap{background:#f1f3f5;border-radius:4px;flex:1 1;height:6px;overflow:hidden}.top-cat-bar{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .6s ease}.top-cat-name{color:#495057;font-size:13px;min-width:120px}.top-cat-value{color:#212529;font-size:13px;font-weight:600;min-width:80px;text-align:right}.monthly-balance-list{list-style:none;margin:0;padding:0}.monthly-balance-item{align-items:center;border-bottom:1px solid #f1f3f5;display:flex;font-size:13px;justify-content:space-between;padding:8px 0}.monthly-balance-item:last-child{border-bottom:none}.monthly-balance-month{color:#6c757d}.monthly-balance-amount{font-weight:600}.monthly-balance-amount.positive{color:#2e7d32}.monthly-balance-amount.negative{color:#c62828}.type-dist-list{list-style:none;margin:0;padding:0}.type-dist-item{align-items:center;border-bottom:1px solid #f1f3f5;display:flex;font-size:13px;gap:10px;padding:7px 0}.type-dist-item:last-child{border-bottom:none}.type-dist-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.type-dist-label{color:#495057;flex:1 1}.type-dist-value{color:#212529;font-weight:600}.type-dist-pct{color:#6c757d;font-size:12px;min-width:40px;text-align:right}
/*# sourceMappingURL=main.2fda2cd1.css.map*/