:root{--bg: #f0f1f5;--bg2: #e7e9ef;--white: #ffffff;--navy: #1a2654;--navy-mid: #2d3f7a;--navy-dim: #6b7a9e;--burgundy: #8c1c3a;--burgundy-dark: #6e1530;--burg-dim: rgba(140, 28, 58, .07);--border: rgba(26, 38, 84, .1);--border2: rgba(26, 38, 84, .06);--shadow-card: 0 2px 8px rgba(26, 38, 84, .08), 0 1px 2px rgba(26, 38, 84, .06);--shadow-btn: 0 1px 2px rgba(26, 38, 84, .08);--shadow-btn-hover: 0 4px 10px rgba(26, 38, 84, .12);--radius: .35rem;--radius-card: .5rem;--green: #0f6e56;--green-bg: #e8f4ee;--green-bd: #9fe1cb;--amber: #854f0b;--amber-bg: #fef3e2;--amber-bd: #fac775;--red: #991b1b;--red-bg: #fee2e2;--red-bd: #f5b5b5;--blue: #185fa5;--font: "Inter", system-ui, sans-serif;--font-heading: "Sora", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--navy);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}h1{font-family:var(--font-heading);font-size:clamp(1.4rem,3vw,1.9rem);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:1.05;margin:0 0 20px}h2{font-family:var(--font-heading);font-size:var(--h2-size, .85rem);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin:0 0 16px;padding-bottom:.5rem;border-bottom:1px solid var(--border2);display:flex;align-items:center;gap:.6rem}h3{font-family:var(--font-heading)}h4{font-family:var(--font-heading);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-dim);margin:1rem 0 .35rem}a{color:var(--blue)}.muted{color:var(--navy-dim)}.layout{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--navy);color:#ffffffb3;display:flex;flex-direction:column;padding:1.75rem 1rem;border-right:3px solid var(--burgundy);position:sticky;top:0;height:100vh}.sidebar-brand{background:var(--white);border-radius:var(--radius);padding:.85rem 1rem;margin-bottom:2rem;display:flex;align-items:center}.sidebar-brand img{width:100%;max-width:160px;height:auto;display:block}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{color:#ffffffa6;text-decoration:none;padding:.7rem .9rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-left:3px solid transparent;transition:color .15s,background .15s,border-color .15s}.sidebar nav a:hover{color:#fff;background:#ffffff0d}.sidebar nav a.active{color:#fff;background:#ffffff14;border-left-color:var(--burgundy)}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:1rem .9rem 0;display:flex;flex-direction:column;gap:.75rem}.sidebar-user{display:flex;flex-direction:column;font-size:.78rem;line-height:1.4}.sidebar-user strong{color:#fff;font-weight:700}.sidebar-user span{color:#ffffff73;font-weight:300;word-break:break-all}.sidebar-footer .btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-size:.72rem;letter-spacing:.08em;padding:.6rem 1.1rem}.content{flex:1;min-width:0}.content-inner{padding:2.5rem 3rem;max-width:1200px}.content-inner:has(>.page-wide){max-width:none}.page-loading{padding:3rem;color:var(--navy-dim)}.controls-grid{display:grid;grid-template-columns:repeat(5,auto);justify-content:start;column-gap:.9rem;row-gap:1.1rem;align-items:end;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border2)}.controls-grid .search-bar{grid-row:1;grid-column:1 / 3}.search-bar{display:flex;flex-direction:column;gap:.35rem}.search-bar-label{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-dim)}.search-bar-row{display:flex;align-items:center;gap:.6rem}.search-input-wrap{position:relative;flex:1;min-width:0}.search-input-wrap input{width:100%;font-family:var(--font);font-size:.9rem;color:var(--navy);background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem .5rem 2.15rem}.search-input-wrap input:focus{outline:2px solid var(--navy-mid);outline-offset:-1px}.search-icon{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--navy-dim);pointer-events:none}.spinner{flex-shrink:0;width:1rem;height:1rem;border:2px solid var(--border);border-top-color:var(--navy-mid);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.filters{display:contents}.filters>*{grid-row:2}.filters label{display:flex;flex-direction:column;gap:.3rem;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-dim)}.filters select,.filters input{font-family:var(--font);font-size:.9rem;color:var(--navy);background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .6rem;min-width:150px}.filters select:focus,.filters input:focus{outline:2px solid var(--navy-mid);outline-offset:-1px}.table-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}thead th{text-align:left;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-dim);padding:.75rem 1rem;border-bottom:1px solid var(--border);white-space:nowrap}tbody td{padding:.85rem 1rem;border-bottom:1px solid var(--border2);vertical-align:top}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#1a265405}.cell-title{display:block;font-weight:600;color:var(--navy);text-decoration:none}a.cell-title:hover{color:var(--burgundy);text-decoration:underline}.cell-sub{display:block;font-size:.75rem;color:var(--navy-dim)}.badge{display:inline-block;padding:.15rem .5rem;font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border:1px solid;border-radius:.25rem;margin-right:.35rem;white-space:nowrap}.badge-sm{font-size:.6rem;padding:.1rem .4rem}.badge-good{background:var(--green-bg);border-color:var(--green-bd);color:var(--green)}.badge-warn{background:var(--amber-bg);border-color:var(--amber-bd);color:var(--amber)}.badge-bad{background:var(--red-bg);border-color:var(--red-bd);color:var(--red)}.badge-neutral{background:#1a26540d;border-color:var(--border);color:var(--navy-dim)}.empty-state{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:3.5rem 2rem;text-align:center}.empty-mark{width:40px;height:3px;background:var(--burgundy);margin:0 auto 1.25rem}.empty-state h3{font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.empty-state p{color:var(--navy-dim);font-size:.9rem}.empty-hint{margin-top:.75rem;font-size:.8rem!important}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem;margin-bottom:1.25rem}.card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 16px;padding-bottom:.5rem;border-bottom:1px solid var(--border2)}.card-head h2{margin:0;padding-bottom:0;border-bottom:none}.card-head-title{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.card-head-actions{display:flex;align-items:center;gap:.5rem}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 1.5rem}.field{display:flex;flex-direction:column;min-width:0}.field-label{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-dim)}.field-value{overflow-wrap:anywhere}.btn-primary{font-family:var(--font);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--burgundy);border:none;border-radius:var(--radius);box-shadow:var(--shadow-btn);padding:.75rem 1.5rem;cursor:pointer;transition:box-shadow .15s,background .15s}.btn-primary:hover:not(:disabled){background:var(--burgundy-dark);box-shadow:var(--shadow-btn-hover)}.btn-primary:disabled{opacity:.55;box-shadow:none;cursor:not-allowed}.btn-ghost{font-family:var(--font);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-btn);padding:.5rem .9rem;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.btn-ghost:hover:not(:disabled){background:#1a26540a;border-color:var(--navy-dim);box-shadow:var(--shadow-btn-hover)}.btn-ghost:disabled{opacity:.4;box-shadow:none;cursor:not-allowed}.btn-inline{padding:.4rem .8rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy);padding:2rem}.login-card{background:var(--white);border-top:4px solid var(--burgundy);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:2.5rem;width:100%;max-width:380px;display:flex;flex-direction:column;gap:1rem}.login-logo{width:150px;align-self:center;margin-bottom:.5rem}.login-card h1{font-size:1.15rem;text-align:center;margin-bottom:.5rem}.login-card label{display:flex;flex-direction:column;gap:.3rem;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-dim)}.login-card input{font-family:var(--font);font-size:.95rem;color:var(--navy);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .7rem}.login-card input:focus{outline:2px solid var(--navy-mid);outline-offset:-1px}.error-box{background:var(--red-bg);border:1px solid var(--red-bd);border-radius:var(--radius);color:var(--red);padding:.65rem .85rem;font-size:.85rem;margin-bottom:1rem}.notice-box{background:var(--green-bg);border:1px solid var(--green-bd);border-radius:var(--radius);color:var(--green);padding:.65rem .85rem;font-size:.85rem;margin-bottom:1rem}.notice-box.notice-warn{background:var(--amber-bg);border-color:var(--amber-bd);color:var(--amber)}@media(max-width:860px){.layout{flex-direction:column}.sidebar{width:100%;height:auto;position:static;border-right:none;border-bottom:3px solid var(--burgundy)}.content-inner{padding-left:1.25rem;padding-right:1.25rem}.controls-grid{grid-template-columns:1fr}.controls-grid .search-bar,.filters>*{grid-column:1;grid-row:auto}}.page-eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--burgundy);margin-bottom:.4rem}.segmented{display:inline-flex;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-btn);padding:3px;margin-bottom:1.5rem}.segmented button{font-family:var(--font);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-dim);background:none;border:none;border-radius:calc(var(--radius) - 2px);padding:.5rem 1rem;cursor:pointer;transition:background .15s,color .15s}.segmented button:hover:not(.active){color:var(--navy)}.segmented button.active{background:var(--navy);color:#fff}.results-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.results-count{font-family:var(--font-heading);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.results-count strong{color:var(--burgundy)}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.texto-original{font-size:.78rem;color:var(--navy-dim);white-space:pre-wrap;max-height:9rem;overflow-y:auto;background:var(--bg);border-radius:var(--radius);padding:.6rem .75rem}.back-link{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-dim);text-decoration:none}.back-link:hover{color:var(--burgundy)}.ficha-topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.ficha h1{margin-bottom:.75rem}.ficha-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.5rem}.ficha-badges .badge{margin-right:0}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-bottom:1.25rem}.kpi{display:flex;flex-direction:column;gap:.2rem;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1rem 1.25rem;border-top:3px solid var(--navy)}.kpi-label{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-dim)}.kpi-valor{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;line-height:1.2}.kpi-destaque{color:var(--amber)}.kpi-sub{font-size:.75rem;color:var(--navy-dim)}.ficha-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.25rem}.ficha-grid .fields{grid-template-columns:1fr 1fr}.ficha-fonte{font-size:.75rem;margin-top:.5rem}.timeline-svg{width:100%;height:auto;display:block;overflow:visible}.tl-ano{font-family:var(--font);font-size:14px;font-weight:600;fill:var(--navy-dim)}.tl-nome{font-family:var(--font-heading);font-size:15px;font-weight:700}.tl-eixo{font-family:var(--font);font-size:11px;fill:#9aa3bd}.chart-svg{width:100%;height:auto;display:block}.chart-grade{stroke:var(--border);stroke-width:1}.chart-eixo{font-family:var(--font);font-size:12px;fill:var(--navy-dim)}.chart-rodape{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:.75rem 0 1rem}.chart-nota{font-size:.75rem}.legenda{display:flex;flex-wrap:wrap;gap:.4rem 1rem}.legenda-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600}.legenda-cor{width:12px;height:12px;border-radius:3px;flex-shrink:0}.tabela-interna{margin-top:.75rem;box-shadow:none}.destaque-jogo{background:var(--navy);color:#ffffffd9;border-radius:var(--radius-card);box-shadow:var(--shadow-card);border-left:5px solid var(--burgundy);padding:1.25rem 1.5rem;margin-bottom:1.25rem}.destaque-rotulo{display:block;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c;margin-bottom:.35rem}.destaque-jogo p{font-family:var(--font-heading);font-size:1.15rem;line-height:1.45}.destaque-jogo strong{color:#fff}.kpi-gt{border-top-color:var(--burgundy)}.kpi-gt .kpi-valor{color:var(--burgundy)}.card-head-nota{font-size:.75rem}.chart-clicavel{cursor:pointer}.chart-clicavel:hover rect:not([fill=transparent]){filter:brightness(1.08)}.chart-valor{font-family:var(--font-heading);font-size:13px;font-weight:700;fill:var(--navy)}.chart-ano{font-family:var(--font-heading);font-size:14px;font-weight:700;fill:var(--navy)}.chart-rotulo{font-family:var(--font);font-size:13px;font-weight:600}.chart-rotulo-gt{font-weight:800}.nota-vencidos{font-size:.8rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border2)}.mercado-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:0 1.25rem}.segmented-sm{margin-bottom:1rem}.segmented-sm button{font-size:.62rem;padding:.4rem .75rem}.barras{display:flex;flex-direction:column;gap:.55rem}.barra-linha{display:grid;grid-template-columns:150px minmax(0,1fr) 90px 52px;align-items:center;gap:.6rem;font-size:.85rem}.barra-nome{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.barra-trilho{height:12px;background:var(--bg);border-radius:999px;overflow:hidden}.barra-cheia{display:block;height:100%;border-radius:999px}.barra-valor{text-align:right;font-variant-numeric:tabular-nums}.barra-fatia{text-align:right;color:var(--navy-dim);font-size:.78rem;font-variant-numeric:tabular-nums}.barra-gt .barra-nome,.barra-gt .barra-valor{color:var(--burgundy);font-weight:700}@media(max-width:1100px){.mercado-grid{grid-template-columns:1fr}}.kpi-risco{border-top-color:var(--red)}.kpi-risco .kpi-valor{color:var(--red)}.risco-legenda{margin-top:.85rem}.contrapartes{display:flex;flex-direction:column;gap:.45rem;max-width:820px;margin:0 auto}.contraparte-cab,.contraparte-linha{display:grid;grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr);align-items:center;gap:.75rem}.contraparte-cab{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-dim)}.contraparte-cab span:first-child{text-align:right}.contraparte-lado{display:flex;align-items:center;gap:.45rem}.contraparte-lado.esquerda{justify-content:flex-end}.contraparte-barra{height:12px;border-radius:999px;min-width:0}.contraparte-barra.perda{background:var(--red-bd)}.contraparte-barra.ganho{background:var(--green-bd)}.contraparte-num{font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:1.4rem}.contraparte-lado.esquerda .contraparte-num{text-align:right}.contraparte-nome{display:flex;align-items:center;justify-content:center;gap:.4rem;font-weight:700;font-size:.85rem;text-align:center}.contraparte-saldo{font-size:.68rem;font-weight:700;color:var(--navy-dim);background:var(--bg);border-radius:999px;padding:.05rem .45rem}.contraparte-saldo.pos{color:var(--green);background:var(--green-bg)}.contraparte-saldo.neg{color:var(--red);background:var(--red-bg)}.page-usuarios{max-width:1000px}.form-usuario{display:grid;grid-template-columns:1.2fr 1.4fr 1.2fr .9fr auto;gap:.9rem;align-items:end}.form-usuario label{display:flex;flex-direction:column;gap:.3rem;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-dim)}.form-usuario input,.form-usuario select,.form-senha input{font-family:var(--font);font-size:.9rem;color:var(--navy);background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .65rem}.form-usuario input:focus,.form-usuario select:focus,.form-senha input:focus{outline:2px solid var(--navy-mid);outline-offset:-1px}.form-dica{font-size:.78rem;margin-top:.75rem}.acoes-linha{display:flex;flex-wrap:wrap;gap:.4rem}.linha-inativa td{opacity:.6}.linha-extra td{background:var(--bg)}.form-senha{display:flex;gap:.6rem;align-items:center}.form-senha input{flex:1;max-width:360px}@media(max-width:860px){.form-usuario{grid-template-columns:1fr}}.ecosystem-footer{display:flex;align-items:center;gap:.6rem;padding:1rem 3rem 1.5rem;font-size:.75rem;color:var(--navy-dim)}.ecosystem-footer strong{color:var(--navy);font-weight:600}.eco-dot{width:6px;height:6px;border-radius:50%;background:var(--burgundy);flex-shrink:0}@media(max-width:860px){.ecosystem-footer{padding:1rem 1.25rem}.ficha-grid,.ficha-grid .fields{grid-template-columns:1fr}.results-bar{flex-direction:column;align-items:flex-start}}@media print{body{background:#fff;font-size:12px}.no-print{display:none!important}.content-inner{padding:0;max-width:none}.card,.kpi{box-shadow:none;break-inside:avoid}.texto-original{max-height:none;overflow:visible}}
