@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary-blue: #2563eb;--secondary-green: #10b981;--warm-orange: #f97316;--soft-purple: #8b5cf6;--background-light: #f9fafb;--text-primary: #111827;--text-secondary: #6b7280;--border-color: #e5e7eb;--success: #22c55e;--warning: #eab308;--error: #ef4444;--headmaster-bg: #eff6ff;--activity-bg: #f0fdf4}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--background-light);color:var(--text-primary)}button{font-family:inherit}.heading-large{font-size:1.375rem;font-weight:700}.heading-medium{font-size:1rem;font-weight:600}.body-text{font-size:.8125rem;line-height:1.5}.small-text{font-size:.6875rem;color:var(--text-secondary)}.chat-message{padding:8px 12px;margin:5px 0;border-radius:10px;max-width:80%;white-space:pre-wrap;font-size:.8125rem;line-height:1.5}.message-headmaster{background:var(--headmaster-bg);margin-right:auto}.message-student{background:var(--primary-blue);color:#fff;margin-left:auto}.activity-card{border:2px solid var(--border-color);border-radius:12px;padding:16px;margin:8px 0;cursor:pointer;transition:all .3s ease;background:#fff}.activity-card:hover{border-color:var(--primary-blue);box-shadow:0 6px 16px #2563eb26}.score-badge{display:inline-block;padding:3px 10px;border-radius:16px;font-weight:600;font-size:.8125rem}.score-excellent{background:var(--success);color:#fff}.score-good{background:var(--secondary-green);color:#fff}.score-moderate{background:var(--warning);color:#000}.score-needs-work{background:var(--error);color:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;display:flex;align-items:center;justify-content:center;z-index:50}.modal-content{width:min(520px,92vw);background:#fff;border-radius:20px;padding:24px;box-shadow:0 24px 60px #0f172a33}.btn-primary{background:var(--primary-blue);color:#fff;padding:10px 18px;border:none;border-radius:8px;font-weight:600;font-size:.8125rem;cursor:pointer;transition:background .2s ease}.btn-primary:hover{background:#1d4ed8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--text-primary);padding:10px 18px;border:1px solid var(--border-color);border-radius:8px;font-weight:600;font-size:.8125rem;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{border-color:var(--primary-blue);color:var(--primary-blue)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;padding:8px 10px;border-radius:6px;border:1px solid var(--border-color);background:#fff;font-family:inherit;font-size:.8125rem;transition:border .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 4px #2563eb1a}label{font-weight:600;display:block;margin-bottom:6px}.form-grid{display:grid;gap:20px}.checkbox-group,.radio-group{display:grid;gap:10px}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.checkbox-item,.radio-item{display:flex!important;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease;font-weight:500!important;font-size:.8125rem}.checkbox-item:hover,.radio-item:hover{border-color:var(--primary-blue);background:var(--headmaster-bg)}.checkbox-item input,.radio-item input{cursor:pointer;width:auto;margin:0}.checkbox-item span,.radio-item span{flex:1}.dashboard-container{display:flex;gap:16px;padding:16px;height:100vh;max-height:100vh;align-items:stretch;transition:background .3s ease}.headmaster-panel{flex:1 1 50%;min-width:0;background:#fff;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 2px 8px #0f172a14;border:1px solid var(--border-color);transition:flex-basis .4s ease,transform .4s ease,box-shadow .4s ease}.activity-panel{flex:1 1 50%;min-width:0;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0f172a14;border:1px solid var(--border-color);display:flex;flex-direction:column;transition:flex-basis .4s ease,transform .4s ease,box-shadow .4s ease}.dashboard-container.focus-headmaster .headmaster-panel{flex-basis:70%;transform:translate(0);box-shadow:0 16px 40px #0f172a1f}.dashboard-container.focus-headmaster .activity-panel{flex-basis:30%;transform:translate(8px)}.dashboard-container.focus-activity .headmaster-panel{flex-basis:30%;transform:translate(-8px)}.dashboard-container.focus-activity .activity-panel{flex-basis:70%;transform:translate(0);box-shadow:0 16px 40px #0f172a1f}.panel-actions{display:flex;gap:12px;align-items:center}.pane-toggle{background:#fff;color:var(--primary-blue);border:1px solid var(--border-color);border-radius:999px;font-weight:600;font-size:.9rem;padding:8px 14px;cursor:pointer;transition:all .2s ease}.pane-toggle:hover{border-color:var(--primary-blue);background:#2563eb14}.chat-header{padding:14px 18px;border-bottom:1px solid var(--border-color);background:var(--background-light)}.chat-messages{flex:1;overflow-y:auto;padding:14px 18px}.chat-input{padding:12px 18px;border-top:1px solid var(--border-color);background:var(--background-light);display:grid;gap:10px}.chat-input textarea{min-height:70px;resize:vertical}.activity-panel-header{padding:14px 18px;border-bottom:1px solid var(--border-color);background:var(--background-light);display:flex;justify-content:space-between;align-items:center}.activity-panel-body{flex:1;overflow-y:auto;padding:14px 18px}.activity-panel-footer{padding:12px 18px;border-top:1px solid var(--border-color);background:var(--background-light)}.activity-status-active{color:var(--primary-blue);font-weight:600}.activity-status-complete{color:var(--secondary-green);font-weight:600}.activity-status-incomplete{color:var(--warm-orange);font-weight:600}.markdown-content{font-size:.8125rem;line-height:1.6}.markdown-content strong{font-weight:700;color:var(--text-primary)}.markdown-content em{font-style:italic;color:var(--text-secondary)}.markdown-content p{margin:6px 0}.markdown-content ul,.markdown-content ol{margin:6px 0;padding-left:20px}.markdown-content li{margin:3px 0}.markdown-content code{background:#0000000d;padding:2px 5px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin:10px 0 6px;font-weight:600}.markdown-content h1{font-size:1.15em}.markdown-content h2{font-size:1.05em}.markdown-content h3{font-size:1em}.headmaster-hidden .activity-placeholder{display:flex;align-items:center;justify-content:center;height:100%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.dashboard-container{flex-direction:column;padding:12px;height:auto}.headmaster-panel,.activity-panel{width:100%;height:auto;min-height:50vh;transform:none!important;flex-basis:100%!important}.panel-actions{flex-wrap:wrap;justify-content:flex-end}}.activity-suggestion-inline{margin:12px 0;max-width:90%}.suggestion-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid var(--primary-blue);border-radius:12px;padding:16px;box-shadow:0 4px 12px #2563eb1f}.suggestion-card .suggestion-header{display:flex;gap:12px;align-items:center;margin-bottom:12px}.suggestion-card .activity-icon{font-size:2rem;line-height:1}.suggestion-card .suggestion-title h4{margin:0 0 4px;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.suggestion-card .activity-badge{display:inline-block;font-size:.6875rem;font-weight:600;color:var(--primary-blue);text-transform:uppercase;letter-spacing:.5px}.suggestion-card .suggestion-message{font-size:.8125rem;line-height:1.5;margin:0 0 12px;color:var(--text-primary)}.suggestion-card .suggestion-details{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px;font-size:.75rem;color:var(--text-secondary)}.suggestion-card .suggestion-actions{display:flex;gap:8px;justify-content:flex-end}.btn-sm{padding:8px 16px;font-size:.8125rem}.suggestion-card.suggestion-rejected{opacity:.6;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-color:var(--border-color)}.rejection-notice{margin:8px 0;padding:8px 12px;background:#ef44441a;border-left:3px solid var(--error);border-radius:4px;font-size:.75rem;color:var(--text-secondary);font-weight:500}@keyframes thinking-dots{0%,20%{opacity:.3}40%{opacity:1}60%,to{opacity:.3}}.thinking-indicator{display:inline-flex;gap:4px;align-items:center}.thinking-dot{width:6px;height:6px;background:currentColor;border-radius:50%;animation:thinking-dots 1.4s infinite}.thinking-dot:nth-child(1){animation-delay:0s}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}
