:root{--bg: #0d1117;--superficie: #161b22;--superficie-2: #1c2330;--texto: #e6edf3;--texto-fraco: #8b949e;--borda: #30363d;--acento: #2f81f7;--acento-fundo: #1f6feb;--ok: #3fb950;--erro: #f85149;--aviso: #d29922;--raio: 10px}@media(prefers-color-scheme:light){:root{--bg: #f6f8fa;--superficie: #ffffff;--superficie-2: #f0f3f6;--texto: #1f2328;--texto-fraco: #656d76;--borda: #d0d7de;--acento: #0969da;--acento-fundo: #0969da}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--texto);font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}h1{font-size:22px;font-weight:700;margin:0}h2{font-size:17px;font-weight:650;margin:0 0 12px}.legenda{font-size:13px;color:var(--texto-fraco)}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--bg);border:1px solid var(--borda);border-radius:8px;padding:8px 12px;font-size:14px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--acento);outline-offset:2px}button{background:var(--superficie-2);border:1px solid var(--borda);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:550;cursor:pointer;transition:background .15s}button:hover{border-color:var(--acento)}button.primario{background:var(--acento-fundo);border-color:transparent;color:#fff}button.perigo{color:var(--erro)}button.mini{padding:4px 10px;font-size:12.5px}.app{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--superficie);border-right:1px solid var(--borda);padding:20px 12px;display:flex;flex-direction:column;gap:4px}.sidebar .marca{padding:0 12px 16px}.sidebar .marca strong{display:block;font-size:15px}.sidebar button.nav{background:none;border:none;text-align:left;padding:9px 12px;border-radius:8px;color:var(--texto-fraco);font-weight:550}.sidebar button.nav:hover,.sidebar button.nav.ativo{background:var(--superficie-2);color:var(--texto)}.sidebar .sair{margin-top:auto}.conteudo{flex:1;padding:28px 32px;max-width:1100px}.cabecalho{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px}.cabecalho h1{flex:1 1 auto}.cartao{background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio);padding:18px;margin-bottom:16px}.linha-form{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.campo{display:flex;flex-direction:column;gap:4px}.campo label{font-size:12.5px;color:var(--texto-fraco);font-weight:550}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--texto-fraco);padding:8px 10px;border-bottom:1px solid var(--borda)}td{padding:10px;border-bottom:1px solid var(--borda);vertical-align:top}tr:hover td{background:var(--superficie-2)}.chip{display:inline-block;font-size:12px;font-weight:550;padding:2px 9px;border-radius:99px;border:1px solid var(--borda);margin:1px 3px 1px 0;background:var(--superficie-2)}.chip.allow{color:var(--ok);border-color:var(--ok)}.chip.deny{color:var(--erro);border-color:var(--erro)}.chip.plano{color:var(--texto-fraco)}.chip.ok{color:var(--ok)}.chip.inativo{color:var(--aviso)}.acao-linha{display:flex;flex-wrap:wrap;gap:6px}.vazio{padding:28px;text-align:center;color:var(--texto-fraco);border:1px dashed var(--borda);border-radius:var(--raio)}.aviso-inline{color:var(--erro);font-size:13.5px;margin-top:8px}.sucesso-inline{color:var(--ok);font-size:13.5px;margin-top:8px}.token-revelado{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;background:var(--superficie-2);border:1px dashed var(--acento);border-radius:8px;padding:10px 14px;margin-top:10px;word-break:break-all;-webkit-user-select:all;user-select:all}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login .cartao{width:100%;max-width:380px}.login input{width:100%}.checks{display:flex;flex-wrap:wrap;gap:8px}.checks label{display:flex;align-items:center;gap:6px;font-size:13.5px;border:1px solid var(--borda);border-radius:8px;padding:6px 10px;cursor:pointer}.checks input{accent-color:var(--acento-fundo)}.checks label select{padding:4px 8px;font-size:12.5px}@media(max-width:720px){.app{flex-direction:column}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center}.sidebar .marca{padding:0 12px}.sidebar .sair{margin-top:0;margin-left:auto}.conteudo{padding:16px}table{display:block;overflow-x:auto}}
