/* Utilidades compartidas. Mantener separadas de los estilos de cada página. */

.text-center { text-align: center; }
.text-right { text-align: right; }
.hidden,
.d-none { display: none !important; }
.flex-1 { flex: 1; }
.m-0 { margin: 0; }
.mb-0 { margin-bottom: 0 !important; }
.mt-16 { margin-top: 16px; }
.fw-600 { font-weight: 600; }
.icon-14 { width: 14px; height: 14px; vertical-align: middle; }
.icon-16 { width: 16px; height: 16px; vertical-align: middle; }
.icon-18 { width: 18px; height: 18px; vertical-align: middle; }
.mt-24 { margin-top: 24px; }
.mb-10 { margin-bottom: 10px; }
.mb-12 { margin-bottom: 12px; }
.cursor-help { cursor: help; }
.w-100 { width: 100%; }
.p-20 { padding: 20px; }
.col-span-2 { grid-column: span 2; }
.flex-col { display: flex; flex-direction: column; }
.h-100 { height: 100%; }
.min-h-250 { min-height: 250px; }
.flex-center-6 { display: flex; align-items: center; gap: 6px; }
.flex-between-center { display: flex; justify-content: space-between; align-items: center; }
.flex-end-center { display: flex; justify-content: flex-end; align-items: center; }
.gap-10 { gap: 10px; }
.max-w-800 { max-width: 800px; }
.label-hint { font-weight: normal; color: var(--text-secondary); font-size: 12px; }
.text-main { color: var(--text-main); }
.ml-auto { margin-left: auto; }
.flex-gap-6 { gap: 6px; }
.icon-12 { width: 12px; height: 12px; vertical-align: middle; }
.icon-20 { width: 20px; height: 20px; vertical-align: middle; }
.flex-align-center { display: flex; align-items: center; }
