/* ALER Concursal — estilos de la aplicación independiente */
:root {
	--azul: #1f4e79; --azul-2: #2a6496; --texto: #1d2327; --suave: #50575e; --borde: #dcdcde;
	--fondo: #f3f4f6; --blanco: #fff; --rojo: #b32d2e; --verde: #00703c; --ambar: #dba617;
}
* { box-sizing: border-box; }
body { margin: 0; font: 14px/1.5 -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: var(--texto); background: var(--fondo); }
a { color: var(--azul-2); }
h1 { font-size: 23px; font-weight: 600; margin: 8px 0 14px; }
h2 { font-size: 17px; margin: 22px 0 10px; color: var(--azul); }
h3 { font-size: 14px; }

.ac-top { display: flex; align-items: center; gap: 24px; background: var(--azul); color: #fff; padding: 0 24px; height: 52px; position: sticky; top: 0; z-index: 10; }
.ac-brand { color: #fff; font-weight: 700; text-decoration: none; font-size: 17px; letter-spacing: .3px; }
.ac-brand span { font-weight: 400; opacity: .85; }
.ac-top nav { display: flex; gap: 4px; flex: 1; }
.ac-top nav a { color: #dbe6f1; text-decoration: none; padding: 6px 12px; border-radius: 4px; }
.ac-top nav a.on, .ac-top nav a:hover { background: rgba(255,255,255,.15); color: #fff; }
.ac-user { font-size: 13px; color: #dbe6f1; }
.ac-user a { color: #fff; }
.wrap { max-width: 1400px; margin: 0 auto; padding: 20px 24px 40px; }
.ac-foot { text-align: center; color: var(--suave); font-size: 12px; padding: 16px; }
.ac-head { display: flex; align-items: center; gap: 16px; }
.ac-head h1 { margin-right: auto; }

.button { display: inline-block; border: 1px solid var(--azul-2); background: #f6f7f7; color: var(--azul-2); border-radius: 4px; padding: 5px 12px; font: inherit; cursor: pointer; text-decoration: none; line-height: 1.6; }
.button:hover { background: #f0f6fc; }
.button-primary { background: var(--azul); border-color: var(--azul); color: #fff; }
.button-primary:hover { background: var(--azul-2); color: #fff; }
.button-large { padding: 8px 18px; font-size: 15px; }
.button-link { background: none; border: 0; padding: 0; color: var(--azul-2); cursor: pointer; font: inherit; text-decoration: underline; }
.ac-danger, .button-link.ac-danger { color: var(--rojo); }

input[type=text], input[type=password], input[type=search], input:not([type]), select, textarea { font: inherit; border: 1px solid #8c8f94; border-radius: 4px; padding: 5px 8px; background: #fff; }
input:focus, select:focus, textarea:focus { outline: 2px solid #72aee6; border-color: var(--azul-2); }
.regular-text { width: 25em; max-width: 100%; }
.large-text { width: 100%; }
.description { color: var(--suave); font-size: 13px; }

.widefat { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--borde); }
.widefat th, .widefat td { padding: 8px 10px; text-align: left; border-bottom: 1px solid #f0f0f1; vertical-align: top; }
.widefat thead th { background: #f6f7f7; font-weight: 600; border-bottom: 1px solid var(--borde); }
.striped > tbody > tr:nth-child(odd) { background: #f9f9f9; }
.form-table { width: 100%; border-collapse: collapse; }
.form-table th { width: 280px; text-align: left; padding: 12px 10px 12px 0; vertical-align: top; font-weight: 600; }
.form-table td { padding: 8px 10px; }

.nav-tab-wrapper { display: flex; flex-wrap: wrap; gap: 2px; border-bottom: 1px solid #c3c4c7; margin-top: 10px; }
.nav-tab { padding: 8px 14px; background: #e5e7ea; border: 1px solid #c3c4c7; border-bottom: 0; text-decoration: none; color: var(--texto); border-radius: 4px 4px 0 0; font-weight: 600; font-size: 13px; }
.nav-tab-active { background: #fff; position: relative; top: 1px; }
.ac-tab { background: #fff; border: 1px solid #c3c4c7; border-top: 0; padding: 8px 20px 20px; }
.ac-savebar { position: sticky; bottom: 0; background: #fff; padding: 10px 0; border-top: 1px solid var(--borde); margin: 20px 0 0; }

.notice { border-left: 4px solid var(--azul-2); background: #fff; padding: 2px 14px; margin: 10px 0; box-shadow: 0 1px 1px rgba(0,0,0,.04); }
.notice-success { border-color: #00a32a; }
.notice-error { border-color: #d63638; }
.notice-warning { border-color: var(--ambar); }

.ac-box { max-width: 520px; margin: 40px auto; background: #fff; border: 1px solid var(--borde); border-radius: 8px; padding: 24px 28px; }
.ac-login label { display: block; margin: 0 0 12px; font-weight: 600; }
.ac-login input, .ac-login select { display: block; width: 100%; margin-top: 4px; padding: 8px 10px; font-weight: 400; }
.ac-login-wide { max-width: 520px; background: #fff; border: 1px solid var(--borde); padding: 16px 20px; border-radius: 6px; }
.ac-checks { list-style: none; padding: 0; }
.ac-checks li.ok { color: var(--verde); }
.ac-checks li.ko { color: var(--rojo); }
.ac-actions form, .ac-inline { display: inline; }
.ac-inline input { width: 160px; }
.ac-nif { font-size: 14px; color: var(--suave); font-weight: 400; margin-left: 8px; }

.ac-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 16px 0 20px; }
.ac-kpi { border: 1px solid var(--borde); border-radius: 6px; padding: 12px 14px; background: #f6f7f7; }
.ac-kpi span { display: block; color: var(--suave); font-size: 12px; }
.ac-kpi strong { font-size: 18px; font-variant-numeric: tabular-nums; }
.ac-kpi.neg strong { color: var(--rojo); }
.ac-kpi.pos strong { color: var(--verde); }
.ac-cols { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; }
@media (max-width: 1100px) { .ac-cols { grid-template-columns: 1fr; } }
td.num, th.num { text-align: right !important; font-variant-numeric: tabular-nums; white-space: nowrap; }

.ac-hallazgos { margin: 0; padding: 0; list-style: none; }
.ac-hallazgos li { border-left: 4px solid #8c8f94; background: #f6f7f7; padding: 8px 12px; margin-bottom: 8px; }
.ac-hallazgos li strong { display: block; margin-bottom: 2px; }
.ac-hallazgos li em { color: var(--suave); }
.ac-hallazgos li.ac-alerta { border-color: #d63638; background: #fcf0f1; }
.ac-hallazgos li.ac-aviso { border-color: var(--ambar); background: #fcf9e8; }
.ac-hallazgos li.ac-info { border-color: #2271b1; background: #f0f6fc; }
.ac-hallazgos li.ac-ok { border-color: #00a32a; background: #edfaef; }

.ac-grid-wrap { overflow-x: auto; margin-bottom: 8px; }
.ac-grid { min-width: 900px; }
.ac-grid th { font-size: 12px; white-space: nowrap; }
.ac-grid td { padding: 3px 4px; }
.ac-grid input[type=text] { width: 100%; min-width: 90px; padding: 4px 6px; }
.ac-grid td:first-child input[type=text] { min-width: 220px; }
.ac-grid input[type=text]:focus { position: relative; z-index: 2; }
.ac-grid input.num { text-align: right; min-width: 85px; }
.ac-grid select { max-width: 170px; padding: 4px; }
.ac-grid .ac-del { color: var(--rojo); font-size: 18px; line-height: 1; text-decoration: none; }
.ac-grid .ac-calc { font-size: 11px; color: var(--suave); min-width: 170px; }

.ac-aviso { background: #fcf9e8; border-left: 4px solid var(--ambar); padding: 8px 12px; }
.ac-lib-sec { margin-bottom: 18px; }
details.ac-lib { background: #fff; border: 1px solid var(--borde); border-radius: 4px; padding: 8px 12px; margin-bottom: 6px; max-width: 980px; }
details.ac-lib summary { cursor: pointer; font-weight: 600; }
details.ac-lib p { margin: 8px 0 0; line-height: 1.55; }
.ac-check { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 8px 24px; }
.ac-check h3 { margin-bottom: 4px; }
.ac-check ul { margin-top: 0; }
.ac-docs td { vertical-align: middle; }

@media (max-width: 760px) {
	.ac-top { flex-wrap: wrap; height: auto; padding: 8px 16px; gap: 8px; }
	.wrap { padding: 16px; }
	.form-table th, .form-table td { display: block; width: 100%; padding: 6px 0; }
}

/* Documentación y propuestas */
.ac-upload select { max-width: 100%; }
.ac-inline-fields label { margin-right: 18px; display: inline-block; }
.ac-ayuda li { margin-bottom: 6px; line-height: 1.45; }
.ac-docs-list td { vertical-align: top; }
.ac-estado.ac-error { color: var(--rojo); }
.ac-estado.ac-propuesta { color: #8a6100; font-weight: 600; }
.ac-estado.ac-incorporado { color: #00703c; }
.ac-prop h3 { margin: 22px 0 6px; display: flex; align-items: center; gap: 12px; }
.ac-prop h3 .ac-all { font-size: 12px; font-weight: 400; }
.ac-prop-t td { vertical-align: top; padding: 7px 8px; }
.ac-prop-t td.ac-cb { width: 26px; }
.ac-tag { display: inline-block; font-size: 11px; font-weight: 600; padding: 1px 7px; border-radius: 10px; background: #e7eef6; color: #1d3f63; margin-right: 4px; }
.ac-tag.nuevo { background: #e6f4ea; color: #146c2e; }
.ac-tag.act { background: #fff4d6; color: #7a5300; }
.ac-diff { margin: 4px 0 0; padding-left: 18px; font-size: 13px; }
div.ac-diff { padding-left: 0; white-space: pre-wrap; }
.ac-diff del { color: #9b1c1c; background: #fdeaea; text-decoration: line-through; }
.ac-diff ins { color: #146c2e; background: #e9f7ee; text-decoration: none; }
.ac-nota { font-size: 12px; color: #7a5300; margin-top: 4px; }
.ac-redactar { background: #f6f7f7; border: 1px solid #dcdcde; padding: 10px 12px; border-radius: 4px; }
