:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary-color: #d4af37;--primary-dark: #b8941f;--secondary-color: #333333;--accent-color: #ffd700;--background-color: #0a0a0a;--surface-color: #1a1a1a;--text-primary: #ffffff;--text-secondary: #cccccc;--border-color: #333333;--shadow-light: 0 1px 3px 0 rgba(212, 175, 55, .2), 0 1px 2px 0 rgba(212, 175, 55, .1);--shadow-medium: 0 4px 6px -1px rgba(212, 175, 55, .3), 0 2px 4px -1px rgba(212, 175, 55, .2);--shadow-gold: 0 0 20px rgba(212, 175, 55, .3);--border-radius: 8px;--transition: all .3s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);color:var(--text-primary);line-height:1.6}#root{height:100vh;width:100vw}.app{height:100vh;width:100vw;display:flex;flex-direction:column;overflow:hidden}.main-content{flex:1;padding:0;overflow-y:auto;height:calc(100vh - 80px)}.greeting{background:linear-gradient(135deg,#1a1a1a,#2a2a2a,#1a1a1a);border-bottom:2px solid var(--primary-color);color:var(--primary-color);padding:2rem 2rem 3rem;margin-bottom:2rem;position:relative;overflow:hidden}.greeting:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,175,55,.1),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.greeting h1{font-size:2.5rem;font-weight:300;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.1)}.greeting-subtitle{font-size:1.1rem;font-weight:400;margin:.5rem 0 0;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.1);letter-spacing:.5px}.page-placeholder{display:flex;align-items:center;justify-content:center;min-height:60vh;background-color:var(--surface-color);border:2px dashed var(--border-color);border-radius:var(--border-radius);margin:2rem;color:var(--text-secondary);font-size:1.2rem;font-weight:500}@media (max-width: 768px){.greeting{padding:1.5rem 1rem 2rem}.greeting h1{font-size:2rem}.page-placeholder{margin:1rem;font-size:1rem;min-height:40vh}}.header{background:linear-gradient(135deg,var(--surface-color) 0%,#2a2a2a 100%);border-bottom:2px solid var(--primary-color);padding:.75rem 2rem;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-gold);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center}.logo{display:flex;align-items:center;gap:.75rem;font-weight:600;color:var(--primary-color);transition:var(--transition)}.logo-image{height:40px;width:auto;filter:drop-shadow(0 0 8px rgba(212,175,55,.5));animation:logoGlow 3s ease-in-out infinite}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 8px rgba(212,175,55,.5));transform:scale(1)}50%{filter:drop-shadow(0 0 15px rgba(212,175,55,.8));transform:scale(1.05)}}.logo-content{display:flex;flex-direction:column;gap:.1rem}.logo:hover{opacity:.8;transform:scale(1.02)}.back-btn-center{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;border:none;padding:.5rem 1rem;border-radius:var(--border-radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 2px 8px #d4af374d}.back-btn-center:hover{background:linear-gradient(135deg,var(--accent-color),var(--primary-color));transform:translateY(-2px);box-shadow:0 4px 15px #d4af3780}.logo-icon{font-size:2rem;filter:drop-shadow(0 0 8px rgba(212,175,55,.5));animation:shieldGlow 3s ease-in-out infinite}@keyframes shieldGlow{0%,to{filter:drop-shadow(0 0 8px rgba(212,175,55,.5));transform:scale(1)}50%{filter:drop-shadow(0 0 15px rgba(212,175,55,.8));transform:scale(1.05)}}.logo-text{font-size:1.4rem;color:var(--text-primary);font-weight:700;text-shadow:0 0 10px rgba(212,175,55,.3);letter-spacing:.5px;line-height:1.2}.logo-tagline{font-size:.75rem;color:var(--primary-color);font-weight:500;opacity:.9;text-transform:uppercase;letter-spacing:1px;line-height:1}.header-center{flex:1;display:flex;justify-content:center;max-width:300px;margin:0 2rem}.location-selector{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--surface-color),#2a2a2a);border:1px solid var(--primary-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);color:var(--text-primary);font-size:.9rem}.location-selector:hover{border-color:var(--accent-color);background:linear-gradient(135deg,#2a2a2a,var(--surface-color));box-shadow:0 0 10px #d4af374d}.dropdown-arrow{font-size:.8rem;color:var(--text-secondary)}.header-right{display:flex;align-items:center;gap:1.5rem}.header-icons{display:flex;align-items:center;gap:1rem}.grid-icon,.settings-icon{font-size:1.2rem;cursor:pointer;padding:.5rem;border-radius:var(--border-radius);transition:var(--transition);color:var(--text-secondary)}.grid-icon:hover,.settings-icon:hover{background-color:var(--background-color);color:var(--primary-color)}.notification-badge{position:relative;cursor:pointer;padding:.5rem;border-radius:var(--border-radius);transition:var(--transition)}.notification-badge:hover{background-color:var(--background-color)}.notification-icon{font-size:1.2rem;color:var(--text-secondary)}.badge{position:absolute;top:.2rem;right:.2rem;background-color:var(--primary-color);color:#fff;font-size:.7rem;font-weight:600;padding:.1rem .4rem;border-radius:10px;min-width:1.2rem;text-align:center}.logout-button{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;border:none;border-radius:var(--border-radius);padding:.5rem 1rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition);margin-left:.5rem;box-shadow:0 2px 8px #d4af374d}.logout-button:hover{background:linear-gradient(135deg,var(--accent-color),var(--primary-color));transform:translateY(-1px);box-shadow:0 4px 12px #d4af3766}.user-profile{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition)}.user-profile:hover{background-color:var(--background-color)}.user-avatar{font-size:1.2rem;color:var(--text-secondary)}.user-name{font-size:.9rem;color:var(--text-primary);font-weight:500}.search-container{position:relative;display:flex;align-items:center}.search-input{padding:.5rem 2.5rem .5rem 1rem;border:1px solid var(--border-color);border-radius:20px;background-color:var(--background-color);font-size:.9rem;width:200px;transition:var(--transition);color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--primary-color);background-color:var(--surface-color);box-shadow:0 0 0 3px #2563eb1a}.search-icon{position:absolute;right:.75rem;color:var(--text-secondary);pointer-events:none}@media (max-width: 1024px){.header{padding:.75rem 1rem}.header-center{margin:0 1rem}.search-input{width:150px}}@media (max-width: 768px){.header{flex-wrap:wrap;gap:1rem}.header-center{order:3;flex-basis:100%;margin:0;max-width:none}.location-selector{width:100%;justify-content:center}.header-icons{gap:.5rem}.user-name{display:none}.search-input{width:120px}}@media (max-width: 480px){.logo-text,.search-container{display:none}}.dashboard{padding:0 2rem 2rem;max-width:1400px;margin:0 auto}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:-1rem}.dashboard-card{background-color:var(--surface-color);border-radius:var(--border-radius);padding:2rem;box-shadow:var(--shadow-medium);transition:var(--transition);cursor:pointer;border:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;text-align:center;min-height:200px;justify-content:center;position:relative;overflow:hidden}.dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));transform:scaleX(0);transition:transform .3s ease}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border-color:var(--primary-color)}.dashboard-card:hover:before{transform:scaleX(1)}.card-icon{font-size:3.5rem;margin-bottom:1.5rem;color:var(--primary-color);display:flex;align-items:center;justify-content:center;width:90px;height:90px;background:linear-gradient(135deg,#d4af3733,#ffd7001a);border-radius:50%;margin:0 auto 1.5rem;transition:var(--transition);position:relative;border:2px solid rgba(212,175,55,.3)}.icon-image{width:50px;height:50px;object-fit:contain;filter:brightness(0) saturate(100%) invert(64%) sepia(98%) saturate(1000%) hue-rotate(25deg) brightness(95%) contrast(85%);transition:var(--transition)}.card-icon:before{content:"";position:absolute;inset:-2px;border-radius:50%;background:linear-gradient(45deg,var(--primary-color),var(--accent-color));opacity:0;transition:opacity .3s ease;z-index:-1}.dashboard-card:hover .card-icon{transform:scale(1.15) rotate(5deg);background:linear-gradient(135deg,#d4af3766,#ffd70033);box-shadow:0 0 25px #d4af3780;animation:iconPulse 1.5s infinite}.dashboard-card:hover .icon-image{filter:brightness(0) saturate(100%) invert(64%) sepia(98%) saturate(1200%) hue-rotate(25deg) brightness(110%) contrast(95%);transform:scale(1.1)}.dashboard-card:hover .card-icon:before{opacity:1}@keyframes iconPulse{0%,to{transform:scale(1.15) rotate(5deg)}50%{transform:scale(1.2) rotate(-2deg)}}.card-content{flex:1;display:flex;flex-direction:column;justify-content:center}.card-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;line-height:1.3;transition:var(--transition);text-shadow:0 1px 2px rgba(0,0,0,.5)}.dashboard-card:hover .card-title{color:var(--primary-color);text-shadow:0 0 10px rgba(212,175,55,.5)}.card-description{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin:0;transition:var(--transition)}.dashboard-card:hover .card-description{color:var(--text-primary)}.dashboard-card:nth-child(1) .card-icon{background:linear-gradient(135deg,#d4af3740,#ffd70026)}.dashboard-card:nth-child(2) .card-icon{background:linear-gradient(135deg,#b8941f40,#d4af3726)}.dashboard-card:nth-child(3) .card-icon{background:linear-gradient(135deg,#ffd70040,#ffdf0026)}.dashboard-card:nth-child(4) .card-icon{background:linear-gradient(135deg,#d4af374d,#b8941f33)}.dashboard-card:nth-child(5) .card-icon{background:linear-gradient(135deg,#ffd70033,#d4af3740)}.dashboard-card:nth-child(6) .card-icon{background:linear-gradient(135deg,#b8941f4d,#ffd70033)}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}}@media (max-width: 768px){.dashboard{padding:0 1rem 2rem}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.dashboard-card{padding:1.5rem;min-height:160px}.card-icon{font-size:2.5rem;width:60px;height:60px}.icon-image{width:35px;height:35px}.card-title{font-size:1.1rem}.card-description{font-size:.85rem}}@media (max-width: 480px){.dashboard-grid{grid-template-columns:1fr}.dashboard-card{padding:1.25rem;min-height:140px}.card-icon{font-size:2rem;width:50px;height:50px}.icon-image{width:30px;height:30px}.card-title{font-size:1rem}}.dashboard-card:active{transform:translateY(-2px)}.dashboard-card:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-reduced-motion: reduce){.dashboard-card,.card-icon,.dashboard-card:before{transition:none}.dashboard-card:hover,.dashboard-card:hover .card-icon{transform:none}.dashboard-card:hover .icon-image{transform:none;filter:brightness(0) saturate(100%) invert(64%) sepia(98%) saturate(1000%) hue-rotate(25deg) brightness(95%) contrast(85%)}}.personnel-container{padding:2rem;max-width:1400px;margin:0 auto;flex:1;overflow-y:auto;background-color:var(--background-color)}.api-status{display:flex;align-items:center;justify-content:flex-end;margin-bottom:1rem;padding:.5rem 1rem}.status-light{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.3);transition:all .3s ease}.status-light.online{background-color:#10b981;box-shadow:0 0 10px #10b98180}.status-light.offline{background-color:#ef4444;box-shadow:0 0 10px #ef444480}.status-light.checking{background-color:#f59e0b;box-shadow:0 0 10px #f59e0b80;animation:pulse 1.5s infinite}.retry-btn{background-color:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:14px}.retry-btn:hover{background-color:#0056b3}.personnel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.personnel-header h1{color:var(--text-primary);font-size:2rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.75rem}.header-buttons{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.upload-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:var(--transition)}.upload-btn:hover{background:linear-gradient(135deg,#20c997,#28a745);transform:translateY(-2px);box-shadow:0 4px 15px #28a7454d}.refresh-btn{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:var(--transition)}.refresh-btn:hover{background:linear-gradient(135deg,#0056b3,#007bff);transform:translateY(-2px);box-shadow:0 4px 15px #007bff4d}.search-input{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--surface-color);font-size:.9rem;width:250px;transition:var(--transition);color:var(--text-primary)}.modal{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow-medium);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.guard-form{padding:1.5rem}.checkbox-container{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.guards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.guard-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow-light);transition:var(--transition)}.guard-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium);border-color:var(--primary-color)}.guard-info h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.2rem;font-weight:600}.guard-info p{margin:.5rem 0;color:var(--text-primary);line-height:1.4}.guard-info p strong{color:var(--text-primary);font-weight:600}.guard-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.personnel-table-container{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;margin-top:1rem}.personnel-table th{padding:1rem;text-align:left;color:#000;font-weight:600;font-size:.9rem;border-bottom:2px solid var(--border-color)}.personnel-table tbody tr:hover{background-color:#d4af371a;cursor:pointer}@media (max-width: 768px){.personnel-container{padding:1rem}.personnel-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column;gap:1rem}.search-input{width:100%}.guards-grid{grid-template-columns:1fr;gap:1rem}.guard-card{padding:1rem}.guard-actions{flex-direction:column}.modal{margin:1rem;max-width:none}.modal-header,.guard-form{padding:1rem}.form-actions{flex-direction:column}}@media (max-width: 480px){.personnel-header h1{font-size:1.5rem}.guard-info h3{font-size:1.1rem}.btn{padding:.6rem 1rem;font-size:.85rem}}@media (max-width: 480px){.personnel-table th,.personnel-table td{padding:.5rem .25rem;font-size:.75rem}}.guard-card{animation:fadeIn .3s ease-out}.upload-tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.tab{padding:1rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:500;color:var(--text-secondary);transition:var(--transition)}.tab:hover{color:var(--text-primary);background-color:var(--background-color)}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background-color:var(--background-color)}.upload-content{padding:0 1.5rem 1.5rem}.upload-section h3{margin:0 0 1.5rem;color:var(--text-primary);font-size:1.2rem;font-weight:600}.upload-btn{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);font-weight:600;cursor:pointer;margin-right:1rem;transition:var(--transition)}.documents-buttons{display:flex;gap:1rem;margin-bottom:1.5rem;justify-content:center}.doc-btn{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;border:none;padding:1rem 1.5rem;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:var(--transition);min-width:120px}.doc-btn:hover{background:linear-gradient(135deg,var(--accent-color),var(--primary-color));transform:translateY(-2px);box-shadow:0 4px 15px #d4af3780}.update-btn{background:linear-gradient(135deg,#ff6b35,#f7931e)!important}.update-btn:hover{background:linear-gradient(135deg,#f7931e,#ff6b35)!important}.documents-list{margin-top:1.5rem}.documents-list h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem}.document-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:.5rem;background-color:var(--surface-color)}.document-item span{color:var(--text-primary);font-weight:500}.download-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--border-radius);font-size:.8rem;cursor:pointer;transition:var(--transition)}.download-btn:hover{background:linear-gradient(135deg,#20c997,#28a745);transform:translateY(-1px)}.no-documents{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic}.upload-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-color),var(--primary-color));transform:translateY(-2px);box-shadow:0 4px 15px #d4af3780}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.reset-btn{background:var(--secondary-color);color:var(--text-primary);border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition)}.reset-btn:hover{background-color:var(--background-color)}.success-message{background:linear-gradient(135deg,#1a2a1a,#1a3a1a);border:1px solid #28a745;color:#6bff8b;padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem}.form-group input[type=file]{padding:.5rem;background-color:var(--background-color);border:1px dashed var(--border-color);cursor:pointer}.form-group input[type=file]:hover{border-color:var(--primary-color);background-color:var(--surface-color)}.form-group input[type=file]::file-selector-button{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;border:none;padding:.5rem 1rem;border-radius:var(--border-radius);font-weight:600;cursor:pointer;margin-right:1rem;transition:var(--transition)}.form-group input[type=file]::file-selector-button:hover{background:linear-gradient(135deg,var(--accent-color),var(--primary-color))}.sites-container{padding:2rem;max-width:1400px;margin:0 auto;background-color:var(--background-color);min-height:100%}.sites-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.sites-header h1{color:var(--text-primary);font-size:2rem;font-weight:600;margin:0}.search-input{padding:.75rem 1rem;border:1px solid var(--primary-color);border-radius:var(--border-radius);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);font-size:.9rem;width:250px;min-height:48px;transition:var(--transition);color:var(--text-primary);box-sizing:border-box;display:flex;align-items:center}.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:var(--transition);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;box-sizing:border-box;white-space:nowrap}.btn-danger:disabled{background:linear-gradient(135deg,#fca5a5,#f87171);cursor:not-allowed;opacity:.6;transform:none}.site-form{padding:1.5rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--surface-color);font-size:.9rem;transition:var(--transition);color:var(--text-primary);font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af371a}.checkbox-group{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.checkbox-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}.geo-fence-info{margin:1.5rem 0;padding:1rem;background:#d4af370d;border-radius:var(--border-radius);border:1px solid rgba(212,175,55,.2)}.geo-fence-info h4{margin:0 0 1rem;color:var(--primary-color);font-size:1rem;font-weight:600}.geo-fence-display,.fence-display{display:flex;flex-direction:column;gap:.5rem}.fence-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#0003;border-radius:4px}.fence-label{font-weight:600;color:var(--text-primary);font-size:.9rem}.fence-coords{font-family:Courier New,monospace;color:var(--text-secondary);font-size:.85rem}.fence-description{color:var(--text-secondary);font-size:.85rem;font-style:italic}.sites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.site-card{background:linear-gradient(145deg,#1a1a1a,#252525)!important;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;box-shadow:var(--shadow-light);transition:var(--transition);animation:fadeIn .3s ease-out}.site-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-gold);border-color:var(--primary-color);background:linear-gradient(145deg,#1a1a1a,#2a2a2a)!important}.site-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.site-status{display:flex;align-items:center;gap:.5rem}.status-icon{font-size:1.2rem}.status-text{font-weight:600;font-size:.9rem;letter-spacing:.5px}.site-actions{display:flex;gap:.5rem}.site-info h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.3}.site-address{margin:0 0 .75rem;color:var(--text-secondary);font-size:.85rem;line-height:1.3;opacity:.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.location-info{margin:.75rem 0}.location-item{display:flex;justify-content:space-between;align-items:center;margin:.25rem 0;padding:.4rem;background:#d4af370d;border-radius:4px;border-left:3px solid var(--primary-color)}.location-item strong{color:var(--text-primary);font-weight:600;font-size:.8rem}.location-item span{color:var(--text-secondary);font-family:Courier New,monospace;font-size:.75rem}.guards-info{display:flex;justify-content:space-between;align-items:center;margin:.75rem 0;padding:.5rem;background:#d4af371a;border-radius:var(--border-radius);border:1px solid rgba(212,175,55,.3)}.guards-info strong{color:var(--text-primary);font-weight:600}.guards-count{background:var(--primary-color);color:#000;padding:.2rem .6rem;border-radius:20px;font-weight:700;font-size:.8rem}.date-info{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.date-info small{color:var(--text-secondary);font-size:.75rem}@media (max-width: 768px){.sites-container{padding:1rem}.sites-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column;gap:1rem}.search-input{width:100%}.sites-grid{grid-template-columns:1fr;gap:1rem}.site-card{padding:1rem}.site-header{flex-direction:column;align-items:stretch;gap:1rem}.site-actions{justify-content:center}.location-item{flex-direction:column;align-items:flex-start;gap:.25rem}.modal{margin:1rem;max-width:none}.modal-header,.site-form{padding:1rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}}@media (max-width: 480px){.sites-header h1{font-size:1.5rem}.site-info h3{font-size:1rem}.btn{padding:.6rem 1rem;font-size:.85rem}}.contact-detail-group,.equipment-group,.gps-location-group{margin-bottom:1.5rem;padding:1rem;background:#d4af370d;border-radius:var(--border-radius);border:1px solid rgba(212,175,55,.2)}.contact-detail-group:last-child,.equipment-group:last-child,.gps-location-group:last-child{margin-bottom:1rem}.gps-location-group{background:#d4af3714;border-left:3px solid var(--primary-color)}@media (max-width: 768px){.contact-detail-group,.equipment-group{padding:.75rem}.contact-detail-group .form-row,.equipment-group .form-row{grid-template-columns:1fr}}.modal *{color:var(--text-primary)!important}.modal input::placeholder,.modal textarea::placeholder{color:var(--text-secondary)!important}.modal label,.modal h2,.modal h4,.modal strong,.modal span{color:var(--text-primary)!important}.modal input,.modal textarea,.modal select{color:var(--text-primary)!important;background-color:var(--surface-color)!important}.modal input:focus,.modal textarea:focus,.modal select:focus{color:var(--text-primary)!important;background-color:var(--surface-color)!important}.admin-container{padding:2rem;max-width:1400px;margin:0 auto;flex:1;overflow-y:auto;background-color:var(--background-color)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.admin-header h1{color:var(--text-primary);font-size:2rem;font-weight:600;margin:0;text-shadow:0 0 10px rgba(212,175,55,.3);display:flex;align-items:center;gap:.75rem}.header-icon{width:32px;height:32px;object-fit:contain;filter:brightness(0) saturate(100%) invert(64%) sepia(98%) saturate(1000%) hue-rotate(25deg) brightness(95%) contrast(85%)}.search-input:focus{outline:none;border-color:var(--accent-color);background:linear-gradient(135deg,#2a2a2a,var(--surface-color));box-shadow:0 0 0 3px #d4af3733}.access-denied{display:flex;align-items:center;justify-content:center;min-height:60vh}.access-denied-content{text-align:center;padding:3rem;background:linear-gradient(145deg,var(--surface-color),#252525);border-radius:var(--border-radius);border:2px solid #dc2626;box-shadow:var(--shadow-medium)}.access-denied-content h1{color:#dc2626;font-size:2.5rem;margin-bottom:1rem;text-shadow:0 0 10px rgba(220,38,38,.3)}.access-denied-content p{color:var(--text-secondary);font-size:1.1rem;margin:.5rem 0}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px)}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn-warning:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.loading{text-align:center;padding:3rem;color:var(--text-secondary);font-size:1.1rem}.error-message{background:linear-gradient(135deg,#2a1a1a,#3a1a1a);border:1px solid #dc2626;color:#ff6b6b;padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.close-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;color:inherit;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow-medium);width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.user-form{padding:1.5rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--surface-color);font-size:.9rem;transition:var(--transition);color:var(--text-primary);font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af371a}.role-descriptions{margin:1.5rem 0;padding:1rem;background:#d4af370d;border-radius:var(--border-radius);border:1px solid rgba(212,175,55,.2)}.role-desc{margin:.5rem 0;color:var(--text-secondary);font-size:.9rem}.role-desc strong{color:var(--text-primary)}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.user-card{background:linear-gradient(145deg,var(--surface-color),#252525);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow-light);transition:var(--transition);animation:fadeIn .3s ease-out}.user-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-gold);border-color:var(--primary-color);background:linear-gradient(145deg,#252525,var(--surface-color))}.user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.user-role{display:flex;align-items:center;gap:.5rem}.role-icon{font-size:1.2rem}.role-text{font-weight:600;font-size:.9rem;letter-spacing:.5px}.user-status{display:flex;align-items:center}.status-indicator{font-size:.85rem;font-weight:500;padding:.25rem .5rem;border-radius:12px;background:#0000004d}.status-indicator.active{color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-indicator.inactive{color:#ef4444;border:1px solid rgba(239,68,68,.3)}.user-info h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.2rem;font-weight:600}.user-info p{margin:.5rem 0;color:var(--text-primary);line-height:1.4}.user-info p strong{color:var(--text-primary);font-weight:600}.date-info{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.date-info small{color:var(--text-secondary);font-size:.8rem}.user-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color);flex-wrap:wrap}.no-data{text-align:center;padding:3rem;color:var(--text-secondary);font-size:1.1rem;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius)}@media (max-width: 768px){.admin-container{padding:1rem}.admin-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column;gap:1rem}.search-input{width:100%}.users-grid{grid-template-columns:1fr;gap:1rem}.user-card{padding:1rem}.user-header{flex-direction:column;align-items:stretch;gap:1rem}.user-actions{flex-direction:column}.modal{margin:1rem;max-width:none}.modal-header,.user-form{padding:1rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}}@media (max-width: 480px){.admin-header h1{font-size:1.5rem}.user-info h3{font-size:1.1rem}.btn{padding:.6rem 1rem;font-size:.85rem}}.role-display{display:flex;align-items:center}.role-badge{padding:4px 12px;border-radius:20px;color:#fff;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-badge{padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase}.status-badge.active{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-badge.inactive{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.user-name{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.user-email,.user-contact{color:var(--text-secondary);margin-bottom:.25rem}.user-meta{color:var(--text-secondary);font-size:.8rem;margin-top:.5rem}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-image{width:64px;height:64px;object-fit:contain;filter:brightness(0) saturate(100%) invert(64%) sepia(98%) saturate(1000%) hue-rotate(25deg) brightness(95%) contrast(85%);opacity:.6}.modal{animation:fadeIn .2s ease-out}.dashboard-page-container{padding:2rem;max-width:1400px;margin:0 auto;background-color:var(--background-color);min-height:100%}.dashboard-page-header{text-align:center;margin-bottom:3rem}.dashboard-page-header h1{color:var(--text-primary);font-size:2.5rem;font-weight:600;margin:0 0 1rem;text-shadow:0 0 10px rgba(212,175,55,.3)}.dashboard-subtitle{color:var(--text-secondary);font-size:1.2rem;margin:0;opacity:.9}.sites-grid-container{background:linear-gradient(145deg,var(--surface-color),#252525);border-radius:var(--border-radius);box-shadow:var(--shadow-gold);border:2px solid var(--primary-color);overflow:hidden;margin-bottom:2rem}.sites-grid-header{display:grid;grid-template-columns:2fr 1fr 1fr;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));padding:0}.grid-header-cell{padding:1rem 1.5rem;font-weight:700;font-size:1.1rem;color:var(--background-color);text-align:center;border-right:1px solid rgba(0,0,0,.2)}.grid-header-cell:last-child{border-right:none}.sites-grid{display:flex;flex-direction:column}.site-grid-row{display:grid;grid-template-columns:2fr 1fr 1fr;border-bottom:1px solid var(--border-color);transition:var(--transition);animation:fadeInUp .6s ease-out}.site-grid-row:hover{background:#d4af370d}.site-grid-row:last-child{border-bottom:none}.site-name-cell,.guards-count-cell,.status-cell{padding:1.25rem 1.5rem;display:flex;align-items:center;border-right:1px solid var(--border-color)}.status-cell{border-right:none;justify-content:center}.site-name-cell{gap:.75rem}.guards-count-cell{justify-content:center;gap:.5rem}.site-icon{font-size:1.2rem;opacity:.8}.site-info{display:flex;flex-direction:column;gap:.25rem}.site-name{color:var(--text-primary);font-weight:500;font-size:1rem}.site-status-badge{font-size:.75rem;color:var(--text-secondary);opacity:.8}.guards-icon{font-size:1rem;opacity:.7}.guards-info{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.guards-count-display{display:flex;align-items:center;gap:.5rem}.guards-count{color:var(--text-primary);font-weight:600;font-size:1.1rem}.guards-required{font-size:.75rem;color:var(--text-secondary);opacity:.8}.guards-dropdown{width:100%}.guards-select{width:100%;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--surface-color);color:var(--text-primary);font-size:.75rem;cursor:pointer}.guards-select:focus{outline:none;border-color:var(--primary-color)}.site-badges{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.25rem}.proximity-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:.125rem .5rem;border-radius:10px;width:fit-content}.proximity-badge.proximity-green{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.proximity-badge.proximity-orange{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.proximity-badge.proximity-red{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.proximity-badge.proximity-unknown{background:#6b72801a;color:#6b7280;border:1px solid rgba(107,114,128,.3)}.last-check{font-size:.65rem;color:var(--text-secondary);opacity:.8}.status-indicator{width:20px;height:20px;border-radius:50%;box-shadow:0 0 10px #0000004d;animation:statusPulse 2s ease-in-out infinite}.status-green{background:linear-gradient(135deg,#4ade80,#22c55e);box-shadow:0 0 15px #22c55e66}.status-orange{background:linear-gradient(135deg,#fb923c,#f97316);box-shadow:0 0 15px #f9731666}.status-red{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 0 15px #ef444466}@keyframes statusPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.dashboard-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.summary-card{background:linear-gradient(145deg,var(--surface-color),#252525);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow-gold);border:2px solid var(--primary-color);display:flex;align-items:center;gap:1rem;transition:var(--transition);animation:fadeInUp .8s ease-out}.summary-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #d4af374d}.summary-icon{font-size:2rem;min-width:3rem;text-align:center}.summary-content{flex:1}.summary-count{color:var(--primary-color);font-size:2rem;font-weight:700;line-height:1;text-shadow:0 0 10px rgba(212,175,55,.3)}.summary-label{color:var(--text-secondary);font-size:.9rem;margin-top:.25rem;font-weight:500}.loading-container,.error-container,.no-data-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.loading-spinner{font-size:3rem;animation:spin 2s linear infinite;margin-bottom:1rem}.error-message,.no-data-message{background:linear-gradient(145deg,var(--surface-color),#252525);border-radius:var(--border-radius);padding:2rem;box-shadow:var(--shadow-gold);border:2px solid var(--primary-color);max-width:500px}.error-message h3,.no-data-message h3{color:var(--primary-color);margin-bottom:1rem;font-size:1.5rem}.error-message p,.no-data-message p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.retry-btn,.refresh-btn{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:var(--background-color);border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:var(--transition)}.retry-btn:hover,.refresh-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #d4af3766}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.site-grid-row:nth-child(1){animation-delay:.1s}.site-grid-row:nth-child(2){animation-delay:.15s}.site-grid-row:nth-child(3){animation-delay:.2s}.site-grid-row:nth-child(4){animation-delay:.25s}.site-grid-row:nth-child(5){animation-delay:.3s}.site-grid-row:nth-child(6){animation-delay:.35s}.site-grid-row:nth-child(7){animation-delay:.4s}.site-grid-row:nth-child(8){animation-delay:.45s}.site-grid-row:nth-child(9){animation-delay:.5s}.site-grid-row:nth-child(10){animation-delay:.55s}.site-grid-row:nth-child(11){animation-delay:.6s}.site-grid-row:nth-child(12){animation-delay:.65s}.summary-card:nth-child(1){animation-delay:.7s}.summary-card:nth-child(2){animation-delay:.8s}.summary-card:nth-child(3){animation-delay:.9s}.summary-card:nth-child(4){animation-delay:1s}@media (max-width: 768px){.dashboard-page-container{padding:1rem}.dashboard-page-header h1{font-size:2rem}.dashboard-subtitle{font-size:1rem}.sites-grid-header,.site-grid-row{grid-template-columns:2fr 1fr 80px}.grid-header-cell,.site-name-cell,.guards-count-cell,.status-cell{padding:1rem .75rem}.site-name{font-size:.9rem}.guards-count{font-size:1rem}.status-indicator{width:16px;height:16px}.dashboard-summary{grid-template-columns:repeat(2,1fr);gap:1rem}.summary-card{padding:1rem}.summary-icon{font-size:1.5rem;min-width:2rem}.summary-count{font-size:1.5rem}}@media (max-width: 480px){.dashboard-page-header h1{font-size:1.5rem}.sites-grid-header,.site-grid-row{grid-template-columns:1fr 60px 60px}.grid-header-cell{font-size:.9rem;padding:.75rem .5rem}.site-name-cell,.guards-count-cell,.status-cell{padding:.75rem .5rem}.site-name-cell{flex-direction:column;gap:.25rem;text-align:center}.site-name{font-size:.8rem}.guards-count{font-size:.9rem}.dashboard-summary{grid-template-columns:1fr}.summary-card{flex-direction:column;text-align:center;gap:.5rem}}.site-assignments-container{padding:2rem;max-width:1600px;margin:0 auto;flex:1;overflow-y:auto;background-color:var(--background-color)}.site-assignments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.site-assignments-header h1{color:var(--text-primary);font-size:2rem;font-weight:600;margin:0}.search-container{position:relative}.search-input{padding:.75rem 1rem;border:1px solid var(--primary-color);border-radius:var(--border-radius);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);font-size:.9rem;width:250px;transition:var(--transition);color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--accent-color);background:linear-gradient(135deg,#2a2a2a,var(--surface-color));box-shadow:0 0 0 3px #ffd7001a}.site-assignments-layout{display:grid;grid-template-columns:350px 1fr;gap:2rem;height:calc(100vh - 200px)}.sites-list{background:linear-gradient(135deg,var(--surface-color),#2a2a2a);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:1.5rem;overflow-y:auto}.sites-list h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.2rem;font-weight:600}.site-item{background:linear-gradient(135deg,#2a2a2a,var(--surface-color));border:1px solid rgba(255,215,0,.2);border-radius:var(--border-radius);padding:1rem;margin-bottom:.75rem;cursor:pointer;transition:var(--transition)}.site-item:hover{border-color:var(--accent-color);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);transform:translateY(-2px);box-shadow:0 4px 12px #ffd7001a}.site-item.selected{border-color:var(--accent-color);background:linear-gradient(135deg,var(--accent-color),#b8860b);color:var(--background-color)}.site-item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.site-item-header h4{margin:0;font-size:1rem;font-weight:600}.site-address{color:var(--text-secondary);font-size:.85rem;margin:0 0 .5rem;line-height:1.4}.site-item.selected .site-address{color:#000000b3}.site-stats{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-secondary)}.site-item.selected .site-stats{color:#000000b3}.site-details{background:linear-gradient(135deg,var(--surface-color),#2a2a2a);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:2rem;overflow-y:auto}.site-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.site-details-header h2{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600}.site-actions{display:flex;gap:.75rem}.site-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.info-card{background:linear-gradient(135deg,#2a2a2a,var(--surface-color));border:1px solid rgba(255,215,0,.2);border-radius:var(--border-radius);padding:1.5rem}.info-card h4{color:var(--accent-color);margin:0 0 1rem;font-size:1.1rem;font-weight:600}.info-card p{color:var(--text-primary);margin:.5rem 0;line-height:1.5}.info-card strong{color:var(--text-primary)}.shifts-section,.guards-section{margin-bottom:2rem}.shifts-section h3,.guards-section h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.3rem;font-weight:600}.shifts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.shift-card{background:linear-gradient(135deg,#2a2a2a,var(--surface-color));border:1px solid rgba(255,215,0,.2);border-radius:var(--border-radius);padding:1.25rem;transition:var(--transition)}.shift-card:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #ffd7001a}.shift-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.shift-header h4{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.shift-type{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.shift-type.d{background-color:#fbbf24;color:#92400e}.shift-type.n{background-color:#6366f1;color:#fff}.shift-type.split{background-color:#8b5cf6;color:#fff}.shift-card p{color:var(--text-primary);margin:.4rem 0;font-size:.9rem}.guards-list{display:flex;flex-direction:column;gap:1rem}.guard-card{background:linear-gradient(135deg,#2a2a2a,var(--surface-color));border:1px solid rgba(255,215,0,.2);border-radius:var(--border-radius);padding:1.5rem;transition:var(--transition)}.guard-card:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #ffd7001a}.guard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.guard-header h4{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.guard-id{color:var(--text-secondary);font-size:.85rem;margin:.25rem 0 0}.guard-actions{display:flex;align-items:center;gap:.75rem}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.guard-shifts h5{color:var(--accent-color);margin:0 0 .75rem;font-size:1rem;font-weight:600}.assigned-shift{background:#ffd7000d;border:1px solid rgba(255,215,0,.2);border-radius:var(--border-radius);padding:1rem;margin-bottom:.75rem}.assigned-shift p{color:var(--text-primary);margin:.3rem 0;font-size:.9rem}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-secondary)}.no-selection h3{color:var(--text-primary);margin-bottom:.5rem}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:linear-gradient(135deg,var(--surface-color),#2a2a2a);border:1px solid var(--primary-color);border-radius:var(--border-radius);width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,215,0,.2)}.modal-header h2{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:600}.close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:var(--transition)}.close-btn:hover{color:var(--accent-color);background:#ffd7001a}.assignment-form,.shift-form{padding:1.5rem}.form-group label{display:block;color:var(--text-primary);font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--primary-color);border-radius:var(--border-radius);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary);font-size:.9rem;transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);background:linear-gradient(135deg,#2a2a2a,var(--surface-color));box-shadow:0 0 0 3px #ffd7001a}.form-group select option{background-color:var(--surface-color);color:var(--text-primary);padding:.5rem}.form-group select{background-color:var(--surface-color)!important;color:var(--text-primary)!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD700' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}select,select option{background-color:var(--surface-color)!important;color:var(--text-primary)!important}.days-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-top:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.9rem;cursor:pointer;padding:.5rem;border-radius:var(--border-radius);transition:var(--transition)}.checkbox-label:hover{background:#ffd7001a}.checkbox-label input[type=checkbox]{width:auto;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,215,0,.2)}.btn-primary:hover{background:linear-gradient(135deg,#b8860b,var(--accent-color));transform:translateY(-2px);box-shadow:0 4px 12px #ffd7004d}.btn-secondary{background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary);border:1px solid var(--primary-color)}.btn-secondary:hover{background:linear-gradient(135deg,#2a2a2a,var(--surface-color));border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #ffd7001a}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);font-size:1.1rem}.error-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;color:#dc2626;padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.success-message{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;color:#16a34a;padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.modal-body{padding:1.5rem}.modal-info{background:#ffd7001a;border:1px solid rgba(255,215,0,.2);border-radius:var(--border-radius);padding:1rem;margin-bottom:1.5rem;display:flex;gap:2rem}.modal-info p{color:var(--text-primary);margin:0;font-size:.9rem}.personnel-list{max-height:400px;overflow-y:auto;border:1px solid rgba(255,215,0,.2);border-radius:var(--border-radius);padding:.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#1a1a1a,var(--surface-color))}.personnel-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border:1px solid rgba(255,215,0,.2);border-radius:var(--border-radius);margin-bottom:.5rem;cursor:pointer;transition:var(--transition);background:linear-gradient(135deg,#2a2a2a,var(--surface-color))}.personnel-item:hover{border-color:var(--accent-color);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);transform:translate(4px)}.personnel-item.selected{border-color:var(--accent-color);background:linear-gradient(135deg,#ffd7001a,#ffd7000d)}.personnel-item input[type=checkbox]{width:auto;margin-top:.25rem;cursor:pointer}.personnel-info{flex:1}.personnel-info h4{color:var(--text-primary);margin:0 0 .25rem;font-size:1rem;font-weight:600}.personnel-info p{color:var(--text-secondary);margin:.25rem 0;font-size:.85rem}.personnel-info .position{color:var(--accent-color);font-weight:500}.personnel-info .department{color:var(--text-secondary);font-style:italic}.guard-position{color:var(--text-secondary);font-size:.85rem;margin:.25rem 0 0}.assignment-info{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,215,0,.2)}.assignment-info p{color:var(--text-primary);margin:.25rem 0;font-size:.85rem}.btn:disabled:hover{transform:none!important;box-shadow:none!important}.no-data{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);font-size:1.1rem;text-align:center;background:transparent}.personnel-list .no-data{background:linear-gradient(135deg,#1a1a1a,var(--surface-color));border-radius:var(--border-radius);padding:2rem}.status-icon{font-size:1rem}@media (max-width: 1200px){.site-assignments-layout{grid-template-columns:300px 1fr}}@media (max-width: 968px){.site-assignments-container{padding:1rem}.site-assignments-layout{grid-template-columns:1fr;height:auto}.sites-list{max-height:300px}.site-info-grid,.shifts-grid,.form-row{grid-template-columns:1fr}.days-checkboxes{grid-template-columns:repeat(2,1fr)}.modal{width:95%;margin:1rem}}@media (max-width: 640px){.site-assignments-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column;gap:.75rem}.search-input{width:100%}.site-details-header{flex-direction:column;align-items:stretch}.site-actions{justify-content:stretch}.site-actions .btn{flex:1;justify-content:center}.guard-header{flex-direction:column;align-items:stretch;gap:1rem}.guard-actions{justify-content:space-between}.form-actions{flex-direction:column}.days-checkboxes{grid-template-columns:1fr}}.system-health-container{padding:2rem;max-width:1400px;margin:0 auto;flex:1;overflow-y:auto;background-color:var(--background-color)}.system-health-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.system-health-header h1{color:var(--text-primary);font-size:2rem;font-weight:600;margin:0}.header-actions{display:flex;align-items:center;gap:1rem}.auto-refresh-toggle{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.9rem;cursor:pointer;padding:.5rem 1rem;border:1px solid var(--primary-color);border-radius:var(--border-radius);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);transition:var(--transition)}.auto-refresh-toggle:hover{border-color:var(--accent-color);background:linear-gradient(135deg,#2a2a2a,var(--surface-color))}.auto-refresh-toggle input[type=checkbox]{margin:0;cursor:pointer}.health-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem}.health-card{background:linear-gradient(135deg,var(--surface-color),#2a2a2a);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:1.5rem;transition:var(--transition)}.health-card:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #ffd7001a}.health-card.main-status{grid-column:1 / -1;background:linear-gradient(135deg,#2a2a2a,var(--surface-color));border:2px solid var(--accent-color)}.health-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}.health-card-header h2,.health-card-header h3{color:var(--text-primary);margin:0;font-weight:600}.health-card-header h2{font-size:1.3rem;display:flex;align-items:center;gap:.5rem}.header-icon{width:24px;height:24px;object-fit:contain;filter:brightness(0) saturate(100%) invert(64%) sepia(98%) saturate(1000%) hue-rotate(25deg) brightness(95%) contrast(85%)}.health-card-header h3{font-size:1.1rem}.last-checked{color:var(--text-secondary);font-size:.85rem;font-weight:400}.health-status-display{display:flex;align-items:center;justify-content:center;min-height:120px}.loading-status{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,215,0,.2);border-top:3px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}.status-content{text-align:center;width:100%}.status-indicator{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.status-icon{font-size:2rem}.status-text{font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.status-message{color:var(--text-primary);font-size:1.1rem;margin:0 0 1.5rem;line-height:1.5}.status-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#ffd7000d;border:1px solid rgba(255,215,0,.2);border-radius:var(--border-radius)}.detail-item strong{color:var(--text-primary)}.detail-item span:last-child{color:var(--accent-color);font-weight:600}.response-time{color:#10b981!important}.no-status{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-secondary)}.no-status-icon{font-size:2rem}.system-info-content{display:flex;flex-direction:column;gap:1rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#ffd7000d;border:1px solid rgba(255,215,0,.2);border-radius:var(--border-radius)}.info-label{color:var(--text-primary);font-weight:600}.info-value{color:var(--accent-color);font-weight:500;word-break:break-all}.endpoints-content{display:flex;flex-direction:column;gap:.75rem}.endpoint-item{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:.75rem;background:#ffd7000d;border:1px solid rgba(255,215,0,.2);border-radius:var(--border-radius);transition:var(--transition)}.endpoint-item:hover{background:#ffd70014;border-color:#ffd7004d}.endpoint-status{font-size:1.2rem;flex-shrink:0}.endpoint-status.healthy{color:#10b981}.endpoint-status.unhealthy{color:#ef4444}.endpoint-status.unknown{color:#6b7280}.endpoint-details{display:flex;flex-direction:column;gap:.25rem;min-width:0}.endpoint-name{color:var(--text-primary);font-weight:600;font-size:.95rem}.endpoint-description{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.endpoint-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.25rem}.endpoint-url{color:var(--text-secondary);font-size:.75rem;font-family:Courier New,monospace;word-break:break-all;flex:1}.response-time{color:#10b981!important;font-size:.75rem;font-weight:600;background:#10b9811a;padding:.2rem .5rem;border-radius:12px;flex-shrink:0}.loading-endpoints{display:flex;align-items:center;justify-content:center;gap:1rem;padding:2rem;color:var(--text-secondary)}.no-services{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary);font-style:italic}.endpoints-note{color:var(--text-secondary);font-size:.85rem;margin:1rem 0 0;text-align:center;font-style:italic}.quick-actions-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.action-btn{padding:.75rem 1rem;border:1px solid var(--primary-color);border-radius:var(--border-radius);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.5rem}.action-btn:hover:not(:disabled){border-color:var(--accent-color);background:linear-gradient(135deg,#2a2a2a,var(--surface-color));transform:translateY(-2px);box-shadow:0 4px 12px #ffd7001a}.action-btn:disabled{opacity:.6;cursor:not-allowed}.health-history{background:linear-gradient(135deg,var(--surface-color),#2a2a2a);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:1.5rem}.health-history h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem;font-weight:600}.history-item{display:grid;grid-template-columns:auto auto 1fr;gap:1rem;align-items:center;padding:.75rem;background:#ffd7000d;border:1px solid rgba(255,215,0,.2);border-radius:var(--border-radius);margin-bottom:.75rem}.history-item.current{border-color:var(--accent-color);background:#ffd7001a}.history-time{color:var(--text-secondary);font-size:.85rem;font-family:Courier New,monospace}.history-status{font-weight:600;display:flex;align-items:center;gap:.5rem}.history-message{color:var(--text-primary);font-size:.9rem}.history-note{color:var(--text-secondary);font-size:.85rem;margin:1rem 0 0;text-align:center;font-style:italic}.error-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;color:#dc2626;padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem;display:flex;align-items:flex-start;gap:1rem}.error-icon{font-size:1.5rem;flex-shrink:0}.error-content{flex:1}.error-content h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.error-content p{margin:0;line-height:1.5}.close-btn{background:none;border:none;color:#dc2626;font-size:1.5rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:var(--transition);flex-shrink:0}.close-btn:hover{background:#dc26261a}.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,var(--accent-color),#b8860b);color:var(--background-color)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#b8860b,var(--accent-color));transform:translateY(-2px);box-shadow:0 4px 12px #ffd7004d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 1200px){.health-status-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (max-width: 968px){.system-health-container{padding:1rem}.system-health-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column;gap:.75rem}.health-status-grid,.status-details,.quick-actions-content{grid-template-columns:1fr}.endpoint-item{grid-template-columns:auto 1fr;gap:.75rem}.endpoint-path{grid-column:1 / -1;margin-top:.25rem;padding-left:2rem}.history-item{grid-template-columns:1fr;gap:.5rem;text-align:left}}@media (max-width: 640px){.system-health-header h1{font-size:1.5rem}.health-card{padding:1rem}.health-card-header{flex-direction:column;align-items:stretch;gap:.75rem}.status-indicator{flex-direction:column;gap:.5rem}.status-text{font-size:1.2rem}.detail-item,.info-item{flex-direction:column;align-items:stretch;gap:.5rem}.auto-refresh-toggle{justify-content:center}}.hr-container{padding:2rem;max-width:1400px;margin:0 auto;flex:1;overflow-y:auto;background-color:var(--background-color, #0a0a0a);min-height:100vh;color:var(--text-primary, #ffffff)}.hr-header{margin-bottom:2rem;text-align:center}.hr-header h1{color:var(--text-primary);font-size:2.5rem;font-weight:600;margin:0 0 .5rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.hr-subtitle{color:var(--text-secondary);font-size:1.1rem;margin:0}.hr-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-number{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:.25rem}.hr-actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.hr-actions .history-btn{background:var(--secondary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.hr-actions .history-btn:hover{background:var(--secondary-hover);transform:translateY(-1px)}.hr-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.search-container{flex:1;min-width:250px}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.filter-container{display:flex;gap:1rem}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.personnel-table-container{background:linear-gradient(135deg,var(--surface-color),#252525);border:2px solid var(--primary-color);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-gold)}.personnel-table{width:100%;border-collapse:collapse}.personnel-table thead{background:linear-gradient(135deg,var(--primary-color),var(--accent-color))}.personnel-table th{padding:1rem;text-align:left;font-weight:600;color:#000;font-size:.9rem;border-bottom:1px solid var(--border-color)}.personnel-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem}.personnel-row{cursor:pointer;transition:var(--transition)}.personnel-row:hover{background-color:#d4af371a;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.personnel-table tbody tr:hover{background-color:#d4af371a}.personnel-table tbody tr:last-child td{border-bottom:none}.name-cell{font-weight:600}.person-name{color:var(--text-primary)}.grade-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600;text-align:center;min-width:40px}.grade-a{background-color:#10b981;color:#fff}.grade-b{background-color:#3b82f6;color:#fff}.grade-c{background-color:#f59e0b;color:#fff}.grade-d{background-color:#ef4444;color:#fff}.grade-none{background-color:#6b7280;color:#fff}.types-cell{font-size:.85rem;color:var(--text-secondary)}.rate-cell{font-weight:600;color:var(--primary-color)}.address-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-data{text-align:center;padding:3rem;color:var(--text-secondary, #cccccc);font-size:1.1rem;background-color:var(--surface-color, #1a1a1a);border:1px solid var(--border-color, #333333);border-radius:var(--border-radius, 8px);margin-top:2rem}.loading{text-align:center;padding:3rem;color:var(--text-primary, #ffffff);font-size:1.2rem;background-color:var(--surface-color, #1a1a1a);border:1px solid var(--border-color, #333333);border-radius:var(--border-radius, 8px);margin-top:2rem}.error-message{text-align:center;padding:3rem;color:#ef4444;font-size:1.1rem;background-color:var(--surface-color, #1a1a1a);border:1px solid #ef4444;border-radius:var(--border-radius, 8px);margin-top:2rem}.retry-btn{margin-top:1rem;padding:.75rem 1.5rem;background-color:var(--primary-color, #d4af37);color:#000;border:none;border-radius:var(--border-radius, 8px);cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease}.retry-btn:hover{background-color:var(--primary-dark, #b8941f);transform:translateY(-1px)}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background-color:#000;border-radius:var(--border-radius);box-shadow:var(--shadow-medium);width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.leave-modal{max-width:700px}.history-modal{max-width:900px;max-height:80vh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;color:var(--text-primary);font-size:1.5rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition)}.close-btn:hover{background-color:var(--border-color);color:var(--text-primary)}.leave-form{padding:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:#1a1a1a;font-size:.9rem;transition:var(--transition);color:#fff;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.leave-days-info{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;padding:1rem;border-radius:var(--border-radius);margin-bottom:1.5rem;text-align:center;font-size:1.1rem}.file-upload-container{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.file-input-hidden{display:none}.file-upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;border:none;border-radius:var(--border-radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none;box-shadow:0 2px 8px #d4af374d}.file-upload-button:hover{background:linear-gradient(135deg,var(--accent-color),var(--primary-color));transform:translateY(-2px);box-shadow:0 4px 15px #d4af3780}.file-upload-text{color:var(--text-secondary);font-size:.9rem;font-style:italic}.uploaded-files{margin-top:1rem;padding:1rem;background-color:#d4af371a;border-radius:var(--border-radius);border:1px solid var(--border-color)}.uploaded-files h4{margin:0 0 .5rem;color:var(--text-primary);font-size:.9rem}.file-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background-color:#1a1a1a;border:1px solid var(--border-color);border-radius:4px;margin-bottom:.5rem}.file-name{color:var(--text-primary);font-size:.85rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-btn{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1.2rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition)}.remove-file-btn:hover{background-color:#ef44441a}.checkbox-group{margin-bottom:1.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-primary);font-weight:400;margin-bottom:0!important}.checkbox-label input[type=checkbox]{width:auto;margin:0;cursor:pointer;accent-color:var(--primary-color)}.toggle-container{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.toggle-label{font-weight:500;color:var(--text-secondary);transition:color .3s ease}.toggle-label.active{color:var(--text-primary);font-weight:600}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#10b981;transition:.4s;border-radius:30px}.toggle-input:checked+.toggle-slider{background-color:#3b82f6}.disabled-select{background-color:#2a2a2a!important;color:#9ca3af!important;cursor:not-allowed!important;opacity:.6}.disabled-select:hover{border-color:var(--border-color)!important}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:var(--transition);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;font-weight:600;box-shadow:0 2px 8px #d4af374d}.history-btn{margin-left:1rem}.history-modal-content{padding:1.5rem;max-height:60vh;overflow-y:auto}.personnel-search-section h3{margin:0 0 1rem;color:var(--text-primary)}.personnel-search-results{max-height:400px;overflow-y:auto;margin-top:1rem}.personnel-search-item{padding:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:.5rem;cursor:pointer;transition:var(--transition);background-color:#1a1a1a}.personnel-search-item:hover{background-color:#d4af371a;border-color:var(--primary-color);transform:translateY(-1px)}.personnel-search-item h4{margin:0 0 .5rem;color:var(--text-primary);font-size:1.1rem}.personnel-search-item p{margin:0;color:var(--text-secondary);font-size:.9rem}.personnel-history-section{min-height:400px}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.selected-personnel-info h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.3rem}.selected-personnel-info p{margin:0;color:var(--text-secondary);font-size:.9rem}.history-timeline h4{margin:0 0 1.5rem;color:var(--text-primary);font-size:1.2rem}.history-records{display:flex;flex-direction:column;gap:1rem}.history-record{background-color:#1a1a1a;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;transition:var(--transition)}.history-record:hover{border-color:var(--primary-color);box-shadow:var(--shadow-light)}.history-record-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.history-type{display:flex;align-items:center;gap:.5rem}.history-icon{font-size:1.2rem}.history-category{font-weight:600;color:var(--text-primary);font-size:1rem}.history-date{color:var(--text-secondary);font-size:.9rem;font-weight:500}.history-record-body{margin-top:1rem}.history-description{margin:0 0 1rem;color:var(--text-primary);line-height:1.5}.history-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.history-status{font-weight:600;font-size:.85rem;padding:.25rem .5rem;border-radius:4px;background-color:#ffffff1a}.history-created-by{color:var(--text-secondary);font-size:.85rem;font-style:italic}.history-documentation{background-color:#d4af371a;padding:1rem;border-radius:var(--border-radius);border:1px solid var(--border-color)}.history-documentation strong{color:var(--text-primary);display:block;margin-bottom:.5rem}.history-documentation ul{margin:0;padding-left:1.5rem;color:var(--text-primary)}.history-documentation li{margin-bottom:.25rem;font-size:.9rem}.no-history{text-align:center;padding:3rem;color:var(--text-secondary)}.no-history p{font-size:1.1rem;margin:0}@media (max-width: 768px){.history-modal{max-width:95vw;margin:1rem}.history-header{flex-direction:column;align-items:stretch;gap:1rem}.history-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.history-btn{margin-left:0;margin-top:1rem}.filter-container{flex-direction:column;gap:1rem}}@media (max-width: 1200px){.personnel-table-container{overflow-x:auto}.personnel-table{min-width:1000px}}@media (max-width: 768px){.hr-container{padding:1rem}.hr-header h1{font-size:1.8rem;text-align:left}.hr-subtitle{text-align:left;font-size:1rem}.hr-stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:.75rem;flex-direction:column;text-align:center;gap:.5rem}.stat-icon{font-size:1.25rem;width:40px;height:40px;margin:0 auto}.stat-number{font-size:1.25rem}.stat-label{font-size:.8rem}.hr-actions{justify-content:flex-start;margin-bottom:1rem}.hr-filters{flex-direction:column;align-items:stretch;gap:.75rem}.search-container{min-width:auto}.filter-container{flex-direction:column;gap:.75rem}.filter-select{min-width:auto;width:100%}.personnel-table-container{border-radius:8px;overflow-x:auto}.personnel-table{min-width:800px}.personnel-table th,.personnel-table td{padding:.5rem;font-size:.8rem}.modal{margin:.5rem;max-height:95vh}.modal-header{padding:1rem}.modal-header h2{font-size:1.25rem}.modal-tabs{flex-wrap:wrap}.tab-button{padding:.75rem 1rem;font-size:.9rem}.form-row{grid-template-columns:1fr;gap:.75rem}.form-actions{flex-direction:column;gap:.5rem}.btn{width:100%;justify-content:center}}@media (max-width: 480px){.hr-stats{grid-template-columns:1fr}.stat-card{flex-direction:column;text-align:center;gap:.5rem}.personnel-table th,.personnel-table td{padding:.5rem .25rem;font-size:.75rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stat-card,.personnel-table-container{animation:fadeIn .3s ease-out}.document-modal{max-width:600px}.document-form{padding:1.5rem}.file-selected{margin-top:.5rem;padding:.5rem;background-color:#d4af371a;border-radius:4px;border:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem}.btn-small{padding:.5rem 1rem;font-size:.8rem}.btn-small:hover{transform:translateY(-1px)}.modal-tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.tab-button{padding:1rem 1.5rem;border:none;background:none;cursor:pointer;font-weight:500;color:var(--text-secondary);border-bottom:3px solid transparent;transition:var(--transition)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-button:hover{color:var(--text-primary);background-color:#d4af371a}.readonly-input{background-color:#2a2a2a!important;color:#ccc!important;cursor:not-allowed!important}.readonly-input:focus{border-color:var(--border-color)!important;box-shadow:none!important}.documents-section{margin-top:2rem;padding:1.5rem;background-color:#1a1a1a;border:1px solid var(--border-color);border-radius:var(--border-radius)}.documents-section h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.3rem}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.document-card{background-color:#1a1a1a;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;transition:var(--transition);box-shadow:var(--shadow-light)}.document-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.document-info h4{margin:0 0 .5rem;color:var(--text-primary);font-size:1rem}.document-info p{margin:0 0 .25rem;color:var(--text-secondary);font-size:.85rem}.document-info p:last-child{margin-bottom:1rem}.form-group input[type=file]{border:1px solid var(--border-color);padding:.5rem;background-color:#1a1a1a;border-radius:var(--border-radius)}.form-group input[type=file]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.filter-select,.form-group select,.form-group input,.form-group textarea{title:"Form input field"}.status-inactive{background-color:#6b7280;color:#fff}.status-on_leave{background-color:#f59e0b;color:#fff}.status-terminated{background-color:#ef4444;color:#fff}.forms-section{padding:1.5rem}.forms-section h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem}.forms-description{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.forms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.form-card{background:linear-gradient(135deg,var(--surface-color),#252525);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:var(--transition);box-shadow:var(--shadow-light)}.form-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium);border-color:var(--primary-color)}.form-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.form-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:50%;flex-shrink:0}.form-info{flex:1}.form-info h4{color:var(--text-primary);margin:0 0 .5rem;font-size:1.1rem}.form-info p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.4}.download-btn{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;border:none;padding:.75rem 1rem;border-radius:var(--border-radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 2px 8px #d4af374d}.download-btn:hover{background:linear-gradient(135deg,var(--accent-color),var(--primary-color));transform:translateY(-1px);box-shadow:0 4px 12px #d4af3766}@media (max-width: 768px){.forms-grid{grid-template-columns:1fr}.form-card{padding:1rem}.form-card-header{flex-direction:column;text-align:center;gap:.75rem}.download-btn{width:100%}}.reporting-container{padding:2rem;max-width:1400px;margin:0 auto;flex:1;overflow-y:auto;background-color:var(--background-color);min-height:100vh}.reporting-header{text-align:center;margin-bottom:2rem}.reporting-header h1{color:var(--text-primary);font-size:2.5rem;font-weight:600;margin:0 0 .5rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.reporting-subtitle{color:var(--text-secondary);font-size:1.1rem;margin:0}.report-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,var(--surface-color),#252525);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-light);flex-wrap:wrap;gap:1rem}.report-type-selector{display:flex;gap:.5rem}.report-type-btn{padding:.75rem 1.5rem;border:1px solid var(--primary-color);border-radius:var(--border-radius);background:transparent;color:var(--text-primary);font-weight:500;cursor:pointer;transition:var(--transition)}.report-type-btn:hover{background:#d4af371a;transform:translateY(-1px)}.report-type-btn.active{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;font-weight:600;box-shadow:0 2px 8px #d4af374d}.date-selector{display:flex;align-items:center;gap:.5rem}.date-selector label{color:var(--text-primary);font-weight:500}.date-input{padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--surface-color);color:var(--text-primary);font-size:.9rem;transition:var(--transition)}.download-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;border:none;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 2px 8px #d4af374d}.download-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-color),var(--primary-color));transform:translateY(-2px);box-shadow:0 4px 15px #d4af3780}.download-btn:disabled{opacity:.5;cursor:not-allowed}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(212,175,55,.3);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.report-content{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.report-summary{margin-bottom:2rem}.report-summary h2{color:var(--text-primary);font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:linear-gradient(135deg,var(--surface-color),#252525);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-light);transition:var(--transition)}.summary-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-gold);border-color:var(--primary-color)}.summary-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#d4af3733,#ffd7001a);border-radius:50%;border:2px solid rgba(212,175,55,.3)}.summary-content h3{color:var(--text-primary);font-size:.9rem;font-weight:500;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.summary-value{color:var(--text-primary);font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.summary-percentage{font-size:.9rem;font-weight:600}.detailed-metrics{margin-bottom:2rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.metric-section{background:linear-gradient(135deg,var(--surface-color),#252525);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow-light)}.metric-section h3{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.metric-items{display:flex;flex-direction:column;gap:.75rem}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.metric-label{color:var(--text-secondary);font-size:.9rem}.metric-value{color:var(--text-primary);font-weight:600;font-size:1rem}.report-footer{text-align:center;padding:2rem;border-top:1px solid var(--border-color);margin-top:2rem}.report-footer p{color:var(--text-secondary);font-size:.9rem;margin:.25rem 0}@media (max-width: 768px){.reporting-container{padding:1rem}.reporting-header h1{font-size:2rem}.report-controls{flex-direction:column;align-items:stretch}.report-type-selector{justify-content:center}.summary-grid,.metrics-grid{grid-template-columns:1fr}.summary-card{flex-direction:column;text-align:center}.summary-icon{margin-bottom:1rem}}@media (max-width: 480px){.reporting-header h1{font-size:1.5rem;flex-direction:column;gap:.5rem}.header-icon{width:32px;height:32px}.report-type-btn,.download-btn{padding:.5rem 1rem;font-size:.9rem}.summary-value{font-size:1.5rem}}@media print{.reporting-container{background:#fff;color:#000}.report-controls{display:none}.summary-card,.metric-section{background:#fff;border:1px solid #ccc;box-shadow:none}.summary-card:hover,.metric-section:hover{transform:none}}.gps-proximity-dashboard{padding:20px;max-width:1200px;margin:0 auto}.dashboard-header{text-align:center;margin-bottom:30px}.dashboard-header h1{color:#2c3e50;margin-bottom:10px;font-size:2.5rem}.header-subtitle{color:#7f8c8d;font-size:1.1rem;margin:0}.controls-section{display:flex;gap:20px;align-items:center;margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:5px}.control-group label{font-weight:600;color:#2c3e50}.control-group select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:200px}.button-group{display:flex;gap:10px;margin-left:auto}.btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background-color:#2980b9}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover{background-color:#7f8c8d}.btn-outline{background-color:transparent;border:2px solid #3498db;color:#3498db}.btn-outline:hover{background-color:#3498db;color:#fff}.btn-sm{padding:6px 12px;font-size:.9rem}.btn:disabled{background-color:#bdc3c7;cursor:not-allowed}.companies-section{margin-bottom:30px}.companies-section h3{color:#2c3e50;margin-bottom:20px;font-size:1.5rem}.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.company-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;align-items:center}.company-info{display:flex;flex-direction:column;gap:8px}.company-info h4{color:#2c3e50;margin:0;font-size:1.1rem}.status-badge{padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:600}.status-active{background-color:#d4edda;color:#155724}.status-inactive{background-color:#f8d7da;color:#721c24}.results-section{margin-bottom:30px}.results-section h3{color:#2c3e50;margin-bottom:20px;font-size:1.5rem}.results-summary{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px}.summary-item{display:flex;justify-content:space-between;margin-bottom:10px}.summary-item:last-child{margin-bottom:0}.summary-item .label{font-weight:600;color:#2c3e50}.summary-item .value{color:#7f8c8d}.detailed-results{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a}.company-result{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee}.company-result:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.company-result h5{color:#2c3e50;margin:0 0 10px;font-size:1.1rem}.result-stats{display:flex;gap:20px;margin-bottom:15px;font-size:.9rem;color:#7f8c8d}.updates-list{display:grid;gap:10px}.update-item{display:grid;grid-template-columns:1fr auto auto auto;gap:15px;padding:10px;background:#f8f9fa;border-radius:4px;align-items:center;font-size:.9rem}.site-name{font-weight:600;color:#2c3e50}.status-change{display:flex;gap:5px;align-items:center}.status-old,.status-new{font-weight:600;padding:2px 6px;border-radius:3px}.distance{color:#7f8c8d;font-family:monospace}.personnel{color:#6c757d;font-style:italic}.info-section{background:#f8f9fa;padding:20px;border-radius:8px;margin-top:30px}.info-section h3{color:#2c3e50;margin-bottom:15px;font-size:1.3rem}.status-rules{margin-bottom:15px}.status-rules h4{color:#2c3e50;margin-bottom:10px;font-size:1.1rem}.status-rules ul{list-style:none;padding:0;margin:0}.status-rules li{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:#7f8c8d}.status-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.status-dot.green{background-color:#28a745}.status-dot.orange{background-color:#ffc107}.status-dot.red{background-color:#dc3545}.schedule-info{color:#6c757d;font-size:.9rem;margin:0;padding:10px;background:#fff;border-radius:4px;border-left:4px solid #3498db}.loading{text-align:center;padding:40px;color:#7f8c8d;font-size:1.1rem}.no-data{text-align:center;padding:40px;color:#7f8c8d;font-style:italic}.error-message{background:#f8d7da;color:#721c24;padding:15px;border-radius:6px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.close-btn{background:none;border:none;color:#721c24;font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px}.close-btn:hover{color:#491217}@media (max-width: 768px){.controls-section{flex-direction:column;align-items:stretch}.button-group{margin-left:0;justify-content:center;flex-wrap:wrap}.companies-grid{grid-template-columns:1fr}.company-card{flex-direction:column;gap:15px;text-align:center}.update-item{grid-template-columns:1fr;gap:8px;text-align:center}.result-stats{flex-direction:column;gap:5px}}.payroll-management{padding:2rem;max-width:1400px;margin:0 auto;flex:1;overflow-y:auto;background-color:var(--background-color, #0a0a0a);min-height:100vh;color:var(--text-primary, #ffffff)}.management-header{text-align:center;margin-bottom:2rem}.management-header h1{color:var(--text-primary);margin-bottom:.5rem;font-size:2.5rem;font-weight:600}.header-subtitle{color:var(--text-secondary);font-size:1.1rem;margin:0 0 1.5rem}.mode-toggle-container{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1rem}.mode-toggle{display:flex;align-items:center;gap:1rem}.mode-label{font-weight:500;color:var(--text-secondary);transition:color .3s ease}.mode-label.active{color:var(--text-primary);font-weight:600}.toggle-switch{position:relative;display:inline-block;width:60px;height:30px;cursor:pointer}.toggle-input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#dc3545;transition:.4s;border-radius:30px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-input:checked+.toggle-slider{background-color:#28a745}.toggle-input:checked+.toggle-slider:before{transform:translate(30px)}.toggle-switch:hover .toggle-slider{box-shadow:0 0 8px #0000004d}.mode-indicator{text-align:center}.mode-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.mode-badge.test-mode{background-color:#28a745;color:#fff;box-shadow:0 2px 8px #28a7454d}.mode-badge.live-mode{background-color:#dc3545;color:#fff;box-shadow:0 2px 8px #dc35454d}.tab-navigation{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.tab-btn{padding:1rem 1.5rem;border:none;background:none;cursor:pointer;font-weight:500;color:var(--text-secondary);border-bottom:3px solid transparent;transition:var(--transition)}.tab-btn:hover{color:var(--text-primary);background-color:#d4af371a}.tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.section-header h3{color:var(--text-primary);margin:0;font-size:1.5rem}.section-header p{color:var(--text-secondary);margin:.5rem 0 0;font-size:.9rem}.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.company-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a;transition:transform .2s,box-shadow .2s}.company-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #00000026}.company-info h4{color:#2c3e50;margin:0 0 10px;font-size:1.2rem}.company-industry{color:#6c757d;font-weight:600;margin:0 0 8px;font-size:.9rem}.company-employees{color:#495057;margin:0 0 8px;font-size:.9rem}.company-address,.company-contact{color:#6c757d;margin:0 0 8px;font-size:.85rem;line-height:1.4}.company-meta{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:15px;border-top:1px solid #e9ecef}.registration-number{color:#6c757d;font-size:.8rem;font-family:monospace}.batch-section,.history-section,.records-section{display:flex;flex-direction:column;gap:2rem}.batch-form,.batch-info{background:linear-gradient(135deg,var(--surface-color),#252525);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow-light)}.batch-info h4{color:var(--text-primary);margin:0 0 1rem;font-size:1.3rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500}.date-input{padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:#1a1a1a;color:#fff;font-size:.9rem;transition:var(--transition)}.date-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af371a}.form-actions{display:flex;justify-content:center;margin-top:1rem}.status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.status-card{display:flex;align-items:center;gap:15px;padding:15px;background:#f8f9fa;border-radius:6px}.card-icon{font-size:2rem}.card-content h5{color:#6c757d;margin:0 0 5px;font-size:.9rem;font-weight:600}.card-content p{margin:0;color:#2c3e50;font-weight:600}.status-running{color:#28a745!important}.status-idle{color:#6c757d!important}.schedule-info{display:flex;flex-direction:column;gap:10px}.schedule-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#f8f9fa;border-radius:4px}.schedule-label{font-weight:600;color:#495057}.schedule-time{color:#6c757d;font-family:monospace}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.result-card{background:#f8f9fa;padding:15px;border-radius:6px;border-left:4px solid #6c757d}.result-card h5{color:#2c3e50;margin:0 0 10px;font-size:1rem}.result-stats{display:flex;flex-direction:column;gap:5px;font-size:.85rem}.result-stats span{color:#6c757d}.result-stats .status{font-weight:600;padding:2px 6px;border-radius:3px;display:inline-block;width:fit-content}.result-stats .status.success{background-color:#d4edda;color:#155724}.result-stats .status.error{background-color:#f8d7da;color:#721c24}.batch-info p{color:#6c757d;margin:0 0 15px;line-height:1.5}.batch-info ul{color:#6c757d;padding-left:20px;margin:0}.batch-info li{margin-bottom:8px;line-height:1.4}.batch-info code{background-color:#e9ecef;padding:2px 4px;border-radius:3px;font-family:monospace;font-size:.9rem}.loading{text-align:center;padding:3rem;color:var(--text-primary);font-size:1.2rem}.no-data{text-align:center;padding:3rem;color:var(--text-secondary);font-style:italic;background:linear-gradient(135deg,var(--surface-color),#252525);border:1px solid var(--border-color);border-radius:var(--border-radius)}.error-message{background:#dc3545;color:#fff;padding:1rem;border-radius:var(--border-radius);margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.success-message{background:#28a745;color:#fff;padding:1rem;border-radius:var(--border-radius);margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.close-btn{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px}.close-btn:hover{opacity:.8}.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:600;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;box-shadow:0 2px 8px #d4af374d}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-color),var(--primary-color));transform:translateY(-2px);box-shadow:0 4px 15px #d4af3780}.btn-secondary{background:linear-gradient(135deg,var(--secondary-color),#404040);color:var(--text-primary);border:1px solid var(--primary-color)}.btn-secondary:hover{background:linear-gradient(135deg,#404040,var(--secondary-color));transform:translateY(-1px);box-shadow:0 2px 10px #d4af374d}.btn:disabled{background-color:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600;text-align:center;min-width:60px}.status-completed{background-color:#10b981;color:#fff}.status-failed{background-color:#ef4444;color:#fff}.status-processing{background-color:#f59e0b;color:#fff}.history-table-container,.records-table-container{background:linear-gradient(135deg,var(--surface-color),#252525);border:2px solid var(--primary-color);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-gold)}.history-table,.records-table{width:100%;border-collapse:collapse}.history-table thead,.records-table thead{background:linear-gradient(135deg,var(--primary-color),var(--accent-color))}.history-table th,.records-table th{padding:1rem;text-align:left;font-weight:600;color:#000;font-size:.9rem;border-bottom:1px solid var(--border-color)}.history-table td,.records-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem}.history-table tbody tr:hover,.records-table tbody tr:hover{background-color:#d4af371a}.history-table tbody tr:last-child td,.records-table tbody tr:last-child td{border-bottom:none}.net-pay{font-weight:600;color:var(--primary-color)}.batch-info p{color:var(--text-secondary);margin:0 0 1rem;line-height:1.5}.batch-info ul{color:var(--text-secondary);padding-left:1.5rem;margin:0}.batch-info li{margin-bottom:.5rem;line-height:1.4}.batch-info code{background-color:#d4af371a;padding:.25rem .5rem;border-radius:3px;font-family:monospace;font-size:.9rem;color:var(--primary-color)}@media (max-width: 768px){.payroll-management{padding:1rem}.tab-navigation{flex-wrap:wrap}.section-header{flex-direction:column;align-items:stretch;text-align:center}.form-row{grid-template-columns:1fr}.history-table-container,.records-table-container{overflow-x:auto}.history-table,.records-table{min-width:800px}.history-table th,.history-table td,.records-table th,.records-table td{padding:.5rem;font-size:.8rem}}@media (max-width: 480px){.management-header h1{font-size:1.8rem}.tab-btn{padding:.75rem 1rem;font-size:.9rem}.btn{width:100%;justify-content:center}}.payroll-deductions-container{padding:2rem;max-width:1400px;margin:0 auto;flex:1;overflow-y:auto;background-color:var(--background-color, #0a0a0a);min-height:100vh;color:var(--text-primary, #ffffff)}.payroll-deductions-header{margin-bottom:2rem;text-align:center}.payroll-deductions-header h1{color:var(--text-primary);font-size:2.5rem;font-weight:600;margin:0 0 .5rem}.payroll-deductions-header .subtitle{color:var(--text-secondary);font-size:1.1rem;margin:0}.deductions-controls{display:flex;justify-content:flex-end;margin-bottom:2rem}.btn-secondary{padding:.75rem 1.5rem;background:var(--surface-color);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-secondary:hover{background:#252525;border-color:var(--primary-color)}.deductions-table-container{background:linear-gradient(135deg,var(--surface-color),#252525);border:2px solid var(--primary-color);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-gold);margin-bottom:2rem}.deductions-table{width:100%;border-collapse:collapse}.deductions-table thead{background:linear-gradient(135deg,var(--primary-color),var(--accent-color))}.deductions-table th{padding:1rem;text-align:left;font-weight:600;color:#000;font-size:.9rem;border-bottom:1px solid var(--border-color)}.deductions-table tbody tr{border-bottom:1px solid var(--border-color);transition:var(--transition)}.deductions-table tbody tr:hover{background-color:#d4af371a}.deductions-table tbody tr:last-child{border-bottom:none}.deductions-table td{padding:1rem;color:var(--text-primary);font-size:.9rem}.deduction-name{font-weight:600;color:var(--text-primary)}.deduction-value{font-weight:600;color:var(--primary-color);font-size:1rem}.type-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600;text-align:center}.type-percentage{background-color:#3b82f6;color:#fff}.type-fixed{background-color:#10b981;color:#fff}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600;text-align:center}.status-default{background-color:var(--primary-color);color:#000}.status-custom{background-color:#6b7280;color:#fff}.btn-action:hover{transform:scale(1.1)}.btn-action:disabled{opacity:.3;cursor:not-allowed}.btn-action:disabled:hover{transform:none;background:transparent}.btn-edit:hover{background-color:#d4af3733}.modal-content{background-color:#000;border:2px solid var(--primary-color);border-radius:var(--border-radius);box-shadow:var(--shadow-gold);max-width:500px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);background-color:var(--surface-color);display:flex;justify-content:flex-end;gap:1rem;border-radius:0 0 var(--border-radius) var(--border-radius)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500;font-size:.9rem}.form-input,.form-select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:#1a1a1a;font-size:.9rem;transition:var(--transition);color:#fff;font-family:inherit}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af371a}.form-input:disabled{opacity:.6;cursor:not-allowed;background-color:#0a0a0a}.form-input::placeholder{color:var(--text-secondary)}.info-message{background:linear-gradient(135deg,#3b82f633,#3b82f61a);border:1px solid #3b82f6;border-radius:var(--border-radius);padding:1rem;color:var(--text-primary);font-size:.9rem;margin-top:1rem}@media (max-width: 1024px){.deductions-table-container{overflow-x:auto}.deductions-table{min-width:700px}}@media (max-width: 768px){.payroll-deductions-container{padding:1rem}.stats-grid{grid-template-columns:1fr}.payroll-deductions-header h1{font-size:2rem}.modal-content{max-height:95vh}.modal-header h2{font-size:1.25rem}.modal-footer{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.timesheet-checkin{padding:20px;max-width:1400px;margin:0 auto;background-color:var(--background-color);min-height:100vh}.timesheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a,#1a1a1a);border:2px solid var(--primary-color);border-radius:var(--border-radius);box-shadow:var(--shadow-gold)}.timesheet-header h2{margin:0;font-size:24px;font-weight:600;color:var(--primary-color);text-shadow:0 2px 4px rgba(0,0,0,.5)}.add-row-btn{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#000;border:none;padding:10px 20px;border-radius:var(--border-radius);cursor:pointer;font-weight:700;transition:var(--transition);box-shadow:var(--shadow-medium);text-transform:uppercase;letter-spacing:.5px}.add-row-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4af3780;background:linear-gradient(135deg,var(--accent-color) 0%,var(--primary-color) 100%)}.timesheet-table-container{background:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow-gold);overflow:hidden;margin-bottom:20px;border:1px solid var(--primary-color)}.timesheet-table{width:100%;border-collapse:collapse;font-size:14px}.timesheet-table th{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);padding:12px;text-align:left;font-weight:600;color:var(--primary-color);border-bottom:2px solid var(--primary-color)}.timesheet-table td{padding:8px 12px;border-bottom:1px solid var(--border-color);vertical-align:middle;color:var(--text-primary)}.timesheet-table tr:hover{background-color:#d4af371a}.text-input,.date-input{width:100%;padding:8px;border:2px solid var(--border-color);border-radius:4px;font-size:14px;box-sizing:border-box;background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary);transition:var(--transition)}.text-input::placeholder,.date-input::placeholder{color:#666}.text-input:focus,.date-input:focus,.day-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af3733}.delete-btn{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:var(--transition)}.delete-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #dc354566;background:linear-gradient(135deg,#c82333,#bd2130)}.delete-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.timesheet-footer{display:flex;justify-content:space-between;align-items:center;padding:15px;background:var(--surface-color);border-radius:var(--border-radius);border:1px solid var(--primary-color);box-shadow:var(--shadow-medium)}.timesheet-footer p{margin:0;font-weight:600;color:var(--text-primary)}.time-inputs-container{display:flex;align-items:center;gap:8px}.time-select{min-width:80px;border:2px solid var(--border-color);border-radius:4px;background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary);padding:6px;transition:var(--transition)}.time-select:focus,.boolean-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af3733}.time-separator{color:var(--primary-color);font-weight:600}.save-btn{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#000;border:none;padding:12px 24px;border-radius:var(--border-radius);cursor:pointer;font-weight:700;font-size:16px;transition:var(--transition);box-shadow:var(--shadow-gold);text-transform:uppercase;letter-spacing:1px}.save-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4af3780;background:linear-gradient(135deg,var(--accent-color) 0%,var(--primary-color) 100%)}.boolean-select{min-width:80px;border:2px solid var(--border-color);border-radius:4px;background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary);padding:6px;transition:var(--transition)}.boolean-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af3733}@media (max-width: 1200px){.timesheet-table-container{overflow-x:auto}.timesheet-table{min-width:1000px}}@media (max-width: 768px){.timesheet-header,.timesheet-footer{flex-direction:column;gap:15px;text-align:center}.timesheet-table th,.timesheet-table td{padding:8px;font-size:12px}.text-input,.date-input{padding:6px;font-size:12px}}.illr-container{padding:20px;max-width:1200px;margin:0 auto;background-color:var(--background-color);min-height:100vh}.illr-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a,#1a1a1a);border:2px solid var(--primary-color);border-radius:var(--border-radius);box-shadow:var(--shadow-gold)}.illr-header h1{margin:0 0 10px;font-size:2rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--primary-color);text-shadow:0 2px 4px rgba(0,0,0,.5)}.header-icon{width:40px;height:40px;object-fit:contain;filter:brightness(0) saturate(100%) invert(64%) sepia(98%) saturate(1000%) hue-rotate(25deg) brightness(95%) contrast(85%)}.illr-subtitle{margin:0;font-size:1.1rem;color:var(--text-secondary)}.illr-content{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:20px}.illr-info{background:var(--surface-color);padding:25px;border-radius:var(--border-radius);border:1px solid var(--primary-color);box-shadow:var(--shadow-medium)}.illr-info h2{color:var(--primary-color);margin-bottom:15px;font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.illr-info p{color:var(--text-secondary);line-height:1.6;margin-bottom:20px}.illr-info strong{color:var(--primary-color)}.contact-info{background:#0a0a0a;padding:20px;border-radius:var(--border-radius);border:1px solid var(--border-color);margin-bottom:20px}.contact-info h3{color:var(--primary-color);margin-bottom:15px;font-size:1.2rem}.contact-info p{margin:8px 0;color:var(--text-secondary)}.pricing-info{background:linear-gradient(135deg,#2a2a1a,#1a1a0a);padding:20px;border-radius:var(--border-radius);border:1px solid var(--primary-color);margin-top:20px}.pricing-info h3{color:var(--accent-color);margin-bottom:15px;font-size:1.2rem}.pricing-info p{margin:8px 0;color:var(--primary-color);font-weight:500}.illr-form{background:var(--surface-color);padding:25px;border-radius:var(--border-radius);border:1px solid var(--primary-color);box-shadow:var(--shadow-gold)}.form-section h3{color:var(--primary-color);margin-bottom:20px;font-size:1.3rem;border-bottom:2px solid var(--primary-color);padding-bottom:10px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:14px;transition:var(--transition);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary)}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#f44}.error-message{color:#f66;font-size:12px;margin-top:5px;display:block}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group-table{margin-bottom:20px}.contact-table{width:100%;border-collapse:collapse;margin-top:10px;background:var(--surface-color)}.contact-table td{padding:12px;border:1px solid var(--border-color)}.contact-table .label-cell{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);font-weight:600;color:var(--primary-color);width:35%;vertical-align:top}.contact-table .input-cell{background:var(--surface-color);width:65%}.contact-table input[type=text],.contact-table input[type=tel],.contact-table input[type=email]{width:100%;padding:10px;border:2px solid var(--border-color);border-radius:4px;font-size:14px;transition:var(--transition);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary)}.contact-table input[type=text]::placeholder,.contact-table input[type=tel]::placeholder,.contact-table input[type=email]::placeholder{color:#666}.contact-table input[type=text]:focus,.contact-table input[type=tel]:focus,.contact-table input[type=email]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af3733}.contact-table input.error{border-color:#f44}.contact-table .error-message{color:#f66;font-size:12px;margin-top:5px;display:block}.submit-btn{width:100%;padding:15px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#000;border:none;border-radius:var(--border-radius);font-size:16px;font-weight:700;cursor:pointer;transition:var(--transition);margin-top:10px;text-transform:uppercase;letter-spacing:1px;box-shadow:var(--shadow-gold)}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #d4af3780;background:linear-gradient(135deg,var(--accent-color) 0%,var(--primary-color) 100%)}.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.submission-result{margin-top:20px;padding:15px;border-radius:var(--border-radius);text-align:center;border:2px solid}.submission-result.success{background-color:#228b2233;border-color:#228b22;color:#90ee90}.submission-result.error{background-color:#f443;border-color:#f44;color:#f66}.submission-result h4{margin:0 0 10px;font-size:1.1rem}.submission-result p{margin:5px 0}.total-cost{background:linear-gradient(135deg,#228b2233,#228b221a);padding:15px;border-radius:var(--border-radius);border:2px solid #228b22;margin:20px 0;text-align:center}.total-cost h4{margin:0;color:#90ee90;font-size:1.2rem}@media (max-width: 768px){.illr-content{grid-template-columns:1fr;gap:20px}.form-row{grid-template-columns:1fr;gap:0}.illr-header h1{font-size:1.5rem;flex-direction:column}.contact-table .label-cell,.contact-table .input-cell{width:100%;display:block}.contact-table tr{display:flex;flex-direction:column}}@media (max-width: 480px){.illr-container{padding:10px}.illr-header{padding:15px}.illr-header h1{font-size:1.2rem}.illr-subtitle{font-size:.9rem}}.asset-management-container{padding:20px;max-width:1400px;margin:0 auto;background-color:var(--background-color);min-height:100vh}.asset-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a,#1a1a1a);border:2px solid var(--primary-color);border-radius:var(--border-radius);box-shadow:var(--shadow-gold)}.asset-management-header h1{color:var(--primary-color);margin:0;font-size:2rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.5)}.filters-section{display:flex;gap:20px;margin-bottom:30px;align-items:center;flex-wrap:wrap}.search-container{flex:1;min-width:300px}.search-input{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:16px;transition:var(--transition);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary)}.filter-controls{display:flex;gap:15px}.filter-select{padding:10px 12px;border:2px solid var(--border-color);border-radius:var(--border-radius);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary);font-size:14px;min-width:150px;transition:var(--transition)}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af3733}.assets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-bottom:30px}.asset-card{background:var(--surface-color);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:20px;box-shadow:var(--shadow-medium);transition:var(--transition)}.asset-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-gold)}.asset-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.asset-header h3{margin:0;color:var(--primary-color);font-size:1.2rem;font-weight:600}.asset-id{background:#d4af3733;color:var(--accent-color);padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:500;border:1px solid var(--primary-color)}.asset-details{margin-bottom:15px}.asset-details p{margin:8px 0;color:var(--text-secondary);font-size:.9rem}.asset-details strong{color:var(--text-primary);font-weight:600}.asset-status{display:flex;gap:10px;flex-wrap:wrap}.no-data{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:1.1rem;background:var(--surface-color);border-radius:var(--border-radius);border:2px dashed var(--border-color)}.asset-form{padding:24px}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:14px;transition:var(--transition);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary)}.form-group input::placeholder,.form-group textarea::placeholder{color:#666}.form-group textarea{resize:vertical;min-height:80px}@media (max-width: 768px){.asset-management-container{padding:15px}.asset-management-header{flex-direction:column;gap:15px;align-items:stretch}.filters-section{flex-direction:column;gap:15px}.filter-controls{flex-direction:column}.assets-grid,.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}}.asset-info{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:16px;margin-bottom:20px}.asset-info h3{margin:0 0 12px;color:var(--accent-color);font-size:1.1rem;font-weight:600}.asset-info p{margin:6px 0;color:var(--text-secondary);font-size:.9rem}.asset-info strong{color:var(--text-primary);font-weight:600}.firearms-control-container{padding:20px;max-width:1400px;margin:0 auto;background-color:var(--background-color);min-height:100vh}.firearms-control-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a,#1a1a1a);border:2px solid var(--primary-color);border-radius:var(--border-radius);box-shadow:var(--shadow-gold)}.firearms-control-header h1{color:var(--primary-color);margin:0;font-size:2rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.5)}.header-actions{display:flex;gap:12px}.tab-navigation{display:flex;gap:4px;margin-bottom:30px;background:var(--surface-color);padding:4px;border-radius:var(--border-radius);border:1px solid var(--border-color)}.tab-btn{flex:1;padding:12px 20px;border:none;background:transparent;color:var(--text-secondary);font-weight:600;border-radius:6px;cursor:pointer;transition:var(--transition);font-size:14px}.tab-btn.active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#000;box-shadow:var(--shadow-medium)}.tab-btn:hover:not(.active){color:var(--primary-color);background:#d4af371a}.search-container{margin-bottom:30px}.search-input{width:100%;max-width:400px;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:16px;transition:var(--transition);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary)}.search-input::placeholder{color:#666}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af3733}.firearms-grid,.ammunition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-bottom:30px}.firearm-card,.ammunition-card{background:var(--surface-color);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:20px;box-shadow:var(--shadow-medium);transition:var(--transition)}.firearm-card:hover,.ammunition-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-gold)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.card-header h3{margin:0;color:var(--primary-color);font-size:1.2rem;font-weight:600}.firearm-id,.ammunition-id{background:#d4af3733;color:var(--accent-color);padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:500;border:1px solid var(--primary-color)}.card-details{margin-bottom:15px}.card-details p{margin:8px 0;color:var(--text-secondary);font-size:.9rem}.card-details strong{color:var(--text-primary);font-weight:600}.card-status{display:flex;gap:10px;flex-wrap:wrap}.status-badge,.condition-badge{padding:4px 12px;border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.transactions-list{display:flex;flex-direction:column;gap:15px}.transaction-card{background:var(--surface-color);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:20px;box-shadow:var(--shadow-medium)}.transaction-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.transaction-header h3{margin:0;color:var(--primary-color);font-size:1.1rem;font-weight:600}.transaction-date{color:var(--text-secondary);font-size:.9rem;font-weight:500}.transaction-details p{margin:8px 0;color:var(--text-secondary);font-size:.9rem}.transaction-details strong{color:var(--text-primary);font-weight:600}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4af3780;background:linear-gradient(135deg,var(--accent-color) 0%,var(--primary-color) 100%)}.loading{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:1.1rem}.error-message{background:#dc354533;border:1px solid #dc3545;color:#f66;padding:12px 16px;border-radius:var(--border-radius);margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.close-btn{background:none;border:none;font-size:18px;cursor:pointer;color:inherit;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal{background:var(--surface-color);border-radius:var(--border-radius);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-gold);border:2px solid var(--primary-color)}.form{padding:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column;margin-bottom:20px}.form-group label{margin-bottom:6px;color:var(--text-primary);font-weight:600;font-size:.9rem}.form-group input,.form-group select{padding:10px 12px;border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:14px;transition:var(--transition);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af3733}.form-group textarea{padding:10px 12px;border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:14px;transition:var(--transition);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary);resize:vertical;min-height:80px;font-family:inherit}.form-group textarea::placeholder{color:#666}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color)}@media (max-width: 768px){.firearms-control-container{padding:15px}.firearms-control-header{flex-direction:column;gap:15px;align-items:stretch}.header-actions,.tab-navigation{flex-direction:column}.firearms-grid,.ammunition-grid,.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.card-header,.transaction-header{flex-direction:column;gap:10px;align-items:flex-start}}.card-actions{margin-top:15px;padding-top:15px;border-top:1px solid var(--border-color);display:flex;gap:10px;justify-content:center}.btn-sm{padding:8px 16px;font-size:.8rem}.firearm-info{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:16px;margin-bottom:20px}.firearm-info h3{margin:0 0 12px;color:var(--accent-color);font-size:1.1rem;font-weight:600}.firearm-info p{margin:6px 0;color:var(--text-secondary);font-size:.9rem}.firearm-info strong{color:var(--text-primary);font-weight:600}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:disabled:hover{transform:none!important}.subscriptions-page{padding:20px;max-width:1200px;margin:0 auto;background-color:var(--background-color);min-height:100vh}.subscriptions-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a,#1a1a1a);border:2px solid var(--primary-color);border-radius:var(--border-radius);box-shadow:var(--shadow-gold)}.subscriptions-header h1{color:var(--primary-color);margin-bottom:10px;font-size:2.5rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.page-subtitle{color:var(--text-secondary);font-size:1.1rem}.subscriptions-tabs{display:flex;justify-content:center;margin-bottom:30px;border-bottom:2px solid var(--border-color)}.tab-button{padding:12px 24px;border:none;background:none;font-size:1rem;cursor:pointer;border-bottom:3px solid transparent;transition:var(--transition);color:var(--text-secondary)}.tab-button:hover{color:var(--primary-color)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--primary-color)}.section-header h2{color:var(--primary-color);margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3)}.header-actions{display:flex;align-items:center;gap:20px}.total-amount{background:var(--surface-color);padding:8px 16px;border-radius:var(--border-radius);border:1px solid var(--primary-color)}.total-label{color:var(--text-secondary);font-weight:500}.total-value{color:var(--accent-color);font-weight:600;font-size:1.1rem}.add-button{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#000;border:none;padding:10px 20px;border-radius:var(--border-radius);cursor:pointer;font-size:.9rem;font-weight:700;transition:var(--transition);box-shadow:var(--shadow-medium);text-transform:uppercase;letter-spacing:.5px}.add-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4af3780;background:linear-gradient(135deg,var(--accent-color) 0%,var(--primary-color) 100%)}.form-overlay{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.form-container{background:var(--surface-color);padding:30px;border-radius:var(--border-radius);width:90%;max-width:600px;max-height:90vh;overflow-y:auto;border:2px solid var(--primary-color);box-shadow:var(--shadow-gold)}.form-container h3{margin-bottom:20px;color:var(--primary-color);text-shadow:0 2px 4px rgba(0,0,0,.3)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}.form-group.full-width{grid-column:1 / -1}.form-group label{margin-bottom:5px;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select{padding:8px 12px;border:2px solid var(--border-color);border-radius:4px;font-size:.9rem;background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary);transition:var(--transition)}.form-group input::placeholder{color:#666}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af3733}.form-group label input[type=checkbox]{margin-right:8px}.cancel-button{background:linear-gradient(135deg,#6c757d,#5a6268);color:#fff;border:none;padding:10px 20px;border-radius:var(--border-radius);cursor:pointer;font-weight:600;transition:var(--transition)}.save-button{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#000;border:none;padding:10px 20px;border-radius:var(--border-radius);cursor:pointer;font-weight:700;transition:var(--transition);box-shadow:var(--shadow-medium)}.cancel-button:hover{transform:translateY(-1px);background:linear-gradient(135deg,#5a6268,#545b62)}.save-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4af3780;background:linear-gradient(135deg,var(--accent-color) 0%,var(--primary-color) 100%)}.subscriptions-list,.suppliers-list{display:grid;gap:15px}.subscription-card,.supplier-card{background:var(--surface-color);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:20px;display:flex;justify-content:space-between;align-items:flex-start;box-shadow:var(--shadow-medium);transition:var(--transition)}.subscription-card:hover,.supplier-card:hover{box-shadow:var(--shadow-gold);transform:translateY(-2px)}.subscription-info,.supplier-info{flex:1}.subscription-header,.supplier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.subscription-header h4,.supplier-header h4{margin:0;color:var(--primary-color);font-size:1.2rem}.status-badge{padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.status-badge.active{background:#228b2233;color:#90ee90;border:1px solid #228b22}.status-badge.inactive{background:#dc354533;color:#f66;border:1px solid #dc3545}.company-name,.contact-person{color:var(--text-secondary);margin-bottom:10px}.subscription-details,.supplier-details{display:flex;gap:15px;flex-wrap:wrap}.subscription-details span,.supplier-details span{padding:4px 8px;background:#d4af371a;border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;color:var(--text-secondary)}.amount{background:#228b2233!important;color:#90ee90!important;border-color:#228b22!important;font-weight:600}.frequency{background:#d4af3733!important;color:var(--accent-color)!important;border-color:var(--primary-color)!important}.due-date{background:#ffc10733!important;color:#ffc107!important;border-color:#e0a800!important}.email{background:#d4af3733!important;color:var(--accent-color)!important;border-color:var(--primary-color)!important}.phone{background:#228b2233!important;color:#90ee90!important;border-color:#228b22!important}.services{background:#8a2be233!important;color:#ba55d3!important;border-color:#8a2be2!important}.subscription-actions,.supplier-actions{display:flex;gap:8px}.edit-button,.delete-button{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600;transition:var(--transition)}.edit-button{background:linear-gradient(135deg,#ffc107,#e0a800);color:#000}.delete-button{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.edit-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ffc10766;background:linear-gradient(135deg,#e0a800,#d39e00)}.delete-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #dc354566;background:linear-gradient(135deg,#c82333,#bd2130)}.empty-state{text-align:center;padding:40px;color:var(--text-secondary);background:var(--surface-color);border-radius:var(--border-radius);border:2px dashed var(--border-color)}.empty-state p{margin:0;font-size:1.1rem}@media (max-width: 768px){.subscriptions-page{padding:10px}.section-header{flex-direction:column;gap:15px;align-items:flex-start}.header-actions{width:100%;justify-content:space-between}.form-grid{grid-template-columns:1fr}.subscription-card,.supplier-card{flex-direction:column;gap:15px}.subscription-actions,.supplier-actions{width:100%;justify-content:flex-end}.subscription-details,.supplier-details{flex-direction:column;gap:8px}}.geo-fencing-page{padding:20px;max-width:1200px;margin:0 auto}.geo-fencing-header{text-align:center;margin-bottom:30px}.geo-fencing-header h1{color:#2c3e50;margin-bottom:10px;font-size:2.5rem}.page-subtitle{color:#7f8c8d;font-size:1.1rem}.geo-fencing-content,.sites-section{margin-bottom:30px}.sites-section h2{color:#2c3e50;margin-bottom:10px}.section-description{color:#6c757d;margin-bottom:20px;font-size:1rem}.sites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.site-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .3s ease}.site-card:hover{box-shadow:0 4px 8px #00000026}.site-info{margin-bottom:15px}.site-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.site-header h3{margin:0;color:#2c3e50;font-size:1.2rem;flex:1}.site-status{display:flex;gap:8px;align-items:center}.status-icon,.geo-fence-icon{font-size:1.2rem}.site-address{color:#6c757d;margin-bottom:10px;font-size:.9rem}.site-details{display:flex;flex-direction:column;gap:5px}.geo-fence-status{padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:500;width:fit-content}.geo-fence-status.active{background:#d4edda;color:#155724}.geo-fence-status.inactive{background:#f8d7da;color:#721c24}.coordinates{font-size:.8rem;color:#495057;background:#f8f9fa;padding:4px 8px;border-radius:4px;font-family:monospace}.site-actions{display:flex;gap:8px}.configure-button,.remove-button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background .3s ease}.configure-button{background:#3498db;color:#fff}.configure-button:hover{background:#2980b9}.remove-button{background:#dc3545;color:#fff}.remove-button:hover{background:#c82333}.form-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.form-container{background:#fff;padding:30px;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.form-container h3{margin-bottom:20px;color:#2c3e50;border-bottom:2px solid #ecf0f1;padding-bottom:10px}.form-section{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #ecf0f1}.form-section h4{margin-bottom:15px;color:#2c3e50;font-size:1.1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:5px;font-weight:500;color:#2c3e50;font-size:.9rem}.form-group input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:monospace}.form-group input:focus{outline:none;border-color:#3498db}.location-button,.auto-generate-button{background:#17a2b8;color:#fff;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;margin-bottom:10px;transition:background .3s ease}.location-button:hover,.auto-generate-button:hover{background:#138496}.location-button:disabled{background:#6c757d;cursor:not-allowed}.help-text{color:#6c757d;font-size:.8rem;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.cancel-button{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer}.save-button{background:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer}.cancel-button:hover{background:#5a6268}.save-button:hover{background:#218838}.geo-fencing-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:30px}.stat-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:0 2px 4px #0000001a}.stat-icon{font-size:2rem}.stat-count{font-size:2rem;font-weight:700;color:#2c3e50;margin-bottom:5px}.stat-label{color:#6c757d;font-size:.9rem}@media (max-width: 768px){.geo-fencing-page{padding:10px}.sites-grid,.form-row{grid-template-columns:1fr}.site-header{flex-direction:column;gap:10px}.site-actions{flex-direction:column}.geo-fencing-stats{grid-template-columns:1fr}.form-container{padding:20px}}@media (max-width: 480px){.geo-fencing-header h1{font-size:2rem}.site-card{padding:15px}.form-actions{flex-direction:column}.cancel-button,.save-button{width:100%}}.timesheets-container{padding:2rem;max-width:1800px;margin:0 auto}.timesheets-header{margin-bottom:2rem;text-align:center}.timesheets-header h1{color:var(--primary-color);margin-bottom:.5rem;font-size:2rem}.timesheets-subtitle{color:var(--text-secondary);font-size:1rem}.company-selector{background:var(--card-background);padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:1rem}.company-selector label{font-weight:600;color:var(--text-primary)}.connection-status{margin-left:auto;font-size:.875rem;font-weight:500;padding:.25rem .75rem;border-radius:12px}.connection-status.connected{color:#22c55e;background:#22c55e1a}.connection-status.disconnected{color:#ef4444;background:#ef44441a}.timesheets-controls{background:var(--card-background);padding:1.5rem;border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.filter-section-title{color:var(--primary-color);margin-bottom:1rem;font-size:1.1rem}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.search-input,.filter-select,.date-input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--input-background);color:var(--text-primary)}.search-input:focus,.filter-select:focus,.date-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af371a}.filter-actions{display:flex;gap:1rem;justify-content:flex-end}.search-btn,.clear-filters-btn{padding:.5rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.search-btn{background:var(--primary-color);color:#fff}.search-btn:hover{background:#c9a84a;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.clear-filters-btn{background:var(--secondary-color);color:#fff}.clear-filters-btn:hover{background:var(--secondary-hover)}.timesheets-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--card-background);padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:1rem;transition:transform .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#d4af371a;border-radius:8px}.stat-value{font-size:1.75rem;font-weight:700;color:var(--primary-color);line-height:1;margin-bottom:.25rem}.stat-percentage{font-size:.875rem;color:var(--text-secondary);margin-left:.5rem}.stat-label{font-size:.875rem;color:var(--text-secondary)}.export-controls{display:flex;gap:1rem;margin-bottom:1.5rem;justify-content:flex-end}.export-btn,.refresh-btn{padding:.5rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.export-btn{background:#22c55e;color:#fff}.export-btn:hover:not(:disabled){background:#16a34a;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.export-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.refresh-btn{background:var(--secondary-color);color:#fff}.refresh-btn:hover{background:var(--secondary-hover)}.error-message{background:#ef44441a;border:1px solid #ef4444;color:#ef4444;padding:1rem;border-radius:6px;margin-bottom:1.5rem}.excel-table-container{background:var(--card-background);border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;margin-bottom:1.5rem;border:1px solid var(--border-color)}.excel-table{width:100%;border-collapse:collapse;font-size:.875rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.excel-table thead{background:linear-gradient(to bottom,#f8f9fa,#e9ecef);position:sticky;top:0;z-index:10}.excel-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#1f2937;border:1px solid #d1d5db;white-space:nowrap;-webkit-user-select:none;user-select:none;background:linear-gradient(to bottom,#f8f9fa,#e9ecef)}.excel-table th.sortable{cursor:pointer;transition:background .2s}.excel-table th.sortable:hover{background:linear-gradient(to bottom,#e9ecef,#dee2e6)}.excel-table td{padding:.5rem 1rem;border:1px solid #e5e7eb;color:var(--text-primary);background:var(--card-background)}.excel-table tbody tr:hover{background:#d4af370d}.excel-table tbody tr.active-shift{background:#fbbf240d}.excel-table tbody tr.active-shift:hover{background:#fbbf241a}.cell-id{text-align:center;font-weight:500;color:var(--text-secondary);font-family:Courier New,monospace}.cell-date{font-family:Courier New,monospace;white-space:nowrap}.cell-text{white-space:nowrap}.cell-time{font-family:Courier New,monospace;text-align:center;white-space:nowrap}.cell-hours{text-align:right;font-weight:600;color:var(--primary-color);font-family:Courier New,monospace}.cell-status,.cell-flags{text-align:center}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-completed{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.status-active{background:#fbbf241a;color:#f59e0b;border:1px solid rgba(251,191,36,.3)}.flag-indicator{font-size:1.2rem;cursor:help;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));position:relative;display:inline-block;transition:transform .2s}.flag-indicator:hover{transform:scale(1.2)}.flag-indicator[title]:hover:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:.75rem 1rem;border-radius:6px;font-size:.875rem;white-space:pre-wrap;max-width:400px;width:max-content;z-index:1000;margin-bottom:.5rem;box-shadow:0 4px 12px #0000004d;line-height:1.4;text-align:left;font-family:Courier New,monospace}.flag-indicator[title]:hover:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#000000e6;z-index:1000}.pagination-controls{display:flex;justify-content:space-between;align-items:center;background:var(--card-background);padding:1rem 1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex-wrap:wrap;gap:1rem}.pagination-info{color:var(--text-secondary);font-size:.875rem}.pagination-buttons{display:flex;gap:.5rem;align-items:center}.pagination-btn{padding:.5rem 1rem;border:1px solid var(--border-color);background:var(--card-background);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.page-indicator{padding:.5rem 1rem;font-weight:600;color:var(--primary-color);font-size:.875rem}.loading-container,.no-data-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{font-size:3rem;animation:spin 1s linear infinite}.no-data-message{background:var(--card-background);padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.no-data-message h3{color:var(--primary-color);margin-bottom:.5rem}.no-data-message p{color:var(--text-secondary)}@media (max-width: 1200px){.timesheets-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (max-width: 768px){.timesheets-container{padding:1rem}.timesheets-header h1{font-size:1.5rem}.company-selector{flex-direction:column;align-items:stretch}.connection-status{margin-left:0}.filter-grid{grid-template-columns:1fr}.filter-actions{flex-direction:column}.search-btn,.clear-filters-btn{width:100%}.timesheets-stats{grid-template-columns:1fr}.export-controls{flex-direction:column}.export-btn,.refresh-btn{width:100%}.excel-table{font-size:.75rem}.excel-table th,.excel-table td{padding:.5rem}.pagination-controls{flex-direction:column;text-align:center}.pagination-buttons{flex-wrap:wrap;justify-content:center}}@media (max-width: 480px){.pagination-btn{padding:.4rem .6rem;font-size:.75rem}.stat-value{font-size:1.5rem}.stat-icon{width:50px;height:50px;font-size:1.5rem}}@media print{.timesheets-controls,.export-controls,.pagination-controls,.company-selector{display:none}.excel-table{border:1px solid #000}.excel-table th,.excel-table td{border:1px solid #000;padding:.25rem}.excel-table thead{background:#f0f0f0!important}}.roster-container{padding:20px;max-width:1400px;margin:0 auto;background-color:var(--background-color);min-height:100vh}.roster-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a,#1a1a1a);border:2px solid var(--primary-color);border-radius:var(--border-radius);box-shadow:var(--shadow-gold)}.roster-header h1{color:var(--primary-color);margin:0;font-size:2rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.5)}.btn{padding:10px 20px;border:none;border-radius:var(--border-radius);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#000;box-shadow:var(--shadow-medium)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #d4af3780;background:linear-gradient(135deg,var(--accent-color) 0%,var(--primary-color) 100%)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.btn-secondary:hover{transform:translateY(-1px);background:linear-gradient(135deg,#4b5563,#374151)}.btn-email{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:var(--shadow-medium)}.btn-email:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f680;background:linear-gradient(135deg,#2563eb,#1d4ed8)}.roster-content{background:var(--surface-color);padding:25px;border-radius:var(--border-radius);border:1px solid var(--primary-color);box-shadow:var(--shadow-medium)}.roster-table-container{overflow-x:auto}.roster-table{width:100%;border-collapse:collapse;font-size:14px}.roster-table thead{background:linear-gradient(135deg,#1a1a1a,#2a2a2a)}.roster-table th{padding:15px;text-align:left;font-weight:600;color:var(--primary-color);border-bottom:2px solid var(--primary-color);text-transform:uppercase;letter-spacing:.5px}.roster-table td{padding:15px;border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle}.roster-table tbody tr:hover{background-color:#d4af371a}.clickable-row{cursor:pointer;transition:var(--transition)}.clickable-row:hover{background-color:#d4af3726!important}.personnel-list{display:flex;flex-wrap:wrap;gap:8px}.personnel-badge{background:#d4af3733;color:var(--accent-color);padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:500;border:1px solid var(--primary-color)}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--surface-color);border-radius:var(--border-radius);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-gold);border:2px solid var(--primary-color)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid var(--primary-color);background:linear-gradient(135deg,#1a1a1a,#2a2a2a)}.modal-header h2{margin:0;color:var(--primary-color);font-size:1.5rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3)}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:var(--text-primary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.close-btn:hover{color:var(--primary-color)}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary)}.form-select{width:100%;padding:10px 12px;border:2px solid var(--border-color);border-radius:var(--border-radius);background:linear-gradient(135deg,var(--surface-color),#2a2a2a);color:var(--text-primary);font-size:14px;transition:var(--transition)}.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af3733}.personnel-checkboxes{display:flex;flex-direction:column;gap:10px;padding:15px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:var(--border-radius);border:1px solid var(--border-color)}.checkbox-label{display:flex;align-items:center;gap:10px;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.checkbox-label:hover{color:var(--primary-color)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.checkbox-label span{font-size:14px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;border-top:1px solid var(--border-color)}.schedule-modal{max-width:95vw;max-height:95vh}.schedule-legend{padding:12px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:var(--border-radius);border:1px solid var(--primary-color);margin-bottom:20px;display:flex;gap:15px;align-items:center;color:var(--text-secondary);font-size:14px}.schedule-legend strong{color:var(--primary-color)}.schedule-table-container{overflow-x:auto;overflow-y:auto;max-height:60vh}.schedule-table{width:100%;border-collapse:collapse;font-size:13px}.schedule-table thead{position:sticky;top:0;z-index:10;background:linear-gradient(135deg,#1a1a1a,#2a2a2a)}.schedule-table th{padding:10px 5px;text-align:center;font-weight:600;color:var(--primary-color);border:1px solid var(--border-color)}.schedule-table .personnel-column{position:sticky;left:0;z-index:11;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);min-width:150px;text-align:left;padding-left:15px}.schedule-table .day-column{min-width:45px;padding:5px}.day-header{display:flex;flex-direction:column;align-items:center;gap:2px}.day-label{font-size:11px;font-weight:700;color:var(--accent-color);text-transform:uppercase}.day-number{font-size:12px;color:var(--text-primary)}.schedule-table tbody tr{transition:var(--transition)}.schedule-table tbody tr:hover{background-color:#d4af370d}.schedule-table .personnel-name{position:sticky;left:0;z-index:5;background:var(--surface-color);font-weight:600;color:var(--text-primary);padding:12px 15px;border:1px solid var(--border-color)}.schedule-table tbody tr:hover .personnel-name{background-color:#d4af370d}.shift-cell{text-align:center;padding:8px 5px;border:1px solid var(--border-color);cursor:pointer;transition:var(--transition);background:var(--surface-color)}.shift-cell:hover{background-color:#d4af3733;border-color:var(--primary-color)}.shift-icon{font-size:20px;display:inline-block;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.roster-container{padding:15px}.roster-header{flex-direction:column;gap:15px;align-items:stretch}.roster-table{font-size:12px}.roster-table th,.roster-table td{padding:10px}.personnel-badge{font-size:.75rem;padding:3px 8px}.modal-content{max-width:100%}.schedule-modal{max-width:98vw}.schedule-table{font-size:11px}.schedule-table .personnel-column{min-width:120px}.schedule-table .day-column{min-width:35px}.shift-icon{font-size:16px}.schedule-legend{flex-direction:column;align-items:flex-start;gap:8px;font-size:12px}}.inspectors-container{padding:2rem;max-width:1400px;margin:0 auto;flex:1;overflow-y:auto;background-color:var(--background-color, #0a0a0a);min-height:100vh;color:var(--text-primary, #ffffff)}.inspectors-header{margin-bottom:2rem;text-align:center}.inspectors-header h1{color:var(--text-primary);font-size:2.5rem;font-weight:600;margin:0 0 .5rem}.inspectors-header .subtitle{color:var(--text-secondary);font-size:1.1rem;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,var(--surface-color),#252525);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-light);transition:var(--transition)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium);border-color:var(--primary-color);background:linear-gradient(135deg,#252525,var(--surface-color))}.stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:50%;flex-shrink:0}.stat-content{flex:1}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:.25rem}.stat-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.inspectors-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.search-box{flex:1;min-width:250px}.search-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--surface-color);font-size:.9rem;transition:var(--transition);color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af371a}.search-input::placeholder{color:var(--text-secondary)}.filter-controls{display:flex;gap:1rem}.filter-select{padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--surface-color);font-size:.9rem;transition:var(--transition);color:var(--text-primary);min-width:150px}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af371a}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;border:none;border-radius:var(--border-radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap;box-shadow:0 2px 8px #d4af374d}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-color),var(--primary-color));transform:translateY(-1px)}.inspectors-table-container{background:linear-gradient(135deg,var(--surface-color),#252525);border:2px solid var(--primary-color);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-gold);margin-bottom:2rem}.inspectors-table{width:100%;border-collapse:collapse}.inspectors-table thead{background:linear-gradient(135deg,var(--primary-color),var(--accent-color))}.inspectors-table th{padding:1rem;text-align:left;font-weight:600;color:#000;font-size:.9rem;border-bottom:1px solid var(--border-color)}.inspectors-table tbody tr{border-bottom:1px solid var(--border-color);transition:var(--transition)}.inspector-row{cursor:pointer}.inspector-row:hover{background-color:#d4af371a;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.inspectors-table tbody tr:last-child{border-bottom:none}.inspectors-table td{padding:1rem;color:var(--text-primary);font-size:.9rem}.inspector-id{font-weight:600;color:var(--primary-color)}.inspector-name{font-weight:600;color:var(--text-primary)}.text-center{text-align:center}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600;text-align:center;min-width:60px}.status-active{background-color:#10b981;color:#fff}.status-inactive{background-color:#ef4444;color:#fff}.action-buttons{display:flex;gap:.5rem;justify-content:center}.btn-action{padding:.5rem;border:none;background:transparent;cursor:pointer;font-size:1.2rem;border-radius:4px;transition:background-color .2s,transform .2s;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.btn-action:hover{transform:scale(1.1);background-color:#d4af3733}.btn-view:hover,.btn-edit:hover{background-color:#d4af3733}.btn-delete:hover{background-color:#ef444433}.no-data{text-align:center;padding:3rem!important;color:var(--text-secondary, #cccccc);font-size:1.1rem}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background-color:#000;border:2px solid var(--primary-color);border-radius:var(--border-radius);box-shadow:var(--shadow-gold);max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;border-radius:var(--border-radius) var(--border-radius) 0 0}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#000}.modal-close{background:transparent;border:none;font-size:2rem;color:#000;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;line-height:1;font-weight:700}.modal-close:hover{background:#0003}.modal-body{padding:1.5rem;overflow-y:auto;flex:1;background-color:#0a0a0a}.location-list{display:flex;flex-direction:column;gap:1rem}.location-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,var(--surface-color),#252525);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:all .2s}.location-item:hover{background:linear-gradient(135deg,#252525,var(--surface-color));border-color:var(--primary-color);transform:translate(5px);box-shadow:0 2px 8px #d4af374d}.location-icon{font-size:2rem;flex-shrink:0}.location-details{flex:1}.location-date{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.location-time{color:var(--text-secondary);font-size:.9rem;margin-bottom:.25rem}.location-coords{color:var(--primary-color);font-size:.85rem;font-family:monospace}.location-arrow{font-size:1.5rem;color:var(--primary-color);flex-shrink:0}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);background-color:var(--surface-color);border-radius:0 0 var(--border-radius) var(--border-radius)}.modal-hint{margin:0;color:var(--text-secondary);font-size:.9rem;text-align:center;font-style:italic}.mock-notice{background:linear-gradient(135deg,#d4af3733,#d4af371a);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:1rem;color:var(--text-primary);text-align:center}.mock-notice strong{font-weight:600;color:var(--primary-color)}@media (max-width: 1024px){.inspectors-table-container{overflow-x:auto}.inspectors-table{min-width:900px}}@media (max-width: 768px){.inspectors-container{padding:1rem}.stats-grid{grid-template-columns:1fr}.inspectors-controls{flex-direction:column}.search-box{min-width:100%}.filter-controls{width:100%;flex-direction:column}.filter-select,.btn-primary{width:100%}.inspectors-header h1{font-size:2rem}.modal-content{max-height:90vh}.modal-header h2{font-size:1.25rem}.location-item{flex-direction:column;align-items:flex-start}.location-arrow{align-self:flex-end}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);padding:20px}.login-card{background:#2a2a2a;border:1px solid #444;border-radius:12px;padding:40px;width:100%;max-width:420px;box-shadow:0 8px 32px #0000004d;position:relative}.login-header{text-align:center;margin-bottom:30px}.logo-container{margin-bottom:20px;display:flex;justify-content:center;align-items:center}.logo{width:80px;height:80px;object-fit:contain;border-radius:8px}.login-header h1{color:gold;font-size:2.5rem;font-weight:700;margin:0 0 8px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.login-subtitle{color:#ccc;font-size:1rem;margin:0;opacity:.8}.api-status-footer{display:flex;justify-content:center;margin-top:15px}.status-dot-small{width:12px;height:12px;border-radius:50%;animation:pulse 2s infinite}.status-dot-small.checking{background:#ffc107}.status-dot-small.online{background:#28a745}.status-dot-small.offline{background:#dc3545}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#e0e0e0;font-weight:500;font-size:.9rem}.form-group input{padding:12px 16px;border:1px solid #444;border-radius:8px;background:#1a1a1a;color:#fff;font-size:1rem;transition:all .2s ease}.form-group input:focus{outline:none;border-color:gold;box-shadow:0 0 0 2px #ffd70033}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:#888}.error-message{background:#dc35451a;color:#dc3545;padding:12px 16px;border-radius:8px;border:1px solid rgba(220,53,69,.3);font-size:.9rem;text-align:center}.login-button{padding:14px 24px;background:linear-gradient(135deg,gold,#ffed4a);color:#1a1a1a;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ffd7004d}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid #1a1a1a;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #444}.login-footer p{color:#ccc;margin:0;font-size:.9rem}.link-button{background:none;border:none;color:gold;cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.link-button:hover:not(:disabled){color:#ffed4a}.link-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 480px){.login-container{padding:10px}.login-card{padding:30px 20px}.login-header h1{font-size:2rem}}
