
:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f4f6f8}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
button{border:0;border-radius:12px;padding:12px 16px;background:#172033;color:#fff;font-weight:700;cursor:pointer}
input,select,textarea{width:100%;border:1px solid #d6dbe3;border-radius:12px;padding:12px;background:#fff}
label{display:grid;gap:6px;font-weight:600}.landing{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#e7eef7,transparent 40%),#f7f8fa}
.hero,.loginBox{width:min(680px,100%);background:#fff;padding:44px;border:1px solid #e3e6eb;border-radius:24px;box-shadow:0 20px 60px rgba(23,32,51,.08)}
.brand{font-weight:900;letter-spacing:.04em;text-transform:uppercase}.brand.small{font-size:13px}.hero h1,.loginBox h1,.page h1,.adminMain h1{font-size:clamp(30px,5vw,48px);margin:.25em 0}
.hero p{font-size:18px;color:#596273;line-height:1.6}.codeForm{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:28px}.adminLink{display:inline-block;margin-top:24px;color:#657083;font-size:14px}
.error{background:#fff0f0;color:#9f2626;padding:12px 14px;border-radius:12px;margin-top:14px}.success{background:#eaf7ee;color:#155d32;padding:12px 14px;border-radius:12px;margin-top:14px}
.page{max-width:1100px;margin:auto;padding:32px 24px 80px}.boardHeader,.topline{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}
.eyebrow{text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.12em;color:#6b7280}.secondary{background:#fff;border:1px solid #dce1e8;border-radius:12px;padding:10px 14px;font-weight:700}
.cards{display:grid;gap:18px}.card,.panel,.info{background:#fff;border:1px solid #e0e4ea;border-radius:18px;padding:22px}.card h2{margin:8px 0}.card p{color:#616b7a}.tag{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef2f7;font-size:12px;font-weight:800;text-transform:uppercase}.card details{margin-top:16px}.card summary{cursor:pointer;font-weight:800}
.activityContent{margin-top:16px;line-height:1.7}.interactiveFrame{width:100%;height:780px;border:0;border-radius:14px;margin-top:16px;background:#fff}
.empty{background:#fff;border:1px dashed #cfd5de;border-radius:18px;padding:28px;margin-top:30px}
.adminShell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.adminShell aside{background:#172033;color:#fff;padding:26px 18px;display:flex;flex-direction:column}.adminShell nav{display:grid;gap:6px;margin:30px 0}.adminShell nav a{padding:11px;border-radius:10px}.adminShell nav a:hover,.adminShell nav a.active{background:#263146}.logout{margin-top:auto;background:#2a3449}.adminMain{padding:34px;overflow:auto}.adminMain h1{font-size:36px}
.infoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info{display:flex;gap:12px;align-items:flex-start}.info b{font-size:28px}.stack{display:grid;gap:14px}.formGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end}
.checks{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.checks label,.inline{display:flex;align-items:center;gap:8px;font-weight:500}.checks input,.inline input{width:auto}.tableWrap{overflow:auto;margin-top:20px;background:#fff;border:1px solid #e0e4ea;border-radius:16px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:14px;border-bottom:1px solid #edf0f3}th{font-size:12px;text-transform:uppercase;color:#687284}.danger{background:#fff0f0;color:#9f2626;padding:8px 10px}.panel{margin-bottom:20px}.hint{font-size:12px;color:#6b7280;font-weight:500}
@media(max-width:800px){.adminShell{grid-template-columns:1fr}.adminShell aside{position:static}.adminShell nav{display:flex;flex-wrap:wrap;margin:16px 0}.logout{margin-top:10px}.adminMain{padding:22px}.formGrid,.infoGrid{grid-template-columns:1fr}.codeForm{grid-template-columns:1fr}.hero,.loginBox{padding:28px}.boardHeader{display:grid}.interactiveFrame{height:680px}}

.openActivity{display:inline-block;margin-top:14px;background:#172033;color:#fff;padding:11px 15px;border-radius:11px;font-weight:800;text-decoration:none}
.openActivity:hover{filter:brightness(1.08)}
