*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --ink:#1a1208;--paper:#f5f0e8;--cream:#ede8dc;
  --rust:#b8471e;--gold:#c9933a;--rule:#c8bfa8;--muted:#6b5f4e;
  --green:#2e6e45;--green-bg:#eaf3ec;
  --blue:#1e4d8c;--blue-bg:#eaf0fb;
}
html{background:var(--paper);color:var(--ink);}
body{font-family:'Source Serif 4',Georgia,serif;font-weight:300;line-height:1.7;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:700;line-height:1.2;}

.container{max-width:520px;width:100%;text-align:center;}

.header{margin-bottom:40px;}
.header h1{font-size:clamp(36px,7vw,52px);margin-bottom:6px;}
.header h1 .accent{color:var(--rust);font-style:italic;}
.header .subtitle{font-size:15px;color:var(--muted);font-style:italic;}
.header .role-badge{display:inline-block;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;font-weight:600;color:var(--gold);border:1px solid var(--gold);padding:4px 14px;border-radius:3px;margin-top:16px;}
.divider{width:60px;height:2px;background:var(--gold);margin:20px auto 0;}

.card-grid{display:flex;flex-direction:column;gap:16px;margin-bottom:32px;}

.student-list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;text-align:left;}
.student-card{background:var(--cream);border:1px solid var(--rule);border-radius:6px;padding:18px 22px;text-decoration:none;color:var(--ink);display:flex;align-items:center;justify-content:space-between;transition:all 0.2s;cursor:pointer;}
.student-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 4px 16px rgba(26,18,8,0.1);}
.student-name{font-family:'Playfair Display',Georgia,serif;font-size:17px;font-weight:700;}
.student-date{font-size:12px;color:var(--muted);font-style:italic;margin-top:2px;}
.student-arrow{color:var(--rust);font-size:18px;transition:transform 0.2s;flex-shrink:0;}
.student-card:hover .student-arrow{transform:translateX(4px);}

.loading-msg{text-align:center;color:var(--muted);font-style:italic;padding:40px 0;font-size:15px;}
.empty-msg{text-align:center;color:var(--muted);font-style:italic;padding:30px 0;font-size:14px;line-height:1.6;}

.section-label{font-size:10px;letter-spacing:0.3em;text-transform:uppercase;font-weight:600;color:var(--gold);margin-bottom:14px;text-align:left;}

.footer{font-size:12px;color:var(--muted);}
.footer a{color:var(--rust);text-decoration:none;}

@media(max-width:600px){
  body{padding:24px 16px;align-items:flex-start;padding-top:40px;}
  .student-card{padding:16px 18px;}
}
