/* Lo común de todas las páginas: colores del sistema, letra, formularios, botones, avisos y [hidden]. Va antes que
   styles.css (el espacio, la agencia y la administración) y es lo único que carga el inicio de sesión, con acceso.css. */
:root { color-scheme: light dark; font-family: system-ui, sans-serif; --brand: #12393d; accent-color: var(--brand); }
/* --brand: el color principal de la marca del sitio; /marca.css lo cambia (el de la agencia con marca blanca). */
body { margin: 0; padding: 2rem 1rem; border-top: 4px solid var(--brand); }
.brand { display: flex; gap: 0.6rem; align-items: center; }
.brand-logo { height: 2.25rem; width: auto; max-width: 10rem; object-fit: contain; }
/* En el inicio de sesión, el nombre solo si no hay logo (el logo ya lo lleva: su alt es el nombre). */
.brand-logo + .brand-name { display: none; }
/* Marca en el panel de agencia: vista previa, logo e ícono */
label.button { display: inline-block; margin: 0; padding: 0.5rem 1rem; border: 1px solid #8888; border-radius: 4px; cursor: pointer; }
label.button:focus-within { outline: 2px solid var(--brand); }
.brand-preview { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.75rem 1rem; border: 1px solid #8884; border-top: 4px solid var(--brand); border-radius: 6px; }
.brand-preview-chip { padding: 0.15rem 0.7rem; border-radius: 999px; background: var(--brand); color: #fff; }
.brand-images { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.brand-image { display: block; max-width: 100%; max-height: 5rem; object-fit: contain; padding: 0.5rem; border: 1px solid #8884; border-radius: 6px; }
main { max-width: 26rem; margin: 0 auto; }
label { display: block; margin: 0.75rem 0; }
input { display: block; width: 100%; box-sizing: border-box; padding: 0.5rem; margin-top: 0.25rem; font: inherit; }
button { padding: 0.5rem 1rem; font: inherit; cursor: pointer; }
#message { min-height: 1.5em; }
.error { color: #b3261e; }
code, pre { display: block; padding: 0.5rem; background: #8882; overflow-x: auto; }
main.wide { max-width: 52rem; }
header { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; max-width: 52rem; margin: 0 auto 1rem; }
nav { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
textarea, select { display: block; width: 100%; box-sizing: border-box; padding: 0.5rem; margin-top: 0.25rem; font: inherit; }
fieldset { margin: 1rem 0; border: 1px solid #8886; }
label.check { display: flex; gap: 0.5rem; align-items: center; }
label.check input { width: auto; margin: 0; }
table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
th, td { text-align: left; padding: 0.4rem; border-bottom: 1px solid #8884; }
button.link { background: none; border: none; padding: 0; color: LinkText; text-decoration: underline; }
.hint { font-size: 0.9em; opacity: 0.8; }
code.inline { display: inline; padding: 0 0.2rem; }
form.inline { display: flex; gap: 0.5rem; align-items: end; }
form.inline label { flex: 1; margin: 0; }
.actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
[hidden] { display: none !important; }
