body{background-color:#f4f4f9;font-family:Roboto,sans-serif;margin:0;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.navbar{background:var(--srm-blue);box-shadow:0 2px 4px #0000001a;flex-wrap:wrap;justify-content:space-between;overflow-x:hidden;padding:.5rem 2rem;position:sticky;top:0;z-index:1000}.nav-links,.navbar{align-items:center;display:flex}.nav-links{gap:2rem}.nav-links a{border-radius:4px;color:#fff;font-weight:500;padding:.5rem 1rem;position:relative;text-decoration:none;transition:all .3s ease}.nav-links a:after{background:var(--srm-gold);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width .3s ease;width:0}.nav-links a:hover:after{width:80%}.nav-links a:hover{background:#ffffff1a}.auth-section,.user-info{align-items:center;display:flex;gap:1rem}.user-info{color:#fff}.logout-button,.user-info span{font-weight:500}.logout-button{background:#0000;border:2px solid #fff;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .3s ease}.logout-button:hover{background:#fff;color:var(--srm-blue)}.login-button{background:var(--srm-gold);border-radius:4px;color:var(--srm-blue);font-weight:600;padding:.5rem 1.5rem;text-decoration:none;transition:all .3s ease}.login-button:hover{background:#ffc53d;transform:translateY(-1px)}.navbar-brand{align-items:center;display:flex;gap:1rem}.navbar-logo{background-color:#fff;border-radius:50%;height:40px;margin-right:15px;object-fit:contain;padding:3px;transition:transform .3s ease;width:auto}.navbar-logo:hover{transform:scale(1.05)}.navbar-title{color:#fff;font-size:1.4rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.mobile-menu-button{background:#0000;border:none;color:#fff;cursor:pointer;display:none;padding:.5rem}@media (min-width:768px){.navbar-title{display:block}}@media (max-width:768px){.navbar{align-items:stretch;flex-direction:column;padding:.5rem;position:relative}.navbar-brand{align-items:center;flex-direction:row;justify-content:center;margin-bottom:.5rem;width:100%}.navbar-logo{height:32px;margin-right:8px;max-width:32px}.navbar-title{font-size:1.1rem;max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-button{display:block;position:absolute;right:1rem;top:1rem;z-index:2100}.nav-links{background:var(--srm-blue);display:none;flex-direction:column;gap:1rem;left:0;opacity:0;padding:1rem .5rem;pointer-events:none;position:fixed;right:0;top:56px;transition:opacity .2s;z-index:2000}.nav-links.active{display:flex;opacity:1;pointer-events:auto}.nav-links.active:before{content:none}.nav-links a{font-size:1rem;padding:.75rem .5rem;text-align:center;width:100%}.auth-section{justify-content:center;margin:.5rem 0 0;padding-bottom:.5rem;width:100%}.user-info span{font-size:.95rem;max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}body.dark-mode .navbar{background:#161b22;border-bottom:1px solid #30363d;box-shadow:0 1px 0 #01040926}body.dark-mode .nav-links{background:#161b22}body.dark-mode .nav-links a{color:#c9d1d9}body.dark-mode .nav-links a:after{background:#58a6ff}body.dark-mode .nav-links a:hover{background:#58a6ff1a;color:#58a6ff}body.dark-mode .navbar-title,body.dark-mode .user-info{color:#c9d1d9}body.dark-mode .user-info span{color:#8b949e}body.dark-mode .logout-button{background-color:initial;border:1px solid #30363d;color:#c9d1d9}body.dark-mode .logout-button:hover{background-color:#30363d;border-color:#58a6ff;color:#58a6ff}body.dark-mode .login-button{background-color:#238636;border:1px solid #0000;color:#fff}body.dark-mode .login-button:hover{background-color:#2ea043}body.dark-mode .mobile-menu-button{color:#c9d1d9}body.dark-mode .mobile-menu-button:hover{color:#58a6ff}.dark-mode-toggle{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #0000001a;border-radius:50%;bottom:20px;box-shadow:0 4px 16px #00000026;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;user-select:none;-webkit-user-select:none;width:56px;z-index:9999}.dark-mode-toggle:hover{box-shadow:0 6px 24px #0003;transform:scale(1.1)}.dark-mode-toggle:active{box-shadow:0 4px 16px #00000026;transform:scale(1.05)}.dark-mode-toggle .theme-icon{color:#036;height:28px;pointer-events:none;transition:all .3s ease;width:28px}.dark-mode-toggle:hover .theme-icon{color:#06c;transform:rotate(15deg)}body.dark-mode .dark-mode-toggle{background:#21262d;border:1px solid #30363d;box-shadow:0 8px 24px #01040999}body.dark-mode .dark-mode-toggle:hover{border-color:#58a6ff;box-shadow:0 8px 32px #010409cc}body.dark-mode .dark-mode-toggle .theme-icon{color:#fbbf24}body.dark-mode .dark-mode-toggle:hover .theme-icon{color:#fcd34d}@media (max-width:768px){.dark-mode-toggle{bottom:16px;height:50px;right:16px;width:50px}.dark-mode-toggle .theme-icon{height:24px;width:24px}}@keyframes themeSwitch{0%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.2) rotate(180deg)}to{transform:scale(1) rotate(1turn)}}.dark-mode-toggle.switching .theme-icon{animation:themeSwitch .5s ease}.dark-mode-toggle.dragging *{user-select:none;-webkit-user-select:none}#delete-booking,#lab-booking,#user-bookings{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:24px;padding:24px}form{display:flex;flex-direction:column;gap:18px}label{margin-bottom:6px}input,select{background-color:#fff}input:focus,select:focus{border-color:#1a73e8;box-shadow:0 0 0 3px #1a73e81a;outline:none}select option:disabled{color:#9ca3af;font-style:italic}.button-container{display:flex;gap:12px;justify-content:center;margin-top:20px}input:invalid,select:invalid{background-color:#fef2f2;border-color:#ef4444}input:valid,select:valid{background-color:#f0fdf4;border-color:#10b981}input:focus:invalid,select:focus:invalid{box-shadow:0 0 0 3px #ef44441a}input:focus:valid,select:focus:valid{box-shadow:0 0 0 3px #10b9811a}#bookedSlotsContainer{margin-top:32px}#bookedSlotsContainer h3{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:1.25rem;font-weight:600;padding-bottom:8px}#bookedSlotsList{list-style-type:none;padding:0}#bookedSlotsList li{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:12px;transition:background-color .2s ease}#bookedSlotsList li:hover{background-color:#f9fafb}#bookedSlotsList li:last-child{border-bottom:none}#bookedSlotsList button{background-color:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:all .2s ease}#bookedSlotsList button:hover{background-color:#dc2626;transform:translateY(-1px)}.action-button{background-color:#1a73e8;border:none;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.action-button:hover{background-color:#1557b0;box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.action-button:active{box-shadow:0 1px 2px #0000000d;transform:translateY(0)}.readonly-input{border:1px solid #e5e7eb}.readonly-input:focus{border-color:#e5e7eb;box-shadow:none;outline:none}.date-instructions{color:#6b7280;display:block;font-size:.875rem;font-style:italic;margin-bottom:8px;margin-top:4px}.booked-slot-item{background-color:#fff}.booked-slot-details{color:#374151;line-height:1.6;margin-bottom:16px}.loading{color:#6b7280;font-style:italic;padding:32px}.no-bookings{font-style:normal;padding:48px 24px}.slot-booking-container{margin:0 auto;max-width:1200px;padding:24px}.slot-booking-container h2{color:#1f2937;font-size:1.75rem;font-weight:700;margin-bottom:24px;text-align:center}.admin-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000014;margin:0 auto 32px;max-width:900px;padding:24px}.pending-bookings-list{grid-gap:16px;display:grid;gap:16px}.pending-booking-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:20px;transition:all .2s ease}.pending-booking-item:hover{box-shadow:0 4px 12px #0000001a}.booking-details{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:16px}.booking-details p{color:#374151;font-size:.95rem;margin:0}.booking-form{grid-gap:18px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000014;display:grid;gap:18px;grid-template-columns:1fr;margin:0 auto 32px;max-width:650px;padding:28px}.form-group{grid-gap:6px;display:grid;gap:6px}label{color:#374151;font-size:.95rem;font-weight:600}input,select{border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;padding:12px 14px;transition:all .2s ease}.readonly-input{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}#user-bookings{margin:0 auto;max-width:900px}.booked-slots-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:24px}.booked-slot-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;gap:12px;padding:20px;transition:all .2s ease}.booked-slot-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.action-buttons{flex-wrap:wrap;gap:10px;margin-top:12px}button{border-radius:8px;font-size:.875rem;font-weight:600;justify-content:center;padding:10px 18px;transition:all .2s ease}.confirm-button{background:#10b981;color:#fff}.confirm-button:hover{background:#059669;transform:translateY(-1px)}.reject-button{background:#ef4444;color:#fff}.reject-button:hover{background:#dc2626;transform:translateY(-1px)}.delete-button{align-self:flex-start;background:#ef4444;color:#fff;min-width:100px}.delete-button:hover{background:#dc2626;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)!important}.status-cancelled,.status-confirmed,.status-rejected,.status-waiting{border-radius:20px;display:inline-block;font-size:.8125rem;font-weight:600;letter-spacing:.025em;margin-left:8px;padding:6px 14px;text-transform:uppercase}.status-waiting{background-color:#fef3c7;color:#92400e}.status-confirmed{background-color:#d1fae5;color:#065f46}.status-rejected{background-color:#fee2e2;color:#991b1b}.status-cancelled{background-color:#f3f4f6;color:#374151}@media (max-width:768px){.slot-booking-container{padding:16px}.booking-form{padding:20px}.booked-slots-list,.booking-details{grid-template-columns:1fr}button{width:100%}.action-buttons{flex-direction:column}}.slot-full,.time-slot-select option:disabled{color:#9ca3af;font-style:italic}.time-slots-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:24px 0}.time-slot-item{background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px;transition:all .2s ease}.time-slot-item:hover:not(.disabled){border-color:#1a73e8;box-shadow:0 2px 8px #1a73e826}.time-slot-item.selected{background:#e8f0fe;border-color:#1a73e8}.time-slot-item.disabled{background:#f9fafb;border-color:#d1d5db;cursor:not-allowed;opacity:.6}.time-slot-time{color:#1f2937;font-size:.95rem;font-weight:600}.time-slot-status{color:#6b7280;font-size:.875rem;font-weight:500}.selected-slots{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin:24px 0;padding:20px}.selected-slots h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin-bottom:16px}.selected-slots-list{display:flex;flex-wrap:wrap;gap:10px}.selected-slot-item{background:#e8f0fe;border-radius:20px;font-size:.875rem;font-weight:500;gap:8px;padding:8px 14px}.remove-slot,.selected-slot-item{align-items:center;color:#1a73e8;display:flex}.remove-slot{background:none;border:none;border-radius:50%;cursor:pointer;font-size:1.2rem;height:20px;justify-content:center;padding:0;transition:all .2s ease;width:20px}.remove-slot:hover{background:#d2e3fc}.booking-button{background:#1a73e8;border:none;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;min-width:200px;padding:12px 32px;transition:all .2s ease}.booking-button:hover:not(:disabled){background:#1557b0;box-shadow:0 4px 8px #1a73e84d;transform:translateY(-1px)}.booking-button:disabled{background-color:#d1d5db;box-shadow:none;cursor:not-allowed;transform:none}input[type=date],input[type=time]{border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;max-width:100%;padding:12px 14px;transition:all .2s ease;width:100%}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;margin-right:-4px;opacity:.7;padding:4px}input[type=date]::-webkit-datetime-edit,input[type=time]::-webkit-datetime-edit{color:#374151}input[type=date]:disabled,input[type=time]:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}input[type=date]:not(:disabled):hover,input[type=time]:not(:disabled):hover{border-color:#1a73e8}input[type=date]:focus,input[type=time]:focus{border-color:#1a73e8;box-shadow:0 0 0 3px #1a73e81a;outline:none}input[type=date].error,input[type=time].error{background-color:#fef2f2;border-color:#ef4444}input[type=date].success,input[type=time].success{background-color:#f0fdf4;border-color:#10b981}.booked-slots-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-top:48px;padding:28px}.booked-slots-section h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:24px;text-align:center}.status-filter-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:24px}.status-button{background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 20px;transition:all .2s ease}.status-button:hover{border-color:#1a73e8;color:#1a73e8}.status-button.active{background-color:#1a73e8;border-color:#1a73e8;color:#fff}.booked-slots-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.booking-card{border:1px solid #e5e7eb;border-left-width:4px;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:24px;transition:all .2s ease}.booking-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.booking-card.waiting{border-left-color:#f59e0b}.booking-card.confirmed{border-left-color:#10b981}.booking-card.rejected{border-left-color:#ef4444}.booking-card.still_out{border-left-color:#3b82f6}.booking-status-badge{border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:6px 12px;position:absolute;right:16px;text-transform:uppercase;top:16px}.booking-card.waiting .booking-status-badge{background-color:#fef3c7;color:#92400e}.booking-card.confirmed .booking-status-badge{background-color:#d1fae5;color:#065f46}.booking-card.rejected .booking-status-badge{background-color:#fee2e2;color:#991b1b}.booking-card.still_out .booking-status-badge{background-color:#dbeafe;color:#1e40af}.booking-info{margin-top:32px}.booking-info h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin-bottom:12px}.booking-info p{color:#4b5563;font-size:.9375rem;line-height:1.6;margin:8px 0}.booking-info p strong{color:#1f2937;font-weight:600}.cancel-button{align-self:flex-start;background-color:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;margin-top:12px;min-width:120px;padding:10px 20px;transition:all .2s ease}.cancel-button:hover:not(:disabled){background-color:#dc2626;box-shadow:0 2px 8px #ef44444d;transform:translateY(-1px)}.cancel-button.cancel-confirmed{background-color:#f59e0b;color:#fff}.cancel-button.cancel-confirmed:hover:not(:disabled){background-color:#d97706}.cancel-button:disabled{background-color:#d1d5db;box-shadow:none;color:#9ca3af;cursor:not-allowed;transform:none}.no-bookings{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;color:#6b7280;font-size:1rem;margin-top:24px;padding:64px 32px}.no-bookings:before{content:"📭";display:block;font-size:3rem;margin-bottom:16px}@media (max-width:600px){.slot-booking-container{padding:12px}.booking-form{padding:20px 16px}.booking-form button,.booking-form input,.booking-form label,.booking-form select{font-size:.9375rem;margin-bottom:4px;width:100%}.time-slots-grid{gap:12px;grid-template-columns:1fr}.booked-slots-list{gap:16px;grid-template-columns:1fr}.booking-button{font-size:1rem;padding:14px;width:100%}.action-buttons,.cancel-button,.delete-button{width:100%}.action-buttons button{flex:1 1}}body.dark-mode #delete-booking,body.dark-mode #lab-booking,body.dark-mode #user-bookings{background-color:#1f2937;border-color:#374151;color:#f3f4f6}body.dark-mode .booking-container{background-color:#111827}body.dark-mode .admin-section,body.dark-mode .booked-slots-section,body.dark-mode .booking-card,body.dark-mode .booking-form{background-color:#1f2937;border-color:#374151;color:#f3f4f6}body.dark-mode .form-group label,body.dark-mode label{color:#e5e7eb}body.dark-mode input[type=date],body.dark-mode input[type=email],body.dark-mode input[type=tel],body.dark-mode input[type=text],body.dark-mode input[type=time],body.dark-mode select,body.dark-mode textarea{background-color:#374151;border-color:#4b5563;color:#f3f4f6}body.dark-mode input:focus,body.dark-mode select:focus,body.dark-mode textarea:focus{background-color:#374151;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}body.dark-mode .readonly-input{background-color:#374151;border-color:#4b5563;color:#9ca3af}body.dark-mode .booked-slot-item,body.dark-mode .pending-booking-item,body.dark-mode .time-slot-item{background-color:#374151;border-color:#4b5563;color:#f3f4f6}body.dark-mode .time-slot-item:hover:not(.disabled){background-color:#4b5563;border-color:#3b82f6}body.dark-mode .time-slot-item.selected{background-color:#1e3a8a;border-color:#3b82f6;color:#e0e7ff}body.dark-mode .time-slot-item.disabled{background-color:#1f2937;opacity:.5}body.dark-mode .selected-slots{background-color:#1f2937;border-color:#4b5563}body.dark-mode .selected-slot-item{background-color:#1e3a8a;color:#bfdbfe}body.dark-mode .booking-button{background-color:#3b82f6;color:#fff}body.dark-mode .booking-button:hover:not(:disabled){background-color:#2563eb}body.dark-mode .booking-button:disabled{background-color:#4b5563;color:#9ca3af}body.dark-mode .cancel-button,body.dark-mode .delete-button,body.dark-mode .reject-button{background-color:#ef4444}body.dark-mode .cancel-button:hover:not(:disabled),body.dark-mode .delete-button:hover:not(:disabled),body.dark-mode .reject-button:hover:not(:disabled){background-color:#dc2626}body.dark-mode .confirm-button{background-color:#10b981}body.dark-mode .confirm-button:hover:not(:disabled){background-color:#059669}body.dark-mode .status-waiting{background-color:#78350f;color:#fde68a}body.dark-mode .status-confirmed{background-color:#064e3b;color:#6ee7b7}body.dark-mode .status-rejected{background-color:#7f1d1d;color:#fca5a5}body.dark-mode .status-cancelled{background-color:#374151;color:#d1d5db}body.dark-mode .booking-card.waiting{border-left-color:#f59e0b}body.dark-mode .booking-card.confirmed{border-left-color:#10b981}body.dark-mode .booking-card.rejected{border-left-color:#ef4444}body.dark-mode .booking-card.still_out{border-left-color:#3b82f6}body.dark-mode .booking-status-badge{color:inherit}body.dark-mode .booking-card.waiting .booking-status-badge{background-color:#78350f;color:#fde68a}body.dark-mode .booking-card.confirmed .booking-status-badge{background-color:#064e3b;color:#6ee7b7}body.dark-mode .booking-card.rejected .booking-status-badge{background-color:#7f1d1d;color:#fca5a5}body.dark-mode .booking-card.still_out .booking-status-badge{background-color:#1e3a8a;color:#bfdbfe}body.dark-mode .booking-info h3,body.dark-mode .booking-info p strong,body.dark-mode h2,body.dark-mode h3{color:#f3f4f6}body.dark-mode .booking-info p{color:#d1d5db}body.dark-mode .no-bookings{background-color:#1f2937;border-color:#4b5563;color:#9ca3af}body.dark-mode .status-button{background-color:#374151;border-color:#4b5563;color:#e5e7eb}body.dark-mode .status-button:hover{border-color:#3b82f6;color:#bfdbfe}body.dark-mode .status-button.active{background-color:#3b82f6;border-color:#3b82f6;color:#fff}body.dark-mode .current-booking-card,body.dark-mode .past-booking-card{background:#1f2937!important;border-color:#4b5563!important;color:#f3f4f6}body.dark-mode .current-booking-card div,body.dark-mode .past-booking-card div{color:#e5e7eb}body.dark-mode .current-booking-card strong,body.dark-mode .past-booking-card strong{color:#f3f4f6}.pending-bookings-page{margin:0 auto;max-width:1200px;padding:20px}.search-container{align-items:flex-end;display:flex;gap:8px;margin-bottom:16px}.search-input-group{display:flex;flex-direction:column;gap:4px}.search-input-group label{color:#333;font-size:14px;font-weight:500}.search-input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .3s ease}.search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.search-active-indicator{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .3s ease}.clear-button:hover{background-color:#545b62}.download-button{align-items:center;background-color:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s ease}.download-button:hover:not(:disabled){background-color:#138496;box-shadow:0 2px 8px #17a2b84d;transform:translateY(-1px)}.download-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.5}.report-button{background-color:#28a745!important;font-weight:600}.report-button:hover:not(:disabled){background-color:#218838!important;box-shadow:0 2px 8px #28a74566}.report-button:disabled{background-color:#6c757d!important;cursor:not-allowed;opacity:.5}.status-tabs{display:flex;gap:16px;margin-bottom:16px}.bookings-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.booking-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;padding:20px;position:relative}.booking-info,.info-group{margin-bottom:15px}.info-group h3{color:#333;font-size:18px;margin-bottom:10px}.info-group p{color:#666;margin:5px 0}.action-buttons{display:flex;gap:16px;justify-content:flex-end}.still-out-actions{display:flex;gap:16px;margin-top:10px}.loading{padding:20px}.loading,.no-bookings{color:#666;font-size:18px;text-align:center}.no-bookings{background-color:#f8f9fa;border-radius:8px;padding:40px}.admin-handler{border-top:1px dashed #ddd;color:#666;font-size:.9rem;margin-top:15px;padding-top:15px}.admin-handler strong{color:#2c3e50}.handled-time{border-top:1px dashed #ddd;color:#666;font-size:.9rem;margin-top:15px;padding-top:12px}.handled-time strong{color:#2c3e50}.status-badge{border-radius:4px 4px 0 0;color:#fff;font-size:.9rem;font-weight:500;margin:-20px -20px 15px;padding:6px 12px;position:relative}.status-badge.waiting{background-color:#ffc107}.status-badge.confirmed{background-color:#28a745}.status-badge.rejected{background-color:#dc3545}@keyframes pulse{0%{box-shadow:0 3px 8px #dc354566;transform:scale(1)}50%{box-shadow:0 4px 12px #dc354599;transform:scale(1.05)}to{box-shadow:0 3px 8px #dc354566;transform:scale(1)}}@media (max-width:600px){.status-tabs{align-items:stretch;flex-direction:column;gap:8px}.bookings-list{gap:12px;grid-template-columns:1fr}.booking-card{font-size:.97em;padding:12px}}body.dark-mode .pending-bookings-page{background-color:#0f0f1e;color:#e5e7eb}body.dark-mode .search-container{background-color:#252541;border:1px solid #3d3d5c;border-radius:8px;padding:16px}body.dark-mode .search-input-group label{color:#d1d5db}body.dark-mode .search-input{background-color:#2d2d44;border-color:#3d3d5c;color:#e5e7eb}body.dark-mode .search-input:focus{background-color:#353551;border-color:#667eea;box-shadow:0 0 0 2px #667eea40}body.dark-mode .search-button{background-color:#667eea}body.dark-mode .search-button:hover{background-color:#5568d3}body.dark-mode .status-tabs{background-color:#252541;border-color:#3d3d5c}body.dark-mode .tab-button{background-color:#2d2d44;border-color:#3d3d5c;color:#d1d5db}body.dark-mode .tab-button:hover{background-color:#353551;border-color:#667eea}body.dark-mode .tab-button.active{background-color:#667eea;border-color:#667eea;color:#fff}body.dark-mode .bookings-list{background-color:initial}body.dark-mode .booking-card{background-color:#252541;border-color:#3d3d5c;color:#e5e7eb}body.dark-mode .booking-card:hover{border-color:#667eea;box-shadow:0 8px 24px #00000080}body.dark-mode .booking-card h3{color:#667eea}body.dark-mode .booking-card p strong{color:#d1d5db}body.dark-mode .booking-card p span[style*="color: #333"],body.dark-mode .booking-card p span[style*="color: '#333'"]{color:#c9d1d9!important}body.dark-mode .booking-actions button{background-color:#667eea;color:#fff}body.dark-mode .booking-actions button:hover{background-color:#5568d3}body.dark-mode .no-bookings{background-color:#000000d9}body.dark-mode .modal-content{background-color:#252541;border:1px solid #3d3d5c;color:#e5e7eb}body.dark-mode .modal-content h2{color:#667eea}body.dark-mode .modal-content input,body.dark-mode .modal-content textarea{background-color:#2d2d44;border-color:#3d3d5c;color:#e5e7eb}body.dark-mode .modal-content input:focus,body.dark-mode .modal-content textarea:focus{background-color:#353551;border-color:#667eea}body.dark-mode .loading-spinner{border-color:#667eea #3d3d5c #3d3d5c}body.dark-mode .empty-state{background-color:#252541;border:1px dashed #3d3d5c;border-radius:8px;color:#9ca3af;padding:40px;text-align:center}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;justify-content:center;min-height:100vh;position:relative}.bg-shapes,.login-page{overflow:hidden;width:100%}.bg-shapes{height:100%;position:absolute;z-index:0}.shape{animation:float 20s ease-in-out infinite;background:#ffffff14;border-radius:50%;position:absolute}.shape-1{animation-delay:0s;height:300px;left:-150px;top:-150px;width:300px}.shape-2{animation-delay:5s;bottom:-100px;height:200px;right:10%;width:200px}.shape-3{animation-delay:10s;height:150px;right:-75px;top:50%;width:150px}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.login-wrapper{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:1200px;min-height:600px;width:95%;z-index:1}.login-brand-section,.login-wrapper{display:flex;overflow:hidden;position:relative}.login-brand-section{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;flex:1 1;flex-direction:column;justify-content:center;padding:60px 50px}.login-brand-section:before{animation:rotate 30s linear infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.brand-content{position:relative;z-index:1}.logo-container{animation:fadeInDown .8s ease;margin-bottom:30px}.srm-logo{filter:drop-shadow(0 4px 12px rgba(0,0,0,.2));height:120px;object-fit:contain;width:120px}.brand-title{animation:fadeInDown .8s ease .2s both;font-size:32px;font-weight:700;line-height:1.2;margin-bottom:12px}.brand-subtitle{animation:fadeInDown .8s ease .4s both;font-size:18px;font-weight:300;margin-bottom:40px;opacity:.9}.features-list{animation:fadeInUp .8s ease .6s both;margin-bottom:40px}.feature-item{align-items:center;animation:slideInLeft .6s ease both;display:flex;margin-bottom:18px}.feature-item:first-child{animation-delay:.7s}.feature-item:nth-child(2){animation-delay:.8s}.feature-item:nth-child(3){animation-delay:.9s}.feature-item:nth-child(4){animation-delay:1s}.feature-icon{align-items:center;background:#fff3;border-radius:50%;display:flex;font-size:18px;font-weight:700;height:32px;justify-content:center;margin-right:16px;width:32px}.feature-text{font-size:16px;opacity:.95}.info-banner{align-items:center;animation:fadeInUp .8s ease 1.1s both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-left:4px solid #ffffff80;border-radius:12px;display:flex;padding:16px}.info-icon{flex-shrink:0;height:24px;margin-right:12px;width:24px}.info-banner span{font-size:14px;line-height:1.4;opacity:.95}.login-form-section{background:#fafbfc;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:60px 50px}.login-card{animation:fadeInRight .8s ease;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:40px}.card-header{margin-bottom:32px;text-align:center}.login-title{color:#1a202c;font-size:28px;font-weight:700;margin-bottom:8px}.login-subtitle{color:#718096;font-size:15px}.auth-container{margin-bottom:24px}:global(.custom-auth-container){width:100%}:global(.custom-auth-button){align-items:center!important;background:#fff!important;border:2px solid #e2e8f0!important;border-radius:12px!important;box-shadow:0 2px 8px #0000000a!important;color:#2d3748!important;cursor:pointer!important;display:flex!important;font-size:16px!important;font-weight:600!important;gap:12px!important;height:52px!important;justify-content:center!important;transition:all .3s ease!important;width:100%}:global(.custom-auth-button:hover){background-color:#f7fafc!important;border-color:#1a73e8!important;box-shadow:0 4px 16px #1a73e826!important;transform:translateY(-2px)!important}:global(.custom-auth-button:active){transform:translateY(0)!important}.login-footer{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:24px}.security-badge{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;padding:16px}.lock-icon{color:#48bb78;flex-shrink:0;height:36px;margin-right:14px;width:36px}.security-text{display:flex;flex-direction:column}.security-title{color:#2d3748;font-size:14px;font-weight:600;margin-bottom:2px}.security-desc{color:#718096;font-size:12px}.help-section{margin-top:24px;text-align:center}.help-text{color:#718096;font-size:14px}.help-link{color:#1a73e8;font-weight:600;text-decoration:none;transition:color .2s}.help-link:hover{color:#1557b0;text-decoration:underline}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@media (max-width:968px){.login-wrapper{flex-direction:column;max-width:500px;min-height:auto}.login-brand-section{padding:40px 30px}.brand-title{font-size:26px}.features-list{margin-bottom:30px}.login-form-section{padding:40px 30px}.login-card{padding:30px}}@media (max-width:640px){.login-wrapper{margin:10px;min-height:auto;width:95%}.login-brand-section{padding:24px 20px 20px}.logo-container{margin-bottom:16px}.srm-logo{height:70px;width:70px}.brand-title{font-size:20px;margin-bottom:8px}.brand-subtitle{font-size:14px}.brand-subtitle,.features-list{margin-bottom:20px}.feature-item{margin-bottom:10px}.feature-icon{font-size:14px;height:26px;margin-right:10px;width:26px}.feature-text{font-size:13px}.info-banner{padding:10px 12px}.info-icon{height:18px;margin-right:8px;width:18px}.info-banner span{font-size:12px}.login-card,.login-form-section{padding:20px}.card-header{margin-bottom:20px}.login-title{font-size:22px;margin-bottom:6px}.login-subtitle{font-size:14px}.auth-container{margin-bottom:18px}.login-footer{margin-top:18px;padding-top:18px}.security-badge{padding:12px}.lock-icon{height:30px;margin-right:10px;width:30px}.security-title{font-size:13px}.security-desc{font-size:11px}.help-section{margin-top:16px}.help-text{font-size:12px}}.error-message{background-color:#fee;color:#c62828}.error-message,.success-message{border-radius:8px;font-size:14px;margin-top:20px;text-align:center}.success-message{background-color:#e8f5e9;color:#2e7d32}.arch-gate-modal h3{color:#1a73e8;font-size:18px;margin:0 0 16px;text-align:center}.arch-gate-input{border:1px solid #d1d5db;border-radius:6px;font-size:15px;margin-bottom:12px;outline:none;padding:8px 10px;transition:border .2s;width:100%}.arch-gate-input:focus{border:1.5px solid #1a73e8}.arch-gate-error{color:#c62828;font-size:13px;margin-bottom:8px;text-align:center}.arch-gate-submit{background:#1a73e8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:15px;margin-bottom:8px;padding:8px 0;transition:background .2s}.arch-gate-submit:hover{background:#1557b0}.arch-gate-cancel{background:#eee;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:14px;padding:7px 0;transition:background .2s}.arch-gate-cancel:hover{background:#e0e0e0}@media (max-width:600px){.login-container{max-width:98vw;padding:8px}.auth-box{border-radius:12px;padding:16px}.illustration{gap:10px;margin-bottom:16px}.book-icon,.computer-icon,.lab-icon{font-size:24px;padding:8px}h1{font-size:1.3em}.note,.subtitle{font-size:.95em}}body.dark-mode .login-page{background:linear-gradient(135deg,#1a1a2e,#0f0f1e)}body.dark-mode .bg-shapes .shape{background:#667eea0f}body.dark-mode .login-brand-section{background:linear-gradient(135deg,#16213e,#0f3460)}body.dark-mode .brand-title{color:#fff}body.dark-mode .brand-subtitle{color:#ffffffd9}body.dark-mode .feature-icon{background:#ffffff26}body.dark-mode .feature-text{color:#ffffffe6}body.dark-mode .info-banner{background:#ffffff1a;border-left-color:#fff6}body.dark-mode .info-banner span{color:#ffffffe6}body.dark-mode .login-form-section{background:#1a1a2e}body.dark-mode .login-card{background:#252541;box-shadow:0 4px 20px #0006}body.dark-mode .login-title{color:#fff}body.dark-mode .login-subtitle{color:#a0aec0}body.dark-mode :global(.custom-auth-button){background:#2d2d44!important;border-color:#3d3d5c!important;color:#fff!important}body.dark-mode :global(.custom-auth-button:hover){background:#353551!important;border-color:#667eea!important;box-shadow:0 4px 16px #667eea4d!important}body.dark-mode .login-footer{border-top-color:#3d3d5c}body.dark-mode .security-badge{background:#2d2d44;border-color:#3d3d5c}body.dark-mode .security-title{color:#fff}body.dark-mode .security-desc{color:#a0aec0}body.dark-mode .lock-icon{color:#48bb78}body.dark-mode .help-text{color:#a0aec0}body.dark-mode .help-link{color:#667eea}body.dark-mode .help-link:hover{color:#7c8cf5}body.dark-mode .error-message{background-color:#2d1f1f;border:1px solid #3d2828;color:#f87171}body.dark-mode .success-message{background-color:#1f2d1f;border:1px solid #283d28;color:#4ade80}:root{--srm-blue:#036;--srm-gold:#ffb81c;--srm-red:#c8102e;--srm-light-blue:#06c;--srm-gray:#4a4a4a;--srm-light-gray:#f5f5f5}*{box-sizing:border-box;font-family:Roboto,sans-serif;margin:0;padding:0}body{background-color:#f5f5f5;background-color:var(--srm-light-gray);color:#4a4a4a;color:var(--srm-gray);line-height:1.6}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1200px;padding:20px;width:100%}h1,h2,h3,h4,h5,h6{margin-bottom:1rem}.page-title,h1,h2,h3,h4,h5,h6{color:#036;color:var(--srm-blue)}.page-title{font-size:2.5rem;margin:2rem 0;padding-bottom:1rem;position:relative;text-align:center}.page-title:after{background:#ffb81c;background:var(--srm-gold);border-radius:2px;bottom:0;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:100px}.card{background:#fff;border-radius:8px;border-top:4px solid #036;border-top:4px solid var(--srm-blue);box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.button{background:#036;background:var(--srm-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-weight:500;padding:12px 24px;text-decoration:none;transition:all .3s ease}.button:hover{background:#06c;background:var(--srm-light-blue);transform:translateY(-1px)}.button.secondary{background:#fff;border:2px solid #036;border:2px solid var(--srm-blue);color:#036;color:var(--srm-blue)}.button.secondary:hover{background:#036;background:var(--srm-blue);color:#fff}.error-message{background:#fff3f3;border-left:4px solid #c8102e;border-left:4px solid var(--srm-red);color:#c8102e;color:var(--srm-red)}.error-message,.success-message{border-radius:4px;margin:10px 0;padding:12px}.success-message{background:#f0fff4;border-left:4px solid #2f855a;color:#2f855a}.handled-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-top:8px;padding:8px}.reason-text{color:#333;font-weight:600}.btn-delete{background-color:#da3633!important;border:1px solid #0000!important;border-radius:4px;color:#fff!important;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .3s ease}.btn-delete:hover:not(:disabled){background-color:#f85149!important;box-shadow:0 0 0 3px #f8514926;transform:translateY(-1px)}.btn-delete:disabled{background-color:#6e6e6e!important;color:#a0a0a0!important;cursor:not-allowed;opacity:.6}.info-notice{background-color:#e3f2fd;border:1px solid #90caf9;border-radius:4px;margin-bottom:16px;padding:16px;text-align:center}.info-notice p{color:#1976d2;font-weight:500;margin:0}button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s ease}.btn-primary,.search-button{background-color:#06c;color:#fff}.btn-primary:hover:not(:disabled),.search-button:hover:not(:disabled){background-color:#0052a3;box-shadow:0 2px 8px #0066cc4d;transform:translateY(-1px)}.btn-success,.confirm-button,.report-button{background-color:#28a745;color:#fff}.btn-success:hover:not(:disabled),.confirm-button:hover:not(:disabled),.report-button:hover:not(:disabled){background-color:#218838;box-shadow:0 2px 8px #28a74566;transform:translateY(-1px)}.btn-danger,.btn-delete,.reject-button{background-color:#da3633;color:#fff}.btn-danger:hover:not(:disabled),.btn-delete:hover:not(:disabled),.reject-button:hover:not(:disabled){background-color:#f85149;box-shadow:0 2px 8px #f851494d;transform:translateY(-1px)}.btn-secondary,.clear-button{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled),.clear-button:hover:not(:disabled){background-color:#545b62;box-shadow:0 2px 8px #6c757d4d;transform:translateY(-1px)}.btn-info,.download-button{background-color:#17a2b8;color:#fff}.btn-info:hover:not(:disabled),.download-button:hover:not(:disabled){background-color:#138496;box-shadow:0 2px 8px #17a2b84d;transform:translateY(-1px)}button:disabled{background-color:#6c757d!important;box-shadow:none!important;color:#a0a0a0!important;cursor:not-allowed;opacity:.6;transform:none!important}.info-banner,.search-active-indicator{background-color:#e7f3ff;border:1px solid #b3d9ff;border-radius:6px;color:#0056b3}.info-banner,.report-info-message,.search-active-indicator,.warning-banner{align-items:center;display:flex;font-size:14px;gap:8px;margin-bottom:16px;padding:12px 16px}.report-info-message,.warning-banner{background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-weight:500}.success-banner{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724}.error-banner,.success-banner{align-items:center;display:flex;font-size:14px;gap:8px;margin-bottom:16px;padding:12px 16px}.error-banner{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24}.loading{align-items:center;color:#036;color:var(--srm-blue);display:flex;justify-content:center;min-height:200px}.loading:after{animation:loading 1s linear infinite;border:3px solid #f5f5f5;border-top-color:#036;border:3px solid var(--srm-light-gray);border-radius:50%;border-top-color:var(--srm-blue);content:"";height:30px;width:30px}@keyframes loading{to{transform:rotate(1turn)}}@media (max-width:768px){.main-content{padding:15px}.page-title{font-size:2rem}.card{padding:15px}}.grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:20px 0}.form-group{margin-bottom:20px}.form-group label{color:#036;color:var(--srm-blue);display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#036;border-color:var(--srm-blue);box-shadow:0 0 0 2px #0033661a;outline:none}.App{text-align:center}.hidden{display:none}main{background-color:#fff;box-shadow:0 0 10px #0000001a;margin:20px auto;max-width:1200px;padding:20px}main h2{border-bottom:2px solid #036;color:#036;margin-bottom:15px;margin-top:30px;padding-bottom:5px}main p{color:#333;line-height:1.6;margin-bottom:20px}main img{border-radius:5px;box-shadow:0 0 5px #0003;height:auto;margin:20px 0;max-width:100%}main ul{list-style-type:none;padding-left:20px}main ul li{margin-bottom:10px;padding-left:20px;position:relative}body.dark-mode{--srm-blue:#58a6ff;--srm-gold:#fbbf24;--srm-red:#f85149;--srm-light-blue:#79c0ff;--srm-gray:#c9d1d9;--srm-light-gray:#0d1117;--bg-primary:#0d1117;--bg-secondary:#161b22;--bg-tertiary:#21262d;--bg-overlay:#30363d;--border-default:#30363d;--border-muted:#21262d;--text-primary:#c9d1d9;--text-secondary:#8b949e;--text-link:#58a6ff;--accent-emphasis:#1f6feb;--success-emphasis:#238636;--danger-emphasis:#da3633;--warning-emphasis:#9e6a03;color:var(--text-primary)}body.dark-mode,body.dark-mode .app,body.dark-mode .main-content{background-color:var(--bg-primary)}body.dark-mode main{background-color:var(--bg-secondary);box-shadow:0 0 20px #00000080;color:var(--text-primary)}body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4,body.dark-mode h5,body.dark-mode h6{color:var(--text-primary);font-weight:600}body.dark-mode .page-title{color:var(--text-primary)}body.dark-mode .page-title:after{background:linear-gradient(90deg,#0000,#036,#0000);background:linear-gradient(90deg,#0000,var(--srm-blue),#0000)}body.dark-mode main h2{border-bottom-color:var(--border-default);color:var(--text-primary)}body.dark-mode main p{color:var(--text-secondary)}body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background-color:var(--bg-primary);border:1px solid var(--border-default);color:var(--text-primary)}body.dark-mode input:focus,body.dark-mode select:focus,body.dark-mode textarea:focus{background-color:var(--bg-secondary);border-color:#036;border-color:var(--srm-blue);box-shadow:0 0 0 3px #58a6ff26;outline:none}body.dark-mode input::placeholder,body.dark-mode textarea::placeholder{color:var(--text-secondary);opacity:.7}body.dark-mode input[type=date]{background-color:var(--bg-secondary)!important;border:2px solid var(--border-default)!important;color:var(--text-primary)!important;color-scheme:dark;padding:8px}body.dark-mode input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(1)}body.dark-mode label{color:var(--text-primary);font-weight:500}body.dark-mode button:not(.dark-mode-toggle){background-color:var(--accent-emphasis);border:1px solid #0000;color:#fff;font-weight:500}body.dark-mode button:not(.dark-mode-toggle):hover:not(:disabled){background-color:#1f6feb;border-color:#036;border-color:var(--srm-blue);box-shadow:0 0 0 3px #58a6ff26}body.dark-mode .button-primary{background-color:var(--accent-emphasis);border:1px solid #0000;color:#fff}body.dark-mode .button-primary:hover:not(:disabled){background-color:#1f6feb}body.dark-mode .button-secondary{background-color:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-primary)}body.dark-mode .button-secondary:hover:not(:disabled){background-color:var(--bg-overlay);border-color:var(--text-secondary)}body.dark-mode .button-danger{background-color:var(--danger-emphasis);border:1px solid #0000;color:#fff}body.dark-mode .button-danger:hover:not(:disabled){background-color:#f85149;box-shadow:0 0 0 3px #f8514926}body.dark-mode .box,body.dark-mode .card,body.dark-mode .container{background-color:var(--bg-secondary);border:1px solid var(--border-default);color:var(--text-primary)}body.dark-mode .card:hover{border-color:var(--border-muted);box-shadow:0 8px 24px #0006}body.dark-mode table{background-color:var(--bg-secondary)}body.dark-mode table,body.dark-mode table th{border:1px solid var(--border-default);color:var(--text-primary)}body.dark-mode table th{background-color:var(--bg-tertiary)}body.dark-mode table td{border:1px solid var(--border-default);color:var(--text-primary)}body.dark-mode table tr:hover{background-color:var(--bg-tertiary)}body.dark-mode table tbody tr:nth-child(2n){background-color:#6e76810d}body.dark-mode a{color:var(--text-link)}body.dark-mode a:hover{color:#06c;color:var(--srm-light-blue);text-decoration:underline}body.dark-mode hr{border-color:var(--border-default)}body.dark-mode .divider{background-color:var(--border-default)}body.dark-mode .alert{background-color:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-primary)}body.dark-mode .alert-info{background-color:#388bfd26;border:1px solid #388bfd66;color:#06c;color:var(--srm-light-blue)}body.dark-mode .alert-success{background-color:#2ea04326;border:1px solid #2ea04366;color:#3fb950}body.dark-mode .alert-warning{background-color:#bb800926;border:1px solid #bb800966;color:#d29922}body.dark-mode .alert-danger,body.dark-mode .alert-error{background-color:#f8514926;border:1px solid #f8514966;color:#ff7b72}body.dark-mode .error-message{background-color:#f8514926;border-left:4px solid #f85149;color:#ff7b72}body.dark-mode .success-message{background-color:#2ea04326;border-left:4px solid #2ea043;color:#3fb950}body.dark-mode .badge{background-color:var(--accent-emphasis);color:#fff;font-weight:500}body.dark-mode .badge-success{background-color:var(--success-emphasis);color:#fff}body.dark-mode .badge-warning{background-color:var(--warning-emphasis);color:#fff}body.dark-mode .badge-danger{background-color:var(--danger-emphasis);color:#fff}body.dark-mode .modal-content{background-color:var(--bg-secondary);border:1px solid var(--border-default);color:var(--text-primary)}body.dark-mode .modal-header{border-bottom:1px solid var(--border-default)}body.dark-mode .modal-footer{border-top:1px solid var(--border-default)}body.dark-mode .modal-overlay{background-color:#010409cc}body.dark-mode .dropdown-menu{background-color:var(--bg-tertiary);border:1px solid var(--border-default);box-shadow:0 16px 32px #010409d9}body.dark-mode .dropdown-item{color:var(--text-primary)}body.dark-mode .dropdown-item:hover{background-color:var(--bg-overlay);color:#06c;color:var(--srm-light-blue)}body.dark-mode .tooltip{background-color:var(--bg-overlay);border:1px solid var(--border-default);box-shadow:0 8px 24px #01040999;color:var(--text-primary)}body.dark-mode code,body.dark-mode pre{background-color:var(--bg-primary);border:1px solid var(--border-default);color:#ffb81c;color:var(--srm-gold)}body.dark-mode .progress{background-color:var(--bg-tertiary)}body.dark-mode .progress-bar{background-color:var(--accent-emphasis)}body.dark-mode .shadow{box-shadow:0 0 0 1px var(--border-default),0 4px 20px #00000080}body.dark-mode .shadow-lg{box-shadow:0 0 0 1px var(--border-default),0 10px 40px #0009}body.dark-mode::-webkit-scrollbar{background-color:var(--bg-primary);width:12px}body.dark-mode::-webkit-scrollbar-thumb{background-color:var(--bg-overlay);border:2px solid var(--bg-primary);border-radius:6px}body.dark-mode::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}body.dark-mode::-webkit-scrollbar-track{background-color:var(--bg-secondary)}body.dark-mode .handled-section{background:var(--bg-tertiary)!important;border:1px solid var(--border-default)!important}body.dark-mode .handled-section,body.dark-mode .reason-text{color:var(--text-primary)!important}body.dark-mode .btn-delete{background-color:#da3633!important;border:1px solid #0000!important;color:#fff!important}body.dark-mode .btn-delete:hover:not(:disabled){background-color:#f85149!important;box-shadow:0 0 0 3px #f8514926}body.dark-mode .btn-delete:disabled{background-color:#484f58!important;color:#6e7681!important;cursor:not-allowed;opacity:.6}body.dark-mode .info-notice{background-color:#388bfd26!important;border:1px solid #388bfd66!important}body.dark-mode .info-notice p{color:#06c!important;color:var(--srm-light-blue)!important}body.dark-mode .btn-primary,body.dark-mode .search-button{background-color:#1f6feb!important;color:#fff!important}body.dark-mode .btn-primary:hover:not(:disabled),body.dark-mode .search-button:hover:not(:disabled){background-color:#388bfd!important;box-shadow:0 2px 8px #1f6feb66}body.dark-mode .btn-success,body.dark-mode .confirm-button,body.dark-mode .report-button{background-color:#238636!important;color:#fff!important}body.dark-mode .btn-success:hover:not(:disabled),body.dark-mode .confirm-button:hover:not(:disabled),body.dark-mode .report-button:hover:not(:disabled){background-color:#2ea043!important;box-shadow:0 2px 8px #23863680}body.dark-mode .btn-danger,body.dark-mode .btn-delete,body.dark-mode .reject-button{background-color:#da3633!important;color:#fff!important}body.dark-mode .btn-danger:hover:not(:disabled),body.dark-mode .btn-delete:hover:not(:disabled),body.dark-mode .reject-button:hover:not(:disabled){background-color:#f85149!important;box-shadow:0 2px 8px #f8514966}body.dark-mode .btn-secondary,body.dark-mode .clear-button{background-color:#484f58!important;color:#c9d1d9!important}body.dark-mode .btn-secondary:hover:not(:disabled),body.dark-mode .clear-button:hover:not(:disabled){background-color:#6e7681!important}body.dark-mode .btn-info,body.dark-mode .download-button{background-color:#0891b2!important;color:#fff!important}body.dark-mode .btn-info:hover:not(:disabled),body.dark-mode .download-button:hover:not(:disabled){background-color:#06b6d4!important;box-shadow:0 2px 8px #0891b266}body.dark-mode button:disabled{background-color:#484f58!important;color:#6e7681!important;opacity:.5}body.dark-mode .info-banner,body.dark-mode .search-active-indicator{background-color:#388bfd26!important;border:1px solid #388bfd66!important;color:#58a6ff!important}body.dark-mode .report-info-message,body.dark-mode .warning-banner{background-color:#bb800926!important;border:1px solid #bb800966!important;color:#d29922!important}body.dark-mode .success-banner{background-color:#2ea04326!important;border:1px solid #2ea04366!important;color:#3fb950!important}body.dark-mode .error-banner{background-color:#f8514926!important;border:1px solid #f8514966!important;color:#ff7b72!important}body.dark-mode ul li{color:var(--text-secondary)}body.dark-mode main img{border:1px solid var(--border-default);box-shadow:0 0 15px #00000080}body.dark-mode .admin-container,body.dark-mode .management-container,body.dark-mode .student-info-container{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}body.dark-mode .content-box,body.dark-mode .data-box,body.dark-mode .info-box,body.dark-mode .white-box{background-color:var(--bg-secondary)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode .filter-box,body.dark-mode .search-box{background-color:var(--bg-secondary)!important;border:1px solid var(--border-default)!important}body.dark-mode .empty-state,body.dark-mode .no-results,body.dark-mode .placeholder-text{background-color:var(--bg-tertiary)!important;border:2px dashed var(--border-default)!important;color:var(--text-secondary)!important}body.dark-mode table{background-color:var(--bg-secondary)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode table thead{background-color:var(--bg-tertiary)!important}body.dark-mode table th{background-color:var(--bg-tertiary)!important;font-weight:600}body.dark-mode table td,body.dark-mode table th{border:1px solid var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode table td{background-color:initial!important}body.dark-mode table tr:hover{background-color:var(--bg-overlay)!important}body.dark-mode table tbody tr:nth-child(2n){background-color:#6e76810d!important}body.dark-mode table tbody tr:nth-child(odd){background-color:var(--bg-secondary)!important}body.dark-mode .file-upload,body.dark-mode .upload-area{background-color:var(--bg-tertiary)!important;border:2px dashed var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode .file-upload:hover{background-color:var(--bg-overlay)!important;border-color:#036!important;border-color:var(--srm-blue)!important}body.dark-mode .details-section,body.dark-mode .info-section{background-color:var(--bg-secondary)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode .section-title{border-bottom:1px solid var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode .action-button,body.dark-mode .btn-action{background-color:var(--accent-emphasis)!important;border:1px solid #0000!important;color:#fff!important}body.dark-mode .action-button:hover:not(:disabled),body.dark-mode .btn-action:hover:not(:disabled){background-color:#1f6feb!important;box-shadow:0 0 0 3px #58a6ff26}body.dark-mode .delete-action,body.dark-mode .remove-button{background-color:var(--danger-emphasis)!important;color:#fff!important}body.dark-mode .delete-action:hover:not(:disabled),body.dark-mode .remove-button:hover:not(:disabled){background-color:#f85149!important;box-shadow:0 0 0 3px #f8514926}body.dark-mode .grid-item,body.dark-mode .list-item{background-color:var(--bg-secondary)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode .grid-item:hover,body.dark-mode .list-item:hover{background-color:var(--bg-tertiary)!important;border-color:#036!important;border-color:var(--srm-blue)!important}body.dark-mode .page-header,body.dark-mode .panel,body.dark-mode .panel-header{background-color:var(--bg-secondary)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode .panel-body{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}body.dark-mode .status-indicator{background-color:var(--bg-tertiary)!important;border:1px solid var(--border-default)!important}body.dark-mode .status-active{background-color:#2ea04326!important;border:1px solid #2ea04366!important;color:#3fb950!important}body.dark-mode .status-inactive{background-color:#f8514926!important;border:1px solid #f8514966!important;color:#ff7b72!important}body.dark-mode .metric-box,body.dark-mode .stat-card{background-color:var(--bg-secondary)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode .stat-value{color:#036!important;color:var(--srm-blue)!important;font-weight:600}body.dark-mode .stat-label{color:var(--text-secondary)!important}body.dark-mode .filter-container,body.dark-mode .search-container{background-color:var(--bg-secondary)!important;border:1px solid var(--border-default)!important}body.dark-mode .chip,body.dark-mode .filter-tag{background-color:var(--bg-tertiary)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode .chip:hover,body.dark-mode .filter-tag:hover{background-color:var(--bg-overlay)!important;border-color:#036!important;border-color:var(--srm-blue)!important}.ban-modal-content{background:#fff;box-shadow:0 4px 24px #0000001a}body.dark-mode .ban-modal-content{background:var(--bg-secondary)!important;box-shadow:0 0 0 1px var(--border-default),0 8px 32px #0009;color:var(--text-primary)}body.dark-mode .ban-modal-content h3{border-bottom:2px solid #036;border-bottom:2px solid var(--srm-blue);color:var(--text-primary);padding-bottom:8px}body.dark-mode .ban-modal-content label{color:var(--text-primary)}body.dark-mode .ban-modal-content input,body.dark-mode .ban-modal-content textarea{background-color:var(--bg-primary)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important}body.dark-mode .ban-modal-content input::placeholder,body.dark-mode .ban-modal-content textarea::placeholder{color:var(--text-secondary);opacity:.7}body.dark-mode .ban-modal-content input:focus,body.dark-mode .ban-modal-content textarea:focus{border-color:#036!important;border-color:var(--srm-blue)!important;box-shadow:0 0 0 2px #58a6ff26;outline:none}body.dark-mode .btn-ban{background:var(--accent-emphasis)!important;transition:all .3s ease}body.dark-mode .btn-ban:hover:not(:disabled){background:#1f6feb!important;box-shadow:0 4px 12px #58a6ff66;transform:translateY(-1px)}body.dark-mode .btn-cancel{background:var(--bg-overlay)!important;color:var(--text-primary)!important}body.dark-mode .btn-cancel:hover:not(:disabled){background:var(--text-secondary)!important}body.dark-mode .modal-overlay{background:#010409cc!important}
/*# sourceMappingURL=main.bbff38be.css.map*/