body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-blue:#3b82f6;--primary-cyan:#06b6d4;--primary-purple:#9333ea;--primary-pink:#ec4899;--primary-green:#10b981;--primary-red:#ef4444;--primary-orange:#f97316;--primary-yellow:#f59e0b;--dark-bg:#0f172a;--dark-card:#1e293b;--dark-border:#334155;--dark-hover:#475569;--text-primary:#fff;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026;--shadow-2xl:0 25px 50px #00000040;--shadow-glow-blue:0 0 20px #3b82f680;--shadow-glow-purple:0 0 20px #9333ea80;--transition-fast:150ms ease;--transition-base:300ms ease;--transition-slow:500ms ease}*{margin:0;padding:0}*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:linear-gradient(135deg,#0f172a,#1e3a8a 50%,#0f172a);color:#fff;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;min-height:100vh;overflow-x:hidden}img{display:block;height:auto;max-width:100%}button{cursor:pointer}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:#1e293b;background:var(--dark-card);border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3b82f6,#06b6d4);background:linear-gradient(180deg,var(--primary-blue),var(--primary-cyan));border:2px solid #1e293b;border:2px solid var(--dark-card);border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease;-webkit-transition:background var(--transition-base);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#2563eb,#0891b2)}::-webkit-scrollbar-corner{background:#1e293b;background:var(--dark-card)}*{scrollbar-color:#3b82f6 #1e293b;scrollbar-color:var(--primary-blue) var(--dark-card);scrollbar-width:thin}@keyframes float{0%,to{opacity:.3;transform:translate(0) scale(1)}33%{opacity:.4;transform:translate(30px,-30px) scale(1.1)}66%{opacity:.25;transform:translate(-20px,20px) scale(.9)}}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{box-shadow:0 8px 25px #3b82f680;transform:scale(1)}50%{box-shadow:0 12px 35px #3b82f6b3;transform:scale(1.05)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes glow{0%,to{box-shadow:0 0 10px #3b82f680}50%{box-shadow:0 0 30px #3b82f6cc}}.auth-container{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:1rem;position:relative}.auth-blob{animation:float 20s ease-in-out infinite;border-radius:50%;filter:blur(80px);opacity:.3;pointer-events:none;position:absolute}.auth-blob-1{animation-delay:0s;background:#3b82f666;height:300px;left:10%;top:10%;width:300px}.auth-blob-2{animation-delay:5s;background:#9333ea66;bottom:10%;height:400px;right:10%;width:400px}.auth-blob-3{animation-delay:10s;background:#ec48994d;height:250px;right:20%;top:50%;width:250px}.auth-card,.auth-card-animated{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293b80;border:1px solid #3b82f64d;border-radius:1.5rem;box-shadow:0 20px 60px #00000080;max-width:450px;overflow:hidden;position:relative;width:100%;z-index:10}.auth-card-animated{animation:slideIn .5s ease-out}.auth-card-border{background:linear-gradient(90deg,#3b82f6,#9333ea,#ec4899);height:3px;left:0;position:absolute;right:0;top:0}.auth-logo,.auth-logo-animated{align-items:center;background:linear-gradient(135deg,#3b82f6,#06b6d4);border-radius:1.25rem;box-shadow:0 8px 25px #3b82f680;display:inline-flex;height:80px;justify-content:center;margin-bottom:1rem;width:80px}.auth-logo-animated{animation:pulse 2s ease-in-out infinite}.auth-logo-animated.register,.auth-logo.register{background:linear-gradient(135deg,#9333ea,#ec4899);box-shadow:0 8px 25px #9333ea80}.auth-title{color:#fff;font-size:2rem;font-weight:700;margin-bottom:.5rem;text-align:center}.auth-subtitle{color:#94a3b8;color:var(--text-muted);font-size:.875rem;margin-bottom:2rem;text-align:center}.auth-form{width:100%}.auth-input-group{margin-bottom:1.25rem}.auth-label{color:#cbd5e1;color:var(--text-secondary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.auth-input-wrapper{position:relative}.auth-input-icon{color:#94a3b8;color:var(--text-muted);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.auth-input{background:#33415580;border:1px solid #334155;border:1px solid var(--dark-border);border-radius:.5rem;color:#fff;font-size:.875rem;padding:12px 12px 12px 42px;transition:all .3s ease;transition:all var(--transition-base);width:100%}.auth-input:focus{background:#334155cc;border-color:#3b82f6;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f633;outline:none}.auth-input::placeholder{color:#64748b}.auth-input.register-focus:focus{border-color:#9333ea;border-color:var(--primary-purple);box-shadow:0 0 0 3px #9333ea33}.password-toggle{background:none;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .3s ease;transition:color var(--transition-base);z-index:2}.password-toggle:hover{color:#cbd5e1;color:var(--text-secondary)}.auth-select{background:#33415580;border:1px solid #334155;border:1px solid var(--dark-border);border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;padding:12px 16px;transition:all .3s ease;transition:all var(--transition-base);width:100%}.auth-select:focus{background:#334155cc;border-color:#9333ea;border-color:var(--primary-purple);box-shadow:0 0 0 3px #9333ea33;outline:none}.auth-select option{background:#1e293b;background:var(--dark-card);color:#fff;padding:8px}.auth-submit-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#06b6d4);border:none;border-radius:.5rem;box-shadow:0 4px 15px #3b82f680;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .3s ease;transition:all var(--transition-base);width:100%}.auth-submit-btn:hover{box-shadow:0 6px 25px #3b82f699;transform:translateY(-2px)}.auth-submit-btn:active{transform:translateY(0)}.auth-submit-btn.register-btn{background:linear-gradient(135deg,#9333ea,#ec4899);box-shadow:0 4px 15px #9333ea80}.auth-submit-btn.register-btn:hover{box-shadow:0 6px 25px #9333ea99}.auth-link-text{color:#94a3b8;color:var(--text-muted);font-size:.875rem;margin-top:1.5rem;text-align:center}.auth-link{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:none;transition:color .3s ease;transition:color var(--transition-base)}.auth-link:hover{color:#93c5fd;text-decoration:underline}.auth-link.register-link{color:#c084fc}.auth-link.register-link:hover{color:#e9d5ff}.demo-credentials{border-top:1px solid #334155;border-top:1px solid var(--dark-border);color:#64748b;font-size:.75rem;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.header-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293b80;border-bottom:1px solid #3b82f64d;box-shadow:0 4px 20px #0000004d;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-logo{background:linear-gradient(135deg,#3b82f6,#06b6d4);border-radius:12px;box-shadow:0 4px 15px #3b82f680;padding:12px;transition:transform .3s ease,box-shadow .3s ease;transition:transform var(--transition-base),box-shadow var(--transition-base)}.header-logo:hover{box-shadow:0 6px 25px #3b82f6b3;transform:scale(1.05)}.header-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#60a5fa);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.header-subtitle{color:#93c5fd;font-size:.875rem}.user-profile{margin-right:1rem;text-align:right}.user-name{color:#fff;font-size:.875rem;font-weight:600}.user-role{color:#93c5fd;font-size:.75rem;text-transform:capitalize}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:8px;padding:10px 24px;transition:all .3s ease;transition:all var(--transition-base)}.btn-primary{background:linear-gradient(135deg,#3b82f6,#06b6d4);box-shadow:0 4px 15px #3b82f666;color:#fff}.btn-primary:hover{box-shadow:0 6px 25px #3b82f699;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#9333ea,#ec4899);box-shadow:0 4px 15px #9333ea66;color:#fff}.btn-secondary:hover{box-shadow:0 6px 25px #9333ea99;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-success:hover{box-shadow:0 6px 25px #10b98199;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover{box-shadow:0 6px 25px #ef444499;transform:translateY(-2px)}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn-warning:hover{box-shadow:0 6px 25px #f59e0b99;transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.logout-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;box-shadow:0 4px 15px #ef444466;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 24px;transition:all .3s ease;transition:all var(--transition-base)}.logout-btn:hover{box-shadow:0 6px 25px #ef444499;transform:translateY(-2px)}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#3b82f633,#3b82f61a);border:1px solid #3b82f64d;border-radius:16px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease;transition:all var(--transition-base)}.stat-card:before{background:radial-gradient(circle,#3b82f61a 0,#0000 70%);content:"";height:200%;left:-50%;opacity:0;position:absolute;top:-50%;transition:opacity .3s ease;transition:opacity var(--transition-base);width:200%}.stat-card:hover:before{opacity:1}.stat-card:hover{border-color:#3b82f699;box-shadow:0 10px 40px #3b82f666;transform:translateY(-5px)}.stat-card-blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-card-green{background:linear-gradient(135deg,#10b981,#059669)}.stat-card-red{background:linear-gradient(135deg,#ef4444,#dc2626)}.stat-card-purple{background:linear-gradient(135deg,#9333ea,#7e22ce)}.stat-card-orange{background:linear-gradient(135deg,#f97316,#ea580c)}.stat-card-yellow{background:linear-gradient(135deg,#f59e0b,#d97706)}.search-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293b80;border:1px solid #3b82f64d;border-radius:12px;box-shadow:0 4px 15px #0003;padding:24px}.search-input-wrapper{flex:1 1;position:relative}.search-input{background:#33415580;border:1px solid #334155;border:1px solid var(--dark-border);border-radius:8px;color:#fff;font-size:.875rem;padding:12px 12px 12px 40px;transition:all .3s ease;transition:all var(--transition-base);width:100%}.search-input:focus{background:#334155cc;border-color:#3b82f6;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f633;outline:none}.search-input::placeholder{color:#64748b}.search-icon{left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.filter-button,.search-icon{color:#94a3b8;color:var(--text-muted)}.filter-button{background:#334155;background:var(--dark-border);border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;padding:12px 24px;transition:all .3s ease;transition:all var(--transition-base)}.filter-button.active{background:linear-gradient(135deg,#3b82f6,#06b6d4);box-shadow:0 4px 15px #3b82f666;color:#fff}.filter-button:hover:not(.active){background:#475569;background:var(--dark-hover);color:#fff}.guard-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293b80;border:1px solid #3b82f64d;border-radius:12px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease;transition:all var(--transition-base)}.guard-card:before{background:linear-gradient(90deg,#0000,#3b82f61a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;transition:left var(--transition-slow);width:100%}.guard-card:hover:before{left:100%}.guard-card:hover{background:#3341554d;border-color:#3b82f680;transform:translateX(5px)}.guard-avatar{border:4px solid #3b82f64d;border-radius:50%;height:64px;object-fit:cover;transition:all .3s ease;transition:all var(--transition-base);width:64px}.guard-card:hover .guard-avatar{border-color:#3b82f6cc;box-shadow:0 0 20px #3b82f680}.guard-name{color:#fff;font-size:1.125rem;font-weight:700;margin-bottom:4px}.guard-id{color:#93c5fd;font-size:.875rem}.guard-info-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin:16px 0}.guard-info-item{align-items:center;color:#cbd5e1;color:var(--text-secondary);display:flex;font-size:.875rem;gap:8px}.badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:6px 12px;text-transform:capitalize;transition:all .3s ease;transition:all var(--transition-base)}.badge-present{background:#10b98133;border:1px solid #10b98180;color:#6ee7b7}.badge-present:hover{background:#10b9814d;box-shadow:0 0 15px #10b98166}.badge-absent{background:#ef444433;border:1px solid #ef444480;color:#fca5a5}.badge-absent:hover{background:#ef44444d;box-shadow:0 0 15px #ef444466}.badge-available{background:#3b82f633;border:1px solid #3b82f680;color:#93c5fd}.badge-available:hover{background:#3b82f64d;box-shadow:0 0 15px #3b82f666}.badge-on-duty{background:#f9731633;border:1px solid #f9731680;color:#fdba74}.badge-on-duty:hover{background:#f973164d;box-shadow:0 0 15px #f9731666}.badge-completed{background:#9333ea33;border:1px solid #9333ea80;color:#c084fc}.badge-completed:hover{background:#9333ea4d;box-shadow:0 0 15px #9333ea66}.badge-not-available{background:#64748b33;border:1px solid #64748b80;color:#cbd5e1}.activity-feed{max-height:600px;overflow-y:auto}.activity-card{background:#1e293b4d;border-bottom:1px solid #334155;border-bottom:1px solid var(--dark-border);cursor:pointer;padding:16px;transition:all .3s ease;transition:all var(--transition-base)}.activity-card:hover{background:#3341554d;transform:translateX(5px)}.activity-card:last-child{border-bottom:none}.activity-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.activity-guard-name{color:#fff;font-size:.875rem;font-weight:600}.activity-guard-id{color:#93c5fd;font-size:.75rem;margin-top:2px}.activity-action{color:#cbd5e1;color:var(--text-secondary);font-size:.875rem;margin-bottom:8px}.activity-action-highlight{color:#06b6d4;font-weight:600}.activity-location{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;font-size:.75rem;gap:6px;margin-bottom:4px}.activity-timestamp{color:#64748b;font-size:.75rem}.activity-feed::-webkit-scrollbar{width:6px}.activity-feed::-webkit-scrollbar-track{background:#1e293b80;border-radius:3px}.activity-feed::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#9333ea,#ec4899);border-radius:3px}.activity-feed::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#7e22ce,#db2777)}.modal-overlay{align-items:center;animation:fadeIn .3s ease;animation:fadeIn var(--transition-base);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9999}.modal-container{animation:slideUp .3s ease;animation:slideUp var(--transition-base);background:#1e293b;background:var(--dark-card);border:1px solid #3b82f64d;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:500px;overflow:hidden;width:100%}.modal-header{background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff;padding:20px 24px}.modal-header.purple{background:linear-gradient(135deg,#9333ea,#ec4899)}.modal-header.orange{background:linear-gradient(135deg,#f97316,#dc2626)}.modal-header.cyan{background:linear-gradient(135deg,#06b6d4,#3b82f6)}.modal-title{font-size:1.25rem;font-weight:700;margin:0}.modal-body{padding:24px}.modal-input{background:#334155;background:var(--dark-border);border:1px solid #475569;border:1px solid var(--dark-hover);border-radius:8px;color:#fff;font-size:.875rem;margin-bottom:16px;padding:12px 16px;transition:all .3s ease;transition:all var(--transition-base);width:100%}.modal-input:focus{background:#3f4b5f;border-color:#3b82f6;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f633;outline:none}.modal-input::placeholder{color:#94a3b8;color:var(--text-muted)}.modal-select{background:#334155;background:var(--dark-border);border:1px solid #475569;border:1px solid var(--dark-hover);border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;margin-bottom:16px;padding:12px 16px;transition:all .3s ease;transition:all var(--transition-base);width:100%}.modal-select:focus{border-color:#3b82f6;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f633;outline:none}.modal-select option{background:#1e293b;background:var(--dark-card);color:#fff}.modal-footer{display:flex;gap:12px;padding-top:16px}.modal-close-btn{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .3s ease;transition:all var(--transition-base);width:32px}.modal-close-btn:hover{background:#fff3;transform:rotate(90deg)}.qr-display{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-bottom:16px;padding:32px;text-align:center}.qr-code-icon{height:96px;margin:0 auto 16px;width:96px}.qr-code-icon,.qr-code-number{color:#1e293b;color:var(--dark-card)}.qr-code-number{font-family:Courier New,monospace;font-size:2.5rem;font-weight:700;letter-spacing:.1em;margin-bottom:8px}.qr-code-instruction{color:#64748b;font-size:.875rem;margin-top:8px}.qr-input{background:#33415580;border:1px solid #334155;border:1px solid var(--dark-border);border-radius:8px;color:#fff;font-family:Courier New,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.1em;padding:12px 16px;text-align:center;transition:all .3s ease;transition:all var(--transition-base);width:100%}.qr-input:focus{border-color:#9333ea;border-color:var(--primary-purple);box-shadow:0 0 0 3px #9333ea33;outline:none}.fab{bottom:32px;display:flex;flex-direction:column;gap:12px;position:fixed;right:32px;z-index:1000}.fab-button{align-items:center;border:none;border-radius:50%;box-shadow:0 4px 20px #0000004d;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;transition:all .3s ease;transition:all var(--transition-base);width:56px}.fab-button:hover{box-shadow:0 6px 30px #00000080;transform:scale(1.1)}.fab-button:active{transform:scale(.95)}.fab-button-primary{background:linear-gradient(135deg,#9333ea,#ec4899)}.fab-button-secondary{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.fab-button-success{background:linear-gradient(135deg,#10b981,#059669)}.spinner{animation:spin 1s linear infinite;border:3px solid #3b82f64d;border-radius:50%;border-top-color:#3b82f6;border-top:3px solid var(--primary-blue);height:40px;width:40px}.spinner-small{border-width:2px;height:20px;width:20px}.spinner-large{border-width:4px;height:60px;width:60px}.spinner-wrapper{align-items:center;display:flex;justify-content:center;min-height:200px}.glass-effect{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#3b82f6,#06b6d4);-webkit-background-clip:text;background-clip:text}.gradient-text-purple{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#9333ea,#ec4899);-webkit-background-clip:text;background-clip:text}.glow-effect{box-shadow:0 0 20px #3b82f680}.glow-effect-purple{box-shadow:0 0 20px #9333ea80}.fade-in{animation:fadeIn .5s ease;animation:fadeIn var(--transition-slow)}.slide-in-right{animation:slideInRight .5s ease;animation:slideInRight var(--transition-slow)}.slide-in-left{animation:slideInLeft .5s ease;animation:slideInLeft var(--transition-slow)}.bounce-in{animation:bounceIn .6s ease}.shake{animation:shake .5s ease}.pulse-animation{animation:pulse 2s ease-in-out infinite}.spin-animation{animation:spin 2s linear infinite}.tooltip{display:inline-block;position:relative}.tooltip-text{background-color:#1e293b;background-color:var(--dark-card);border:1px solid #3b82f64d;border-radius:6px;bottom:125%;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:.75rem;left:50%;opacity:0;padding:8px 12px;position:absolute;text-align:center;transform:translateX(-50%);transition:opacity .3s ease;transition:opacity var(--transition-base);visibility:hidden;white-space:nowrap;z-index:1}.tooltip-text:after{border:5px solid #0000;border-top-color:#1e293b;border-color:var(--dark-card) #0000 #0000 #0000;content:"";left:50%;margin-left:-5px;position:absolute;top:100%}.tooltip:hover .tooltip-text{opacity:1;visibility:visible}.notification{animation:slideInRight .3s ease;animation:slideInRight var(--transition-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293bf2;border:1px solid #3b82f64d;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:400px;min-width:300px;padding:16px 20px;position:fixed;right:20px;top:20px;z-index:10000}.notification.success{border-color:#10b98180}.notification.error{border-color:#ef444480}.notification.warning{border-color:#f9731680}.notification.info{border-color:#3b82f680}.notification-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.notification-title{color:#fff;font-size:.875rem;font-weight:600}.notification-close{background:none;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer;padding:0;transition:color .15s ease;transition:color var(--transition-fast)}.notification-close:hover{color:#fff}.notification-message{color:#94a3b8;color:var(--text-muted);font-size:.875rem;line-height:1.5}.progress-bar{background:#334155;background:var(--dark-border);border-radius:4px;height:8px;width:100%}.progress-bar,.progress-bar-fill{overflow:hidden;position:relative}.progress-bar-fill{background:linear-gradient(90deg,#3b82f6,#06b6d4);height:100%;transition:width .5s ease;transition:width var(--transition-slow)}.progress-bar-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.progress-bar.success .progress-bar-fill{background:linear-gradient(90deg,#10b981,#059669)}.progress-bar.warning .progress-bar-fill{background:linear-gradient(90deg,#f59e0b,#d97706)}.progress-bar.danger .progress-bar-fill{background:linear-gradient(90deg,#ef4444,#dc2626)}.input-error{border-color:#ef4444!important;border-color:var(--primary-red)!important}.input-error:focus{box-shadow:0 0 0 3px #ef444433!important}.input-success{border-color:#10b981!important;border-color:var(--primary-green)!important}.input-success:focus{box-shadow:0 0 0 3px #10b98133!important}.error-message{color:#fca5a5}.error-message,.success-message{align-items:center;display:flex;font-size:.75rem;gap:4px;margin-top:.25rem}.success-message{color:#6ee7b7}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.skip-link{background:#3b82f6;background:var(--primary-blue);border-radius:0 0 4px 0;color:#fff;left:0;padding:8px 16px;position:absolute;text-decoration:none;top:-40px;z-index:100}.skip-link:focus{top:0}:focus-visible{border-radius:4px;outline:2px solid #3b82f6;outline:2px solid var(--primary-blue);outline-offset:2px}button:focus-visible{outline-offset:4px}::selection{background:#3b82f64d;color:#fff}::-moz-selection{background:#3b82f64d;color:#fff}@media (max-width:1024px){.container{padding:0 1.5rem}.guard-card,.stat-card{padding:20px}}@media (max-width:768px){.auth-card,.auth-card-animated{margin:1rem}.auth-title{font-size:1.75rem}.auth-logo,.auth-logo-animated{height:64px;width:64px}.header-title{font-size:1.25rem}.header-subtitle{font-size:.75rem}.guard-card,.stat-card{padding:16px}.modal-container{margin:16px}.fab{bottom:16px;right:16px}.fab-button{height:48px;width:48px}.user-profile{display:none}.notification{left:10px;min-width:auto;right:10px;top:10px}}@media (max-width:640px){.auth-title{font-size:1.5rem}.search-container{padding:16px}.filter-button{font-size:.75rem;padding:10px 16px}.qr-code-number{font-size:2rem}.modal-body{padding:16px}.guard-avatar{height:48px;width:48px}.guard-name{font-size:1rem}.stat-card h3{font-size:2rem}}@media (max-width:480px){.auth-card,.auth-card-animated{padding:1.5rem}.btn{font-size:.75rem;padding:8px 16px}.fab-button{height:40px;width:40px}.modal-container{margin:8px}}@media print{.auth-blob,.fab,.filter-button,.modal-overlay,.no-print,.search-container,button{display:none!important}body{background:#fff;color:#000}.activity-card,.guard-card,.stat-card{border:1px solid #ccc;break-inside:avoid;page-break-inside:avoid}.header-container{border-bottom:2px solid #000;position:static}}@media (prefers-color-scheme:dark){body{background:linear-gradient(135deg,#0f172a,#1e3a8a 50%,#0f172a)}}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.gpu-accelerated{-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}
/*# sourceMappingURL=main.bc903568.css.map*/