@import"https://fonts.googleapis.com/css2?family=Lora:wght@500;600;700&family=Open+Sans:wght@400;500;600;700&display=swap";:root{font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#333;background:#fff}*{box-sizing:border-box}body{margin:0;background:#fff}.page{display:grid;grid-template-columns:320px 1fr;height:100dvh}.sidebar{border-right:1px solid #e2e8f0;background:#fff;padding:20px;overflow:auto;display:flex;flex-direction:column}.main{padding:28px;overflow:auto}.card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;margin-bottom:18px}input,textarea,select,button{width:100%;padding:10px;border-radius:8px;border:1px solid #cbd5e1;font-size:14px}textarea{min-height:64px;resize:vertical}button{background:#009688;color:#fff;border:1px solid #009688;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}button:hover{background:#00796b;border-color:#00796b}button.secondary{background:#fff;color:#036;border:1px solid #003366}button.secondary:hover{background:#f4f8ff;border-color:#036}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.list-item{border:1px solid #e2e8f0;border-radius:8px;padding:10px;margin-bottom:8px;cursor:pointer}.list-item.active{border-color:#009688}h1,h2,h3{margin:0 0 12px;color:#036;font-family:Lora,Georgia,serif}.small{font-size:12px;color:#333}.error{color:#b91c1c;margin-bottom:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{width:auto}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-switch button{width:100%}.sidebar-footer{margin-top:auto;padding-top:12px}.sidebar-footer button{width:100%}button.danger{background:#fff;color:#b91c1c;border:1px solid #ef4444;margin-left:auto}button.danger:hover{background:#fef2f2;color:#991b1b;border-color:#dc2626}.brand-block{display:grid;gap:8px;margin-bottom:10px}.brand-logo{width:72px;height:72px;border-radius:10px}.brand-title{margin-bottom:0}.brand-subtitle{margin:0 0 8px;color:#333;font-size:13px}.context-badge{width:fit-content;font-size:12px;font-weight:700;border-radius:999px;padding:4px 10px;margin-bottom:8px}.context-badge.teacher{background:#fff7ed;border:1px solid #fb923c;color:#9a3412}.context-badge.student{background:#eff6ff;border:1px solid #60a5fa;color:#1d4ed8}.teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.teacher-summary{grid-column:1 / -1}.section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;margin-bottom:12px}.section-header h2{margin:0}.section-header button{width:auto;min-width:96px}@media(max-width:1024px){.page{grid-template-columns:280px 1fr}.main{padding:16px}.teacher-grid{grid-template-columns:1fr}}@media(max-width:840px){.page{grid-template-columns:1fr;height:auto;min-height:100dvh}.sidebar{border-right:0;border-bottom:1px solid #e2e8f0;max-height:none;overflow:visible}.main{overflow:visible}.row{grid-template-columns:1fr}}.status-track{display:flex;gap:8px;flex-wrap:wrap}.status-pill{font-size:12px;border:1px solid #cbd5e1;color:#475569;border-radius:999px;padding:4px 10px}.status-pill.active{border-color:#009688;color:#00695c;background:#ecfdf5}.status-pill.done{border-color:#94a3b8;color:#334155;background:#f8fafc}.workflow-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.workflow-step{border:1px solid #cbd5e1;border-radius:10px;padding:10px;background:#fff;display:grid;gap:6px}.workflow-step.active{border-color:#009688;background:#ecfdf5}.workflow-step.done{border-color:#94a3b8;background:#f8fafc}.workflow-step.pulse{animation:workflowPulse 1.2s ease-out}.workflow-title{font-weight:700;color:#036}.workflow-action{margin-top:6px}.readonly-badge{display:inline-block;margin:0 0 10px;padding:2px 8px;border-radius:999px;border:1px solid #94a3b8;background:#f8fafc;color:#334155;font-size:11px;font-weight:700}.final-close-cta{border:1px solid #009688;border-radius:10px;padding:10px;background:#f0fdfa}@keyframes workflowPulse{0%{box-shadow:0 0 #00968859}70%{box-shadow:0 0 0 10px #00968800}to{box-shadow:0 0 #00968800}}@media(max-width:1200px){.workflow-track{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.workflow-track{grid-template-columns:1fr}}
