.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;overflow:hidden;background:#000}.login-container:before{display:none}.login-container:after{display:none}.login-form{position:relative;z-index:2;background:#111;padding:2rem;border-radius:1rem;box-shadow:0 6px 20px #ff323280;width:380px;animation:fadeIn .6s ease-in-out;color:#f1f1f1}.login-title{font-size:1.75rem;font-weight:700;text-align:center;margin-bottom:1.5rem;color:#ff4d4d;font-family:Orbitron,sans-serif;letter-spacing:1px;text-transform:uppercase}.login-input{width:90%;padding:.75rem;margin-left:10px;margin-bottom:1rem;border:1px solid #444;background:#222;color:#f1f1f1;border-radius:.5rem;font-size:.95rem;transition:border-color .3s ease,box-shadow .3s ease}.login-input:focus{border-color:#ff4d4d;outline:none;box-shadow:0 0 6px #ff4d4d99}.error-message{color:#ff6b6b;font-size:.9rem;margin-bottom:1rem;text-align:center}.login-btn{width:80%;background:#ff4d4d;color:#fff;padding:.75rem;border-radius:.5rem;transition:background-color .3s ease,transform .2s ease;margin:0 auto 1.25rem;cursor:pointer;font-weight:600;border:none;display:block}.login-btn:hover{background:#e63939;transform:translateY(-2px)}.divider{text-align:center;font-size:.85rem;color:#aaa;margin:1.25rem 0;position:relative}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#333}.divider:before{left:0}.divider:after{right:0}.social-container{display:flex;flex-direction:column;gap:.75rem}.social-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem;border-radius:.5rem;cursor:pointer;font-weight:500;font-size:.95rem;border:1px solid #444;background:#222;color:#f1f1f1;transition:transform .2s ease,background .2s ease}.social-btn:hover{transform:translateY(-2px);background:#333}.google-btn{border-color:#ea4335;color:#ea4335}.google-btn:hover{background:#ea43351a}.facebook-btn{border-color:#1877f2;color:#1877f2}.facebook-btn:hover{background:#1877f21a}.social-btn img{width:20px;height:20px}html,body{margin:0;padding:0;height:100%;background:#000}#root{min-height:100%;background:#000}.switch-auth{text-align:center;font-size:.9rem;color:#aaa}.auth-link{color:#ff4d4d;cursor:pointer;font-weight:600}.auth-link:hover{text-decoration:underline;color:#ff6b6b}.register-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#000;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.register-form{background:#111;padding:2rem;border-radius:1rem;box-shadow:0 6px 20px #ff323280;width:380px;color:#f1f1f1;animation:fadeIn .6s ease-in-out}.register-title{font-size:1.6rem;font-weight:700;text-align:center;margin-bottom:1.5rem;color:#ff4d4d;font-family:Orbitron,sans-serif;letter-spacing:1px;text-transform:uppercase}.register-input{width:90%;padding:.75rem;margin-left:10px;margin-bottom:1rem;border:1px solid #444;background:#222;color:#f1f1f1;border-radius:.5rem;font-size:.95rem;transition:border-color .3s ease,box-shadow .3s ease}.register-input:focus{border-color:#ff4d4d;outline:none;box-shadow:0 0 6px #ff4d4d99}.register-error{color:#ff6b6b;font-size:.9rem;margin-bottom:1rem;text-align:center}.register-btn{width:80%;background:#ff4d4d;color:#fff;padding:.75rem;border-radius:.5rem;transition:background-color .3s ease,transform .2s ease;margin:0 auto 1.25rem;cursor:pointer;font-weight:600;border:none;display:block}.register-btn:hover{background:#e63939;transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}.dashboard{padding:1.5rem;color:#111827;font-family:Inter,sans-serif}.dashboard-title{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.dashboard-subtitle{margin-bottom:1.5rem;color:#4b5563}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 768px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1280px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}}.dashboard-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px #0000001a}.card-title{font-size:1.125rem;font-weight:600;margin-bottom:1rem;color:#1f2937}.chart-wrapper{height:16rem}.center{display:flex;flex-direction:column;justify-content:center;align-items:center}.metric{font-size:2.25rem;font-weight:700;color:#2563eb}.employee-container{padding:24px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.employee-title{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:20px;display:flex;align-items:center;gap:8px}.employee-card{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #e5e7eb}.employee-table{width:100%;border-collapse:collapse;font-size:14px}.employee-table thead{background-color:#f3f4f6;color:#374151}.employee-table th,.employee-table td{padding:12px 16px;border-bottom:1px solid #e5e7eb;text-align:left}.employee-table tbody tr:hover{background-color:#f9fafb}.status-badge{padding:6px 10px;border-radius:6px;font-weight:600;font-size:12px;display:inline-block}.status-active{background-color:#dcfce7;color:#15803d}.status-pending{background-color:#fef9c3;color:#b45309}.status-inactive{background-color:#fee2e2;color:#b91c1c}.dept-container{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 12px #00000014;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.dept-title{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:20px;display:flex;align-items:center;gap:8px}.dept-form{display:flex;gap:12px;margin-bottom:24px}.dept-input{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s ease}.dept-input:focus{outline:none;border-color:#2563eb}.btn{padding:8px 14px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.dept-table{width:100%;border-collapse:collapse;font-size:14px}.dept-table th,.dept-table td{padding:12px;border:1px solid #e5e7eb;text-align:left}.dept-table thead{background-color:#f3f4f6;color:#374151}.dept-table tbody tr:hover{background-color:#f9fafb}.no-data{text-align:center;padding:16px;color:#6b7280}.peso-input{display:flex;align-items:center;position:relative}.peso-sign{position:absolute;left:10px;font-weight:700;color:#333}.peso-input .dept-input{padding-left:25px}body{background:#f6f7fb;font-family:Poppins,sans-serif;margin:0;color:#222}.employee-dashboard{max-width:900px;margin:40px auto;background:#fff;border-radius:16px;padding:30px 40px;box-shadow:0 8px 24px #00000014}.dashboard-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eaeaea;padding-bottom:15px;margin-bottom:25px}.dashboard-header h1{font-size:1.6rem;font-weight:600;color:#222}.signout-btn{background:linear-gradient(135deg,#ff5f6d,#ff2f47);border:none;padding:10px 18px;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;transition:.3s ease}.signout-btn:hover{opacity:.9;transform:translateY(-1px)}.dashboard-section{margin-bottom:40px}.dashboard-section h2{color:#0047ff;font-size:1.3rem;font-weight:600;border-left:4px solid #0047ff;padding-left:10px;margin-bottom:15px}.empty-text{color:#888;font-style:italic}.schedule-list{list-style:none;padding:0}.schedule-item{display:flex;justify-content:space-between;background:#f5f7ff;border:1px solid #e4e8ff;border-radius:10px;padding:12px 18px;margin-bottom:10px;transition:all .2s ease-in-out}.schedule-item:hover{background:#ebf0ff;transform:scale(1.02)}.schedule-date{font-weight:500}.schedule-shift{color:#0047ff;font-weight:600}.attendance-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;background:#fdfdfd;border:1px solid #eaeaea}.attendance-table th,.attendance-table td{padding:12px 16px;text-align:left;color:#333}.attendance-table thead{background:#f0f3ff;color:#0047ff}.attendance-table tbody tr:nth-child(2n){background:#fafbff}.status.present{color:#1db954;font-weight:700}.status.absent{color:#e63946;font-weight:700}.status.pending{color:#ffb703;font-weight:700}.dashboard-footer{text-align:center;font-size:.85rem;color:#777;margin-top:30px}.schedule-details{background:#f8f9ff;border:1px solid #ccd5ff;border-radius:10px;padding:15px 20px;margin-top:15px;box-shadow:0 4px 12px #0000000d;animation:fadeIn .3s ease-in-out}.schedule-details h3{color:#0047ff;margin-bottom:10px}.schedule-details p{margin:5px 0;color:#333}.close-details-btn{margin-top:10px;padding:8px 14px;border:none;background:#0047ff;color:#fff;border-radius:6px;cursor:pointer;transition:.2s ease}.close-details-btn:hover{opacity:.9}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease-out;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:1rem;width:90%;max-width:420px;position:relative;box-shadow:0 10px 30px #0003;animation:popIn .25s ease}.modal-close{position:absolute;right:1rem;top:.8rem;border:none;background:none;font-size:1.5rem;color:#999;cursor:pointer;transition:.2s}.modal-close:hover{color:#333}.modal-title{text-align:center;color:#2563eb;font-weight:700;margin-bottom:1rem}.modal-body p{margin:.4rem 0;font-size:.95rem;color:#333}.status-badge{padding:.2rem .6rem;border-radius:.5rem;font-weight:600}.status-badge.approved{background:#dcfce7;color:#166534}.status-badge.pending{background:#fef9c3;color:#854d0e}.status-badge.default{background:#f3f4f6;color:#374151}.modal-footer{text-align:center;margin-top:1rem}.modal-button{background:#2563eb;color:#fff;border:none;padding:.5rem 1.5rem;border-radius:9999px;font-weight:600;cursor:pointer;transition:all .2s}.modal-button:hover{background:#1d4ed8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fancy-modal{background:#ffffffe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.05)}.modern-details{display:flex;flex-direction:column;gap:1rem}.detail-row{display:flex;align-items:center;background:#f5f7ff;border-radius:12px;padding:12px 16px;box-shadow:0 2px 5px #0047ff0d;transition:.2s ease}.detail-row:hover{background:#ebf0ff;transform:translateY(-2px)}.detail-row .icon{font-size:1.4rem;margin-right:12px}.detail-row .label{font-size:.8rem;color:#666;margin:0}.detail-row .value{font-size:1rem;font-weight:600;color:#111;margin:0}.status-chip{display:inline-block;padding:4px 10px;border-radius:9999px;font-size:.85rem;font-weight:600;text-transform:capitalize}.status-chip.approved{background:#dcfce7;color:#166534}.status-chip.ongoing{background:#e0f2fe;color:#0369a1}.status-chip.pending{background:#fef9c3;color:#854d0e}.status-chip.cancelled{background:#fee2e2;color:#991b1b}.status-chip.default{background:#f3f4f6;color:#374151}@keyframes popIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.schedule-container{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 12px #00000014;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.schedule-title{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:20px;display:flex;align-items:center;gap:8px}.schedule-form{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.schedule-form select,.schedule-form input{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;outline:none;font-size:14px;transition:border-color .2s ease;flex:1;min-width:180px}.schedule-form select:focus,.schedule-form input:focus{border-color:#2563eb}.btn{padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover{background-color:#1e40af}.btn-cancel{background-color:#6b7280;color:#fff}.btn-cancel:hover{background-color:#4b5563}.btn-edit{background-color:#f59e0b;color:#fff}.btn-edit:hover{background-color:#d97706}.btn-delete{background-color:#ef4444;color:#fff}.btn-delete:hover{background-color:#b91c1c}.schedule-table{width:100%;border-collapse:collapse;font-size:14px}.schedule-table thead{background-color:#f3f4f6;color:#374151;text-align:left}.schedule-table th,.schedule-table td{padding:12px;border:1px solid #e5e7eb}.schedule-table tbody tr:hover{background-color:#f9fafb}.dashboard-layout{display:flex;height:100vh;background:#f3f4f6;font-family:Inter,sans-serif;transition:all .3s ease}.sidebar{width:16rem;background:#1d4ed8;color:#fff;display:flex;flex-direction:column;padding:1rem;transition:width .3s ease;position:relative}.dashboard-layout.collapsed .sidebar{width:4.5rem}.sidebar-header{display:flex;justify-content:space-between;align-items:center}.toggle-btn{background:none;border:none;color:#fff;cursor:pointer;transition:transform .2s ease}.toggle-btn:hover{transform:rotate(90deg)}.sidebar-title{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;text-align:center;transition:opacity .3s}.dashboard-layout.collapsed .sidebar-title{font-size:1.5rem}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:.375rem;text-decoration:none;color:#fff;transition:background .3s,padding-left .2s}.sidebar-link:hover{background:#2563eb;padding-left:.75rem}.icon{font-size:1.2rem;width:1.5rem;text-align:center}.dashboard-layout.collapsed .sidebar-link span,.dashboard-layout.collapsed .logout-btn span{display:none}.logout-btn{margin-top:auto;background:#ef4444;color:#fff;margin-bottom:30%;padding:.5rem .75rem;border-radius:.375rem;border:none;font-weight:500;cursor:pointer;transition:background .3s;display:flex;align-items:center;gap:.5rem}.logout-btn:hover{background:#dc2626}.main-content{flex:1;padding:1.5rem;overflow-y:auto;transition:margin-left .3s ease}.welcome-box{margin-bottom:1rem}.welcome-text{font-size:1.125rem;font-weight:600;color:#111827}@media (max-width: 768px){.sidebar{position:fixed;height:100%;left:-16rem;z-index:10}.dashboard-layout.collapsed .sidebar{left:0}.main-content{padding:1rem}}/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}.flex{display:flex}.table{display:table}.h-screen{height:100vh}.w-full{width:100%}.min-w-full{min-width:100%}.border-collapse{border-collapse:collapse}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-t-transparent{border-top-color:#0000}.text-left{text-align:left}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
