body {
    margin: 0;
}

/* Raio único para campos, inclusive selects, numéricos, datas e diálogos. */
:root { --gc-input-border-radius: 10px; }
.mud-input.mud-input-outlined,
.mud-input-outlined-border,
.mud-input.mud-input-filled {
    border-radius: var(--gc-input-border-radius);
}

/* Relatórios da tela (ex.: Fretes de Terceiros): na impressão, só a área marcada aparece -- menu,
   barra superior e o restante da página ficam de fora. */
@media print {
    body * { visibility: hidden; }
    .area-impressao, .area-impressao * { visibility: visible; }
    .area-impressao {
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        max-height: none !important;
        overflow: visible !important;
        box-shadow: none !important;
    }
    .nao-imprimir { display: none !important; }
}

/* Login e telas do segundo fator (/login, /login/2fa, /login/2fa-configurar). */
.gc-login { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 16px; box-sizing: border-box; background: #f4f6f8; }
.gc-login-card { width: 100%; max-width: 340px; padding: 32px; box-sizing: border-box; background: #fff; border-radius: 8px; box-shadow: 0 2px 12px rgba(0,0,0,.1); }
.gc-login-card.gc-login-card-largo { max-width: 460px; }
.gc-login-card h1 { margin: 0; font-size: 1.4rem; }
.gc-login-subtitulo { margin: 0 0 24px; color: #666; }
.gc-login-texto { margin: 0 0 16px; color: #444; font-size: .9rem; line-height: 1.5; }
.gc-login-campo { margin-bottom: 16px; display: flex; flex-direction: column; gap: 4px; }
.gc-login-campo label { font-size: .85rem; color: #444; }
.gc-login-campo input { padding: 8px 10px; border: 1px solid #ccc; border-radius: var(--gc-input-border-radius); font-size: 1rem; }
.gc-login-campo input.gc-login-codigo { font-size: 1.4rem; letter-spacing: .3em; text-align: center; font-variant-numeric: tabular-nums; }
.gc-login-botao { width: 100%; padding: 10px; background: #1565c0; color: #fff; border: none; border-radius: 4px; font-size: 1rem; cursor: pointer; }
.gc-login-botao:hover { background: #0d47a1; }
.gc-login-link { display: block; margin-top: 16px; text-align: center; font-size: .85rem; color: #1565c0; }
.gc-login-qr { display: block; width: 220px; height: 220px; margin: 8px auto 16px; image-rendering: pixelated; }
.gc-login-chave { margin: 0 0 20px; padding: 8px 10px; background: #f4f6f8; border-radius: 4px; font-family: Consolas, monospace; font-size: .95rem; letter-spacing: .08em; word-break: break-all; text-align: center; }
.gc-login-passos { margin: 0 0 16px; padding-left: 20px; color: #444; font-size: .9rem; line-height: 1.6; }

/* Relatórios centrais (/relatorios): pré-visualização do PDF em tela cheia. */
.gc-preview-conteudo { padding: 0 !important; height: calc(100vh - 72px); }
.gc-preview-pdf { display: block; width: 100%; height: 100%; border: 0; }