/* QAC Cursos · edición moderna UI/UX — accesible, adaptable y ligera */
:root {
  --qac-ink:#102538; --qac-muted:#587083; --qac-accent:#087c64;
  --qac-border:#e2e9ec; --qac-surface:#fff; --qac-bg:#f5f8fa;
}
html { scroll-behavior:smooth; }
body { background:var(--qac-bg); color:var(--qac-ink); font-family:Inter, system-ui,-apple-system,'Segoe UI',sans-serif; font-size:15px; }
body,button,input,select,textarea { -webkit-font-smoothing: antialiased; }
.container-narrow { max-width:1320px !important; }
main.container { padding-bottom:42px; min-height:70vh; }
.navbar-qac { background:linear-gradient(100deg,#0d2b36,#084d50) !important; box-shadow:0 8px 24px rgba(9,42,48,.12) !important; }
.top-hair { background:linear-gradient(90deg,#43c6a4,#087c64,#46a2b1) !important; height:3px !important; }
.navbar-qac .navbar-brand { font-size:1.05rem; letter-spacing:-.02em; }
.navbar-qac .brand-badge { width:34px;height:34px;border-radius:10px; background:#0f9c83; }
.navbar-qac .nav-link { border-radius:8px; padding:.55rem .85rem !important; }
.navbar-qac .nav-link.active,.navbar-qac .nav-link:hover { background:rgba(255,255,255,.12); }
.card,.course-hero,.player-card,.material-card,.comments-card { border-radius:18px !important; border:1px solid var(--qac-border) !important; box-shadow:0 3px 16px rgba(23,45,60,.035); }
.card { overflow:hidden; }
.card .card-body { padding:22px; }
.card-top { padding:18px 20px !important; background:linear-gradient(120deg,#eaf7f3,#edf8fa) !important; }
.card.course-card { display:flex; flex-direction:column; min-height:320px; }
.course-card .card-body { flex:1; display:flex; flex-direction:column; }
.course-card .card-body > .d-flex:last-child { margin-top:auto; padding-top:12px; gap:12px; }
.course-card .card-title { color:var(--qac-ink); font-weight:750; line-height:1.4; }
.course-card .card-body p { line-height:1.65; }
.qac-eyebrow { color:var(--qac-accent); font-size:.76rem; letter-spacing:.16em; font-weight:800; margin-bottom:7px; }
.dash-header { margin-bottom:24px !important; }
.dash-title { font-size:clamp(1.7rem,2.5vw,2.5rem); color:#112a3b; letter-spacing:-.045em !important; }
.dash-sub { color:var(--qac-muted) !important; font-size:1rem !important; line-height:1.6; }
.btn { transition:background .2s, border-color .2s, box-shadow .2s, transform .2s; }
.btn-primary,.btn-success { background:#087c64 !important; border-color:#087c64 !important; color:#fff !important; }
.btn-primary:hover,.btn-success:hover { background:#086851 !important; border-color:#086851 !important; transform:translateY(-1px); }
.btn-primary:focus,.btn-success:focus { box-shadow:0 0 0 .22rem rgba(8,124,100,.22) !important; }
.btn:focus-visible,a:focus-visible, input:focus-visible, select:focus-visible { outline:3px solid rgba(9,155,123,.75); outline-offset:2px; }
.form-control,.custom-select { border:1px solid #ccdadf; border-radius:10px; min-height:43px; }
.form-control:focus { border-color:#169178; box-shadow:0 0 0 3px rgba(22,145,120,.14); }
.badge-state,.chip { font-weight:650; }
.course-hero { overflow:hidden; }
.course-hero .hd { padding:23px !important; background:linear-gradient(135deg,#e8f7f1,#eff7fc) !important; }
.course-hero .hd h1 { font-size:clamp(1.35rem,2vw,1.85rem); font-weight:750; }
.player-head { padding:15px 20px !important; gap:12px; }
.player-card .card-body { padding:12px !important; background:#0c1724; }
.player-card .player-wrap { overflow:hidden; border-radius:12px; }
.player-foot { flex-wrap:wrap; gap:10px; padding:14px 18px !important; }
.sidebar-sticky .list-group-item { border-radius:10px !important; margin-bottom:6px; border:1px solid #e6ecee; padding:13px; line-height:1.5; }
.sidebar-sticky .list-group-item.active { background:#087c64; border-color:#087c64; }
.sidebar-sticky .card-body h2 { font-size:.94rem; font-weight:750; }
.sidebar-sticky .list-group-item a { word-break:break-word; }
.progress { background:#e4eef0; border-radius:100px; overflow:hidden; }
.progress-bar { background:#0a987b; }
.table { background:white; }
.table thead { background:#f0f5f6; }
.table th { font-size:.79rem; letter-spacing:.045em; text-transform:uppercase; color:#496575; white-space:nowrap; }
.table td { vertical-align:middle; }
.qac-footer { background:#102733 !important; }
.qac-footer .footer-top { background:linear-gradient(90deg,#43c6a4,#087c64) !important; }
@media (max-width:991px) { .dash-tools { width:100%; } .dash-tools .btn-group { flex-wrap:wrap; } .navbar-qac .nav-link { margin-top:4px; } }
@media (max-width:575px) { .card .card-body { padding:16px; } .player-head { display:block !important; } .player-actions { margin-top:12px; } #courseSearch { min-width:0 !important; width:100%; } .search-wrap { width:100%; } .player-foot { align-items:flex-start !important; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
