@font-face{font-family:SharifVazir;src:url('/static/fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:SharifVazir;src:url('/static/fonts/Vazirmatn-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:SharifVazir;src:url('/static/fonts/Vazirmatn-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
.student-body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,#e7f0ff 0,#f8fafc 34%,#eef3f8 100%);color:#0f172a;font-family:SharifVazir,Vazirmatn,Dana,YekanBakh,"Segoe UI",Tahoma,Arial,sans-serif}.student-shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:18px 0 40px}.student-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border-radius:26px;box-shadow:0 24px 70px rgba(15,23,42,.08)}.student-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#0f172a}.student-brand img{width:44px;height:44px}.student-brand span{display:block;color:#64748b;font-size:12px}.student-brand b{display:block;font-size:17px}.student-header__actions{display:flex;align-items:center;gap:10px}.student-user-chip{background:#eef6ff;color:#075985;border:1px solid #cfe9ff;border-radius:999px;padding:9px 13px;font-weight:700}.student-logout,.student-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d8e2ef;background:#fff;color:#0f172a;text-decoration:none;border-radius:16px;padding:10px 14px;font-weight:700;cursor:pointer}.student-logout:hover,.student-btn:hover{border-color:#93c5fd}.student-btn--primary{background:linear-gradient(135deg,#0f62fe,#0750c9);color:#fff;border-color:#0f62fe;box-shadow:0 14px 30px rgba(15,98,254,.18)}.student-nav{display:flex;gap:8px;overflow-x:auto;margin:14px 0 18px;padding:8px;background:rgba(255,255,255,.62);border:1px solid rgba(15,23,42,.06);border-radius:22px}.student-nav a{white-space:nowrap;text-decoration:none;color:#475569;padding:10px 14px;border-radius:15px;font-weight:700}.student-nav a.is-active,.student-nav a:hover{background:#0f172a;color:#fff}.student-main{padding-bottom:60px}.student-hero-card,.student-login-card,.student-welcome,.student-panel{background:rgba(255,255,255,.88);border:1px solid rgba(15,23,42,.07);border-radius:28px;box-shadow:0 24px 70px rgba(15,23,42,.08)}.student-hero-card,.student-login-card{padding:34px;width:min(760px,100%);margin:30px auto}.student-kicker{display:inline-flex;background:#eef6ff;color:#075985;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800;margin-bottom:12px}.student-hero-card h1,.student-login-card h1,.student-welcome h1,.student-page-head h1{margin:0 0 10px;font-size:clamp(25px,4vw,42px);line-height:1.45}.student-hero-card p,.student-login-card p,.student-welcome p,.student-page-head p{margin:0;color:#64748b;line-height:2}.student-action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.student-form{display:grid;gap:10px;margin-top:16px}.student-form label{font-weight:800;color:#334155}.student-alert,.student-success{padding:12px 14px;border-radius:16px;margin:16px 0;font-weight:700}.student-alert{background:#fff1f2;color:#be123c}.student-success{background:#ecfdf5;color:#047857}.student-helper{margin-top:14px;color:#64748b;font-size:13px;line-height:2}.full-width{width:100%}.student-welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px;margin-bottom:16px}.student-welcome span{display:block;color:#0f62fe;font-weight:800}.student-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.student-kpis article{background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:22px;padding:18px;box-shadow:0 14px 38px rgba(15,23,42,.06)}.student-kpis span{display:block;color:#64748b;font-weight:700}.student-kpis b{font-size:28px}.student-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.student-grid-2--wide{grid-template-columns:1.4fr .8fr}.student-panel{padding:20px}.student-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.student-panel-head h2{margin:0;font-size:20px}.student-panel-head a{color:#0f62fe;text-decoration:none;font-weight:800}.student-list{display:grid;gap:10px}.student-list--large{gap:14px}.student-item,.student-ticket-row,.student-course-card,.student-assignment-card{background:#f8fafc;border:1px solid #e5edf6;border-radius:20px;padding:16px}.student-item h3,.student-ticket-row h3,.student-course-card h2,.student-assignment-card h2{margin:0 0 6px}.student-item p,.student-ticket-row p,.student-course-card p,.student-assignment-card p{margin:0;color:#64748b;line-height:1.8}.student-status{display:inline-flex;margin-top:10px;background:#eef6ff;color:#075985;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.student-empty{padding:20px;border-radius:18px;background:#f8fafc;color:#64748b;text-align:center}.student-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-course-card{display:flex;flex-direction:column;justify-content:space-between;gap:18px}.student-assignment-card{display:grid;grid-template-columns:1.1fr .65fr .95fr;gap:14px;align-items:start}.student-assignment-state{display:grid;gap:6px;background:#fff;border-radius:16px;padding:12px;border:1px solid #e5edf6}.student-assignment-state b{color:#0f172a}.student-assignment-state span{color:#64748b;font-size:13px;line-height:1.8}.student-submit-form{display:grid;gap:8px}.student-desc{margin-top:10px;color:#475569;line-height:1.9}.student-ticket-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-chat{display:grid;gap:12px}.student-message{max-width:88%;background:#f8fafc;border:1px solid #e5edf6;border-radius:20px 20px 6px 20px;padding:14px}.student-message--staff{margin-right:auto;background:#eef6ff;border-color:#cfe9ff;border-radius:20px 20px 20px 6px}.student-message div{display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:13px}.student-message p{margin:8px 0 0;line-height:2}.student-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.student-profile-grid div{background:#f8fafc;border:1px solid #e5edf6;border-radius:18px;padding:16px}.student-profile-grid span{display:block;color:#64748b;margin-bottom:6px}.student-profile-grid b{display:block}.mt-4{margin-top:16px}@media (max-width:920px){.student-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.student-grid-2,.student-grid-2--wide,.student-course-grid,.student-assignment-card{grid-template-columns:1fr}.student-welcome{align-items:flex-start;flex-direction:column}.student-profile-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.student-shell{width:min(100% - 18px,1180px);padding-top:10px}.student-header{border-radius:20px}.student-brand b{font-size:14px}.student-user-chip{display:none}.student-kpis{grid-template-columns:1fr}.student-profile-grid{grid-template-columns:1fr}.student-panel,.student-hero-card,.student-login-card{padding:16px;border-radius:22px}.student-ticket-row{align-items:flex-start;flex-direction:column}.student-btn{width:100%}}


/* === Student panel final upgrade === */
@font-face{font-family:"SharifVazirmatn";src:url('/static/fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"SharifVazirmatn";src:url('/static/fonts/Vazirmatn-Medium.woff2') format('woff2');font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:"SharifVazirmatn";src:url('/static/fonts/Vazirmatn-Bold.woff2') format('woff2');font-weight:800 950;font-style:normal;font-display:swap}
.student-body,.student-body *:not(svg):not(path){font-family:"SharifVazirmatn",Vazirmatn,Dana,YekanBakh,"Segoe UI",Tahoma,Arial,sans-serif!important}
.student-shell{max-width:1240px}.student-header{position:sticky;top:10px;z-index:20}.student-nav{position:sticky;top:92px;z-index:19;box-shadow:0 12px 34px rgba(15,23,42,.04)}
.student-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0}.student-page-head h1{font-weight:950;letter-spacing:-.04em}.student-page-head__actions{display:flex;gap:8px;flex-wrap:wrap}.student-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.student-info-card{background:#fff;border:1px solid #e4edf7;border-radius:22px;padding:18px;box-shadow:0 14px 38px rgba(15,23,42,.06)}.student-info-card span{display:block;color:#64748b;font-weight:800;font-size:12px;margin-bottom:8px}.student-info-card b{display:block;color:#0f172a;font-size:20px}.student-course-card h2,.student-assignment-card h2,.student-item h3{font-weight:900}.student-progress{height:10px;background:#e8eef6;border-radius:999px;overflow:hidden;margin-top:10px}.student-progress i{display:block;height:100%;background:linear-gradient(90deg,#0f62fe,#24c6dc);border-radius:999px}.student-pill-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.student-pill{display:inline-flex;border-radius:999px;background:#eef6ff;border:1px solid #cfe9ff;color:#075985;padding:5px 10px;font-size:12px;font-weight:850}.student-pill--warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.student-pill--ok{background:#ecfdf5;border-color:#bbf7d0;color:#047857}.student-pill--muted{background:#f8fafc;border-color:#e2e8f0;color:#475569}.student-detail-layout{display:grid;grid-template-columns:1.45fr .75fr;gap:16px}.student-timeline{display:grid;gap:10px}.student-timeline article{background:#f8fafc;border:1px solid #e5edf6;border-radius:18px;padding:14px}.student-timeline small{display:block;color:#64748b;margin-top:4px}.student-file-note{font-size:12px;color:#64748b;line-height:1.9}.student-bottom-nav{display:none}.student-form-actions{display:flex;gap:8px;flex-wrap:wrap}.student-message p{white-space:pre-wrap}.student-empty{line-height:2}.student-btn svg{width:18px;height:18px;fill:currentColor}.student-assignment-card{grid-template-columns:1.05fr .55fr .85fr}.student-course-card__actions{display:flex;gap:8px;flex-wrap:wrap}.student-notification{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-notification.is-unread{background:#eef6ff;border-color:#cfe9ff}.student-exam-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;background:#f8fafc;border:1px solid #e5edf6;border-radius:20px;padding:16px}.student-exam-card h2{margin:0 0 6px}.student-exam-card p{margin:0;color:#64748b;line-height:1.85}.student-submission-item{background:#fff;border:1px solid #e5edf6;border-radius:16px;padding:12px;margin-top:8px}
@media (max-width:980px){.student-card-grid{grid-template-columns:1fr 1fr}.student-detail-layout{grid-template-columns:1fr}.student-assignment-card{grid-template-columns:1fr}.student-nav{top:84px}}
@media (max-width:620px){.student-card-grid{grid-template-columns:1fr}.student-header{top:6px}.student-nav{display:none}.student-main{padding-bottom:92px}.student-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,minmax(58px,1fr));gap:4px;left:8px;right:8px;bottom:8px;padding:7px;border-radius:22px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid rgba(15,23,42,.08);box-shadow:0 -16px 44px rgba(15,23,42,.12);z-index:40;overflow-x:auto}.student-bottom-nav a{display:grid;place-items:center;text-decoration:none;color:#64748b;font-size:10px;font-weight:850;min-height:50px;border-radius:16px;white-space:nowrap}.student-bottom-nav a.is-active{background:#0f172a;color:#fff}.student-welcome{padding:18px}.student-kpis article{padding:14px}.student-page-head h1{font-size:24px}.student-exam-card{grid-template-columns:1fr}.student-header__actions{gap:6px}.student-logout{padding:9px 10px}}


/* Student final spacing and profile editor */
.student-shell { padding-bottom: 112px; }
.student-main { padding-bottom: 96px; }
.student-bottom-nav {
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
  box-shadow: 0 -18px 40px rgba(15,23,42,.14);
}
.student-profile-top {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.student-profile-avatar {
  width: 88px;
  height: 88px;
  border-radius: 28px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg,#dbeafe,#f8fafc);
  color: #1d4ed8;
  font-weight: 900;
  font-size: 30px;
  border: 1px solid rgba(148,163,184,.3);
}
.student-form-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
.student-form-grid label {
  display: block;
  font-weight: 800;
  color: #334155;
  margin-bottom: 8px;
}
.student-form-full { grid-column: 1 / -1; }
.student-notice {
  border-radius: 18px;
  padding: 12px 14px;
  margin-bottom: 14px;
  font-weight: 800;
}
.student-notice--success { background: #ecfdf5; color: #047857; border: 1px solid #bbf7d0; }
@media (max-width: 720px) {
  .student-form-grid { grid-template-columns: 1fr; }
  .student-profile-top { align-items: flex-start; }
}
