/* Norma · tema de Ayuntamiento de Ejemplo (#1f5c99). Generado por «norma-doc tema»: no editar a mano.
   Se carga desde templates/custom/header.tmpl, así no depende de los nombres internos de los temas de Gitea. */

html:root {
  --color-primary: #1f5c99;
  --color-primary-contrast: #ffffff;
  --color-primary-dark-1: #1b5085;
  --color-primary-dark-2: #174471;
  --color-primary-dark-3: #13385d;
  --color-primary-dark-4: #0f2c49;
  --color-primary-dark-5: #0b2036;
  --color-primary-dark-6: #071422;
  --color-primary-dark-7: #03080e;
  --color-primary-light-1: #4a7bac;
  --color-primary-light-2: #7298bf;
  --color-primary-light-3: #9ab6d1;
  --color-primary-light-4: #c0d1e2;
  --color-primary-light-5: #dde6ef;
  --color-primary-light-6: #edf2f7;
  --color-primary-light-7: #f7f9fb;
  --color-primary-alpha-10: #1f5c991a;
  --color-primary-alpha-20: #1f5c9933;
  --color-primary-alpha-30: #1f5c994d;
  --color-primary-alpha-40: #1f5c9966;
  --color-primary-alpha-50: #1f5c9980;
  --color-primary-alpha-60: #1f5c9999;
  --color-primary-alpha-70: #1f5c99b3;
  --color-primary-alpha-80: #1f5c99cc;
  --color-primary-alpha-90: #1f5c99e6;
  --color-primary-hover: var(--color-primary-dark-1);
  --color-primary-active: var(--color-primary-dark-2);
}

/* Barra superior con filete del color de la institución */
#navbar { border-bottom: 3px solid var(--color-primary); }

/* Menú superior: con un enlace de texto «Inicio» en lugar del logotipo (que se oculta más abajo) */
#navbar-logo::after { content: "Inicio"; }

/* Zona de subir archivos: Gitea no traduce el texto de la biblioteca Dropzone («Drop files here to upload») */
.dropzone .dz-message .dz-button { font-size: 0 !important; }
.dropzone .dz-message .dz-button::after { content: "Arrastra aquí el archivo o haz clic para elegirlo"; font-size: 1rem !important; }

/* Repositorio: columna con el último mensaje de git de cada carpeta y archivo («Repositorio creado desde la
   plantilla…»). Se vacía en lugar de ocultarse: el listado es una rejilla de tres columnas y, sin la celda, las filas
   se descolocan (VACIAR, abajo) */
#repo-files-table .repo-file-cell.message { font-size: 0 !important; pointer-events: none; }


/* Repositorio sin barra lateral (OCULTAR): la rejilla de dos columnas pasa a una */
.repo-grid-filelist-sidebar { grid-template-columns: 100% !important; }

/* Página de un commit (lo que cambió una publicación): el menú «Operaciones» (rama, etiqueta, revertir, cherry-pick), el «…» que carga las ramas y etiquetas que lo contienen (una etiqueta por publicación), el padre y el identificador del commit, y la barra del diff (espacios en blanco, descargar parche, árbol de archivos): técnicos o sin uso en Norma. Quedan el título, la solicitud de la que viene, el autor, la fecha y el diff */
.commit-header-buttons > .ui.dropdown.tiny.button { display: none !important; }
.page-content.repository.diff:not(.pull) .load-branches-and-tags { display: none !important; }
.page-content.repository.diff:not(.pull) .branch-and-tag-detail { display: none !important; }
.page-content.repository.diff:not(.pull) .ui.attached.segment.flex-text-block > .flex-text-block { display: none !important; }
.page-content.repository.diff:not(.pull) .diff-detail-actions { display: none !important; }
.page-content.repository.diff:not(.pull) .diff-toggle-file-tree-button { display: none !important; }

