@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700&family=Literata:opsz,wght@7..72,500;7..72,700&display=swap";:root{--bg:#f4f6f0;--paper:#fffdf8;--ink:#1d2a2a;--muted:#5f6e6e;--line:#d9ddd2;--accent:#0f766e;--accent-soft:#daf2ee;--danger:#b42318;--shadow:0 18px 40px #1237311f;color:var(--ink);background:radial-gradient(circle at 10% 10%,#fff7df,#f4f6f0 40%);font-family:Manrope,sans-serif;line-height:1.4}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);margin:0}h1,h2{margin:0;font-family:Literata,serif}h1{font-size:clamp(1.8rem,2.5vw,2.8rem)}h2{font-size:clamp(1.2rem,2vw,1.6rem)}p{margin:0}#app{min-height:100vh}.page{width:min(1100px,92vw);margin:0 auto;padding:2rem 0 3rem}.page-centered{align-content:center;min-height:100vh;display:grid}.header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:1.25rem}.auth-card{width:min(420px,100%)}.stack{gap:.8rem;display:grid}label{gap:.35rem;font-size:.95rem;display:grid}input,textarea,button{font:inherit}input,textarea{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.65rem .75rem}textarea{resize:vertical}button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:.65rem 1rem}button:disabled{opacity:.65;cursor:not-allowed}.button-secondary{color:var(--ink);background:#e7ece7}.button-danger{background:var(--danger)}.list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.list li{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;display:flex}.row{flex-wrap:wrap;gap:.6rem;display:flex}.inline{align-items:center;gap:.5rem;display:flex}.muted{color:var(--muted)}.error{color:var(--danger)}.class-content{border:1px solid var(--line);background:#fff;border-radius:12px;padding:1rem}@media (width<=900px){.grid{grid-template-columns:1fr}.header{flex-direction:column;align-items:flex-start}}
