@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&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}body,html{background-color:#2e2e2e;overflow-x:hidden;width:100%}.main-content{flex-grow:1;justify-content:space-around;min-height:80vh;text-align:center}.footer{background-color:#333;color:#fff;padding:10px;text-align:center;width:100%}.header{align-items:center;background-color:#212121;box-shadow:0 2px 10px #0003;display:flex;justify-content:space-between;padding:12px 20px;position:sticky;top:0;width:100%;z-index:1000}.brand{color:#f5f5f5;font-family:Inter,sans-serif;font-size:1.8rem;font-weight:600}.nav-links{gap:20px;list-style:none}.add-container,.add-item,.nav-links{align-items:center;display:flex}.add-container{background:#2e2e2e;border-radius:5px;height:40px;overflow:hidden;position:relative;transition:width .3s ease;width:45px}.add-container:hover{width:220px}.add-input{background:#2e2e2e;border:none;color:#fff;font-size:1rem;opacity:0;outline:none;padding:10px;transform:scaleX(0);transition:opacity .3s ease,transform .3s ease;width:100%}.add-container:hover .add-input{opacity:1;transform:scaleX(1)}.add-btn{background:#0000;color:gold;justify-content:center;margin-bottom:15px;padding:15px;transition:background .3s ease}.add-btn,.nav-item{align-items:center;display:flex}.nav-button{background:none;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:500;padding:8px 15px;transition:background .3s ease}.nav-button:hover{background-color:#fff3}.logout-btn{background:red;padding:8px 15px;transition:background .3s ease}.logout-btn:hover{background:#b33a2f}@media (max-width:768px){.header{font-size:400;padding:8px}}.logout-btn{background-color:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:10px 15px;transition:background-color .3s ease-in-out}.logout-btn:hover{background-color:#c82333}.logout-btn:active{background-color:#a71d2a}.logout-btn:focus{box-shadow:0 0 5px #dc354580;outline:none}.login-container{background:#fff;border-radius:10px;box-shadow:0 4px 12px #0000001a;font-family:Inter,sans-serif;margin:80px auto;max-width:400px;padding:2rem;text-align:center}.login-container h2{color:#222;font-size:26px;font-weight:600;margin-bottom:10px}.login-container p{color:#666;font-size:15px;margin-bottom:15px}.login-container p a{color:#007bff;font-weight:500;text-decoration:none;transition:color .3s ease}.login-container p a:hover{color:#0056b3;text-decoration:underline}.error-message{background:#fdecea;border-radius:5px;color:#d9534f;font-weight:500;margin-bottom:15px;padding:10px}.login-form{display:flex;flex-direction:column;gap:15px}.input-group input{border-radius:5px;font-family:Inter,sans-serif;font-size:15px;padding:12px;transition:border-color .3s ease-in-out}.input-group input:focus{border-color:#007bff;box-shadow:0 0 5px #007bff33;outline:none}.login-button{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:16px;font-weight:600;padding:12px;transition:background .3s ease-in-out,transform .2s;width:100%}.login-button:hover{background:#0056b3;transform:scale(1.02)}@media (max-width:480px){.login-container{padding:1.5rem;width:90%}}.signup-container{background:#fff;border-radius:10px;box-shadow:0 4px 10px #0000001a;font-family:Inter,sans-serif;margin:50px auto;max-width:400px;padding:30px}.signup-container h2{color:#333;font-weight:600;margin-bottom:10px;text-align:center}.signup-container p{color:#666;font-size:14px;text-align:center}.signup-container p a{color:#007bff;font-weight:500;text-decoration:none}.signup-container p a:hover{text-decoration:underline}.error-message{color:red;font-size:14px;margin-bottom:10px;text-align:center}.signup-form{display:flex;flex-direction:column}.input-group label{color:#333;font-size:14px;font-weight:500}.signup-button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:10px;transition:background .3s ease}.signup-button:hover{background-color:#0056b3}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background-color:#1e1e1e;color:#fff;font-family:Poppins,sans-serif}.sidebar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e1e1ee6;box-shadow:4px 0 10px #0003;display:flex;flex-direction:column;padding:20px;transition:all .3s ease;width:200px}.sidebar-menu{list-style:none;padding:0}.sidebar-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:1.2rem;gap:10px;padding:12px;transition:all .3s ease-in-out}.sidebar-item:hover{background:#ffffff1a;color:gold;transform:scale(1.05)}.icon{color:gold;font-size:1.4rem}.content{-ms-overflow-style:none;align-items:flex-start;display:flex;flex:1 1;flex-wrap:wrap;justify-content:space-evenly;overflow-y:auto;padding:20px;scrollbar-width:none}.content::-webkit-scrollbar{display:none}.home-container{display:flex;height:100vh;overflow:hidden;width:100vw}@media (max-width:768px){.home-container{flex-direction:column}.sidebar{box-shadow:0 4px 10px #0003;justify-content:space-around;padding:10px 0}.sidebar,.sidebar-menu{flex-direction:row;width:100%}.sidebar-menu{display:flex;justify-content:space-evenly}.sidebar-item{flex:1 1;font-size:1rem;justify-content:center;padding:10px}.icon{font-size:1.2rem}.content{padding:16px}}@media (max-width:480px){.sidebar-item{font-size:.9rem;padding:8px}.icon{font-size:1rem}.content{gap:12px;padding:12px}.month-selector{font-size:1rem}.month-selector select{font-size:.95rem;padding:.3rem .6rem}}.card{background:#fff;border-radius:12px;box-shadow:0 4px 10px #0000001a;height:450px;margin:20px;overflow:hidden;padding:20px;position:relative;text-align:center;transition:transform .3s ease,box-shadow .3s ease;width:330px}.card:hover{box-shadow:0 8px 18px #0003;transform:translateY(-5px)}.subject-header{align-items:center;display:flex;justify-content:space-between;position:relative}.subject{color:#333;font-size:1.8rem;font-weight:600;margin-bottom:15px;transition:color .3s ease}.menu-container{position:relative}.menu-btn{background:none;border:none;color:#777;cursor:pointer;font-size:20px;padding:5px;transition:color .3s ease}.menu-btn:hover{color:#333}.dropdown-menu{animation:fadeIn .2s ease-in-out;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 3px 10px #0003;display:flex;flex-direction:column;min-width:150px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10}.dropdown-menu button{background:none;border:none;cursor:pointer;font-size:1rem;padding:10px 15px;text-align:left;transition:background .2s ease-in-out;width:100%}.dropdown-menu button:hover{background:#467cf0;color:#fff}.schedule-container{border-bottom:2px solid #ddd;border-top:2px solid #ddd;height:250px;overflow-y:auto;padding-top:10px;scrollbar-color:#ccc #0000;scrollbar-width:thin}.schedule-container::-webkit-scrollbar{width:6px}.schedule-container::-webkit-scrollbar-thumb{background-color:#bbb;border-radius:10px}.schedule-item{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:12px 0;position:relative;transition:background .2s ease-in-out}.schedule-item:hover{background:#f9f9f9}.class-info{display:flex;flex-direction:column;text-align:left}.day{color:#555;font-weight:500}.time{color:#222;font-weight:600}.status{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:6px;transition:background .2s ease-in-out}.status.attended{background:#4caf50;color:#fff}.status.absent{background:#ff9800;color:#fff}.status.canceled{background:#e63946;color:#fff}.status.pending{background:#9e9e9e;color:#fff}.actions{display:flex;gap:10px;opacity:0;transition:opacity .3s ease-in-out}.schedule-item:hover .actions{opacity:1}.icon-btn{background:none;border:none;color:#777;cursor:pointer;font-size:1.2rem;transition:color .2s ease-in-out}.icon-btn:hover{color:#333}.add-btn{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;margin-top:15px;padding:12px 20px;transition:background .2s ease-in-out}.add-btn:hover{background-color:#0056b3}.modal{align-items:center;background:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background:#fff;border-radius:10px;box-shadow:0 8px 20px #00000040;color:#000;max-width:500px;padding:24px;width:90%;z-index:1001}.rename-input{background-color:#fff;border:1px solid #ccc;border-radius:6px;color:#333;font-size:1rem;max-width:200px;outline:none;padding:4px 8px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.rename-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.input-group{margin-bottom:15px;text-align:left}.BelowBar{display:flex;flex-direction:row;justify-content:space-between;padding-top:10px}.input-group label{color:#444;display:block;font-weight:700;margin-bottom:5px}.input-group input{border:1px solid #ccc;border-radius:6px;font-size:1rem;padding:8px;width:100%}.time-picker{gap:10px}.modal-buttons,.time-picker{display:flex;justify-content:space-between}.modal-buttons{margin-top:20px}.close-btn,.save-btn{border:none;border-radius:6px;cursor:pointer;font-size:1rem;padding:10px 15px;transition:.3s}.secondary-btn{background-color:#444;border:none;border-radius:8px;color:#fff;cursor:pointer;margin-left:10px;padding:6px;transition:background-color .2s ease-in-out}.secondary-btn:hover{background-color:#666}.save-btn{background:#007bff;color:#fff}.close-btn{background:#ccc;color:#000}.save-btn:hover{background:#0056b3}.close-btn:hover{background:#999}.dashboard-container{align-items:center;background-color:#1a1a1a;color:#f0f0f0;display:flex;flex-direction:column;gap:20px;min-height:100vh;padding:16px}.dashboard-summary{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;max-width:1200px;width:100%}.summary-card{background-color:#2a2a2a;border-radius:12px;box-shadow:0 4px 10px #0009;color:#f0f0f0;flex:1 1;max-width:280px;min-width:200px;padding:16px;text-align:center}.summary-card h3{color:#ccc;font-size:16px;margin-bottom:6px}.summary-card p{font-size:22px;font-weight:700}.attendance-percentage{color:#4caf50}.absent-percentage{color:#e63946}.net-attendance{color:#2196f3}.dashboard-card{background-color:#2a2a2a;border-radius:12px;box-shadow:0 4px 10px #0009;color:#f0f0f0;max-width:900px;padding:16px;text-align:center;width:100%}.dashboard-header{color:#f0f0f0;font-size:30px;font-weight:700;margin-bottom:12px}.chart-container{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-around;padding:16px}.dashboard-card:hover,.summary-card:hover{transform:translateY(-2px);transition:transform .2s ease}@media (max-width:768px){.dashboard-summary{align-items:center;flex-direction:column;gap:16px}.dashboard-card,.summary-card{width:90%}.dashboard-header{font-size:24px}.summary-card h3{font-size:14px}.summary-card p{font-size:20px}.chart-container{flex-direction:column;padding:12px}.dashboard-card .subject-name{display:none}}.bar-chart-scroll{overflow-x:auto;padding-bottom:8px;width:100%}.bar-chart-scroll::-webkit-scrollbar{height:8px}.bar-chart-scroll::-webkit-scrollbar-thumb{background-color:#555;border-radius:4px}.bar-chart-scroll::-webkit-scrollbar-track{background-color:#2a2a2a}@media (max-width:480px){.dashboard-card,.dashboard-container,.summary-card{padding:12px}.dashboard-header{font-size:15px}.summary-card p{font-size:18px}.dashboard-card .subject-name{display:none}}:root{--bg-color:#232222;--text-color:#fff;--border-color:#555;--border-color-light:#444;--accent-green:#42f132;--accent-red:#f44336;--accent-yellow:#dfbf1f;--default-gray:#2a2a2a}.history-page{box-sizing:border-box;color:#fff;color:var(--text-color);display:flex;flex-direction:column;font-family:Arial,sans-serif;font-size:1.2rem;height:100vh;overflow:hidden;padding:2rem}.month-selector{align-items:center;font-size:1.5rem;margin-bottom:1.5rem}.month-selector select{-webkit-appearance:none;appearance:none;background-color:#2a2a2a;border:1px solid #555;border:1px solid var(--border-color);border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:.4rem .8rem}.month-selector :focus{border-color:gold;box-shadow:0 0 4px #ffd70088;outline:none}.Infor{font-size:1rem;gap:1.5rem;justify-content:center;margin:1rem}.Infor,.info-item{align-items:center;display:flex}.info-item{gap:.5rem}.info-item span{color:#fff;color:var(--text-color);font-size:1rem}.history-grid-wrapper{flex:1 1;overflow-x:auto;overflow-y:auto;width:100%}.history-grid{border:1px solid #555;border:1px solid var(--border-color);border-radius:8px;display:grid;grid-template-columns:250px auto;width:max-content}.subject-column{display:flex;flex-direction:column}.subject-cell{border-bottom:1px solid #555;border-bottom:1px solid var(--border-color);font-weight:700}.subject-cell,.subject-label{background-color:#232222;background-color:var(--bg-color);padding:.75rem}.subject-label{align-items:center;border-bottom:1px solid #444;border-bottom:1px solid var(--border-color-light);display:flex;max-height:47px;min-height:47px;overflow-y:hidden}.dates-section{display:flex;flex-direction:column}.attendance-row,.date-row{display:flex;flex-direction:row}.date-cell{background-color:#2a2a2a;font-size:.9rem}.attendance-box,.date-cell{align-items:center;border-bottom:1px solid #555;border-bottom:1px solid var(--border-color);border-left:1px solid #444;border-left:1px solid var(--border-color-light);display:flex;height:47px;justify-content:center;min-width:38px}.attendance-dot{background-color:#2a2a2a;background-color:var(--default-gray);border:1px solid #333;border-radius:50%;height:18px;transition:transform .2s ease;width:18px}.attendance-dot.attended{background-color:#42f132;background-color:var(--accent-green)}.attendance-dot.absent{background-color:#f44336;background-color:var(--accent-red)}.attendance-dot.canceled{background-color:#dfbf1f;background-color:var(--accent-yellow)}.attendance-dot.none{background-color:#2a2a2a;background-color:var(--default-gray)}.attendance-dot:hover{cursor:pointer;transform:scale(1.1)}@media (max-width:768px){.history-grid{grid-template-columns:1fr;grid-template-rows:auto;width:max-content}.subject-column{flex-direction:row;margin-left:50px;min-width:auto}.subject-cell{display:none}.subject-label{background-color:#232222;background-color:var(--bg-color);border-bottom:1px solid #444;border-bottom:1px solid var(--border-color-light);display:inline-block;font-size:small;max-height:60px;max-width:100px;min-width:100px;overflow-y:hidden;text-align:center}.dates-section{flex-direction:row;overflow-x:auto;overflow-y:hidden}.attendance-row,.date-row{flex-direction:column}.date-cell{background-color:#2a2a2a;font-size:.8rem;min-width:50px}.attendance-box,.date-cell{align-items:center;border-left:1px solid #444;border-left:1px solid var(--border-color-light);display:flex;height:50px;justify-content:center}.attendance-box{border-bottom:1px solid #555;border-bottom:1px solid var(--border-color);min-width:100px}.attendance-dot{height:14px;width:14px}.attendance-row{display:flex;justify-content:space-around}.date-cell{font-size:.75rem}}
/*# sourceMappingURL=main.5013d630.css.map*/