/* Menú ⋯ de un comentario: «Copiar el texto fuente», «Citar en la respuesta», «Referenciar en un aviso nuevo» y «Bloquear»: técnicos o sin uso en Norma (queda «Copiar enlace» y, en los propios, editar y eliminar) */
.context-dropdown .menu [data-clipboard-target$="-raw"] { display: none !important; }
.context-dropdown .menu .quote-reply { display: none !important; }
.context-dropdown .menu .reference-issue { display: none !important; }
.context-dropdown .menu [data-modal="#block-user-modal"] { display: none !important; }
.context-dropdown .menu .divider { display: none !important; }

/* Comentarios del bot: sin «Editar» ni «Eliminar» (llevan marcas ocultas con las que el bot sabe qué PDF o qué estado actualizar; si se tocan, pierde la pista) */
.timeline-item.comment:has(.comment-header .inline-timeline-avatar[href$="/bot-documental"]) .context-dropdown .edit-content { display: none !important; }
.timeline-item.comment:has(.comment-header .inline-timeline-avatar[href$="/bot-documental"]) .context-dropdown .delete-comment { display: none !important; }

/* Logotipo de Gitea en el menú superior (se sustituye por «Inicio») */
#navbar-logo img { display: none !important; }

/* Enlace «Ayuda» a la documentación de Gitea, en inglés y para programadores (la de Norma es «Guía») */
a.item[href^="https://docs.gitea.com"] { display: none !important; }

/* Sin sesión, «Inicio» y «Explorar» del menú superior: la gestión exige identificarse y los dos llevan a «Iniciar sesión»; solo queda ese botón («Guía» e «Importar» ya salen solo con sesión: extra_links.tmpl, abajo) */
#navbar:not(:has([data-signed-in-username])) #navbar-logo { display: none !important; }
#navbar:not(:has([data-signed-in-username])) a.item[href$="/explore/repos"] { display: none !important; }
#navbar:not(:has([data-signed-in-username])) a.item[href$="/explore/organizations"] { display: none !important; }

/* Menú «+» (nuevo repositorio, nuevo departamento): los crea la administración de Norma */
#navbar .ui.dropdown:has(> .menu > a.item[href$="/repo/create"]) { display: none !important; }

/* Botón y contador de forks (no se pueden hacer: ALLOW_FORK_WITHOUT_MAXIMUM_LIMIT=false, pero Gitea los sigue mostrando) */
a[href$="/fork"] { display: none !important; }
a[href$="/forks"] { display: none !important; }

/* Pestaña «Acciones»: ejecuciones técnicas del bot (la administración entra por la dirección …/actions) */
.secondary-nav overflow-menu a.item[href$="/actions"] { display: none !important; }

/* Pestaña «Actividad»: estadísticas de código */
.secondary-nav overflow-menu a.item[href$="/activity"] { display: none !important; }

/* Botón de clonar el repositorio (HTTPS, editores de código) */
button[data-global-init="initRepoClonePanel"] { display: none !important; }

/* Cabeceras .yaml de documentos/ y repositorio.yaml en la lista de archivos y en el árbol: se abren con «Cambiar los datos» del aviso o en «Cambios» de la solicitud (los .yaml de datos/ sí se ven: se editan con el lápiz) */
#repo-files-table .repo-file-item:has(a.entry-name[href*="/documentos/"][href$=".yaml"]) { display: none !important; }
#repo-files-table .repo-file-item:has(a.entry-name[href$="/repositorio.yaml"]) { display: none !important; }
.view-file-tree-items a.tree-item[href*="/documentos/"][href$=".yaml"] { display: none !important; }
.view-file-tree-items a.tree-item[href$="/repositorio.yaml"] { display: none !important; }

/* Opciones de programador del editor (sangría, ajuste de línea, paleta de órdenes); se deja la búsqueda */
.code-editor-options .native-select { display: none !important; }
.code-editor-options .js-code-command-palette { display: none !important; }

/* Botón «Nueva solicitud de cambio» de la lista: compara ramas a mano. En Norma la solicitud nace al editar un documento («Crear una nueva rama… e iniciar una solicitud de cambio»), que sí usa la página de comparación */
a.issue-list-new[href*="/compare/"] { display: none !important; }

