:root{
  --lec-primary:#1f4e79;
  --lec-accent:#2e7d32;
}
*{font-family:'Roboto','Apple SD Gothic Neo','Malgun Gothic',sans-serif;}
body{background:#f5f7fa;color:#222;}
.lec-brandbar{background:var(--lec-primary);color:#fff;font-size:.82rem;padding:.35rem 0;}
.lec-brandbar-domain{opacity:.75;}
.lec-navbar{background:linear-gradient(90deg,#1f4e79,#2b6cb0);}
.lec-navbar .nav-link{color:rgba(255,255,255,.9);}
.lec-navbar .nav-link:hover{color:#fff;}
.card{border:none;box-shadow:0 1px 4px rgba(0,0,0,.08);border-radius:.6rem;}
.card-header{background:#fff;border-bottom:1px solid #eef0f3;font-weight:600;}
.stat-card{border-left:4px solid var(--lec-primary);}
.stat-card .num{font-size:1.9rem;font-weight:700;color:var(--lec-primary);}
.lec-footer{background:#22303f;color:#cfd8e3;padding:1.2rem 0;margin-top:3rem;font-size:.85rem;}
.table thead th{background:#f0f3f7;font-size:.85rem;white-space:nowrap;}
.badge-source-system{background:var(--lec-primary);}
.badge-source-manual{background:#f0ad4e;color:#3a2c00;}
.auth-wrap{max-width:440px;margin:3rem auto;}
.calendar-day{min-height:96px;border:1px solid #e5e9ef;padding:4px;vertical-align:top;}
.calendar-day .daynum{font-size:.8rem;color:#888;}
.cal-event{display:block;font-size:.72rem;border-radius:4px;padding:1px 4px;margin-bottom:2px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cal-other{background:#fafbfc;color:#bbb;}
.form-required::after{content:" *";color:#d33;}
