:root{
  --ink:#13283b;
  --green:#086f96;
  --mint:#e4f3f8;
  --cream:#f6f8fa;
  --white:#fff;
  --muted:#607284;
  --line:#dbe5eb;
  --gold:#f4a01f;
  --danger:#c8442d;
  --ceps-blue:#086f96;
  --ceps-blue-dark:#075675;
  --ceps-green:#258f46;
  --ceps-orange:#f28c1b;
  --ceps-red:#d74727;
  --ceps-navy:#13283b;
}

body{background:#f6f8fa;color:var(--ceps-navy)}
.app-header,.topbar{background:#ffffffd9;border-bottom:1px solid #e4ebef;backdrop-filter:blur(12px)}
.app-brand>img,.brand-logo{filter:drop-shadow(0 5px 8px #13283b18)}
.app-brand strong,.brand strong{color:var(--ceps-navy)}
.app-brand small,.brand small{color:var(--ceps-blue-dark)}
.app-brand em,.brand em{color:#71818e}
.nav-link{color:var(--ceps-blue-dark)}
.button,.primary-button,.primary-link{background:var(--ceps-blue);box-shadow:0 8px 24px #086f9626}
.button:hover,.primary-button:hover,.primary-link:hover{background:var(--ceps-blue-dark)}
.tag,.eyebrow,.text-link,.back-link{color:var(--ceps-blue-dark)}

.hero{position:relative;background:linear-gradient(135deg,#edf7fa 0%,#dceff5 100%);border:1px solid #d5e8ee}
.hero::before{content:"";position:absolute;inset:auto auto -170px -120px;width:360px;height:360px;border-radius:50%;background:#258f4609}
.hero-copy{position:relative}.hero-institutional-logo{filter:drop-shadow(0 22px 32px #13283b1c)}
.features .icon,.kpi-icon,.content-icon,.subject-icon{background:#e6f3f7;color:var(--ceps-blue-dark)}
.features article,.stats article,.class-card,.empty-state,.form-card,.student-week-section,.priority-card{border-color:#dbe5eb;box-shadow:0 10px 30px #13283b08}

.student-dashboard-hero{background:linear-gradient(135deg,#e4f3f8,#f2f8fa)}
.student-profile-photo>span,.student-profile-photo small{background:var(--ceps-blue)}
.student-profile-photo{color:var(--ceps-blue);box-shadow:0 8px 24px #086f9624}
.student-day.today{background:#e7f3f7;border-color:var(--ceps-blue)}
.student-day.today header strong{background:var(--ceps-blue)}
.student-event.lesson{border-color:var(--ceps-blue)}
.student-event.activity{border-color:var(--ceps-orange)}
.student-event.evaluation{border-color:var(--ceps-green)}
.recent-icon{background:#e5f3f7;color:var(--ceps-blue-dark)}
.recent-icon.atividade,.priority-date{background:#fff1dc;color:#94580b}
.recent-icon.avaliacao,.evaluation-symbol{background:#e5f2e9;color:#24763d}

.teacher-heading.attendance-heading{background:linear-gradient(135deg,#e4f3f8,#edf7fa)}
.attendance-bulk{background:#edf7f1;border-color:#cfe7d7}
.quick-attendance.present{background:var(--ceps-green);border-color:var(--ceps-green)}
.presence-summary.all-present,.attendance-badge.presente,.metric-ok{background:#e3f2e8;color:#23723d}
.presence-summary.all-absent,.attendance-badge.ausente{background:#fbe9e5;color:#a83b2b}
.access-device{background:#e5f3f7;color:var(--ceps-blue-dark)}

.status-pill.published,.subject-status.done{background:#e3f2e8;color:#23723d}
.calendar-day.today .day-number{background:var(--ceps-blue)}
.turno-manha .shift-badge,.shift-badge.turno-manha,.turno-manha .shift-chip,.shift-chip.turno-manha{background:#fff0d8;color:#92570b}
.turno-tarde .shift-badge,.shift-badge.turno-tarde,.turno-tarde .shift-chip,.shift-chip.turno-tarde{background:#dfeff5;color:#075f81}
.turno-noite .shift-badge,.shift-badge.turno-noite,.turno-noite .shift-chip,.shift-chip.turno-noite{background:#e3e9ef;color:#263e55}
.frequency-status.done{background:#e3f2e8;color:#23723d}.frequency-status.pending{background:#fff0d8;color:#92570b}.frequency-status.planned{background:#e9eef2;color:#586b79}
.roster-hero{border-left-color:var(--subject-color,var(--ceps-blue))}
.roster-avatar{background:#e4f2f7;color:var(--ceps-blue-dark)}
.photo-crop-stage{box-shadow:0 0 0 5px #fff,0 0 0 7px var(--ceps-blue)}
.crop-zoom input{accent-color:var(--ceps-blue)}

::selection{background:#f4a01f55;color:var(--ceps-navy)}
:focus-visible{outline:3px solid #f4a01f88;outline-offset:2px}