/* Pestaña y botón «Hitos» de avisos y solicitudes (los hitos no se usan y Gitea no permite desactivarlos) */
a[href$="/milestones"] { display: none !important; }

/* Pista «Comience el título con WIP» al crear la solicitud de cambio */
.title_wip_desc { display: none !important; }

/* Opciones técnicas del commit en el editor: «trailer firmado» y correo del commit */
.inline.field:has(> .ui.checkbox > input[name="signoff"]) { display: none !important; }
.field:has(select[name="commit_email"]) { display: none !important; }

/* Instrucciones de línea de órdenes en la caja de fusión de la solicitud */
.pull-merge-box .merge-section > .item:has(> details) { display: none !important; }

/* Opciones técnicas del menú ⋯ de cada archivo en «Cambios» (escapar unicode, copiar el nombre); quedan «Ver archivo» y «Editar archivo» */
.tippy-box .unescape-button { display: none !important; }
.tippy-box .escape-button { display: none !important; }
.tippy-box button.item[data-clipboard-text] { display: none !important; }

/* Selector «Ninguna rama/etiqueta especificada» al crear un aviso: no tiene sentido en un aviso */
.issue-content-right .ui.dropdown.select-branch.branch-selector-dropdown { display: none !important; }

/* Botón «Actualizar rama por fusión» y su aviso en la caja de fusión: el bot pone la rama al día él solo antes de publicar */
.pull-merge-box .merge-section > .item:has(.ui.buttons button.link-action[data-url*="/update"]) { display: none !important; }

/* Hito en la barra lateral de avisos y solicitudes (los hitos no se usan) */
.issue-content-right .issue-sidebar-combo:has(> input[name="milestone_id"]) { display: none !important; }
.issue-content-right .divider:has(+ .issue-sidebar-combo > input[name="milestone_id"]) { display: none !important; }

/* Fecha de vencimiento en la barra lateral */
.issue-content-right > .ui.form:has(input[name="deadline"]) { display: none !important; }
.issue-content-right > span.text:has(+ .ui.form input[name="deadline"]) { display: none !important; }
.issue-content-right > .divider:has(+ span.text + .ui.form input[name="deadline"]) { display: none !important; }

/* «¿Aún en curso? Añadir prefijo WIP»: en Norma una solicitud abierta ya está en revisión */
.issue-content-right [data-global-init="initPullRequestWipToggle"] { display: none !important; }

/* Referencia para copiar (owner/repo#n) y «Bloquear conversación» en la barra lateral */
.issue-content-right > .flex-text-block:has(> button[data-clipboard-text]) { display: none !important; }
.issue-content-right > .divider:has(+ .flex-text-block > button[data-clipboard-text]) { display: none !important; }
.issue-content-right button[data-modal="#lock-conversation"] { display: none !important; }

/* Ajustes de usuario sin uso en Norma: usuarios bloqueados, repositorios propios y Acciones (la administración entra por la dirección directa; los webhooks los quita DISABLE_WEBHOOKS). «Aplicaciones» se ve: ahí cada persona crea sus tokens de acceso, con sus propios permisos (p. ej. para que un asistente trabaje con su cuenta) */
a.item[href$="/user/settings/blocked_users"] { display: none !important; }
a.item[href$="/user/settings/repos"] { display: none !important; }
details.item:has(a.item[href$="/user/settings/actions/general"]) { display: none !important; }

/* Ajustes de apariencia: «Tipos de comentarios ocultos» (ocultaría en avisos y solicitudes lo que hace el bot, las etiquetas o las referencias, y la tramitación dejaría de entenderse) */
.user-setting-content .ui.attached.segment:has(> form[action$="/hidden_comments"]) { display: none !important; }
.user-setting-content h4.ui.top.attached.header:has(+ .ui.attached.segment > form[action$="/hidden_comments"]) { display: none !important; }

/* Selector de idioma del pie (solo hay español: LANGS=es-ES) */
footer .ui.dropdown:has(> .menu.language-menu) { display: none !important; }

