:root{color:#0b2433;background:radial-gradient(circle at top,#dff3ff,#eef6fb 45%,#f6fbff);font-family:"Source Sans 3",Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}.page{justify-content:center;align-items:flex-start;min-height:100vh;padding:2rem;display:flex}.card{background:#fff;border:1px solid #d9e7f0;border-radius:1rem;width:min(1360px,100%);padding:2.2rem;box-shadow:0 10px 30px #0b24331a}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#1b789f;margin:0;font-size:.8rem;font-weight:700}h1{margin:.3rem 0 0;font-size:clamp(1.7rem,4vw,2.4rem)}.subtitle{color:#35556b;margin:.75rem 0 1.4rem}.status{border-radius:.7rem;gap:.25rem;margin-bottom:1rem;padding:.9rem 1rem;display:grid}.status small{color:#35556b}.status-ok{background:#e7f8ed;border:1px solid #a8dfbb}.status-ko{background:#ffeded;border:1px solid #f2b2b2}.status-idle,.status-loading{background:#edf5ff;border:1px solid #bcd8f7}.login-form{gap:.8rem;display:grid}.login-form label{color:#1d3e53;gap:.4rem;font-size:.92rem;display:grid}.login-form input[type=text],.login-form input[type=password],.login-form input[type=email],.admin-create-form input[type=text],.admin-create-form input[type=password],.admin-create-form input[type=email],.admin-create-form select,.inline-form input[type=text],.inline-form input[type=number],.inline-form select,.inline-form textarea,.login-form input:not([type]){border:1px solid #c8dbe8;border-radius:.6rem;padding:.65rem .75rem;font-size:.95rem}.admin-create-form{background:#f8fcff;border:1px solid #dbe8f1;border-radius:.8rem;gap:.8rem;margin-top:1rem;padding:1rem;display:grid}.admin-create-form h3{margin:0}.admin-create-form label{color:#1d3e53;gap:.4rem;font-size:.92rem;display:grid}.remember-row{align-items:center;gap:.5rem;display:flex}.panel{border-top:1px solid #dbe8f1;margin-top:1.2rem;padding-top:1.2rem}.actions{flex-wrap:wrap;gap:.7rem;display:flex}.admin-panel{border-top:1px solid #dbe8f1;margin-top:1.2rem;padding-top:1.2rem}.users-list{gap:.8rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.users-item{background:#fdfefe;border:1px solid #dbe8f1;border-radius:.8rem;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.9rem;display:flex}.users-item p{margin:.15rem 0}.structure-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem;display:grid}.structure-card{background:#fdfefe;border:1px solid #dbe8f1;border-radius:.8rem;padding:.8rem}.structure-card h4{margin:0 0 .6rem}.inline-form{gap:.5rem;margin-bottom:.75rem;display:grid}.entity-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.entity-list li{background:#fff;border:1px solid #e4edf4;border-radius:.65rem;gap:.5rem;padding:.6rem;display:grid}.courses-layout,.exercises-layout{grid-template-columns:minmax(340px,1fr) minmax(0,2fr);gap:1rem;margin-top:1rem;display:grid}.course-selected{background:#f0f8ff!important;border-color:#8ec4e7!important}.course-editor-rich{background:#fff;border-radius:.6rem}.course-editor-rich .ql-editor{min-height:12rem}.student-navigation-filters{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-top:.75rem;display:grid}.student-navigation-filters label{color:#1d3e53;gap:.35rem;font-size:.9rem;display:grid}.student-navigation-courses{margin-top:.85rem}@media (width>=1200px){.users-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-create-form h3,.admin-create-form .remember-row,.admin-create-form .error,.admin-create-form button{grid-column:1/-1}}@media (width<=900px){.page{padding:1rem}.card{width:100%;padding:1.2rem}.courses-layout,.exercises-layout{grid-template-columns:1fr}}.muted{color:#4c6a7f;margin:.2rem 0}.error{color:#b02222;margin:0;font-weight:600}button{color:#fff;cursor:pointer;background:#0b4a6f;border:0;border-radius:.7rem;padding:.7rem 1rem;font-size:.95rem;font-weight:600}button:hover{background:#0a3f5e}button.secondary{background:#7b8e9c}button.secondary:hover{background:#657887}button.danger{background:#b22a2a}button.danger:hover{background:#8f2323}
