:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f1f5f9 0%,#ecfeff 40%,#f8fafc 100%);font-family:Inter,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:0 0;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{border:none}#root{min-height:100vh}h1,h2,h3,p{margin-top:0}.app-shell{width:min(1200px,100% - 32px);margin:0 auto;padding:32px 0 48px}.topbar{justify-content:flex-start;align-items:center;gap:12px;margin-bottom:24px;display:flex;position:relative}.topbar>div:first-child{order:1}.topbar-actions{order:3;margin-left:auto}.primary-module-navigation{background:#f8fafce6;border:1px solid #0f172a12;border-radius:15px;order:2;justify-content:center;align-items:center;gap:2px;min-width:0;padding:4px;display:flex}.primary-module-link{color:#475569;cursor:pointer;min-height:36px;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:11px;padding:0 12px;font-size:.88rem;font-weight:700;transition:background .16s,color .16s,box-shadow .16s,transform .16s}.primary-module-link.active{color:#15803d;background:#fff;box-shadow:0 2px 8px #0f172a17}.primary-module-link:hover{color:#15803d;transform:translateY(-1px)}.primary-module-link:focus-visible{outline-offset:2px;outline:3px solid #22c55e59}.topbar h1{letter-spacing:-.06em;color:#0f172a;margin:0;font-size:clamp(2.2rem,4vw,3.6rem)}.topbar>div{position:relative}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#6b7280;margin:0 0 6px;font-size:.72rem;font-weight:700}.nav-tabs{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #0f172a14;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(360px,100vw - 36px);padding:10px;display:none;position:absolute;top:100%;right:0;box-shadow:0 18px 44px #0f172a29}.nav-tabs.is-open{display:grid}.module-menu-toggle{color:#0f172a;cursor:pointer;background:#ffffffe0;border:1px solid #0f172a17;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;min-height:42px;padding:0;font-size:.84rem;font-weight:700;transition:background .16s,box-shadow .16s,border-color .16s;display:inline-flex;box-shadow:0 8px 20px #0f172a0f}.module-menu-toggle:hover,.module-menu-toggle[aria-expanded=true]{background:#f0fdf4;border-color:#22c55e47;box-shadow:0 8px 20px #15803d1f}.module-navigation{position:relative}.topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex;position:relative}.topbar-actions .primary-module-navigation{order:1}.topbar-actions .module-navigation{order:2}.topbar-actions .account-actions{order:3}.mobile-primary-module-link{display:none}.logout-button{cursor:pointer;background:#ffffffd1;border:1px solid #dc262629;border-radius:14px;place-items:center;width:42px;height:42px;padding:0;transition:background .16s,border-color .16s,transform .16s;display:inline-grid}.text-danger{color:#dc2626}.logout-button:hover{background:#fef2f2;border-color:#dc26264d;transform:translateY(-1px)}.logout-button:focus-visible,.module-menu-toggle:focus-visible{outline-offset:3px;outline:3px solid #22c55e59}.income-layout,.investment-layout{grid-template-columns:.95fr 1.45fr}.investment-list-panel{grid-column:1/-1}.investment-form-panel{position:relative;overflow:hidden}.investment-form-panel:before{content:"";pointer-events:none;background:#22c55e12;border-radius:50%;width:130px;height:130px;position:absolute;top:-60px;right:-55px}.investment-form-panel>*{position:relative}.management-page{flex-direction:column;gap:20px;display:flex}.management-section-tabs{background:#ffffffbf;border:1px solid #0f172a14;border-radius:14px;gap:6px;width:fit-content;margin-bottom:20px;padding:5px;display:inline-flex}.management-section-tabs button,.management-pagination button{color:#475569;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:9px 13px;font-weight:650}.management-section-tabs button.active{color:#fff;background:#15803d}.management-heading,.management-panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.management-heading h2,.management-panel h3{color:#0f172a;margin:0}.management-count-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.management-count-card,.management-panel{background:#ffffffe6;border:1px solid #94a3b833;border-radius:18px;min-width:0;padding:20px;box-shadow:0 12px 32px #0f172a0d}.management-count-card{flex-direction:column;gap:9px;display:flex}.management-count-card span,.management-muted,.management-note{color:#64748b;font-size:.88rem}.management-count-card strong{color:#15803d;font-variant-numeric:tabular-nums;font-size:1.8rem}.management-note{margin:0;line-height:1.5}.management-ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.management-ranking{flex-direction:column;gap:0;margin:12px 0 0;padding:0;list-style:none;display:flex}.management-ranking li{border-top:1px solid #94a3b833;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;display:flex}.management-ranking li>span{flex-direction:column;gap:4px;display:flex}.management-ranking small,.management-table small{color:#64748b;font-size:.76rem}.management-ranking b{color:#15803d;text-align:right;white-space:nowrap;font-size:.84rem}.management-content-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,1.6fr);align-items:start;gap:18px;display:grid}.management-form{flex-direction:column;gap:14px;display:flex}.management-form label{color:#334155;flex-direction:column;gap:6px;font-size:.84rem;font-weight:650;display:flex}.management-form input,.management-form select,.management-filters select,.management-search input{color:#0f172a;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #dbe2ea;border-radius:10px;padding:10px 11px}.management-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.management-form .primary-button{width:100%}.management-panel-heading{margin-bottom:16px}.management-total{color:#64748b;white-space:nowrap;font-size:.86rem}.management-icon-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:9px;place-items:center;width:34px;height:34px;display:inline-grid}.management-icon-button:hover{background:#f1f5f9}.management-icon-button.danger{color:#dc2626}.management-search{color:#64748b;align-items:center;gap:7px;min-width:170px;display:flex}.management-search input{padding:8px 10px}.management-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.management-filters select{padding:8px;font-size:.8rem}.management-table-wrap{scrollbar-color:#cbd5e1 transparent;scrollbar-width:thin;border:1px solid #e2e8f0;border-radius:12px;width:100%;overflow-x:auto}.management-table{table-layout:fixed;border-collapse:collapse;text-align:left;width:100%;min-width:760px}.management-table .management-content-column{width:31%}.management-table .management-status-column{width:17%}.management-table .management-count-column{width:12%}.management-table .management-views-column{width:19%}.management-table .management-actions-column{width:21%}.management-table th,.management-table td{color:#334155;vertical-align:middle;border-top:1px solid #e8edf2;padding:13px 12px;font-size:.86rem}.management-table tbody tr:first-child td{border-top:0}.management-table tbody tr{transition:background .14s}.management-table tbody tr:hover{background:#f8fafc}.management-table th{color:#64748b;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#f8fafc;font-size:.72rem;font-weight:750}.management-table td strong{color:#0f172a;overflow-wrap:anywhere;font-size:.9rem;line-height:1.4;display:block}.management-table td:first-child small,.management-table td:nth-child(2) small{line-height:1.4;display:block}.management-badge{color:#166534;text-transform:capitalize;background:#dcfce7;border-radius:999px;width:fit-content;margin-bottom:5px;padding:3px 8px;font-size:.72rem;display:block}.management-badge.pago{color:#92400e;background:#fef3c7}.management-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.management-action-button{color:#334155;cursor:pointer;min-height:34px;font:inherit;white-space:nowrap;background:#fff;border:1px solid #dbe2ea;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:.77rem;font-weight:700;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.management-action-button:hover{background:#f8fafc;border-color:#94a3b8}.management-action-button.danger{color:#b91c1c;border-color:#fecaca}.management-action-button.danger:hover{background:#fef2f2;border-color:#fca5a5}.management-action-button:focus-visible{outline-offset:2px;outline:3px solid #22c55e4d}.management-status{border-radius:999px;width:fit-content;padding:3px 8px;font-size:.72rem;font-weight:700;display:block}.management-status.active{color:#166534;background:#dcfce7}.management-status.inactive{color:#475569;background:#f1f5f9}.management-table-count{font-variant-numeric:tabular-nums;font-weight:700}.management-table-count small{font-variant-numeric:normal;margin-top:3px;font-weight:400;display:block}.management-pagination{color:#64748b;justify-content:center;align-items:center;gap:12px;margin-top:16px;font-size:.82rem;display:flex}.management-pagination button{border:1px solid #e2e8f0}.management-pagination button:disabled{cursor:not-allowed;opacity:.5}.investment-list{flex-direction:column;gap:12px;display:flex}.investment-item{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b833;border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:16px 18px;display:grid}.investment-item-info{flex-direction:column;gap:4px;min-width:0;display:flex}.investment-item-info strong{color:#0f172a;overflow-wrap:anywhere}.investment-item-info small{color:#64748b;font-size:.76rem}.investment-amount{color:#15803d;font-variant-numeric:tabular-nums;white-space:nowrap}.investment-summary-panel .stats-grid{grid-template-columns:minmax(0,1fr)}.investment-distribution{border-top:1px solid #94a3b833;margin-top:24px;padding-top:22px}.investment-chart-heading{margin-bottom:16px}.investment-chart-heading .eyebrow{margin-bottom:4px}.investment-chart-heading h3{color:#0f172a;margin:0;font-size:1rem}.pie-chart-layout{justify-content:center;align-items:center;gap:24px;display:flex}.investment-pie-chart{aspect-ratio:1;border-radius:50%;flex:none;place-items:center;width:clamp(150px,16vw,200px);display:grid;box-shadow:inset 0 0 0 1px #0f172a0d,0 12px 24px #0f172a1a}.pie-chart-center{aspect-ratio:1;text-align:center;background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:58%;display:flex;box-shadow:0 2px 8px #0f172a14}.pie-chart-center small{color:#64748b;font-size:.68rem}.pie-chart-center strong{color:#0f172a;font-variant-numeric:tabular-nums;white-space:nowrap;max-width:100%;padding:0 5px;font-size:clamp(.72rem,1vw,.92rem)}.investment-chart-legend{flex-direction:column;flex:180px;gap:10px;min-width:0;max-height:220px;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.investment-chart-legend li{color:#334155;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.78rem;display:grid}.legend-color{border-radius:3px;width:10px;height:10px}.legend-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.investment-chart-legend li strong{color:#0f172a;font-variant-numeric:tabular-nums}.income-summary-panel .stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.income-list-panel{grid-column:1/-1}.income-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px;display:grid}.income-item{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b833;border-radius:16px;min-width:0;padding:18px}.income-item-heading,.income-item-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.income-item-name{flex-direction:column;gap:4px;min-width:0;display:flex}.income-item-name strong{overflow-wrap:anywhere;color:#0f172a}.income-item-name span,.income-item-name small,.income-item-footer small{color:#64748b;font-size:.82rem}.income-share{color:#15803d;font-variant-numeric:tabular-nums;flex:none;font-size:1.05rem}.income-progress-track{background:#e2e8f0;border-radius:999px;height:10px;margin:14px 0;overflow:hidden}.income-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#22c55e,#14b8a6);height:100%;transition:width .35s;display:block}.income-item-footer{align-items:center}.income-item-footer .card-actions{justify-content:flex-end}.income-form-panel,.income-summary-panel{min-height:100%}.income-form-panel{position:relative;overflow:hidden}.income-form-panel:before{content:"";pointer-events:none;background:#22c55e12;border-radius:50%;width:130px;height:130px;position:absolute;top:-60px;right:-55px}.income-form-panel>*{position:relative}.expense-mode .income-form-panel:before{background:#ef444414}.expense-mode .primary-button{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 12px 20px #ef444438}.expense-mode .income-item{background:linear-gradient(#fff,#fff7f7);border-color:#ef444426}.expense-mode .income-share{color:#b91c1c}.expense-mode .income-progress-track span{background:linear-gradient(90deg,#f87171,#dc2626)}.stat-card.expense-total{background:#fee2e2;border-color:#ef44444d}.stat-card.expense-total .stat-value{color:#b91c1c}.stat-card.neutral{background:#f1f5f9;border-color:#64748b3d}.money-dashboard{flex-direction:column;gap:20px;display:flex}.module-recommendations{grid-column:1/-1;min-width:0;margin-top:4px}.money-overview-panel,.money-health-panel{min-width:0}.money-overview-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.money-overview-stats .stat-card.positive .stat-value,.money-extra-result-card .stat-value{color:#15803d}.money-extra-result-card.negative .stat-value,.money-overview-stats .stat-card.negative .stat-value{color:#b91c1c}.money-extra-result-card .mini-button{align-self:flex-start;margin-top:4px}.money-health-panel{border-left:5px solid #94a3b8}.money-health-panel.success{border-left-color:#16a34a}.money-health-panel.warning{border-left-color:#d97706}.money-health-panel.warning.elevated{background:#fffbeb;border-left-width:8px}.money-health-panel.danger{border-left-color:#dc2626}.money-health-panel.danger.severe{background:#fff1f2;border-left-width:9px}.money-health-badge{color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;padding:7px 11px;font-size:.78rem;font-weight:700;display:inline-flex}.money-health-badge.success{color:#15803d;background:#dcfce7}.money-health-badge.warning{color:#a16207;background:#fef3c7}.money-health-badge.danger{color:#b91c1c;background:#fee2e2}.money-health-message{color:#334155;margin:0;line-height:1.7}.money-health-ratio{color:#64748b;margin:12px 0 0;font-size:.82rem;font-weight:700}.money-content-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.money-content-list li{border-top:1px solid #94a3b833;padding:12px 0}.money-content-item{justify-content:space-between;align-items:center;gap:12px;display:flex}.money-content-list a{color:#15803d;font-weight:650;text-decoration:none}.money-content-list a:hover,.money-content-list a:focus-visible{color:#166534;text-underline-offset:3px;text-decoration:underline}.money-content-actions{flex:none;align-items:center;gap:10px;display:flex}.money-content-save{color:#15803d;cursor:pointer;background:#fff;border:1px solid #15803d33;border-radius:10px;place-items:center;width:36px;height:36px;transition:background .16s,color .16s,border-color .16s;display:inline-grid}.money-content-save:hover:not(:disabled){background:#f0fdf4;border-color:#15803d}.money-content-save.is-saved{color:#166534;cursor:default;background:#f0fdf4;border-color:#bbf7d0}.money-content-save:disabled:not(.is-saved){cursor:wait;opacity:.55}.money-content-type{color:#166534;background:#dcfce7;border-radius:999px;flex:none;padding:4px 9px;font-size:.72rem;font-weight:700}.money-content-type.pago{color:#92400e;background:#fef3c7}.money-content-status{color:#64748b;margin:0;font-size:.88rem}.content-catalog-page{flex-direction:column;gap:20px;display:flex}.content-catalog-hero{background:radial-gradient(circle at 82% 10%,#fffc,#0000 24%),linear-gradient(115deg,#f0fdf4,#ecfdf5 48%,#eff6ff);border:1px solid #15803d1f;border-radius:24px;justify-content:space-between;align-items:center;gap:24px;min-height:190px;padding:30px clamp(22px,5vw,54px);display:flex;position:relative;overflow:hidden}.content-catalog-hero>div:first-child{z-index:1;max-width:650px;position:relative}.content-catalog-hero h1{color:#0f172a;letter-spacing:-.045em;margin:0;font-size:clamp(1.7rem,3.5vw,2.5rem);line-height:1.12}.content-catalog-hero p:last-child{color:#475569;max-width:550px;margin:12px 0 0;line-height:1.6}.content-catalog-hero-orbit{color:#15803d;background:#ffffff87;border:1px solid #15803d2b;border-radius:50%;flex:none;place-items:center;width:144px;height:144px;font-size:2rem;font-weight:800;display:grid;position:relative;box-shadow:0 18px 38px #15803d17,inset 0 0 0 14px #ffffff4d}.content-catalog-hero-orbit span:first-child{color:#2563eb;font-size:1.5rem;position:absolute;top:12px;right:24px}.content-catalog-hero-orbit span:nth-child(2){transform:translateY(2px)}.content-catalog-hero-orbit span:nth-child(3){color:#0d9488;font-size:1.4rem;position:absolute;bottom:15px;left:22px}.content-catalog-filter-panel{grid-template-columns:minmax(210px,2fr) repeat(3,minmax(130px,1fr));align-items:end;gap:12px;padding:18px 20px;display:grid}.content-catalog-filter-panel label{color:#475569;flex-direction:column;gap:7px;min-width:0;font-size:.76rem;font-weight:700;display:flex}.content-catalog-filter-panel select{width:100%;min-width:0;padding:10px 11px;font-size:.83rem}.content-catalog-search-control{color:#64748b;background:#f8fafc;border:1px solid #dfe7ee;border-radius:12px;align-items:center;gap:8px;min-width:0;padding-left:11px;display:flex}.content-catalog-search-control:focus-within{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1f}.content-catalog-search-control input{width:100%;min-width:0;box-shadow:none;background:0 0;border:0;outline:0;padding:10px 10px 10px 0;font-size:.83rem}.content-catalog-section{min-width:0}.content-catalog-section .panel-header{align-items:center}.content-catalog-section .panel-header h2{margin:0}.content-catalog-count{color:#475569;background:#f1f5f9;border-radius:999px;flex:none;padding:6px 10px;font-size:.72rem;font-weight:750}.content-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,235px),1fr));gap:16px;display:grid}.content-catalog-card{background:#fff;border:1px solid #e2e8f0;border-radius:17px;flex-direction:column;min-width:0;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;overflow:hidden;box-shadow:0 6px 16px #0f172a0b}.content-catalog-card:hover{border-color:#bbf7d0;transform:translateY(-3px);box-shadow:0 14px 26px #0f172a17}.content-catalog-image-wrap{aspect-ratio:16/9;background:#f1f5f9;position:relative;overflow:hidden}.content-catalog-image{object-fit:cover;width:100%;height:100%;display:block}.content-catalog-type{color:#166534;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f0fdf4f0;border:1px solid #ffffffb3;border-radius:999px;padding:5px 9px;font-size:.67rem;font-weight:800;position:absolute;top:10px;right:10px}.content-catalog-type.pago{color:#92400e;background:#fffbebf2}.content-catalog-card-body{flex-direction:column;flex:1;min-height:176px;padding:14px;display:flex}.content-catalog-card-meta{color:#64748b;justify-content:space-between;align-items:center;gap:8px;font-size:.69rem;font-weight:700;display:flex}.content-catalog-views{color:#64748b;font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:4px;display:inline-flex}.content-catalog-title{color:#0f172a;cursor:pointer;text-align:left;-webkit-line-clamp:2;background:0 0;border:0;-webkit-box-orient:vertical;margin:10px 0;padding:0;font-size:1rem;font-weight:750;line-height:1.4;display:-webkit-box;overflow:hidden}.content-catalog-title:hover{color:#15803d;text-underline-offset:3px;text-decoration:underline}.content-catalog-title:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #16a34a}.content-catalog-inactive{color:#b45309;margin:0 0 8px;font-size:.72rem}.content-catalog-card-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.content-catalog-link-button{color:#166534;cursor:pointer;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-width:0;padding:8px 10px;font-size:.73rem;font-weight:750;transition:background .15s,border-color .15s;display:inline-flex}.content-catalog-link-button:hover:not(:disabled){background:#dcfce7;border-color:#86efac}.content-catalog-link-button:disabled{cursor:wait;opacity:.6}.content-catalog-link-button.linked{color:#475569;background:#f8fafc;border-color:#e2e8f0}.content-catalog-link-button.linked:hover:not(:disabled){color:#b91c1c;background:#fef2f2;border-color:#fecaca}.content-catalog-paid-note{color:#92400e;align-items:center;gap:6px;font-size:.7rem;font-weight:700;display:inline-flex}.content-catalog-saved-mark{color:#16a34a;flex:none}.content-catalog-empty{color:#64748b;text-align:center;border:1px dashed #cbd5e1;border-radius:13px;margin:0;padding:18px;font-size:.85rem}.content-catalog-no-courses{background:radial-gradient(circle at 10% 0,#22c55e12,#0000 32%),#ffffffeb;justify-content:center;align-items:center;gap:20px;min-height:210px;padding:32px;display:flex}.content-catalog-empty-icon{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:21px;flex:none;place-items:center;width:66px;height:66px;display:grid}.content-catalog-no-courses h2{color:#0f172a;margin:0;font-size:1.2rem}.content-catalog-no-courses p:not(.eyebrow){color:#64748b;max-width:570px;margin:8px 0 0;font-size:.88rem;line-height:1.6}.content-catalog-no-courses .secondary-button{margin-top:16px}.swal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.swal-dialog{text-align:center;background:#fff;border:1px solid #94a3b833;border-radius:24px;width:min(100%,420px);padding:30px;animation:.18s ease-out swal-enter;position:relative;box-shadow:0 24px 70px #0f172a38}.swal-close{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:13px;right:13px}.swal-close:hover{background:#f1f5f9}.swal-icon{color:#15803d;background:#dcfce7;border-radius:20px;place-items:center;width:62px;height:62px;margin:0 auto 16px;display:grid}.swal-dialog.error .swal-icon{color:#dc2626;background:#fee2e2}.swal-dialog h2{color:#0f172a;margin:0 0 8px;font-size:1.35rem}.swal-dialog p{color:#64748b;overflow-wrap:anywhere;margin:0;line-height:1.6}.swal-confirm{color:#fff;min-width:112px;font:inherit;cursor:pointer;background:#15803d;border:0;border-radius:12px;margin-top:24px;padding:10px 18px;font-weight:700;transition:background .16s,transform .16s}.swal-actions{justify-content:center;gap:10px;margin-top:24px;display:flex}.swal-actions .swal-confirm{margin-top:0}.swal-cancel{color:#334155;min-width:112px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:10px 18px;font-weight:700;transition:background .16s,border-color .16s}.swal-cancel:hover{background:#f8fafc;border-color:#94a3b8}.swal-actions :focus-visible,.swal-close:focus-visible,.swal-confirm:focus-visible{outline-offset:3px;outline:2px solid #15803d}.swal-dialog.confirmation .swal-icon{color:#b45309;background:#fef3c7}.swal-dialog.confirmation .swal-confirm.danger{background:#dc2626}.swal-dialog.confirmation .swal-confirm.danger:hover{background:#b91c1c}.swal-dialog.error .swal-confirm{background:#dc2626}.swal-confirm:hover{background:#166534;transform:translateY(-1px)}.swal-dialog.error .swal-confirm:hover{background:#b91c1c}@keyframes swal-enter{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.money-savings-panel{background:linear-gradient(135deg,#fff,#f0fdf4);border-left:5px solid #16a34a}.money-savings-message{color:#334155;margin:0 0 18px;line-height:1.7}.money-savings-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;display:grid}.money-savings-card{background:#fffc;border:1px solid #22c55e33;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:14px 16px;display:flex}.money-savings-card>div{flex-direction:column;gap:4px;min-width:0;display:flex}.money-savings-card>div strong{overflow-wrap:anywhere;color:#0f172a}.money-savings-card small{color:#64748b;font-size:.75rem}.money-savings-card>strong{color:#15803d;font-variant-numeric:tabular-nums;white-space:nowrap}.money-extra-recommendation{background:linear-gradient(135deg,#fff,#fffbeb);border-left:5px solid #d97706;justify-content:space-between;align-items:center;gap:20px;display:flex}.money-extra-recommendation.danger{background:linear-gradient(135deg,#fff,#fff1f2);border-left-color:#dc2626}.money-extra-recommendation h2{color:#0f172a;margin:0 0 8px;font-size:1.1rem}.money-extra-recommendation p:last-child{color:#334155;margin:0;line-height:1.65}.money-extra-recommendation .primary-button{flex:none}.money-extra-recommendation.danger .primary-button{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 12px 20px #ef444438}.money-distributions{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.money-distribution-panel{min-width:0}.money-chart-layout{justify-content:center;align-items:center;gap:20px;min-height:200px;display:flex}.money-pie-chart{aspect-ratio:1;border-radius:50%;flex:none;place-items:center;width:clamp(140px,13vw,180px);display:grid;box-shadow:inset 0 0 0 1px #0f172a0d,0 12px 24px #0f172a1a}.money-chart-legend{flex-direction:column;flex:180px;gap:12px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.money-chart-legend li{color:#334155;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:.8rem;display:grid}.money-chart-legend .legend-title{font-weight:700}.money-chart-legend li strong{color:#0f172a;font-variant-numeric:tabular-nums;white-space:nowrap}.money-chart-legend li small{color:#64748b;grid-column:2/-1;font-size:.74rem}.expense-distribution-panel .money-chart-legend li strong{color:#b91c1c}.income-distribution-panel .money-chart-legend li strong{color:#15803d}.money-frequency-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.money-distribution-note{color:#64748b;margin:12px 0 0;font-size:.75rem;line-height:1.5}@media (width<=1024px){.money-distributions{grid-template-columns:1fr}.investment-list-panel,.income-list-panel{grid-column:auto}}@media (width<=760px){.cofrinho-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info actions""finances finances";gap:10px 12px;padding:11px 12px}.cofrinho-row-info{grid-area:info}.cofrinho-row-finances{grid-area:finances}.cofrinho-row-actions{grid-area:actions}}@media (width<=640px){.money-overview-stats{grid-template-columns:1fr}.money-extra-recommendation{flex-direction:column;align-items:stretch}.money-extra-recommendation .primary-button{width:100%}.money-savings-panel .panel-header{align-items:stretch}.money-savings-panel .secondary-button{width:100%}.money-chart-layout{flex-direction:column}.money-pie-chart{width:min(52vw,180px)}.money-chart-legend{flex-basis:auto;width:100%}.money-frequency-stats{grid-template-columns:1fr}.money-health-badge{white-space:normal}.tab-button{min-width:0;padding:10px 8px;font-size:.83rem}.income-item-footer{flex-direction:column;align-items:flex-start}.income-item-footer .card-actions{justify-content:flex-start}.investment-item{grid-template-columns:minmax(0,1fr) auto}.investment-item .card-actions{grid-column:1/-1}.pie-chart-layout{flex-direction:column}.investment-pie-chart{width:min(58vw,200px)}.investment-chart-legend{flex-basis:auto;width:100%;max-height:180px}}.tab-button{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:10px 18px;font-weight:700;transition:all .2s}.tab-button.active{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 10px 22px #22c55e4d}.tab-content{width:100%}.tab-layout{grid-template-columns:1.05fr 1.4fr 1.3fr;align-items:start;gap:20px;display:grid}.cofrinho-layout{grid-template-columns:minmax(280px,.82fr) minmax(0,1.5fr)}.cofrinho-layout .module-recommendations{grid-column:1/-1}.cofrinho-analysis-grid{grid-column:1/-1;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:20px;display:grid}.cofrinho-activity-grid{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.panel-details{flex-direction:column;gap:20px;min-width:0;display:flex}.panel-details>.form-alert{margin-bottom:-4px}.details-header{align-items:center;margin-bottom:0}.details-header .eyebrow{margin-bottom:7px}.cofrinho-current-balance{text-align:right;background:#f0fdf4;border:1px solid #22c55e33;border-radius:14px;flex-direction:column;flex:none;gap:4px;padding:11px 15px;display:flex}.cofrinho-current-balance span{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:650}.cofrinho-current-balance strong{color:#15803d;font-variant-numeric:tabular-nums;font-size:1.1rem}.cofrinho-movement-form,.history-panel{background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #94a3b833;border-radius:18px;min-width:0;padding:20px}.cofrinho-movement-form{gap:16px}.cofrinho-movement-form h3,.cofrinho-subsection-heading h3{color:#0f172a;margin:0;font-size:1rem}.cofrinho-subsection-heading{flex-wrap:wrap;align-items:baseline;gap:5px 10px;margin-bottom:16px;display:flex}.cofrinho-subsection-heading .eyebrow{flex-basis:100%;margin:0;font-size:.65rem}.cofrinho-subsection-heading>span{color:#64748b;white-space:nowrap;margin-left:auto;font-size:.75rem}.cofrinho-goal-balance{color:#15803d;font-variant-numeric:tabular-nums;margin:0 0 12px;font-size:1.05rem;font-weight:750}.monthly-balance-description{color:#64748b;margin:8px 0 0;font-size:.84rem;line-height:1.5}.financial-history-panel,.financial-history-chart{min-width:0}.financial-history-scroll{scrollbar-color:#cbd5e1 transparent;scrollbar-width:thin;width:100%;overflow-x:auto}.financial-history-svg{width:100%;min-width:720px;display:block;overflow:visible}.financial-history-grid-line{stroke:#e2e8f0;stroke-dasharray:4 5;stroke-width:1px}.financial-history-zero-line{stroke:#64748b;stroke-width:2px}.financial-history-axis-label,.financial-history-month-label{fill:#64748b;font-variant-numeric:tabular-nums;font-family:inherit;font-size:10px}.financial-history-month-label{font-size:11px;font-weight:650}.financial-history-bar{cursor:pointer;opacity:.88;transition:opacity .14s,filter .14s}.financial-history-bar:hover,.financial-history-bar:focus{filter:brightness(.88);opacity:1;outline:none}.financial-history-bar:focus-visible{stroke:#0f172a;stroke-width:2px}.financial-history-value-tooltip rect{fill:#0f172a;filter:drop-shadow(0 5px 12px #0f172a38)}.financial-history-value-tooltip-label{fill:#cbd5e1;font-family:inherit;font-size:10px;font-weight:600}.financial-history-value-tooltip-amount{fill:#fff;font-variant-numeric:tabular-nums;font-family:inherit;font-size:12px;font-weight:750}.financial-history-bar.income,.financial-history-legend i.income{fill:#16a34a;background:#16a34a}.financial-history-bar.extra-income,.financial-history-legend i.extra-income{fill:#7c3aed;background:#7c3aed}.financial-history-bar.expense,.financial-history-legend i.expense{fill:#dc2626;background:#dc2626}.financial-history-bar.balance-positive,.financial-history-legend i.balance-positive{fill:#0d9488;background:#0d9488}.financial-history-bar.balance-negative,.financial-history-legend i.balance-negative{fill:#b91c1c;background:#b91c1c}.financial-history-bar.balance-neutral{fill:#94a3b8}.financial-history-legend{color:#475569;flex-wrap:wrap;gap:10px 18px;margin-top:8px;font-size:.76rem;display:flex}.financial-history-legend span{align-items:center;gap:7px;display:inline-flex}.financial-history-legend i{border-radius:3px;flex:none;width:9px;height:9px}.financial-history-tooltip{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 18px;min-height:42px;margin-top:14px;padding:10px 13px;font-size:.76rem;display:flex}.financial-history-tooltip>strong{color:#0f172a}.financial-history-tooltip>span{align-items:center;gap:5px;display:inline-flex}.financial-history-tooltip b{color:#0f172a;font-variant-numeric:tabular-nums}.financial-history-tooltip b.positive{color:#15803d}.financial-history-tooltip b.negative{color:#b91c1c}.financial-history-tooltip b.neutral{color:#64748b}.monthly-balance-chart{grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;min-width:0;display:grid;position:relative}.monthly-balance-zero-line{z-index:1;pointer-events:none;border-top:2px solid #94a3b8;position:absolute;top:50%;left:0;right:0}.monthly-balance-month{z-index:2;min-width:0;color:inherit;cursor:pointer;text-align:center;background:0 0;border:0;border-radius:8px;grid-template-rows:220px auto;gap:9px;padding:0;display:grid;position:relative}.monthly-balance-month:focus-visible{outline-offset:2px;outline:2px solid #15803d}.monthly-balance-plot{width:100%;min-width:0;position:relative}.monthly-balance-bar{z-index:2;border-radius:7px 7px 2px 2px;width:60%;min-height:4px;transition:filter .14s,opacity .14s;position:absolute;left:20%}.monthly-balance-bar:hover{filter:brightness(.9)}.monthly-balance-bar.positive{background:#16a34a}.monthly-balance-bar.negative{background:#dc2626;border-radius:2px 2px 7px 7px}.monthly-balance-zero{z-index:2;background:#94a3b8;border-radius:999px;width:40%;height:4px;position:absolute;top:calc(50% - 2px);left:30%}.monthly-balance-tooltip{z-index:5;color:#fff;text-align:left;pointer-events:none;background:#0f172a;border:1px solid #ffffff1f;border-radius:12px;width:max-content;min-width:120px;max-width:min(190px,100vw - 40px);padding:9px 12px;display:none;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #0f172a3d}.monthly-balance-tooltip:after{content:"";background:#0f172a;border-bottom:1px solid #ffffff1f;border-right:1px solid #ffffff1f;width:9px;height:9px;position:absolute;bottom:-5px;left:calc(50% - 5px);transform:rotate(45deg)}.monthly-balance-tooltip>span,.monthly-balance-tooltip>strong{display:block}.monthly-balance-tooltip>span{color:#cbd5e1;text-transform:capitalize;margin-bottom:3px;font-size:.7rem;font-weight:600}.monthly-balance-tooltip>strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9rem}.monthly-balance-tooltip.positive>strong{color:#4ade80}.monthly-balance-tooltip.negative>strong{color:#f87171}.monthly-balance-tooltip.neutral>strong{color:#e2e8f0}.monthly-balance-month:hover .monthly-balance-tooltip,.monthly-balance-month:focus-visible .monthly-balance-tooltip,.monthly-balance-month.is-pinned .monthly-balance-tooltip{display:block}.monthly-balance-month.edge-start .monthly-balance-tooltip{left:0;transform:none}.monthly-balance-month.edge-start .monthly-balance-tooltip:after{left:12px}.monthly-balance-month.edge-end .monthly-balance-tooltip{left:auto;right:0;transform:none}.monthly-balance-month.edge-end .monthly-balance-tooltip:after{left:auto;right:12px}.monthly-balance-label{color:#64748b;text-transform:lowercase;font-size:.76rem;font-weight:650}.monthly-balance-legend{color:#64748b;flex-wrap:wrap;gap:10px 18px;margin-top:17px;font-size:.76rem;display:flex}.monthly-balance-legend span{align-items:center;gap:7px;display:inline-flex}.monthly-balance-legend i{border-radius:3px;width:9px;height:9px}.monthly-balance-legend i.positive{background:#16a34a}.monthly-balance-legend i.negative{background:#dc2626}.monthly-balance-legend i.neutral{background:#94a3b8}.briques-layout{grid-template-columns:.95fr 1.45fr}.panel{background:#ffffffeb;border:1px solid #0f172a0f;border-radius:22px;padding:22px;transition:box-shadow .2s,transform .2s;box-shadow:0 16px 36px #0f172a14}.panel:hover{box-shadow:0 20px 42px #0f172a1a}.panel-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.panel-header h2,.history-panel h3,.empty-state h3{color:#0f172a;margin:0}.summary-pill{color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:700}.summary-pill.positive{color:#15803d;background:#ecfdf5}.stack-form{flex-direction:column;gap:18px;display:flex}.stack-form label,.movement-grid label{color:#334155;flex-direction:column;gap:8px;font-weight:600;display:flex}input,select,button{font:inherit}input,select{color:#0f172a;background:#f8fafc;border:1px solid #dfe7ee;border-radius:12px;min-height:46px;padding:0 12px}input:focus,select:focus{border-color:#22c55e;outline:2px solid #22c55e33}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.primary-button,.secondary-button,.mini-button,.card-select,.tab-button{transition:transform .15s,box-shadow .15s}.primary-button,.secondary-button,.mini-button{cursor:pointer;border:none;border-radius:12px;padding:10px 16px;font-weight:700}.primary-button{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 12px 20px #22c55e47}.secondary-button{color:#0f172a;background:#e2e8f0}.primary-button:hover,.secondary-button:hover,.mini-button:hover,.tab-button:hover,.card-select:hover{transform:translateY(-1px)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.cofrinho-list{flex-direction:column;gap:9px;display:flex}.cofrinho-list.has-overflow{overscroll-behavior:contain;scrollbar-color:#94a3b8 transparent;scrollbar-width:thin;max-height:285px;padding:2px 7px 2px 2px;overflow-y:auto}.cofrinho-list.has-overflow:focus-visible{outline-offset:2px;border-radius:12px;outline:2px solid #16a34a}.cofrinho-list.has-overflow{max-height:360px}.cofrinho-row{background:#f8fafc;border:1px solid #94a3b838;border-radius:14px;grid-template-columns:minmax(120px,.85fr) minmax(0,1.35fr) auto;align-items:center;gap:16px;min-width:0;padding:12px 14px;transition:border-color .18s,background-color .18s;display:grid}.cofrinho-row:hover{background:#fff;border-color:#bbf7d0}.cofrinho-row.selected{background:linear-gradient(100deg,#f0fdf4,#fff 58%);border-color:#22c55e8c}.cofrinho-row-info{flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;display:flex}.cofrinho-row-select{color:#0f172a;cursor:pointer;text-align:left;background:0 0;border:0;min-width:0;padding:0}.cofrinho-row-select strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1.3;display:block;overflow:hidden}.cofrinho-row-select:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #16a34a}.cofrinho-selected-badge{color:#15803d;white-space:nowrap;background:#dcfce7;border-radius:999px;padding:3px 7px;font-size:.64rem;font-weight:800}.cofrinho-row-info>small{color:#64748b;flex-basis:100%;font-size:.68rem}.cofrinho-row-finances{grid-template-columns:minmax(92px,.75fr) minmax(130px,1.25fr);align-items:center;gap:14px;min-width:0;display:grid}.cofrinho-row-balance,.cofrinho-row-goal{gap:4px;min-width:0;display:grid}.cofrinho-row-balance>span{color:#64748b;font-size:.67rem;font-weight:600}.cofrinho-row-balance>strong{overflow-wrap:anywhere;color:#14532d;font-variant-numeric:tabular-nums;font-size:.96rem;line-height:1.25}.cofrinho-row-goal .goal-progress-label{gap:6px;margin:0;font-size:.68rem}.cofrinho-row-goal .goal-progress-label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cofrinho-row-goal .goal-progress-label strong{flex:none}.cofrinho-row-goal .progress-track{height:7px}.cofrinho-row-no-goal{color:#64748b;margin:0;font-size:.7rem}.cofrinho-row-actions{align-items:center;gap:6px;display:flex}.cofrinho-row-actions .mini-button{padding:7px 9px;font-size:.7rem}.money-card{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b833;border-radius:16px;padding:16px}.money-card.selected{border-color:#22c55e99;box-shadow:0 14px 26px #22c55e14}.money-card-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.card-select{text-align:left;color:#0f172a;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mini-button{color:#0f172a;background:#e2e8f0;padding:8px 10px;font-size:.76rem}.mini-button.danger{color:#b91c1c;background:#fee2e2}.money-value{color:#0f172a;margin-bottom:8px;font-size:1.8rem;display:block}.goal-progress{margin:12px 0}.goal-detail{background:linear-gradient(135deg,#f0fdf4,#f0fdfa);border:1px solid #22c55e29;border-radius:18px;margin:0;padding:18px}.goal-progress-label{color:#475569;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:.78rem;display:flex}.goal-progress-label strong{color:#15803d;flex:none;font-size:.9rem}.progress-track{background:#e2e8f0;border-radius:999px;height:9px;overflow:hidden}.progress-track>span{border-radius:inherit;background:linear-gradient(90deg,#22c55e,#14b8a6);height:100%;transition:width .35s;display:block}.goal-not-set{color:#a16207;margin:12px 0;display:block}.form-alert{margin:0;font-size:.92rem}.form-alert.error{color:#b91c1c}.financial-form-note{color:#64748b;margin:-6px 0 0;font-size:.76rem;line-height:1.5}.financial-form-note.warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:9px 11px}.history-panel{background:#f8fafc;border-color:#94a3b83d;min-width:0;margin-top:0}.history-list{flex-direction:column;gap:12px;max-height:430px;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.history-item{background:#f8fafc;border:1px solid #94a3b833;border-radius:14px;padding:16px}.history-item.positive{background:#22c55e0d;border-color:#22c55e3d}.history-item.negative{background:#ef44440a;border-color:#ef44443d}.history-head,.history-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.movement-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.history-item.positive .movement-badge{color:#166534;background:#22c55e33}.history-item.negative .movement-badge{color:#991b1b;background:#ef444426}.movement-date,.empty-history,.product-name-cell small{color:#64748b;font-size:.76rem}.history-body{color:#0f172a;justify-content:space-between;align-items:flex-start;gap:12px;margin:16px 0;font-weight:700;display:flex}.history-footer{color:#334155}.loading-box,.empty-state{text-align:center;background:#f8fafc;border:1px dashed #94a3b873;border-radius:16px;padding:24px}.empty-state p{color:#475569;margin:10px 0 0}.empty-state .primary-button{margin-top:18px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px;display:grid}.stat-card{background:#f8fafc;border:1px solid #94a3b833;border-radius:16px;flex-direction:column;gap:8px;min-width:0;padding:18px;display:flex}.stat-card.positive{background:#22c55e0d;border-color:#22c55e3d}.stat-card.negative{background:#ef44440d;border-color:#ef444433}.stat-card.open{background:linear-gradient(145deg,#fffbeb,#fff7ed);border-color:#f59e0b4d}.stat-label,.stat-helper{color:#64748b;font-size:.8rem}.stat-card.open .stat-value{color:#b45309}.stat-value{color:#0f172a;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-size:clamp(1rem,1.55vw,1.55rem);line-height:1.25}.product-table-wrap{overflow-x:auto}.product-table{border-collapse:collapse;width:100%;min-width:820px}.product-table th,.product-table td{text-align:left;border-bottom:1px solid #94a3b833;padding:14px 12px}.product-table th{color:#475569;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;font-size:.78rem}.product-table tbody tr{transition:background-color .15s}.product-table tbody tr:hover{background:#f8fafc}.product-table tbody tr:last-child td{border-bottom:0}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;margin-right:7px}.status-badge.open{color:#a16207;background:#fef3c7}.status-badge.sold{color:#15803d;background:#dcfce7}.product-name-cell{flex-direction:column;gap:4px;display:flex}.result-cell.positive{color:#15803d;font-weight:700}.result-cell.negative{color:#b91c1c;font-weight:700}.result-cell.neutral{color:#334155;font-weight:700}.movement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.panel-wide{grid-column:1/-1}.product-form-panel{position:relative;overflow:hidden}.product-form-panel:before{content:"";pointer-events:none;background:#22c55e12;border-radius:50%;width:130px;height:130px;position:absolute;top:-60px;right:-55px}.product-form-panel>*{position:relative}@media (width<=1024px){.tab-layout,.briques-layout,.cofrinho-analysis-grid{grid-template-columns:1fr}.panel-wide{grid-column:auto}}@media (width<=640px){.app-shell{width:min(100% - 18px,1200px);padding-top:18px}.panel{border-radius:18px;padding:18px}.tab-button{min-width:0;padding:10px 6px;font-size:.8rem;line-height:1.15}.history-body,.history-head,.history-footer,.money-card-header,.panel-header{flex-direction:column;align-items:flex-start}.movement-grid,.cofrinho-activity-grid{grid-template-columns:1fr}.cofrinho-row-finances{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px}.cofrinho-row-actions .mini-button{padding:7px 8px}.details-header{align-items:flex-start}.cofrinho-current-balance{text-align:left;width:100%}.cofrinho-movement-form,.history-panel,.goal-detail{padding:15px}.history-list{max-height:360px}.monthly-balance-chart{gap:1px}.monthly-balance-month{grid-template-rows:170px auto}.monthly-balance-bar{width:68%;left:16%}.monthly-balance-label{font-size:.68rem}.monthly-balance-legend{gap:8px 13px;font-size:.72rem}.history-panel{margin-top:8px}}.public-site{color:#0f172a;min-height:100vh;overflow:hidden}.public-header,.public-footer{justify-content:space-between;align-items:center;width:min(1160px,100% - 40px);margin:0 auto;display:flex}.public-header{z-index:2;min-height:88px;position:relative}.public-brand{color:#0f172a;letter-spacing:-.04em;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-flex}.public-brand-mark{color:#fff;background:linear-gradient(135deg,#22c55e,#14b8a6);border-radius:12px;place-items:center;width:34px;height:34px;font-size:1.1rem;display:grid}.public-header nav{align-items:center;gap:28px;display:flex}.public-header nav a,.public-footer a:not(.public-brand){color:#475569;font-size:.9rem;font-weight:650;text-decoration:none}.public-header nav a:hover,.public-footer a:hover,.auth-links a:hover,.auth-switch a:hover{color:#15803d}.public-header nav .public-header-cta{color:#fff;background:#0f172a;border-radius:12px;padding:11px 17px}.landing-hero{grid-template-columns:1.04fr .96fr;align-items:center;gap:54px;width:min(1160px,100% - 40px);min-height:560px;margin:0 auto;padding:74px 0 82px;display:grid;position:relative}.landing-copy{z-index:1;position:relative}.landing-kicker{color:#15803d;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:9px;font-size:.8rem;font-weight:750;display:flex}.landing-kicker span{background:#22c55e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #22c55e1f}.landing-copy h1{letter-spacing:-.075em;max-width:620px;margin:18px 0;font-size:clamp(3.2rem,6vw,5.4rem);line-height:.99}.landing-copy h1 em{color:#16a34a;font-style:normal}.landing-intro{color:#64748b;max-width:510px;margin-bottom:28px;font-size:1.1rem;line-height:1.75}.landing-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.landing-primary,.landing-secondary{border-radius:14px;justify-content:center;align-items:center;gap:14px;min-height:50px;padding:12px 20px;text-decoration:none;display:inline-flex}.landing-primary{background:#15803d;box-shadow:0 12px 24px #15803d33}.landing-primary:hover{background:#166534}.landing-secondary{color:#0f172a;background:#fffc;border:1px solid #0f172a1a}.landing-note{color:#94a3b8;margin-top:19px;font-size:.82rem}.landing-preview{z-index:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd9;border:1px solid #fffc;border-radius:28px;padding:26px;position:relative;transform:rotate(1.5deg);box-shadow:0 34px 90px #0f172a24}.preview-topline,.preview-legend,.preview-goal{justify-content:space-between;align-items:center;display:flex}.preview-topline{border-bottom:1px solid #edf2f5;padding-bottom:22px}.preview-topline>span:first-child{align-items:center;gap:9px;font-size:.83rem;font-weight:750;display:flex}.preview-topline i{background:#22c55e;border-radius:50%;width:9px;height:9px}.preview-dots{color:#94a3b8;letter-spacing:2px}.preview-label{color:#94a3b8;margin:23px 0 4px;font-size:.75rem}.preview-total{font-size:1.18rem}.preview-chart{background:repeating-linear-gradient(#0000 0 41px,#edf2f5 42px);border-bottom:1px solid #e8eef1;align-items:flex-end;gap:9px;height:170px;margin-top:24px;padding:12px 0 0;display:flex}.preview-chart span{opacity:.88;background:linear-gradient(#4ade80,#16a34a);border-radius:7px 7px 0 0;flex:1}.preview-chart span:nth-child(3n){background:linear-gradient(#5eead4,#14b8a6)}.preview-legend{color:#64748b;justify-content:flex-start;gap:18px;padding:14px 0 20px;font-size:.72rem}.preview-legend span{align-items:center;gap:7px;display:inline-flex}.preview-legend i{border-radius:50%;width:7px;height:7px}.legend-income{background:#22c55e}.legend-expense{background:#14b8a6}.preview-goal{background:#f1fdf5;border-radius:16px;justify-content:flex-start;gap:12px;padding:13px}.preview-goal-icon{color:#15803d;background:#dcfce7;border-radius:12px;place-items:center;width:38px;height:38px;font-size:1.2rem;display:grid}.preview-goal>span:nth-child(2){flex-direction:column;flex:1;gap:2px;display:flex}.preview-goal small{color:#64748b;font-size:.7rem}.preview-goal strong{font-size:.82rem}.preview-progress{color:#16a34a;letter-spacing:2px;font-size:.7rem}.landing-orb{pointer-events:none;border-radius:50%;position:absolute}.landing-orb-one{background:radial-gradient(circle,#22c55e21,#14b8a608 68%,#0000 70%);width:520px;height:520px;top:-64px;right:-245px}.landing-orb-two{filter:blur(3px);background:#14b8a614;width:220px;height:220px;bottom:-85px;left:-180px}.landing-features{background:#ffffffb3;padding:82px max(20px,50% - 580px) 96px}.landing-section-heading{text-align:center;max-width:650px;margin:0 auto 42px}.landing-section-heading h2,.landing-callout h2{letter-spacing:-.06em;margin:8px 0 12px;font-size:clamp(2rem,4vw,3.1rem);line-height:1.08}.landing-section-heading>p:last-child{color:#64748b}.landing-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.landing-feature{background:#fff;border:1px solid #e8eef1;border-radius:18px;min-height:208px;padding:22px}.landing-feature>span{color:#16a34a;letter-spacing:.1em;font-size:.75rem;font-weight:800}.landing-feature h3{margin:30px 0 8px;font-size:1.05rem}.landing-feature p{color:#64748b;margin:0;font-size:.85rem;line-height:1.65}.landing-callout{color:#fff;background:#0f172a;border-radius:24px;justify-content:space-between;align-items:center;gap:30px;width:min(1160px,100% - 40px);min-height:210px;margin:70px auto;padding:38px 44px;display:flex}.landing-callout .eyebrow{color:#86efac}.landing-callout h2{max-width:650px;margin-bottom:0}.landing-callout .landing-primary{color:#fff;flex:none}.public-footer{border-top:1px solid #0f172a14;gap:18px;min-height:88px}.public-footer>span{color:#94a3b8;font-size:.82rem}.auth-page{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:35px 20px;display:flex}.auth-brand{margin-bottom:24px}.auth-card{background:#fffffff0;border:1px solid #0f172a12;border-radius:24px;width:min(100%,470px);padding:34px;box-shadow:0 24px 70px #0f172a1f}.auth-card h1{letter-spacing:-.06em;margin:0 0 8px;font-size:clamp(1.8rem,7vw,2.3rem);line-height:1.1}.auth-description{color:#64748b;margin-bottom:25px}.auth-form{gap:15px}.auth-form label small{color:#64748b;font-size:.76rem;font-weight:400}.auth-form>.primary-button,.auth-back-button{justify-content:center;align-items:center;width:100%;min-height:48px;text-decoration:none;display:flex}.auth-form button:disabled{cursor:wait;opacity:.72}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.auth-links a,.auth-switch a,.auth-footer a{color:#15803d;font-size:.84rem;font-weight:650;text-decoration:none}.auth-switch{color:#64748b;text-align:center;margin:3px 0 0;font-size:.86rem}.auth-inline-note,.auth-notice{color:#475569;margin:0;font-size:.84rem;line-height:1.5}.auth-notice{color:#166534;background:#f0fdf4;border-radius:10px;padding:10px 12px}.auth-footer{margin:22px 0 0}.app-loading{color:#475569;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;display:flex}.app-loading-error p{margin-bottom:0}.account-actions{align-items:center;gap:12px;display:flex}.welcome-back{color:#64748b;margin:7px 0 0;font-size:.9rem}.welcome-back strong{color:#15803d;font-weight:750}@media (width<=1050px){.topbar{flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px;padding-right:0}.topbar h1{font-size:2rem}.topbar-actions{flex:none;order:2;margin-left:auto;position:relative;transform:none}.module-menu-toggle{color:#0f172a;cursor:pointer;background:#ffffffd9;border:1px solid #0f172a17;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;transition:background .16s,box-shadow .16s;display:inline-flex;box-shadow:0 8px 20px #0f172a0f}.module-menu-toggle:hover,.module-menu-toggle[aria-expanded=true]{background:#f0fdf4;box-shadow:0 8px 20px #15803d1f}.nav-tabs{z-index:20;background:#fff;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:min(330px,100vw - 36px);padding:10px;display:none;position:absolute;top:100%;right:0;box-shadow:0 18px 44px #0f172a29}.nav-tabs.is-open{display:grid}.nav-tabs .tab-button{border-radius:12px;min-width:0;padding:11px 8px;line-height:1.2}}@media (width<=640px){.primary-module-navigation{display:none}.mobile-primary-module-link{display:block}.module-menu-toggle{width:42px;padding:0}}@media (width<=380px){.topbar{gap:8px}.topbar h1{font-size:1.8rem}.topbar-brand .eyebrow{letter-spacing:.08em;font-size:.62rem}}@media (width<=900px){.landing-hero{gap:35px;min-height:auto}.landing-copy h1{font-size:clamp(3rem,7vw,4.5rem)}.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.public-header,.public-footer,.landing-hero,.landing-callout{width:min(100% - 32px,1160px)}.public-header{min-height:72px}.public-header nav{gap:12px}.public-header nav a{font-size:.78rem}.public-header nav a:first-child{display:none}.public-header nav .public-header-cta{padding:9px 11px}.landing-hero{grid-template-columns:1fr;padding:55px 0 65px}.landing-copy h1{font-size:clamp(3rem,14vw,4.4rem)}.landing-intro{font-size:1rem}.landing-preview{border-radius:22px;padding:20px;transform:none}.preview-chart{height:135px}.landing-features{padding:60px 16px}.landing-section-heading{margin-bottom:28px}.landing-feature-grid{grid-template-columns:1fr}.landing-feature{min-height:175px}.landing-feature h3{margin-top:20px}.landing-callout{flex-direction:column;align-items:flex-start;margin:42px auto;padding:28px 22px}.public-footer{flex-wrap:wrap;min-height:110px;padding:20px 0}.public-footer>span{flex-basis:100%;order:1}.auth-card{padding:25px 20px}}@media (width<=900px){.management-content-layout{grid-template-columns:1fr}.management-count-grid,.content-catalog-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.management-heading{align-items:flex-start}.management-heading h2{font-size:1.45rem}.management-count-grid,.management-ranking-grid{grid-template-columns:1fr}.management-count-card,.management-panel{padding:16px}.management-panel-heading{flex-wrap:wrap;align-items:flex-start}.management-search{flex:100%}.management-filters{grid-template-columns:1fr}.content-catalog-hero{border-radius:19px;min-height:0;padding:24px 20px}.content-catalog-hero-orbit{display:none}.content-catalog-filter-panel{grid-template-columns:1fr;gap:11px}.content-catalog-section .panel-header{align-items:flex-start}.content-catalog-no-courses{flex-direction:column;align-items:flex-start;gap:15px;min-height:0;padding:22px}.content-catalog-empty-icon{border-radius:17px;width:54px;height:54px}.content-catalog-grid{grid-template-columns:1fr}.management-table th,.management-table td{padding:10px 7px}}