/* Selector de tema del pie («Light»: el nombre del tema, que no se traduce): solo hay el tema claro, el que lleva los colores de la institución (THEMES=gitea-light) */
#footer-theme-selector { display: none !important; }

/* Botón «Seguir» de la página de un departamento (seguir una organización es una función social; el de cada repositorio se queda porque da las notificaciones) */
button[data-fetch-url$="?action=follow"] { display: none !important; }
button[data-fetch-url$="?action=unfollow"] { display: none !important; }

/* Botón «Anclar» de avisos y solicitudes (fijarlos arriba de la lista): no se usa */
.issue-content-right form.single-button-form:has(svg.octicon-pin) { display: none !important; }
.issue-content-right form.single-button-form:has(svg.octicon-pin-slash) { display: none !important; }

/* «Revisores» en la barra lateral de las solicitudes: la aprobación formal no es obligatoria (cuenta la firma) y quién aprueba lo dice «Lo siguiente». «Asignados» sí sale, en avisos y solicitudes: es como se encarga a alguien (le llega un correo y lo ve en «Asignados a ti») */
.issue-content-right .issue-sidebar-combo:has(> input[name="reviewer_ids"]) { display: none !important; }

/* Solicitud: el detalle de las comprobaciones del bot (nombres técnicos de los flujos, «Successful in 2s», «Obligatorio», «Detalles»); queda la frase de si la comprobación está en verde */
.commit-status-list { display: none !important; }
.commit-status-toggle .btn { display: none !important; }

/* Solicitud: entradas «solicitud de revisión» de la conversación (Gitea se la pide a los propietarios, CODEOWNERS) y aprobaciones descartadas por un cambio posterior */
.timeline-item.event:has(> .badge > svg.octicon-eye) { display: none !important; }
.timeline-item.event:has(> .comment-text-line > .ui.small.label) { display: none !important; }

/* Solicitud: líneas añadidas y quitadas (+28 ▮▮▮) junto a las pestañas */
.ui.pull.tabular.menu > .flex-text-block.tw-ml-auto { display: none !important; }

/* Listas de avisos y solicitudes: ramas «vigente « rama» de cada solicitud y filtros Hito y Proyecto (no se usan; quedan Etiqueta, Autor, Asignada a, Tipo y Ordenar) */
.issue-list .branches { display: none !important; }
.ui.dropdown.jump.project-filter { display: none !important; }
.ui.dropdown.jump:has(.menu a[href*="milestone="]) { display: none !important; }

/* Explorar (y listas de repositorios de un departamento): la columna derecha de cada fila (lenguaje «Markdown», contador de solicitudes) */
.flex-divided-list.items-with-main > .item .item-trailing.muted-links { display: none !important; }

/* Aviso «Nueva solicitud de cambio» de la página de comparación (el formulario ya está desplegado) y selector de ramas (las fija el editor); en el editor, la opción deshabilitada de commit directo con su explicación y el nombre técnico de la rama nueva (lo pone Gitea) */
.repository.compare.pull .pullrequest-form-toggle:has(+ .pullrequest-form.tw-hidden) { display: none !important; }
.repository.compare.pull .ui.container:has(.pullrequest-form) > .ui.segment.choose.branch { display: none !important; }
.quick-pull-choice > .field:has(> .ui.radio.checkbox.disabled > input[name="commit_choice"][value="direct"]) { display: none !important; }
.quick-pull-choice .quick-pull-branch-name { display: none !important; }

/* Inicio: la lista de repositorios y departamentos (la misma que «Explorar»): Inicio queda con lo de cada persona */
#dashboard-repo-list { display: none !important; }

/* Tablero de proyectos: la pestaña del departamento, el recuadro de la solicitud y las entradas «la puso en el tablero» (los proyectos de los repositorios los quita DISABLED_REPO_UNITS; el estado ya lo dicen la lista y las etiquetas) */
a.item[href$="/-/projects"] { display: none !important; }
.issue-content-right .sidebar-project-combo { display: none !important; }
.issue-content-right .divider:has(+ .sidebar-project-combo) { display: none !important; }
.timeline-item.event:has(> .badge > svg.octicon-project) { display: none !important; }

