:root{--accent:#6c5ce7;--accent-light:#a29bfe;--accent-faint:#f0eeff;--accent-dark:#4a3dbf;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--header-bg:#1e1b2e;--header-text:#e8e6f0;--workspace-bg:#f8f7f5;--card-bg:#fff;--chat-bg:#fafaf9;--text-primary:#1a1a1a;--text-secondary:#6b6b6b;--text-muted:#a0a0a0;--text-on-dark:#e8e6f0;--text-on-accent:#fff;--accent-warm:#534ab7;--surface-inset:#f3f2ef;--gpa-high:#10b981;--gpa-mid:#f59e0b;--gpa-low:#ef4444;--hold-bg:#fef2f2;--hold-border:#fecaca;--hold-text:#991b1b;--warning-bg:#fef3c7;--warning-border:#fde68a;--warning-text:#92400e;--border-light:#ebebeb;--border-subtle:#f0f0ee;--shadow-card:0 1px 3px #0000000a,0 1px 2px #00000005;--shadow-elevated:0 4px 12px #00000014;--shadow-modal:0 16px 48px #00000029;--header-height:52px;--chat-width:340px;--chat-transition:0.3s ease;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--z-header:20;--z-chat:10;--z-modal:100;--z-toast:200;--note-bg:#e6f1fb;--note-border:#b5d4f4;--note-title:#0c447c;--note-text:#185fa5;--note-advisor:#3b6d11;--note-student:var(--accent);--req-satisfied-bg:#eaf3de;--req-satisfied-border:#c0dd97;--req-satisfied-text:#3b6d11;--term-header-bg:var(--accent);--term-header-text:var(--accent-faint);--term-header-stat:#fff9;--plan-bar-bg:var(--accent);--plan-bar-text:var(--accent-faint)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100vh;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f7f5;background:var(--workspace-bg);color:#1a1a1a;color:var(--text-primary);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.5}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#b0b0b0}::selection{background:#f0eeff;background:var(--accent-faint);color:#4a3dbf;color:var(--accent-dark)}:focus-visible{outline:2px solid #6c5ce7;outline:2px solid var(--accent);outline-offset:2px}button:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){:root{--chat-transition:0s}}.app{display:grid;grid-template-areas:"header   header" "workspace chat";grid-template-columns:1fr var(--chat-width);grid-template-rows:var(--header-height) 1fr;height:100vh;overflow:hidden;position:relative;transition:grid-template-columns var(--chat-transition);will-change:grid-template-columns}.app.chat-collapsed{grid-template-columns:1fr 0}.app-header{align-items:center;background:var(--header-bg);display:flex;gap:12px;grid-area:header;min-width:0;padding:0 16px;z-index:var(--z-header)}.planner-workspace{background:var(--workspace-bg);grid-area:workspace;overflow-x:hidden;overflow-y:auto;padding:16px 20px}.chat-panel{background:var(--card-bg);border-left:1px solid var(--border-light);display:flex;flex-direction:column;grid-area:chat;min-width:0;overflow:hidden;transition:border-color var(--chat-transition);z-index:var(--z-chat)}.app.chat-collapsed .chat-panel{border-left-color:#0000}.chat-toggle-btn{align-items:center;background:var(--accent);border:none;border-radius:8px 0 0 8px;box-shadow:-2px 0 8px #00000014;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;position:absolute;right:var(--chat-width);top:50%;transform:translateY(-50%);transition:background .15s,right var(--chat-transition);width:24px;z-index:calc(var(--z-header) - 1)}.app.chat-collapsed .chat-toggle-btn{right:0}.chat-toggle-btn:hover{background:var(--accent-dark)}.chat-toggle-btn svg{transition:transform var(--chat-transition)}.app.chat-collapsed .chat-toggle-btn svg{transform:rotate(180deg)}.header-brand{align-items:center;display:flex;flex-shrink:0;gap:8px}.header-brand-icon{align-items:center;background:var(--accent);border-radius:8px;color:#fff;display:flex;font-size:11px;font-weight:600;height:30px;justify-content:center;width:30px}.header-brand-text{color:#fff;font-size:14px;font-weight:600;letter-spacing:-.01em}.header-separator{background:#ffffff1f;flex-shrink:0;height:24px;width:1px}.header-student{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.header-student-name{color:var(--header-text);font-size:13px;font-weight:500;white-space:nowrap}.header-student-meta{color:#ffffff80;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-plans{display:flex;flex-shrink:0;gap:6px}.header-plan-badge{background:#ffffff1a;border-radius:999px;color:var(--accent-light);font-size:10px;font-weight:500;padding:2px 8px;white-space:nowrap}.header-progress{align-items:center;display:flex;flex-shrink:0;gap:8px}.header-progress-bar{background:#ffffff1a;border-radius:3px;height:6px;overflow:hidden;width:80px}.header-progress-fill{background:var(--accent-light);border-radius:3px;height:100%;transition:width .5s ease}.header-progress-label{color:var(--accent-light);font-size:11px;font-weight:500;white-space:nowrap}.header-actions{flex-shrink:0;gap:6px}.header-actions,.header-btn{align-items:center;display:flex}.header-btn{border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:11px;font-weight:500;gap:4px;padding:5px 10px;transition:opacity .15s}.header-btn:hover{opacity:.85}.header-btn--primary{background:var(--accent);color:#fff}.header-btn--ghost{background:#ffffff14;border:1px solid #ffffff1f;color:#ffffffb3}.toast{animation:toastIn .25s ease;border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);font-size:13px;font-weight:500;padding:10px 16px;position:fixed;right:12px;top:12px;z-index:var(--z-toast)}.toast--error{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626}.toast--success{background:#ecfdf5;border:1px solid #6ee7b7;color:#059669}.toast--info{background:#eff6ff;border:1px solid #93c5fd;color:#2563eb}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes chatDotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes chatCursorBlink{0%,to{opacity:1}50%{opacity:0}}.chat-dot{animation:chatDotPulse 1.2s ease-in-out infinite;background:currentColor;border-radius:50%;height:4px;width:4px}.chat-cursor{animation:chatCursorBlink .8s step-end infinite;background:#ffffffb3;display:inline-block;height:13px;margin-left:2px;vertical-align:text-bottom;width:5px}.chat-md p:first-child{margin-top:0}.chat-md p:last-child{margin-bottom:0}.chat-input:focus-visible{border-color:var(--accent)!important}.enrl-panel{animation:enrlSlideDown .2s ease;background:var(--surface-inset);border-top:.5px solid var(--border-light);padding:6px 8px}@keyframes enrlSlideDown{0%{max-height:0;opacity:0}to{max-height:300px;opacity:1}}.enrl-empty,.enrl-loading{color:var(--text-muted);font-size:11px;padding:8px 0;text-align:center}.enrl-class{grid-gap:6px;align-items:center;border-radius:3px;display:grid;font-size:11px;gap:6px;grid-template-columns:32px 1fr 1fr auto;height:28px;padding:0 4px}.enrl-class:hover{background:var(--accent-faint)}.enrl-badge{align-items:center;background:var(--accent);border-radius:3px;color:var(--text-on-accent);display:inline-flex;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:9px;font-weight:700;justify-content:center;letter-spacing:.03em;padding:1px 4px;text-transform:uppercase}.enrl-course{color:var(--text-primary);font-weight:500}.enrl-course,.enrl-schedule{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enrl-schedule{color:var(--text-secondary)}.enrl-instructor{color:var(--text-muted);font-size:10px;text-align:right;white-space:nowrap}.btn-prompt-pill{transition:background .15s,color .15s}.btn-prompt-pill:focus-visible,.btn-prompt-pill:hover{background:var(--accent)!important;color:var(--text-on-accent)!important}.btn-dismiss{transition:opacity .15s}.btn-dismiss:focus-visible,.btn-dismiss:hover{opacity:1!important}.btn-audit-generate{transition:opacity .15s}.btn-audit-generate:focus-visible,.btn-audit-generate:hover{opacity:.85}.btn-retry{transition:background .15s}.btn-retry:focus-visible,.btn-retry:hover{background:#ef444414}.btn-add-course{transition:border-color .15s,background .15s}.btn-add-course:focus-visible,.btn-add-course:hover{background:var(--accent-faint)!important;border-color:var(--accent)!important}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes spin{to{transform:rotate(1turn)}}.loading-spinner{animation:spin .7s linear infinite;border:3px solid var(--accent-faint);border-radius:50%;border-top-color:var(--accent);height:32px;width:32px}
/*# sourceMappingURL=main.f6ec1823.css.map*/