@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@300;400;600;700;800&display=swap";:root{--bg-base:#0d0f14;--bg-surface:#131720;--bg-card:#1a1f2e;--bg-card-hover:#1f2538;--bg-elevated:#242a3d;--border:#ffffff12;--border-active:#ffffff26;--text-primary:#f0f2f8;--text-secondary:#8892a4;--text-muted:#4e5872;--blue:#3b82f6;--blue-light:#60a5fa;--blue-dim:#3b82f626;--purple:#8b5cf6;--purple-dim:#8b5cf626;--green:#10b981;--green-dim:#10b9811f;--orange:#f59e0b;--orange-dim:#f59e0b1f;--red:#ef4444;--red-dim:#ef44441f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-card:0 4px 24px #0006;--shadow-elevated:0 8px 40px #00000080;--sidebar-width:260px;--topbar-height:64px}[data-theme=light]{--bg-base:#f0f4fb;--bg-surface:#fff;--bg-card:#fff;--bg-card-hover:#f5f8ff;--bg-elevated:#eef1f8;--border:#00000014;--border-active:#0000002e;--text-primary:#0f1117;--text-secondary:#3d4663;--text-muted:#7c869e;--blue:#2563eb;--blue-light:#1d4ed8;--blue-dim:#2563eb1a;--purple:#7c3aed;--purple-dim:#7c3aed1a;--green:#059669;--green-dim:#0596691a;--orange:#d97706;--orange-dim:#d977061a;--red:#dc2626;--red-dim:#dc26261a;--shadow-card:0 2px 12px #00000014;--shadow-elevated:0 6px 28px #0000001f}[data-theme=light] .topbar{background:#ffffffe0}[data-theme=light] .sidebar{box-shadow:2px 0 16px #0000000f}.theme-toggle{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.theme-toggle:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-active)}*,:before,:after{box-sizing:border-box;margin:0;padding:0;transition:background-color .25s,border-color .25s,color .15s,box-shadow .25s}html{scroll-behavior:smooth}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--border-active)}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);z-index:100;flex-direction:column;height:100vh;transition:transform .3s;display:flex;position:fixed;top:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border);padding:24px 20px 20px}.sidebar-logo .logo-badge{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.sidebar-logo .logo-icon{background:linear-gradient(135deg, var(--blue), var(--purple));border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex;box-shadow:0 0 20px #3b82f659}.sidebar-logo .logo-text{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:15px;font-weight:700;line-height:1.2}.sidebar-logo .logo-sub{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:400}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex;overflow-y:auto}.nav-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:12px 8px 6px;font-size:10px;font-weight:600}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;transition:all .18s;display:flex;position:relative}.nav-item:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--border)}.nav-item.active{background:var(--blue-dim);color:var(--blue-light);border-color:#3b82f640}.nav-item.active .nav-icon{color:var(--blue-light)}.nav-icon{opacity:.8;flex-shrink:0;width:18px;height:18px}.nav-badge{background:var(--red);color:#fff;text-align:center;border-radius:99px;min-width:18px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700}.sidebar-footer{border-top:1px solid var(--border);padding:16px}.sidebar-condo-info{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);padding:12px}.sidebar-condo-info .condo-name{color:var(--text-primary);font-size:12px;font-weight:600;line-height:1.3}.sidebar-condo-info .condo-sindico{color:var(--text-muted);margin-top:2px;font-size:11px}.sidebar-condo-info .condo-date{color:var(--blue-light);margin-top:6px;font-size:11px;font-weight:500}.main-content{margin-left:var(--sidebar-width);background:var(--bg-base);flex-direction:column;flex:1;min-height:100vh;display:flex}.topbar{height:var(--topbar-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:50;background:#0d0f14cc;align-items:center;gap:16px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-title{color:var(--text-primary);flex:1;font-family:Outfit,sans-serif;font-size:20px;font-weight:700}.topbar-subtitle{color:var(--text-muted);font-size:13px}.page-container{flex:1;width:100%;max-width:1400px;padding:28px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px;transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--border-active)}.card-sm{padding:16px 20px}.card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.card-title{color:var(--text-primary);align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.card-subtitle{color:var(--text-muted);margin-top:2px;font-size:13px}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=1200px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.sidebar{transform:translate(-100%)}.main-content{margin-left:0}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page-container{padding:16px}}.fundo-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:24px;transition:all .25s;position:relative;overflow:hidden}.fundo-card:before{content:"";background:var(--accent-color,var(--blue));border-radius:var(--radius-xl) var(--radius-xl) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.fundo-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.fundo-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.fundo-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.fundo-title{color:var(--text-primary);font-size:15px;font-weight:700}.fundo-parcela-badge{border-radius:99px;align-items:center;gap:4px;margin-top:4px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.fundo-valores{align-items:baseline;gap:6px;margin-bottom:12px;display:flex}.fundo-valor-atual{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:28px;font-weight:800}.fundo-valor-meta{color:var(--text-muted);font-size:14px}.progress-container{margin-bottom:16px}.progress-label{color:var(--text-muted);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.progress-track{background:var(--bg-elevated);border-radius:99px;height:8px;overflow:hidden}.progress-fill{border-radius:99px;height:100%;transition:width 1s cubic-bezier(.34,1.56,.64,1)}.fundo-datas{flex-wrap:wrap;gap:12px;display:flex}.data-pill{background:var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-secondary);border:1px solid var(--border);align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:flex}.data-pill .label{color:var(--text-muted);font-weight:400}.data-pill .value{color:var(--text-primary);font-weight:600}.accordion-trigger{border-top:1px solid var(--border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-bottom:none;border-left:none;border-right:none;justify-content:space-between;align-items:center;margin-top:12px;padding:12px 0 0;font-size:13px;font-weight:500;transition:color .15s;display:flex}.accordion-trigger:hover{color:var(--text-primary)}.accordion-content{transition:max-height .35s;overflow:hidden}.historico-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:13px}.historico-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:6px 10px;font-size:11px;font-weight:600}.historico-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:8px 10px}.historico-table tr:last-child td{border-bottom:none}.historico-table tr:hover td{background:var(--bg-elevated)}.status-dot{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.badge{white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-green{background:var(--green-dim);color:var(--green);border:1px solid #10b98133}.badge-orange{background:var(--orange-dim);color:var(--orange);border:1px solid #f59e0b33}.badge-red{background:var(--red-dim);color:var(--red);border:1px solid #ef444433}.badge-blue{background:var(--blue-dim);color:var(--blue-light);border:1px solid #3b82f633}.badge-purple{background:var(--purple-dim);color:var(--purple);border:1px solid #8b5cf633}.badge-gray{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border)}.obras-table-wrapper{overflow-x:auto}.obras-table{border-collapse:collapse;width:100%;font-size:14px}.obras-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:var(--bg-surface);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:600}.obras-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:top;padding:14px 16px}.obras-table tr:last-child td{border-bottom:none}.obras-table tr:hover td{background:var(--bg-card-hover);color:var(--text-primary)}.obra-nome{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.3}.obra-desc{color:var(--text-muted);margin-top:3px;font-size:12px;line-height:1.4}.orc-block{background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border);margin-bottom:8px;padding:12px 14px;position:relative}.orc-block.melhor:before{content:"★ Melhor Oferta";background:var(--green);color:#fff;border-radius:0 0 var(--radius-sm) var(--radius-sm);letter-spacing:.04em;padding:2px 8px;font-size:9px;font-weight:700;position:absolute;top:-1px;right:10px}.orc-empresa{color:var(--text-primary);font-size:13px;font-weight:600}.orc-valor{font-family:Outfit,sans-serif;font-size:18px;font-weight:800}.orc-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.viabilidade-bar{border-radius:var(--radius-md);border:1px solid var(--border);margin-top:12px;padding:12px 14px}.viabilidade-label{color:var(--text-muted);justify-content:space-between;margin-bottom:8px;font-size:12px;font-weight:500;display:flex}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:16px;padding:20px 24px;transition:all .2s;display:flex}.stat-card:hover{border-color:var(--border-active);transform:translateY(-1px)}.stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.stat-value{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:26px;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);margin-top:4px;font-size:12px;font-weight:500}.projecao-header{flex-wrap:wrap;gap:20px;margin-bottom:24px;display:flex}.projecao-legend-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.legend-line{border-radius:99px;width:24px;height:3px}.intersect-card{border-radius:var(--radius-lg);background:linear-gradient(135deg,#10b98126,#10b9810d);border:1px solid #10b98140;align-items:center;gap:16px;margin-bottom:24px;padding:20px 24px;display:flex}.intersect-icon{border-radius:var(--radius-md);background:#10b98133;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;display:flex}.intersect-title{color:var(--green);letter-spacing:.04em;font-size:13px;font-weight:600}.intersect-value{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:28px;font-weight:800}.intersect-desc{color:var(--text-muted);margin-top:2px;font-size:12px}.alert-banner{border-radius:var(--radius-md);align-items:center;gap:12px;margin-bottom:20px;padding:14px 18px;font-size:13px;font-weight:500;display:flex}.alert-banner.orange{background:var(--orange-dim);color:var(--orange);border:1px solid #f59e0b40}.alert-banner.red{background:var(--red-dim);color:var(--red);border:1px solid #ef444440}.recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--bg-elevated)!important;border:1px solid var(--border-active)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-elevated)!important}.donut-container{justify-content:center;align-items:center;display:flex;position:relative}.donut-center{text-align:center;pointer-events:none;position:absolute}.donut-pct{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:22px;font-weight:800;line-height:1}.donut-label{color:var(--text-muted);margin-top:2px;font-size:11px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:.35s both fadeInUp}.section-heading{color:var(--text-primary);margin-bottom:6px;font-family:Outfit,sans-serif;font-size:22px;font-weight:800}.section-desc{color:var(--text-muted);margin-bottom:24px;font-size:13px}.admin-tabs{flex-wrap:wrap;gap:8px;display:flex}.admin-tab-btn{border:1px solid var(--border);background:var(--bg-elevated);min-height:34px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.admin-tab-btn:hover{border-color:var(--border-active);color:var(--text-primary)}.admin-tab-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-action-btn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);min-height:36px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.admin-action-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-active)}.admin-action-btn:disabled{opacity:.6;cursor:not-allowed}.admin-icon-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.admin-icon-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-active)}.admin-form-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width<=600px){.admin-form-grid{grid-template-columns:1fr}}.admin-form-grid select,.admin-form-grid textarea{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.admin-form-grid textarea{background-image:none;padding-right:10px}.divider{border:none;border-top:1px solid var(--border);margin:24px 0}.menu-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;display:none}@media (width<=900px){.menu-btn{display:flex}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#ffffff0d!important}.recharts-xAxis .recharts-text,.recharts-yAxis .recharts-text{fill:var(--text-muted)!important;font-size:11px!important}.recharts-tooltip-wrapper{outline:none!important}.status-chip{border-radius:99px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}
