/* Acceso institucional moderno. Las reglas se acotan a .pagina-acceso para poder reutilizar esta hoja. */
.pagina-acceso,
.pagina-acceso * { box-sizing:border-box; }
.acceso-body {
    min-height:100vh;
    margin:0;
    color:#202124;
    background:#f7f9fc;
    font-family:Arial, Helvetica, sans-serif;
    -webkit-font-smoothing:antialiased;
}
.pagina-acceso {
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:32px 20px 20px;
}
.pagina-acceso .card {
    width:100%;
    max-width:880px;
    display:grid;
    grid-template-columns:minmax(260px, .9fr) minmax(340px, 1.1fr);
    gap:54px;
    align-items:center;
    padding:48px 52px;
    background:#fff;
    border:1px solid #dadce0;
    border-radius:8px;
}
.pagina-acceso .identidad { min-width:0; padding-right:8px; }
.pagina-acceso .logo { display:flex; justify-content:flex-start; margin-bottom:32px; }
.pagina-acceso .logo img { display:block; width:100%; max-width:320px; height:auto; }
.pagina-acceso .encabezado { margin:0; text-align:left; }
.pagina-acceso .encabezado h1 { margin:0 0 10px; color:#202124; font-size:24px; font-weight:400; line-height:1.3; }
.pagina-acceso .encabezado p { margin:0; color:#5f6368; font-size:15px; line-height:1.5; }
.pagina-acceso .campo { margin-bottom:20px; }
.pagina-acceso .campo label { display:block; margin-bottom:7px; color:#3c4043; font-size:14px; font-weight:500; }
.pagina-acceso .campo input { display:block; width:100%; height:52px; margin:0; padding:13px 14px; color:#202124; background:#fff; border:1px solid #dadce0; border-radius:4px; font:16px Arial, Helvetica, sans-serif; outline:0; transition:border-color .15s, box-shadow .15s; }
.pagina-acceso .campo input:hover { border-color:#9aa0a6; }
.pagina-acceso .campo input:focus { border-color:#147895; box-shadow:0 0 0 1px #147895; }
.pagina-acceso .campo-clave { position:relative; }
.pagina-acceso .campo-clave input { padding-right:50px; }
.pagina-acceso .toggle-clave { position:absolute; right:8px; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:36px; height:36px; padding:0; color:#5f6368; background:transparent; border:0; border-radius:50%; cursor:pointer; }
.pagina-acceso .toggle-clave:hover { color:#147895; background:#f1f3f4; }
.pagina-acceso .toggle-clave:focus { outline:2px solid #9bd2e2; outline-offset:1px; }
.pagina-acceso .toggle-clave svg { width:20px; height:20px; stroke:currentColor; }
.pagina-acceso .recuperar-clave { margin:-7px 0 24px; text-align:right; font-size:14px; }
.pagina-acceso .recuperar-clave a { color:#0e7099; text-decoration:none; font-weight:600; }
.pagina-acceso .recuperar-clave a:hover { text-decoration:underline; }
.pagina-acceso .turnstile-contenedor { display:flex; justify-content:center; min-height:65px; margin:0 0 26px; }
.pagina-acceso .acciones { display:flex; justify-content:flex-end; }
.pagina-acceso .boton-ingresar { min-width:118px; height:42px; padding:0 24px; color:#fff; background:#147895; border:0; border-radius:4px; font-size:15px; font-weight:600; cursor:pointer; transition:background .15s, box-shadow .15s; }
.pagina-acceso .boton-ingresar:hover { background:#0e637f; box-shadow:0 1px 3px rgba(0,0,0,.25); }
.pagina-acceso .boton-ingresar:focus { outline:3px solid #b9dce7; outline-offset:2px; }
.pagina-acceso .formulario-acceso { min-width:0; padding-left:52px; border-left:1px solid #e4e7eb; }
.pagina-acceso .pie { width:100%; max-width:880px; display:flex; justify-content:space-between; gap:16px; padding:18px 4px 0; color:#5f6368; font-size:12px; line-height:1.4; }
.pagina-acceso .pie span:last-child { text-align:right; }

@media (max-width:760px) {
    .pagina-acceso .card { max-width:500px; display:block; padding:38px 34px 34px; }
    .pagina-acceso .identidad { padding:0; }
    .pagina-acceso .logo { justify-content:center; margin-bottom:24px; }
    .pagina-acceso .logo img { max-width:290px; }
    .pagina-acceso .encabezado { margin-bottom:28px; text-align:center; }
    .pagina-acceso .formulario-acceso { padding:0; border-left:0; }
    .pagina-acceso .pie { max-width:500px; }
}
@media (max-width:520px) {
    .acceso-body { background:#fff; }
    .pagina-acceso { justify-content:flex-start; padding:0; }
    .pagina-acceso .card { padding:34px 24px 28px; border:0; border-radius:0; }
    .pagina-acceso .logo img { max-width:280px; }
    .pagina-acceso .pie { padding:12px 24px 22px; }
}

/* Panel moderno de Actuaciones. Se activa solo con .actuaciones-modernas. */
.actuaciones-modernas {
    color:#202124;
    background:#f7f9fc;
    font-family:Arial, Helvetica, sans-serif;
}
.actuaciones-modernas .act-dashboard-container { width:auto; max-width:1180px; padding:28px 28px 42px; }
.actuaciones-modernas .act-dashboard-header { display:flex; align-items:flex-end; margin:0 0 24px; padding:0 0 20px; border-bottom:1px solid #dadce0; }
.actuaciones-modernas .act-dashboard-eyebrow { margin:0 0 5px; color:#0e7099; font-size:12px; font-weight:700; text-transform:uppercase; }
.actuaciones-modernas .act-dashboard-header h1 { margin:0; color:#202124; font-size:28px; font-weight:400; line-height:1.25; }
.actuaciones-modernas .act-dashboard-subtitle { margin:7px 0 0; color:#5f6368; font-size:14px; }
.actuaciones-modernas .breadcrumb { margin:0; padding:0; background:transparent; font-size:13px; }
.actuaciones-modernas .breadcrumb a { color:#0e7099; }
.actuaciones-modernas .act-dashboard-column { padding:0; }
.actuaciones-modernas .act-dashboard-panel { margin:0; background:#fff; border:1px solid #dadce0; border-radius:8px; box-shadow:none; overflow:hidden; }
.actuaciones-modernas .act-dashboard-content { padding:26px; background:#fff; border:0; }
.actuaciones-modernas .panel-title { margin:0; color:#202124; font-size:16px; font-weight:500; }
.actuaciones-modernas .panel-title a { color:#0e7099; }
.actuaciones-modernas .tc-webmail-inicio { margin:0; border:0; border-radius:0; box-shadow:none; }
.actuaciones-modernas .tc-webmail-title { padding:0 0 15px; background:#fff; border-bottom:1px solid #dadce0; color:#202124; font-size:15px; text-transform:none; }
.actuaciones-modernas .tc-webmail-title i { margin-right:7px; color:#0e7099; }
.actuaciones-modernas .tc-webmail-item { padding:15px 0; gap:13px; }
.actuaciones-modernas .tc-webmail-item:hover { background:#f8fafc; box-shadow:inset 3px 0 0 #147895; }
.actuaciones-modernas .tc-webmail-link { margin:16px 0 0; padding:9px 13px; color:#0e7099; background:#fff; border:1px solid #b8d6e0; border-radius:4px; }
.actuaciones-modernas .tc-webmail-link:hover { color:#0a5975; background:#eef7fa; }
.actuaciones-modernas .tc-webmail-empty { margin:18px 0 4px; }

@media (max-width:767px) {
    .actuaciones-modernas .act-dashboard-container { padding:20px 16px 32px; }
    .actuaciones-modernas .act-dashboard-header { display:block; }
    .actuaciones-modernas .breadcrumb { float:none!important; margin-top:16px; }
    .actuaciones-modernas .act-dashboard-content { padding:20px 16px; }
}

/* Formulario moderno para adjuntar documentos electronicos. */
.act-doc-modern { padding:28px 26px; color:#202124; background:#fff; font-family:Arial, Helvetica, sans-serif; }
.act-doc-modern .form { padding:0; }
.act-doc-modern hr { margin:18px 0 26px; border-color:#e4e7eb; }
.act-doc-modern .act-doc-field { margin:0 0 26px; }
.act-doc-modern .control-label { padding-top:13px; color:#3c4043; font-size:14px; font-weight:600; text-align:left; }
.act-doc-modern .form-control { height:48px; padding:11px 13px; color:#202124; background:#fff; border:1px solid #dadce0; border-radius:4px; box-shadow:none; font-size:15px; }
.act-doc-modern .form-control:focus { border-color:#147895; box-shadow:0 0 0 1px #147895; }
.act-doc-drop { position:relative; display:flex; min-height:180px; flex-direction:column; align-items:center; justify-content:center; padding:26px; color:#3c4043; background:#f8fafc; border:2px dashed #b7c5cc; border-radius:8px; text-align:center; cursor:pointer; transition:border-color .15s, background .15s; }
.act-doc-drop:hover,
.act-doc-drop:focus,
.act-doc-drop.dragover { background:#eef7fa; border-color:#147895; outline:0; }
.act-doc-drop.dragover { box-shadow:inset 0 0 0 1px #147895; }
.act-doc-drop-icon { display:flex; width:48px; height:48px; align-items:center; justify-content:center; margin-bottom:12px; color:#0e7099; background:#e3f1f5; border-radius:50%; font-size:24px; }
.act-doc-drop strong { margin-bottom:6px; font-size:16px; font-weight:600; }
.act-doc-drop span { color:#6b747b; font-size:13px; }
.act-doc-file-input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.act-doc-selected { display:flex; align-items:center; gap:9px; min-height:42px; margin-top:10px; padding:10px 12px; color:#6b747b; background:#fff; border:1px solid #e1e6e9; border-radius:4px; }
.act-doc-selected.has-file { color:#176b42; background:#edf8f2; border-color:#badfc9; }
.act-doc-selected i { font-size:17px; }
.act-doc-selected span { min-width:0; overflow-wrap:anywhere; }
.act-doc-modern .text-info { margin:9px 0 0; color:#66757d; font-size:12px; line-height:1.45; }
.act-doc-modern .text-danger { margin-top:7px; font-size:12px; line-height:1.45; }
.act-doc-check-wrap { padding-top:8px; }
.act-doc-checkbox { width:20px; height:20px; margin:0; accent-color:#147895; cursor:pointer; }
.act-doc-modern .form-group:last-of-type { margin-top:34px; padding-top:22px; border-top:1px solid #e4e7eb; }

@media (max-width:767px) {
    .act-doc-modern { padding:20px 15px; }
    .act-doc-modern .control-label { padding:0 0 8px; }
    .act-doc-drop { min-height:160px; padding:22px 16px; }
    .act-doc-modern .form-group:last-of-type .col-md-4 { margin-bottom:10px; }
}

/* Historial resumido y completo de pases de Actuaciones. */
.act-movimientos-aviso { display:flex; align-items:center; gap:9px; margin:0 0 14px; padding:11px 13px; color:#375a66; background:#eef7fa; border:1px solid #c7e0e8; border-left:3px solid #147895; border-radius:4px; font-size:13px; line-height:1.4; }
.act-movimientos-aviso i { color:#147895; font-size:16px; }
.act-movimientos-aviso-completo { color:#3f5f4b; background:#f0f8f3; border-color:#c9dfd0; border-left-color:#318252; }
.act-movimientos-aviso-completo i { color:#318252; }
.act-movimientos-tabla { width:100%; margin-bottom:0; color:#3c4043; background:#fff; border-collapse:separate; border-spacing:0; table-layout:fixed; font-size:12px; }
.act-movimientos-tabla > thead > tr > th { padding:8px 8px; color:#3c4043; background:#f6f8fa; border-color:#dfe4e7; font-size:12px; font-weight:600; line-height:1.2; vertical-align:middle; }
.act-movimientos-tabla > tbody > tr > td { padding:7px 8px; background:#fff; border-color:#e4e7eb; line-height:1.25; vertical-align:top; overflow-wrap:break-word; }
.act-movimientos-tabla > thead > tr > th:nth-child(1) { width:5%; }
.act-movimientos-tabla > thead > tr > th:nth-child(2) { width:15%; }
.act-movimientos-tabla > thead > tr > th:nth-child(3) { width:19%; }
.act-movimientos-tabla > thead > tr > th:nth-child(4) { width:25%; }
.act-movimientos-tabla > thead > tr > th:nth-child(5) { width:13%; }
.act-movimientos-tabla > thead > tr > th:nth-child(6) { width:20%; }
.act-movimientos-tabla > thead > tr > th:nth-child(7) { width:3%; }
.act-movimientos-tabla > tbody > tr > td strong { line-height:1.2; }
.act-movimientos-tabla.table-striped > tbody > tr:nth-of-type(odd) > td { background:#fbfcfd; }
.act-movimientos-tabla > tbody > tr:hover > td { background:#f2f8fa; }
.act-movimientos-tabla > tbody > tr > td:first-child { color:#0e7099; font-weight:600; text-align:center; }
.act-movimientos-acciones { padding-top:14px; }
.act-movimientos-ver-todos { color:#0e7099; background:#fff; border-color:#b8d6e0; border-radius:4px; font-weight:600; }
.act-movimientos-ver-todos:hover,
.act-movimientos-ver-todos:focus { color:#0a5975; background:#eef7fa; border-color:#8bbdcd; }

/* Recorrido visual del historial completo de pases. */
.act-recorrido { margin:0 0 22px; border:1px solid #dce3e7; border-radius:6px; background:#fff; overflow:hidden; }
.act-recorrido-cabecera { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px; background:#f6f8f9; border-bottom:1px solid #dce3e7; }
.act-recorrido-cabecera h3 { margin:0 0 3px; color:#263b45; font-size:17px; font-weight:600; }
.act-recorrido-cabecera h3 i { margin-right:7px; color:#147895; }
.act-recorrido-cabecera p { margin:0; color:#6a7980; font-size:12px; }
.act-recorrido-referencia { display:grid; grid-template-columns:minmax(260px,2fr) minmax(170px,1fr) minmax(120px,.65fr) minmax(120px,.65fr); gap:16px; padding:12px 18px; color:#63747c; background:#fbfcfc; border-bottom:1px solid #e2e7e9; }
.act-recorrido-referencia > div { display:flex; min-width:0; flex-direction:column; gap:3px; }
.act-recorrido-referencia span { font-size:9px; font-weight:700; text-transform:uppercase; }
.act-recorrido-referencia strong { min-width:0; color:#263b45; font-size:12px; overflow-wrap:anywhere; }
.act-recorrido-referencia-principal strong { font-size:13px; }
.act-recorrido-referencia-valor { display:flex; align-items:baseline; gap:10px; min-width:0; flex-wrap:wrap; }
.act-recorrido-referencia-valor em { color:#b3261e; font-size:10px; font-style:normal; font-weight:700; }
.act-recorrido-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); gap:24px; padding:20px; }
.act-recorrido-linea { position:relative; }
.act-recorrido-linea:before { position:absolute; top:16px; bottom:16px; left:16px; width:2px; background:#cbd8dd; content:""; }
.act-recorrido-paso { position:relative; display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; padding-bottom:14px; }
.act-recorrido-paso:last-child { padding-bottom:0; }
.act-recorrido-marca { position:relative; z-index:1; display:flex; width:34px; height:34px; align-items:center; justify-content:center; color:#fff; background:#318253; border:4px solid #edf7f1; border-radius:50%; }
.act-recorrido-marca span { font-size:10px; font-weight:700; }
.act-recorrido-pendiente .act-recorrido-marca { background:#d78516; border-color:#fff4df; }
.act-recorrido-anulado .act-recorrido-marca { background:#b13a32; border-color:#fbeceb; }
.act-recorrido-tarjeta { min-width:0; padding:10px 12px; border:1px solid #dfe5e8; border-radius:5px; background:#fff; }
.act-recorrido-ruta { display:flex; align-items:center; gap:8px; min-width:0; color:#68777f; font-size:12px; }
.act-recorrido-ruta span,
.act-recorrido-ruta strong { overflow-wrap:anywhere; }
.act-recorrido-ruta i { flex:0 0 auto; color:#147895; }
.act-recorrido-ruta strong { color:#174f68; font-size:13px; }
.act-recorrido-datos { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:6px; color:#738188; font-size:10px; }
.act-recorrido-datos i { margin-right:3px; }
.act-recorrido-detalle { display:flex; flex-direction:column; gap:3px; margin-top:7px; padding-top:7px; color:#5e6e75; border-top:1px solid #edf0f1; font-size:10px; line-height:1.35; }
.act-recorrido-detalle b { color:#40535c; }
.act-recorrido-estado { display:inline-block; margin-top:7px; padding:2px 6px; color:#21603a; background:#e8f5ed; border:1px solid #abd3ba; border-radius:10px; font-size:9px; font-weight:600; }
.act-recorrido-pendiente .act-recorrido-estado { color:#955300; background:#fff2d6; border-color:#e9b85c; }
.act-recorrido-anulado .act-recorrido-estado { color:#a61b1b; background:#ffebeb; border-color:#e59a9a; }
.act-recorrido-grafico { min-width:0; padding-left:22px; border-left:1px solid #e1e6e9; }
.act-recorrido-grafico h4 { margin:0 0 14px; color:#40535c; font-size:14px; }
.act-recorrido-barras { display:flex; flex-direction:column; gap:15px; }
.act-recorrido-barra-item { min-width:0; }
.act-recorrido-barra-etiqueta { display:flex; justify-content:space-between; gap:12px; margin-bottom:5px; color:#52656e; font-size:10px; }
.act-recorrido-barra-etiqueta span { min-width:0; overflow-wrap:anywhere; }
.act-recorrido-barra-etiqueta strong { flex:0 0 auto; color:#174f68; }
.act-recorrido-barra-etiqueta em { margin-left:4px; color:#247044; font-size:9px; font-style:normal; font-weight:700; }
.act-recorrido-barra-pista { height:10px; overflow:hidden; background:#edf1f3; border-radius:3px; }
.act-recorrido-barra-pista span { display:block; height:100%; background:#147895; border-radius:3px; }
.act-recorrido-barra-en-curso .act-recorrido-barra-pista span { background:#318253; }
.act-recorrido-demoras { margin-top:24px; padding-top:20px; border-top:1px solid #dce5e9; }
.act-recorrido-demoras p { margin:0 0 16px; color:#52656e; font-size:11px; line-height:1.5; }
.act-recorrido-demoras .act-recorrido-barra-pista span { background:#f2c230; }
.act-recorrido-vacio { padding:24px; color:#74828a; text-align:center; }

/* Mapa interactivo de relaciones generado con la copia local de Cytoscape.js. */
.act-mapa-relaciones { margin:0 0 22px; background:#fff; border:1px solid #dce3e7; border-radius:6px; overflow:hidden; }
.act-mapa-cabecera { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; background:#f6f8f9; border-bottom:1px solid #dce3e7; }
.act-mapa-cabecera h3 { margin:0 0 3px; color:#263b45; font-size:16px; font-weight:600; }
.act-mapa-cabecera h3 i { margin-right:7px; color:#147895; }
.act-mapa-cabecera p { margin:0; color:#6a7980; font-size:11px; }
.act-mapa-acciones { display:flex; flex:0 0 auto; gap:6px; }
.act-mapa-acciones .btn { width:36px; height:34px; padding:6px; }
.act-mapa-ayuda { padding:13px 18px; color:#52636c; background:#eef7fa; border-bottom:1px solid #c7e0e8; font-size:11px; line-height:1.45; }
.act-mapa-ayuda p { margin:4px 0 8px; }
.act-mapa-leyenda { display:flex; flex-wrap:wrap; gap:12px; }
.act-mapa-leyenda span { display:inline-flex; align-items:center; gap:5px; }
.act-mapa-leyenda i { display:inline-block; width:16px; height:4px; background:#318253; }
.act-mapa-leyenda i.pendiente { background:#d78516; }
.act-mapa-leyenda i.anulado { background:#b13a32; }
.act-mapa-leyenda i.actual { width:11px; height:11px; background:#318253; border:2px solid #cce7d6; border-radius:50%; }
.act-mapa-contenedor { width:100%; height:460px; background:#fbfcfd; }

@media (max-width: 900px) {
    .act-recorrido-referencia { grid-template-columns:1fr 1fr; }
    .act-recorrido-grid { grid-template-columns:1fr; }
    .act-recorrido-grafico { padding:20px 0 0; border-top:1px solid #e1e6e9; border-left:0; }
}
@media (max-width: 560px) {
    .act-recorrido-cabecera { align-items:flex-start; flex-direction:column; }
    .act-recorrido-referencia { grid-template-columns:1fr; }
    .act-recorrido-grid { padding:14px 10px; }
    .act-recorrido-ruta { align-items:flex-start; flex-direction:column; gap:3px; }
    .act-recorrido-ruta i { transform:rotate(90deg); }
    .act-mapa-cabecera { align-items:flex-start; }
    .act-mapa-contenedor { height:380px; }
}

@media (max-width:767px) {
    .act-movimientos-tabla { min-width:900px; }
    .act-movimientos-aviso { align-items:flex-start; }
}

/* Resumen y listado completo de documentos electronicos. */
.e-docs-aviso { margin:12px 0; padding:10px 12px; color:#375a66; background:#eef7fa; border:1px solid #c7e0e8; border-left:3px solid #147895; border-radius:4px; font-size:12px; line-height:1.4; }
.e-docs-aviso i { margin-right:7px; color:#147895; }
.e-docs-aviso-completo { color:#3f5f4b; background:#f0f8f3; border-color:#c9dfd0; border-left-color:#318252; }
.e-docs-aviso-completo i { color:#318252; }
.e-docs-ver-todos-wrap { clear:both; padding-top:12px; }
.e-docs-ver-todos { color:#0e7099; background:#fff; border-color:#b8d6e0; border-radius:4px; font-weight:600; }
.e-docs-ver-todos:hover,
.e-docs-ver-todos:focus { color:#0a5975; background:#eef7fa; border-color:#8bbdcd; }
.e-docs-todos { padding:24px; color:#3c4043; background:#fff; font-family:Arial, Helvetica, sans-serif; }
.e-docs-resumen { display:grid; grid-template-columns:repeat(4, minmax(110px, 1fr)); margin:20px 0; background:#f7f9fa; border:1px solid #dfe4e7; border-radius:6px; overflow:hidden; }
.e-docs-resumen > div { display:flex; align-items:baseline; gap:8px; min-width:0; padding:14px 16px; border-right:1px solid #dfe4e7; }
.e-docs-resumen > div:last-child { border-right:0; }
.e-docs-resumen strong { color:#202124; font-size:22px; font-weight:500; }
.e-docs-resumen span { color:#65727a; font-size:12px; }
.e-docs-toolbar { display:grid; grid-template-columns:minmax(240px, 1fr) 160px 160px 150px; gap:8px; margin-bottom:8px; }
.e-docs-toolbar select,
.e-docs-buscar { height:42px; color:#3c4043; background:#fff; border:1px solid #cfd7dc; border-radius:4px; }
.e-docs-toolbar select { padding:0 10px; font-size:13px; }
.e-docs-buscar { display:flex; align-items:center; padding:0 11px; }
.e-docs-buscar i { margin-right:8px; color:#70818a; }
.e-docs-buscar input { width:100%; min-width:0; height:38px; padding:0; background:transparent; border:0; outline:0; font-size:14px; }
.e-docs-toolbar select:focus,
.e-docs-buscar:focus-within { border-color:#147895; box-shadow:0 0 0 1px #147895; outline:0; }
.e-docs-resultados { margin:0 0 10px; color:#6b747b; font-size:12px; text-align:right; }
.e-docs-listado-completo { max-width:none; border-top:1px solid #dfe4e7; }
.e-docs-listado-completo > br:first-child { display:none; }
.e-docs-listado-completo > a { display:inline-flex; align-items:center; gap:5px; margin:12px 0 2px; color:#0e7099; font-size:12px; font-weight:600; }
.e-docs-item { display:grid; grid-template-columns:38px 42px minmax(0,1fr); align-items:start; padding:13px 10px; background:#fff; border-bottom:1px solid #e4e7eb; transition:background .15s; }
.e-docs-item:hover { background:#f8fafb; }
.e-docs-item-resumen { grid-template-columns:30px 34px minmax(0,1fr); padding:7px 6px; }
.e-docs-item-resumen .e-docs-numero { padding-top:2px; font-size:11px; }
.e-docs-item-resumen .e-docs-icono { width:27px; height:27px; }
.e-docs-item-resumen .e-docs-icono img { max-width:19px; max-height:21px; }
.e-docs-item-resumen .e-docs-fecha { margin-top:0; color:#849198; font-size:9px; }
.e-docs-item-resumen .e-docs-descripcion { margin-bottom:3px; line-height:1.2; }
.e-docs-item-resumen .e-docs-descripcion a { font-size:12px; }
.e-docs-item-resumen .e-docs-meta { gap:5px; font-size:10px; line-height:1.15; }
.e-docs-item-resumen .e-docs-meta > span:first-child { font-size:9px; }
.e-docs-item-resumen .e-docs-chip { padding:2px 5px; font-size:9px; }
.e-docs-item-resumen .e-docs-acciones-item { margin-top:4px; line-height:1.2; }
.e-docs-numero { padding-top:4px; color:#78868d; font-size:12px; font-weight:600; }
.e-docs-icono { display:flex; width:34px; height:34px; align-items:center; justify-content:center; background:#f2f5f6; border-radius:4px; }
.e-docs-icono img { display:block; max-width:24px; max-height:26px; }
.e-docs-contenido { min-width:0; }
.e-docs-fecha { float:right; margin:2px 0 4px 12px; color:#77858d; font-size:11px; white-space:nowrap; }
.e-docs-descripcion { margin:0 0 6px; padding:0; line-height:1.35; }
.e-docs-descripcion a { color:#174f68; font-size:14px; font-weight:600; text-decoration:none; }
.e-docs-descripcion a:hover { color:#0e7099; text-decoration:underline; }
.e-docs-meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; color:#6b747b; font-size:11px; }
.e-docs-meta > span { min-width:0; }
.e-docs-item-completo .e-docs-meta > span:nth-child(2) { max-width:360px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.e-docs-chip { display:inline-flex; align-items:center; gap:3px; padding:3px 6px; color:#52636c; background:#f5f7f8; border:1px solid #dce2e5; border-radius:10px; font-size:10px; font-weight:600; line-height:1; }
/* Estados destacados de documentos: externo en rojo y firmado en verde intenso. */
.e-docs-chip-externo { color:#a61b1b; background:#ffebeb; border-color:#e59a9a; }
.e-docs-chip-firmado { color:#0f6b37; background:#e3f5e9; border-color:#84c69d; }
.e-docs-chip-borrador { color:#925226; background:#fff4eb; border-color:#efc8ab; }
.e-docs-acciones-item { margin-top:8px; color:#64747c; font-size:11px; }
.e-docs-acciones-item > .fa-lock,
.e-docs-acciones-item > .fa-unlock { margin-right:6px; }
.e-docs-acciones-item .btn { margin:3px 5px 0 0; padding:5px 8px; border-radius:4px; font-size:11px; }
.e-docs-acciones-item .btn img { width:15px; margin-right:4px; }
.e-docs-acciones-item:empty { display:none; }
.e-docs-sin-resultados { padding:38px 20px; color:#74828a; background:#fafbfc; border:1px solid #e1e6e9; text-align:center; }
.e-docs-sin-resultados i { margin-right:6px; }

@media (max-width:900px) {
    .e-docs-toolbar { grid-template-columns:1fr 1fr; }
    .e-docs-buscar { grid-column:1 / span 2; }
}
@media (max-width:600px) {
    .e-docs-todos { padding:16px 12px; }
    .e-docs-resumen { grid-template-columns:1fr 1fr; }
    .e-docs-resumen > div:nth-child(2) { border-right:0; }
    .e-docs-resumen > div:nth-child(-n+2) { border-bottom:1px solid #dfe4e7; }
    .e-docs-toolbar { grid-template-columns:1fr; }
    .e-docs-buscar { grid-column:auto; }
    .e-docs-item { grid-template-columns:28px 36px minmax(0,1fr); padding:12px 4px; }
    .e-docs-fecha { float:none; margin:0 0 5px; }
    .e-docs-item-completo .e-docs-meta > span:nth-child(2) { max-width:210px; }
}

/* Resumen y listado completo de notas electronicas. */
.e-notas-aviso { margin:10px 0 12px; padding:10px 12px; color:#375a66; background:#eef7fa; border:1px solid #c7e0e8; border-left:3px solid #147895; border-radius:4px; font-size:12px; line-height:1.4; }
.e-notas-aviso i { margin-right:7px; color:#147895; }
.e-notas-aviso-completo { color:#3f5f4b; background:#f0f8f3; border-color:#c9dfd0; border-left-color:#318252; }
.e-notas-aviso-completo i { color:#318252; }
.e-notas-ver-todas-wrap { clear:both; padding-top:12px; }
.e-notas-ver-todas { color:#0e7099; background:#fff; border-color:#b8d6e0; border-radius:4px; font-weight:600; }
.e-notas-ver-todas:hover,
.e-notas-ver-todas:focus { color:#0a5975; background:#eef7fa; border-color:#8bbdcd; }
.e-notas-todas { padding:24px; color:#3c4043; background:#fff; font-family:Arial, Helvetica, sans-serif; }
.e-notas-resumen { display:grid; grid-template-columns:repeat(4, minmax(110px,1fr)); margin:20px 0; background:#f7f9fa; border:1px solid #dfe4e7; border-radius:6px; overflow:hidden; }
.e-notas-resumen > div { display:flex; align-items:baseline; gap:8px; min-width:0; padding:14px 16px; border-right:1px solid #dfe4e7; }
.e-notas-resumen > div:last-child { border-right:0; }
.e-notas-resumen strong { color:#202124; font-size:22px; font-weight:500; }
.e-notas-resumen span { color:#65727a; font-size:12px; }
.e-notas-toolbar { display:grid; grid-template-columns:minmax(260px,1fr) 170px 170px; gap:8px; margin-bottom:8px; }
.e-notas-toolbar select,
.e-notas-buscar { height:42px; color:#3c4043; background:#fff; border:1px solid #cfd7dc; border-radius:4px; }
.e-notas-toolbar select { padding:0 10px; font-size:13px; }
.e-notas-buscar { display:flex; align-items:center; padding:0 11px; }
.e-notas-buscar i { margin-right:8px; color:#70818a; }
.e-notas-buscar input { width:100%; min-width:0; height:38px; padding:0; background:transparent; border:0; outline:0; font-size:14px; }
.e-notas-toolbar select:focus,
.e-notas-buscar:focus-within { border-color:#147895; box-shadow:0 0 0 1px #147895; outline:0; }
.e-notas-resultados { margin:0 0 10px; color:#6b747b; font-size:12px; text-align:right; }
.e-notas-listado-completo { max-width:none; }
.e-notas-listado > hr { margin:16px 0 9px; border-color:#dfe4e7; }
.e-notas-listado > strong { display:block; margin-bottom:7px; color:#4e5c63; font-size:13px; }
.e-notas-item { display:grid; grid-template-columns:38px 42px minmax(0,1fr); align-items:start; padding:13px 10px; background:#fff; border-bottom:1px solid #e4e7eb; transition:background .15s; }
.e-notas-item:hover { background:#f8fafb; }
.e-notas-item-resumen { grid-template-columns:30px 34px minmax(0,1fr); padding:7px 6px; }
.e-notas-numero { padding-top:4px; color:#78868d; font-size:12px; font-weight:600; }
.e-notas-icono { display:flex; width:34px; height:34px; align-items:center; justify-content:center; background:#f2f5f6; border-radius:4px; }
.e-notas-icono img { display:block; max-width:24px; max-height:26px; }
.e-notas-contenido { min-width:0; }
.e-notas-encabezado { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:12px; }
.e-notas-fecha { margin:2px 0 4px; color:#77858d; font-size:11px; white-space:nowrap; text-align:right; }
.e-notas-referencia { margin:0 0 6px; padding:0; line-height:1.35; }
.e-notas-referencia a { color:#174f68; font-size:14px; font-weight:600; text-decoration:none; }
.e-notas-referencia span { font-weight:400 !important; }
.e-notas-referencia a:hover { color:#0e7099; text-decoration:underline; }
.e-notas-meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; color:#6b747b; font-size:11px; }
.e-notas-chip { display:inline-flex; align-items:center; gap:3px; padding:3px 6px; color:#52636c; background:#f5f7f8; border:1px solid #dce2e5; border-radius:10px; font-size:10px; font-weight:600; line-height:1; }
/* Estados destacados de notas: externo rojo, firmada verde y pendiente naranja. */
.e-notas-chip-externo { color:#a61b1b; background:#ffebeb; border-color:#e59a9a; }
.e-notas-chip-firmada { color:#0f6b37; background:#e3f5e9; border-color:#84c69d; }
.e-notas-chip-pendiente { color:#9a5700; background:#fff2d6; border-color:#e9b85c; }
.e-notas-chip-borrador { color:#925226; background:#fff4eb; border-color:#efc8ab; }
.e-notas-acciones-item { margin-top:8px; color:#64747c; font-size:11px; }
.e-notas-acciones-item .btn { margin:3px 5px 0 0; padding:5px 8px; border-radius:4px; font-size:11px; }
.e-notas-item-resumen .e-notas-numero { padding-top:2px; font-size:11px; }
.e-notas-item-resumen .e-notas-icono { width:27px; height:27px; }
.e-notas-item-resumen .e-notas-icono img { max-width:19px; max-height:21px; }
.e-notas-item-resumen .e-notas-fecha { margin-top:0; color:#849198; font-size:9px; }
.e-notas-item-resumen .e-notas-referencia { margin-bottom:3px; line-height:1.2; }
.e-notas-item-resumen .e-notas-referencia a { font-size:12px; }
.e-notas-item-resumen .e-notas-meta { gap:5px; font-size:10px; line-height:1.15; }
.e-notas-item-resumen .e-notas-meta > span:first-child { font-size:9px; }
.e-notas-item-resumen .e-notas-chip { padding:2px 5px; font-size:9px; }
.e-notas-item-resumen .e-notas-acciones-item { margin-top:4px; line-height:1.2; }
.e-notas-acciones-item:empty { display:none; }
.e-listado-aviso { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:12px; }
.e-listado-aviso > span { min-width:0; }
.e-listado-toggle { flex:0 0 auto; padding:5px 9px; color:#0e7099; background:#fff; border-color:#b8d6e0; font-size:10px; font-weight:600; }
.e-listado-toggle:hover,
.e-listado-toggle:focus { color:#0a5975; background:#f7fbfc; border-color:#8bbdcd; }
.e-listado-candado { margin-left:4px; color:#687980; font-size:10px; }
.e-notas-sin-resultados { padding:38px 20px; color:#74828a; background:#fafbfc; border:1px solid #e1e6e9; text-align:center; }

@media (max-width:800px) {
    .e-notas-toolbar { grid-template-columns:1fr 1fr; }
    .e-notas-buscar { grid-column:1 / span 2; }
}
@media (max-width:600px) {
    .e-notas-todas { padding:16px 12px; }
    .e-notas-resumen { grid-template-columns:1fr 1fr; }
    .e-notas-resumen > div:nth-child(2) { border-right:0; }
    .e-notas-resumen > div:nth-child(-n+2) { border-bottom:1px solid #dfe4e7; }
    .e-notas-toolbar { grid-template-columns:1fr; }
    .e-notas-buscar { grid-column:auto; }
    .e-notas-item { grid-template-columns:28px 36px minmax(0,1fr); padding:12px 4px; }
    .e-notas-encabezado { grid-template-columns:1fr; gap:2px; }
    .e-notas-fecha { margin:0 0 5px; white-space:normal; text-align:left; }
}
