body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}.container{justify-content:space-between}.container,.container-center{background:#f8f9fa;display:flex;flex-direction:column;min-height:100vh;padding:20px}.container-center,.content{align-items:center;justify-content:center}.content{display:flex;flex:1 1;flex-direction:column;position:relative}.card{background:#fff;border:1px solid #e0e0e0;border-radius:20px;box-shadow:0 4px 20px #0000001a;max-width:500px;padding:40px;width:100%}.card-center{text-align:center}.card-large{max-width:600px}.logo-bg{left:50%;position:absolute;top:-50px;transform:translateX(-50%);z-index:1}.logo-nt{height:150px;object-fit:contain;opacity:.9;width:300px}.logo-location{border-radius:50%;height:120px;object-fit:contain;width:120px}.logo-container{margin-bottom:30px}.title{font-size:32px;margin-bottom:15px}.title,.title-auth{color:#333;font-weight:600}.title-auth{font-size:28px;margin-bottom:10px;text-align:center}.subtitle{line-height:1.5}.subtitle,.subtitle-auth{color:#666;font-size:16px;margin-bottom:30px}.subtitle-auth{text-align:center}.text-small{color:#666;font-size:12px}.text-success{color:#4caf50;font-weight:600;margin-bottom:15px}.btn{border:none;border-radius:10px;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:15px 30px;text-decoration:none;transition:all .3s ease}.btn-primary{background:#d32f2f;box-shadow:0 4px 15px #d32f2f4d;color:#fff}.btn-primary:hover{background:#c62828;box-shadow:0 6px 20px #d32f2f66;transform:translateY(-2px)}.btn-primary:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{background:#f5f5f5;border:2px solid #e0e0e0;color:#666}.btn-secondary:hover{background:#e0e0e0;border-color:#ccc}.btn-full{margin-bottom:15px;width:100%}.btn-rounded{border-radius:50px;padding:15px 40px}.form-group{margin-bottom:20px}.form-label{color:#555;display:block;font-weight:500;margin-bottom:8px}.form-input{border:2px solid #e0e0e0;border-radius:10px;font-size:16px;padding:15px;transition:border-color .3s ease;width:100%}.form-input:focus{border-color:#d32f2f;box-shadow:0 0 0 3px #d32f2f1a;outline:none}.input-container{position:relative;width:100%}.input-with-icon{padding-right:50px}.input-icon{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;justify-content:center;padding:5px;position:absolute;right:15px;top:50%;transform:translateY(-50%);transition:color .3s ease}.input-icon:hover{color:#d32f2f}.input-icon svg{height:20px;width:20px}.link{color:#d32f2f;font-weight:500;margin-left:5px;text-decoration:none}.link:hover{text-decoration:underline}.link-center{margin-top:15px;text-align:center}.links{margin-top:20px}.links .link-center{margin-bottom:10px}.message{border:1px solid;border-radius:8px;font-size:14px;margin-bottom:20px;padding:12px}.message.error{background:#ffebee;border-color:#ffcdd2;color:#c62828}.message.success{background:#e8f5e8;border-color:#c8e6c9;color:#2e7d32}.status{gap:8px;margin:15px 0}.status,.status-icon{align-items:center;display:flex;justify-content:center}.status-icon{border-radius:50%;font-size:40px;height:80px;margin:0 auto 20px;transition:all .3s ease;width:80px}.status-icon.pending{background:#f5f5f5;border:3px solid #e0e0e0}.status-icon.success{background:#e8f5e8;border:3px solid #4caf50;color:#4caf50}.status-dot{border-radius:50%;height:12px;width:12px}.status-dot.pending{animation:pulse 1.5s infinite;background:#ff9800}.status-dot.success{background:#4caf50}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.spinner{animation:spin 1s linear infinite;color:#666;font-size:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.email-display{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;color:#333;font-weight:600;margin-bottom:20px;padding:12px}.help{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;padding:20px;text-align:left}.help p{color:#333;font-weight:600;margin-bottom:10px}.help ul{margin:0;padding-left:20px}.help li{color:#666;font-size:14px;margin-bottom:5px}.footer{background:#fff;border:1px solid #e0e0e0;border-radius:15px;margin-top:30px;padding:15px;text-align:center}.content-wide{display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:1200px;position:relative;width:100%}.content-wide .card{max-width:none}.section-title{border-bottom:2px solid #d32f2f;color:#333;font-size:16px;font-weight:600;margin-bottom:15px;padding-bottom:8px}.menu-toggle{background:#000c;border:none;border-radius:8px;cursor:pointer;padding:12px;position:fixed;right:20px;top:20px;z-index:1001}.hamburger-lines{display:flex;flex-direction:column;gap:4px;height:18px;position:relative;width:25px}.hamburger-lines span{background:#fff;border-radius:2px;height:3px;position:absolute;transform-origin:center;transition:all .3s ease;width:25px}.hamburger-lines span:first-child{top:0}.hamburger-lines span:nth-child(2){top:7.5px}.hamburger-lines span:nth-child(3){top:15px}.menu-toggle.open .hamburger-lines span:first-child{transform:rotate(45deg) translate(5px,5px)}.menu-toggle.open .hamburger-lines span:nth-child(2){opacity:0}.menu-toggle.open .hamburger-lines span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.menu-overlay{background:#00000080;left:0;width:100%;z-index:999}.menu-overlay,.menu-panel{height:100%;position:fixed;top:0}.menu-panel{background:#fff;overflow-y:auto;right:-350px;transition:right .3s ease;width:350px;z-index:1000}.menu-panel.open{right:0}.menu-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:15px 20px}.btn-close{background:none;border:none;color:#666;cursor:pointer;font-size:24px;padding:5px}.menu-content{padding:15px}.menu-section{margin-bottom:20px}.menu-group{margin-bottom:15px}.menu-group-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.menu-item-compact{font-size:13px;margin-bottom:4px;padding:8px 12px;text-align:left}.menu-item-logout{border-top:1px solid #e0e0e0;margin-top:15px;padding-top:15px}.admin-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr;margin:0 auto 40px;max-width:1000px;padding:0 10px;width:100%}@media (min-width:768px){.admin-grid{gap:25px;grid-template-columns:repeat(2,1fr);padding:0}}@media (min-width:1024px){.admin-grid{gap:25px;grid-template-columns:repeat(3,1fr)}}.admin-card{max-width:none;width:100%}.admin-icon{height:48px;transition:all .3s ease;width:48px}@media (max-width:480px){.admin-icon{height:36px!important;width:36px!important}.admin-card{padding:25px 20px!important}.admin-title{font-size:16px!important}}.home-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1000px}@media (max-width:768px){.home-grid{gap:20px!important;grid-template-columns:1fr!important}}@media (max-width:480px){.container{padding:15px}.card{margin:10px 0;max-width:100%;padding:25px 20px}.title{font-size:24px}.logo-location{height:100px;width:100px}.logo-nt{height:125px;width:250px}.btn,.form-input{font-size:16px;padding:12px}.btn-rounded{padding:12px 30px}.container-center{justify-content:flex-start;padding:40px 15px 15px}}@media (max-width:320px){.logo-nt{height:100px;width:200px}.card{padding:20px 15px}.admin-grid{gap:15px;padding:0 5px}}.pwa-install-overlay{align-items:center;background:#000000b3;display:flex;height:100%;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:1000}.pwa-install-modal{animation:pwa-install-slide-in .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:400px;overflow-y:auto;width:100%}@keyframes pwa-install-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.pwa-install-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px 20px 0}.pwa-install-header h3{color:#333;font-size:1.4em;font-weight:600;margin:0}.pwa-install-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:24px;height:35px;justify-content:center;padding:5px;transition:background-color .2s ease;width:35px}.pwa-install-close:hover{background:#f5f5f5;color:#666}.pwa-install-content{padding:0 20px;text-align:center}.pwa-install-icon{font-size:3em;margin-bottom:15px}.pwa-install-description{color:#666;line-height:1.5;margin-bottom:25px}.pwa-install-steps{margin-bottom:20px;text-align:left}.pwa-install-step{align-items:flex-start;background:#f8f9fa;border-left:4px solid #d32f2f;border-radius:8px;display:flex;margin-bottom:20px;padding:15px}.pwa-install-step-icon{flex-shrink:0;font-size:1.5em;margin-right:15px;text-align:center;width:30px}.pwa-install-step-content{flex:1 1}.pwa-install-step-text{color:#333;font-weight:600;margin-bottom:5px}.pwa-install-step-detail{color:#666;font-size:.9em;line-height:1.4}.pwa-install-note{background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;color:#1565c0;font-size:.9em;line-height:1.4;padding:15px;text-align:left}.pwa-install-footer{border-top:1px solid #eee;margin-top:20px;padding:20px}.pwa-install-button{background:#d32f2f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;padding:12px 20px;transition:background-color .2s ease;width:100%}.pwa-install-button:hover{background:#b71c1c}.pwa-install-button:active{transform:translateY(1px)}@media (max-width:480px){.pwa-install-overlay{padding:10px}.pwa-install-modal{max-height:95vh}.pwa-install-header{padding:15px 15px 0}.pwa-install-content{padding:0 15px}.pwa-install-footer{padding:15px}.pwa-install-step{padding:12px}.pwa-install-step-icon{font-size:1.3em;margin-right:12px}}.squad-container{margin-top:20px;min-height:100vh;padding:15px}.squad-title{color:#333;font-size:2em;font-weight:700;margin-bottom:10px;text-align:center}.squad-last-updated{color:#6c757d;font-size:1.1em;margin-bottom:20px;text-align:center}.squad-inventory-holder{margin-bottom:30px;margin-top:20px}.squad-inventory-item{background-color:#f9f9f9;border-bottom:1px solid #ccc;border-radius:8px;display:flex;font-size:1.2em;justify-content:space-between;margin-bottom:10px;padding:15px 20px;transition:background-color .3s ease}.squad-inventory-item:nth-child(odd){background-color:#f1f1f1}.squad-inventory-item:hover{background-color:#e8e8e8}.squad-medication-name{color:#333;flex:1 1;font-weight:700}.squad-inventory-count{color:#d32f2f;font-size:1.1em;font-weight:700}.squad-change-inventory-btn,.squad-inventory-logs-btn{background-color:#d32f2f;border:none;border-radius:10px;box-shadow:0 4px 15px #d32f2f4d;color:#fff;cursor:pointer;display:block;font-size:1.1em;font-weight:600;margin:10px auto;max-width:300px;padding:15px 30px;transition:all .3s ease;width:90%}.squad-change-inventory-btn:hover,.squad-inventory-logs-btn:hover{background-color:#c62828;box-shadow:0 6px 20px #d32f2f66;transform:translateY(-2px)}.squad-change-inventory-btn:disabled{background-color:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.squad-modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.squad-modal-content{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:30px;position:relative;width:90%}.squad-modal-header{border-bottom:2px solid #d32f2f;color:#333;font-size:1.8em;font-weight:600;margin-bottom:20px;padding-bottom:10px;text-align:center}.squad-modal-instructions{background:#fff3f3;border-left:4px solid #f50505;border-radius:8px;color:#f50505;font-size:.9em;line-height:1.5;margin-bottom:20px;padding:15px}.squad-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:24px;padding:5px;position:absolute;right:20px;top:15px}.squad-form-section{margin-bottom:25px}.squad-form-section h6{border-bottom:1px solid #e0e0e0;color:#333;font-size:1.1em;font-weight:600;margin-bottom:15px;padding-bottom:5px}.squad-form-group{margin-bottom:15px}.squad-form-label{color:#555;display:block;font-weight:500;margin-bottom:5px}.squad-form-input,.squad-form-select,.squad-form-textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:1em;padding:12px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.squad-form-input:focus,.squad-form-select:focus,.squad-form-textarea:focus{border-color:#d32f2f;box-shadow:0 0 0 3px #d32f2f1a;outline:none}.squad-form-textarea{min-height:80px;resize:vertical}.squad-signature-overlay{align-items:center;background:#000c;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.squad-signature-container{background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000080;padding:20px;text-align:center}.squad-signature-title{color:#333;font-size:1.5em;margin-bottom:15px}.squad-signature-canvas{background-color:#fff;border:2px solid #333;border-radius:8px;cursor:crosshair;touch-action:none}.squad-signature-controls{display:flex;gap:15px;justify-content:center;margin-top:15px}.squad-signature-btn{border:none;border-radius:8px;cursor:pointer;font-size:1em;font-weight:600;padding:10px 20px;transition:all .3s ease}.squad-signature-btn.clear{background-color:#666;color:#fff}.squad-signature-btn.clear:hover{background-color:#555}.squad-signature-btn.confirm{background-color:#d32f2f;color:#fff}.squad-signature-btn.confirm:hover{background-color:#c62828}.squad-signature-placeholder{align-items:center;background-color:#f8f9fa;border:1px solid #ccc;border-radius:8px;color:#666;display:flex;font-style:italic;height:120px;justify-content:center;margin-top:10px;width:100%}.squad-signature-image{border-radius:4px;max-height:120px;max-width:100%;object-fit:contain}.squad-btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:1em;font-weight:600;padding:12px 20px;transition:all .3s ease}.squad-btn-primary{background:#d32f2f;box-shadow:0 4px 15px #d32f2f4d;color:#fff}.squad-btn-primary:hover{background:#c62828;box-shadow:0 6px 20px #d32f2f66;transform:translateY(-2px)}.squad-btn-secondary{background:#666;color:#fff}.squad-btn-secondary:hover{background:#555}.squad-btn-full{margin-bottom:10px;width:100%}.squad-upload-btn{background-color:#d32f2f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;padding:12px 25px;transition:all .3s ease}.squad-upload-btn:hover{background-color:#c62828}.squad-image-preview{border:1px solid #ccc;border-radius:8px;margin-top:10px;max-height:200px;max-width:100%;object-fit:cover}.squad-history-table{border-collapse:collapse;font-size:.9em;margin-top:20px;width:100%}.squad-history-table td,.squad-history-table th{border:1px solid #ddd;padding:8px;text-align:left}.squad-history-table th{background-color:#f2f2f2;color:#333;font-weight:600}.squad-history-table tr:nth-child(2n){background-color:#f9f9f9}.squad-history-table tr:hover{background-color:#f5f5f5}.squad-loading{align-items:center;color:#666;display:flex;font-size:1.2em;height:200px;justify-content:center}.squad-loading:after{animation:squad-spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#d32f2f;content:"";height:20px;margin-left:10px;width:20px}@keyframes squad-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.squad-inventory-item{align-items:flex-start;flex-direction:column;gap:5px}.squad-modal-content{margin:10px;padding:20px;width:95%}.squad-signature-canvas{height:200px;width:100%}.squad-signature-controls{flex-direction:column;gap:10px}.squad-signature-btn{width:100%}.squad-change-inventory-btn,.squad-inventory-logs-btn{margin:10px 0;width:100%}}@media (max-width:480px){.squad-container{padding:10px}.squad-title{font-size:1.5em}.squad-inventory-item{font-size:1.1em;padding:12px 15px}.squad-modal-content{padding:15px}.squad-form-input,.squad-form-select,.squad-form-textarea{padding:10px}}.station-container{margin-top:20px;min-height:100vh;padding:15px}.station-title{color:#333;font-size:2em;font-weight:700;margin-bottom:10px;text-align:center}.station-last-updated{color:#6c757d;font-size:1.1em;margin-bottom:20px;text-align:center}.station-inventory-holder{margin-bottom:30px;margin-top:20px}.station-inventory-item{background-color:#f9f9f9;border-bottom:1px solid #ccc;border-radius:8px;display:flex;font-size:1.2em;justify-content:space-between;margin-bottom:10px;padding:15px 20px;transition:background-color .3s ease}.station-inventory-item:nth-child(odd){background-color:#f1f1f1}.station-inventory-item:hover{background-color:#e8e8e8}.station-medication-name{color:#333;flex:1 1;font-weight:700}.station-inventory-count{color:#d32f2f;font-size:1.1em;font-weight:700}.station-change-inventory-btn,.station-inventory-logs-btn{background-color:#d32f2f;border:none;border-radius:10px;box-shadow:0 4px 15px #d32f2f4d;color:#fff;cursor:pointer;display:block;font-size:1.1em;font-weight:600;margin:10px auto;max-width:300px;padding:15px 30px;transition:all .3s ease;width:90%}.station-change-inventory-btn:hover,.station-inventory-logs-btn:hover{background-color:#c62828;box-shadow:0 6px 20px #d32f2f66;transform:translateY(-2px)}.station-change-inventory-btn:disabled{background-color:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.station-modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.station-modal-content{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;padding:30px;position:relative;width:90%}.station-modal-header{border-bottom:2px solid #d32f2f;color:#333;font-size:1.8em;font-weight:600;margin-bottom:20px;padding-bottom:10px;text-align:center}.station-modal-instructions{background:#fff3f3;border-left:4px solid #f50505;border-radius:8px;color:#f50505;font-size:.9em;line-height:1.5;margin-bottom:20px;padding:15px}.station-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:24px;padding:5px;position:absolute;right:20px;top:15px}.station-form-section{margin-bottom:25px}.station-form-section h6{border-bottom:1px solid #e0e0e0;color:#333;font-size:1.1em;font-weight:600;margin-bottom:15px;padding-bottom:5px}.station-form-group{margin-bottom:15px}.station-form-label{color:#555;display:block;font-weight:500;margin-bottom:5px}.station-form-input,.station-form-select,.station-form-textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:1em;padding:12px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.station-form-input:focus,.station-form-select:focus,.station-form-textarea:focus{border-color:#d32f2f;box-shadow:0 0 0 3px #d32f2f1a;outline:none}.station-form-textarea{min-height:80px;resize:vertical}.station-quantities-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px}.station-quantities-section h6{border-bottom:2px solid #d32f2f;color:#d32f2f;font-size:1.2em;font-weight:700;margin-bottom:15px;padding-bottom:8px;text-align:center}.station-quantities-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.station-radio-group{display:flex;gap:20px;margin-bottom:10px;margin-top:8px}.station-radio-item{align-items:center;display:flex;gap:8px}.station-radio-item input[type=radio]{margin:0;width:auto}.station-radio-item label{cursor:pointer;margin:0}.station-expired-warning{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#dc3545!important;display:none;font-size:.9em;margin-top:8px;padding:10px}.station-expired-warning.show{display:block}.station-signature-overlay{align-items:center;background:#000c;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.station-signature-container{background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000080;padding:20px;text-align:center}.station-signature-title{color:#333;font-size:1.5em;margin-bottom:15px}.station-signature-canvas{background-color:#fff;border:2px solid #333;border-radius:8px;cursor:crosshair;touch-action:none}.station-signature-controls{display:flex;gap:15px;justify-content:center;margin-top:15px}.station-signature-btn{border:none;border-radius:8px;cursor:pointer;font-size:1em;font-weight:600;padding:10px 20px;transition:all .3s ease}.station-signature-btn.clear{background-color:#666;color:#fff}.station-signature-btn.clear:hover{background-color:#555}.station-signature-btn.confirm{background-color:#d32f2f;color:#fff}.station-signature-btn.confirm:hover{background-color:#c62828}.station-signature-placeholder{align-items:center;background-color:#f8f9fa;border:1px solid #ccc;border-radius:8px;color:#666;display:flex;font-style:italic;height:120px;justify-content:center;margin-top:10px;width:100%}.station-signature-image{border-radius:4px;max-height:120px;max-width:100%;object-fit:contain}.station-btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:1em;font-weight:600;padding:12px 20px;transition:all .3s ease}.station-btn-primary{background:#d32f2f;box-shadow:0 4px 15px #d32f2f4d;color:#fff}.station-btn-primary:hover{background:#c62828;box-shadow:0 6px 20px #d32f2f66;transform:translateY(-2px)}.station-btn-secondary{background:#666;color:#fff}.station-btn-secondary:hover{background:#555}.station-btn-full{margin-bottom:10px;width:100%}.station-upload-btn{background-color:#d32f2f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;padding:12px 25px;transition:all .3s ease}.station-upload-btn:hover{background-color:#c62828}.station-image-preview{border:1px solid #ccc;border-radius:8px;margin-top:10px;max-height:200px;max-width:100%;object-fit:cover}.station-history-table{border-collapse:collapse;font-size:.9em;margin-top:20px;width:100%}.station-history-table td,.station-history-table th{border:1px solid #ddd;padding:8px;text-align:left}.station-history-table th{background-color:#f2f2f2;color:#333;font-weight:600}.station-history-table tr:nth-child(2n){background-color:#f9f9f9}.station-history-table tr:hover{background-color:#f5f5f5}.station-signature-required{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:.9em;margin-bottom:15px;padding:8px 12px;text-align:center}.station-loading{align-items:center;color:#666;display:flex;font-size:1.2em;height:200px;justify-content:center}.station-loading:after{animation:station-spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#d32f2f;content:"";height:20px;margin-left:10px;width:20px}@keyframes station-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.station-inventory-item{align-items:flex-start;flex-direction:column;gap:5px}.station-modal-content{margin:10px;max-width:100%;padding:20px;width:95%}.station-signature-canvas{height:200px;width:100%}.station-signature-controls{flex-direction:column;gap:10px}.station-signature-btn{width:100%}.station-change-inventory-btn,.station-inventory-logs-btn{margin:10px 0;width:100%}.station-radio-group{flex-direction:column;gap:10px}.station-quantities-grid{grid-template-columns:1fr}}@media (max-width:480px){.station-container{padding:10px}.station-title{font-size:1.5em}.station-inventory-item{font-size:1.1em;padding:12px 15px}.station-modal-content{padding:15px}.station-form-input,.station-form-select,.station-form-textarea{padding:10px}.station-quantities-section{padding:15px}}.engine-container{margin-top:20px;min-height:100vh;padding:15px}.engine-title{color:#333;font-size:2em;font-weight:700;margin-bottom:10px;text-align:center}.engine-last-updated{color:#6c757d;font-size:1.1em;margin-bottom:20px;text-align:center}.engine-inventory-holder{margin-bottom:30px;margin-top:20px}.engine-inventory-item{background-color:#f9f9f9;border-bottom:1px solid #ccc;border-radius:8px;display:flex;font-size:1.2em;justify-content:space-between;margin-bottom:10px;padding:15px 20px;transition:background-color .3s ease}.engine-inventory-item:nth-child(odd){background-color:#f1f1f1}.engine-inventory-item:hover{background-color:#e8e8e8}.engine-medication-name{color:#333;flex:1 1;font-weight:700}.engine-inventory-count{color:#d32f2f;font-size:1.1em;font-weight:700}.engine-change-inventory-btn,.engine-inventory-logs-btn{background-color:#d32f2f;border:none;border-radius:10px;box-shadow:0 4px 15px #d32f2f4d;color:#fff;cursor:pointer;display:block;font-size:1.1em;font-weight:600;margin:10px auto;max-width:300px;padding:15px 30px;transition:all .3s ease;width:90%}.engine-change-inventory-btn:hover,.engine-inventory-logs-btn:hover{background-color:#c62828;box-shadow:0 6px 20px #d32f2f66;transform:translateY(-2px)}.engine-change-inventory-btn:disabled{background-color:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.engine-modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.engine-modal-content{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:30px;position:relative;width:90%}.engine-modal-header{border-bottom:2px solid #d32f2f;color:#333;font-size:1.8em;font-weight:600;margin-bottom:20px;padding-bottom:10px;text-align:center}.engine-modal-instructions{background:#fff3f3;border-left:4px solid #f50505;border-radius:8px;color:#f50505;font-size:.9em;line-height:1.5;margin-bottom:20px;padding:15px}.engine-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:24px;padding:5px;position:absolute;right:20px;top:15px}.engine-form-section{margin-bottom:25px}.engine-form-section h6{border-bottom:1px solid #e0e0e0;color:#333;font-size:1.1em;font-weight:600;margin-bottom:15px;padding-bottom:5px}.engine-form-group{margin-bottom:15px}.engine-form-label{color:#555;display:block;font-weight:500;margin-bottom:5px}.engine-form-input,.engine-form-select,.engine-form-textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:1em;padding:12px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.engine-form-input:focus,.engine-form-select:focus,.engine-form-textarea:focus{border-color:#d32f2f;box-shadow:0 0 0 3px #d32f2f1a;outline:none}.engine-form-textarea{min-height:80px;resize:vertical}.engine-signature-overlay{align-items:center;background:#000c;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.engine-signature-container{background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000080;padding:20px;text-align:center}.engine-signature-title{color:#333;font-size:1.5em;margin-bottom:15px}.engine-signature-canvas{background-color:#fff;border:2px solid #333;border-radius:8px;cursor:crosshair;touch-action:none}.engine-signature-controls{display:flex;gap:15px;justify-content:center;margin-top:15px}.engine-signature-btn{border:none;border-radius:8px;cursor:pointer;font-size:1em;font-weight:600;padding:10px 20px;transition:all .3s ease}.engine-signature-btn.clear{background-color:#666;color:#fff}.engine-signature-btn.clear:hover{background-color:#555}.engine-signature-btn.confirm{background-color:#d32f2f;color:#fff}.engine-signature-btn.confirm:hover{background-color:#c62828}.engine-signature-placeholder{align-items:center;background-color:#f8f9fa;border:1px solid #ccc;border-radius:8px;color:#666;display:flex;font-style:italic;height:120px;justify-content:center;margin-top:10px;width:100%}.engine-signature-image{border-radius:4px;max-height:120px;max-width:100%;object-fit:contain}.engine-btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:1em;font-weight:600;padding:12px 20px;transition:all .3s ease}.engine-btn-primary{background:#d32f2f;box-shadow:0 4px 15px #d32f2f4d;color:#fff}.engine-btn-primary:hover{background:#c62828;box-shadow:0 6px 20px #d32f2f66;transform:translateY(-2px)}.engine-btn-secondary{background:#666;color:#fff}.engine-btn-secondary:hover{background:#555}.engine-btn-full{margin-bottom:10px;width:100%}.engine-upload-btn{background-color:#d32f2f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;padding:12px 25px;transition:all .3s ease}.engine-upload-btn:hover{background-color:#c62828}.engine-image-preview{border:1px solid #ccc;border-radius:8px;margin-top:10px;max-height:200px;max-width:100%;object-fit:cover}.engine-history-table{border-collapse:collapse;font-size:.9em;margin-top:20px;width:100%}.engine-history-table td,.engine-history-table th{border:1px solid #ddd;padding:8px;text-align:left}.engine-history-table th{background-color:#f2f2f2;color:#333;font-weight:600}.engine-history-table tr:nth-child(2n){background-color:#f9f9f9}.engine-history-table tr:hover{background-color:#f5f5f5}.engine-loading{align-items:center;color:#666;display:flex;font-size:1.2em;height:200px;justify-content:center}.engine-loading:after{animation:engine-spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#d32f2f;content:"";height:20px;margin-left:10px;width:20px}@keyframes engine-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.engine-inventory-item{align-items:flex-start;flex-direction:column;gap:5px}.engine-modal-content{margin:10px;padding:20px;width:95%}.engine-signature-canvas{height:200px;width:100%}.engine-signature-controls{flex-direction:column;gap:10px}.engine-signature-btn{width:100%}.engine-change-inventory-btn,.engine-inventory-logs-btn{margin:10px 0;width:100%}}@media (max-width:480px){.engine-container{padding:10px}.engine-title{font-size:1.5em}.engine-inventory-item{font-size:1.1em;padding:12px 15px}.engine-modal-content{padding:15px}.engine-form-input,.engine-form-select,.engine-form-textarea{padding:10px}}.bloodbank-container{background:#f8f9fa;min-height:100vh;padding:60px 20px 20px}.bloodbank-header{margin-bottom:30px;text-align:center}.bloodbank-title{color:#333;font-size:28px;font-weight:600;margin-bottom:5px}.bloodbank-subtitle{color:#666;font-size:14px}.bloodbank-status-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0 auto 25px;max-width:800px}.bloodbank-status-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #0000000f;padding:15px;text-align:center}.bloodbank-status-card.alert{background:#fff5f5;border-color:#f44336}.bloodbank-status-card.warning{background:#fff8e1;border-color:#ff9800}.bloodbank-status-card.good{background:#f1f8e9;border-color:#4caf50}.bloodbank-status-value{color:#333;display:block;font-size:28px;font-weight:700}.bloodbank-status-label{color:#666;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.bloodbank-temp-section{margin:0 auto 25px;max-width:800px}.bloodbank-section-title{border-bottom:2px solid #c62828;color:#333;font-size:16px;font-weight:600;gap:8px;padding-bottom:8px}.bloodbank-section-title,.bloodbank-sensor-card{align-items:center;display:flex;margin-bottom:12px}.bloodbank-sensor-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #0000000f;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:18px}.bloodbank-sensor-info{flex:1 1;min-width:150px}.bloodbank-sensor-name{color:#333;font-size:15px;font-weight:600}.bloodbank-sensor-vehicle{color:#888;font-size:12px;margin-top:2px}.bloodbank-sensor-reading{align-items:center;display:flex;gap:12px}.bloodbank-temp-value{font-family:SF Mono,Fira Mono,monospace;font-size:24px;font-weight:700}.bloodbank-temp-value.normal{color:#2e7d32}.bloodbank-temp-value.excursion{color:#d32f2f}.bloodbank-temp-value.unknown{color:#999}.bloodbank-humidity{color:#888;font-size:13px}.bloodbank-sensor-status{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;text-transform:uppercase}.bloodbank-sensor-status.online{background:#e8f5e9;color:#2e7d32}.bloodbank-sensor-status.excursion{animation:pulse 1.5s infinite;background:#ffebee;color:#c62828}.bloodbank-sensor-status.offline{background:#f5f5f5;color:#999}.bloodbank-sensor-timestamp{color:#999;font-size:11px;margin-top:4px}.bloodbank-inventory-section{margin:0 auto 25px;max-width:800px}.bloodbank-table-wrapper{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #0000000f;overflow-x:auto}.bloodbank-table{border-collapse:collapse;font-size:13px;width:100%}.bloodbank-table thead th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#555;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 10px;text-align:left;text-transform:uppercase;white-space:nowrap}.bloodbank-table tbody td{border-bottom:1px solid #f0f0f0;color:#333;padding:10px;vertical-align:middle}.bloodbank-table tbody tr:hover{background:#f8f9fa}.bloodbank-table tbody tr:last-child td{border-bottom:none}.bloodbank-type-badge{border-radius:6px;display:inline-block;font-family:SF Mono,Fira Mono,monospace;font-size:12px;font-weight:700;padding:3px 10px}.bloodbank-type-badge.O-pos{background:#e3f2fd;color:#1565c0}.bloodbank-type-badge.O-neg{background:#e3f2fd;border:1px solid #90caf9;color:#0d47a1}.bloodbank-type-badge.A-pos{background:#e8f5e9;color:#2e7d32}.bloodbank-type-badge.A-neg{background:#e8f5e9;border:1px solid #a5d6a7;color:#1b5e20}.bloodbank-type-badge.B-pos{background:#fff3e0;color:#e65100}.bloodbank-type-badge.B-neg{background:#fff3e0;border:1px solid #ffcc80;color:#bf360c}.bloodbank-type-badge.AB-pos{background:#f3e5f5;color:#6a1b9a}.bloodbank-type-badge.AB-neg{background:#f3e5f5;border:1px solid #ce93d8;color:#4a148c}.bloodbank-status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;text-transform:uppercase}.bloodbank-status-badge.in-stock{background:#e8f5e9;color:#2e7d32}.bloodbank-status-badge.assigned{background:#e3f2fd;color:#1565c0}.bloodbank-status-badge.transfused{background:#f3e5f5;color:#6a1b9a}.bloodbank-status-badge.returned{background:#fff3e0;color:#e65100}.bloodbank-status-badge.wasted{background:#fbe9e7;color:#bf360c}.bloodbank-status-badge.expired{background:#ffebee;color:#c62828}.bloodbank-expiration{font-size:12px}.bloodbank-expiration.critical{color:#c62828;font-weight:700}.bloodbank-expiration.warning{color:#e65100;font-weight:600}.bloodbank-expiration.ok{color:#333}.bloodbank-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 auto 25px;max-width:800px}.bloodbank-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.bloodbank-btn-primary{background:#c62828;box-shadow:0 4px 15px #c628284d;color:#fff}.bloodbank-btn-primary:hover{background:#b71c1c;box-shadow:0 6px 20px #c6282866;transform:translateY(-2px)}.bloodbank-btn-secondary{background:#f5f5f5;border:2px solid #e0e0e0;color:#555}.bloodbank-btn-secondary:hover{background:#e0e0e0}.bloodbank-btn-full{width:100%}.bloodbank-btn:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.bloodbank-modal-overlay{align-items:flex-start;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding-top:40px;position:fixed;right:0;top:0;z-index:2000}.bloodbank-modal{background:#fff;border-radius:15px;box-shadow:0 20px 60px #0000004d;margin-bottom:40px;max-height:90vh;max-width:550px;overflow-y:auto;width:95%}.bloodbank-modal-header{align-items:center;background:#fff;border-bottom:1px solid #eee;border-radius:15px 15px 0 0;display:flex;justify-content:space-between;padding:20px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.bloodbank-modal-title{color:#333;font-size:20px;font-weight:600}.bloodbank-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:28px;line-height:1;padding:0 5px}.bloodbank-modal-body{padding:20px}.bloodbank-modal-footer{border-top:1px solid #eee;display:flex;gap:10px;padding:15px 20px}.bloodbank-form-group{margin-bottom:18px}.bloodbank-form-label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.bloodbank-form-input,.bloodbank-form-select,.bloodbank-form-textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:15px;padding:12px;transition:border-color .3s ease;width:100%}.bloodbank-form-input:focus,.bloodbank-form-select:focus,.bloodbank-form-textarea:focus{border-color:#c62828;box-shadow:0 0 0 3px #c628281a;outline:none}.bloodbank-form-textarea{min-height:80px;resize:vertical}.bloodbank-form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.bloodbank-custody-timeline{padding-left:20px;position:relative}.bloodbank-custody-timeline:before{background:#e0e0e0;bottom:0;content:"";left:6px;position:absolute;top:0;width:2px}.bloodbank-custody-entry{border-bottom:1px solid #f5f5f5;padding:12px 0 12px 20px;position:relative}.bloodbank-custody-entry:before{background:#c62828;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #e0e0e0;content:"";height:10px;left:-18px;position:absolute;top:16px;width:10px}.bloodbank-custody-entry.system:before{background:#ff9800}.bloodbank-custody-action{color:#333;font-size:14px;font-weight:600;text-transform:capitalize}.bloodbank-custody-details{color:#666;font-size:12px;margin-top:2px}.bloodbank-custody-meta{color:#999;font-size:11px;margin-top:4px}.bloodbank-empty{color:#666;padding:40px 20px;text-align:center}.bloodbank-empty-icon{font-size:48px;margin-bottom:10px}.bloodbank-empty h3{color:#333;margin-bottom:8px}.bloodbank-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.bloodbank-filter-btn{background:#e9ecef;border:none;border-radius:20px;color:#666;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .2s ease}.bloodbank-filter-btn.active{background:#c62828;color:#fff}.bloodbank-filter-btn:hover:not(.active){background:#dee2e6}.bloodbank-signature-overlay{align-items:center;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:3000}.bloodbank-signature-container{background:#fff;border-radius:15px;max-width:550px;padding:20px;text-align:center;width:90%}.bloodbank-signature-canvas{border:2px solid #e0e0e0;border-radius:10px;cursor:crosshair;touch-action:none;width:100%}.bloodbank-signature-controls{display:flex;gap:10px;justify-content:center;margin-top:15px}.bloodbank-signature-image{border:1px solid #e0e0e0;border-radius:5px;max-height:60px;max-width:200px}.bloodbank-tabs{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #0000000f;display:flex;gap:0;margin:0 auto 20px;max-width:800px;overflow:hidden}.bloodbank-tab{background:#fff;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:12px 8px;text-align:center;transition:all .2s ease}.bloodbank-tab.active{background:#fff5f5;border-bottom-color:#c62828;color:#c62828}.bloodbank-tab:hover:not(.active){background:#f8f9fa}@media (max-width:600px){.bloodbank-container{padding:55px 10px 10px}.bloodbank-title{font-size:22px}.bloodbank-status-row{gap:8px;grid-template-columns:repeat(2,1fr)}.bloodbank-sensor-card{align-items:flex-start;flex-direction:column}.bloodbank-form-row{grid-template-columns:1fr}.bloodbank-actions{flex-direction:column}.bloodbank-btn{justify-content:center;width:100%}.bloodbank-tabs{border-radius:8px}.bloodbank-tab{font-size:11px;padding:10px 4px}}@keyframes bb-wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.bb-hazard-badge-critical{animation:pulse 2s ease-in-out infinite}.bb-hazard-badge-critical:hover{animation:pulse 2s ease-in-out infinite,bb-wiggle .5s ease-in-out}.bb-hazard-badge-warning{animation:pulse 3s ease-in-out infinite}@media (max-width:768px){.bb-hazard-badge-critical,.bb-hazard-badge-warning{height:32px!important;right:10px!important;top:10px!important;width:32px!important}.bb-hazard-badge-critical:active,.bb-hazard-badge-warning:active{transform:scale(.95)!important}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.3d131c40.css.map*/