:root{
  --sj-primary: #002e5d; /* deep navy */
  --sj-gold: #FFB81C;
  --sj-bg: #f6f8fa; /* very light neutral */
  --sj-surface: #ffffff; /* card/background */
  --sj-text: #0f1720; /* near black for contrast */
  --card-shadow: 0 6px 18px rgba(2,6,23,0.06);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  background:var(--sj-bg);
  color:var(--sj-text);
  -webkit-font-smoothing:antialiased;
}

.header{
  background:var(--sj-surface);
  color:var(--sj-text);
  padding:18px 16px;
  text-align:center;
  border-bottom:1px solid #e6eef6;
}
.header h1{margin:0;font-family:Georgia,serif;font-size:1.4rem;color:var(--sj-text)}
.header p{margin:6px 0 0;color:var(--sj-text);opacity:0.85}

#dashboard{max-width:1000px;margin:26px auto;padding:0 16px}
.teacher-controls{display:none}

.exam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.exam-card{background:var(--sj-surface);border-radius:8px;padding:18px 16px;text-align:center;border-top:4px solid rgba(0,0,0,0.04);box-shadow:var(--card-shadow);transition:transform .14s ease}
.exam-card:hover{transform:translateY(-3px)}
.exam-title{font-weight:700;color:var(--sj-primary);margin-bottom:12px;font-size:1.05rem}

.btn{display:inline-block;min-width:180px;max-width:260px;padding:10px 14px;border-radius:6px;border:none;background:var(--sj-primary);color:#fff;font-weight:600;cursor:pointer;text-align:center;margin:8px auto;box-shadow:0 2px 6px rgba(2,6,23,0.06)}
.btn:focus{outline:3px solid rgba(0,46,93,0.18);outline-offset:2px}
.btn.secondary{background:var(--sj-surface);border:1px solid var(--sj-primary);color:var(--sj-primary);padding:8px 12px}
.btn.disabled{background:#f0f2f4;color:#7f8c8d;pointer-events:none}

.exam-page{max-width:1000px;margin:20px auto;padding:12px}
.exam-frame{width:100%;height:78vh;border:0;border-radius:8px;box-shadow:var(--card-shadow);background:var(--sj-surface)}

.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:44px}

/* Accessibility helpers */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (max-width:600px){.header h1{font-size:1.1rem}.exam-frame{height:65vh}.btn{min-width:140px}}

/* Anti-cheat: visual-only helpers (JS enforces behavior) */
button[aria-disabled="true"]{pointer-events:none;opacity:0.7}
