:root{--b:#3156a3;--d:#203d78;--m:#667085;--l:#e1e6ef;--s:#f4f6fb}*{box-sizing:border-box}body{margin:0;background:#eef2f8;color:#172033;font-family:Tahoma,Arial,sans-serif}.shell{width:min(1120px,100%);margin:auto;padding:28px 18px 50px}.login-card,.panel{background:#fff;border:1px solid var(--l);border-radius:17px}.login-card{width:min(440px,100%);margin:7vh auto;padding:28px;box-shadow:0 18px 50px #203d7820}.brand{display:flex;align-items:center;gap:14px}.brand>span{font-size:30px}.brand h1{margin:0}.brand p,header p,.student p{color:var(--m)}.login-form{display:grid;gap:9px;margin-top:20px}.login-form label{margin-top:7px;font-weight:700}.login-form input{min-height:47px;padding:10px;border:1px solid #cbd3e1;border-radius:9px;font:inherit}.login-form button,.home,.actions a,.actions button{min-height:44px;padding:10px 15px;border:0;border-radius:9px;font:inherit;font-weight:700}.login-form button{margin-top:10px;background:var(--b);color:#fff}.home{display:flex;justify-content:center;align-items:center;color:var(--b);text-decoration:none}.alert{margin-top:16px;padding:10px;background:#fee4e2;color:#b42318;border-radius:8px}header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 24px;background:linear-gradient(135deg,var(--d),var(--b));color:#fff;border-radius:18px}header h1{margin:4px 0}.actions{display:flex;gap:8px}.actions form{margin:0}.actions a,.actions button{display:flex;align-items:center;background:#fff;color:var(--b);text-decoration:none}.actions button{color:#b42318}.panel{margin-top:18px;padding:22px}.panel h2{margin:4px 0 16px}.children,.courses{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.child{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px;border:1px solid var(--l);border-radius:12px;color:inherit;text-decoration:none}.child>b{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e4eafb;color:var(--b)}.child span{display:grid;gap:5px}.child small,.child em{color:var(--m);font-style:normal}.student{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding:18px 22px;background:#fff;border:1px solid var(--l);border-radius:14px}.student h2{margin:4px 0}.student>span{padding:7px 11px;background:var(--s);border-radius:999px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:14px 0}.summary article{display:grid;gap:4px;padding:16px;background:#fff;border:1px solid var(--l);border-radius:12px}.summary strong{font-size:1.5rem}.summary small{color:var(--m)}.course,.history>article{padding:16px;border:1px solid var(--l);border-right:4px solid var(--b);border-radius:12px}.course-title,.history-title{display:flex;justify-content:space-between;gap:10px}.course-title h3,.history-title h3{margin:4px 0}.course-title i{height:max-content;padding:5px 9px;background:#dff3e9;color:#176b52;border-radius:999px;font-size:.75rem}.course-title small,.history-title small,.history-title p{color:var(--m)}dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}dl div,.marks span{padding:9px;background:var(--s);border-radius:8px}dt{font-size:.75rem;color:var(--m)}dd{margin:4px 0;font-weight:700}.note{padding:10px;background:#fff7df;border-radius:8px}.history{display:grid;gap:11px}.history>article{border-right-color:#98a2b3}.history-title p{margin:5px 0}.history-title>b{display:grid;place-items:center;min-width:70px;height:64px;background:var(--s);border-radius:10px}.history-title>b small{display:block}.marks{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}.marks span{display:flex;flex-direction:column;text-align:center;font-size:.78rem}.empty{padding:27px;text-align:center;color:var(--m);background:var(--s);border-radius:10px}@media(max-width:800px){.children,.courses{grid-template-columns:1fr}.summary{grid-template-columns:1fr 1fr}.marks{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.shell{padding:12px}.login-card{margin:3vh auto;padding:20px}header,.student{align-items:stretch;flex-direction:column}.actions{flex-direction:column}.actions a,.actions button,.actions form{width:100%;justify-content:center}.panel{padding:15px}.child{grid-template-columns:auto 1fr}.child em{grid-column:1/-1}.marks{grid-template-columns:1fr 1fr}dl{grid-template-columns:1fr}}
