@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#4ea685;--secondary-color:#57b894;--black:#333;--white:#fff;--gray:#f0f0f0;--gray-2:#757575}*{box-sizing:border-box;font-family:Noto Sans KR,sans-serif;margin:0;padding:0}.login-container{align-items:center;background:linear-gradient(135deg,#4ea685,#57b894);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));display:flex;flex-direction:column;gap:2rem;justify-content:center;min-height:100vh;padding:2rem;text-align:center;width:100%}.login-container h2{color:#fff;color:var(--white);font-size:2rem;font-weight:700}.login-container p{color:#fff;color:var(--white);font-size:1.1rem;font-weight:400;margin-top:.5rem}.img.sign-in svg{color:#fff;color:var(--white);height:auto;max-width:250px;width:40vw}.form-wrapper{max-width:22rem;width:100%}.form{background-color:#fff;background-color:var(--white);border:1px solid #f0f0f0;border:1px solid var(--gray);border-radius:1rem;box-shadow:0 8px 24px #00000026;display:flex;flex-direction:column;gap:1rem;padding:2rem;width:100%}.input-group{align-items:center;display:flex;position:relative}.input-group i{color:#757575;color:var(--gray-2);font-size:1.2rem;left:1rem;position:absolute}.input-group input{background-color:#f0f0f0;background-color:var(--gray);border:2px solid #0000;border-radius:.5rem;font-size:1rem;font-weight:500;outline:none;padding:.8rem 1rem .8rem 3rem;width:100%}.input-group input:focus{border-color:#4ea685;border-color:var(--primary-color)}.form button{background-color:#4ea685;background-color:var(--primary-color);border:none;border-radius:.5rem;color:#fff;color:var(--white);cursor:pointer;font-size:1.1rem;font-weight:700;padding:.8rem;transition:background-color .3s;width:100%}.form button:hover:not(:disabled){background-color:#57b894;background-color:var(--secondary-color)}.form button:disabled{background-color:#a0cfee;cursor:not-allowed}@media only screen and (max-width:480px){.login-container{gap:1.5rem;padding:1rem}.login-container h2{font-size:1.5rem}.login-container p{font-size:1rem}.img.sign-in svg{max-width:180px;width:60vw}.form{padding:1.5rem}}.timetable-wrapper{margin:0 auto;max-width:1200px;padding:1rem;width:100%}.page-title{color:#333;font-size:1.3rem;font-weight:600;margin-bottom:1rem;overflow:hidden;padding-left:.5rem;text-overflow:ellipsis;white-space:nowrap}.navbar{align-items:center;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.logo{font-size:1.5rem;font-weight:600}.logout-btn{background-color:initial;border:1px solid #dc3545;border-radius:5px;color:#dc3545;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.logout-btn:hover{background-color:#dc3545;color:#fff}.grid-container{overflow-x:auto}.grid-container,.timetable-canvas{position:relative}.timetable{border-collapse:collapse;table-layout:fixed;width:100%}.timetable td,.timetable th{border:1px solid #dee2e6;font-size:.8rem;padding:0;text-align:center;vertical-align:top;word-break:break-all}.timetable td:first-child,.timetable th:first-child{width:12%}.timetable td:last-child,.timetable th:last-child{width:15%}.timetable th{background-color:#f8f9fa;padding:.5rem}.timetable td{background-color:#fff}.class-block{border:1px solid #0000001a;border-radius:4px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;font-size:.8rem;overflow:hidden;padding:.5rem}.class-block,.delete-btn{color:#333;position:absolute}.delete-btn{background:#ffffffb3;border:none;border-radius:50%;cursor:pointer;font-size:12px;height:18px;line-height:18px;padding:0;right:2px;top:2px;width:18px}.floating-buttons{align-items:flex-end;bottom:2rem;display:flex;flex-direction:column;gap:.5rem;position:fixed;right:2rem;z-index:10}.save-btn,.toggle-btn{border:none;border-radius:50px;box-shadow:0 4px 12px #0003;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:all .2s ease-in-out}.save-btn:hover,.toggle-btn:hover{box-shadow:0 6px 16px #00000040;transform:translateY(-2px)}.toggle-btn{background-color:#007bff}.save-btn{background-color:#28a745}.save-btn:disabled{background-color:#6c757d;cursor:not-allowed}.add-form{background:#fff;border-radius:12px;bottom:6rem;box-shadow:0 5px 15px #0000004d;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;position:fixed;right:2rem;width:300px;z-index:10}.add-form button,.add-form input{border:1px solid #ccc;border-radius:4px;padding:.5rem;width:100%}.days-checkbox{display:flex;font-size:.9rem;justify-content:space-around}@media (max-width:768px){.timetable-wrapper{padding:.5rem}.navbar .logo{font-size:1.1rem}.grid-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.timetable-canvas{min-width:700px;position:relative}.timetable{min-width:auto;width:100%}.timetable td,.timetable th{font-size:11px}.timetable td:first-child,.timetable th:first-child{min-width:50px;width:50px}.timetable td:last-child,.timetable th:last-child{min-width:65px;width:65px}.timetable td:last-child{font-size:9px;line-height:1.2}.class-block{font-size:10px;padding:.2rem}.add-form{bottom:5.5rem;left:5%;right:5%;width:90%}}.scheduler-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000014;padding:1.5rem}.scheduler-container h2{border-bottom:2px solid #f0f0f0;margin-bottom:1.5rem;margin-top:0;padding-bottom:1rem}.setup-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.config-panel h3,.student-panel h3{color:#333;font-size:1.1rem;margin-bottom:1rem;margin-top:0}.day-selection>div{margin-bottom:.75rem}.day-selection>div,.day-toggle{align-items:center;display:flex}.day-toggle{cursor:pointer;width:80px}.day-toggle input{margin-right:.5rem}.time-inputs{align-items:center;display:flex;gap:.5rem}.time-inputs input[type=time]{border:1px solid #ccc;border-radius:4px;padding:.3rem}.student-list{border:1px solid #e0e0e0;border-radius:4px;max-height:300px;overflow-y:auto;padding:.5rem}.student-item,.student-item-header{border-radius:4px;cursor:pointer;display:block;padding:.5rem .8rem}.student-item:hover{background-color:#f5f5f5}.student-item input,.student-item-header input{margin-right:.8rem}.generate-btn{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:.8rem;transition:background-color .2s;width:100%}.generate-btn:hover:not(:disabled){background-color:#218838}.generate-btn:disabled{background-color:#6c757d;cursor:not-allowed}.error-message{color:#dc3545;font-weight:500;margin-top:1rem}.results-section{border-top:2px solid #f0f0f0;margin-top:2.5rem;padding-top:1.5rem}.results-section h3{margin-top:0}.results-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.scheduled-list h4,.unscheduled-list h4{margin-bottom:1rem;margin-top:0}.scheduled-list table{border-collapse:collapse;width:100%}.scheduled-list td,.scheduled-list th{border:1px solid #e0e0e0;padding:.5rem;text-align:left}.scheduled-list th{background-color:#f8f9fa}.unscheduled-list ul{list-style:none;margin:0;padding:0}.unscheduled-list li{padding:.3rem 0}.admin-container{display:flex;height:100vh;width:100%}.student-sidebar{background-color:#f9f9f9;border-right:1px solid #e0e0e0;overflow-y:auto;padding:1rem;width:300px}.student-sidebar h2{font-size:.9rem;margin-bottom:1rem;margin-top:0}.student-sidebar ul{list-style:none;margin:0;padding:0}.student-sidebar li{border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;padding:.7rem 1rem;transition:background-color .2s}.student-sidebar li:hover{background-color:#e9ecef}.student-sidebar li.active{background-color:#007bff;color:#fff}.timetable-view{flex-grow:1;overflow-y:auto;padding:1rem}.timetable-view .placeholder{align-items:center;color:#757575;display:flex;font-size:1.2rem;height:100%;justify-content:center}.app-layout{display:flex;flex-direction:column;height:100vh}.app-header{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;display:flex;flex-shrink:0;height:64px;padding:0 2rem}.app-header .logo a{display:none}.app-nav{margin-left:0}.app-nav a{color:#555;font-size:.95rem;font-weight:500;margin:0 1rem;text-decoration:none;transition:color .2s}.app-nav a:hover{color:#007bff}.app-header .logout-btn{background-color:initial;border:1px solid #dc3545;border-radius:5px;color:#dc3545;cursor:pointer;font-size:.9rem;margin-left:auto;padding:.5rem 1rem;transition:all .2s}.app-header .logout-btn:hover{background-color:#dc3545;color:#fff}.app-content{background-color:#f4f7f6;flex-grow:1;overflow-y:auto}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.0f4e8f3a.css.map*/