/* Inicio sin actividad: enlace «Explorar usuarios» (la página está desactivada) y su separador «·» */
a[href$="/explore/users"] { display: none !important; }
a[href$="/explore/repos"] + span { display: none !important; }

/* Menú de la cuenta: «Suscripciones» (avisos que se siguen; Gitea ya avisa de lo que toca a cada persona) */
#navbar a.item[href$="/notifications/subscriptions"] { display: none !important; }

/* Icono de código (<>) de la pestaña del repositorio, que en Norma se llama «Documentos» */
.secondary-nav overflow-menu a.item > svg.octicon-code { display: none !important; }

/* Repositorio: botón «Seguir» (los avisos llegan solos a quien participa) */
#repo-header-watch { display: none !important; }

/* Repositorio: pestaña y recuadro «Publicaciones» (los ZIP que crea el bot; lo publicado se consulta en la web) */
.secondary-nav overflow-menu a.item[href$="/releases"] { display: none !important; }
.repo-home-sidebar-bottom > .divider:has(+ .repo-home-sidebar-header a[href$="/releases"]) { display: none !important; }
.repo-home-sidebar-bottom > .repo-home-sidebar-header:has(a[href$="/releases"]) { display: none !important; }
.repo-home-sidebar-bottom > .repo-home-sidebar-header:has(a[href$="/releases"]) + div { display: none !important; }

/* Repositorio: barra de commits, ramas y etiquetas, y fila del último commit (detalles técnicos de git) */
.repository-summary { display: none !important; }
#repo-files-table .repo-file-last-commit { display: none !important; }
#repo-file-commit-box { display: none !important; }

/* Repositorio: selector de rama, comparar, «Añadir archivo» y menú ⋯ de carpeta (los documentos se proponen con el lápiz o con «Importar»; se queda «Ir al archivo») */
.repo-button-row .branch-selector-dropdown { display: none !important; }
#new-pull-request { display: none !important; }
.repo-button-row .repo-add-file { display: none !important; }
.repo-button-row-right button:has(> svg.octicon-kebab-horizontal) { display: none !important; }

/* Repositorio: carpeta técnica .gitea (el flujo del bot) y archivos .gitattributes y .gitignore en la lista y en el árbol */
#repo-files-table .repo-file-item:has(a.entry-name[title^=".git"]) { display: none !important; }
.view-file-tree-items a.tree-item[title^=".git"] { display: none !important; }

/* Barra lateral del repositorio: buscar en el código (desactivado), tamaño y seguidores */
.repo-home-sidebar-top > form[action$="/search"] { display: none !important; }
.repo-home-sidebar-top .flex-text-block:has(> svg.octicon-database) { display: none !important; }
.repo-home-sidebar-top a[href$="/watchers"] { display: none !important; }

/* Documento: tamaño, ver el código fuente, «Original», «Enlace permanente», «Blame», descargar, copiar y borrar (se quedan «Histórico» y el lápiz; un documento se deroga, no se borra) */
.file-header-left .file-info { display: none !important; }
.file-header-right .file-view-toggle-buttons { display: none !important; }
.file-header-right a.ui.mini.basic.button:not([href*="/commits/"]) { display: none !important; }
.file-header-right a.btn-octicon[download] { display: none !important; }
.file-header-right a.btn-octicon[data-global-click="onCopyContentButtonClick"] { display: none !important; }
.file-header-right a.btn-octicon-danger[href*="/_delete/"] { display: none !important; }

/* Listas de avisos y solicitudes: casillas de selección múltiple y botón «Etiquetas» (las gestiona la administración) */
.issue-checkbox { display: none !important; }
.issue-checkbox-all { display: none !important; }
a.ui.small.button[href$="/labels"] { display: none !important; }

/* Solicitud de cambio: entradas «añadió N commits» de la conversación y botón de copiar la rama (la pestaña «Commits» se deja a la vista: ahí se ve quién guardó cada cambio y cuándo) */
.timeline-item.event:has(> .badge > svg.octicon-repo-push) { display: none !important; }
.timeline-item.commits-list { display: none !important; }
#pull-desc-display button[data-clipboard-text] { display: none !important; }

