/* Integralis — componentes em CSS. Valores vêm de tokens.json; os segundos argumentos são o tema escuro, para quando tokens.css não estiver carregado. */
body{margin:0;background:var(--bg,#070609);color:var(--fg,#fff);font-family:var(--font-sans,Montserrat,system-ui,sans-serif)}
.ig-btn{display:inline-flex;align-items:center;gap:8px;font:500 14px/1.2 var(--font-sans,Montserrat,system-ui,sans-serif);padding:10px 18px;border-radius:var(--radius-sm,5px);border:0;cursor:pointer;background:var(--btn,#1c6f8c);color:var(--ink-on-accent,#fff);box-shadow:var(--shadow-btn,0 8px 24px -12px #439cb699);transition:background .15s cubic-bezier(.2,0,0,1),transform .15s}
.ig-btn:hover{background:var(--btn-h,#0e5576)}
.ig-btn:active{transform:scale(.96)}
.ig-btn:focus-visible{outline:2px solid var(--pri,#439cb6);outline-offset:2px}
.ig-btn--lg{font-size:16px;padding:var(--btn-pad-y,14px) var(--btn-pad-x,26px)}
.ig-btn--secondary{background:var(--card,#111118);color:var(--fg,#fff);border:1px solid var(--pri-a35,#439cb659);box-shadow:none}
.ig-btn--secondary:hover{background:var(--pri-a16,#439cb629)}
.ig-btn--danger{background:var(--danger-solid,#c7453b);box-shadow:none}
.ig-btn[disabled]{opacity:.5;cursor:not-allowed}
.ig-kicker{font:600 12px/14.4px var(--font-mono,"IBM Plex Mono",monospace);letter-spacing:1.68px;text-transform:uppercase;color:var(--mut,#adaeb8);margin:0}
.ig-chip{display:inline-block;font:400 12px/18px var(--font-mono,"IBM Plex Mono",monospace);letter-spacing:.96px;text-transform:uppercase;padding:var(--space-1,2px) var(--space-2,8px);border-radius:var(--radius-pill,999px);border:1px solid var(--line2,#3e3f47);color:var(--mut,#adaeb8)}
.ig-chip--ok{color:var(--ok-ink,#7ee2a0);border-color:var(--ok-line,#1f4d2e)}
.ig-chip--warn{color:var(--warn,#e0b54a);border-color:var(--warn,#e0b54a)}
.ig-chip--danger{color:var(--danger,#f0675c);border-color:var(--danger,#f0675c)}
.ig-chip--info{color:var(--pri-lt,#7fd6f0);border-color:var(--pri-a35,#439cb659)}
.ig-status{display:flex;align-items:center;gap:var(--space-2,8px);font:600 12px/15px var(--font-sans,Montserrat,sans-serif);color:var(--mut,#adaeb8);margin:0}
.ig-status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok,#5ec9a0)}
.ig-status--warn::before{background:var(--warn,#e0b54a)}
.ig-status--danger::before{background:var(--danger,#f0675c)}
.ig-card{background:var(--panel,#0f0f15);border:1px solid var(--line,#20212f);border-radius:var(--radius,10px);padding:var(--space-6,24px) var(--space-6,24px) 12px;display:flex;flex-direction:column;gap:12px}
.ig-card h4{font:600 18px/19.8px var(--font-display,"Public Sans",sans-serif);letter-spacing:-.36px;margin:0;color:var(--fg,#fff)}
.ig-card p{font:400 14px/21px var(--font-sans,Montserrat,sans-serif);color:var(--mut,#adaeb8);margin:0}
.ig-card ul{margin:0;padding-left:18px;color:var(--mut,#adaeb8);font-size:13px;line-height:20px}
.ig-link{font:600 14px/20px var(--font-sans,Montserrat,sans-serif);color:var(--pri-lt,#7fd6f0);text-decoration:none}
.ig-rastro{margin:0;border:1px solid var(--pri-a35,#439cb659);border-radius:var(--radius-console,16px);box-shadow:var(--shadow-lg,0 24px 60px -20px #000000b3),var(--glow,0 0 60px #439cb638),inset 0 1px 0 #ffffff0a;background:var(--panel,#0f0f15);font:400 13px/19.5px var(--font-mono,"IBM Plex Mono",monospace);overflow:hidden}
.ig-rastro__head{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff08;border-bottom:1px solid var(--line,#20212f)}
.ig-rastro__dots{display:flex;gap:6px}.ig-rastro__dots i{width:8px;height:8px;border-radius:50%;background:var(--line2,#3e3f47)}
.ig-rastro__title{flex:1;color:var(--mut,#adaeb8);font-size:12px;letter-spacing:1.2px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig-rastro ol{list-style:none;margin:0;padding:8px 16px}
.ig-rastro li{display:grid;grid-template-columns:96px 1fr 10px;gap:12px;padding:8px 0;align-items:start}
.ig-rastro li.is-focus{background:var(--hi-08,#ffffff14);margin:0 -16px;padding:8px 16px}
.ig-rastro__tag{font-size:12px;line-height:18px;letter-spacing:1.2px;text-transform:uppercase;color:var(--mut,#adaeb8)}
.ig-rastro__val{color:var(--fg,#fff)}
.ig-rastro__dot{color:var(--ok,#5ec9a0);font-size:12px;line-height:18px}
.ig-rastro__dot--warn{color:var(--warn,#e0b54a)}.ig-rastro__dot--danger{color:var(--danger,#f0675c)}
.ig-rastro__foot{display:flex;gap:10px;padding:12px 16px 16px;color:var(--mut,#adaeb8);font-size:12px;line-height:16.8px;border-top:1px solid var(--line,#20212f)}
.ig-rastro__foot::before{content:"";width:8px;height:14px;background:var(--pri-lt,#7fd6f0);flex:none}
.ig-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--panel,#0f0f15);border:1px solid var(--line,#20212f);border-radius:var(--radius,10px);overflow:hidden;font:400 14px/21px var(--font-sans,Montserrat,sans-serif)}
.ig-table th{text-align:left;font:600 12px/18px var(--font-mono,"IBM Plex Mono",monospace);letter-spacing:1.2px;text-transform:uppercase;color:var(--mut,#adaeb8);padding:10px 14px;border-bottom:1px solid var(--line,#20212f);background:#ffffff05}
.ig-table td{padding:10px 14px;border-bottom:1px solid var(--line,#20212f);color:var(--fg,#fff)}
.ig-table tr:last-child td{border-bottom:0}
.ig-table tbody tr:hover td{background:var(--pri-a08,#439cb614)}
.ig-table th.num{text-align:right}
.ig-table .num{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-variant-numeric:tabular-nums;text-align:right}
.ig-table .mono{font-family:var(--font-mono,"IBM Plex Mono",monospace);color:var(--mut,#adaeb8)}
/* Seletor de tema: claro, escuro, do sistema (public/app/tema.js) */
.tema-seletor{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line2);border-radius:var(--radius,10px);background:var(--panel)}
.tema-seletor__opcao{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;padding:0;border:0;border-radius:calc(var(--radius,10px) - 4px);background:transparent;color:var(--mut);cursor:pointer;transition:background .15s cubic-bezier(.2,0,0,1),color .15s}
.tema-seletor__opcao:hover{color:var(--fg);background:var(--hi-08)}
.tema-seletor__opcao[aria-pressed="true"]{background:var(--pri);color:var(--ink-on-brand)}
.tema-seletor__opcao:focus-visible{outline:2px solid var(--pri-lt);outline-offset:1px}
.ig-btn svg{flex:none}
