@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root,html[data-theme=dark]{--bg-primary: #090d16;--bg-secondary: #111827;--bg-card: rgba(17, 24, 39, .75);--bg-card-hover: rgba(30, 41, 59, .85);--bg-glass: rgba(255, 255, 255, .03);--border-color: rgba(255, 255, 255, .08);--border-active: rgba(99, 102, 241, .5);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-emerald: #10b981;--accent-emerald-glow: rgba(16, 185, 129, .2);--accent-rose: #f43f5e;--accent-rose-glow: rgba(244, 63, 94, .2);--accent-indigo: #6366f1;--accent-indigo-glow: rgba(99, 102, 241, .25);--accent-amber: #f59e0b;--accent-amber-glow: rgba(245, 158, 11, .2);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-glow: 0 0 25px rgba(99, 102, 241, .15);--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--transition: all .25s cubic-bezier(.4, 0, .2, 1);--bg-glass-1: rgba(255, 255, 255, .01);--bg-glass-15: rgba(255, 255, 255, .015);--bg-glass-2: rgba(255, 255, 255, .02);--bg-glass-4: rgba(255, 255, 255, .04);--bg-glass-5: rgba(255, 255, 255, .05);--bg-glass-10: rgba(255, 255, 255, .1);--bg-glass-12: rgba(255, 255, 255, .12);--bg-glass-strong: rgba(255, 255, 255, .08);--border-color-hover: rgba(255, 255, 255, .15);--border-color-strong: rgba(255, 255, 255, .2);--bottom-nav-bg: rgba(17, 24, 39, .92);--auth-card-bg: rgba(17, 24, 39, .85);--auth-divider-bg: rgba(17, 24, 39, .9);--drawer-overlay: rgba(0, 0, 0, .65);--modal-overlay: rgba(0, 0, 0, .75);--fatura-details-bg: rgba(0, 0, 0, .25);--shadow-modal: 0 20px 50px rgba(0, 0, 0, .6);--on-accent: #ffffff;--accent-indigo-300: #a5b4fc;--accent-indigo-400: #818cf8;--accent-indigo-600: #4f46e5;--accent-amber-600: #d97706;--nav-active-text: #ffffff;--nav-active-bg: linear-gradient(135deg, var(--accent-indigo-20) 0%, var(--accent-indigo-05) 100%);--header-title-gradient: linear-gradient(135deg, #ffffff 0%, #cbd5e1 100%);--credit-card-gradient: linear-gradient(135deg, rgba(30, 41, 59, .9) 0%, rgba(15, 23, 42, .9) 100%);--accent-indigo-05: rgba(99, 102, 241, .05);--accent-indigo-10: rgba(99, 102, 241, .1);--accent-indigo-14: rgba(99, 102, 241, .14);--accent-indigo-15: rgba(99, 102, 241, .15);--accent-indigo-20: rgba(99, 102, 241, .2);--accent-indigo-30: rgba(99, 102, 241, .3);--accent-indigo-35: rgba(99, 102, 241, .35);--accent-indigo-45: rgba(99, 102, 241, .45);--accent-indigo-50: rgba(99, 102, 241, .5);--accent-emerald-15: rgba(16, 185, 129, .15);--accent-emerald-30: rgba(16, 185, 129, .3);--accent-emerald-40: rgba(16, 185, 129, .4);--accent-rose-12: rgba(244, 63, 94, .12);--accent-rose-15: rgba(244, 63, 94, .15);--accent-rose-20: rgba(244, 63, 94, .2);--accent-rose-30: rgba(244, 63, 94, .3);--accent-rose-35: rgba(244, 63, 94, .35);--accent-rose-40: rgba(244, 63, 94, .4);--accent-rose-60: rgba(244, 63, 94, .6);--accent-amber-15: rgba(245, 158, 11, .15);--accent-amber-20: rgba(245, 158, 11, .2);--accent-amber-40: rgba(245, 158, 11, .4);--body-bg-image: radial-gradient(at 0% 0%, rgba(99, 102, 241, .12) 0px, transparent 50%), radial-gradient(at 100% 100%, rgba(16, 185, 129, .08) 0px, transparent 50%);--auth-glow-a: rgba(99, 102, 241, .25);--auth-glow-b: rgba(16, 185, 129, .2);--scrollbar-thumb: var(--bg-glass);--scrollbar-thumb-hover: var(--text-muted)}html[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-card: rgba(255, 255, 255, .8);--bg-card-hover: #ffffff;--bg-glass: rgba(0, 0, 0, .03);--border-color: rgba(0, 0, 0, .08);--border-active: rgba(99, 102, 241, .5);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--accent-emerald: #10b981;--accent-emerald-glow: rgba(16, 185, 129, .15);--accent-rose: #f43f5e;--accent-rose-glow: rgba(244, 63, 94, .12);--accent-indigo: #6366f1;--accent-indigo-glow: rgba(99, 102, 241, .15);--accent-amber: #f59e0b;--accent-amber-glow: rgba(245, 158, 11, .15);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08);--shadow-md: 0 8px 24px rgba(15, 23, 42, .1);--shadow-glow: 0 0 25px rgba(99, 102, 241, .2);--bg-glass-1: rgba(0, 0, 0, .01);--bg-glass-15: rgba(0, 0, 0, .015);--bg-glass-2: rgba(0, 0, 0, .02);--bg-glass-4: rgba(0, 0, 0, .04);--bg-glass-5: rgba(0, 0, 0, .05);--bg-glass-10: rgba(0, 0, 0, .1);--bg-glass-12: rgba(0, 0, 0, .12);--bg-glass-strong: rgba(0, 0, 0, .08);--border-color-hover: rgba(0, 0, 0, .15);--border-color-strong: rgba(0, 0, 0, .2);--bottom-nav-bg: rgba(255, 255, 255, .92);--auth-card-bg: rgba(255, 255, 255, .92);--auth-divider-bg: rgba(255, 255, 255, .95);--drawer-overlay: rgba(0, 0, 0, .4);--modal-overlay: rgba(0, 0, 0, .4);--fatura-details-bg: rgba(0, 0, 0, .04);--shadow-modal: 0 20px 50px rgba(15, 23, 42, .18);--on-accent: #ffffff;--accent-indigo-300: #6366f1;--accent-indigo-400: #6366f1;--accent-indigo-600: #4f46e5;--accent-amber-600: #b45309;--nav-active-text: #ffffff;--nav-active-bg: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);--header-title-gradient: linear-gradient(135deg, #0f172a 0%, #475569 100%);--credit-card-gradient: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);--accent-indigo-05: rgba(99, 102, 241, .05);--accent-indigo-10: rgba(99, 102, 241, .08);--accent-indigo-14: rgba(99, 102, 241, .1);--accent-indigo-15: rgba(99, 102, 241, .12);--accent-indigo-20: rgba(99, 102, 241, .15);--accent-indigo-30: rgba(99, 102, 241, .22);--accent-indigo-35: rgba(99, 102, 241, .25);--accent-indigo-45: rgba(99, 102, 241, .35);--accent-indigo-50: rgba(99, 102, 241, .45);--accent-emerald-15: rgba(16, 185, 129, .12);--accent-emerald-30: rgba(16, 185, 129, .25);--accent-emerald-40: rgba(16, 185, 129, .35);--accent-rose-12: rgba(244, 63, 94, .08);--accent-rose-15: rgba(244, 63, 94, .1);--accent-rose-20: rgba(244, 63, 94, .12);--accent-rose-30: rgba(244, 63, 94, .2);--accent-rose-35: rgba(244, 63, 94, .25);--accent-rose-40: rgba(244, 63, 94, .3);--accent-rose-60: rgba(244, 63, 94, .5);--accent-amber-15: rgba(245, 158, 11, .12);--accent-amber-20: rgba(245, 158, 11, .15);--accent-amber-40: rgba(245, 158, 11, .35);--body-bg-image: none;--auth-glow-a: rgba(99, 102, 241, .15);--auth-glow-b: rgba(16, 185, 129, .12);--scrollbar-thumb: rgba(0, 0, 0, .2);--scrollbar-thumb-hover: rgba(0, 0, 0, .35)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.5;background-image:var(--body-bg-image);background-attachment:fixed;transition:background-color .3s ease,color .3s ease}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.app-container{display:flex;min-height:100vh;position:relative}.main-content{flex:1;padding:1rem 1rem 5.5rem;max-width:1400px;margin:0 auto;width:100%}@media (min-width: 768px){.main-content{margin-left:260px;padding:2rem}}.header-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.header-bar{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.75rem;background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);padding:1.25rem;border-radius:var(--radius-md)}@media (max-width: 767px){.header-bar{padding-left:4.25rem}}@media (min-width: 640px){.header-bar{flex-direction:row;align-items:center;justify-content:space-between}}.header-title-group h1{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;background:var(--header-title-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-title-group p{font-size:.875rem;color:var(--text-secondary)}.header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.month-select-container{display:flex;align-items:center;gap:.5rem;background:var(--bg-glass);border:1px solid var(--border-color);padding:.4rem .8rem;border-radius:var(--radius-sm)}.month-select-container label{font-size:.8rem;color:var(--text-secondary);font-weight:600}.month-select{background:transparent;border:none;color:var(--text-primary);font-family:inherit;font-size:.9rem;font-weight:700;cursor:pointer;outline:none}.month-select option{background:var(--bg-secondary);color:var(--text-primary)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,var(--accent-indigo) 0%,var(--accent-indigo-600) 100%);color:var(--on-accent);border:none;padding:.65rem 1.2rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 4px 14px var(--accent-indigo-35)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px var(--accent-indigo-50)}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--border-color);padding:.6rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-secondary:hover{background:var(--bg-glass-strong);border-color:var(--border-color-strong)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.btn-icon:hover{color:var(--text-primary);background:var(--bg-glass)}.btn-icon.danger:hover{color:var(--accent-rose);background:var(--accent-rose-glow)}.theme-toggle{width:38px;height:38px;border-radius:var(--radius-sm);flex-shrink:0}.theme-toggle:hover{color:var(--accent-indigo);background:var(--accent-indigo-glow)}.sidebar{display:none}@media (min-width: 768px){.sidebar{display:flex;flex-direction:column;width:260px;height:100vh;position:fixed;top:0;left:0;background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:1.5rem 1rem;z-index:100}}.sidebar-logo{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;margin-bottom:2rem}.logo-icon{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--accent-indigo),var(--accent-emerald));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-glow)}.logo-text{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary)}.nav-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.nav-item button{width:100%;display:flex;align-items:center;gap:.85rem;padding:.8rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:.925rem;font-weight:600;cursor:pointer;transition:var(--transition);text-align:left}.nav-item button:hover{color:var(--text-primary);background:var(--bg-glass)}.nav-item button.active{color:var(--nav-active-text);background:var(--nav-active-bg);border-color:var(--border-active);box-shadow:0 4px 15px var(--accent-indigo-15)}.nav-item button.active svg{color:var(--accent-indigo)}.nav-item button:active{transform:scale(.98)}.sidebar-hamburger{display:none}@media (max-width: 767px){.sidebar-hamburger{display:inline-flex;align-items:center;justify-content:center;position:fixed;top:1.25rem;left:1rem;z-index:950;width:42px;height:42px;border-radius:var(--radius-sm);background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition)}.sidebar-hamburger:hover{background:var(--bg-card-hover);color:var(--accent-indigo);border-color:var(--border-active)}.sidebar-hamburger:active{transform:scale(.94)}}.sidebar-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--drawer-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1040;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.sidebar-drawer-overlay.open{opacity:1;visibility:visible}.sidebar-drawer{display:flex;flex-direction:column;position:fixed;top:0;left:0;width:280px;max-width:85vw;height:100dvh;background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:1.5rem 1rem;z-index:1050;box-shadow:var(--shadow-md);transform:translate(-100%);visibility:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),visibility .3s ease;overflow-y:auto;outline:none}.sidebar-drawer.open{transform:translate(0);visibility:visible}.sidebar-drawer-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}@media (min-width: 768px){.sidebar-hamburger,.sidebar-drawer,.sidebar-drawer-overlay{display:none}}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:65px;background:var(--bottom-nav-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border-color);justify-content:space-around;align-items:center;z-index:1000;padding:0 .5rem}@media (min-width: 768px){.bottom-nav{display:none}}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;background:transparent;border:none;color:var(--text-muted);font-size:.7rem;font-weight:600;padding:.4rem;cursor:pointer;transition:var(--transition);flex:1;position:relative}.bottom-nav-item:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%) scaleX(0);width:40%;height:3px;border-radius:0 0 4px 4px;background:var(--accent-indigo);transition:transform .25s ease}.bottom-nav-item.active:before{transform:translate(-50%) scaleX(1)}.bottom-nav-item:hover{color:var(--text-secondary)}.bottom-nav-item:active{transform:scale(.95)}.bottom-nav-item.active{color:var(--text-primary)}.bottom-nav-item.active svg{transform:translateY(-2px);color:var(--accent-indigo-300)}.metrics-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.25rem;margin-bottom:1.75rem}@media (min-width: 640px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.metrics-grid{grid-template-columns:repeat(4,1fr)}}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;transition:var(--transition);position:relative;overflow:hidden}.card:hover{border-color:var(--border-color-hover);box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.card-title{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.card-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.card-icon.emerald{background:var(--accent-emerald-glow);color:var(--accent-emerald)}.card-icon.rose{background:var(--accent-rose-glow);color:var(--accent-rose)}.card-icon.indigo{background:var(--accent-indigo-glow);color:var(--accent-indigo)}.card-icon.amber{background:var(--accent-amber-glow);color:var(--accent-amber)}.card-value{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.25rem}.card-subtext{font-size:.8rem;color:var(--text-muted)}.table-container{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;margin-bottom:2rem}.table-header-bar{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;border-bottom:1px solid var(--border-color);background:var(--bg-glass-1)}.table-title{font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{padding:.9rem 1.25rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-glass-2);border-bottom:1px solid var(--border-color)}.data-table td{padding:1rem 1.25rem;font-size:.9rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-glass)}.mobile-cards-list{display:flex;flex-direction:column;gap:.85rem;padding:1rem}@media (min-width: 641px){.mobile-cards-list{display:none}}@media (max-width: 640px){.desktop-table-view{display:none}}.data-card{background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1rem;display:flex;flex-direction:column;gap:.65rem}.data-card-header{display:flex;align-items:flex-start;justify-content:space-between}.data-card-title{font-weight:700;font-size:1rem;color:var(--text-primary)}.data-card-row{display:flex;align-items:center;justify-content:space-between;font-size:.85rem}.data-card-label{color:var(--text-muted)}.data-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--bg-glass-5)}.status-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:20px;font-size:.775rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:var(--transition);-webkit-user-select:none;user-select:none}.status-toggle.received,.status-toggle.paid{background:var(--accent-emerald-glow);color:var(--accent-emerald);border-color:var(--accent-emerald-30)}.status-toggle.pending{background:var(--accent-rose-glow);color:var(--accent-rose);border-color:var(--accent-rose-30)}.status-toggle:hover{transform:scale(1.03)}.due-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:12px;font-size:.775rem;font-weight:700;border:1px solid transparent}.due-badge.overdue{background:var(--accent-rose-15);color:var(--accent-rose);border-color:var(--accent-rose-35);animation:pulseOverdue 2s infinite}@keyframes pulseOverdue{0%{box-shadow:0 0 0 0 var(--accent-rose-40)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.due-badge.due-today{background:var(--accent-amber-20);color:var(--accent-amber);border-color:var(--accent-amber-40)}.due-badge.upcoming{background:var(--accent-indigo-15);color:var(--accent-indigo-300);border-color:var(--accent-indigo-30)}.due-badge.paid{background:var(--accent-emerald-15);color:var(--accent-emerald);border-color:var(--accent-emerald-30)}.credit-card-item{background:var(--credit-card-gradient);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;min-height:190px;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.credit-card-chip{width:40px;height:28px;background:linear-gradient(135deg,var(--accent-amber),var(--accent-amber-600));border-radius:6px;margin-bottom:1rem}.progress-bar-bg{width:100%;height:8px;background:var(--bg-glass-10);border-radius:10px;overflow:hidden;margin-top:.5rem}.progress-bar-fill{height:100%;border-radius:10px;transition:width .4s ease-out}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;max-width:520px;padding:1.75rem;box-shadow:var(--shadow-modal);animation:scaleUp .25s cubic-bezier(.16,1,.3,1);outline:none}@keyframes scaleUp{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.2rem;font-weight:700}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem;width:100%;min-width:0}.form-group label{font-size:.825rem;font-weight:600;color:var(--text-secondary)}.form-control{width:100%;box-sizing:border-box;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.65rem .9rem;color:var(--text-primary);font-family:inherit;font-size:.925rem;outline:none;transition:var(--transition)}.form-control:focus{border-color:var(--accent-indigo);box-shadow:0 0 0 3px var(--accent-indigo-glow)}.form-control.input-error{border-color:var(--accent-rose);box-shadow:0 0 0 3px var(--accent-rose-glow)}.form-control.input-error:focus{border-color:var(--accent-rose);box-shadow:0 0 0 3px var(--accent-rose-glow)}.field-error-msg{display:flex;align-items:center;gap:.3rem;color:var(--accent-rose);font-size:.75rem;font-weight:500;line-height:1.3}.required-mark{color:var(--accent-rose);margin-left:2px}.btn-primary:disabled,.btn-primary:disabled:hover{opacity:.55;transform:none;box-shadow:none;cursor:not-allowed}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%;min-width:0}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.text-emerald{color:var(--accent-emerald)}.text-rose{color:var(--accent-rose)}.text-indigo{color:var(--accent-indigo)}.text-amber{color:var(--accent-amber)}.text-muted{color:var(--text-muted)}.font-bold{font-weight:700}.user-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent-indigo-glow);border:1px solid transparent;color:var(--accent-indigo);padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:700;max-width:100%;min-width:0}.user-badge .user-badge-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.btn-primary,.btn-secondary{white-space:nowrap}.month-select-container{min-width:0}.month-select-container label{white-space:nowrap}.month-select{max-width:100%;min-width:0}.header-actions{min-width:0}button:focus-visible,select:focus-visible{outline:2px solid var(--accent-indigo);outline-offset:2px}.header-title-group{min-width:0}.month-select{color:var(--text-primary);background:var(--bg-glass-4);border-radius:6px;padding:.15rem .3rem}.month-select:hover{background:var(--bg-glass-strong)}.card-highlight{border-color:var(--accent-indigo-45);background:linear-gradient(160deg,var(--accent-indigo-10) 0%,var(--bg-card) 60%);box-shadow:0 0 28px var(--accent-indigo-14),var(--shadow-md)}.subtext-icon{display:inline-flex;align-items:center;gap:4px}.dashboard-timeline-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-bottom:2rem}@media (min-width: 768px){.dashboard-timeline-grid{grid-template-columns:1fr 1fr}}.timeline-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem}.timeline-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.timeline-title{font-size:1rem;font-weight:700}.timeline-list{display:flex;flex-direction:column;gap:.65rem}.timeline-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;background:var(--bg-glass-2);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.timeline-item-info{display:flex;align-items:center;gap:.6rem;min-width:0}.timeline-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.timeline-dot.overdue{background:var(--accent-rose);box-shadow:0 0 8px var(--accent-rose-glow)}.timeline-dot.due-today{background:var(--accent-amber);box-shadow:0 0 8px var(--accent-amber-glow)}.timeline-dot.upcoming{background:var(--accent-indigo);box-shadow:0 0 8px var(--accent-indigo-glow)}.timeline-dot.paid,.timeline-dot.emerald{background:var(--accent-emerald);box-shadow:0 0 8px var(--accent-emerald-glow)}.timeline-dot.indigo{background:var(--accent-indigo);box-shadow:0 0 8px var(--accent-indigo-glow)}.timeline-item-title{font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-item-date{font-size:.75rem;color:var(--text-muted)}.timeline-received{color:var(--accent-emerald);font-weight:600}.timeline-item-value{font-size:.9rem;font-weight:800;white-space:nowrap}.timeline-empty{text-align:center;color:var(--text-muted);font-size:.85rem;padding:1.5rem .5rem}.timeline-empty-hint{font-size:.78rem;margin-top:.15rem;opacity:.85}.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.section-heading{display:flex;align-items:center;gap:.6rem;min-width:0}.section-icon{width:32px;height:32px;flex-shrink:0}.section-title{font-size:1.1rem;font-weight:700}.section-subtitle{font-size:.8rem;color:var(--text-muted)}.section-total{text-align:right}.section-total-label{font-size:.8rem;color:var(--text-muted)}.section-total-value{font-size:1.25rem;font-weight:800}.section-padding{padding:1.5rem}.card-limits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.credit-limit-card{background:var(--bg-glass-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1.1rem;border-left:4px solid var(--accent-indigo)}.credit-limit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:.5rem}.credit-limit-name{font-weight:700;font-size:1rem}.credit-limit-due{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.credit-limit-row{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.25rem}.credit-limit-footer{display:flex;justify-content:space-between;font-size:.75rem;margin-top:.4rem;color:var(--text-muted)}.summary-title{font-size:1rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.summary-block{background:var(--bg-glass);padding:1rem;border-radius:var(--radius-sm)}.summary-label{font-size:.8rem;color:var(--text-secondary)}.summary-value{font-size:1.2rem;font-weight:700}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.4rem;padding:1.75rem 1rem;border:1px dashed var(--border-color);border-radius:var(--radius-sm);background:var(--bg-glass-15)}.empty-state-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--bg-glass);color:var(--text-muted);margin-bottom:.2rem}.empty-state-title{font-size:.95rem;font-weight:700;color:var(--text-primary)}.empty-state-hint{font-size:.8rem;color:var(--text-muted);max-width:340px}.payment-progress{margin-top:1.25rem;padding:1rem 1.25rem;background:var(--bg-glass-2);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.payment-progress-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.payment-progress-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.payment-progress-value{font-size:.9rem;font-weight:800}.payment-bar.full{background:var(--accent-emerald);box-shadow:0 0 12px var(--accent-emerald-glow)}.payment-bar.partial{background:var(--accent-amber);box-shadow:0 0 12px var(--accent-amber-glow)}.payment-bar.empty{background:var(--accent-rose);box-shadow:0 0 12px var(--accent-rose-glow)}.payment-bar.none{background:var(--bg-glass-12)}.payment-progress-hint{font-size:.8rem;color:var(--text-muted);margin-top:.45rem}.totals-summary{display:flex;gap:1.5rem;background:var(--bg-glass);padding:.75rem 1.25rem;border-radius:var(--radius-sm);flex-wrap:wrap}.totals-item{display:flex;flex-direction:column}.totals-item+.totals-item{border-left:1px solid var(--border-color);padding-left:1.5rem}.totals-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.totals-value{font-size:1.15rem;font-weight:800}.totals-value-lg{font-size:1.3rem}.cp-summary-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.cp-heading{display:flex;align-items:center;gap:.5rem}.cp-title{font-size:1.25rem;font-weight:800}.cp-subtitle{font-size:.85rem;color:var(--text-muted)}.cp-alerts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;margin-bottom:1.75rem}.cp-alert-card{margin-bottom:0}.cp-alert-list{padding:.85rem;display:flex;flex-direction:column;gap:.6rem}.cp-empty-note{text-align:center;color:var(--text-muted);padding:1.25rem;font-size:.85rem}.span-full{grid-column:1 / -1}.alert-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem;background:var(--bg-glass-2);border:1px solid var(--border-color);border-radius:8px}.alert-item-overdue{background:var(--bg-glass);border-color:var(--accent-rose-20)}.alert-item-body{min-width:0}.alert-item-top{display:flex;align-items:center;gap:.4rem}.alert-item-title{font-size:.9rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-item-date{font-size:.8rem;color:var(--text-muted);margin-top:2px}.alert-item-side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.alert-item-value{font-size:1rem;font-weight:800}.alert-tag{font-size:.7rem;text-transform:uppercase;padding:1px 6px;border-radius:4px;font-weight:700;flex-shrink:0}.alert-tag-fatura-overdue{background:var(--accent-amber-20);color:var(--accent-amber)}.alert-tag-despesa-overdue{background:var(--accent-rose-20);color:var(--accent-rose)}.alert-tag-fatura-upcoming{background:var(--accent-amber-15);color:var(--accent-amber)}.alert-tag-despesa-upcoming{background:var(--accent-indigo-15);color:var(--accent-indigo-400)}.fatura-list-wrap{display:flex;flex-direction:column;gap:1rem;padding:1rem}.fatura-card{background:var(--bg-glass-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);border-left:4px solid var(--accent-indigo);overflow:hidden}.fatura-card-body{padding:1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.fatura-card-info{display:flex;align-items:center;gap:.75rem;min-width:0}.fatura-card-title-line{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.fatura-card-title{font-size:1.05rem;font-weight:700}.fatura-card-meta{font-size:.8rem;color:var(--text-muted);margin-top:2px}.fatura-card-actions{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}.fatura-value-wrap{text-align:right}.fatura-value-label{font-size:.75rem;color:var(--text-muted)}.fatura-value{font-size:1.15rem;font-weight:800}.fatura-details{background:var(--fatura-details-bg);padding:1rem;border-top:1px solid var(--border-color)}.fatura-details-title{font-size:.85rem;font-weight:700;color:var(--text-secondary);margin-bottom:.6rem}.fatura-list{display:flex;flex-direction:column;gap:.4rem}.fatura-item{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;padding:.5rem .75rem;background:var(--bg-glass);border-radius:6px}.fatura-item-info{display:flex;align-items:center;gap:.6rem;min-width:0}.fatura-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-card-date-row{display:flex;align-items:center;gap:.4rem;margin-top:4px}.data-card-date{font-size:.8rem;color:var(--text-muted)}.data-card-value{font-size:1.1rem}.data-card-date-row .due-badge{font-size:.7rem;padding:1px 6px}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;box-sizing:border-box;background-image:radial-gradient(at 20% 20%,var(--auth-glow-a) 0px,transparent 50%),radial-gradient(at 80% 80%,var(--auth-glow-b) 0px,transparent 50%)}.auth-card{width:100%;max-width:440px;background:var(--auth-card-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem 1.75rem;box-shadow:var(--shadow-md);box-sizing:border-box}@media (max-width: 480px){.auth-shell{padding:1rem;align-items:flex-start;overflow-y:auto}.auth-card{padding:1.5rem 1.1rem;margin:auto 0;border-radius:var(--radius-md)}}@media (max-width: 360px){.auth-card{padding:1.25rem .9rem}}.auth-brand-logo{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,var(--accent-indigo),var(--accent-emerald));display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff;box-shadow:var(--shadow-glow)}.auth-title{font-size:1.6rem;font-weight:800;letter-spacing:-.02em}.auth-subtitle{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--bg-glass);border:1px solid var(--border-color);padding:4px;border-radius:var(--radius-sm);margin-bottom:1.5rem}.auth-tab{padding:.6rem;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-weight:700;font-size:.875rem;cursor:pointer;transition:var(--transition)}.auth-tab:hover{color:var(--text-primary)}.auth-tab.active{background:var(--accent-indigo);color:var(--on-accent)}.auth-tab:focus-visible{outline:2px solid var(--accent-indigo);outline-offset:2px}.auth-alert{display:flex;align-items:flex-start;gap:.5rem;padding:.7rem .9rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;line-height:1.4;margin-bottom:1.25rem}.auth-alert svg{flex-shrink:0;margin-top:1px}.auth-alert-error{background:var(--accent-rose-glow);border:1px solid var(--accent-rose-40);color:var(--accent-rose)}.auth-alert-success{background:var(--accent-emerald-glow);border:1px solid var(--accent-emerald-40);color:var(--accent-emerald)}.form-control.invalid{border-color:var(--accent-rose-60);box-shadow:0 0 0 3px var(--accent-rose-12)}.form-control.invalid:focus{border-color:var(--accent-rose);box-shadow:0 0 0 3px var(--accent-rose-glow)}.auth-field-error{display:flex;align-items:center;gap:.35rem;color:var(--accent-rose);font-size:.78rem;font-weight:600;margin-top:.3rem}.auth-input-action{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.35rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:var(--transition)}.auth-input-action:hover{color:var(--text-primary);background:var(--bg-glass)}.auth-input-action:focus-visible{outline:2px solid var(--accent-indigo);outline-offset:1px}.auth-link-btn{background:none;border:none;color:var(--accent-indigo);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition)}.auth-link-btn:hover{text-decoration:underline}.auth-link-btn:focus-visible{outline:2px solid var(--accent-indigo);outline-offset:2px;border-radius:4px}.auth-link-muted{background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:.8rem;cursor:pointer;transition:var(--transition)}.auth-link-muted:hover{color:var(--text-primary)}.auth-link-muted:focus-visible{outline:2px solid var(--accent-indigo);outline-offset:2px;border-radius:4px}.auth-submit{width:100%;margin-top:1rem;padding:.75rem}.auth-submit:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.auth-submit:focus-visible{outline:2px solid var(--accent-indigo);outline-offset:2px}.auth-reset-hint{font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem}.auth-divider{position:relative;margin:1.5rem 0;text-align:center;font-size:.75rem;color:var(--text-muted)}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;border-top:1px solid var(--border-color)}.auth-divider span{position:relative;background:var(--auth-divider-bg);padding:0 .5rem}.auth-demo-note{margin-top:.6rem;text-align:center;font-size:.75rem;color:var(--text-muted);line-height:1.5}.auth-demo-note code{font-size:.72rem;background:var(--bg-glass);border:1px solid var(--border-color);border-radius:4px;padding:.1rem .3rem;color:var(--text-secondary)}@keyframes auth-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:auth-spin .9s linear infinite}.header-title-group{min-width:0;flex:1 1 auto}.header-title-group h1{font-size:1.35rem;overflow-wrap:anywhere}.header-title-group p{overflow-wrap:anywhere}.month-select-container{flex-shrink:1;min-width:0}.month-select{max-width:26vw;text-overflow:ellipsis}@media (max-width: 479px){.header-bar{padding:1rem .75rem 1rem 4.25rem;gap:.5rem}.header-actions{gap:.5rem;width:100%;justify-content:flex-start}.month-select-container{flex:1 1 auto;justify-content:flex-start}.month-select-container label{font-size:.75rem}.header-actions .btn-secondary{padding:.55rem .8rem;font-size:.8rem}.header-actions .btn-primary{padding:.55rem .9rem;font-size:.8rem}.btn-primary span,.btn-secondary span{display:inline-block}.header-title-group h1{font-size:1.2rem}}@media (max-width: 380px){.header-actions .btn-primary span,.header-title-group h1{font-size:.85rem}.btn-primary span,.btn-secondary span{font-size:.78rem}.month-select{max-width:22vw}}@media (max-width: 360px){.header-actions .btn-primary span{display:none}.header-actions .btn-primary{padding:.5rem}.btn-secondary span{display:none}.header-actions .btn-secondary{padding:.5rem}}
