@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.login-page{height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.login-left{background:linear-gradient(135deg,#f8f7f4 0%,#efeee8 100%);flex-direction:column;flex:1;justify-content:center;padding:60px;display:flex}.login-brand{margin-bottom:48px}.login-logo{color:#fff;background:#2eaadc;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:20px;font-size:22px;font-weight:800;display:flex}.login-brand h1{color:#37352f;letter-spacing:-.5px;margin-bottom:8px;font-size:32px;font-weight:700}.login-tagline{color:#9b9a97;font-size:16px;font-weight:400}.login-features{flex-direction:column;gap:24px;max-width:380px;display:flex}.login-feature{align-items:flex-start;gap:14px;display:flex}.feature-icon{background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;display:flex;box-shadow:0 1px 3px #0000000f}.login-feature strong{color:#37352f;margin-bottom:2px;font-size:14px;font-weight:600;display:block}.login-feature p{color:#9b9a97;margin:0;font-size:13px;line-height:1.5}.login-right{background:#fff;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.login-card{width:100%;max-width:380px}.login-card h2{color:#37352f;margin-bottom:6px;font-size:24px;font-weight:700}.login-subtitle{color:#9b9a97;margin-bottom:28px;font-size:14px}.google-btn{color:#37352f;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:10px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,box-shadow .15s;display:flex}.google-btn:hover{background:#f7f7f5;box-shadow:0 1px 3px #00000014}.divider{align-items:center;gap:12px;margin:20px 0;display:flex}.divider:before,.divider:after{content:"";background:#e8e8e4;flex:1;height:1px}.divider span{color:#9b9a97;font-size:12px;font-weight:500}.login-input{color:#37352f;background:#f7f7f5;border:1px solid #e8e8e4;border-radius:8px;outline:none;width:100%;margin-bottom:12px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .15s}.login-input:focus{background:#fff;border-color:#2eaadc}.login-input::placeholder{color:#c0bfbc}.login-error{color:#eb5757;background:#fdf2f2;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:13px}.login-submit{color:#fff;cursor:pointer;background:#2eaadc;border:none;border-radius:8px;width:100%;padding:10px;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .15s}.login-submit:hover{opacity:.9}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-switch{text-align:center;color:#9b9a97;margin-top:20px;font-size:13px}.login-switch button{color:#2eaadc;cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:13px;font-weight:600}.login-switch button:hover{text-decoration:underline}@media (width<=768px){.login-page{flex-direction:column}.login-left{flex:none;padding:32px}.login-features{display:none}.login-right{padding:24px}}@media (prefers-color-scheme:dark){.login-left{background:linear-gradient(135deg,#1a1a1a 0%,#222 100%)}.login-brand h1,.login-feature strong{color:#e0e0e0}.feature-icon{box-shadow:none;background:#2c2c2c}.login-right{background:#191919}.login-card h2{color:#e0e0e0}.google-btn{color:#e0e0e0;background:#2c2c2c;border-color:#444}.google-btn:hover,.divider:before,.divider:after{background:#333}.login-input{color:#e0e0e0;background:#2c2c2c;border-color:#444}.login-input:focus{background:#333}.login-input::placeholder{color:#666}.login-error{background:#3a1f1f}}.layout{height:100vh;display:flex}.sidebar{background:var(--bg-side);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;padding:16px 0;display:flex}.sidebar-logo{align-items:center;gap:8px;padding:0 16px 16px;font-size:14px;font-weight:600;display:flex}.logo-box{background:var(--accent);color:#fff;border-radius:5px;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:800;display:flex}.sidebar-nav{flex-direction:column;gap:1px;padding:0 8px;display:flex}.nav-btn{color:var(--text-2);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:7px 10px;transition:all .12s;display:flex}.nav-btn:hover{background:var(--bg-hover);color:var(--text)}.nav-btn.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:12px 8px 0}.sidebar-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;padding:4px 8px 6px;font-size:10px;font-weight:700}.course-btn{width:100%;color:var(--text-2);cursor:pointer;font-size:12px;font-family:var(--font);background:0 0;border:none;border-radius:5px;justify-content:space-between;align-items:center;padding:5px 10px;transition:background .12s;display:flex}.course-btn:hover{background:var(--bg-hover)}.course-btn.active{background:var(--accent-bg);color:var(--accent)}.course-badge{background:var(--accent-bg);color:var(--accent);border-radius:3px;padding:0 5px;font-size:10px}.delete-all-btn{width:100%;color:var(--text-3);background:0 0;border-color:#0000;justify-content:center;margin-top:6px}.delete-all-btn:hover{color:#ef4444;border-color:#ef4444}.sidebar-actions{gap:4px;margin-top:10px;display:flex}.icon-btn{border:1px solid var(--border);background:var(--bg-hover);color:var(--text-3);cursor:pointer;font-size:11px;font-family:var(--font);border-radius:5px;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px;transition:all .12s;display:flex}.icon-btn:hover{color:var(--text);border-color:var(--accent)}.main-content{flex:1;padding:28px 36px;overflow-y:auto}.page-wrapper{width:100%}@media (width<=768px){.layout{flex-direction:column}.sidebar{border-right:none;border-top:1px solid var(--border);z-index:100;background:var(--bg-side);flex-direction:row;flex-shrink:0;order:2;width:100%;padding:0;position:fixed;bottom:0;left:0}.sidebar-logo{display:none}.sidebar-nav{flex-direction:row;flex:1;justify-content:space-around;gap:0;padding:6px 0}.nav-btn{flex-direction:column;gap:2px;padding:4px 8px;font-size:10px}.sidebar-footer{display:none}.main-content{order:1;height:calc(100vh - 52px);padding:16px 16px 72px}}@media (width>=769px) and (width<=1024px){.sidebar{align-items:center;width:60px}.sidebar-logo span{display:none}.sidebar-nav{align-items:center}.nav-btn{justify-content:center;padding:10px}.nav-label,.sidebar-label{display:none}.course-btn{padding:4px 6px;font-size:10px}.course-btn span:first-child{text-overflow:ellipsis;max-width:40px;overflow:hidden}.sidebar-actions{flex-direction:column}.icon-btn span{display:none}.main-content{padding:24px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bg:#fff;--bg-side:#f7f7f5;--bg-hover:#efefef;--bg-card:#fff;--bg-input:#f7f7f5;--border:#e8e8e4;--text:#37352f;--text-2:#6b6b6b;--text-3:#9b9a97;--accent:#2eaadc;--accent-bg:#2eaadc14;--red:#eb5757;--orange:#f2994a;--green:#27ae60;--purple:#9b51e0;--blue:#2f80ed;--radius:6px}[data-theme=dark]{--bg:#191919;--bg-side:#202020;--bg-hover:#2c2c2c;--bg-card:#202020;--bg-input:#2c2c2c;--border:#333;--text:#e0e0e0;--text-2:#9b9b9b;--text-3:#666;--accent:#529cca;--accent-bg:#529cca1a}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}#root{width:100%;min-height:100vh}a{color:var(--accent);text-decoration:none}.loading-screen{height:100vh;color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.loading-logo{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:800;animation:1.5s infinite pulse;display:flex}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.page-title{letter-spacing:-.3px;margin-bottom:4px;font-size:26px;font-weight:700}.page-desc{color:var(--text-3);margin-bottom:24px;font-size:14px}.text-muted{color:var(--text-3);font-size:13px}.section-block{margin-bottom:28px}.section-title{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:15px;font-weight:600}.two-col{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:28px;display:grid}.metrics{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.metric{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex:1;min-width:100px;padding:14px 16px;position:relative}.metric-icon{color:var(--accent);margin-bottom:4px}.metric-val{color:var(--accent);font-size:24px;font-weight:700}.metric-label{color:var(--text-3);font-size:11px}.contact-grid{flex-wrap:wrap;gap:12px;display:flex}.contact-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex:1;min-width:200px;padding:12px 16px}.contact-icon{color:var(--accent);margin-bottom:2px}.contact-role{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);font-size:10px;font-weight:700}.contact-name{margin:2px 0;font-size:14px;font-weight:600}.contact-email{margin-bottom:2px;font-size:13px;display:block}.contact-detail{color:var(--text-3);font-size:12px}.dl-item{border-bottom:1px solid var(--border);align-items:baseline;gap:12px;padding:8px 0;display:flex}.dl-item:last-child{border-bottom:none}.dl-date{min-width:90px;color:var(--accent);font-size:13px;font-weight:600}.dl-desc{flex:1;font-size:14px}.dl-type{text-transform:uppercase;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.dl-type-midterm,.dl-type-final_exam{color:var(--red);background:#eb57571a}.dl-type-homework,.dl-type-deadline{color:var(--blue);background:#2f80ed1a}.dl-type-project,.dl-type-presentation{color:var(--orange);background:#f2994a1a}.dl-type-quiz{color:var(--purple);background:#9b51e01a}.gr-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.gr-label{text-align:right;min-width:120px;color:var(--text-2);font-size:13px}.gr-track{background:var(--bg-input);border-radius:4px;flex:1;height:20px;overflow:hidden}.gr-fill{color:#fff;border-radius:4px;align-items:center;height:100%;padding-left:6px;font-size:10px;font-weight:600;display:flex}.gr-pct{min-width:32px;color:var(--accent);font-size:13px;font-weight:600}.pol-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pol-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;transition:border-color .15s}.pol-card:hover{border-color:var(--accent)}.pol-label{background:var(--accent-bg);color:var(--accent);border-radius:3px;margin-bottom:6px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.pol-text{color:var(--text-2);font-size:13px;line-height:1.6}.upload-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:10px;max-width:460px;padding:48px;transition:border-color .2s,background .2s}.upload-zone:hover,.upload-zone.dragging{border-color:var(--accent);background:var(--accent-bg)}.upload-icon{color:var(--text-3);margin-bottom:8px}.upload-main{color:var(--text-2);font-size:14px}.upload-link{color:var(--accent)}.upload-sub{color:var(--text-3);margin-top:4px;font-size:12px}.status-bar{border-radius:var(--radius);align-items:center;gap:6px;max-width:460px;margin-top:12px;padding:8px 14px;font-size:13px;display:flex}.status-loading{background:var(--accent-bg);color:var(--accent)}.status-success{color:var(--green);background:#27ae601a}.status-error{color:var(--red);background:#eb57571a}.cal-top{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.cal-actions{gap:6px;display:flex}.cal-modes{background:var(--bg-input);border-radius:var(--radius);gap:2px;width:fit-content;margin-bottom:12px;padding:3px;display:flex}.cal-mode{color:var(--text-3);font-size:12px;font-weight:600;font-family:var(--font);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 16px}.cal-mode:hover{color:var(--text)}.cal-mode.active{background:var(--bg);color:var(--accent);box-shadow:0 1px 2px #0000000d}.cal-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:16px}.cal-legend{color:var(--text-2);gap:16px;margin-bottom:16px;font-size:12px;display:flex}.legend-item{align-items:center;gap:5px;display:flex}.dot{border-radius:2px;width:8px;height:8px;display:inline-block}.dot-exam{background:var(--red)}.dot-hw{background:var(--blue)}.dot-proj{background:var(--orange)}.dot-quiz{background:var(--purple)}.dot-class{background:#14b8a6}.sched-title{margin-top:20px}.sched-pill{margin-left:8px}.sched-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.sched-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;transition:border-color .12s}.sched-card:hover{border-color:var(--accent)}.sched-code{color:var(--accent);font-size:14px;font-weight:700}.sched-name{color:var(--text-3);margin-bottom:8px;font-size:12px}.sched-session{color:var(--text-2);align-items:center;gap:6px;padding:3px 0;font-size:12px;display:flex}.sched-session:before{content:"";background:#14b8a6;border-radius:50%;flex-shrink:0;width:4px;height:4px}.fc{--fc-border-color:var(--border);--fc-button-bg-color:var(--bg-input);--fc-button-border-color:var(--border);--fc-button-text-color:var(--text-2);--fc-button-hover-bg-color:var(--bg-hover);--fc-button-active-bg-color:var(--accent);--fc-button-active-border-color:var(--accent);--fc-today-bg-color:var(--accent-bg);--fc-page-bg-color:transparent;--fc-neutral-bg-color:var(--bg-input);font-size:13px}.fc .fc-toolbar-title{color:var(--text);font-size:16px;font-weight:700}.fc .fc-col-header-cell-cushion{color:var(--text-3);font-size:11px;text-decoration:none}.fc .fc-daygrid-day-number{color:var(--text-2);font-size:12px;text-decoration:none}.fc .fc-day-today .fc-daygrid-day-number{color:var(--accent);font-weight:700}.fc .fc-daygrid-event{border:none;border-radius:3px;padding:1px 4px;font-size:11px}.fc .fc-button{font-size:12px;font-family:var(--font);border-radius:4px;padding:4px 10px}.fc .fc-button:focus{box-shadow:none}.ask-page{flex-direction:column;max-width:720px;height:calc(100vh - 56px);margin:0 auto;display:flex}.ask-content{flex:1;padding-bottom:16px;overflow-y:auto}.ask-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:50vh;display:flex}.ask-hero-icon{background:var(--accent-bg);width:56px;height:56px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.ask-hero-title{margin:0;font-size:22px;font-weight:700}.ask-hero-desc{color:var(--text-3);margin:0 0 20px;font-size:14px}.ask-suggestions{flex-wrap:wrap;justify-content:center;gap:8px;max-width:480px;display:flex}.ask-chip{background:var(--bg-card);border:1px solid var(--border);color:var(--text-2);font-size:13px;font-family:var(--font);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;transition:all .15s;display:flex}.ask-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.ask-messages{flex-direction:column;gap:16px;display:flex}.ask-msg{align-items:flex-start;gap:10px;display:flex}.ask-msg.user{justify-content:flex-end}.ask-msg-avatar{background:var(--accent);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:flex}.ask-msg-body{border-radius:10px;max-width:80%;padding:10px 14px;font-size:14px;line-height:1.6}.ask-msg.assistant .ask-msg-body{background:var(--bg-card);border:1px solid var(--border);border-top-left-radius:2px}.ask-msg.user .ask-msg-body{background:var(--accent);color:#fff;border-bottom-right-radius:2px}.ask-meta{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}.ask-conf{border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600}.ask-conf.high{color:var(--green);background:#27ae601a}.ask-conf.mid{color:var(--orange);background:#f2994a1a}.ask-conf.low{color:var(--red);background:#eb57571a}.ask-source-btn{color:var(--accent);cursor:pointer;font-size:11px;font-family:var(--font);background:0 0;border:none}.ask-source-btn:hover{text-decoration:underline}.ask-source{background:var(--bg-input);color:var(--text-3);border-radius:6px;margin-top:6px;padding:8px 10px;font-size:12px;line-height:1.5;overflow:hidden}.ask-typing{gap:4px;padding:6px 0;display:flex}.ask-typing span{background:var(--text-3);border-radius:50%;width:6px;height:6px;animation:1.2s infinite typeBlink}.ask-typing span:nth-child(2){animation-delay:.2s}.ask-typing span:nth-child(3){animation-delay:.4s}@keyframes typeBlink{0%,to{opacity:.2}50%{opacity:1}}.ask-input-wrap{border-top:1px solid var(--border);flex-shrink:0;padding-top:12px}.ask-input-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:24px;align-items:center;gap:8px;padding:6px 6px 6px 16px;transition:border-color .15s;display:flex}.ask-input-bar:focus-within{border-color:var(--accent)}.ask-input{color:var(--text);font-size:14px;font-family:var(--font);background:0 0;border:none;outline:none;flex:1;padding:6px 0}.ask-input::placeholder{color:var(--text-3)}.ask-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .15s;display:flex}.ask-send:hover{opacity:.85}.ask-send:disabled{opacity:.3;cursor:not-allowed}.ask-footer{text-align:center;color:var(--text-3);margin-top:8px;font-size:11px}.grades-page{max-width:800px}.grades-layout{grid-template-columns:1fr 280px;align-items:start;gap:32px;display:grid}.grades-input-section{flex-direction:column;gap:6px;display:flex}.grade-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;transition:border-color .12s;display:flex}.grade-card:focus-within{border-color:var(--accent)}.grade-card-left{align-items:center;gap:10px;display:flex}.grade-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.grade-comp-name{font-size:14px;font-weight:500}.grade-comp-weight{color:var(--text-3);font-size:11px}.grade-card-right{align-items:center;gap:4px;display:flex}.grade-score-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);width:64px;color:var(--text);text-align:center;font-size:14px;font-family:var(--font);appearance:textfield;outline:none;padding:7px 8px}.grade-score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.grade-score-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.grade-score-input:focus{border-color:var(--accent)}.grade-score-input::placeholder,.grade-max{color:var(--text-3);font-size:12px}.grades-calc-btn{background:var(--accent);color:#fff;font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:10px;transition:opacity .12s;display:flex}.grades-calc-btn:hover{opacity:.9}.grades-result-section{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:12px;flex-direction:column;align-items:center;padding:28px 20px;display:flex;position:sticky;top:28px}.result-circle{width:140px;height:140px;margin-bottom:12px;position:relative}.result-ring{width:100%;height:100%}.result-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.result-score{color:var(--accent);font-size:32px;font-weight:700;line-height:1}.result-letter{color:var(--text-2);margin-top:2px;font-size:18px;font-weight:600}.result-detail{color:var(--text-3);margin-bottom:12px;font-size:12px}.result-scale{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.scale-chip{background:var(--bg-input);color:var(--text-3);border:1px solid #0000;border-radius:10px;padding:2px 8px;font-size:10px}.scale-chip.active{background:var(--accent-bg);color:var(--accent);border-color:var(--accent);font-weight:600}@media (width<=700px){.grades-layout{grid-template-columns:1fr}.grades-result-section{position:static}}.btn-accent{background:var(--accent);color:#fff;border-radius:var(--radius);font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;border:none;align-items:center;gap:5px;padding:7px 14px;display:inline-flex}.btn-accent:hover{opacity:.9}.btn-accent:disabled{opacity:.4;cursor:not-allowed}.btn-outline{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-2);font-size:12px;font-weight:500;font-family:var(--font);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:6px 12px;display:inline-flex}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.pill{border-radius:3px;margin-left:6px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.pill-ok{color:var(--green);background:#27ae601a}.pill-warn{color:var(--orange);background:#f2994a1a}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (width<=900px){.two-col,.pol-grid{grid-template-columns:1fr}}@media (width<=768px){.page-title{font-size:20px}.page-desc{margin-bottom:16px;font-size:12px}.metrics{grid-template-columns:1fr 1fr;gap:8px;display:grid}.metric-card{padding:10px 12px}.metric-val{font-size:20px}.contact-grid{flex-direction:column}.dl-desc{font-size:12px}.dl-date{min-width:70px;font-size:11px}.gr-label{min-width:80px;font-size:11px}.pol-grid,.two-col{grid-template-columns:1fr}.upload-zone{padding:24px 16px}.cal-toolbar{flex-direction:column;align-items:stretch;gap:8px}.fc .fc-toolbar{flex-direction:column;gap:8px}.fc .fc-toolbar-title{font-size:14px}.fc .fc-daygrid-event{padding:0 2px;font-size:9px}.fc .fc-button{padding:3px 6px;font-size:10px}.chat-area{height:calc(100vh - 200px)}.chat-input-row{gap:6px}.chat-input-row input{padding:10px 14px;font-size:13px}.grades-layout{grid-template-columns:1fr}.grades-result-section{position:static}.schedule-grid{grid-template-columns:1fr}}@media (width<=400px){.metrics{grid-template-columns:1fr}.metric-card{padding:8px 10px}.nav-btn{padding:3px 4px;font-size:9px}.fc .fc-daygrid-event{display:none}.fc .fc-day.fc-day-today{background:var(--accent-bg)}}
