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}.admin-attendance-container{background:#f0f2f5;display:flex;min-height:100vh}.admin-attendance-main{flex:1 1;margin-left:280px;padding:30px}.attendance-header{margin-bottom:30px}.attendance-header h1{color:#1a1a2e;font-size:28px;margin-bottom:10px}.attendance-header p{color:#7f8c8d;font-size:14px}.attendance-table{border-collapse:collapse;width:100%}.attendance-table th{background:#f8f9fa;color:#2c3e50;font-size:14px;font-weight:600;padding:15px;text-align:left}.attendance-table td{border-bottom:1px solid #ecf0f1;color:#34495e;font-size:14px;padding:12px 15px}.attendance-table tbody tr:hover{background:#f8f9fa}.status-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.status-badge.completed{background:#d4edda;color:#155724}.admin-attendance-loading{align-items:center;background:#f0f2f5;display:flex;flex-direction:column;height:100vh;justify-content:center}.spinner{animation:spin 1s linear infinite;border-top-color:#667eea;height:50px;width:50px}@media (max-width:768px){.sidebar{position:fixed;transform:translateX(-100%);z-index:1000}.admin-attendance-main{margin-left:0;padding:20px}.stats-summary{grid-template-columns:1fr}.attendance-table{font-size:12px}.attendance-table td,.attendance-table th{padding:8px}}.attendance-app{background:#f7f7fc;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.attendance-sidebar{background:#2d2d3f;display:flex;flex-direction:column;height:100vh;position:fixed;width:280px}.user-badge.staff{background:#fff3;color:#e0e0e0}.attendance-main-area{flex:1 1;margin-left:280px;padding:32px 40px}.today-card{background:linear-gradient(135deg,#2d2d3f,#3d3d55);border-radius:20px;margin-bottom:32px;padding:28px 32px}.today-badge{background:#ffffff26;border-radius:20px;color:#e0e0e0;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:20px;padding:4px 12px}.schedule-display{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.schedule-date{display:flex;flex-direction:column;gap:4px}.date-day{color:#fff;font-size:28px;font-weight:700}.date-full{color:#fff9;font-size:14px}.action-btn{border:none;border-radius:40px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 32px;transition:all .3s}.signin-btn{background:#6b5b95;color:#fff}.signin-btn:hover{background:#5a4a7e;transform:translateY(-2px)}.signout-btn{background:#e8a4a4;color:#5a3a3a}.signout-btn:hover{background:#df8e8e;transform:translateY(-2px)}.completed-status{background:#ffffff26;border-radius:40px;color:#a8e6a8;font-size:14px;font-weight:600;padding:10px 24px}.no-schedule-message{padding:20px;text-align:center}.no-schedule-message p{color:#fffc;font-size:16px;margin-bottom:8px}.no-schedule-message span{color:#ffffff80;font-size:13px}.upcoming-section{background:#fff;border-radius:20px;box-shadow:0 2px 12px #0000000a;padding:24px}.upcoming-section h3{border-bottom:2px solid #f0f0f0;color:#2d2d3f;font-size:18px;font-weight:600;margin-bottom:20px;padding-bottom:12px}.schedules-list{display:flex;flex-direction:column;gap:12px}.schedule-item{align-items:center;background:#fafafc;border-radius:14px;display:flex;justify-content:space-between;padding:14px 16px;transition:all .2s}.schedule-item:hover{background:#f5f5f8}.schedule-date-info{display:flex;flex-direction:column;gap:2px}.schedule-day{color:#2d2d3f;font-size:14px;font-weight:600}.schedule-date{color:#8a8a9a;font-size:12px}.schedule-status{border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px}.schedule-status.pending{background:#f0e6d2;color:#8a6e3a}.schedule-status.completed{background:#d4edda;color:#2d6a4f}.empty-list{color:#9a9aaa;padding:40px;text-align:center}.camera-modal{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.camera-container{background:#2d2d3f;border-radius:24px;max-width:420px;overflow:hidden;width:90%}.camera-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:16px 20px}.camera-header h3{color:#fff;font-size:18px;font-weight:500}.close-camera{background:none;border:none;color:#fff9;cursor:pointer;font-size:28px;transition:color .2s}.close-camera:hover{color:#fff}.camera-preview{align-items:center;background:#1a1a2a;display:flex;justify-content:center;min-height:280px}.camera-feed{border-radius:12px;margin:20px auto;max-width:300px;transform:scaleX(-1);width:100%}.camera-actions{padding:20px}.capture-btn{background:#6b5b95;border:none;border-radius:40px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:all .3s;width:100%}.capture-btn:hover{background:#5a4a7e;transform:translateY(-2px)}.attendance-loading{align-items:center;background:#f7f7fc;display:flex;flex-direction:column;height:100vh;justify-content:center}.spinner{animation:spin .8s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#6b5b95;height:45px;width:45px}.attendance-loading p{color:#6b6b7a;margin-top:16px}@media (max-width:768px){.attendance-sidebar{position:fixed;transform:translateX(-100%);z-index:1000}.attendance-main-area{margin-left:0;padding:20px}.schedule-display{flex-direction:column;text-align:center}.action-btn{width:100%}.today-card{padding:20px}.date-day{font-size:22px}}body{background:#f0f2f5;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}.dashboard{display:flex;min-height:100vh;position:relative}.mobile-menu-btn{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);border:none;border-radius:12px;box-shadow:0 2px 10px #0003;cursor:pointer;display:none;height:45px;justify-content:center;left:15px;position:fixed;top:15px;width:45px;z-index:1001}.menu-icon{color:#fff;font-size:24px}.sidebar{box-shadow:2px 0 10px #0000001a;color:#fff;transition:transform .3s ease;z-index:1000}.sidebar-header{position:relative}.mobile-close-btn{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:28px;position:absolute;right:15px;top:15px}.sidebar-header .user-info{display:none}.nav-link{background:none;border:none;cursor:pointer;text-align:left;width:100%}.nav-link.active{border-right:3px solid #3498db}.nav-icon{font-size:20px}.sidebar-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:999}.main-content{background:#f0f2f5;flex:1 1;margin-left:280px;min-height:100vh;padding:30px}.welcome-section{background:#fff;border-radius:15px;box-shadow:0 2px 5px #0000000d;margin-bottom:30px;padding:30px}.welcome-section h1{color:#1a1a2e;font-size:28px;margin-bottom:10px}.welcome-section p{color:#7f8c8d;font-size:14px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:30px}.stat-card{background:#fff;border-radius:15px;box-shadow:0 2px 5px #0000000d;padding:25px;transition:transform .3s,box-shadow .3s}.stat-card:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-5px)}.stat-number{color:#1a1a2e;font-size:32px;font-weight:700;margin-bottom:10px}.stat-label{color:#7f8c8d;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.staff-section{background:#fff;border-radius:15px;box-shadow:0 2px 5px #0000000d;margin-bottom:30px;padding:25px}.section-header{align-items:center;border-bottom:2px solid #f0f2f5;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.section-header h2{color:#1a1a2e;font-size:20px}.table-container{-webkit-overflow-scrolling:touch}.data-table{border-collapse:collapse;min-width:500px;width:100%}.data-table th{background:#f8f9fa;color:#2c3e50;font-size:13px;font-weight:600;padding:12px;text-align:left}.data-table td{border-bottom:1px solid #ecf0f1;color:#34495e;font-size:14px;padding:12px}.data-table tbody tr:hover{background:#f8f9fa}.role-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.role-badge.admin{background:#e74c3c;color:#fff}.role-badge.staff{background:#3498db;color:#fff}.action-buttons{display:flex;flex-wrap:wrap;gap:10px}.delete-btn,.edit-btn{border:none;border-radius:5px;cursor:pointer;font-size:12px;font-weight:500;padding:5px 12px;transition:all .3s}.edit-btn{background:#3498db;color:#fff}.edit-btn:hover{background:#2980b9}.delete-btn{background:#e74c3c;color:#fff}.delete-btn:hover{background:#c0392b}.fab{align-items:center;background:linear-gradient(135deg,#2d8f4e,#1a6b3c);border:none;border-radius:50%;bottom:30px;box-shadow:0 4px 15px #0003;color:#fff;cursor:pointer;display:flex;font-size:30px;height:60px;justify-content:center;position:fixed;right:30px;transition:all .3s;width:60px;z-index:1000}.fab:hover{box-shadow:0 6px 20px #0000004d;transform:scale(1.1)}.modal-overlay{padding:20px}.modal-content{animation:slideIn .3s ease;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.close-btn{transition:color .3s}.close-btn:hover{color:#e74c3c}.form-group{padding:15px 20px}.form-group label{color:#2c3e50;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:8px;font-size:14px;padding:10px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#2d8f4e;outline:none}.form-group small{color:#95a5a6;display:block;font-size:12px;margin-top:5px}.form-error{background:#f8d7da;border-radius:8px;color:#721c24;font-size:13px;margin:0 20px 10px;padding:10px 20px}.form-buttons{border-top:1px solid #ecf0f1;display:flex;gap:10px;padding:20px}.cancel-btn,.submit-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:all .3s}.cancel-btn{background:#ecf0f1;color:#7f8c8d}.cancel-btn:hover{background:#bdc3c7}.submit-btn{background:linear-gradient(135deg,#2d8f4e,#1a6b3c);color:#fff}.submit-btn:hover{box-shadow:0 5px 15px #2d8f4e66;transform:translateY(-2px)}.submit-btn:disabled{opacity:.7;transform:none}.loading-container{background:#f0f2f5}.loading-spinner{border-top-color:#2d8f4e;height:50px;width:50px}.loading-container p{color:#7f8c8d;margin-top:20px}.user-dropdown-container{position:fixed;right:30px;top:20px;z-index:1001}.user-avatar{background:#fff;border-radius:50px;box-shadow:0 2px 12px #00000014;cursor:pointer;gap:12px;padding:8px 16px 8px 8px;transition:all .3s ease}.user-avatar:hover{background:#f8f9fa;box-shadow:0 4px 20px #0000001f;transform:translateY(-2px)}.avatar-circle{align-items:center;background:linear-gradient(135deg,#2d8f4e,#1a6b3c);border-radius:50%;box-shadow:0 2px 8px #2d8f4e4d;color:#fff;display:flex;font-size:16px;font-weight:700;height:42px;justify-content:center;text-transform:uppercase;width:42px}.user-info-text{display:flex;flex-direction:column;gap:2px}.user-name-display{color:#1a1a2e;font-size:14px;font-weight:600}.user-role-badge{background:#e8f5e9;border-radius:20px;color:#2d8f4e;display:inline-block;font-size:10px;padding:2px 8px;text-align:center;text-transform:capitalize}.dropdown-arrow{color:#7f8c8d;transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{animation:dropdownSlide .3s ease;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;overflow:hidden;position:absolute;right:0;top:65px;width:300px;z-index:1002}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-user-info{background:linear-gradient(135deg,#2d8f4e,#1a6b3c);display:flex;gap:15px;padding:20px}.dropdown-avatar-large{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;border:2px solid #ffffff4d;border-radius:50%;color:#fff;display:flex;font-size:22px;font-weight:700;height:55px;justify-content:center;text-transform:uppercase;width:55px}.dropdown-user-details{display:flex;flex:1 1;flex-direction:column;justify-content:center}.dropdown-user-name{color:#fff;font-size:16px;font-weight:600;margin-bottom:4px}.dropdown-user-role{color:#ffffffd9;font-size:12px;margin-bottom:2px;text-transform:capitalize}.dropdown-user-phone{color:#ffffffb3;font-size:11px}.dropdown-menu-items{padding:8px 0}.dropdown-logout{align-items:center;background:#fff;border:none;color:#e74c3c;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 20px;text-align:left;transition:all .3s;width:100%}.dropdown-logout:hover{background:#fef5f5}.dropdown-icon{color:#e74c3c}.logout-icon{font-size:18px}@media (min-width:769px) and (max-width:1024px){.main-content{padding:20px}.stats-grid{gap:15px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:20px}.stat-number{font-size:28px}}@media (max-width:768px){.mobile-menu-btn{display:flex}.sidebar{transform:translateX(-100%);width:280px}.sidebar.open{transform:translateX(0)}.mobile-close-btn,.sidebar-overlay{display:block}.main-content{margin-left:0;padding:70px 15px 20px}.stats-grid{gap:15px;grid-template-columns:1fr}.welcome-section{padding:20px}.welcome-section h1{font-size:22px}.fab{bottom:20px;font-size:24px;height:50px;right:20px;width:50px}.staff-section{padding:15px}.section-header h2{font-size:18px}.user-dropdown-container{right:12px;top:12px}.user-info-text{display:none}.user-avatar{padding:6px}.user-avatar,.user-avatar:hover{background:#0000;box-shadow:none}.user-avatar:hover{transform:none}.avatar-circle{box-shadow:0 2px 12px #00000026;font-size:18px;height:45px;width:45px}.dropdown-arrow{display:none}.dropdown-menu{right:0;top:60px;width:280px}}@media (max-width:480px){.stat-card{padding:15px}.stat-number{font-size:24px}.action-buttons{flex-direction:column;gap:5px}.delete-btn,.edit-btn{text-align:center;width:100%}.modal-content{margin:10px;width:95%}.form-buttons{flex-direction:column}.cancel-btn,.submit-btn{width:100%}.dropdown-menu{left:auto;right:0;width:calc(100vw - 30px)}.dropdown-user-info{padding:15px}.dropdown-avatar-large{font-size:18px;height:45px;width:45px}.dropdown-user-name{font-size:14px}}.splash-screen{align-items:center;animation:splashFadeOut .5s ease forwards;animation-delay:1.8s;background:linear-gradient(135deg,#1a6b3c,#2d8f4e 50%,#c9a03d);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}@keyframes splashFadeOut{0%{opacity:1}to{opacity:0;visibility:hidden}}.splash-content{animation:splashPulse 1s ease infinite;text-align:center}@keyframes splashPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.rf-signal{align-items:center;display:flex;height:120px;justify-content:center;margin:0 auto 30px;position:relative;width:120px}.rf-wave{animation:rfPulse 2s ease-out infinite;border:3px solid gold;border-radius:50%;opacity:0;position:absolute}.rf-wave-1{animation-delay:0s;height:40px;width:40px}.rf-wave-2{animation-delay:.5s;height:70px;width:70px}.rf-wave-3{animation-delay:1s;height:100px;width:100px}.rf-wave-4{animation-delay:1.5s;height:130px;width:130px}@keyframes rfPulse{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(1.2)}}.rf-dot{animation:dotPulse 1s ease infinite;background:gold;border-radius:50%;height:15px;position:relative;width:15px;z-index:2}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}.splash-text h1{color:gold;font-size:28px;font-weight:700;letter-spacing:2px;margin-bottom:10px;text-shadow:2px 2px 4px #0000004d}.splash-text p{color:#fff;font-size:14px;opacity:.9}.loading-dots{display:flex;gap:8px;justify-content:center;margin-top:30px}.loading-dots span{animation:dotBounce 1.4s ease infinite;background:gold;border-radius:50%;height:8px;width:8px}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-15px)}}.login-container{align-items:center;background:linear-gradient(135deg,#1a6b3c,#2d8f4e 50%,#c9a03d);display:flex;justify-content:center;min-height:100vh;padding:20px;position:relative}.login-container:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' opacity='.05'%3E%3Cpath fill='%23fff' d='m50 0 50 50-50 50L0 50Z'/%3E%3C/svg%3E") repeat;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.login-card{animation:cardSlideUp .6s ease;background:#fff;border-radius:30px;box-shadow:0 25px 50px #00000040;max-width:420px;padding:40px 35px;position:relative;text-align:center;width:100%;z-index:1}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.brand-header{margin-bottom:25px}.brand-title{color:#1a6b3c;font-size:20px;font-weight:600;letter-spacing:1px;margin-bottom:5px}.brand-title span{color:#c9a03d;font-weight:800}.brand-subtitle{color:#2d8f4e;font-size:16px;font-weight:500;letter-spacing:1px}.brand-mas{color:#c9a03d;font-size:12px;font-weight:600;letter-spacing:2px;margin-top:5px}.logo-wrapper{display:flex;justify-content:center;margin:20px 0}.logo-circle{border:3px solid #c9a03d;border-radius:50%;box-shadow:0 4px 20px #1a6b3c4d;height:100px;object-fit:cover;transition:transform .3s;width:100px}.logo-circle:hover{transform:scale(1.05)}.subtitle{color:#666;font-size:14px;margin-bottom:25px}.login-card input{background:#fafafa;border:2px solid #e8e8e8;border-radius:15px;box-sizing:border-box;font-size:14px;margin-bottom:15px;padding:14px 18px;transition:all .3s;width:100%}.login-card input:focus{background:#fff;border-color:#2d8f4e;box-shadow:0 0 0 3px #2d8f4e1a;outline:none}.login-card input:disabled{background:#f0f0f0;cursor:not-allowed}.login-card button{background:linear-gradient(135deg,#2d8f4e,#1a6b3c);border:none;border-radius:15px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;overflow:hidden;padding:14px;position:relative;transition:all .3s;width:100%}.login-card button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.login-card button:hover:not(:disabled):before{height:300px;width:300px}.login-card button:hover:not(:disabled){box-shadow:0 8px 25px #2d8f4e66;transform:translateY(-2px)}.login-card button:disabled{cursor:not-allowed;opacity:.6;transform:none}.error{background:#fdeaea;border-left:3px solid #e74c3c;border-radius:12px;color:#e74c3c;font-size:13px;margin-top:15px;padding:12px}@media (max-width:480px){.login-card{border-radius:25px;padding:30px 20px}.logo-circle{height:80px;width:80px}.brand-title{font-size:16px}.brand-subtitle{font-size:13px}.brand-mas{font-size:10px}.subtitle{font-size:13px}.login-card input{padding:12px 15px}.login-card button{padding:12px}}@media (min-width:481px) and (max-width:768px){.login-card{max-width:380px;padding:35px 30px}}.reports-container{background:#f0f2f5;display:flex;min-height:100vh}.sidebar{background:linear-gradient(180deg,#1a1a2e,#16213e);height:100vh;overflow-y:auto;position:fixed;width:280px}.sidebar-header{border-bottom:1px solid #ffffff1a;padding:30px 20px;text-align:center}.sidebar-header h2{color:#fff;font-size:20px;margin-bottom:20px}.user-info{background:#ffffff1a;border-radius:10px;padding:15px}.user-name{color:#fff;font-size:16px;font-weight:600;margin-bottom:5px}.user-role{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:3px 10px}.user-role.admin{background:#e74c3c;color:#fff}.sidebar-nav{padding:20px 0}.nav-link{align-items:center;color:#fffc;display:flex;font-size:14px;gap:12px;padding:12px 24px;text-decoration:none;transition:all .3s}.nav-link:hover{background:#ffffff1a;color:#fff;padding-left:28px}.nav-link.active{background:#ffffff26;border-right:3px solid #667eea;color:#fff}.nav-link.logout{background:none;border:none;border-top:1px solid #ffffff1a;color:#ff4757;cursor:pointer;margin-top:20px;width:100%}.reports-main{flex:1 1;margin-left:280px;padding:30px}.reports-header{margin-bottom:30px}.reports-header h1{color:#1a1a2e;font-size:28px}.filter-section{align-items:flex-end;background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px;padding:20px}.filter-group{flex:1 1;min-width:150px}.filter-group label{color:#555;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.filter-group input{border:1px solid #ddd;border-radius:8px;font-size:14px;padding:10px;width:100%}.filter-actions{display:flex;gap:10px}.download-btn,.filter-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.filter-btn{background:#3498db;color:#fff}.filter-btn:hover{background:#2980b9}.download-btn{background:#4caf50;color:#fff}.download-btn:hover{background:#45a049}.stats-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:30px}.summary-card{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;padding:20px;text-align:center}.summary-number{color:#1a1a2e;font-size:32px;font-weight:700;margin-bottom:5px}.summary-label{color:#888;font-size:14px}.table-container{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;overflow:hidden;overflow-x:auto}.reports-table{border-collapse:collapse;width:100%}.reports-table th{background:#f8f9fa;color:#2c3e50;font-size:14px;font-weight:600;padding:15px;text-align:left}.reports-table td{border-bottom:1px solid #ecf0f1;color:#34495e;font-size:14px;padding:12px 15px}.reports-table tbody tr:hover{background:#f8f9fa}.action-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.action-badge.sign_in{background:#d4edda;color:#155724}.action-badge.sign_out{background:#fff3cd;color:#856404}.location,.view-btn{font-size:12px}.view-btn{background:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:5px 12px;transition:all .3s}.view-btn:hover{background:#2980b9}.empty-message{color:#95a5a6;padding:40px;text-align:center}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.modal-content{background:#fff;border-radius:15px;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#1a1a2e;font-size:20px}.close-btn{background:none;border:none;color:#95a5a6;cursor:pointer;font-size:28px}.modal-body{padding:20px}.detail-row{border-bottom:1px solid #f0f0f0;margin-bottom:15px;padding-bottom:10px}.detail-row strong{color:#555;display:inline-block;width:120px}.map-link{color:#3498db;margin-left:10px;text-decoration:none}.map-link:hover{text-decoration:underline}.selfie-image{margin-top:10px}.selfie-image img{border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:100%}.reports-loading{align-items:center;background:#f0f2f5;display:flex;flex-direction:column;height:100vh;justify-content:center}@media (max-width:768px){.sidebar{position:fixed;transform:translateX(-100%);z-index:1000}.reports-main{margin-left:0;padding:20px}.filter-section{flex-direction:column}.filter-actions{width:100%}.download-btn,.filter-btn{flex:1 1}.stats-summary{grid-template-columns:1fr}.reports-table{font-size:12px}.reports-table td,.reports-table th{padding:8px}}*{box-sizing:border-box;margin:0;padding:0}.schedule-container{background:#f7f7fc;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.schedule-sidebar{background:#2d2d3f;display:flex;flex-direction:column;height:100vh;position:fixed;transition:transform .3s ease;width:280px;z-index:100}.sidebar-brand{border-bottom:1px solid #ffffff14;padding:32px 24px}.sidebar-brand h2{color:#fff;font-size:22px;font-weight:600;letter-spacing:-.5px}.user-profile{border-bottom:1px solid #ffffff14;gap:12px;padding:24px}.user-avatar,.user-profile{align-items:center;display:flex}.user-avatar{background:#6b5b95;border-radius:50%;color:#fff;font-size:20px;font-weight:600;height:48px;justify-content:center;width:48px}.user-details{display:flex;flex-direction:column;gap:4px}.user-fullname{color:#fff;font-size:15px;font-weight:500}.user-badge{border-radius:20px;display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;width:fit-content}.user-badge.admin{background:#6b5b9566;color:#e0e0e0}.sidebar-menu{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:24px 0}.menu-item{align-items:center;background:none;border:none;color:#ffffffb3;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 24px;text-align:left;text-decoration:none;transition:all .3s;width:100%}.menu-item:hover{background:#ffffff14;color:#fff}.menu-item.active{background:#6b5b9566;border-right:3px solid #6b5b95;color:#fff}.menu-item.logout{color:#e8a4a4;margin-top:auto}.menu-item.logout:hover{background:#e8a4a426;color:#ffb5b5}.schedule-main-area{flex:1 1;margin-left:280px;padding:32px 40px;transition:margin-left .3s ease}.page-header{margin-bottom:32px}.page-header h1{color:#1a1a2e;font-size:28px;font-weight:600;margin-bottom:8px}.page-header p{color:#6b6b7a;font-size:14px}.schedule-actions{margin-bottom:28px}.add-schedule-btn{align-items:center;background:#6b5b95;border:none;border-radius:40px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s}.add-schedule-btn:hover{background:#5a4a7e;box-shadow:0 4px 12px #6b5b954d;transform:translateY(-2px)}.schedule-table-wrapper{background:#fff;border-radius:20px;box-shadow:0 2px 12px #0000000a;overflow-x:auto}.schedule-data-table{border-collapse:collapse;min-width:600px;width:100%}.schedule-data-table thead{background:#fafafc;border-bottom:1px solid #f0f0f0}.schedule-data-table th{color:#2d2d3f;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px 20px;text-align:left;text-transform:uppercase}.schedule-data-table td{border-bottom:1px solid #f0f0f0;color:#4a4a5a;font-size:14px;padding:14px 20px}.schedule-data-table tbody tr:hover{background:#fafafc}.role-tag{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.role-tag.admin{background:#6b5b9526;color:#6b5b95}.role-tag.staff{background:#6464781a;color:#555}.action-cell{display:flex;gap:10px}.delete-action,.edit-action{border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 14px;transition:all .2s}.edit-action{background:#6b5b95;color:#fff}.edit-action:hover{background:#5a4a7e}.delete-action{background:#e8a4a4;color:#5a3a3a}.delete-action:hover{background:#df8e8e}.empty-table{color:#9a9aaa;padding:48px!important;text-align:center}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.modal-window{background:#fff;border-radius:24px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:520px;overflow-y:auto;width:90%}.modal-title{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:20px 24px}.modal-title h3{color:#1a1a2e;font-size:20px;font-weight:600}.modal-close{background:none;border:none;color:#9a9aaa;cursor:pointer;font-size:28px;transition:color .2s}.modal-close:hover{color:#e8a4a4}.modal-field{padding:16px 24px}.modal-field label{color:#2d2d3f;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.modal-field input,.staff-search input{border:1px solid #e0e0e0;border-radius:12px;font-size:14px;padding:10px 14px;transition:all .2s;width:100%}.modal-field input:focus,.staff-search input:focus{border-color:#6b5b95;box-shadow:0 0 0 3px #6b5b951a;outline:none}.readonly-field{background:#f7f7fc;cursor:default}.staff-search{position:relative}.search-results{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 12px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.search-result-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 14px;transition:background .2s}.search-result-item:hover{background:#fafafc}.result-name{color:#2d2d3f;font-weight:500;margin-bottom:4px}.result-details{color:#8a8a9a;font-size:12px}.auto-details{background:#fafafc;border-radius:12px;margin-top:-8px}.info-box{background:#fff;border-radius:12px;font-size:13px;padding:12px}.info-box p{color:#4a4a5a;margin:4px 0}.modal-actions{border-top:1px solid #f0f0f0;display:flex;gap:12px;padding:20px 24px}.cancel-action,.submit-action{border:none;border-radius:40px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .2s}.cancel-action{background:#f0f0f0;color:#6b6b7a}.cancel-action:hover{background:#e4e4e4}.submit-action{background:#6b5b95;color:#fff}.submit-action:hover{background:#5a4a7e;transform:translateY(-1px)}.loading-container{align-items:center;background:#f7f7fc;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#6b5b95;height:45px;width:45px}@keyframes spin{to{transform:rotate(1turn)}}.loading-container p{color:#6b6b7a;margin-top:16px}@media (max-width:768px){.schedule-sidebar{transform:translateX(-100%);width:260px}.schedule-sidebar.open{transform:translateX(0)}.schedule-main-area{margin-left:0;padding:20px}.page-header h1{font-size:24px}.schedule-data-table td,.schedule-data-table th{padding:12px 16px}.action-cell{flex-direction:column;gap:6px}.delete-action,.edit-action{text-align:center;width:100%}.modal-window{margin:16px;width:95%}.modal-field{padding:12px 20px}.modal-actions{flex-direction:column;gap:10px}}@media (max-width:480px){.schedule-main-area{padding:16px}.add-schedule-btn{justify-content:center;width:100%}.schedule-data-table td,.schedule-data-table th{font-size:12px;padding:10px 12px}.modal-title h3{font-size:18px}}
/*# sourceMappingURL=main.5e30b6ed.css.map*/