:root{--fundo:#f4f6f9;--superficie:#fff;--texto:#1c2430;--suave:#5b6676;--marinho:#12365c;--linha:#d3dbe5;--erro:#a3261b;--erro-fundo:#fbe9e7;color:var(--texto);background:var(--fundo);font-family:system-ui,Segoe UI,Arial,sans-serif}body{margin:0}.pagina{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.cartao{background:var(--superficie);border:1px solid var(--linha);border-radius:10px;gap:16px;width:100%;max-width:400px;padding:28px 24px;display:grid}h1{color:var(--marinho);margin:0;font-size:22px}p{color:var(--suave);margin:0}label{gap:6px;font-size:14px;font-weight:600;display:grid}input{font:inherit;border:1px solid var(--linha);border-radius:6px;padding:10px 12px}button{font:inherit;border:1px solid var(--marinho);background:var(--marinho);color:#fff;cursor:pointer;border-radius:6px;padding:10px 14px;font-weight:600}button.secundario{color:var(--marinho);background:0 0}button:disabled{opacity:.6;cursor:wait}input:focus-visible,button:focus-visible{outline:2px solid var(--marinho);outline-offset:2px}.erro{background:var(--erro-fundo);color:var(--erro);border-radius:6px;padding:10px 12px;font-size:14px}.lista{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lista button{text-align:left;background:var(--superficie);width:100%;color:var(--texto);border-color:var(--linha)}.acoes{flex-wrap:wrap;gap:8px;display:flex}.formulario{gap:16px;display:grid}.caixa{align-items:flex-start;gap:10px;font-weight:500;display:flex}.caixa input{width:18px;height:18px;margin-top:3px}small{color:var(--suave);margin-top:2px;font-weight:400;display:block}.codigos{border:1px dashed var(--linha);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:0;padding:12px;font-family:ui-monospace,Consolas,monospace;list-style:none;display:grid}.coluna{gap:16px;width:100%;max-width:480px;display:grid}.coluna .cartao{max-width:none}h2{color:var(--marinho);margin:0;font-size:18px}h3{margin:8px 0 0;font-size:15px}a{color:var(--marinho)}.ok{color:#1d6b2f;background:#e3f3e6;border-radius:6px;padding:10px 12px;font-size:14px}.linha{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.caixa label{font-weight:500;display:inline}.tabela{border-collapse:collapse;width:100%;font-size:.9rem}.tabela th,.tabela td{text-align:right;border-bottom:1px solid #d5dbe3;padding:.4rem .5rem}.tabela th:first-child{text-align:left}
