@import url(https://fonts.googleapis.com/css?family=Montserrat:400,800);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}body,html{font-family:Montserrat,sans-serif;height:100%;margin:0;padding:0}.home-container{flex-direction:column;position:relative}.auth-container{background-color:#fff;border-radius:10px;box-shadow:0 14px 28px #00000040,0 10px 10px #00000038;margin:50px auto;max-width:95%;min-height:480px;overflow:hidden;position:relative;width:900px}.form-container{height:100%;position:absolute;top:0;transition:all .6s ease-in-out}.sign-in-container{height:100%;left:0;width:50%;z-index:2}.container.right-panel-active .sign-in-container{transform:translateX(100%)}.sign-up-container{height:100%;left:0;opacity:0;overflow-y:auto;width:50%;z-index:1}.container.right-panel-active .sign-up-container{animation:show .6s;opacity:1;transform:translateX(100%);z-index:5}@keyframes show{0%,49.99%{opacity:0;z-index:1}50%,to{opacity:1;z-index:5}}.overlay-container{height:100%;left:50%;overflow:hidden;position:absolute;top:0;transition:transform .6s ease-in-out;width:50%;z-index:100}.container.right-panel-active .overlay-container{transform:translateX(-100%)}.overlay{background:#ff416c;background:linear-gradient(90deg,#ff4b2b,#ff416c);background-position:0 0;background-repeat:no-repeat;background-size:cover;color:#fff;height:100%;left:-100%;position:relative;transform:translateX(0);transition:transform .6s ease-in-out;width:200%}.container.right-panel-active .overlay{transform:translateX(50%)}.overlay-panel{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:0 40px;position:absolute;text-align:center;top:0;transform:translateX(0);transition:transform .6s ease-in-out;width:50%}.overlay-left{transform:translateX(-20%)}.container.right-panel-active .overlay-left,.overlay-right{transform:translateX(0)}.overlay-right{right:0}.container.right-panel-active .overlay-right{transform:translateX(20%)}h1{font-weight:700;margin:0}p{font-size:14px;font-weight:100;letter-spacing:.5px;line-height:20px;margin:20px 0 30px}.auth-form{align-items:center;background-color:#fff;box-sizing:border-box;display:flex;flex-direction:column;height:auto;justify-content:flex-start;min-height:100%;padding:30px 50px;text-align:center;width:100%}.auth-form input{background-color:#eee;border:none;margin:8px 0;padding:12px 15px;width:100%}.auth-form button{background-color:#ff4b2b;border:1px solid #ff4b2b;border-radius:20px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:1px;margin-bottom:15px;margin-top:15px;padding:12px 45px;text-transform:uppercase;transition:transform 80ms ease-in}.auth-form button:active{transform:scale(.95)}.auth-form button:focus{outline:none}button.ghost{background-color:initial;border-color:#fff}.mobile-switch{display:none}button:focus,button:hover{background-color:#ff3c1f!important;box-shadow:none!important;color:#fff!important;outline:none!important}button.ghost:hover{background-color:#fff3!important}button::-moz-focus-inner{border:0}.error-message{margin:15px 0;width:100%}.selfie-container{margin:10px 0;width:100%}.selfie-upload{flex-direction:column;width:100%}.preview-container,.selfie-upload{align-items:center;display:flex;justify-content:center}.preview-container{background-color:#eee;background-color:var(--input-bg,#eee);border:3px solid #eee;border:3px solid var(--input-bg,#eee);border-radius:50%;height:120px;margin:10px auto;overflow:hidden;width:120px}.selfie-preview{height:100%;object-fit:cover;object-position:center;width:100%}.upload-button{border-radius:20px!important;margin:10px 0;max-width:250px;width:100%}.auth-form{scrollbar-color:#0003 #0000;scrollbar-width:thin}.auth-form::-webkit-scrollbar{width:6px}.auth-form::-webkit-scrollbar-track{background:#0000}.auth-form::-webkit-scrollbar-thumb{background-color:#0003;border-radius:6px}@media (max-width:768px){.auth-container{margin:20px auto 80px;min-height:500px;width:90%}.form-container{height:auto;position:relative;transition:none;width:100%}.sign-in-container{display:block;opacity:1;transform:none!important;width:100%;z-index:2}.sign-up-container{display:none;opacity:0;transform:none!important;width:100%;z-index:1}.container.right-panel-active .sign-in-container{display:none}.container.right-panel-active .sign-up-container{display:block;opacity:1;z-index:2}.overlay-container{display:none}.mobile-switch{bottom:20px;display:block!important;left:0;margin:0 auto;max-width:300px;position:relative;right:0;width:90%;z-index:1000}.mobile-switch button{background-color:#ff4b2b;border:none;border-radius:25px;box-shadow:0 2px 10px #0000004d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:12px 25px;width:100%}.auth-form{min-height:260px;padding:20px 25px}}@media (max-width:480px){.auth-container{margin:15px auto 80px;min-height:200px}.auth-form{padding:15px}.auth-form input{font-size:14px;padding:10px 12px}h1{font-size:1.5rem}.preview-container{height:80px;width:80px}}@supports (-webkit-touch-callout:none){.auth-container,.sign-in-container,.sign-up-container,body,html{height:-webkit-fill-available}}.auth-form button{padding-left:25px;padding-right:25px;white-space:nowrap}.form-title{font-size:1.75rem;font-weight:700;margin-bottom:20px;margin-top:20px;text-align:center;width:100%}.app-header{background:linear-gradient(90deg,#ff4b2b,#ff416c);box-shadow:0 4px 12px #00000026;box-sizing:border-box;color:#fff;font-family:Montserrat,sans-serif;justify-content:space-between;padding:.8rem 2rem;position:sticky;top:0;width:100%;z-index:1000}.app-header,.header-logo{align-items:center;display:flex}.header-logo{cursor:pointer;transition:transform .3s ease}.header-logo:hover{transform:scale(1.02)}.hospital-logo{height:40px;margin-right:15px;width:auto}.header-logo h1{font-size:1.3rem;font-weight:700;margin:0;white-space:nowrap}.user-info{align-items:center;display:flex;gap:15px}.user-name{font-size:.95rem;font-weight:600}.user-role{font-size:.85rem;opacity:.9}.logout-btn{background-color:initial;border:2px solid #fff;border-radius:20px;color:#fff;cursor:pointer;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:1px;padding:8px 20px;text-transform:uppercase;transition:all .3s ease}.logout-btn:hover{background-color:#fff;color:#ff4b2b;transform:translateY(-2px)}.logout-btn:active{transform:scale(.95)}@media (max-width:768px){.app-header{padding:.6rem 1rem}.header-logo h1{display:none}.hospital-logo{height:30px;margin-right:0}.user-info{gap:8px}.user-name{font-size:.8rem}.user-role{font-size:.75rem}.logout-btn{font-size:.7rem;padding:6px 12px}}@media (max-width:480px){.app-header{flex-direction:column;gap:10px;padding:.6rem}.header-logo{justify-content:center;margin-bottom:5px}.user-info{flex-wrap:wrap;justify-content:center;text-align:center}}.visitor-home{color:#333;font-family:Montserrat,sans-serif;margin:40px auto;max-width:900px;padding:20px}.visitor-home h2{color:#ff416c;font-weight:700;margin-bottom:30px;text-align:center}.visitor-card{align-items:center;background-color:#fff;box-shadow:0 14px 28px #00000040,0 10px 10px #00000038;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:40px;padding:30px}.visitor-info{flex:1 1;margin-bottom:20px;min-width:300px}.visitor-photo{margin-right:30px}.visitor-details{flex:1 1}.visitor-details h3{color:#ff4b2b;font-size:24px;margin-top:0}.visitor-details p{font-size:16px;line-height:1.5;margin:10px 0}.visitor-card-mobile{background-color:#fff;border-radius:10px;box-shadow:0 14px 28px #00000040,0 10px 10px #00000038;flex-direction:column;margin-bottom:40px;padding:30px}.visitor-info-mobile{margin-bottom:30px;text-align:center}.qr-code-container-mobile,.visitor-info-mobile{align-items:center;display:flex;flex-direction:column}.qr-code-container-mobile{background-color:#f9f9f9;border-radius:10px;padding:20px;width:100%}.desktop-view{display:flex}.mobile-view{display:none}.qr-code-container{align-items:center;background-color:#f9f9f9;border-radius:10px;display:flex;flex-direction:column;min-width:240px;padding:20px}.qr-code-container h4,.qr-code-container-mobile h4{color:#ff4b2b;margin-bottom:15px;margin-top:0}.qr-code{background-color:#fff;border-radius:10px;box-shadow:0 4px 8px #0000001a;padding:10px}.qr-instructions{color:#666;font-size:14px;margin-top:15px;text-align:center}.status-Approved{color:#2ecc71;font-weight:700}.status-Pending{color:#f39c12;font-weight:700}.status-Rejected{color:#e74c3c;font-weight:700}.visit-history{background-color:#fff;border-radius:10px;box-shadow:0 14px 28px #00000040,0 10px 10px #00000038;padding:30px}.visit-history h3{color:#ff416c;margin-bottom:20px;margin-top:0;text-align:center}.visit-history th{background:linear-gradient(90deg,#ff4b2b,#ff416c);color:#fff;font-weight:600;padding:12px;text-align:left}.visit-history td{border-bottom:1px solid #eee;padding:12px}.visit-history tr:last-child td{border-bottom:none}.visit-history tr:nth-child(2n){background-color:#f9f9f9}.loading{align-items:center;color:#ff4b2b;display:flex;font-size:18px;height:100vh;justify-content:center}.error-message{margin:20px 0}button{background-color:#ff4b2b;border:1px solid #ff4b2b;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:1px;padding:12px 45px;text-transform:uppercase;transition:transform 80ms ease-in}button:hover{background-color:#ff3c1f!important;color:#fff!important}button:active{transform:scale(.95)}@media (max-width:768px){.desktop-view{display:none!important}.mobile-view{display:flex}.visit-history{overflow-x:auto}.visit-history table{min-width:500px}}.dashboard-container{background-color:#f9f9f9;color:#333;font-family:Montserrat,sans-serif;min-height:100vh}.dashboard-content{margin:0 auto;max-width:1200px;padding:30px 20px}.admin-home{width:100%}.admin-home h2{color:#ff416c;font-size:28px;font-weight:700;margin-bottom:30px;text-align:center}.admin-actions{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.action-card{background-color:#fff;border-radius:10px;box-shadow:0 14px 28px #00000040,0 10px 10px #00000038;display:flex;flex-direction:column;height:100%;padding:30px;transition:transform .3s ease}.action-card:hover{transform:translateY(-5px)}.action-card h3{color:#ff4b2b;font-size:20px;margin-bottom:20px;margin-top:0;text-align:center}.action-card p{flex-grow:1;line-height:1.5;margin-bottom:20px}.report-form{gap:20px}.form-group,.report-form{display:flex;flex-direction:column}.form-group{margin-bottom:10px}.form-group input[type=date]{background-color:#f8f8f8;border:1px solid #ddd;border-radius:5px;font-family:Montserrat,sans-serif;font-size:14px;padding:12px 15px}.form-group input[type=date]:focus{border-color:#ff4b2b;box-shadow:0 0 5px #ff4b2b4d;outline:none}.download-btn,.generate-btn,.register-staff-btn{align-self:center;background-color:#ff4b2b;border:1px solid #ff4b2b;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:1px;margin-top:10px;max-width:300px;padding:12px 45px;text-align:center;text-transform:uppercase;transition:all .3s ease;width:100%}.download-btn:hover,.generate-btn:hover,.register-staff-btn:hover{background-color:#ff3c1f;box-shadow:0 5px 10px #0003;transform:translateY(-2px)}.download-btn:active,.generate-btn:active,.register-staff-btn:active{transform:scale(.95)}.generate-btn:disabled{background-color:#ccc;border-color:#bbb;box-shadow:none;cursor:not-allowed;transform:none}.download-link{margin-top:15px;text-align:center}.download-btn{background:linear-gradient(90deg,#ff4b2b,#ff416c);display:inline-block;text-decoration:none}.error-message{border-radius:5px;font-weight:500;margin:10px 0;padding:12px;text-align:center}.staff-form{margin:0 auto;max-width:600px}.staff-form h3{color:#ff4b2b;font-size:24px;margin-bottom:20px;margin-top:0;text-align:center}.cancel-btn{border:1px solid #6c757d;border-radius:20px;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:1px;padding:12px 30px;text-transform:uppercase;transition:all .3s ease}.cancel-btn:hover{background-color:#5a6268}@media (max-width:768px){.admin-actions{grid-template-columns:1fr}.action-card{padding:20px}.download-btn,.generate-btn,.register-staff-btn{font-size:12px;padding:10px 20px}.form-actions{flex-direction:column;gap:15px}.cancel-btn,.form-actions button{width:100%}}.staff-form-container{margin:0 auto;max-width:600px;padding:20px;width:100%}.staff-form{background-color:#fff;border-radius:10px;box-shadow:0 14px 28px #00000040,0 10px 10px #00000038;font-family:Montserrat,sans-serif;padding:30px}.staff-form h2{color:#ff416c;font-size:24px;font-weight:700;margin-bottom:25px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#333;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select{background-color:#f8f8f8;border:1px solid #ddd;border-radius:5px;font-family:Montserrat,sans-serif;font-size:14px;padding:12px 15px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#ff4b2b;box-shadow:0 0 5px #ff4b2b4d;outline:none}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23131313%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");background-position:right 12px top 50%;background-repeat:no-repeat;background-size:10px auto;cursor:pointer}.error-message,.success-message{border-radius:5px;font-weight:500;margin-bottom:20px;padding:12px 15px;text-align:center}.error-message{background-color:#fdd;color:red}.success-message{background-color:#dfd;color:#28a745}.form-actions{display:flex;gap:15px;justify-content:space-between;margin-top:30px}.cancel-btn,.submit-btn{border:1px solid;border-radius:20px;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;letter-spacing:1px;padding:12px 15px;text-transform:uppercase;transition:all .3s ease}.cancel-btn{background-color:#6c757d;border-color:#6c757d;color:#fff}.submit-btn{background-color:#ff4b2b;border-color:#ff4b2b;color:#fff}.cancel-btn:hover:not(:disabled){background-color:#5a6268;transform:translateY(-2px)}.submit-btn:hover:not(:disabled){background-color:#ff3c1f;box-shadow:0 5px 10px #0003;transform:translateY(-2px)}.cancel-btn:active:not(:disabled),.submit-btn:active:not(:disabled){transform:scale(.95)}.cancel-btn:disabled,.submit-btn:disabled{cursor:not-allowed;opacity:.7}@media (max-width:768px){.staff-form{padding:20px}.form-actions{flex-direction:column}.cancel-btn,.submit-btn{width:100%}.staff-form h2{font-size:20px}}:root{--primary-color:#3498db;--secondary-color:#2ecc71;--danger-color:#e74c3c;--text-color:#333;--light-bg:#f5f5f5;--border-color:#ddd}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;background-color:var(--light-bg);color:#333;color:var(--text-color);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.app{flex-direction:column}.app,.home-container{display:flex;min-height:100vh}.home-container{align-items:center;justify-content:center;padding:20px}.auth-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:500px;padding:30px;width:100%}.auth-header{margin-bottom:30px;text-align:center}.auth-header h1{color:#3498db;color:var(--primary-color);font-size:24px}.auth-form h2{color:#333;color:var(--text-color);margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{display:block;font-weight:500;margin-bottom:5px}.form-group input,.form-group textarea{border:1px solid #ddd;border:1px solid var(--border-color);border-radius:4px;font-size:16px;padding:10px;width:100%}.form-group textarea{min-height:80px;resize:vertical}button{background-color:#3498db;background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:12px 20px;transition:background-color .3s;width:100%}button:hover{background-color:#2980b9}button:disabled{background-color:#95a5a6;cursor:not-allowed}.text-button{background:none;border:none;color:#3498db;color:var(--primary-color);cursor:pointer;font:inherit;padding:0;text-decoration:underline;width:auto}.text-button:hover{background:none;color:#2980b9}.error-message{background-color:#e74c3c1a;border-radius:4px;color:#e74c3c;color:var(--danger-color);margin-bottom:15px;padding:10px}.visitor-card{grid-gap:20px;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin:20px 0;padding:20px}.visitor-info{align-items:center;display:flex;gap:20px}.visitor-photo img{border-radius:50%;height:150px;object-fit:cover;width:150px}.qr-code img{height:200px;width:200px}.visit-history table{border-collapse:collapse;margin-top:20px;width:100%}.visit-history td,.visit-history th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.visit-history th{background-color:#f8f9fa}.qr-video{background:#000;display:block;margin:0 auto;max-width:600px;width:100%}.scanner-overlay{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.qr-frame{border:4px solid #0f0;box-shadow:0 0 0 100vmax #00000080;height:250px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:250px}
/*# sourceMappingURL=main.70e3f46a.css.map*/