.dashboard h2{margin-bottom:8px}.dashboard>p{margin-bottom:16px;color:#333}.dashboard .card{margin-top:20px}.dashboard .attendance-status{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:700;line-height:1.2;margin-left:8px;vertical-align:middle}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:white;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover{background-color:#1e7e34}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#e0a800}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input,.form-group select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.table{width:100%;border-collapse:collapse;margin-top:20px}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.table th{background-color:#f8f9fa;font-weight:600}.navbar{background-color:#343a40;padding:8px 0;margin-bottom:15px;position:sticky;top:0;z-index:1000;box-shadow:0 1px 2px #0000001a}.navbar .container{display:flex;justify-content:space-between;align-items:center}.navbar-brand{color:#fff;font-size:18px;font-weight:600;text-decoration:none}.navbar-nav{display:flex;list-style:none;gap:20px}.navbar-nav a{color:#fff;text-decoration:none;padding:8px 16px;border-radius:4px;transition:background-color .3s;white-space:nowrap}.navbar-nav a:hover,.navbar-nav a.active{background-color:#ffffff1a}.navbar-header{display:flex;justify-content:space-between;align-items:center;width:100%}.navbar-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:4px}.navbar-toggle-icon{width:25px;height:3px;background-color:#fff;border-radius:2px;transition:all .3s ease}.navbar-toggle:hover .navbar-toggle-icon{background-color:#ccc}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.login-form{background:white;padding:40px;border-radius:10px;box-shadow:0 15px 35px #0000001a;width:100%;max-width:400px}.login-form h2{text-align:center;margin-bottom:30px;color:#333}.attendance-status{display:inline-block;padding:4px 8px;border-radius:4px;text-align:center;font-weight:700;line-height:1.2;margin-left:8px;vertical-align:middle}.status-present{background-color:#d4edda;color:#155724}.status-absent{background-color:#f8d7da;color:#721c24}.status-late{background-color:#fff3cd;color:#856404}.loading{text-align:center;padding:40px;color:#666}.error{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;padding:10px;border-radius:4px;margin-bottom:20px}.success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb;padding:10px;border-radius:4px;margin-bottom:20px}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:998;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.sidebar-overlay-open{opacity:1;visibility:visible}.sidebar{position:fixed;top:0;left:-300px;width:300px;height:100%;background-color:#343a40;z-index:999;transition:left .3s ease;overflow-y:auto}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:#343a40}.sidebar::-webkit-scrollbar-thumb{background:#6c757d;border-radius:4px}.sidebar::-webkit-scrollbar-thumb:hover{background:#adb5bd}.sidebar-open{left:0}.sidebar{scrollbar-width:thin;scrollbar-color:#6c757d #343a40}.sidebar-content{padding:20px;height:100%;display:flex;flex-direction:column}.sidebar-header{padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:20px}.sidebar-header h3{color:#fff;font-size:18px;font-weight:600;margin:0}.sidebar-nav{list-style:none;flex:1}.sidebar-nav li{margin-bottom:10px}.sidebar-nav a{display:flex;align-items:center;color:#fff;text-decoration:none;padding:12px 16px;border-radius:6px;transition:background-color .3s}.sidebar-nav a:hover{background-color:#ffffff1a}.sidebar-icon{margin-right:12px;font-size:18px}.sidebar-divider{height:1px;background-color:#ffffff1a;margin:20px 0;border:none}.sidebar-logout-btn{display:flex;align-items:center;width:100%;background:none;border:none;color:#fff;text-decoration:none;padding:12px 16px;border-radius:6px;cursor:pointer;transition:background-color .3s;font-size:14px;text-align:left}.sidebar-logout-btn:hover{background-color:#ffffff1a}@media (min-width: 769px){.navbar-toggle{display:none!important}.sidebar{left:0;position:fixed;width:250px}.sidebar-overlay{display:none}.navbar{margin-left:250px;transition:margin-left .3s ease}.main-content{margin-left:250px;padding:20px;transition:margin-left .3s ease}}@media (max-width: 768px){.sidebar{width:280px}}@media (max-width: 768px){.container{padding:0 15px}.navbar{padding:10px 0;margin-bottom:15px}.navbar .container{flex-direction:column;gap:15px}.navbar-header{display:flex;justify-content:space-between;align-items:center;width:100%}.navbar-toggle{display:flex}.navbar-nav{display:none;flex-direction:column;gap:10px;width:100%;max-height:0;overflow:hidden;transition:max-height .3s ease}.navbar-nav-open{display:flex;max-height:500px}.navbar-nav li{width:100%}.navbar-nav a{display:block;text-align:center;padding:12px 16px;white-space:nowrap}.card{padding:15px;margin:10px 0}.table{font-size:12px}.table th,.table td{padding:8px}.login-form{width:90%;padding:20px;margin:20px}.btn{padding:8px 16px;font-size:14px}.form-group input,.form-group select{font-size:16px}}@media (max-width: 480px){.container{padding:0 10px}.card{padding:10px}.table{font-size:11px;display:block;overflow-x:auto;white-space:nowrap}.table th,.table td{padding:6px;min-width:80px}.navbar-brand{font-size:20px}.btn{padding:6px 12px;font-size:12px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}}
