/* ============================================================================
 * INCIDENCIAS — estilos del formulario público (pages/incidencias.html) y del
 * gestor de la intranet (intranet/incidencias.html).
 * ========================================================================== */

:root {
    --inc-primary: #0066CC;
    --inc-primary-dark: #004C99;
    --inc-text: #0F172A;
    --inc-muted: #64748B;
    --inc-border: #E2E8F0;
    --inc-soft: #F1F5F9;
    --inc-card: #FFFFFF;
    --inc-cyan: #0E7490;
    --inc-cyan-bg: #ECFEFF;
    --inc-amber: #B45309;
    --inc-amber-bg: #FFFBEB;
    --inc-red: #B91C1C;
    --inc-red-bg: #FEF2F2;
    --inc-green: #15803D;
    --inc-green-bg: #F0FDF4;
    --inc-orange: #F59E0B;
}

/* El atributo hidden siempre gana a los display de las clases del módulo */
[hidden] { display: none !important; }

/* Encabezados que reciben el foco por programa: sin anillo y sin quedar bajo la cabecera fija */
[tabindex="-1"]:focus { outline: none; }
#incApp h2, #incApp .inc-code { scroll-margin-top: 170px; }

/* ─── Botones ──────────────────────────────────────────────────────────── */
.inc-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 10px 18px; border-radius: 10px; border: 1px solid transparent;
    font: inherit; font-size: 0.9rem; font-weight: 700; line-height: 1.2;
    cursor: pointer; text-decoration: none; white-space: nowrap;
    transition: background .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease;
}
.inc-btn .material-symbols-outlined { font-size: 19px; }
.inc-btn-primary { background: var(--inc-primary); color: #fff; }
.inc-btn-primary:hover:not(:disabled) { background: var(--inc-primary-dark); }
.inc-btn-ghost { background: var(--inc-card); color: var(--inc-text); border-color: var(--inc-border); }
.inc-btn-ghost:hover:not(:disabled) { background: var(--inc-soft); border-color: #CBD5E1; }
.inc-btn-danger { background: #DC2626; color: #fff; }
.inc-btn-danger:hover:not(:disabled) { background: #B91C1C; }
.inc-btn-danger-ghost { background: var(--inc-card); color: var(--inc-red); border-color: #FCA5A5; }
.inc-btn-danger-ghost:hover:not(:disabled) { background: var(--inc-red-bg); }
.inc-btn-sm { padding: 6px 12px; font-size: 0.8rem; border-radius: 8px; }
.inc-btn:disabled { opacity: .55; cursor: not-allowed; }
.inc-btn:focus-visible, .inc-link-btn:focus-visible { outline: 3px solid #F7B500; outline-offset: 2px; }
.inc-link-btn {
    background: none; border: 0; padding: 0; font: inherit; font-size: 0.85rem;
    color: var(--inc-primary); text-decoration: underline; cursor: pointer;
}
.inc-link-btn:disabled { color: var(--inc-muted); text-decoration: none; cursor: default; }

/* ─── Avisos ───────────────────────────────────────────────────────────── */
.inc-alert {
    display: flex; gap: 10px; align-items: flex-start;
    padding: 12px 14px; border-radius: 10px; border: 1px solid;
    font-size: 0.88rem; line-height: 1.5; margin: 0 0 16px;
}
.inc-alert[hidden] { display: none !important; }
.inc-alert .material-symbols-outlined { font-size: 20px; flex-shrink: 0; margin-top: 1px; }
.inc-alert p { margin: 0; }
.inc-alert-info { background: #EFF6FF; border-color: #BFDBFE; color: #1E3A8A; }
.inc-alert-warn { background: var(--inc-amber-bg); border-color: #FDE68A; color: #78350F; }
.inc-alert-error { background: var(--inc-red-bg); border-color: #FECACA; color: #7F1D1D; }
.inc-alert-ok { background: var(--inc-green-bg); border-color: #BBF7D0; color: #14532D; }

/* ─── Formulario público ───────────────────────────────────────────────── */
.inc-layout {
    display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px;
    align-items: start; margin: 0 0 64px;
}
@media (max-width: 1023px) { .inc-layout { grid-template-columns: 1fr; } }

.inc-card {
    background: var(--inc-card); border: 1px solid var(--inc-border); border-radius: 16px;
    padding: 28px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
@media (max-width: 640px) { .inc-card { padding: 20px 16px; } }
.inc-card h2 { font-size: 1.35rem; font-weight: 800; margin: 0 0 4px; color: var(--inc-text); }
.inc-card-sub { color: var(--inc-muted); font-size: 0.9rem; margin: 0 0 20px; line-height: 1.5; }

.inc-aside { display: flex; flex-direction: column; gap: 16px; }
.inc-aside .inc-card { padding: 20px; }
.inc-aside h3 { display: flex; align-items: center; gap: 8px; font-size: 1rem; font-weight: 700; margin: 0 0 10px; color: var(--inc-text); }
.inc-aside h3 .material-symbols-outlined { color: var(--inc-primary); font-size: 22px; }
.inc-aside p, .inc-aside li { font-size: 0.86rem; color: #334155; line-height: 1.55; }
.inc-aside p { margin: 0 0 8px; }
.inc-temas { margin: 0 0 8px; padding-left: 18px; }
.inc-temas li { margin: 0 0 4px; }
.inc-pasos { list-style: none; margin: 0; padding: 0; counter-reset: paso; }
.inc-pasos li { position: relative; padding: 0 0 12px 36px; counter-increment: paso; }
.inc-pasos li::before {
    content: counter(paso); position: absolute; left: 0; top: 0;
    width: 24px; height: 24px; border-radius: 50%; background: #DBEAFE; color: var(--inc-primary-dark);
    font-weight: 800; font-size: 0.78rem; display: flex; align-items: center; justify-content: center;
}

.inc-sesion {
    display: flex; align-items: center; gap: 10px; padding: 10px 14px; margin: 0 0 18px;
    background: var(--inc-soft); border-radius: 10px; font-size: 0.88rem; color: #334155;
}
.inc-sesion .material-symbols-outlined { color: var(--inc-green); }

.inc-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 640px) { .inc-grid-2 { grid-template-columns: 1fr; } }

.inc-field { margin: 0 0 16px; }
.inc-field > label, .inc-field > .inc-label {
    display: block; font-size: 0.86rem; font-weight: 600; margin: 0 0 6px; color: var(--inc-text);
}
.inc-req { color: #DC2626; }
.inc-opt { color: var(--inc-muted); font-weight: 400; }
.inc-input, .inc-textarea, .inc-select {
    width: 100%; box-sizing: border-box; padding: 10px 12px; font: inherit; font-size: 0.92rem;
    border: 1px solid #CBD5E1; border-radius: 10px; background: #fff; color: var(--inc-text);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.inc-textarea { min-height: 130px; resize: vertical; line-height: 1.5; }
.inc-input:focus, .inc-textarea:focus, .inc-select:focus {
    outline: none; border-color: var(--inc-primary); box-shadow: 0 0 0 3px rgba(0, 102, 204, .15);
}
.inc-help { font-size: 0.78rem; color: var(--inc-muted); margin: 5px 0 0; line-height: 1.4; }
.inc-counter { float: right; font-variant-numeric: tabular-nums; }
.inc-err { display: none; font-size: 0.8rem; color: var(--inc-red); margin: 5px 0 0; font-weight: 600; }
.inc-field.has-error .inc-input, .inc-field.has-error .inc-textarea, .inc-field.has-error .inc-select {
    border-color: #DC2626; box-shadow: 0 0 0 3px rgba(220, 38, 38, .12);
}
.inc-field.has-error .inc-err { display: block; }

/* Centro elegido: a qué red está adscrito */
.inc-centro-info {
    display: flex; align-items: flex-start; gap: 8px; margin: 8px 0 0; padding: 9px 12px;
    background: #EFF6FF; border-left: 3px solid var(--inc-primary); border-radius: 8px;
    font-size: 0.86rem; line-height: 1.45; color: #1E3A8A;
}
.inc-centro-info .material-symbols-outlined { font-size: 19px; color: var(--inc-primary); flex-shrink: 0; }

/* Control segmentado (dispositivo) */
.inc-seg { display: inline-flex; border: 1px solid #CBD5E1; border-radius: 10px; overflow: hidden; }
.inc-seg input { position: absolute; opacity: 0; pointer-events: none; }
.inc-seg label {
    display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; cursor: pointer;
    font-size: 0.88rem; font-weight: 600; color: #334155; background: #fff; margin: 0;
}
.inc-seg label + input + label, .inc-seg label:not(:first-of-type) { border-left: 1px solid #CBD5E1; }
.inc-seg label .material-symbols-outlined { font-size: 19px; }
.inc-seg input:checked + label { background: var(--inc-primary); color: #fff; }
.inc-seg input:focus-visible + label { outline: 3px solid #F7B500; outline-offset: -3px; }

/* Zona de adjuntos */
.inc-drop {
    border: 2px dashed #CBD5E1; border-radius: 12px; padding: 18px; text-align: center;
    background: #F8FAFC; color: #475569; font-size: 0.86rem; line-height: 1.5;
    transition: border-color .15s ease, background .15s ease;
}
.inc-drop.is-over { border-color: var(--inc-primary); background: #EFF6FF; }
.inc-drop .material-symbols-outlined { font-size: 30px; color: #94A3B8; display: block; margin: 0 auto 4px; }
.inc-drop p { margin: 6px 0 10px; }
.inc-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.inc-thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.inc-thumbs:empty { display: none; }
.inc-thumb {
    position: relative; width: 84px; height: 84px; border-radius: 10px; overflow: hidden;
    border: 1px solid var(--inc-border); background: #fff;
}
.inc-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.inc-thumb button {
    position: absolute; top: 4px; right: 4px; width: 24px; height: 24px; border-radius: 50%;
    border: 0; background: rgba(15, 23, 42, .78); color: #fff; cursor: pointer;
    display: flex; align-items: center; justify-content: center; padding: 0;
}
.inc-thumb button .material-symbols-outlined { font-size: 16px; }
.inc-thumb button:focus-visible { outline: 3px solid #F7B500; }
.inc-file-msg { font-size: 0.8rem; margin: 8px 0 0; color: var(--inc-amber); font-weight: 600; }
.inc-file-msg:empty { display: none; }

/* Captcha */
.inc-captcha { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.inc-captcha-img {
    width: 210px; height: 70px; border-radius: 10px; border: 1px solid var(--inc-border);
    background: #F4F7FB; display: block;
}
.inc-captcha .inc-input { width: 150px; text-transform: uppercase; letter-spacing: .2em; font-weight: 700; font-size: 1.05rem; }

/* Casilla de privacidad */
.inc-check { display: flex; gap: 10px; align-items: flex-start; font-size: 0.85rem; color: #334155; line-height: 1.5; }
.inc-check input { width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; accent-color: var(--inc-primary); }
.inc-rgpd { font-size: 0.76rem; color: var(--inc-muted); line-height: 1.5; margin: 8px 0 0; }

/* Honeypot (invisible para personas, visible para robots) */
.inc-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

.inc-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 8px; }

/* Paso de verificación */
.inc-center { text-align: center; max-width: 560px; margin: 0 auto 64px; }
.inc-icon-big {
    width: 72px; height: 72px; border-radius: 50%; margin: 0 auto 14px;
    display: flex; align-items: center; justify-content: center;
    background: #DBEAFE; color: var(--inc-primary-dark);
}
.inc-icon-big .material-symbols-outlined { font-size: 38px; }
.inc-icon-big.ok { background: #DCFCE7; color: var(--inc-green); }
.inc-icon-big.err { background: #FEE2E2; color: var(--inc-red); }
.inc-code {
    width: 220px; max-width: 100%; text-align: center; font-size: 1.8rem; font-weight: 800;
    letter-spacing: .35em; padding: 10px 8px 10px 16px; font-variant-numeric: tabular-nums;
}
.inc-ticket-big {
    display: inline-block; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 1.6rem; font-weight: 800; color: var(--inc-primary-dark);
    background: #EFF6FF; border: 1px solid #BFDBFE; border-radius: 12px; padding: 8px 18px; margin: 8px 0 14px;
}

/* ─── Estados (distintivos) ────────────────────────────────────────────── */
.inc-badge {
    display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 999px;
    font-size: 0.74rem; font-weight: 700; white-space: nowrap; border: 1px solid transparent;
}
.inc-badge.st-abierta { background: #FEF3C7; color: #92400E; border-color: #FDE68A; }
.inc-badge.st-en_proceso { background: #DBEAFE; color: #1E40AF; border-color: #BFDBFE; }
.inc-badge.st-resuelta { background: #DCFCE7; color: #166534; border-color: #BBF7D0; }
.inc-badge.st-no_resuelta { background: #FEE2E2; color: #991B1B; border-color: #FECACA; }
.inc-badge.st-borrada { background: #E2E8F0; color: #334155; }
.inc-badge.st-nueva { background: #0E7490; color: #fff; }
.inc-badge.st-sla { background: #FFEDD5; color: #9A3412; border-color: #FED7AA; }

.inc-ticket { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 800; white-space: nowrap; }

/* ─── Seguimiento público ──────────────────────────────────────────────── */
.inc-track { max-width: 820px; margin: 0 auto 64px; }
.inc-track-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 6px; }
.inc-track-head .inc-ticket { font-size: 1.3rem; color: var(--inc-primary-dark); }
.inc-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 0.84rem; color: var(--inc-muted); margin: 0 0 18px; }
.inc-meta span { display: inline-flex; align-items: center; gap: 5px; }
.inc-meta .material-symbols-outlined { font-size: 17px; }
.inc-box {
    border-radius: 12px; padding: 14px 16px; margin: 0 0 16px; font-size: 0.9rem; line-height: 1.6;
    white-space: pre-wrap; word-break: break-word; border-left: 4px solid;
}
.inc-box-title { display: block; white-space: normal; font-size: 0.78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 6px; }
.inc-box-q { background: #F8FAFC; border-color: #CBD5E1; color: #334155; }
.inc-box-a { background: var(--inc-cyan-bg); border-color: #06B6D4; color: #164E63; }
.inc-box-no { background: var(--inc-red-bg); border-color: #EF4444; color: #7F1D1D; }
.inc-box-nota { background: var(--inc-amber-bg); border-color: #F59E0B; color: #78350F; }
.inc-box .inc-imgs { white-space: normal; }

.inc-imgs { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0 0; }
.inc-imgs a { display: block; width: 120px; height: 90px; border-radius: 10px; overflow: hidden; border: 1px solid var(--inc-border); background: #fff; }
.inc-imgs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.inc-imgs a:focus-visible { outline: 3px solid #F7B500; outline-offset: 2px; }

/* Línea de tiempo */
.inc-hist { list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 2px solid var(--inc-border); }
.inc-hist li { position: relative; padding: 0 0 14px 14px; font-size: 0.85rem; line-height: 1.5; }
.inc-hist li::before {
    content: ''; position: absolute; left: -25px; top: 5px; width: 12px; height: 12px; border-radius: 50%;
    background: #06B6D4; border: 2px solid #fff; box-shadow: 0 0 0 1px #06B6D4;
}
.inc-hist-accion { font-weight: 700; color: var(--inc-text); }
.inc-hist-meta { color: var(--inc-muted); font-size: 0.78rem; }
.inc-hist-det { color: #334155; white-space: pre-wrap; word-break: break-word; }
.inc-hist-priv { font-size: 0.7rem; font-weight: 700; color: #92400E; background: #FEF3C7; border-radius: 6px; padding: 1px 6px; margin-left: 6px; }

/* «Mis incidencias» */
.inc-mias { list-style: none; margin: 0; padding: 0; }
.inc-mias li { padding: 10px 0; border-top: 1px solid var(--inc-border); }
.inc-mias li:first-child { border-top: 0; padding-top: 0; }
.inc-mias a { font-weight: 700; color: var(--inc-primary-dark); text-decoration: none; }
.inc-mias a:hover { text-decoration: underline; }
.inc-mias-tit { display: block; font-size: 0.82rem; color: #334155; margin: 2px 0 4px; }
.inc-mias-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 0.76rem; color: var(--inc-muted); }

.inc-loading { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 40px 0; color: var(--inc-muted); }
.inc-spinner {
    width: 22px; height: 22px; border-radius: 50%; border: 3px solid #CBD5E1; border-top-color: var(--inc-primary);
    animation: inc-spin .8s linear infinite;
}
@keyframes inc-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .inc-spinner { animation-duration: 2.4s; } }

/* ════════════════════════════════════════════════════════════════════════
   GESTOR (intranet)
   ════════════════════════════════════════════════════════════════════════ */
.inc-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
@media (max-width: 1100px) { .inc-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .inc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.inc-kpi {
    text-align: left; background: #fff; border: 1px solid var(--inc-border); border-radius: 14px;
    padding: 14px 16px; font: inherit; color: var(--inc-text); display: flex; flex-direction: column; gap: 2px;
    border-top: 4px solid var(--kpi, #94A3B8);
}
button.inc-kpi { cursor: pointer; transition: box-shadow .15s ease, transform .15s ease; }
button.inc-kpi:hover { box-shadow: 0 4px 14px rgba(15, 23, 42, .08); transform: translateY(-1px); }
button.inc-kpi:focus-visible { outline: 3px solid #F7B500; outline-offset: 2px; }
.inc-kpi.is-on { box-shadow: 0 0 0 2px var(--kpi, var(--inc-primary)); }
.inc-kpi-label { font-size: 0.74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--inc-muted); }
.inc-kpi-val { font-size: 1.7rem; font-weight: 800; line-height: 1.15; font-variant-numeric: tabular-nums; }
.inc-kpi-sub { font-size: 0.76rem; color: var(--inc-muted); min-height: 1.1em; }

.inc-filtros {
    display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end;
    background: #fff; border: 1px solid var(--inc-border); border-radius: 14px; padding: 14px; margin: 0 0 14px;
}
.inc-filtros .inc-field { margin: 0; min-width: 130px; flex: 1 1 130px; }
.inc-filtros .inc-field.inc-buscar { flex: 2 1 220px; }
.inc-filtros label { font-size: 0.74rem; font-weight: 700; color: var(--inc-muted); text-transform: uppercase; letter-spacing: .04em; }
.inc-filtros .inc-input, .inc-filtros .inc-select { padding: 8px 10px; font-size: 0.86rem; }
@media (max-width: 767px) { .inc-filtros .inc-field { flex: 1 1 100%; } }

.inc-chips-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; margin: 0 0 14px; }
.inc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.inc-chip {
    display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px;
    border: 1px solid var(--inc-border); background: #fff; font: inherit; font-size: 0.82rem; font-weight: 600;
    color: #334155; cursor: pointer;
}
.inc-chip b { font-variant-numeric: tabular-nums; }
.inc-chip:hover { background: var(--inc-soft); }
.inc-chip[aria-pressed="true"] { background: var(--inc-text); color: #fff; border-color: var(--inc-text); }
.inc-chip:focus-visible { outline: 3px solid #F7B500; outline-offset: 2px; }

.inc-panel { background: #fff; border: 1px solid var(--inc-border); border-radius: 14px; padding: 16px; margin: 0 0 14px; }
.inc-panel-title { font-size: 0.8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--inc-muted); margin: 0 0 10px; }

/* Gráfico por meses */
.inc-bars { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 8px; align-items: end; height: 150px; }
.inc-bar {
    display: flex; flex-direction: column; align-items: stretch; justify-content: flex-end; height: 100%;
    background: none; border: 0; padding: 0; font: inherit; cursor: pointer; border-radius: 8px;
}
.inc-bar:focus-visible { outline: 3px solid #F7B500; outline-offset: 2px; }
.inc-bar-n { font-size: 0.72rem; font-weight: 700; color: #334155; text-align: center; min-height: 1.1em; }
.inc-bar-col { position: relative; background: #BFDBFE; border-radius: 6px 6px 0 0; min-height: 2px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; }
.inc-bar-open { background: var(--inc-orange); width: 100%; }
.inc-bar-m { font-size: 0.72rem; color: var(--inc-muted); text-align: center; margin-top: 4px; text-transform: capitalize; }
.inc-bar.is-on .inc-bar-col { background: #60A5FA; box-shadow: 0 0 0 2px var(--inc-primary); }
.inc-bar.is-on .inc-bar-m { color: var(--inc-primary-dark); font-weight: 800; }
.inc-bars-legend { display: flex; gap: 14px; font-size: 0.74rem; color: var(--inc-muted); margin-top: 8px; }
.inc-bars-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 4px; vertical-align: -1px; }

/* Tabla */
.inc-table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--inc-border); border-radius: 14px; }
.inc-table { width: 100%; border-collapse: collapse; font-size: 0.84rem; }
.inc-table th {
    text-align: left; font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em;
    color: var(--inc-muted); background: #F8FAFC; padding: 10px 12px; border-bottom: 1px solid var(--inc-border); white-space: nowrap;
}
.inc-table td { padding: 10px 12px; border-bottom: 1px solid var(--inc-border); vertical-align: top; color: #1E293B; }
.inc-table tr:last-child td { border-bottom: 0; }
.inc-table tbody tr:hover { background: #F8FAFC; }
.inc-table .inc-sub { display: block; font-size: 0.74rem; color: var(--inc-muted); }
.inc-table .inc-desc-cell { max-width: 340px; }
.inc-table .inc-nowrap { white-space: nowrap; }
.inc-cam { display: inline-flex; align-items: center; gap: 2px; font-size: 0.72rem; color: var(--inc-muted); margin-left: 4px; }
.inc-cam .material-symbols-outlined { font-size: 15px; }
.inc-amber { color: var(--inc-amber); font-weight: 700; }
.inc-table-foot { font-size: 0.78rem; color: var(--inc-muted); margin: 10px 2px 0; }
.inc-empty { text-align: center; padding: 36px 12px; color: var(--inc-muted); }

/* Diálogos */
.inc-dialog {
    width: min(760px, calc(100vw - 24px)); max-height: calc(100vh - 32px); padding: 0; border: 0;
    border-radius: 16px; box-shadow: 0 25px 60px rgba(15, 23, 42, .35); color: var(--inc-text);
}
.inc-dialog.inc-dialog-sm { width: min(520px, calc(100vw - 24px)); }
.inc-dialog::backdrop { background: rgba(15, 23, 42, .55); }
.inc-dialog-inner { display: flex; flex-direction: column; max-height: calc(100vh - 32px); }
.inc-dialog-head { position: relative; padding: 18px 60px 12px 22px; border-bottom: 1px solid var(--inc-border); }
.inc-dialog-head h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 1.15rem; margin: 0; }
.inc-dialog-body { padding: 18px 22px; overflow-y: auto; }
.inc-dialog-foot {
    display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between;
    padding: 12px 22px; border-top: 1px solid var(--inc-border); background: #F8FAFC;
}
.inc-dialog-foot .inc-left, .inc-dialog-foot .inc-right { display: flex; flex-wrap: wrap; gap: 8px; }
.inc-close-x {
    position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border-radius: 50%; border: 0;
    background: transparent; cursor: pointer; color: var(--inc-muted); display: flex; align-items: center; justify-content: center;
}
.inc-close-x:hover { background: var(--inc-soft); color: var(--inc-text); }
.inc-close-x:focus-visible { outline: 3px solid #F7B500; }

.inc-datos { display: grid; grid-template-columns: 150px 1fr; gap: 6px 12px; font-size: 0.85rem; margin: 0 0 16px; }
.inc-datos dt { color: var(--inc-muted); font-weight: 600; }
.inc-datos dd { margin: 0; word-break: break-word; }
@media (max-width: 560px) { .inc-datos { grid-template-columns: 1fr; } .inc-datos dd { margin-bottom: 6px; } }

.inc-section { border-top: 1px solid var(--inc-border); padding-top: 14px; margin-top: 14px; }
.inc-section-title { font-size: 0.8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--inc-muted); margin: 0 0 8px; }
.inc-inline { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.inc-inline .inc-select { flex: 1 1 240px; width: auto; }
.inc-estados { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 560px) { .inc-estados { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.inc-estado-btn { justify-content: center; }
.inc-estado-btn[aria-pressed="true"] { background: var(--inc-text); color: #fff; border-color: var(--inc-text); opacity: 1; }
.inc-hist-wrap { max-height: 260px; overflow-y: auto; padding: 4px 4px 0 6px; }
.inc-deleted-line { color: var(--inc-red); font-size: 0.84rem; font-weight: 600; margin: 8px 0 0; }
.inc-asunto-line { font-size: 0.92rem; color: #334155; margin: 6px 0 0; }

/* Urgente y vinculadas */
.inc-badge.st-urgente { background: #DC2626; color: #fff; border-color: #B91C1C; letter-spacing: .03em; }
.inc-badge.st-vinc { background: #EDE9FE; color: #5B21B6; border-color: #DDD6FE; }
.inc-badge .material-symbols-outlined { font-size: 14px; }
.inc-table tr.is-urgente td:first-child { box-shadow: inset 4px 0 0 #DC2626; }
.inc-table tr.is-sel { background: #EFF6FF; }
.inc-table .inc-check-cell { width: 34px; padding-right: 0; }
.inc-table input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--inc-primary); cursor: pointer; }
.inc-badges { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }

.inc-selbar {
    position: sticky; top: 72px; z-index: 5; display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
    padding: 10px 14px; margin: 0 0 10px; border-radius: 12px; background: #0F172A; color: #fff; font-size: 0.86rem;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
}
.inc-selbar strong { margin-right: 6px; }
.inc-selbar .inc-btn-ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .35); }
.inc-selbar .inc-btn-ghost:hover:not(:disabled) { background: rgba(255, 255, 255, .12); }

.inc-vinc-list { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.inc-vinc-list li {
    display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 8px 10px;
    border: 1px solid #DDD6FE; background: #FAF5FF; border-radius: 10px; font-size: 0.84rem;
}
.inc-vinc-list .inc-vinc-tit { flex: 1 1 200px; color: #334155; min-width: 0; overflow-wrap: anywhere; }
.inc-conjunta {
    display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 10px;
    background: #FAF5FF; border: 1px solid #DDD6FE; color: #4C1D95; font-size: 0.86rem; line-height: 1.45; cursor: pointer;
}
.inc-conjunta input { width: 18px; height: 18px; margin-top: 1px; accent-color: #7C3AED; flex-shrink: 0; }
.inc-urgente-btn[aria-pressed="true"] { background: #DC2626; color: #fff; border-color: #B91C1C; }

/* Sugerencia automática */
.inc-sug { background: linear-gradient(180deg, #F5F3FF 0, #fff 80px); border-radius: 12px; padding: 14px; border: 1px solid #E9D5FF; }
.inc-sug .inc-section-title { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.inc-sug .inc-section-title .material-symbols-outlined { font-size: 18px; color: #7C3AED; }
.inc-sug-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 10px; font-size: 0.88rem; }
.inc-sug-cat { font-weight: 800; color: #4C1D95; }
.inc-conf { display: inline-flex; align-items: center; gap: 6px; font-size: 0.8rem; font-weight: 700; }
.inc-conf-barra { width: 110px; height: 8px; border-radius: 999px; background: #E2E8F0; overflow: hidden; }
.inc-conf-barra span { display: block; height: 100%; border-radius: 999px; }
.inc-conf.nivel-alta .inc-conf-barra span { background: #16A34A; }
.inc-conf.nivel-media .inc-conf-barra span { background: #F59E0B; }
.inc-conf.nivel-baja .inc-conf-barra span { background: #94A3B8; }
.inc-sug-nivel { font-size: 0.8rem; color: var(--inc-muted); }
.inc-sug-nivel.nivel-alta { color: #166534; }
.inc-sug-nivel.nivel-media { color: #92400E; }
.inc-sug-nivel.nivel-baja { color: #7F1D1D; }
.inc-sug-extra { margin: 0 0 10px; }
.inc-sug-extra:empty { display: none; }
.inc-sug #sugTexto { max-height: 260px; overflow-y: auto; }
.inc-sug #sugTexto.es-baja { opacity: .75; border-style: dashed; }
.inc-sug-det { margin: 10px 0 0; font-size: 0.84rem; }
.inc-sug-det summary { cursor: pointer; font-weight: 700; color: #4C1D95; }
.inc-sug-det summary:focus-visible { outline: 3px solid #F7B500; outline-offset: 2px; }
.inc-sug-list { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.inc-sug-list li { background: #fff; border: 1px solid var(--inc-border); border-radius: 10px; padding: 8px 10px; line-height: 1.45; }
.inc-sug-list .inc-sub { display: block; margin-bottom: 3px; }
.inc-sug-chip {
    display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; padding: 1px 8px; border-radius: 999px;
    font-size: 0.72rem; font-weight: 700; background: #F5F3FF; color: #5B21B6; border: 1px solid #DDD6FE;
}
.inc-sug-chip.nivel-media { background: #FFFBEB; color: #92400E; border-color: #FDE68A; }
.inc-kb summary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; cursor: pointer; font-size: 0.9rem; }
.inc-kb summary .material-symbols-outlined { color: #7C3AED; }
.inc-kb summary:focus-visible { outline: 3px solid #F7B500; outline-offset: 2px; }

/* Toast */
.inc-toast {
    position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%) translateY(20px); z-index: 20000;
    background: #0F172A; color: #fff; padding: 12px 18px; border-radius: 12px; font-size: 0.88rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .3); opacity: 0; pointer-events: none;
    transition: opacity .2s ease, transform .2s ease; max-width: calc(100vw - 32px);
}
.inc-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.inc-toast.err { background: #991B1B; }
.inc-toast.ok { background: #166534; }
.inc-toast small { display: block; opacity: .85; margin-top: 2px; }

/* Distintivo en la barra de la intranet */
.inc-topbar-badge {
    min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #DC2626; color: #fff;
    font-size: 0.7rem; font-weight: 800; display: inline-flex; align-items: center; justify-content: center;
}
.inc-topbar-badge[hidden] { display: none; }
