:root{--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-800: #1e40af;--brand-900: #1e3a8a;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--success: #0d9488;--warning: #f59e0b;--danger: #dc2626;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 3px rgba(50, 50, 93, .08), 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08);--shadow-lg: 0 15px 35px rgba(50, 50, 93, .1), 0 5px 15px rgba(0, 0, 0, .07);font-family:Inter,Segoe UI,Roboto,sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-family, "Inter", "Segoe UI", Roboto, sans-serif);color:var(--gray-900);background:var(--gray-50);-webkit-font-smoothing:antialiased}a{color:var(--brand-600);text-decoration:none}a:hover{color:var(--brand-700);text-decoration:underline}h1,h2,h3,h4{color:var(--gray-900);margin:0 0 .4rem}p{margin:0 0 1rem;color:var(--gray-600)}button,input,select{font-family:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}header.app-header{background:#fff;border-bottom:1px solid var(--gray-200);padding:1rem 2.5rem;display:flex;align-items:center;gap:1.5rem;position:sticky;top:0;z-index:20;box-shadow:var(--shadow-sm)}.brand{display:flex;align-items:center;gap:.75rem;font-size:1.125rem;font-weight:600;color:var(--gray-900)}.logo{width:40px;height:40px;border-radius:10px;background-image:url(/assets/img/symbol.png);background-size:cover;background-position:center;background-repeat:no-repeat}.logo-full{height:20px;width:auto;object-fit:contain}.nav-links{display:flex;gap:.75rem;align-items:center;flex:1}.nav-links a{color:var(--gray-600);font-weight:500;padding:.45rem .9rem;border-radius:6px;transition:all .2s ease}.nav-links a.active,.nav-links a:hover{background:var(--brand-50);color:var(--brand-700);text-decoration:none}.company-menu{position:relative}.nav-company-btn{background:var(--gray-100);color:var(--gray-700);padding:.45rem .85rem;border-radius:6px;font-weight:600;cursor:pointer;border:1px solid var(--gray-200)}.nav-company-btn.open{background:var(--gray-200);border-color:var(--gray-300)}.company-dropdown{position:absolute;right:0;top:calc(100% + .6rem);min-width:220px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem;z-index:40}.company-dropdown ul{list-style:none;margin:0;padding:.25rem 0;max-height:260px;overflow:auto}.company-item{padding:.1rem 0}.company-select-btn{width:100%;text-align:left;background:transparent;border:none;padding:.45rem .6rem;border-radius:8px;cursor:pointer;color:var(--gray-700);font-weight:600}.company-select-btn:hover{background:var(--brand-50);color:var(--brand-700)}.company-dropdown hr{border:none;border-top:1px solid var(--gray-200);margin:.4rem 0}.company-dropdown a#createCompany{display:block;padding:.55rem .6rem;color:var(--brand-600);font-weight:700;border-radius:8px}.container{width:min(1100px,92vw);margin:1.5rem auto 2rem;display:flex;flex-direction:column;gap:1.8rem}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem;align-items:center;padding:1rem 0}.hero-copy{display:flex;flex-direction:column;gap:1.25rem}.hero-copy h1{font-size:clamp(2.25rem,3.5vw,3.25rem);line-height:1.1;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}.hero-copy p{color:var(--gray-600);font-size:1.125rem;line-height:1.6;max-width:560px}.hero-copy .badge{width:fit-content;font-size:.8rem;padding:.35rem .8rem;background:linear-gradient(135deg,var(--brand-50) 0%,var(--brand-100) 100%);border:1px solid var(--brand-300);box-shadow:0 2px 4px #2563eb1a}.hero-copy .flex-between{margin-top:.5rem;gap:.75rem}.hero-copy .flex-between .badge{font-size:.75rem;padding:.3rem .7rem;background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300);box-shadow:none}.card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--brand-200)}.card h2{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--gray-900)}.card-flat{border-radius:var(--radius-md);box-shadow:none;border:1px solid var(--gray-200)}.stack{display:flex;flex-direction:column;gap:1.25rem}.grid{display:grid;gap:1.25rem}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.form-grid{display:grid;gap:1rem}.form-grid.two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}label{font-size:.875rem;color:var(--gray-700);font-weight:600;display:flex;flex-direction:column;gap:.5rem}input,select{width:100%;border-radius:var(--radius-md);border:1.5px solid var(--gray-300);padding:.75rem 1rem;font-size:1rem;background:#fff;color:var(--gray-900);transition:all .2s ease}input:hover,select:hover{border-color:var(--gray-400)}input:focus,select:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 4px #3b82f61f}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button{border:none;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:1rem;transition:all .2s ease;border:1.5px solid transparent}.btn-primary{background:var(--brand-600);color:#fff;border-color:var(--brand-600);box-shadow:0 4px 12px #2563eb40}.btn-primary:hover{background:var(--brand-700);border-color:var(--brand-700);transform:translateY(-2px);box-shadow:0 8px 20px #2563eb59}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:var(--gray-100);color:var(--gray-800);border:1px solid var(--gray-200)}.btn-ghost:hover{background:var(--gray-200);border-color:var(--gray-300)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 4px 12px #dc262640}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c;transform:translateY(-2px);box-shadow:0 8px 20px #dc262659}.btn-danger:active{transform:translateY(0)}.subtitle{color:var(--gray-500);font-size:.95rem;margin-bottom:1.5rem;line-height:1.5}.small{color:var(--gray-500);font-size:.875rem;text-align:center;margin-top:1.25rem}.msg{border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.95rem;font-weight:500;display:none}.msg.show{display:block}.msg.success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.msg.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.kpi-card{background:linear-gradient(135deg,#ffffff 0%,var(--gray-50) 100%);border-radius:var(--radius-md);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);transition:all .3s ease;position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-500) 0%,var(--brand-600) 100%);opacity:0;transition:opacity .3s ease}.kpi-card:hover{border-color:var(--brand-300);box-shadow:0 8px 20px #3b82f61f;transform:translateY(-2px)}.kpi-card:hover:before{opacity:1}.kpi-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.kpi-title{font-size:.875rem;font-weight:600;color:var(--gray-600);letter-spacing:.01em;text-transform:uppercase}.kpi-info{background:transparent;border:none;padding:.2rem;cursor:help;color:var(--gray-400);transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-radius:50%}.kpi-info:hover{color:var(--brand-600);background:var(--brand-50)}.kpi-info i[data-lucide]{width:14px;height:14px;display:block}.kpi-value{font-size:2.75rem;font-weight:700;background:linear-gradient(135deg,var(--brand-600) 0%,var(--brand-700) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;letter-spacing:-.02em}.section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200);background:var(--gray-50)}.table-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end;padding:.75rem 1rem;border-bottom:1px solid var(--gray-200);background:var(--gray-50)}.section-title{font-size:1rem;font-weight:600;color:var(--gray-700);margin:0;letter-spacing:-.01em}.section-actions,.section-filters{display:flex;gap:.5rem;align-items:center}.filter-label{font-size:.8rem;color:var(--gray-600);font-weight:500;margin:0}.filter-select{padding:.35rem .6rem;font-size:.85rem;border-radius:var(--radius-sm);border:1px solid var(--gray-300);background:#fff;color:var(--gray-700);font-weight:500;cursor:pointer;transition:all .2s ease;width:auto;min-width:80px}#filterCategory{min-width:120px}.filter-select:hover{border-color:var(--brand-400)}.filter-select:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 2px #3b82f61a}.filter-bar{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;padding:.875rem 1.25rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;border:1px solid var(--gray-100)}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group .filter-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--gray-500);font-weight:600}.filter-pills{display:flex;gap:.25rem;background:var(--gray-100);padding:.2rem;border-radius:var(--radius-md)}.filter-pill{padding:.35rem .75rem;font-size:.8rem;font-weight:500;color:var(--gray-600);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;white-space:nowrap}.filter-pill:hover{color:var(--gray-800);background:var(--gray-50)}.filter-pill.active{background:#fff;color:var(--brand-600);box-shadow:0 1px 2px #0000000f}.filter-toggles{display:flex;flex-wrap:wrap;gap:.35rem}.filter-toggle{padding:.3rem .65rem;font-size:.78rem;font-weight:500;color:var(--gray-500);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:999px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.filter-toggle:hover{border-color:var(--brand-300);color:var(--brand-600);background:var(--brand-50)}.filter-toggle.active{background:var(--brand-50);border-color:var(--brand-400);color:var(--brand-700)}.filter-bar .filter-select{padding:.4rem 1.75rem .4rem .65rem;font-size:.8rem;font-weight:500;border-radius:var(--radius-md);border:1px solid var(--gray-200);background:var(--gray-50) 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='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .5rem center;color:var(--gray-700);appearance:none;-webkit-appearance:none;min-width:auto}.filter-bar .filter-select:hover{border-color:var(--brand-300);background-color:var(--brand-50)}.filter-bar .filter-select:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 2px #3b82f61a}.filter-separator{width:1px;height:1.5rem;background:var(--gray-200);margin:0 .25rem}.btn-icon{padding:.4rem;min-width:0;background:transparent;border:1px solid var(--gray-300);color:var(--gray-600);transition:all .2s ease}.btn-icon:hover{background:var(--brand-50);border-color:var(--brand-300);color:var(--brand-700);transform:none;box-shadow:none}.btn-icon i[data-lucide]{width:16px;height:16px;display:block}.table-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .2s ease}.table-card:hover,.chart-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-md)}.table{width:100%;border-collapse:collapse}.table thead{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.table th{text-align:left;font-size:.85rem;font-weight:600;letter-spacing:.02em;padding:.9rem 1.2rem;color:var(--gray-500)}.table td{padding:1rem 1.2rem;border-bottom:1px solid var(--gray-200);font-size:.95rem}.table tr:hover td{background:var(--gray-50)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-200)}.pill-group{display:flex;flex-wrap:wrap;gap:.6rem}.pill{padding:.55rem 1.05rem;border-radius:999px;border:1px solid var(--gray-300);background:#fff;color:var(--gray-700);font-weight:500;transition:all .2s ease}.pill.active,.pill:hover{border-color:var(--brand-400);color:var(--brand-700);background:var(--brand-50)}.flex-between{display:flex;justify-content:space-between;align-items:center;gap:1rem}.stacked-table td:first-child{display:table-cell;flex-direction:column;gap:.35rem;white-space:nowrap}.stacked-table td.value-cell{text-align:right;vertical-align:middle}.value-cell-content{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.value-cell-content .value-display{font-weight:400}.value-cell-content .wow-change{margin-left:0;display:block}.chart-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);overflow:hidden;transition:all .2s ease}.chart-container{position:relative;height:400px;width:100%;padding:1.5rem 1.25rem}.table-card{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:600px}@media(max-width:720px){header.app-header{padding:1rem 1.25rem}.nav-links{gap:.5rem}.nav-links a{padding:.45rem .75rem}.container{margin-top:1.75rem}.flex-between{flex-direction:column;align-items:flex-start}.table-card{margin-left:-1rem;margin-right:-1rem;border-radius:0;border-left:none;border-right:none}}.msg.warning{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.metric-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.metric-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.04em}.metric-tag.biz{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.metric-tag.buzz{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.modal{position:fixed;top:0;left:0;width:100%;height:100%;display:grid;place-items:center;padding:1.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:1000}.modal-backdrop{position:absolute;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-panel{position:relative;background:#fff;padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(520px,92vw);max-width:520px;max-height:calc(100vh - 3rem);overflow:auto;-webkit-overflow-scrolling:touch;z-index:1001;border:1px solid var(--gray-200)}.modal-panel h3{margin:0 0 1.5rem;color:var(--gray-900);font-size:1.5rem;font-weight:600}.modal-panel form{display:flex;flex-direction:column;gap:1.25rem}.modal-panel form label{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;font-weight:500;color:var(--gray-700)}.modal-panel form label br{display:none}.modal-panel form input,.modal-panel form select{margin-top:0}.modal-panel form>div{display:flex;gap:.75rem;margin-top:.5rem;justify-content:flex-end}.modal-panel .btn{min-width:100px}.btn-sm{padding:.3rem .5rem;font-size:.85rem}.btn svg{vertical-align:middle;display:inline-block}.actions-col{width:1.5rem;text-align:center;white-space:nowrap;padding:.25rem}.actions-col .btn{min-width:0;padding:0}.actions-col i[data-lucide]{display:inline-block;vertical-align:middle;width:1em;height:1em}.wow-change{font-size:.7rem;font-weight:600;margin-left:.25rem;white-space:nowrap}.wow-change.positive{color:var(--success)}.wow-change.negative{color:var(--danger)}.btn.active{background:var(--brand-100);color:var(--brand-700);border-color:var(--brand-300)}.formula-input-container{display:flex;flex-direction:column;gap:.5rem}.formula-input-wrapper{position:relative}.formula-input-wrapper textarea{width:100%;min-height:4rem;resize:vertical;font-family:SF Mono,Consolas,Monaco,monospace;font-size:.9rem;line-height:1.5}.formula-suggestions{position:absolute;left:0;right:0;max-height:200px;overflow-y:auto;background:#fff;border:1px solid var(--gray-300);border-radius:.375rem;box-shadow:0 4px 12px #00000026;z-index:100;list-style:none;margin:0;padding:.25rem 0}.formula-suggestion{padding:.5rem .75rem;cursor:pointer;font-size:.9rem;color:var(--gray-700);transition:background .1s ease}.formula-suggestion:hover,.formula-suggestion.selected{background:var(--brand-50);color:var(--brand-700)}.formula-suggestion small{display:block;font-size:.75rem;color:var(--gray-500);margin-top:.125rem}.formula-help{font-size:.75rem;color:var(--gray-500)}.formula-help code{background:var(--gray-100);padding:.125rem .25rem;border-radius:.25rem;font-family:SF Mono,Consolas,Monaco,monospace;font-size:.7rem}.formula-preview{padding:.75rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:.375rem;font-size:.9rem;line-height:1.6;min-height:2.5rem}.formula-preview:empty:before{content:"A prévia da fórmula aparecerá aqui...";color:var(--gray-400);font-style:italic}.formula-token{display:inline-block;padding:.125rem .375rem;border-radius:.25rem;margin:0 .125rem;font-weight:500}.formula-token.metric{background:var(--brand-100);color:var(--brand-700);border:1px solid var(--brand-200)}.formula-token.operator{color:var(--gray-600);font-weight:600}.formula-token.number{color:var(--gray-700);background:var(--gray-100)}.formula-token.paren{color:var(--gray-500);font-weight:700}.formula-token.invalid{background:var(--danger-light, #fee2e2);color:var(--danger);border:1px dashed var(--danger)}.formula-suggestion{display:flex;align-items:center;justify-content:space-between}.suggestion-name{font-weight:500}.suggestion-category{font-size:.75rem;color:var(--gray-400);margin-left:1rem}.formula-placeholder{color:var(--gray-400);font-style:italic}.formula-text{color:var(--gray-600)}.reorder-table{border-collapse:collapse}.reorder-table .category-row{background:var(--gray-100)}.reorder-table .category-row td{font-weight:600;color:var(--gray-700)}.reorder-table .metric-row{background:#fff}.reorder-table .metric-row:hover{background:var(--gray-50)}.reorder-handle-cell{width:70px;text-align:center;vertical-align:middle;padding:.5rem!important}.reorder-controls{display:flex;flex-direction:column;align-items:center;gap:2px}.reorder-controls .grip-icon{color:var(--gray-400);cursor:grab}.reorder-btn{padding:2px!important;min-width:24px!important;height:24px!important;border-radius:var(--radius-sm)!important;display:flex;align-items:center;justify-content:center;color:var(--gray-500);background:transparent;border:1px solid var(--gray-200)!important;box-shadow:none!important;transition:all .15s ease}.reorder-btn:hover:not(:disabled){background:var(--brand-50);color:var(--brand-600);border-color:var(--brand-200)!important}.reorder-btn:disabled{opacity:.3;cursor:not-allowed}.category-controls .grip-icon{color:var(--brand-500)}.metric-controls .grip-icon{color:var(--gray-400)}.btn-sm{font-size:.8rem;padding:.4rem .8rem}.table-actions .btn-sm{display:inline-flex;align-items:center;gap:4px}
