/*
 * Sistema tipográfico único do Portal CRF-RO.
 * Aplicado às telas web; documentos PDF preservam suas fontes documentais.
 */
:root {
    --portal-font-sans: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --portal-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    --portal-text-xs: .75rem;
    --portal-text-sm: .875rem;
    --portal-text-base: 1rem;
    --portal-text-lg: 1.125rem;
    --portal-text-xl: 1.375rem;
    --portal-text-2xl: 1.75rem;
    --portal-text-3xl: clamp(2rem, 3vw, 2.5rem);
}

html { font-size: 16px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body,
button,
input,
select,
textarea {
    font-family: var(--portal-font-sans) !important;
}

/* Fontes legadas locais também seguem o padrão global. */
body * {
    font-family: var(--portal-font-sans) !important;
}

button,
input,
select,
textarea { font: inherit; }

body {
    font-size: var(--portal-text-base);
    line-height: 1.5;
    letter-spacing: 0;
}

h1, h2, h3, h4, h5, h6,
p, ul, ol, dl { margin-top: 0; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--portal-font-sans) !important;
    font-weight: 750;
    letter-spacing: -.02em;
    line-height: 1.2;
}

h1 { font-size: var(--portal-text-3xl) !important; }
h2 { font-size: var(--portal-text-2xl) !important; }
h3 { font-size: var(--portal-text-xl) !important; }
h4, h5, h6 { font-size: var(--portal-text-lg) !important; }

label,
body * {
    font-family: var(--portal-font-sans) !important;
}

button,
input,
select,
textarea { font-size: var(--portal-text-sm) !important; }

small,
.hint,
.help-text { font-size: var(--portal-text-xs) !important; line-height: 1.45; }

/* Cursor: textos podem ser copiados sem exibir o cursor de digitação. */
body,
body * { cursor: default !important; }
/* Ações preservam o cursor de clique. */
body :is(a, button, [role="button"], summary, select, input[type="checkbox"], input[type="radio"], input[type="submit"], input[type="button"], input[type="file"]) { cursor: pointer !important; }
/* Somente campos que aceitam digitação mostram o cursor de texto. */
body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]), textarea, [contenteditable="true"]) { cursor: text !important; }
body :is(button, a, input, select, textarea):disabled { cursor: not-allowed; }

/* Textos do portal podem ser selecionados e copiados normalmente. */
body {
    -webkit-user-select: text;
    user-select: text;
}
/* Apenas controles de ação não devem ser selecionados durante o clique. */
body :is(button, a, input[type="checkbox"], input[type="radio"], input[type="submit"], input[type="button"], input[type="file"], select) {
    -webkit-user-select: none;
    user-select: none;
}

/* Utilitários sem style inline para compatibilidade com CSP estrita. */
.portal-u-mt-12{margin-top:12px!important}.portal-u-mt-16{margin-top:16px!important}.portal-u-mt-18{margin-top:18px!important}.portal-u-mb-16{margin-bottom:16px!important}.portal-u-mb-18{margin-bottom:18px!important}.portal-u-mb-0{margin-bottom:0!important}.portal-visually-hidden{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.portal-inline-download-form{display:inline-block;margin-left:8px}.portal-checkbox-auto{width:auto!important}.portal-remove-attachment{width:44px;height:44px;border:0;border-radius:8px;background:#c62828;color:#fff;font-weight:800;cursor:pointer}.portal-result-accent{border-left:4px solid #174f9a}.portal-notice-danger{border-left-color:#b42318!important;background:#fef3f2!important;color:#912018!important}.portal-notice-error{border-left-color:var(--erro)!important;color:var(--erro)!important;margin-bottom:18px!important}
.portal-registration-summary{padding:14px;border:1px solid #d8dee6;border-radius:6px;background:#f8fbff;margin-bottom:18px;overflow-wrap:anywhere}.portal-registration-summary-label{margin-bottom:10px!important}.portal-registration-summary-content{font-size:14px;line-height:1.6}.portal-actions-start{margin:0 0 24px!important;justify-content:flex-start!important}.portal-auth-subtitle-tight{margin-top:-8px!important}.portal-auth-hint{margin:8px 0 0!important}
/* Utilitários administrativos para CSP sem atributos style. */
.portal-u-mt-0{margin-top:0!important}.portal-u-mt-6{margin-top:6px!important}.portal-u-mt-7{margin-top:7px!important}.portal-u-mt-14{margin-top:14px!important}.portal-u-mt-20{margin-top:20px!important}.portal-u-mt-24{margin-top:24px!important}.portal-u-mb-6{margin-bottom:6px!important}.portal-u-mb-8{margin-bottom:8px!important}.portal-u-mb-10{margin-bottom:10px!important}.portal-u-mb-14{margin-bottom:14px!important}.portal-u-mb-20{margin-bottom:20px!important}.portal-block{display:block!important}.portal-inline{display:inline!important}.portal-overflow-x{overflow-x:auto}.portal-form-card-620{max-width:620px}.portal-text-muted{color:#4b5b73!important}.portal-link-inherit{color:inherit!important;font-weight:700}.portal-card-min-120{min-height:120px!important}.portal-admin-grid-preview{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr)!important}.portal-push-preview{max-width:430px;border:1px solid var(--borda);border-radius:14px;padding:16px;background:#f5f7fa}.portal-line-18{line-height:1.8}.portal-button-full{width:100%!important}.portal-button-delete{width:100%!important;background:#fff!important;color:#a51e1e!important;border-color:#e6b8b8!important}.portal-button-warning{width:100%!important;background:#fff7e8!important;color:#815000!important;border-color:#e7c98f!important}.portal-security-actions{display:flex;gap:12px;margin-top:24px;align-items:center;flex-wrap:wrap}.portal-form-actions{display:flex;gap:12px;margin-top:24px;align-items:center}.portal-button-primary{background:#174f95!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:13px 20px!important;font-weight:700!important;cursor:pointer}.portal-button-secondary-link{background:#fff!important;color:#174f95!important;border:1px solid #cfd9e6!important;border-radius:8px!important;padding:12px 18px!important;font-weight:700!important;text-decoration:none}.portal-preview-center{display:flex;justify-content:center;margin-bottom:14px}.portal-popup-image{width:min(320px,100%);aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid #d2dce8;background:#f8fbff}.portal-form-wide{padding:24px!important;max-width:900px}.portal-hidden{display:none!important}.portal-form-link{display:inline-flex;align-items:center;gap:9px;max-width:100%;padding:11px 15px;border:1px solid rgba(23,79,154,.18);border-radius:8px;background:linear-gradient(135deg,#174f9a,#0b3d7a);color:#fff;font-size:14px;font-weight:700;line-height:1.3;text-decoration:none;box-shadow:0 8px 18px rgba(23,79,154,.18)}.portal-form-link-icon{flex:0 0 auto}
