.code-gate .invite-code-input{font:700 1.25rem/1 Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase}.locked-class{display:grid;gap:.18rem;padding:1rem 1.1rem;margin:1rem 0 1.3rem;border:1px solid #cfe2d8;border-radius:14px;background:#f3faf6}.locked-class span,.locked-class small{color:#617369;font-size:.82rem}.locked-class strong{color:#173d32}.availability-status{display:block;min-height:1.1rem;margin-top:.3rem;font-size:.78rem}.availability-status.available{color:#197342}.availability-status.unavailable{color:#b33232}.availability-status.checking{color:#6b756f}.class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.class-card{display:grid;gap:.8rem;padding:1.25rem;color:inherit;text-decoration:none;border:1px solid #dfe8e3;border-top:4px solid var(--class-color);border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(22,52,42,.06);transition:.18s}.class-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(22,52,42,.1)}.class-card>div,.class-card footer{display:flex;justify-content:space-between;gap:.6rem;align-items:center}.class-card h2,.class-card p{margin:0}.class-card footer{padding-top:.8rem;border-top:1px solid #edf1ef;color:#617369}.class-card footer span{display:grid}.class-card footer strong{color:#173d32}.status-active,.status-inactive{font-size:.75rem;font-weight:700}.status-active{color:#197342}.status-inactive{color:#8a6565}.class-management-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(230px,.8fr);gap:1rem;margin-bottom:1.2rem}.invite-panel,.class-summary,.invite-history{padding:1.3rem;border:1px solid #dfe8e3;border-radius:18px;background:#fff}.invite-panel header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.invite-panel h2,.class-summary h2{margin:.2rem 0}.security-mark{font-size:.78rem;color:#52685e}.invite-form{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.invite-form label{width:100%;font-size:.84rem;font-weight:700}.invite-form select{min-width:150px}.invite-form .primary-button{width:auto}.generated-invite{display:grid;gap:.65rem;margin-top:1.2rem;padding:1rem;border-radius:14px;background:#eff8f3;border:1px solid #badbca}.generated-invite>strong{font:800 1.55rem Manrope,sans-serif;letter-spacing:.1em;color:#174d3c}.invite-actions{display:flex;gap:.6rem;flex-wrap:wrap}.invite-actions button,.invite-actions a,.danger-link{padding:.58rem .8rem;border:1px solid #98b8aa;border-radius:9px;background:#fff;color:#174d3c;text-decoration:none;font:600 .82rem DM Sans,sans-serif;cursor:pointer}.class-summary dl{display:grid;gap:.8rem}.class-summary dl div{display:flex;justify-content:space-between;border-bottom:1px solid #edf1ef;padding-bottom:.6rem}.class-summary dt{color:#6c7d75}.class-summary dd{margin:0;font-weight:700}.invite-table{overflow-x:auto}.invite-row{display:grid;grid-template-columns:.7fr 1fr 1.5fr .4fr .6fr;gap:.8rem;align-items:center;min-width:680px;padding:.75rem;border-bottom:1px solid #edf1ef}.invite-row.heading{font-size:.75rem;font-weight:700;text-transform:uppercase;color:#687970}.invite-row em{font-style:normal;font-size:.8rem}.invite-row em.active{color:#197342}.invite-row em.inactive{color:#8a6565}.danger-link{color:#a32f2f;border-color:#e3bcbc}.empty-row{padding:1rem;color:#687970}@media(max-width:760px){.class-management-layout{grid-template-columns:1fr}.invite-panel header{display:grid}.invite-form>*{width:100%!important}.app-header nav .nav-link{font-size:.78rem}}
.registration-form-card{max-width:560px}.registration-section{min-width:0;margin:1.35rem 0;padding:1.15rem;border:1px solid #dfe8e3;border-radius:15px;background:#fbfdfc}.registration-section legend{display:flex;align-items:center;gap:.65rem;padding:0 .45rem;color:#173d32}.registration-section legend>span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#245d4a;color:#fff;font-weight:700}.registration-section legend div{display:grid}.registration-section legend small{font-size:.75rem;font-weight:400;color:#6a7b73}.registration-section .field:last-child{margin-bottom:0}.access-section{background:#fafcfb}.form-errors{margin-bottom:1rem;padding:.75rem;border-radius:10px;background:#fff1f1}
