@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);--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);--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 (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);min-height:44px}.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);min-height:44px}.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);min-height:44px}.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;min-width:44px;min-height:44px;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)}.btn-icon-warning:hover{color:var(--accent-amber);background:var(--accent-amber-glow)}.theme-toggle{width:44px;height:44px;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)}.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;min-height:48px;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)}.dashboard-privacy{display:flex;justify-content:flex-end;margin-bottom:.85rem}.privacy-toggle{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.45rem .9rem;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-glass-2);color:var(--text-muted);font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:var(--transition)}.privacy-toggle:hover{color:var(--text-primary);border-color:var(--border-active)}.privacy-toggle[aria-pressed=true]{color:var(--accent-indigo);border-color:var(--accent-indigo-glow);background:var(--accent-indigo-glow)}.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}.view-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.ordenar-controles{display:none}@media (max-width: 640px){.ordenar-controles{display:flex;align-items:center;gap:.5rem;width:100%}.ordenar-controles .form-control{flex:1 1 auto;min-width:0;width:auto;font-size:.85rem}}.search-inline{position:relative}.search-inline .form-control{padding-left:2rem;width:170px;font-size:.85rem}.search-inline>svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}@media (max-width: 767px){.table-header-bar{flex-wrap:wrap;row-gap:.6rem}.table-header-bar>.view-header-actions{width:100%}.search-inline{flex:1 1 auto;min-width:0}.search-inline .form-control{width:100%}.view-header-actions .btn-primary{flex-shrink:0}}.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 th.th-ordenavel{padding:0}.th-ordenavel button{display:flex;align-items:center;gap:.35rem;width:100%;padding:.9rem 1.25rem;background:none;border:none;cursor:pointer;font:inherit;color:inherit;text-align:left;transition:color .2s ease}.th-ordenavel button:hover{color:var(--text-primary)}.th-ordenavel.ativa{color:var(--accent-indigo)}.th-ordenavel-neutra{opacity:.3}.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-switch{position:relative;display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .7rem .3rem .35rem;border-radius:999px;font-size:.775rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:var(--transition);-webkit-user-select:none;user-select:none}.status-switch:after{content:"";position:absolute;top:50%;left:-4px;right:-4px;height:44px;transform:translateY(-50%)}.status-switch-track{position:relative;width:36px;height:20px;border-radius:999px;flex-shrink:0;transition:var(--transition)}.status-switch-knob{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:currentColor;transition:transform .2s cubic-bezier(.4,0,.2,1)}.status-switch.on{background:var(--accent-emerald-glow);color:var(--accent-emerald);border-color:var(--accent-emerald-30)}.status-switch.on .status-switch-track{background:var(--accent-emerald-30)}.status-switch.on .status-switch-knob{transform:translate(16px)}.status-switch.off{background:var(--accent-rose-glow);color:var(--accent-rose);border-color:var(--accent-rose-30)}.status-switch.off .status-switch-track{background:var(--accent-rose-30)}.status-switch:hover{filter:brightness(1.08)}@media (prefers-reduced-motion: reduce){.status-switch,.status-switch-track,.status-switch-knob{transition:none}}.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)}.cartao-anuidade-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:56px;padding:.6rem .8rem;background:var(--bg-glass-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;text-align:left;cursor:pointer;transition:var(--transition)}.cartao-anuidade-toggle:hover{border-color:var(--border-active)}.cartao-anuidade-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.cartao-anuidade-text strong{font-size:.9rem;font-weight:700}.cartao-anuidade-text small{font-size:.75rem;color:var(--text-muted)}.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}.cartao-bloqueado{opacity:.65}.cartao-bloqueado-badge{display:inline-flex;align-items:center;gap:4px;margin-left:.5rem;padding:2px 8px;border-radius:8px;background:var(--accent-rose-glow);color:var(--accent-rose);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle}.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);min-height:44px}.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}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border: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;min-width:0}.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}.timeline-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border-color)}.timeline-footer-total{display:flex;flex-direction:column;gap:.1rem;font-size:1.05rem;font-weight:800;color:var(--accent-rose)}.timeline-footer-count{font-size:.75rem;font-weight:600;color:var(--text-muted)}.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}@media (max-width: 767px){.fatura-card-body{flex-wrap:wrap;align-items:flex-start;gap:.75rem}.fatura-card-info{flex:1 1 55%}.fatura-card-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.4rem}.fatura-value-wrap{text-align:left;min-width: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}.fatura-ajustada-badge{display:inline-block;padding:1px 6px;border-radius:8px;background:var(--accent-amber-glow);color:var(--accent-amber);font-size:.65rem;font-weight:800;white-space:nowrap}.cartao-fatura-row{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;margin:0 0 .8rem;padding:.55rem .65rem;background:var(--fatura-details-bg);border-radius:8px}.cartao-fatura-label{display:flex;align-items:center;gap:4px;min-width:0;font-size:.8rem;color:var(--text-secondary)}.cartao-fatura-right{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.cartao-fatura-valor{font-size:1rem;font-weight:800}.cartao-fatura-flag{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;padding:2px 6px;border-radius:8px;background:var(--accent-amber-glow);color:var(--accent-amber)}.cartao-fatura-flag.paid{background:var(--accent-emerald-glow);color:var(--accent-emerald)}.dica-lead{margin:0 0 .85rem;font-size:.825rem;color:var(--text-secondary)}.dica-best{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.9rem;padding:.7rem .8rem;border-radius:var(--radius-sm);background:var(--accent-emerald-glow)}.dica-best-titulo{display:flex;align-items:center;gap:4px;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-emerald)}.dica-best-nome{font-size:1.05rem;font-weight:800;color:var(--text-primary)}.dica-best-texto{font-size:.8rem;color:var(--text-secondary)}.dica-list{list-style:none;margin:0;padding:0}.dica-item{padding:.55rem 0;border-top:1px solid var(--border-color)}.dica-item:first-child{border-top:none}.dica-item-top{display:flex;align-items:center;gap:.5rem}.dica-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dica-nome{flex:1;min-width:0;font-size:.875rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dica-prazo{flex-shrink:0;font-size:.8rem;font-weight:800;color:var(--text-secondary)}.dica-item-best .dica-prazo{color:var(--accent-emerald)}.dica-meta{display:flex;flex-wrap:wrap;gap:.2rem .7rem;margin-top:.15rem;padding-left:16px;font-size:.75rem;color:var(--text-muted)}.dica-chip{font-weight:700;color:var(--accent-amber)}.dica-aviso{margin:.9rem 0 0;font-size:.75rem;color:var(--text-muted)}.fatura-edit-meta{font-size:.8rem;color:var(--text-muted);margin:0 0 .85rem}.fatura-edit-subtitle{font-size:.8rem;font-weight:700;color:var(--text-secondary);margin:0 0 .5rem}.fatura-edit-items{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}.fatura-edit-item{display:flex;align-items:center;gap:.6rem;font-size:.85rem;padding:.5rem .7rem;background:var(--bg-glass);border-radius:6px}.fatura-edit-item-rotulo{flex-shrink:0;font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:8px;background:var(--accent-amber-glow);color:var(--accent-amber)}.fatura-edit-item-descricao{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fatura-edit-item-valor{flex-shrink:0;font-weight:800}.fatura-edit-item-off{opacity:.65}.fatura-edit-empty{font-size:.8rem;color:var(--text-muted);margin:0}.fatura-edit-footnote{font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.fatura-edit-add{margin-bottom:1.1rem}.fatura-edit-add-descricao{flex:1 1 60%}.fatura-edit-add-valor{flex:0 1 40%}.fatura-edit-add-btn{width:100%;justify-content:center}.btn-tiny{min-height:32px;padding:.3rem .6rem;font-size:.75rem;gap:.3rem}.btn-link{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem 0;min-height:32px;background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:.75rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{color:var(--accent-rose)}.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;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}}.header-bar{position:relative;z-index:40}.header-account{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.3rem .85rem .3rem .3rem;background:var(--bg-glass);border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:var(--transition)}.header-account:hover{background:var(--accent-indigo-glow);border-color:var(--border-active)}.header-account-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--accent-indigo-glow);border:1px solid var(--accent-indigo);color:var(--accent-indigo)}.header-account-name{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subtabs{display:flex;gap:.35rem;margin-bottom:1rem;padding:.35rem;background:var(--bg-glass);border:1px solid var(--border-color);border-radius:999px}.subtab{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;flex:1;min-height:44px;padding:0 .75rem;background:transparent;border:none;border-radius:999px;color:var(--text-secondary);font-family:inherit;font-size:.875rem;font-weight:700;cursor:pointer;transition:var(--transition)}.subtab:hover{color:var(--text-primary)}.subtab.active{background:var(--nav-active-bg);color:var(--nav-active-text);box-shadow:0 2px 10px var(--accent-indigo-15)}@media (min-width: 768px){.subtabs{display:inline-flex;margin-bottom:1.25rem}.subtab{flex:0 0 auto;padding:0 1.5rem}}.mais-view{display:flex;flex-direction:column;gap:1.25rem}@media (min-width: 768px){.mais-view{max-width:720px}}.mais-profile{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}.mais-avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:50%;background:var(--accent-indigo-glow);border:1px solid var(--accent-indigo);color:var(--accent-indigo)}.mais-profile-info{min-width:0}.mais-profile-info h2{font-size:1.1rem;font-weight:800;overflow-wrap:anywhere}.mais-profile-info p{font-size:.85rem;color:var(--text-muted);overflow-wrap:anywhere}.mais-badge{display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;padding:2px 8px;border-radius:12px;background:var(--accent-amber-15);color:var(--accent-amber);font-size:.72rem;font-weight:700}.mais-group{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.mais-group-title{padding:.9rem 1.25rem .35rem;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.mais-row{display:flex;align-items:center;gap:.85rem;width:100%;min-height:56px;padding:.65rem 1.25rem;background:transparent;border:none;border-top:1px solid var(--border-color);color:var(--text-primary);font-family:inherit;text-align:left;cursor:pointer;transition:var(--transition)}.mais-group .mais-row:first-of-type{border-top:none}.mais-row:hover{background:var(--bg-glass-4)}.mais-row-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--accent-indigo-glow);color:var(--accent-indigo)}.mais-row.danger,.mais-row.danger .mais-row-icon{color:var(--accent-rose)}.mais-row.danger .mais-row-icon{background:var(--accent-rose-glow)}.mais-row-text{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.mais-row-label{font-size:.925rem;font-weight:700}.mais-row-hint{font-size:.775rem;color:var(--text-muted)}.mais-row-chevron{flex-shrink:0;color:var(--text-muted)}.mais-switch{position:relative;display:inline-flex;width:44px;height:26px;flex-shrink:0;border-radius:999px;background:var(--bg-glass-12);border:1px solid var(--border-color);transition:var(--transition)}.mais-switch.on{background:var(--accent-indigo-glow);border-color:var(--accent-indigo)}.mais-switch-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-muted);transition:transform .2s cubic-bezier(.4,0,.2,1),background .2s ease}.mais-switch.on .mais-switch-knob{transform:translate(18px);background:var(--accent-indigo)}.faturas-lote-intro{margin:0 0 .85rem;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.faturas-lote-lista{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.faturas-lote-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;border-top:1px solid var(--border-color);font-size:.85rem}.faturas-lote-item:first-child{border-top:none}.faturas-lote-cartao{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.faturas-lote-mes{flex:1;min-width:0;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.faturas-lote-valor{flex-shrink:0;color:var(--accent-rose)}.faturas-lote-total{margin:.75rem 0 0;text-align:right;font-size:.875rem}.faturas-lote-secao{margin:1.1rem 0 .4rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.faturas-lote-total-geral{margin-top:1rem;padding-top:.6rem;border-top:1px solid var(--border-color);font-weight:700}.despesas-resumo{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1.1rem;padding:.75rem 1.25rem;background:#f43f5e0d;border-bottom:1px solid var(--border-color);font-size:.85rem}.despesa-cartao-chip{display:inline-flex;align-items:center;gap:4px;margin-left:.45rem;padding:2px 8px;border-radius:8px;background:var(--accent-amber-glow);color:var(--accent-amber);font-size:.7rem;font-weight:800;white-space:nowrap;vertical-align:middle}.data-card-date-row .despesa-cartao-chip{margin-left:0}.despesa-cartao-status{display:inline-flex;align-items:center;gap:5px;padding:.3rem .7rem;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-glass);color:var(--accent-amber);font-size:.75rem;font-weight:700;white-space:nowrap}.despesa-cartao-status.paid{background:var(--accent-emerald-glow);color:var(--accent-emerald)}.despesa-recorrencia{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:10px;background:var(--bg-glass);font-size:.75rem;white-space:nowrap}.despesa-vigencia{display:block;margin-top:4px;font-size:.7rem;font-weight:700;color:var(--text-muted);white-space:nowrap}.data-card-date-row .despesa-vigencia{margin-top:0;min-width:0;overflow:hidden;text-overflow:ellipsis}.despesas-encerradas{margin-top:1rem;padding:.9rem 1.1rem;background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-md)}.despesas-encerradas-titulo{display:flex;align-items:center;gap:6px;margin-bottom:.7rem;font-size:.85rem;font-weight:800;color:var(--text-muted)}.despesas-encerradas-lista{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.despesas-encerrada{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .75rem;background:var(--bg-glass-2);border-radius:var(--radius-sm)}.despesas-encerrada-info{display:flex;flex-direction:column;gap:2px;min-width:0}.despesas-encerrada-nome{font-weight:700}.despesas-encerrada-detalhe{font-size:.75rem;color:var(--text-muted)}.despesas-encerrada-acoes{display:flex;align-items:center;gap:.4rem}@media (max-width: 767px){.despesas-encerrada-acoes .btn-tiny{min-height:44px}}.field-hint{display:block;margin-top:.4rem;font-size:.75rem;color:var(--text-muted);line-height:1.45}@media (prefers-reduced-motion: reduce){.mais-switch-knob{transition:none}}.quick-add{position:relative;flex-shrink:0}.quick-add-panel{list-style:none;margin:0;padding:.4rem;display:flex;flex-direction:column;gap:.15rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:1200}.quick-add-header .quick-add-panel{position:absolute;top:calc(100% + .4rem);right:0;min-width:250px}.quick-add-option{display:flex;align-items:center;gap:.7rem;width:100%;min-height:48px;padding:.5rem .7rem;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;text-align:left;cursor:pointer;transition:var(--transition)}.quick-add-option:hover{background:var(--bg-glass-4)}.quick-add-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-sm)}.quick-add-option.emerald .quick-add-icon{background:var(--accent-emerald-glow);color:var(--accent-emerald)}.quick-add-option.rose .quick-add-icon{background:var(--accent-rose-glow);color:var(--accent-rose)}.quick-add-option.indigo .quick-add-icon{background:var(--accent-indigo-glow);color:var(--accent-indigo-400)}.quick-add-option.amber .quick-add-icon{background:var(--accent-amber-glow);color:var(--accent-amber)}.quick-add-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.quick-add-label{font-size:.875rem;font-weight:700}.quick-add-hint{font-size:.75rem;color:var(--text-muted)}.quick-add-fab{display:flex;align-items:center;justify-content:center;flex:0 0 64px;align-self:stretch}.quick-add-fab .quick-add-trigger{width:48px;height:48px;padding:0;border-radius:50%;justify-content:center}.quick-add-fab .quick-add-panel{position:fixed;left:50%;transform:translate(-50%);bottom:calc(65px + .75rem);width:min(300px,calc(100vw - 2rem))}@media (min-width: 768px){.quick-add-fab{display:none}}@keyframes sheetUp{0%{transform:translateY(24px);opacity:.4}to{transform:translateY(0);opacity:1}}@media (max-width: 767px){.modal-overlay{align-items:flex-end;padding:0;bottom:auto;height:100vh;height:var(--mf-viewport-height, 100dvh)}.modal-content{display:flex;flex-direction:column;width:100%;max-width:none;max-height:calc(100% - 2.5rem);padding:1.25rem 1rem 0;border-left:none;border-right:none;border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:sheetUp .22s cubic-bezier(.16,1,.3,1)}.modal-header{margin-bottom:1rem}.modal-body{overflow-y:auto;min-height:0;margin:0 -1rem;padding:0 1rem}.modal-actions{position:sticky;bottom:0;margin:1.25rem -1rem 0;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:var(--bg-secondary);border-top:1px solid var(--border-color)}}@media (prefers-reduced-motion: reduce){.modal-overlay,.modal-content{animation:none}}@media (max-width: 767px){.header-subtitle,.month-label{display:none}.header-account{padding:.3rem}.header-account-name{display:none}.header-title-group h1{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.quick-add-header{display:none}.main-content{padding-bottom:6rem}.header-actions{gap:.4rem}.month-select-container{flex:0 1 auto;padding:0 .4rem;gap:.35rem}.month-select{min-height:44px;max-width:32vw}}.inicio-barra{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.inicio-barra .subtabs,.inicio-barra .dashboard-privacy{margin-bottom:0}.calendario-view{display:flex;flex-direction:column;gap:.85rem}.calendario-barra{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem}.calendario-navegacao{display:flex;align-items:center;gap:.25rem}.calendario-titulo{padding:0 .35rem;font-size:1.05rem;font-weight:700;color:var(--text-primary);white-space:nowrap}.calendario-resumo-mes{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.78rem;color:var(--text-secondary)}.calendario-conteudo{display:grid;gap:1rem}.calendario-semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:.35rem}.calendario-semana span{text-align:center;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.calendario-grade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendario-vazio{min-height:58px}.calendario-dia{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:58px;padding:.3rem .35rem;background:var(--bg-glass-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:inherit;text-align:left;cursor:pointer;transition:var(--transition)}.calendario-dia:hover{border-color:var(--border-active);background:var(--bg-card-hover)}.calendario-dia:focus-visible{outline:2px solid var(--accent-indigo);outline-offset:2px}.calendario-dia-num{font-size:.8rem;font-weight:700;line-height:1;color:var(--text-primary)}.calendario-dia.hoje .calendario-dia-num{padding:.15rem .4rem;border-radius:999px;background:var(--accent-indigo);color:var(--on-accent)}.calendario-dia.selecionado{border-color:var(--accent-indigo);background:var(--accent-indigo-glow);box-shadow:0 0 0 1px var(--accent-indigo)}.calendario-dia.atrasado:after{content:"";position:absolute;top:.35rem;right:.4rem;width:6px;height:6px;border-radius:50%;background:var(--accent-rose)}.calendario-dia-resumo{display:flex;flex-direction:column;gap:1px;width:100%;font-size:.65rem;font-weight:700;line-height:1.15;overflow:hidden}.resumo-pagar{color:var(--accent-rose)}.resumo-receber{color:var(--accent-emerald)}.calendario-detalhe{display:flex;flex-direction:column;gap:.9rem;padding:.9rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}.agenda-dia-cabecalho{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.agenda-dia-titulo{font-size:1rem;font-weight:700;color:var(--text-primary)}.agenda-dia-totais{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.2rem;font-size:.78rem}.agenda-grupo-titulo{margin-bottom:.5rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.agenda-lista{display:flex;flex-direction:column;gap:.5rem;list-style:none;padding:0;margin:0}.agenda-item{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .7rem;background:var(--bg-glass-2);border:1px solid var(--border-color);border-left:4px solid var(--accent-indigo);border-radius:var(--radius-sm)}.agenda-item-conteudo{flex:1 1 140px;min-width:0}.agenda-item-titulo{font-size:.85rem;font-weight:700;color:var(--text-primary);overflow-wrap:anywhere}.agenda-item-detalhe,.agenda-item-rodape{font-size:.72rem;color:var(--text-muted);overflow-wrap:anywhere}.agenda-item-acao{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:.35rem}.agenda-item-valor{font-size:.85rem;font-weight:800;color:var(--text-primary)}@media (max-width: 767px){.agenda-item{flex-wrap:wrap}.agenda-item-acao{flex-basis:100%;flex-direction:row;align-items:center;justify-content:space-between}.agenda-item .btn-tiny{min-height:44px;padding:.5rem .85rem}}.agenda-item .btn-secondary span{display:inline-block}@media (max-width: 380px){.calendario-grade,.calendario-semana{gap:2px}}@media (min-width: 768px){.calendario-dia,.calendario-vazio{min-height:84px;padding:.5rem .6rem}.calendario-dia-resumo{font-size:.72rem}}@media (min-width: 1000px){.calendario-conteudo{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);align-items:start}}.saldo-inicial{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-left:3px solid var(--accent-indigo);border-radius:var(--radius-md);padding:.9rem 1.25rem;margin-bottom:1rem}.saldo-inicial-pergunta,.saldo-inicial-resumo{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;flex-wrap:wrap}.saldo-inicial-texto{display:flex;align-items:flex-start;gap:.6rem;min-width:0;flex:1 1 18rem}.saldo-inicial-texto p{margin:0;line-height:1.45}.saldo-inicial-icone{flex-shrink:0;margin-top:.15rem;color:var(--accent-indigo)}.saldo-inicial-nota{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-muted)}.saldo-inicial-acoes{display:flex;gap:.5rem;flex-wrap:wrap}.saldo-inicial-acoes .btn-primary,.saldo-inicial-acoes .btn-secondary{padding:.45rem .85rem;font-size:.85rem}@media (max-width: 767px){.saldo-inicial-acoes{width:100%}.saldo-inicial-acoes .btn-primary,.saldo-inicial-acoes .btn-secondary{flex:1 1 auto;justify-content:center;min-height:44px}.saldo-inicial-acoes .btn-secondary span{display:inline}}.saldos-zerar-lista{max-height:40vh;overflow-y:auto}
