/* Operación Mapache. Estilos limitados al panel y a su acceso. */
@font-face{font-family:Roboto;src:url('../servidorole/css/fonts/Roboto-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Roboto;src:url('../servidorole/css/fonts/Roboto-Bold.woff') format('woff');font-weight:700;font-display:swap}
body#admin,body.panel-login{--panel-ink:#394b58;--panel-mint:#5dcbac;color:var(--panel-ink);background:#f3f6f7;font-family:Roboto,'Segoe UI',sans-serif;line-height:1.6}
#admin :where(h1,h2,h3,h4,h5,h6,p,a,span,div,label,input,textarea,select,option,button,table,th,td,strong,b,small,li,legend,fieldset),.panel-login :where(h1,h2,h3,h4,h5,h6,p,a,span,div,label,input,textarea,select,option,button,strong,b,small){font-family:Roboto,'Segoe UI',sans-serif}
#admin :is(h1,h2,h3,h4,h5,h6),.panel-login :is(h1,h2,h3,h4,h5,h6){font-family:Roboto,'Segoe UI',sans-serif;color:var(--panel-ink)}
#admin .cabecera{min-height:110px;background:linear-gradient(105deg,#eee 0%,#eee 72%,#5dcbac55 100%)!important;border-bottom:0;box-shadow:0 3px 18px #394b5810!important;gap:12px}
#admin .cabecera img{width:340px;max-width:100%;height:auto}
#admin .cabecera>div{display:flex;gap:8px;flex-wrap:wrap}
#admin .cabecera .btn{font-size:.85rem;margin:0!important}
#admin .cabecera .btn-danger{background:#394b58;border-color:#394b58;color:#fff}
#admin .cabecera .icono-menu{position:static;color:#394b58;border:1px solid #d5e0e4;border-radius:8px}
#admin .sidebar{top:110px;padding:0 12px 14px;background:linear-gradient(180deg,#eee 0%,#eee 68%,#5dcbac55 100%);overflow-y:auto;border-right:0;border-top-right-radius:0;box-shadow:none}
#admin .sidebar>.position-sticky{margin-left:0!important}
#admin .sidebar-heading{color:#56666d!important;font-size:.75rem;font-weight:700;letter-spacing:.13em;padding-left:12px!important}
#admin .sidebar ul{margin-left:0!important;gap:4px}
#admin .sidebar .nav-link{color:#394b58;font-size:.95rem;font-weight:400;border-radius:8px;padding:10px 12px;transition:background .15s ease}
#admin .sidebar .nav-link i{margin-right:8px;color:#28745f}
#admin .sidebar .nav-link:hover,#admin .sidebar .nav-link[aria-current=page]{color:#173e32;background:#baf0dd;font-weight:700}
#admin .panel-user-info{position:sticky;bottom:0;display:grid;grid-template-columns:24px 1fr;align-items:center;gap:0 8px;padding:12px 10px;margin-top:16px;border-top:1px solid #5dcbac66;background:linear-gradient(100deg,#eee 0%,#eee 78%,#5dcbac24 100%);font-weight:700;color:#394b58}
#admin .panel-user-info i{grid-row:span 2;color:#28745f;font-size:1.2rem}
#admin .panel-user-info small{font-weight:400;color:#61737a}
#admin main{padding-bottom:40px;padding-top:12px;min-width:0;min-height:calc(100vh - 110px);border-top:4px solid #5dcbac;border-left:4px solid #5dcbac;border-top-left-radius:18px}
#admin .panel-context{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.8rem;color:#657985;margin-bottom:20px}
#admin main>.row:has(h1),#admin main>.d-flex.border-bottom,.panel-title{background:transparent;color:var(--panel-ink);border:0!important;border-radius:0;padding:0!important;margin:0 0 14px!important;box-shadow:none}
#admin main>.row:has(h1) h1,#admin main>.d-flex.border-bottom h1,#admin .panel-title,#admin .panel-title h1{color:var(--panel-ink);margin-bottom:0;font-size:1.5rem}
#admin main>.row:has(h1) hr{display:none}
#admin .panel-card,#admin main>div.bg-light,#admin main>.row>form{background:#fff;border:1px solid #d6e8e1!important;border-radius:12px;padding:24px;box-shadow:0 4px 18px #394b5808}
#admin .btn,.panel-login .btn{border-radius:8px;font-weight:700;padding:.55rem 1rem}
#admin .btn-primary,#admin .btn-warning,.panel-login .btn-primary{background:#5dcbac;border-color:#5dcbac;color:#173e32!important}
#admin .btn-secondary,#admin .btn-outline-secondary{background:#394b58;border-color:#394b58;color:#fff!important}
#admin .btn-primary:hover,#admin .btn-warning:hover,.panel-login .btn-primary:hover{background:#4abb9b;border-color:#4abb9b}
#admin .btn-info{background:#e6f6f0;color:#245f4d;border-color:#b7dfd0}
#admin .btn-sm{padding:.3rem .65rem}
/* Títulos compactos y acciones alineadas en una fila. */
#admin main>.row:has(h1){align-items:center;flex-wrap:nowrap;gap:16px}
#admin main>.row:has(h1)>div:has(h1){flex:1 1 180px;width:auto;min-width:0;padding:0}
#admin main>.row:has(h1)>div:has(>.btn){display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;width:auto;max-width:100%;gap:10px;padding:3px;overflow-x:auto}
#admin main>.row:has(h1)>div:has(>.btn)>.btn,#admin .panel-title>.btn{flex:none;white-space:nowrap;margin:0!important;font-size:.9rem;line-height:1.5;padding:.65rem .9rem}
#admin main>.row:has(h1)>div:has(>.btn)>.btn:hover,#admin .panel-title>.btn:hover{filter:brightness(.94)}
@media(max-width:991.98px){#admin main>.row:has(h1){flex-wrap:wrap}#admin main>.row:has(h1)>div:has(>.btn){flex:1 1 100%;justify-content:flex-start}}
#admin .form-control,#admin .form-select,.panel-login .form-control{border-color:#d0dce1;border-radius:8px;min-height:44px}
#admin .form-control:focus,#admin .form-select:focus,.panel-login .form-control:focus{border-color:#5dcbac;box-shadow:0 0 0 .2rem #5dcbac30}
#admin .form-check-input:checked{background-color:#2d8068;border-color:#2d8068}
#admin a:focus-visible,#admin button:focus-visible,.panel-login a:focus-visible{outline:3px solid #5dcbac;outline-offset:3px}
#admin .table{background:#fff;color:#394b58;--bs-table-striped-bg:#f5f9f8;font-size:.93rem}
#admin .table>thead{background:#394b58;color:#fff}
#admin .table>thead.table-light{background:#f5f7f8;color:#394B58;--bs-table-color:#394B58}
#admin .table>:not(caption)>*>*{padding:12px;border-color:#dce7e8;vertical-align:middle}
#admin .table-responsive{overflow-x:auto;border-radius:10px}
#admin .panel-banner-thumbnail{width:130px;height:62px;object-fit:cover;border-radius:8px}
#admin .nota-modal-ventana{max-height:90vh;overflow:auto}
.panel-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top left,#5dcbac26,transparent 60%),#f3f6f7!important}
.panel-login-card{width:min(100%,460px);padding:36px;background:#fff;border:1px solid #5dcbac66;border-radius:12px;box-shadow:0 16px 50px #394b5812;border-top:5px solid #5dcbac}
.panel-login-card img{width:100%;max-width:310px;height:auto;display:block;margin:0 auto 28px}
.panel-login-card h1{font-size:1.7rem;margin-bottom:8px}.panel-login-card a{color:#256650}.panel-login-card label{font-weight:700}
@media(min-width:768px){#admin .sidebar{width:245px}#admin .sidebar>.position-sticky{min-height:calc(100vh - 124px);display:flex;flex-direction:column}#admin .panel-user-info{margin-top:auto}#admin main{margin-left:245px!important;width:calc(100% - 245px)}}
@media(max-width:767.98px){#admin .cabecera{padding:12px!important}#admin .cabecera img{width:250px;max-width:calc(100vw - 100px)}#admin .cabecera>div{width:100%;justify-content:flex-end}#admin .sidebar{top:0;position:relative;max-height:65vh;width:100%;border-bottom:1px solid #dce7e8}#admin main{padding-inline:16px;border-left:0;border-top-left-radius:0}.panel-login-card{padding:24px}#admin .panel-banner-thumbnail{width:90px}}
@media(prefers-reduced-motion:reduce){#admin *{transition:none!important}}

/* Cabeceras compactas de Tutoría: título corporativo y separador verde agua. */
#admin .tutoria-cabecera{background:transparent;border:0;border-bottom:1px solid #5DCBAC;border-radius:0;padding:0 0 8px;margin:0 0 16px;color:#394B58}
#admin .tutoria-cabecera h1{color:#394B58;font-size:1.5rem;line-height:1.25;margin:0 0 4px;font-weight:600}
#admin .tutoria-cabecera p{color:#61737a;font-size:.9rem;line-height:1.4;margin:0}
#admin .tutoria-seccion{background:transparent;border-bottom:1px solid #5DCBAC;border-radius:0;padding:8px 12px;color:#394B58}
#admin .tutoria-seccion h2{color:#394B58;font-weight:600;font-size:1.05rem;margin:0}
#admin .tutoria-seccion .tutoria-ficha-titulo{font-size:calc(1.25rem + 2pt)}

.jornadas {font-family:Roboto, sans-serif;color:#394B58}
.jornadas-publica {
    min-height:100vh;
    background-color:#edf0f2;
    background-image:radial-gradient(circle,rgba(93,203,172,.48) 1px,transparent 1.6px),
        radial-gradient(ellipse at 30% 25%,rgba(93,203,172,.24),transparent 56%),
        linear-gradient(145deg,#f5f6f7,#e2e7ea);
    background-size:16px 16px,165% 150%,100% 100%;
    animation:jornadas-fondo 20s ease-in-out infinite alternate;
}
.jornadas-publica .jornadas-logo {display:block;width:280px;max-width:80%;height:auto}
@keyframes jornadas-fondo {
    from {background-position:0 0,0% 0%,0 0}
    to {background-position:16px 16px,100% 80%,0 0}
}
@media (prefers-reduced-motion:reduce) {
    .jornadas-publica {animation:none}
}
.jornadas .jornadas-cabecera {border-bottom:1px solid #5DCBAC;padding:0 0 8px;margin:0 0 16px;color:#394B58}
.jornadas .jornadas-cabecera h1 {color:inherit;font-weight:600}
.jornadas .jornadas-principal {background:#5DCBAC;color:#26343e;border-color:#5DCBAC}
.jornadas .jornadas-principal:hover {background:#78d8bd;color:#26343e}
.jornadas .jornadas-atras {background:#e6a048;color:#26343e;font-weight:600}
.jornadas .jornadas-atras:hover {background:#efb367;color:#26343e}
.jornadas .jornadas-formulario-publico {background:#17639b;color:#fff}
.jornadas .jornadas-formulario-publico:hover {background:#124f7c;color:#fff}
.jornadas .jornadas-enviar {background:#b9e5f8;color:#233b49;font-weight:600}
.jornadas .jornadas-enviar:hover {background:#9bd8f4;color:#233b49}
.jornadas .jornadas-enviar[aria-disabled="true"] {opacity:.65;cursor:not-allowed}
.panel-acciones-registro {display:inline-flex;align-items:center;gap:.15rem;vertical-align:middle;margin-inline-start:.25rem}
#admin .panel-icono-accion {display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;color:#76828b;background:transparent;text-decoration:none;font-size:1rem;cursor:pointer}
#admin .panel-icono-accion:is(:hover,:focus-visible) {color:#18735d;text-shadow:0 0 6px rgba(93,203,172,.5)}
#admin .panel-icono-accion:focus-visible {outline:2px solid currentColor;outline-offset:1px;border-radius:4px}
#admin .panel-icono-borrar:is(:hover,:focus-visible) {color:#b42332;text-shadow:0 0 6px rgba(180,35,50,.3)}
.jornadas :is(.form-control,.form-select):focus {border-color:#5DCBAC;box-shadow:0 0 0 .2rem rgba(93,203,172,.25)}
.jornadas .jornadas-descripcion {white-space:pre-wrap}
.jornadas .jornadas-confirmacion {width:min(32rem,calc(100% - 2rem));border:1px solid #5DCBAC;color:#394B58}
.jornadas .jornadas-confirmacion::backdrop {background:rgba(57,75,88,.48)}

.jornadas .jornadas-estado-completo {background:#23734f;color:#fff}
.jornadas .jornadas-estado-interesado {background:#b9e5f8;color:#233b49}
.jornadas .jornadas-estado-sin-pagar {background:#b42332;color:#fff}
.jornadas .jornadas-estado-sin-asignar {background:#e9ecef;color:#394B58}
