/* LuJuBO Family · Docente · Blue Obsidian Convergence Build 005 */
:root{
  --bo-bg:#020617;--bo-bg-2:#050b18;--bo-surface:#081427;--bo-surface-2:#0b1d36;
  --bo-surface-3:#10294c;--bo-border:rgba(96,165,250,.20);--bo-border-strong:rgba(96,165,250,.42);
  --bo-text:#f8fafc;--bo-muted:#9fb2ca;--bo-primary:#2563eb;--bo-primary-2:#3b82f6;
  --bo-soft:#93c5fd;--bo-success:#22c55e;--bo-warning:#f59e0b;--bo-danger:#ef4444;
  --bo-radius:16px;--bo-shadow:0 18px 44px rgba(0,0,0,.30)
}
.docente-content{color:var(--bo-text)}
.docente-content :is(h1,h2,h3,h4,h5,h6){color:var(--bo-text);font-weight:800;letter-spacing:-.018em}
.docente-content :is(p,small,.text-muted,.form-text){color:var(--bo-muted)!important}
.docente-content a:not(.btn){color:#93c5fd;text-decoration-color:rgba(147,197,253,.35)}
.docente-content a:not(.btn):hover{color:#dbeafe}

.docente-content :is(.container,.container-fluid){max-width:1320px}
.docente-content :is(.card,.panel,.box,.content-box,.section-card){
  color:var(--bo-text);border:1px solid var(--bo-border)!important;border-radius:var(--bo-radius)!important;
  background:linear-gradient(145deg,rgba(11,29,54,.94),rgba(5,14,31,.96))!important;
  box-shadow:var(--bo-shadow)
}
.docente-content .card-header{
  color:var(--bo-text);border-bottom:1px solid var(--bo-border)!important;
  background:linear-gradient(90deg,rgba(37,99,235,.17),rgba(11,29,54,.70))!important
}
.docente-content .card-footer{border-top:1px solid var(--bo-border)!important;background:rgba(2,6,23,.34)!important}

.docente-content :is(.table-responsive,.table-container){border:1px solid var(--bo-border);border-radius:15px;overflow:auto;background:rgba(3,10,24,.72);box-shadow:0 12px 28px rgba(0,0,0,.22)}
.docente-content table{--bs-table-bg:transparent;--bs-table-color:var(--bo-text);--bs-table-border-color:var(--bo-border);color:var(--bo-text)!important;margin-bottom:0}
.docente-content table thead :is(th,td){position:relative;color:#dbeafe!important;background:#0b2142!important;border-color:var(--bo-border)!important;font-weight:800;white-space:nowrap}
.docente-content table tbody :is(td,th){color:#d8e5f5!important;background:rgba(6,18,39,.72)!important;border-color:var(--bo-border)!important;vertical-align:middle}
.docente-content table tbody tr:nth-child(even) :is(td,th){background:rgba(11,29,54,.72)!important}
.docente-content table tbody tr:hover :is(td,th){background:rgba(37,99,235,.14)!important}

.docente-content :is(.form-label,label){color:#dbeafe;font-weight:700}
.docente-content :is(.form-control,.form-select,input[type="text"],input[type="number"],input[type="email"],input[type="date"],input[type="time"],input[type="password"],textarea,select){
  color:var(--bo-text)!important;border:1px solid var(--bo-border)!important;border-radius:12px!important;background:#061329!important;
  min-height:42px;box-shadow:inset 0 1px 0 rgba(255,255,255,.018)
}
.docente-content :is(.form-control,.form-select,input,textarea,select):focus{
  border-color:var(--bo-primary-2)!important;box-shadow:0 0 0 .2rem rgba(37,99,235,.18)!important;outline:0
}
.docente-content :is(input,textarea)::placeholder{color:#7187a5!important}
.docente-content .form-check-input{background-color:#071a36;border-color:rgba(96,165,250,.46)}
.docente-content .form-check-input:checked{background-color:var(--bo-primary);border-color:var(--bo-primary)}
.docente-content .input-group-text{color:#bfdbfe;border-color:var(--bo-border);background:#0b2142}

.docente-content .btn{border-radius:11px;font-weight:750;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.docente-content .btn:hover{transform:translateY(-1px)}
.docente-content :is(.btn-primary,.btn-info){color:#fff;border-color:rgba(147,197,253,.16);background:linear-gradient(135deg,var(--bo-primary-2),#1d4ed8);box-shadow:0 8px 20px rgba(29,78,216,.24)}
.docente-content :is(.btn-primary,.btn-info):hover{filter:brightness(1.08)}
.docente-content .btn-secondary{color:#dbeafe;border-color:var(--bo-border);background:#10294c}
.docente-content .btn-success{background:linear-gradient(135deg,#22c55e,#15803d);border-color:rgba(134,239,172,.18)}
.docente-content .btn-warning{color:#1c1300;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-color:rgba(253,230,138,.28)}
.docente-content .btn-danger{background:linear-gradient(135deg,#ef4444,#b91c1c);border-color:rgba(254,202,202,.18)}
.docente-content :is(.btn-outline-primary,.btn-outline-info){color:#93c5fd;border-color:rgba(96,165,250,.46)}
.docente-content :is(.btn-outline-primary,.btn-outline-info):hover{color:#fff;background:var(--bo-primary);border-color:var(--bo-primary)}

.docente-content :is(.alert,.callout){border-radius:14px;border-width:1px;background:rgba(11,29,54,.86);color:var(--bo-text)}
.docente-content .alert-info{border-color:rgba(56,189,248,.38);background:rgba(8,47,73,.72);color:#d9f5ff}
.docente-content .alert-success{border-color:rgba(34,197,94,.38);background:rgba(5,46,22,.70);color:#dcfce7}
.docente-content .alert-warning{border-color:rgba(245,158,11,.40);background:rgba(69,38,3,.72);color:#fef3c7}
.docente-content .alert-danger{border-color:rgba(239,68,68,.42);background:rgba(69,10,10,.72);color:#fee2e2}
.docente-content .badge{border-radius:999px;padding:.42em .66em;font-weight:750}
.docente-content .nav-tabs{border-bottom-color:var(--bo-border)}
.docente-content .nav-tabs .nav-link{color:#a9bdd6;border-color:transparent}
.docente-content .nav-tabs .nav-link.active{color:#fff;border-color:var(--bo-border) var(--bo-border) #0b1d36;background:#0b1d36}
.docente-content :is(.pagination .page-link){color:#bfdbfe;border-color:var(--bo-border);background:#081a35}
.docente-content :is(.pagination .active>.page-link,.page-link.active){color:#fff;background:var(--bo-primary);border-color:var(--bo-primary)}

.modal-content{color:var(--bo-text);border:1px solid var(--bo-border-strong);border-radius:18px;background:linear-gradient(145deg,#0b1d36,#050d1f);box-shadow:0 28px 70px rgba(0,0,0,.55)}
.modal-header,.modal-footer{border-color:var(--bo-border)}
.modal .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}
.dropdown-menu{color:var(--bo-text);border-color:var(--bo-border);background:#08172e;box-shadow:var(--bo-shadow)}
.dropdown-item{color:#dbeafe}.dropdown-item:hover{color:#fff;background:rgba(37,99,235,.22)}

@media(max-width:767.98px){
  .docente-content{padding:18px 12px}
  .docente-content :is(.card-body,.panel-body){padding:16px!important}
  .docente-content .btn{min-height:42px}
  .docente-content table{min-width:680px}
}
@media(prefers-reduced-motion:reduce){.docente-content .btn{transition:none}.docente-content .btn:hover{transform:none}}

/* ===== Build 006 · Convergencia ampliada ===== */
.docente-skip-link{position:fixed;top:10px;left:10px;z-index:99999;padding:10px 14px;border-radius:10px;color:#fff;background:#2563eb;transform:translateY(-160%);transition:transform .18s ease;text-decoration:none;font-weight:800}
.docente-skip-link:focus{transform:translateY(0)}
.docente-content{min-height:52vh}
.docente-content>*:first-child{margin-top:0}
.docente-content :is(.section-title,.page-title,.titulo-seccion,.title){color:#f8fafc!important}
.docente-content .section-title{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:14px 17px;border:1px solid var(--bo-border);border-radius:14px;background:linear-gradient(90deg,rgba(37,99,235,.18),rgba(8,20,39,.82));box-shadow:0 12px 28px rgba(0,0,0,.20)}
.docente-content :is(.subtitle,.muted,.info-label,.label,.lbl,.mini){color:var(--bo-muted)!important}
.docente-content :is(.border,.border-top,.border-bottom,.border-start,.border-end){border-color:var(--bo-border)!important}
.docente-content :is(.bg-white,.bg-light){color:var(--bo-text)!important;background:var(--bo-surface)!important}
.docente-content :is(.text-dark,.text-body){color:var(--bo-text)!important}
.docente-content .shadow-sm{box-shadow:0 12px 28px rgba(0,0,0,.24)!important}
.docente-content :is(.rounded,.rounded-3,.rounded-4){border-radius:14px!important}

.docente-content :is(.btn-outline-secondary,.btn-ghost){color:#c7d9ee;border-color:var(--bo-border-strong);background:rgba(8,20,39,.62)}
.docente-content :is(.btn-outline-secondary,.btn-ghost):hover{color:#fff;border-color:#60a5fa;background:rgba(37,99,235,.22)}
.docente-content .btn-outline-success{color:#86efac;border-color:rgba(34,197,94,.48)}
.docente-content .btn-outline-success:hover{color:#fff;background:#15803d}
.docente-content .btn-outline-warning{color:#fcd34d;border-color:rgba(245,158,11,.52)}
.docente-content .btn-outline-warning:hover{color:#111827;background:#f59e0b}
.docente-content .btn-outline-danger{color:#fca5a5;border-color:rgba(239,68,68,.52)}
.docente-content .btn-outline-danger:hover{color:#fff;background:#b91c1c}
.docente-content .btn-link{color:#93c5fd}
.docente-content .btn:focus-visible{outline:3px solid rgba(96,165,250,.35);outline-offset:2px}
.docente-content .btn-sm{min-height:34px;padding:.35rem .68rem}

.docente-content fieldset{margin-bottom:20px;padding:18px;border:1px solid var(--bo-border);border-radius:15px;background:rgba(5,14,31,.60)}
.docente-content legend{float:none;width:auto;margin:0 0 10px;padding:0 8px;color:#bfdbfe;font-size:1rem;font-weight:850}
.docente-content hr{border-color:var(--bo-border);opacity:1}
.docente-content code{color:#bfdbfe;background:#061329;border:1px solid var(--bo-border);border-radius:7px;padding:.12em .38em}
.docente-content pre{color:#dbeafe;border:1px solid var(--bo-border);border-radius:14px;background:#030a18;padding:14px}

.docente-content :is(.form-control:disabled,.form-select:disabled,input:disabled,textarea:disabled,select:disabled){color:#879bb5!important;background:#07101f!important;opacity:.82}
.docente-content :is(.form-control[readonly],textarea[readonly]){background:#08172e!important}
.docente-content select option{color:#f8fafc;background:#071329}
.docente-content input[type="file"]::file-selector-button{margin:-.375rem .75rem -.375rem -.75rem;padding:.72rem 1rem;border:0;border-right:1px solid var(--bo-border);color:#dbeafe;background:#10294c}
.docente-content input[type="range"]{accent-color:var(--bo-primary)}
.docente-content :is(.input-neon,.keybox,.pda-box,.info-box,.well){color:var(--bo-text)!important;border:1px solid var(--bo-border)!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(11,29,54,.86),rgba(5,14,31,.88))!important;box-shadow:0 12px 26px rgba(0,0,0,.20)!important}

.docente-content .list-group{border-radius:14px;overflow:hidden}
.docente-content .list-group-item{color:#dbeafe;border-color:var(--bo-border);background:rgba(6,18,39,.82)}
.docente-content .list-group-item:hover{background:rgba(37,99,235,.14)}
.docente-content .list-group-item.active{color:#fff;border-color:#3b82f6;background:linear-gradient(135deg,#2563eb,#1d4ed8)}
.docente-content .accordion-item{color:var(--bo-text);border-color:var(--bo-border);background:rgba(6,18,39,.82)}
.docente-content .accordion-button{color:#dbeafe;background:#0b1d36;box-shadow:none}
.docente-content .accordion-button:not(.collapsed){color:#fff;background:rgba(37,99,235,.18)}
.docente-content .accordion-button::after{filter:brightness(0) invert(1)}
.docente-content .accordion-body{border-top:1px solid var(--bo-border)}

.docente-content .progress{height:10px;background:#071329;border:1px solid var(--bo-border)}
.docente-content .progress-bar{background:linear-gradient(90deg,#2563eb,#60a5fa)}
.docente-content .breadcrumb{--bs-breadcrumb-divider-color:#7187a5;--bs-breadcrumb-item-active-color:#9fb2ca}
.docente-content .breadcrumb-item a{color:#93c5fd}
.docente-content .popover,.docente-content .tooltip-inner{color:var(--bo-text);border-color:var(--bo-border);background:#07172e}

.docente-content .dataTables_wrapper{color:var(--bo-muted)}
.docente-content .dataTables_wrapper :is(.dataTables_length,.dataTables_filter,.dataTables_info,.dataTables_paginate){color:var(--bo-muted)!important;margin:.65rem 0}
.docente-content .dataTables_wrapper :is(input,select){color:var(--bo-text)!important;border:1px solid var(--bo-border)!important;border-radius:9px;background:#061329!important}
.docente-content .dataTables_wrapper .dataTables_paginate .paginate_button{color:#bfdbfe!important;border:1px solid transparent!important;border-radius:8px!important}
.docente-content .dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:#fff!important;border-color:var(--bo-border)!important;background:#10294c!important}
.docente-content .dataTables_wrapper .dataTables_paginate .paginate_button.current{color:#fff!important;border-color:#3b82f6!important;background:#2563eb!important}

.docente-content .select2-container .select2-selection{min-height:42px;color:var(--bo-text);border:1px solid var(--bo-border)!important;border-radius:12px!important;background:#061329!important}
.docente-content .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:40px;color:var(--bo-text)}
.docente-content .select2-container--default .select2-selection--single .select2-selection__arrow{height:40px}
.select2-dropdown{color:var(--bo-text);border-color:var(--bo-border)!important;background:#07172e!important}
.select2-results__option--highlighted{background:#2563eb!important}

.docente-content :is(.ck.ck-editor__main>.ck-editor__editable,.tox .tox-edit-area__iframe){color:#111827;background:#f8fafc}
.docente-content .ck.ck-toolbar,.docente-content .tox .tox-toolbar__primary{border-color:var(--bo-border)!important;background:#e8eef8!important}
.docente-content canvas{max-width:100%}
.docente-content img{max-width:100%;height:auto}

.docente-content .modal-backdrop{background:#000}
.swal2-popup{color:#f8fafc!important;border:1px solid rgba(96,165,250,.36)!important;border-radius:20px!important;background:linear-gradient(145deg,#0b1d36,#050d1f)!important;box-shadow:0 30px 80px rgba(0,0,0,.60)!important}
.swal2-title,.swal2-html-container{color:#f8fafc!important}
.swal2-confirm{background:#2563eb!important}
.swal2-cancel{background:#334155!important}

.docente-content .sticky-top{top:12px}
.docente-content [style*="background-color: white"],.docente-content [style*="background-color:#fff"],.docente-content [style*="background: white"]{background:var(--bo-surface)!important;color:var(--bo-text)!important}

@media(max-width:991.98px){
  .docente-content :is(.d-flex.justify-content-between,.header-actions,.toolbar){gap:10px;flex-wrap:wrap}
  .docente-content :is(.d-flex.justify-content-between,.header-actions,.toolbar)>.btn{flex:0 1 auto}
}
@media(max-width:575.98px){
  .docente-content .section-title{padding:12px 13px;font-size:1.05rem}
  .docente-content :is(.btn:not(.btn-sm),button:not(.btn-sm)){width:auto}
  .docente-content .card-header{padding:13px 14px}
}