/* Barra del editor de comentarios: se quedan negrita, cursiva, enlace, listas, casillas y mención (fuera títulos, tachado, cita, código, tabla, referencias, letra monoespaciada y editor antiguo) */
markdown-toolbar md-header { display: none !important; }
markdown-toolbar md-strikethrough { display: none !important; }
markdown-toolbar md-quote { display: none !important; }
markdown-toolbar md-code { display: none !important; }
markdown-toolbar .markdown-button-table-add { display: none !important; }
markdown-toolbar md-ref { display: none !important; }
markdown-toolbar .markdown-switch-monospace { display: none !important; }
markdown-toolbar .markdown-switch-easymde { display: none !important; }
markdown-toolbar .markdown-toolbar-group:has(> md-header) { display: none !important; }

/* Ajustes, perfil: biografía, página web, localización y privacidad (la cuenta es de la institución) */
.field:has(> textarea#description) { display: none !important; }
.field:has(> input#website) { display: none !important; }
.field:has(> input#location) { display: none !important; }
#privacy-user-settings { display: none !important; }
.field:has(input#visibility) { display: none !important; }
.field:has(input[name="keep_email_private"]) { display: none !important; }
.field:has(input[name="keep_activity_private"]) { display: none !important; }

/* Ajustes: «Registro de actividad» y «Departamentos» (la pertenencia la gestiona la administración) */
a.item[href$="/user/settings/audit_logs"] { display: none !important; }
a.item[href$="/user/settings/organization"] { display: none !important; }

/* Etiquetas que no son de Norma: las del departamento (comunes a todos sus repositorios; Norma las pone por repositorio), la protección de etiquetas de versión de git del repositorio (la traducción usa la misma palabra) y los juegos predefinidos de Gitea en inglés (bug, enhancement…) de la página de etiquetas */
a.item[href$="/settings/labels"] { display: none !important; }
a.item[href$="/settings/tags"] { display: none !important; }
.ui.centered.grid:has(form[action$="/initialize"]) { display: none !important; }

/* Barra lateral del repositorio entera: lo que quedaba (la descripción y el enlace al Léame) ya está en el README; sin ella, los documentos ocupan todo el ancho (la rejilla pasa a una columna, en css()) */
.repo-grid-filelist-sidebar > .repo-home-sidebar-top { display: none !important; }
.repo-grid-filelist-sidebar > .repo-home-sidebar-bottom { display: none !important; }

/* Configuración del repositorio y del departamento: «Claves de implementación» (accesos de programas a un solo repositorio; para eso están los tokens personales) y el bloque «Acciones» (el motor del bot: interruptor, nodos, secretos y variables): los gestiona la plataforma y tocarlos deja el repositorio sin comprobar ni publicar */
a.item[href$="/settings/keys"] { display: none !important; }
details.item:has(a.item[href$="/settings/actions/secrets"]) { display: none !important; }

/* Formulario de la solicitud desplegado nada más llegar desde el editor */
.repository.compare.pull .pullrequest-form.tw-hidden { display: block !important; }

/* Página de etiquetas: «Nueva etiqueta», editar y borrar */
body:not(.norma-owners) .page-content.repository.labels .new-label.button { display: none !important; }
body:not(.norma-owners) .issue-label-list .edit-label-button { display: none !important; }
body:not(.norma-owners) .issue-label-list a.link-action.negative[data-url*="/delete?id="] { display: none !important; }

/* Barra lateral de avisos y solicitudes: el engranaje del selector de etiquetas */
body:not(.norma-owners) .issue-sidebar-combo:has(> input[name="label_ids"]) > .ui.dropdown .octicon-gear { display: none !important; }

/* Barra lateral de avisos y solicitudes: el selector de etiquetas no se abre (el título y las puestas se ven) */
body:not(.norma-owners) .issue-sidebar-combo:has(> input[name="label_ids"]) > .ui.dropdown { pointer-events: none !important; }
