/* Theme: red, black, white */
:root{
  --nf-red:#e50914;
  --nf-red-hover:#ff2a35;
  --nf-black:#0b0b0b;
  --nf-charcoal:#111;
  --nf-gray:#222;
  --nf-border:#e5e5e5;
  --nf-white:#ffffff;
  --nf-surface:#ffffff; /* light surface for content */
  --nf-text:#111111;    /* dark text on light surface */
}

/* Global layout */
body{
  background:var(--nf-black);
  color:var(--nf-white);
}

/* Keep header/nav dark with red accents */
.navbar{
  background:linear-gradient(90deg,var(--nf-charcoal),#1b1b1b);
  border-bottom:2px solid var(--nf-red)
}
.navbar.navbar-dark .nav-link{color:#e8e8e8}
.navbar.navbar-dark .nav-link:hover,.navbar.navbar-dark .nav-link:focus{color:#ffffff}

/* Make main content area light for readability */
body > .container{
  background:var(--nf-surface);
  color:var(--nf-text);
  border-radius:.5rem;
  padding:1.25rem 1.25rem;
  box-shadow:0 6px 24px rgba(0,0,0,.25);
}

/* Buttons */
.btn-primary{background-color:var(--nf-red); border-color:var(--nf-red)}
.btn-primary:hover{background-color:var(--nf-red-hover); border-color:var(--nf-red-hover)}
.btn-outline-light{color:var(--nf-text); border-color: var(--nf-border)}
.btn-outline-light:hover{background:var(--nf-red); color:var(--nf-white); border-color:var(--nf-red)}

/* Cards switch to light surface */
.card{
  background:var(--nf-surface);
  color:var(--nf-text);
  border:1px solid var(--nf-border)
}
.card .card-header{background:#fafafa; border-bottom:1px solid var(--nf-border)}

/* Forms: light inputs for contrast */
.form-label,.form-text,.form-check-label{color:var(--nf-text)}
.form-control, .form-select, .form-check-input{
  background:var(--nf-white);
  color:var(--nf-text);
  border-color:#ced4da;
}
.form-control::placeholder{color:#6c757d}
.form-control:focus, .form-select:focus{
  border-color:var(--nf-red);
  box-shadow:0 0 0 .2rem rgba(229,9,20,.25)
}

/* Tables: light with clear separators */
.table{color:var(--nf-text); background:var(--nf-white)}
.table thead th{border-bottom:2px solid var(--nf-red); color:var(--nf-text); text-align:center}
.table th, .table td{vertical-align: middle !important}
.table caption{caption-side: top; text-align: center}
.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:#f8f9fa; color:var(--nf-text)}
.table > :not(caption) > * > *{background-color:inherit}

/* Links */
a{color:#0d6efd}
a:hover{color:#0a58ca}
.btn:focus,.btn:focus-visible,a:focus,a:focus-visible,.form-control:focus-visible{
  outline:3px solid var(--nf-red);
  outline-offset:2px
}
.link-light{color:#444}
.link-light:hover{color:#000}

.badge-nf{background:var(--nf-red); color:var(--nf-white)}

/* Footer stays dark */
.footer{ border-top:2px solid var(--nf-red); background:#0e0e0e; color:#e8e8e8}

/* Fine-tune muted text inside light cards */
.text-secondary{color:#555 !important}

/* Alerts readability inside light content */
.alert{border-radius:.5rem}
.alert-info{background:#e9f2ff; color:#084298; border-color:#b6d4fe}
.alert-danger{background:#fde2e4; color:#842029; border-color:#f5c2c7}
.alert-success{background:#e9f7ef; color:#0f5132; border-color:#badbcc}

/* Quick action cards on home (index) */
.nd-quick-cards .card{
  background-color:#111 !important;
  color:#fff !important;
  border-color: rgba(255,255,255,.08) !important;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
  will-change: transform, box-shadow;
  backface-visibility: hidden;
}
.nd-quick-cards a{display:block}
.nd-quick-cards .card .display-5{transition: transform .2s ease, text-shadow .2s ease}
.nd-quick-cards a:hover .card{
  transform: translateY(-6px) scale(1.01) translateZ(0);
  box-shadow: 0 1.25rem 2.25rem rgba(0,0,0,.38), 0 0 .6rem rgba(229,9,20,.35);
  background-color:#3a3a3a !important; /* lighter gray hover */
  border-color: #777 !important;
}
.nd-quick-cards a:active .card{
  transform: translateY(-1px) scale(.99);
  box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.3);
  background-color:#131313 !important;
}
.nd-quick-cards a:hover .card .display-5{
  transform: scale(1.08);
  text-shadow: 0 0 .5rem rgba(229,9,20,.6);
}
.nd-quick-cards a:active .card .display-5{transform: scale(1.02)}
.nd-quick-cards .card .fw-bold,
.nd-quick-cards .card small{transition: color .2s ease, opacity .2s ease}
.nd-quick-cards a:hover .card .fw-bold{color:#ffffff}
.nd-quick-cards a:hover .card small{color:#f1f1f1; opacity:.9}
.nd-quick-cards a:hover .card .text-danger{color:#ff4d57 !important}
.nd-quick-cards a:focus-visible .card{
  outline: 0;
  box-shadow: 0 0 0 .2rem rgba(255,255,255,.15), 0 0 0 .35rem rgba(229,9,20,.35);
}
@media (prefers-reduced-motion: reduce){
  .nd-quick-cards .card, .nd-quick-cards .card .display-5{transition: none}
}

/* Admin: alunos por personal - centralizar colunas específicas */
.table-alunos-admin thead th:nth-child(2),
.table-alunos-admin thead th:nth-child(3),
.table-alunos-admin thead th:nth-child(4),
.table-alunos-admin thead th:nth-child(5),
.table-alunos-admin thead th:nth-child(6){
  text-align:center;
}
.table-alunos-admin tbody td:nth-child(1),
.table-alunos-admin tbody td:nth-child(2),
.table-alunos-admin tbody td:nth-child(3),
.table-alunos-admin tbody td:nth-child(4),
.table-alunos-admin tbody td:nth-child(5){
  text-align:center;
}

/* Center per-group header row cells as well */
.table-alunos-admin tbody tr.group-subhead th{ text-align:center; }
.table-alunos-admin tbody tr.group-subhead th:nth-child(1),
.table-alunos-admin tbody tr.group-subhead th:nth-child(2),
.table-alunos-admin tbody tr.group-subhead th:nth-child(3),
.table-alunos-admin tbody tr.group-subhead th:nth-child(4),
.table-alunos-admin tbody tr.group-subhead th:nth-child(5){
  text-align:center;
}

/* Chevron rotation on group expand/collapse */
/* Group header caret icons: switch AFTER animation using .is-open */
.group-toggle .icon-up,
.group-toggle .icon-down{ font-size:1rem; vertical-align:-0.1rem; }
.group-toggle .icon-up{ display:none; }
.group-toggle .icon-down{ display:inline-block; }
.group-toggle.is-open .icon-up{ display:inline-block; }
.group-toggle.is-open .icon-down{ display:none; }

/* Collapse behavior (abrupt) for aluno groups (tbody) */
.table-alunos-admin tbody.collapse{ display:none; }
.table-alunos-admin tbody.collapsing{ display: table-row-group; transition: none !important; height: auto !important; }
.table-alunos-admin tbody.collapse.show{ display: table-row-group; }

/* Global button hover/click feedback */
.btn{
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease;
  will-change: transform, box-shadow;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 .9rem 1.4rem rgba(0,0,0,.18);
}
.btn:active{
  transform: translateY(0) scale(.985);
  box-shadow: 0 .6rem 1rem rgba(0,0,0,.16);
}
/* Primary: destaque forte no hover/click (sem gradiente para evitar flicker) */
.btn-primary{ background-image: none; }
.btn-primary:hover{
  background-color: var(--nf-red-hover);
  border-color: var(--nf-red-hover);
  box-shadow: 0 .9rem 1.4rem rgba(0,0,0,.18);
  color:#fff;
}
.btn-primary:active{
  background-color: #c20812;
  border-color: #c20812;
  box-shadow: 0 .6rem 1rem rgba(0,0,0,.16);
  color:#fff;
}
/* Outline light: virar vermelho vivo no hover/click */
.btn-outline-light:hover{
  color: var(--nf-white);
  background-color: var(--nf-red);
  border-color: var(--nf-red);
  box-shadow: 0 .9rem 1.4rem rgba(0,0,0,.18);
}
.btn-outline-light:active{
  color: var(--nf-white);
  background-color: #b30710;
  border-color: #b30710;
  box-shadow: 0 0 0 .2rem rgba(229,9,20,.25), 0 .6rem 1rem rgba(0,0,0,.16);
}
