@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";.app{--bg: #070a12;--surface: rgba(18, 25, 45, .72);--surface-light: rgba(255, 255, 255, .045);--border: rgba(148, 163, 184, .12);--text: #f8fafc;--muted: #8994aa;--input-bg: rgba(3, 8, 20, .72);--primary: #6366f1;--primary-2: #8b5cf6;--success: #22c55e;--danger: #ef4444;--shadow: 0 25px 70px rgba(0, 0, 0, .28);position:relative;width:100%;min-height:100vh;padding:35px 5vw 70px;overflow-x:hidden;font-family:DM Sans,sans-serif;color:var(--text);background:radial-gradient(circle at 50% -10%,rgba(99,102,241,.18),transparent 30%),radial-gradient(circle at 5% 45%,rgba(139,92,246,.08),transparent 25%),radial-gradient(circle at 95% 70%,rgba(59,130,246,.08),transparent 25%),var(--bg);transition:background .35s ease,color .35s ease}.light-theme{--bg: #f4f7fb;--surface: rgba(255, 255, 255, .82);--surface-light: rgba(255, 255, 255, .65);--border: rgba(100, 116, 139, .15);--text: #172033;--muted: #64748b;--input-bg: rgba(255, 255, 255, .9);--shadow: 0 25px 70px rgba(15, 23, 42, .09);background:radial-gradient(circle at 50% -10%,rgba(99,102,241,.1),transparent 30%),radial-gradient(circle at 5% 50%,rgba(139,92,246,.06),transparent 25%),#f4f7fb}.app-header{width:100%;max-width:1100px;margin:20px auto 55px;text-align:center}.header-badge{width:fit-content;margin:0 auto 20px;padding:7px 14px;border:1px solid rgba(129,140,248,.25);border-radius:999px;background:#6366f114;color:#a5b4fc;font-size:10px;font-weight:700;letter-spacing:1.7px}.app-header h1{margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(40px,5vw,70px);line-height:1.05;letter-spacing:-3px;font-weight:800;background:linear-gradient(110deg,#fff,#c7d2fe,#a5b4fc,#c084fc);-webkit-background-clip:text;background-clip:text;color:transparent}.light-theme .app-header h1{background:linear-gradient(110deg,#172033,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent}.header-subtitle{margin:18px auto 0;color:var(--muted);font-size:14px;letter-spacing:1.5px}.theme-toggle{position:fixed;top:22px;right:28px;z-index:1000;display:flex;align-items:center;justify-content:center;gap:8px;width:auto!important;min-width:135px;height:44px;padding:0 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:12px;font-weight:700;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 30px #00000026;transition:transform .2s ease,background .3s ease}.theme-toggle:hover{transform:translateY(-2px)}.theme-toggle-icon{font-size:16px}.dashboard{width:100%;max-width:1500px;margin:0 auto;display:flex;flex-direction:column;gap:25px}.dashboard-section{width:100%;padding:30px;border:1px solid var(--border);border-radius:24px;background:linear-gradient(145deg,var(--surface),rgba(255,255,255,.018));box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);transition:border-color .25s ease,background .3s ease,box-shadow .3s ease}.dashboard-section:hover{border-color:#818cf833}.section-heading{display:flex;align-items:center;gap:15px;margin-bottom:25px;text-align:left}.section-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:14px;background:linear-gradient(135deg,#6366f12b,#8b5cf621);border:1px solid rgba(129,140,248,.18);font-size:21px}.section-heading h2{margin:0 0 5px;color:var(--text);font-family:Plus Jakarta Sans,sans-serif;font-size:19px;font-weight:700}.section-heading h2:before{display:none}.section-heading p{margin:0;color:var(--muted);font-size:12px}.course-container{width:100%}.course-list{display:flex;flex-direction:column;gap:12px}.course-card{display:flex;align-items:center;gap:18px;width:100%;padding:15px 18px;border:1px solid var(--border);border-radius:16px;background:var(--surface-light);transition:transform .2s ease,border-color .2s ease,background .2s ease}.course-card:hover{transform:translateY(-1px);border-color:#818cf840}.course-number{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:11px;background:#6366f11a;color:#a5b4fc;font-size:11px;font-weight:700}.course-fields{width:100%;display:grid;grid-template-columns:1fr 1.3fr 1.2fr 130px;gap:12px}.input-group{display:flex;flex-direction:column;gap:7px;text-align:left}.input-group label,.setting-content label,.email-content label,.upload-content label{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.app input[type=text],.app input[type=number],.app input[type=email]{width:100%;height:46px;padding:0 14px;border:1px solid var(--border);border-radius:10px;outline:none;background:var(--input-bg);color:var(--text);font-size:13px;text-align:left;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.app input:focus{border-color:#818cf8;box-shadow:0 0 0 3px #6366f11a}.app input::placeholder{color:#64748b}.add-course-button{margin-top:15px}.primary-button,.secondary-button,.generate-button{position:relative;min-height:46px;padding:0 19px;border:none;border-radius:11px;color:#fff;font-size:12px;font-weight:700;background:linear-gradient(135deg,#6366f1,#7c3aed);box-shadow:0 10px 25px #6366f12e;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.generate-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 14px 35px #6366f147}.primary-button:disabled,.secondary-button:disabled,.generate-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{background:#6366f114;border:1px solid rgba(129,140,248,.25);color:#a5b4fc;box-shadow:none}.settings-grid{display:grid;grid-template-columns:.8fr 1.6fr 1.6fr;gap:15px}.setting-card{display:flex;gap:14px;min-width:0;padding:20px;border:1px solid var(--border);border-radius:17px;background:var(--surface-light)}.setting-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border-radius:12px;background:#6366f11a;font-size:18px}.setting-content{width:100%;text-align:left}.setting-content p{margin:5px 0 12px;color:var(--muted);font-size:11px}.setting-input{width:100%!important}.room-input{max-width:120px}.generate-area{display:flex;justify-content:center;margin-top:25px}.generate-button{min-width:280px;height:54px;font-size:13px;background:linear-gradient(135deg,#4f46e5,#9333ea);box-shadow:0 15px 40px #6366f138}.email-card{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid var(--border);border-radius:17px;background:var(--surface-light)}.email-icon{display:flex;align-items:center;justify-content:center;width:45px;height:45px;flex-shrink:0;border-radius:12px;background:#6366f11a;font-size:19px}.email-content{width:100%;text-align:left}.email-form{display:flex;gap:10px;margin-top:8px}.professor-container{width:100%}.upload-area{display:flex;align-items:center;gap:18px;padding:20px;border:1px dashed rgba(129,140,248,.3);border-radius:17px;background:#6366f10a}.upload-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:13px;background:#6366f11a;font-size:20px}.upload-content{width:100%;text-align:left}.upload-content p{margin:5px 0 12px;color:var(--muted);font-size:11px}.file-input{width:100%;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--muted)}.file-input::file-selector-button{margin-right:10px;padding:8px 13px;border:none;border-radius:8px;background:#6366f1;color:#fff;font-size:11px;font-weight:600;cursor:pointer}.status-message{margin-top:12px;padding:11px 14px;border-radius:10px;font-size:12px;text-align:center}.status-message.success{background:#22c55e14;border:1px solid rgba(34,197,94,.15);color:#4ade80}.status-message.error{background:#ef444414;border:1px solid rgba(239,68,68,.15);color:#f87171}.professor-list{margin-top:18px;display:flex;flex-direction:column;gap:8px}.professor-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px}.professor-list-header span:last-child{color:#a5b4fc}.professor-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-light);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.professor-item:hover{transform:translateY(-1px);border-color:#818cf840}.professor-item.selected{background:#6366f114;border-color:#818cf84d}.professor-item input{width:17px!important;height:17px;accent-color:#6366f1}.professor-avatar{display:flex;align-items:center;justify-content:center;width:35px;height:35px;flex-shrink:0;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:12px;font-weight:700}.professor-info{display:flex;flex-direction:column;gap:3px;text-align:left}.professor-info strong{color:var(--text);font-size:12px}.professor-info small{color:var(--muted);font-size:10px}.professor-send-button{display:block;margin:20px auto 0}.empty-professors{padding:35px 20px;text-align:center;border:1px dashed var(--border);border-radius:16px}.empty-professors>div{font-size:30px;opacity:.65}.empty-professors p{margin:10px 0 4px;color:var(--text);font-weight:600}.empty-professors span{color:var(--muted);font-size:11px}.timetable-section{width:100%}.timetable-heading{margin:10px 0 20px}.timetable-list{display:flex;flex-direction:column;gap:20px}.timetable-card{width:100%;overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.timetable-card-header{display:flex;align-items:center;justify-content:space-between;padding:22px 25px;border-bottom:1px solid var(--border);background:#6366f109}.timetable-card-header span{color:#818cf8;font-size:9px;font-weight:700;letter-spacing:1.2px}.timetable-card-header h3{margin:5px 0 0;color:var(--text);font-family:Plus Jakarta Sans,sans-serif;font-size:18px}.batch-badge{padding:7px 12px;border-radius:999px;background:#6366f11a;color:#a5b4fc!important;font-size:10px!important}.table-wrapper{width:100%;overflow-x:auto}.timetable-card table{width:100%;min-width:850px;border-collapse:collapse;text-align:center}.timetable-card th{height:52px;padding:12px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;font-size:11px;font-weight:700}.timetable-card td{min-height:65px;padding:12px;border:1px solid var(--border);color:var(--text);font-size:11px;background:transparent;transition:background .2s ease}.timetable-card tbody tr:hover td{background:#6366f10f}.day-cell{width:90px;background:#6366f112!important;color:#a5b4fc!important}.class-cell{vertical-align:middle}.class-cell.has-class{background:#6366f106}.class-entry{display:inline-block;max-width:180px;padding:7px 9px;border-radius:8px;background:#6366f117;color:var(--text);font-size:10px;line-height:1.4}.empty-slot{color:#64748b;opacity:.65}.timetable-empty{width:100%;padding:55px 30px;text-align:center;border:1px dashed var(--border);border-radius:22px;background:var(--surface-light)}.empty-icon{font-size:40px;opacity:.55}.timetable-empty h3{margin:15px 0 8px;color:var(--text);font-family:Plus Jakarta Sans,sans-serif;font-size:17px}.timetable-empty p{margin:0;color:var(--muted);font-size:12px}.app-footer{display:flex;align-items:center;justify-content:center;gap:10px;margin:55px auto 0;color:var(--muted);font-size:10px;letter-spacing:.6px}.light-theme .dashboard-section,.light-theme .course-card,.light-theme .setting-card,.light-theme .email-card,.light-theme .professor-item,.light-theme .timetable-card{box-shadow:0 15px 45px #0f172a0f}.light-theme .section-icon,.light-theme .setting-icon,.light-theme .email-icon,.light-theme .upload-icon{background:#6366f112}.light-theme .app-header h1{text-shadow:none}.light-theme .timetable-card td{background:#ffffff8c}.light-theme .timetable-card tbody tr:hover td{background:#f5f3ff}.light-theme .class-entry{background:#eef2ff;color:#3730a3}.app ::-webkit-scrollbar{width:8px;height:8px}.app ::-webkit-scrollbar-track{background:transparent}.app ::-webkit-scrollbar-thumb{background:#343d5a;border-radius:20px}.app ::-webkit-scrollbar-thumb:hover{background:#6366f1}@keyframes fadeUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.app-header{animation:fadeUp .55s ease}.dashboard-section{animation:fadeUp .55s ease both}.dashboard-section:nth-child(2){animation-delay:.05s}.dashboard-section:nth-child(3){animation-delay:.1s}.dashboard-section:nth-child(4){animation-delay:.15s}@media(max-width:1050px){.course-fields,.settings-grid{grid-template-columns:1fr 1fr}.wide-setting{grid-column:span 1}}@media(max-width:700px){.app{padding:25px 14px 55px}.theme-toggle{position:absolute;top:18px;right:15px;min-width:115px;height:40px;font-size:10px}.app-header{margin-top:65px;margin-bottom:35px}.app-header h1{font-size:38px;letter-spacing:-1.7px}.header-subtitle{font-size:11px}.dashboard{gap:16px}.dashboard-section{padding:20px 15px;border-radius:18px}.section-heading{gap:11px;margin-bottom:20px}.section-icon{width:40px;height:40px;font-size:17px}.section-heading h2{font-size:16px}.course-card{align-items:flex-start;padding:12px}.course-number{width:32px;height:32px}.course-fields,.settings-grid{grid-template-columns:1fr}.email-card,.upload-area{align-items:flex-start;flex-direction:column}.email-form{flex-direction:column}.email-form button{width:100%}.generate-button{width:100%;min-width:0}.timetable-card-header{padding:17px}.app-footer{flex-wrap:wrap;margin-top:35px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box}html{margin:0;padding:0;scroll-behavior:smooth}body{margin:0;padding:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:#6366f14d}
