@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-body: #f0f2f5;--bg-card: #ffffff;--bg-card-hover: #f8f9fb;--bg-header: #1b2a4a;--bg-header-dark: #142038;--bg-input: #f5f6fa;--bg-muted: #eef0f4;--text-primary: #1e2a3a;--text-secondary: #5a6a7e;--text-muted: #8e99a8;--text-on-dark: #ffffff;--text-on-dark-muted: #b0bec5;--accent-gold: #c9a84c;--accent-gold-bg: rgba(201, 168, 76, .1);--accent-gold-border: rgba(201, 168, 76, .3);--accent-green: #16a34a;--accent-green-bg: rgba(22, 163, 74, .08);--accent-green-light: #4ade80;--accent-red: #dc2626;--accent-red-bg: rgba(220, 38, 38, .08);--accent-blue: #2563eb;--accent-blue-bg: rgba(37, 99, 235, .08);--accent-blue-light: #60a5fa;--accent-yellow: #eab308;--accent-yellow-bg: rgba(234, 179, 8, .08);--accent-purple: #7c3aed;--accent-purple-bg: rgba(124, 58, 237, .08);--accent-navy: #1b2a4a;--border-color: #e2e5ea;--border-light: #eef0f4;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px rgba(0, 0, 0, .05), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .08);--shadow-card: 0 1px 3px rgba(0, 0, 0, .06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--transition: all .2s ease;--header-height: 64px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-body);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-blue);text-decoration:none}a:hover{text-decoration:underline}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:24px 32px}.section{margin-bottom:28px}.section h2{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.top-bar{background:var(--bg-header);color:var(--text-on-dark);padding:0 32px;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #00000026}.top-bar-left{display:flex;align-items:center;gap:16px}.top-bar-left h1{font-size:18px;font-weight:700;color:var(--text-on-dark);letter-spacing:-.3px}.top-bar-left .brand-accent{color:var(--accent-gold)}.top-bar-right{display:flex;align-items:center;gap:12px}.update-badge{font-size:11px;padding:4px 12px;background:#ffffff1a;border-radius:20px;color:var(--text-on-dark-muted);border:1px solid rgba(255,255,255,.08)}.user-badge{font-size:12px;font-weight:500;color:var(--text-on-dark);padding:4px 12px;background:#ffffff14;border-radius:20px}.btn-logout{background:transparent;color:var(--text-on-dark-muted);border:1px solid rgba(255,255,255,.15);padding:6px 16px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition)}.btn-logout:hover{background:#ffffff1a;color:var(--text-on-dark)}.sidebar-toggle{display:none;background:transparent;border:none;color:var(--text-on-dark);font-size:20px;cursor:pointer}.filter-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px 24px;margin-bottom:24px;box-shadow:var(--shadow-xs)}.filter-bar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.filter-bar-header h3{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.filter-bar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;align-items:end}.filter-item label{display:block;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.filter-item input,.filter-item select{width:100%;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:6px;font-size:13px;color:var(--text-primary);font-family:inherit;transition:var(--transition)}.filter-item input:focus,.filter-item select:focus{outline:none;border-color:var(--accent-gold);box-shadow:0 0 0 3px var(--accent-gold-bg)}.filter-item input[type=range]{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:4px;background:var(--border-color);border-radius:2px;border:none;padding:0;margin-top:8px}.filter-item input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-gold);cursor:pointer;border:2px solid #fff;box-shadow:var(--shadow-sm)}.range-value{font-size:13px;font-weight:700;color:var(--accent-gold);margin-left:8px}.btn-apply{padding:8px 20px;background:var(--accent-gold);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap}.btn-apply:hover{background:#b8972f;box-shadow:var(--shadow-sm)}.setores-toggle{font-size:12px;color:var(--accent-blue);background:none;border:none;cursor:pointer;font-weight:500;padding:0}.setores-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.setor-actions{display:flex;gap:8px;margin-bottom:8px}.btn-sm{font-size:11px;padding:3px 10px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer}.btn-sm:hover{background:var(--border-color)}.setores-list{display:flex;flex-wrap:wrap;gap:6px;max-height:140px;overflow-y:auto}.setor-checkbox{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);cursor:pointer;padding:2px 8px;background:var(--bg-input);border-radius:4px;border:1px solid var(--border-light)}.setor-checkbox input{accent-color:var(--accent-gold);width:12px;height:12px}.sidebar{display:none}.dashboard-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.kpi-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;position:relative;overflow:hidden;transition:var(--transition);box-shadow:var(--shadow-card)}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-md) var(--radius-md) 0 0}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi-icon{font-size:24px;margin-bottom:8px}.kpi-value{font-size:28px;font-weight:800;line-height:1.1;margin-bottom:4px;letter-spacing:-.5px}.kpi-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.kpi-detail{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.4}.kpi-detail strong{color:var(--text-primary)}.kpi-total:before{background:linear-gradient(90deg,var(--accent-navy),#2d4a7a)}.kpi-total .kpi-value{color:var(--text-primary)}.kpi-graham:before{background:linear-gradient(90deg,var(--accent-green),#34d399)}.kpi-graham .kpi-value{color:var(--accent-green)}.kpi-bazin:before{background:linear-gradient(90deg,var(--accent-gold),#e2c06c)}.kpi-bazin .kpi-value{color:var(--accent-gold)}.kpi-dy:before{background:linear-gradient(90deg,var(--accent-blue),var(--accent-blue-light))}.kpi-dy .kpi-value{color:var(--accent-blue)}.kpi-saude:before{background:linear-gradient(90deg,var(--accent-purple),#a78bfa)}.kpi-saude .kpi-value{color:var(--accent-purple)}.table-container{overflow-x:auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.stock-table{width:100%;border-collapse:collapse;font-size:13px}.stock-table thead{background:var(--bg-header);color:var(--text-on-dark);position:sticky;top:0;z-index:10}.stock-table th{padding:12px 14px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-bottom:none}.stock-table th.sortable{cursor:pointer;transition:background .15s ease}.stock-table th.sortable:hover{background:#ffffff14}.sort-icon{font-size:10px;opacity:.5;margin-left:2px}.stock-table th.sortable:hover .sort-icon{opacity:1}.stock-table td{padding:10px 14px;border-bottom:1px solid var(--border-light);white-space:nowrap;color:var(--text-primary)}.stock-table tbody tr{transition:background .15s ease}.stock-table tbody tr:hover{background:var(--accent-gold-bg)}.stock-table tbody tr:nth-child(2n){background:var(--bg-input)}.stock-table tbody tr:nth-child(2n):hover{background:var(--accent-gold-bg)}.decisao-comprar .col-decisao{color:var(--accent-green);font-weight:700}.decisao-nao .col-decisao{color:var(--accent-red);font-weight:600}.col-rank{color:var(--text-muted);font-size:12px;text-align:center;width:40px}.col-papel strong{color:var(--accent-navy);font-weight:700}.col-empresa{color:var(--text-secondary);max-width:180px;overflow:hidden;text-overflow:ellipsis}.col-setor{color:var(--text-muted);font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis}.col-highlight-dy{color:var(--accent-blue);font-weight:600}.col-highlight-bazin{color:var(--accent-gold);font-weight:600}.col-highlight-graham{color:var(--accent-green);font-weight:600}.col-highlight-teto{color:var(--accent-purple);font-weight:600}th.col-highlight-dy,th.col-highlight-bazin,th.col-highlight-graham,th.col-highlight-teto{color:var(--text-on-dark)!important}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:14px}.row-selected{background:var(--accent-gold-bg)!important;outline:2px solid var(--accent-gold);outline-offset:-2px}.score-section h4{font-size:14px;font-weight:600;margin-bottom:16px}.score-top{display:flex;align-items:center;gap:24px;margin-bottom:20px}.score-gauge{position:relative;width:110px;height:110px;flex-shrink:0}.score-gauge-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-number{font-size:32px;font-weight:800;line-height:1}.score-of{font-size:11px;color:var(--text-muted);margin-top:2px}.score-summary{display:flex;flex-direction:column;gap:8px}.score-badge{display:inline-block;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:700;width:fit-content}.score-desc{font-size:12px;color:var(--text-secondary);line-height:1.5;margin:0}.score-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:12px}.score-dim{background:var(--bg-input);padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-light)}.score-dim-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.score-dim-label{font-size:12px;font-weight:600}.score-dim-pts{font-size:11px;color:var(--text-muted);font-weight:600}.score-bar-track{height:6px;background:var(--border-color);border-radius:3px;overflow:hidden;margin-bottom:4px}.score-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.score-dim-detail{font-size:10px;color:var(--text-muted);line-height:1.4}.score-mini{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:700;border:1px solid}.score-mini.na{color:var(--text-muted);background:none;border-color:var(--border-color)}.col-score{text-align:center}.detail-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:28px;animation:fadeIn .25s ease;box-shadow:var(--shadow-card)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.detail-empty{text-align:center;padding:48px 20px;color:var(--text-muted);font-size:14px}.detail-empty-icon{font-size:36px;margin-bottom:12px}.detail-header{display:flex;align-items:baseline;gap:12px;margin-bottom:4px}.detail-header h3{font-size:22px;font-weight:700;color:var(--text-primary)}.detail-ticker{font-size:14px;font-weight:700;color:var(--accent-gold);background:var(--accent-gold-bg);padding:2px 10px;border-radius:4px}.detail-meta{display:flex;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.detail-setor{font-size:12px;color:var(--text-muted);background:var(--bg-input);padding:2px 10px;border-radius:4px}.detail-cotacao{font-size:14px;font-weight:700;color:var(--accent-navy)}.detail-section{margin-bottom:20px}.detail-section:last-child{margin-bottom:0}.detail-section h4{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-light)}.detail-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.price-item{background:var(--bg-input);padding:14px;border-radius:var(--radius-sm);text-align:center;border:1px solid var(--border-light)}.price-label{font-size:11px;color:var(--text-muted);display:block;margin-bottom:6px;font-weight:500}.price-value{font-size:18px;font-weight:800}.price-value.graham{color:var(--accent-green)}.price-value.graham-teto{color:var(--accent-purple)}.price-value.bazin{color:var(--accent-gold)}.indicator-list{display:flex;flex-direction:column;gap:10px}.indicator-row{background:var(--bg-input);padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-light)}.indicator-main{display:flex;align-items:center;gap:10px;margin-bottom:4px}.indicator-name{font-weight:700;font-size:13px;color:var(--text-primary);min-width:50px}.indicator-badge{padding:2px 10px;border-radius:20px;font-size:11px;font-weight:700}.badge-excelente,.badge-muito-bom{background:var(--accent-green-bg);color:var(--accent-green)}.badge-bom{background:var(--accent-blue-bg);color:var(--accent-blue)}.badge-regular{background:var(--accent-yellow-bg);color:var(--accent-yellow)}.badge-ruim{background:var(--accent-red-bg);color:var(--accent-red)}.badge-na{background:var(--bg-muted);color:var(--text-muted)}.indicator-val{font-weight:700;font-size:13px;color:var(--text-primary);margin-left:auto}.indicator-explain{font-size:11px;color:var(--text-muted);line-height:1.5;margin:0}.health-list{display:flex;flex-direction:column;gap:10px}.health-item{display:grid;grid-template-columns:140px 80px 1fr;gap:10px;align-items:center;padding:12px 16px;background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border-light)}.health-label{font-size:12px;font-weight:600;color:var(--text-primary)}.health-val{font-size:13px;font-weight:700;color:var(--text-primary)}.health-status{font-size:11px}.status-bom{color:var(--accent-green)}.status-regular{color:var(--accent-yellow)}.status-ruim{color:var(--accent-red)}.status-na{color:var(--text-muted)}.health-overall{margin-top:12px;padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;text-align:center}.health-good{background:var(--accent-green-bg);color:var(--accent-green);border:1px solid rgba(22,163,74,.2)}.health-warn{background:var(--accent-yellow-bg);color:var(--accent-yellow);border:1px solid rgba(234,179,8,.2)}.history-chart-container{background:var(--bg-input);border-radius:var(--radius-sm);padding:20px;border:1px solid var(--border-light)}.history-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:16px}.history-header h4{font-size:14px;font-weight:600;margin:0;border:none;padding:0}.history-stats{display:flex;gap:10px;flex-wrap:wrap}.stat-item{font-size:11px;color:var(--text-muted);padding:3px 10px;background:var(--bg-card);border-radius:4px;border:1px solid var(--border-light)}.stat-item strong{color:var(--text-primary)}.stat-up strong{color:var(--accent-green)}.stat-down strong{color:var(--accent-red)}.history-chart{margin:0 -10px}.history-loading{display:flex;align-items:center;justify-content:center;gap:10px;height:200px;color:var(--text-muted);font-size:13px}.spinner-sm{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--accent-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.history-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:13px;line-height:1.6}.history-empty code{background:var(--bg-muted);padding:2px 6px;border-radius:3px;font-size:11px}.history-tooltip{background:#fffffff7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:12px 16px;font-size:12px;line-height:1.6;box-shadow:var(--shadow-lg)}.tooltip-date{font-weight:600;color:var(--text-primary);margin:0 0 4px;padding-bottom:4px;border-bottom:1px solid var(--border-light)}.history-tooltip p{margin:2px 0}.tooltip-label{opacity:.6}.tooltip-zona{margin-top:6px!important;padding-top:4px;border-top:1px solid var(--border-light);color:var(--accent-green);font-weight:600}.recharts-legend-item-text{color:var(--text-secondary)!important;font-size:11px!important}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border-light)}.charts-section h2{margin-bottom:16px}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.chart-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-card)}.chart-card h3{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1b2a4a,#2d4a7a,#1b2a4a);padding:20px}.login-card{width:100%;max-width:420px;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px 36px}.login-header{text-align:center;margin-bottom:28px}.login-icon{font-size:40px;margin-bottom:12px}.login-header h1{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.login-header p{font-size:13px;color:var(--text-muted)}.tab-switcher{display:flex;gap:0;background:var(--bg-input);border-radius:8px;padding:3px;margin-bottom:24px}.tab-btn{flex:1;padding:8px 0;border:none;background:transparent;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:var(--transition)}.tab-btn.active{background:var(--bg-card);color:var(--accent-gold);box-shadow:var(--shadow-xs)}.login-form{display:flex;flex-direction:column;gap:16px}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.form-group input{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);font-family:inherit;transition:var(--transition)}.form-group input:focus{outline:none;border-color:var(--accent-gold);box-shadow:0 0 0 3px var(--accent-gold-bg)}.form-group input::placeholder{color:var(--text-muted)}.btn-primary{padding:12px;background:var(--accent-gold);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:var(--transition);margin-top:4px}.btn-primary:hover{background:#b8972f}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.alert{padding:10px 14px;border-radius:8px;font-size:13px;font-weight:500}.alert-error{background:var(--accent-red-bg);color:var(--accent-red);border:1px solid rgba(220,38,38,.2)}.alert-success{background:var(--accent-green-bg);color:var(--accent-green);border:1px solid rgba(22,163,74,.2)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:300px;color:var(--text-muted);font-size:14px}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-gold);border-radius:50%;animation:spin .8s linear infinite}.top-bar-nav{display:flex;gap:4px}.nav-tab{padding:8px 18px;background:transparent;border:none;color:#ffffffa6;font-size:14px;font-weight:600;cursor:pointer;border-radius:6px;transition:var(--transition)}.nav-tab:hover{color:#fff;background:#ffffff1a}.nav-tab.active{color:var(--accent-gold);background:#c9a84c1f}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-header h2{font-size:20px;font-weight:700;color:var(--text-primary)}.carteiras-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.carteira-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}.carteira-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--accent-gold)}.carteira-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.carteira-card-header h3{font-size:17px;font-weight:700;color:var(--text-primary)}.carteira-objetivo{font-size:13px;color:var(--text-muted);margin-bottom:16px}.carteira-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.metric{text-align:center}.metric-label{display:block;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.metric-value{font-size:15px;font-weight:700;color:var(--text-primary)}.metric-value.positive{color:var(--accent-green)}.metric-value.negative{color:var(--accent-red)}.carteira-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--border-color)}.perfil-badge{font-size:12px;color:var(--text-muted);font-weight:500}.badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.badge-nao_vender{background:#e0f2fe;color:#0369a1}.badge-balanceado{background:#fef3c7;color:#92400e}.badge-ativo{background:#dcfce7;color:#166534}.btn-danger-sm{background:transparent;border:none;cursor:pointer;font-size:15px;padding:4px 6px;border-radius:6px;transition:var(--transition)}.btn-danger-sm:hover{background:var(--accent-red-bg)}.btn-secondary{padding:10px 20px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-secondary:hover{background:var(--border-color)}.form-card{margin-bottom:24px}.carteira-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.empty-state-card{background:var(--card-bg);border:2px dashed var(--border-color);border-radius:12px;padding:60px 32px;text-align:center;color:var(--text-muted)}.empty-icon{font-size:48px;display:block;margin-bottom:16px}.empty-state-card h3{font-size:18px;color:var(--text-primary);margin-bottom:8px}.empty-state{padding:32px;text-align:center;color:var(--text-muted);font-size:14px}.detail-tabs{display:flex;gap:4px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:4px;margin-bottom:20px;overflow-x:auto}.detail-tab{padding:10px 18px;background:transparent;border:none;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;border-radius:8px;transition:var(--transition);white-space:nowrap}.detail-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.detail-tab.active{background:var(--header-bg);color:#fff}.inline-form{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.inline-form input,.inline-form select{padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:13px;background:var(--card-bg);color:var(--text-primary);font-family:inherit}.inline-form input:focus,.inline-form select:focus{outline:none;border-color:var(--accent-gold);box-shadow:0 0 0 3px var(--accent-gold-bg)}.metas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.meta-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:16px}.meta-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:15px;color:var(--text-primary)}.meta-bars{display:flex;flex-direction:column;gap:8px}.meta-bar-row{display:flex;flex-direction:column;gap:4px}.meta-bar-row span{font-size:12px;color:var(--text-muted)}.meta-bar-track{width:100%;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.meta-bar-target{height:100%;background:var(--accent-gold);border-radius:4px;transition:width .4s ease}.meta-bar-actual{height:100%;background:var(--accent-green);border-radius:4px;transition:width .4s ease}.meta-bar-actual.desvio{background:var(--accent-red)}.meta-alerta{display:block;margin-top:8px;font-size:12px;color:var(--accent-red);font-weight:600}.alertas-section{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.alerta-item{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:500;color:#92400e}.simulacao-result{background:var(--card-bg);border:1px solid var(--accent-gold);border-radius:10px;padding:20px;margin-top:16px}.simulacao-result h3{font-size:16px;font-weight:700;margin-bottom:16px;color:var(--text-primary)}.badge-acao{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-comprar{background:#dcfce7;color:#166534}.badge-vender{background:#fee2e2;color:#991b1b}.badge-manter{background:#f3f4f6;color:#6b7280}.badge-reduzir_aportes{background:#fef3c7;color:#92400e}.rebalance-strategy{font-size:14px;margin-bottom:16px;color:var(--text-muted)}.col-motivo{font-size:12px;color:var(--text-muted);max-width:220px}.col-setor{font-size:12px;color:var(--text-muted)}.col-papel{font-weight:700}.kpi-detail{font-size:11px;color:var(--text-muted);display:block;margin-top:2px}.row-comprar{background:#f0fdf4!important}.row-nao-comprar{background:#fef2f2!important}.autocomplete-wrapper{position:relative;min-width:160px}.autocomplete-wrapper input{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:13px;background:var(--card-bg);color:var(--text-primary);font-family:inherit}.autocomplete-wrapper input:focus{outline:none;border-color:var(--accent-gold);box-shadow:0 0 0 3px var(--accent-gold-bg)}.autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 30px #0000002e;z-index:100;max-height:240px;overflow-y:auto}.autocomplete-item{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;font-size:13px;transition:background .15s;border-bottom:1px solid var(--border-color)}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--accent-gold-bg)}.autocomplete-item strong{color:var(--text-primary);min-width:60px}.autocomplete-item span{color:var(--text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autocomplete-setor{margin-left:auto;font-size:11px!important;color:var(--text-muted);opacity:.7}.edit-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.edit-modal{background:#fff;border-radius:14px;padding:28px;width:480px;max-width:92vw;box-shadow:0 20px 60px #00000040;border:1px solid var(--border-color)}.edit-modal h3{font-size:18px;font-weight:700;margin-bottom:20px;color:var(--text-primary)}.edit-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.edit-form-grid .form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.edit-form-grid .form-group input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);font-family:inherit;background:var(--bg-secondary)}.edit-form-grid .form-group input:focus{outline:none;border-color:var(--accent-gold);box-shadow:0 0 0 3px var(--accent-gold-bg)}.edit-actions{display:flex;gap:10px;justify-content:flex-end}.actions-cell{display:flex;gap:4px;white-space:nowrap}.btn-icon{background:transparent;border:none;cursor:pointer;font-size:15px;padding:4px 6px;border-radius:6px;transition:var(--transition)}.btn-icon:hover{background:var(--accent-gold-bg)}@media (max-width: 1280px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.charts-grid,.detail-prices,.score-breakdown{grid-template-columns:1fr}.filter-bar-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.main-content{padding:16px}.top-bar{padding:0 16px}.top-bar-left h1{font-size:15px}.sidebar-toggle{display:block}.filter-bar-grid,.health-item{grid-template-columns:1fr}}@media (max-width: 480px){.dashboard-kpis{grid-template-columns:1fr}.top-bar{flex-direction:column;height:auto;padding:10px 16px;gap:8px}.top-bar-right{flex-wrap:wrap;justify-content:center}}
