*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;margin:0;background:radial-gradient(900px 600px at 0% -10%, rgba(124,58,237,.07), transparent 60%),radial-gradient(900px 600px at 120% 10%, rgba(6,182,212,.08), transparent 60%),#f6f7fb;color:#1f2937}
.wrap{max-width:1100px;margin:0 auto;padding:0 1rem}
.topbar{background:#ffffff;color:#0f172a;box-shadow:0 4px 14px rgba(2,6,23,.06)}
.topbar .brand{font-weight:800;letter-spacing:.2px}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem}
.nav a{color:#334155;text-decoration:none;margin-left:1rem}
.nav a:hover{color:#7c3aed}
.content{padding:1.2rem}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1rem;margin:1rem 0;box-shadow:0 10px 20px rgba(0,0,0,.03)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.btn{display:inline-block;padding:.65rem .9rem;border-radius:10px;border:1px solid #d1d5db;background:linear-gradient(135deg,#22d3ee,#a78bfa);color:#0b1220;text-decoration:none;box-shadow:0 8px 20px rgba(2,6,23,.08)}
.btn.secondary{background:#ffffff;color:#0f172a;border:1px solid #cbd5e1}
.btn:hover{opacity:.95}
.input,select,textarea{width:100%;padding:.6rem .7rem;border:1px solid #d1d5db;border-radius:10px;background:#fff}
label{font-size:.9rem;color:#374151;margin:.4rem 0 .2rem;display:block}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.kv{display:flex;gap:.75rem;flex-wrap:wrap}
.kv .tag{padding:.3rem .6rem;border:1px solid #d1d5db;border-radius:999px;background:#f9fafb}
.footer{padding:1.2rem 0;border-top:1px solid #e5e7eb;background:#f9fafb;margin-top:2rem}
.table{width:100%;border-collapse:separate;border-spacing:0 8px}
.table th,.table td{padding:.6rem .75rem;background:#fff;border:1px solid #e5e7eb}
.table th{background:#f3f4f6;text-align:left}
.badge{display:inline-block;padding:.2rem .5rem;border-radius:999px;font-size:.75rem;border:1px solid #e5e7eb;background:#f3f4f6}
.subject-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .5rem;border-radius:999px;border:1px solid #e5e7eb;font-size:.8rem}
.files{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}
.file-pill{border:1px solid #e5e7eb;border-radius:999px;padding:.3rem .6rem;background:#f9fafb;font-size:.85rem}
img.thumb{max-height:120px;border-radius:10px;border:1px solid #e5e7eb}
.notice{padding:.8rem 1rem;border:1px solid #d1fae5;background:#ecfdf5;color:#065f46;border-radius:10px;margin:.5rem 0}
.error{padding:.8rem 1rem;border:1px solid #fecaca;background:#fee2e2;color:#7f1d1d;border-radius:10px;margin:.5rem 0}
.small{font-size:.85rem;color:#6b7280}
.searchbar{display:flex;gap:.5rem;margin:.5rem 0}
.searchbar input, .searchbar select{flex:1}


/* Progress bars */
.progress{width:100%;background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;overflow:hidden;height:14px}
.progress .bar{height:100%;background:#4f46e5;display:block;width:0%}
.level{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .5rem;border:1px solid #e5e7eb;border-radius:999px;background:#fff}
.print-only{display:none}
@media print {
  .topbar, .nav, .btn, .searchbar, .no-print { display:none !important; }
  .card{box-shadow:none;border:1px solid #e5e7eb}
  .print-only{display:block}
  body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;margin:0;background:radial-gradient(900px 600px at 0% -10%, rgba(124,58,237,.07), transparent 60%),radial-gradient(900px 600px at 120% 10%, rgba(6,182,212,.08), transparent 60%),#f6f7fb;color:#1f2937}
}
