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}body,html{overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:#fff;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-form{background:#2ca49f;border-radius:16px;box-shadow:0 20px 40px #2ca49f33;max-width:400px;padding:40px;text-align:center;width:100%}.login-form h2{color:#fff;font-size:28px;font-weight:700;margin-bottom:8px}.login-subtitle{color:#fffc;font-size:14px;margin-bottom:32px}.input-group{margin-bottom:20px;text-align:left}.input-group input{background:#fff;border:2px solid #ffffff4d;border-radius:8px;box-sizing:border-box;color:#1f2937;font-size:16px;padding:12px 16px;transition:all .3s ease;width:100%}.input-group input:focus{border-color:#fff;box-shadow:0 0 0 3px #fff3;outline:none}.input-group input:disabled{background-color:#ffffff80;cursor:not-allowed}.input-group input::placeholder{color:#9ca3af}.login-button{background:#fff;border:none;border-radius:8px;color:#2ca49f;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:20px;padding:12px 24px;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){background:#f8f9fa;box-shadow:0 8px 16px #ffffff4d;transform:translateY(-2px)}.login-button:disabled{background:#ffffff80;box-shadow:none;color:#2ca49f80;cursor:not-allowed;transform:none}.login-button.loading{position:relative}.message{align-items:center;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:8px;margin:10px 0;padding:12px 16px}.message.error{background-color:#ef44441a;border:1px solid #ef44444d;color:#fff}.message.success{background-color:#22c55e1a;border:1px solid #22c55e4d;color:#fff}.error-icon,.success-icon{font-size:16px}.login-footer{border-top:1px solid #fff3;margin-top:32px;padding-top:20px}.login-footer p{color:#ffffffb3;font-size:12px;margin:0}@media (max-width:480px){.login-container{padding:10px}.login-form{padding:30px 20px}.login-form h2{font-size:24px}}.sidebar{background:#248b85;box-shadow:2px 0 15px #2aa59d4d;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;padding:20px 0;position:fixed;top:0;transition:width .3s ease;width:250px;z-index:1000}.sidebar.collapsed{width:70px}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:30px;padding:0 20px 20px}.sidebar-title{font-size:18px;font-weight:600;margin:0;text-shadow:0 1px 2px #0000001a;transition:opacity .3s ease}.collapsed .sidebar-title{display:none;opacity:0}.toggle-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;padding:8px;transition:all .2s ease}.toggle-button:hover{background:#fff3;transform:scale(1.05)}.sidebar-nav{flex:1 1;padding:0 10px}.menu-item{align-items:center;background-color:initial;border:none;border-radius:10px;box-sizing:border-box;color:inherit;cursor:pointer;display:flex;margin:4px 0;overflow:hidden;padding:14px 16px;position:relative;text-decoration:none;transition:all .3s ease;width:calc(100% - 8px)}.collapsed .menu-item{justify-content:center;margin:4px 5px;padding:14px 8px;width:calc(100% - 10px)}.menu-item:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.menu-item:hover:before{left:100%}.menu-item:hover{background:#ffffff1a;box-shadow:0 4px 12px #0000001a;transform:translateX(5px)}.menu-item.active{background:#fff3;border-left:5px solid #fff;box-shadow:0 4px 16px #0003;transform:translateX(3px)}.collapsed .menu-item.active{border:2px solid #fff9;transform:none}.menu-item-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));flex-shrink:0;font-size:20px;margin-right:12px;min-width:20px;text-align:center;transition:all .3s ease}.collapsed .menu-item-icon{align-items:center;display:flex;font-size:20px;height:20px;justify-content:center;margin-right:0;width:20px}.menu-item-label{font-size:14px;font-weight:500;text-shadow:0 1px 2px #0000001a;transition:opacity .3s ease}.collapsed .menu-item-label{display:none;opacity:0}.logout-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:10px;box-shadow:0 4px 12px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;margin:20px 15px;overflow:hidden;padding:12px 18px;position:relative;transition:all .3s ease}.logout-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.logout-button:hover:before{left:100%}.logout-button:hover{background:#e53e3e33;border-color:#e53e3e66;box-shadow:0 6px 16px #e53e3e33;transform:translateY(-2px)}.collapsed .logout-button{box-sizing:border-box;margin:20px 12px;min-width:46px;padding:12px;width:calc(100% - 24px)}.logout-button-text{transition:opacity .3s ease}.collapsed .logout-button-text{display:none;opacity:0}.logout-button-icon{display:none;font-size:16px}.collapsed .logout-button-icon{display:block}@media (max-width:768px){.sidebar{background:linear-gradient(90deg,#2aa59d,#43b091);box-shadow:none;height:auto;position:relative}.sidebar,.sidebar.collapsed{width:100%}.sidebar-header{padding:0 20px}.menu-item{margin:6px 10px;padding:16px 20px}.logout-button{margin:20px}}.menu-item.tooltip{position:relative}.collapsed .menu-item:hover:after{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#2aa59d,#43b091);border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 4px 16px #2aa59d66;color:#fff;content:attr(data-tooltip);font-size:12px;font-weight:500;left:80px;padding:10px 14px;position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap;z-index:1001}.collapsed .menu-item:hover:before{border:6px solid #0000;border-right-color:#2aa59d;content:"";filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));left:70px;position:absolute;top:50%;transform:translateY(-50%);z-index:1001}.sidebar-divider{background:#ffffff1a;height:1px;margin:20px 16px}.restricted-section{margin-top:10px}.restricted-label{border-bottom:1px solid #ffffff1a;color:#fff9;font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 16px 10px;padding:8px 0;text-transform:uppercase}.menu-item.disabled{cursor:not-allowed;opacity:.5;position:relative}.menu-item.disabled:hover{background:#0000;box-shadow:none;transform:none}.menu-item.disabled:hover:before{display:none}.menu-item.disabled .menu-item-icon,.menu-item.disabled .menu-item-label{filter:grayscale(.3);opacity:.7}.restricted-indicator{font-size:12px;opacity:.8;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.collapsed .restricted-indicator{display:none}.menu-item.disabled:hover:after{background:linear-gradient(135deg,#dc3545,#c82333);border:1px solid #fff3;border-radius:8px;box-shadow:0 4px 12px #dc35454d;color:#fff;content:attr(data-tooltip);font-size:12px;left:80px;padding:10px 14px;white-space:nowrap}.menu-item.disabled:hover:after,.menu-item.disabled:hover:before{position:absolute;top:50%;transform:translateY(-50%);z-index:1001}.menu-item.disabled:hover:before{border:6px solid #0000;border-right-color:#dc3545;content:"";filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));left:70px}.collapsed .restricted-section,.collapsed .sidebar-divider{display:none}.equipment-page{background-color:#fff;margin:0;min-height:100vh;min-width:0;padding:20px}.equipment-page,.page-header{box-sizing:border-box;max-width:100%;width:100%}.page-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:30px}.page-title{color:#374151;font-size:2rem;font-weight:700;margin:0 0 10px}.page-subtitle{color:#6b7280;font-size:1rem;margin:0}.nav-tabs{background-color:#fff;border-bottom:2px solid #14b8a6;border-radius:8px 8px 0 0;box-sizing:border-box;display:flex;margin-bottom:30px;max-width:100%;overflow:hidden;width:100%}.nav-tab{align-items:center;background-color:initial;border-bottom:3px solid #0000;color:#6b7280;display:flex;font-weight:500;gap:8px;padding:16px 24px;transition:all .2s ease}.nav-tab:hover{background-color:#f0fdfa;color:#374151}.nav-tab.active{background-color:#14b8a6;border-bottom-color:#0d9488}.nav-tab-icon{font-size:16px}.section-header{align-items:flex-start;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px;width:100%}.section-header-left{display:flex;flex-direction:column;gap:12px}.section-header-right{align-items:center;display:flex;gap:12px}.section-title{color:#374151;font-size:1.5rem;font-weight:600;margin:0}.category-selector{align-items:center;display:flex;gap:10px}.btn{border-radius:6px;box-sizing:border-box;gap:6px;line-height:1.2;min-height:36px;padding:10px 16px;white-space:nowrap}.btn-icon{line-height:1}.btn-primary{background-color:#14b8a6;border:1px solid #14b8a6}.btn-primary:hover:not(:disabled){background-color:#0d9488;border-color:#0d9488;transform:translateY(-1px)}.btn-secondary{border:1px solid #6b7280}.btn-secondary:hover:not(:disabled){background-color:#4b5563;border-color:#4b5563}.btn-success{background-color:#10b981;border:1px solid #10b981}.btn-success:hover:not(:disabled){background-color:#059669;border-color:#059669}.btn-danger{border:1px solid #ef4444}.btn-danger:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626}.btn-outline{background-color:#fff;border:1px solid #14b8a6;color:#14b8a6}.btn-outline:hover:not(:disabled){background-color:#f0fdfa;border-color:#0d9488;color:#0d9488}.btn-disabled{background-color:#d1d5db;border:1px solid #d1d5db;color:#9ca3af;cursor:not-allowed}.btn-sm{font-size:11px;min-height:24px;padding:4px 8px}.btn-xs{font-size:9px;line-height:1.1;min-height:18px;padding:2px 4px}.categories-grid{grid-gap:20px;display:grid;gap:20px;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:30px;max-width:100%}.categories-grid,.category-card{box-sizing:border-box;width:100%}.category-card{background:#fff;border:2px solid #14b8a6;border-radius:12px;box-shadow:0 1px 3px #14b8a61a;cursor:default;padding:20px;transition:all .2s ease}.category-card:hover{border-color:#0d9488;box-shadow:0 4px 12px #14b8a626;transform:translateY(-2px)}.category-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.category-info{flex:1 1;min-width:0}.category-title{color:#374151;font-size:1.125rem;font-weight:600;margin:0 0 4px}.category-description{color:#6b7280;font-size:.875rem;line-height:1.4;margin:0 0 8px}.category-lab{margin-top:8px}.lab-badge{align-items:center;background:linear-gradient(135deg,#14b8a6,#0d9488);border-radius:12px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.category-stats{border-bottom:1px solid #14b8a6;border-top:1px solid #14b8a6;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 0}.stat-item{text-align:center}.stat-number{color:#374151;font-size:1.5rem;font-weight:700;line-height:1}.stat-number.available{color:#14b8a6}.stat-label{color:#6b7280;font-size:.75rem;font-weight:500;margin-top:4px;text-transform:uppercase}.category-actions{display:flex;flex-direction:column;gap:4px}.search-bar{margin-bottom:20px;position:relative}.search-input{border:1px solid #14b8a6;box-sizing:border-box;color:#374151;transition:border-color .2s ease}.search-input::placeholder{color:#6b7280}.search-input:focus{border-color:#0d9488;box-shadow:0 0 0 3px #14b8a61a}.search-icon{color:#14b8a6}.equipment-table-container{background:#fff;border:1px solid #14b8a6;border-radius:12px;box-shadow:0 1px 3px #14b8a61a;overflow:hidden}.table-header{background-color:#f0fdfa;border-bottom:1px solid #14b8a6;padding:20px}.table-title{color:#374151;font-size:1.125rem;font-weight:600;margin:0}.equipment-table{border-collapse:collapse;width:100%}.equipment-table th{background-color:#f0fdfa;border-bottom:1px solid #14b8a6;color:#374151;font-size:12px;font-weight:600;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.equipment-table td{border-bottom:1px solid #d6f5f2;padding:16px;vertical-align:top}.equipment-row{transition:background-color .2s ease}.equipment-row:hover{background-color:#f0fdfa}.equipment-cell{min-width:200px}.equipment-info{display:flex;flex-direction:column;gap:4px}.equipment-name{color:#374151;font-size:14px}.equipment-model{color:#6b7280;font-size:13px}.warranty-status{font-size:12px;font-weight:500;margin-top:2px}.warranty-status.expired{color:#ef4444}.warranty-status.warning{color:#f59e0b}.warranty-status.valid{color:#10b981}.serial-cell{min-width:140px}.serial-number{background-color:#f0fdfa;border:1px solid #14b8a6;border-radius:4px;color:#374151;font-family:Courier New,monospace;font-size:13px;padding:4px 8px}.status-badge{border:1px solid;padding:4px 12px;white-space:nowrap}.condition-badge{border-radius:8px;display:inline-block;font-size:12px;font-weight:500;padding:3px 8px;white-space:nowrap}.condition-badge.excellent{background-color:#d1fae5;color:#065f46}.condition-badge.good{background-color:#dcfce7;color:#166534}.condition-badge.fair{background-color:#fef3c7;color:#92400e}.condition-badge.poor{background-color:#fee2e2;color:#991b1b}.assigned-cell,.location-cell{color:#374151;font-size:14px;min-width:120px}.actions-cell{min-width:140px}.action-buttons{gap:6px;justify-content:center}.empty-icon{color:#14b8a6;font-size:4rem;opacity:.8}.empty-title{margin:0 0 8px}.empty-message{color:#6b7280;font-size:1rem;margin:0 0 16px}.loading-container{background-color:#fff}.loading-content{background:#fff;border:1px solid #14b8a6;border-radius:12px;box-shadow:0 4px 12px #14b8a61a;padding:40px;text-align:center}.loading-spinner{border:4px solid #d6f5f2;margin:0 auto 16px}.loading-text{font-size:16px;font-weight:500}.modal-overlay{background-color:#14b8a680}.modal{animation:modalSlideIn .3s ease-out;background:#fff;border:1px solid #14b8a6;border-radius:12px;box-shadow:0 25px 50px -12px #14b8a640;max-height:90vh;overflow-y:auto;width:100%}.category-modal{max-width:500px}.equipment-modal{max-width:700px}.modal-header{border-bottom:1px solid #14b8a6}.modal-title{color:#374151}.modal-close{border-radius:4px;height:32px;padding:4px;transition:background-color .2s ease;width:32px}.modal-close:hover{background-color:#f0fdfa}.modal-form{padding:30px}.modal-actions{border-top:1px solid #d6f5f2;justify-content:flex-end;margin-top:24px}.form-row{margin-bottom:20px}.form-label{font-weight:500;margin-bottom:6px}.form-label.required:after{color:#ef4444;content:" *"}.form-input,.form-select,.form-textarea{border:1px solid #14b8a6;border-radius:6px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#0d9488;box-shadow:0 0 0 3px #14b8a61a}.color-input-wrapper{position:relative}.color-input{padding-left:40px}.color-preview{border:1px solid #14b8a6;border-radius:4px;height:20px;left:8px;position:absolute;top:50%;transform:translateY(-50%);width:20px}.tab-content{background:#fff;border:1px solid #14b8a6;border-radius:0 0 8px 8px;border-top:none;box-sizing:border-box;max-width:100%;padding:20px;width:100%}@media (max-width:768px){.equipment-page{padding:16px}.page-title{font-size:1.5rem}.section-header{align-items:stretch}.section-header,.section-header-right{flex-direction:column}.categories-grid{gap:16px;grid-template-columns:1fr}.category-actions{gap:4px}.category-actions,.nav-tabs{flex-direction:column}.nav-tab{justify-content:center}.form-row{gap:16px;grid-template-columns:1fr}.modal{margin:10px;max-height:calc(100vh - 20px)}.modal-form{padding:20px}.modal-actions{flex-direction:column}.table-wrapper{font-size:13px}.equipment-table td,.equipment-table th{padding:12px 8px}.action-buttons{flex-direction:column;gap:4px}}@media (max-width:480px){.equipment-table td,.equipment-table th{padding:8px 6px}.btn{font-size:13px;padding:8px 12px}.btn-sm{font-size:11px;padding:6px 10px}.btn-xs{font-size:10px;padding:4px 6px}}.laboratory-cell{min-width:140px}.laboratory-info{display:flex;flex-direction:column;gap:2px}.laboratory-name{color:#374151;font-size:14px;font-weight:500}.laboratory-id{color:#6b7280;font-size:12px;font-weight:400}.no-laboratory{color:#9ca3af;font-style:italic}.status-badge{font-size:12px;padding:4px 8px}.laboratory-filter{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;margin-right:8px;min-width:160px;padding:8px 12px}.laboratory-filter:focus{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61a;outline:none}.loading-spinner{border:2px solid #f3f3f3;border-top-color:#14b8a6;display:inline-block;height:16px;margin-right:8px;width:16px}.loading-spinner-large{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#14b8a6;display:block;height:40px;margin:0 auto 20px;width:40px}.success-modal{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #16a34a}.success-modal .modal-header{background:#16a34a;color:#fff;text-align:center}.success-icon{font-size:2rem;margin-bottom:10px}.success-modal h2{color:#16a34a;margin:0}.success-modal .modal-body p{color:#166534;font-size:1.1rem;margin:0;text-align:center}.error-modal{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #dc2626}.error-modal .modal-header{background:#dc2626;color:#fff;text-align:center}.error-icon{font-size:2rem;margin-bottom:10px}.error-modal h2{color:#dc2626;margin:0}.error-modal .modal-body p{color:#991b1b;font-size:1.1rem;margin:0;text-align:center}.loading-overlay{background:#000000b3}.loading-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;min-width:300px;padding:40px;text-align:center}.loading-modal p{color:#374151;font-size:1.1rem;font-weight:500;margin:0}.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.image-preview-container{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:12px;margin-top:16px;padding:16px}.image-preview{border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:200px;max-width:300px;object-fit:contain}.btn-sm{border-radius:6px;font-size:13px;padding:6px 12px}.btn-danger{border:none;cursor:pointer;transition:all .2s}.user-management{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh;padding:2rem;position:relative}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#f8f9fae6;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:100}.loading-spinner{background:#fff;border-radius:16px;border-top:4px solid #2aa59d;box-shadow:0 8px 32px #2aa59d26;color:#495057;font-size:1.1rem;padding:2rem 3rem;text-align:center}.loading-spinner:before{animation:pulse 2s infinite;content:"⏳";display:block;font-size:24px;margin-bottom:10px}.user-management-header{align-items:center;background:linear-gradient(135deg,#2aa59d,#43b091);border-radius:16px;box-shadow:0 8px 32px #2aa59d4d;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:30px;position:relative}.user-management-header:before{background:#ffffff1a;border-radius:50%;content:"";height:200px;position:absolute;right:-20%;top:-50%;transform:rotate(45deg);width:200px}.header-left h1{color:#fff;font-size:2rem;font-weight:700;margin:0 0 .5rem;position:relative;text-shadow:0 2px 4px #0000001a;z-index:2}.header-left p{color:#ffffffe6;font-size:1rem;margin:0;position:relative;z-index:2}.user-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.search-box{flex:1 1;max-width:300px}.search-input{border-radius:12px;box-shadow:0 2px 8px #2aa59d0d;font-size:1rem;padding:.75rem 1rem}.search-input:focus{box-shadow:0 0 0 4px #2aa59d1a;transform:translateY(-1px)}.filter-group{gap:1rem}.filter-select{border-radius:12px;box-shadow:0 2px 8px #2aa59d0d;font-size:.9rem;padding:.75rem}.filter-select:focus{box-shadow:0 0 0 4px #2aa59d1a}.users-table{border-collapse:collapse;width:100%}.users-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#2aa59d;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase;white-space:nowrap}.users-table th.sortable{cursor:pointer;position:relative;transition:all .3s ease;-webkit-user-select:none;user-select:none}.users-table th.sortable:hover{background:#2aa59d1a;color:#43b091}.users-table td{border-bottom:1px solid #e2e8f0;padding:1rem;transition:all .3s ease;vertical-align:middle}.users-table tr:hover{background:#2aa59d0d}.user-name{font-weight:500;gap:.75rem}.user-avatar,.user-name{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#2aa59d,#43b091);border-radius:50%;box-shadow:0 2px 8px #2aa59d4d;color:#fff;font-size:.8rem;font-weight:600;height:36px;justify-content:center;text-transform:uppercase;width:36px}.course-info{display:flex;flex-direction:column;gap:4px}.course-name{color:#1e293b;font-size:.9rem;font-weight:600}.course-details{color:#64748b;font-size:.75rem;font-weight:500}.text-muted{color:#9ca3af;font-size:.85rem;font-style:italic}.role-badge{border-radius:20px;font-size:.8rem;font-weight:500;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.role-admin{background-color:#2aa59d;color:#fff}.role-manager{background-color:#43b091;color:#fff}.role-user{background-color:#6b7280;color:#fff}.role-teacher{background-color:#2aa59d;color:#fff}.role-student{background-color:#3b82f6;color:#fff}.role-laboratory_manager{background-color:#43b091;color:#fff}.status-badge{border-radius:20px;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase}.status-success{background-color:#10b981;color:#fff}.status-warning{background-color:#f59e0b;color:#fff}.status-danger{background-color:#ef4444;color:#fff}.status-secondary{background-color:#6b7280;color:#fff}.profile-badge{border-radius:20px;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.setup-complete{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.setup-pending{background-color:#fef3c7;border:1px solid #fde68a;color:#92400e}.action-buttons{display:flex;gap:.5rem}.btn{font-size:.9rem;font-weight:500;padding:.5rem 1rem}.btn:before{background:#fff3}.btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn-primary{background-color:#2aa59d;box-shadow:0 2px 8px #2aa59d4d}.btn-primary:hover{background-color:#43b091;box-shadow:0 4px 16px #2aa59d66}.btn-secondary{box-shadow:0 2px 8px #6b72804d}.btn-secondary:hover{box-shadow:0 4px 16px #6b728066}.btn-danger{background-color:#ef4444;box-shadow:0 2px 8px #ef44444d}.btn-danger:hover{background-color:#dc2626;box-shadow:0 4px 16px #ef444466}.btn-sm{font-size:.8rem;padding:.375rem .5rem}.modal-overlay{padding:1rem}.modal-content{max-width:500px}.modal-header:before{left:1.5rem;right:1.5rem}.modal-header h2{font-size:1.5rem}.modal-close{height:36px;width:36px}.user-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-row{grid-gap:1rem;gap:1rem}.form-label{font-size:.9rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.form-input,.form-select{background:#fff;border:2px solid #4b5563;font-size:1rem;padding:.75rem}.form-input:focus,.form-select:focus{box-shadow:0 0 0 4px #2aa59d1a;transform:translateY(-1px)}.form-input:hover,.form-select:hover{border-color:#374151}.form-actions{border-top:1px solid #e5e7eb;gap:1rem;margin-top:2rem;padding-top:1rem}.user-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.user-stat-card{background:#fff;border:1px solid #2aa59d1a;border-radius:16px;box-shadow:0 4px 12px #2aa59d14;padding:24px;position:relative;text-align:center;transition:all .3s ease}.user-stat-card:before{background:#2aa59d;border-radius:16px 16px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.user-stat-card:hover{box-shadow:0 8px 24px #2aa59d1f;transform:translateY(-2px)}.user-stat-number{color:#2aa59d;font-size:32px;font-weight:700;margin-bottom:8px}.user-stat-label{color:#64748b;font-size:14px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.empty-state{background:#2aa59d0d;border-radius:12px;margin:20px 0;padding:3rem 2rem}.empty-state:before{content:"👥";display:block;font-size:48px;margin-bottom:16px;opacity:.6}.empty-state p{font-size:1.1rem}.users-table tbody tr{transition:all .3s ease}.users-table tbody tr:hover{background:#2aa59d0d;transform:scale(1.01)}@media (max-width:768px){.user-management{padding:1rem}.user-management-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:20px}.user-controls{align-items:stretch;flex-direction:column}.search-box{max-width:none}.filter-group{justify-content:stretch}.filter-select{flex:1 1}.table-container{overflow-x:auto}.users-table{min-width:800px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.user-stats{gap:16px;grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.user-management{padding:.5rem}.user-management-header{padding:15px}.user-stats{grid-template-columns:1fr}.modal-content{border-radius:12px;margin:10px}}.btn.loading{pointer-events:none;position:relative}.btn.loading:after{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;content:"";height:16px;left:50%;margin:-8px 0 0 -8px;position:absolute;top:50%;width:16px}.users-table th.sortable:focus{outline:3px solid #2aa59d66;outline-offset:2px}.users-table th.sortable:focus:not(:focus-visible){outline:none}.users-table tbody tr{animation:fadeInUp .4s ease-out}.header-right{gap:1rem}.alert,.header-right{align-items:center;display:flex}.alert{border-radius:8px;font-size:14px;font-weight:500;gap:8px;margin-bottom:1rem;padding:12px 16px}.alert-error{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626}.alert-success{background-color:#dcfce7;border:1px solid #bbf7d0;color:#16a34a}.alert-icon{flex-shrink:0;font-size:16px}.form-help{color:#6b7280;display:block;font-size:12px;font-style:italic;margin-top:4px}.btn-icon{font-size:14px;margin-right:6px}.form-validation{align-items:center;display:flex;font-size:12px;gap:4px;margin-top:4px}.form-validation.checking{color:#6b7280}.form-validation.error{color:#dc2626}.form-validation.success{color:#16a34a}.validation-icon{flex-shrink:0;font-size:12px}.input-error{border-color:#dc2626!important;box-shadow:0 0 0 1px #dc2626!important}.input-success{border-color:#16a34a!important;box-shadow:0 0 0 1px #16a34a!important}.requests-container{margin-top:20px}.table-container{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #2aa59d1a;border-radius:16px;box-shadow:0 8px 32px #2aa59d1a;overflow-x:auto;overflow-y:visible;position:relative}.table-container:after{background:linear-gradient(270deg,#ffffffe6,#0000);bottom:0;content:"";opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:30px}.table-container:not(.scrolled-end):after{opacity:1}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.table-container::-webkit-scrollbar-thumb{background:#2aa59d;border-radius:10px}.table-container::-webkit-scrollbar-thumb:hover{background:#43b091}.requests-table{border-collapse:collapse;min-width:1200px;width:100%}.requests-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#2aa59d;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:16px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.requests-table th.sortable{cursor:pointer;position:relative;transition:all .3s ease;-webkit-user-select:none;user-select:none}.requests-table th.sortable:hover{background:#2aa59d1a;color:#43b091}.requests-table td{border-bottom:1px solid #e2e8f0;padding:16px 12px;transition:all .3s ease;vertical-align:middle}.requests-table tr:hover{background:#2aa59d0d}.item-name-cell{min-width:200px}.item-info{display:flex;flex-direction:column;gap:2px}.item-name{color:#1e293b;font-size:14px;font-weight:500}.item-number{color:#64748b;font-size:12px}.adviser-cell,.borrower-cell{min-width:150px}.adviser-info,.borrower-info{align-items:center;display:flex;gap:8px}.adviser-avatar,.borrower-avatar{align-items:center;background:linear-gradient(135deg,#2aa59d,#43b091);border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:600;height:32px;justify-content:center;text-transform:uppercase;width:32px}.adviser-name,.borrower-name{color:#1e293b;font-size:14px;font-weight:500}.category-badge{background:#2aa59d1a;border-radius:12px;color:#2aa59d;font-size:12px;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.laboratory-cell{color:#374151;font-size:14px}.quantity-badge,.quantity-cell{text-align:center}.quantity-badge{background:#dbeafe;border-radius:12px;color:#1e40af;display:inline-block;font-size:12px;font-weight:600;min-width:30px;padding:4px 8px}.date-cell{color:#64748b;font-size:13px;min-width:120px}.table-actions{flex-wrap:wrap;gap:6px}.action-btn{border-radius:6px;font-size:11px;font-weight:500;gap:4px;min-width:auto;padding:6px 10px}.action-btn:hover{transform:translateY(-1px)}.view-btn{background:#2aa59d;color:#fff;justify-content:center;min-width:70px}.view-btn:hover{background:#43b091;box-shadow:0 4px 12px #2aa59d4d}.approve-btn{background:#10b981;color:#fff;padding:6px 8px}.approve-btn:hover{background:#059669;box-shadow:0 4px 12px #10b9814d}.reject-btn{background:#ef4444;color:#fff;padding:6px 8px}.reject-btn:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}.release-btn{background:#3b82f6;color:#fff;justify-content:center;min-width:90px}.release-btn:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d}.delete-btn{background:#f3f4f6;color:#6b7280;padding:6px 8px}.delete-btn:hover{background:#ef4444;box-shadow:0 4px 12px #ef44444d;color:#fff}.modal-overlay{background-color:#0009}.modal-content{animation:modalSlideIn .3s ease-out;border-top:4px solid #2aa59d;box-shadow:0 25px 60px #0000004d;max-width:800px}.modal-header{border-bottom:2px solid #f1f5f9;padding:24px 30px;position:relative}.modal-header:before{background:#2aa59d;bottom:0;content:"";height:2px;left:30px;position:absolute;right:30px}.modal-close{align-items:center;background:#f3f4f6;border-radius:50%;display:flex;font-size:24px;height:40px;justify-content:center;padding:0;transition:all .3s ease;width:40px}.modal-close:hover{background-color:#ef4444;color:#fff;transform:scale(1.1)}.modal-body{padding:30px}.details-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.detail-section{background:#f8fafc;border-left:4px solid #2aa59d;border-radius:12px;padding:20px}.detail-section h3{color:#2aa59d;font-size:16px;font-weight:600;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.detail-item{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 0}.detail-item:last-child{border-bottom:none}.detail-item label{color:#374151;font-size:14px;font-weight:500;min-width:120px}.detail-item span{color:#1e293b;font-size:14px;text-align:right;word-break:break-word}.modal-actions{border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding-top:20px}.btn{display:flex;gap:8px}.btn:hover{transform:translateY(-2px)}.btn-success{background:#10b981}.btn-success:hover{background:#059669;box-shadow:0 8px 20px #10b9814d}.btn-warning{background:#f59e0b}.btn-warning:hover{background:#d97706;box-shadow:0 8px 20px #f59e0b4d}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626;box-shadow:0 8px 20px #ef44444d}.btn-secondary{background:#6b7280;.request-forms-page{background:linear-gradient(135deg,#f8fafc,#e2e8f0);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;padding:30px}.request-forms-header{background:linear-gradient(135deg,#2aa59d,#43b091);border-radius:16px;box-shadow:0 8px 32px #2aa59d4d;color:#fff;margin-bottom:30px;overflow:hidden;padding:40px;position:relative}.request-forms-header:before{background:#ffffff1a;border-radius:50%;content:"";height:300px;position:absolute;right:-20%;top:-50%;transform:rotate(45deg);width:300px}.header-content{position:relative;z-index:2}.page-title{font-size:32px;font-weight:700;margin:0 0 12px;text-shadow:0 2px 4px #0000001a}.page-subtitle{color:#ffffffe6;font-size:18px;margin:0}.loading-container{align-items:center;background:#fff;border-radius:20px;box-shadow:0 8px 32px #2aa59d26;display:flex;height:400px;justify-content:center;margin:50px auto;max-width:500px}.loading-content{padding:40px;text-align:center}.loading-icon{animation:pulse 2s ease-in-out infinite;font-size:48px;margin-bottom:20px}.loading-text{color:#4a5568;font-size:18px;font-weight:500}.request-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #2aa59d14;overflow:hidden;padding:24px;position:relative;text-align:center;transition:all .3s ease}.stat-card:before{border-radius:16px 16px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.stat-card.total:before{background:#2aa59d}.stat-card.pending:before{background:#f59e0b}.stat-card.approved:before{background:#10b981}.stat-card.progress:before{background:#3b82f6}.stat-card.rejected:before{background:#ef4444}.stat-card:hover{box-shadow:0 8px 24px #2aa59d1f;transform:translateY(-2px)}.stat-number{font-size:32px;font-weight:700;margin-bottom:8px}.stat-card.total .stat-number{color:#2aa59d}.stat-card.pending .stat-number{color:#f59e0b}.stat-card.approved .stat-number{color:#10b981}.stat-card.progress .stat-number{color:#3b82f6}.stat-card.rejected .stat-number{color:#ef4444}.stat-label{color:#64748b;font-size:14px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.request-controls{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.search-section{flex:1 1;max-width:400px}.search-input{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #2aa59d0d;font-size:16px;padding:12px 16px;transition:all .3s ease;width:100%}.search-input:focus{border-color:#2aa59d;box-shadow:0 0 0 4px #2aa59d1a;outline:none}.filter-section{display:flex;gap:12px}.filter-select{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #2aa59d0d;font-size:16px;min-width:150px;padding:12px 16px;transition:all .3s ease}.filter-select:focus{border-color:#2aa59d;box-shadow:0 0 0 4px #2aa59d1a;outline:none}.requests-container{margin-top:20px}.requests-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.request-card{background:#fff;border:1px solid #2aa59d1a;border-radius:16px;box-shadow:0 4px 12px #2aa59d14;overflow:hidden;transition:all .3s ease}.request-card:hover{box-shadow:0 12px 32px #2aa59d26;transform:translateY(-4px)}.request-card-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;padding:20px 20px 0}.request-title-section{flex:1 1}.request-title{color:#1e293b;font-size:18px;font-weight:600;line-height:1.4;margin:0 0 12px}.request-badges{display:flex;flex-wrap:wrap;gap:8px}.status-badge{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.status-badge.status-pending{background:#fef3c7;color:#92400e}.status-badge.status-approved{background:#d1fae5;color:#065f46}.status-badge.status-released{background:#dbeafe;color:#1e40af}.status-badge.status-rejected{background:#fee2e2;color:#991b1b}.status-badge.status-progress{background:#fef3c7;color:#92400e}.priority-badge{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.priority-badge.priority-high{background:#fee2e2;color:#991b1b}.priority-badge.priority-medium{background:#fef3c7;color:#92400e}.priority-badge.priority-low{background:#d1fae5;color:#065f46}.request-type{flex-shrink:0}.type-badge{background:#2aa59d1a;border-radius:12px;color:#2aa59d;font-size:12px;font-weight:500;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563;box-shadow:0 8px 20px #6b72804d}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb;box-shadow:0 8px 20px #3b82f64d}.detail-item .status-badge{margin-left:auto}@media (max-width:1400px){.requests-table{min-width:1100px}}@media (max-width:1024px){.requests-table{min-width:1000px}.details-grid{grid-template-columns:1fr}.item-name-cell{min-width:150px}.adviser-cell,.borrower-cell{min-width:120px}}@media (max-width:768px){.request-forms-page{padding:16px}.request-forms-header{padding:30px 20px}.page-title{font-size:28px}.page-subtitle{font-size:16px}.request-stats-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.request-controls{align-items:stretch;flex-direction:column}.search-section{max-width:none}.filter-section{justify-content:stretch}.filter-select{flex:1 1;min-width:auto}.requests-table{min-width:900px}.requests-table td,.requests-table th{font-size:13px;padding:12px 8px}.item-name-cell{min-width:140px}.adviser-cell,.borrower-cell{min-width:110px}.table-actions{flex-direction:column;gap:4px}.action-btn{justify-content:center;width:100%}.modal-content{margin:10px;max-width:calc(100vw - 20px)}.modal-header{padding:20px}.modal-header:before{left:20px;right:20px}.modal-body{padding:20px}.modal-actions{flex-direction:column}.btn{justify-content:center;width:100%}}@media (max-width:480px){.request-forms-page{padding:12px}.request-forms-header{padding:25px 15px}.page-title{font-size:24px}.page-subtitle{font-size:14px}.request-stats-grid{gap:12px;grid-template-columns:1fr}.stat-card{padding:20px}.requests-table{min-width:800px}.requests-table td,.requests-table th{font-size:11px;padding:10px 6px}.item-name-cell{min-width:120px}.adviser-cell,.borrower-cell{min-width:100px}.adviser-avatar,.borrower-avatar{font-size:11px;height:28px;width:28px}.modal-header{padding:15px}.modal-header:before{left:15px;right:15px}.modal-close,.modal-header h2{font-size:20px}.modal-close{height:36px;width:36px}.detail-section,.modal-body{padding:15px}.detail-item{align-items:flex-start;flex-direction:column;gap:4px}.detail-item label{font-size:12px;min-width:auto}.detail-item span{font-size:12px;text-align:left}.empty-state{padding:40px 20px}.empty-icon{font-size:48px}}.requests-table tbody tr{animation:fadeInUp .4s ease-out}.requests-table th.sortable:focus{outline:3px solid #2aa59d66;outline-offset:2px}.requests-table th.sortable:focus:not(:focus-visible){outline:none}.detail-row,.equipment-info,.request-card,.request-card-content,.request-card-footer,.request-card-header,.request-details,.requester-avatar,.requester-details,.requester-email,.requester-info,.requester-name,.requests-grid{display:none}.request-card-footer{border-top:1px solid #f1f5f9;padding:16px 20px 20px}.request-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.request-date,.request-updated{color:#6b7280;font-size:12px}.request-date{font-weight:500}.request-actions{display:flex;flex-wrap:wrap;gap:8px}.action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;padding:6px 12px;transition:all .3s ease}.action-btn:hover{transform:translateY(-1px)}.approve-btn{background:#10b981;color:#fff}.approve-btn:hover{background:#059669;box-shadow:0 4px 12px #10b9814d}.reject-btn{background:#ef4444;color:#fff}.reject-btn:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}.progress-btn{background:#3b82f6;color:#fff}.progress-btn:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d}.reset-btn{background:#6b7280;color:#fff}.reset-btn:hover{background:#4b5563;box-shadow:0 4px 12px #6b72804d}.delete-btn{background:#f3f4f6;color:#6b7280}.delete-btn:hover{background:#ef4444;box-shadow:0 4px 12px #ef44444d;color:#fff}.empty-state{background:#fff;border-radius:16px;box-shadow:0 4px 12px #2aa59d14;color:#64748b;margin:40px auto;max-width:500px;padding:80px 40px;text-align:center}.empty-icon{font-size:64px;margin-bottom:24px;opacity:.6}.empty-state h3{color:#374151;font-size:24px;font-weight:700;margin:0 0 12px}.empty-state p{color:#6b7280;font-size:16px;line-height:1.6;margin:0}@media (max-width:1024px){.request-forms-page{padding:20px}.requests-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}@media (max-width:768px){.request-forms-page{padding:16px}.request-forms-header{padding:30px 20px}.page-title{font-size:28px}.page-subtitle{font-size:16px}.request-stats-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.request-controls{align-items:stretch;flex-direction:column}.search-section{max-width:none}.filter-section{justify-content:stretch}.filter-select{flex:1 1;min-width:auto}.requests-grid{gap:16px;grid-template-columns:1fr}.request-card-header{align-items:stretch;flex-direction:column;gap:12px}.request-actions{justify-content:center}}@media (max-width:480px){.request-forms-page{padding:12px}.request-forms-header{padding:25px 15px}.page-title{font-size:24px}.page-subtitle{font-size:14px}.request-stats-grid{gap:12px;grid-template-columns:1fr}.stat-card{padding:20px}.request-card{margin:0 -4px}.request-card-content,.request-card-footer,.request-card-header{padding-left:16px;padding-right:16px}.request-actions{flex-direction:column;gap:8px}.action-btn{justify-content:center;width:100%}.empty-state{padding:40px 20px}.empty-icon{font-size:48px}}.request-card{animation:fadeInUp .4s ease-out}.action-btn:focus{outline:3px solid #2aa59d66;outline-offset:2px}.return-modal{max-width:500px}.return-form{display:flex;flex-direction:column;gap:20px}.return-form .form-group{display:flex;flex-direction:column;gap:8px}.return-form .form-group label{color:#2d3748;font-size:.9rem;font-weight:600}.return-form .form-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:.9rem;padding:12px 16px;transition:all .3s ease}.return-form .form-select:focus{border-color:#2aa59d;box-shadow:0 0 0 3px #2aa59d1a;outline:none}.return-form .form-textarea{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:.9rem;min-height:80px;padding:12px 16px;resize:vertical;transition:all .3s ease}.return-form .form-textarea:focus{border-color:#2aa59d;box-shadow:0 0 0 3px #2aa59d1a;outline:none}.status-returned{align-items:center;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:20px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.status-returned:before{content:"📦";font-size:.8rem}.action-btn.return-btn{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff}.action-btn.return-btn:hover{background:linear-gradient(135deg,#3182ce,#2c5282);box-shadow:0 6px 20px #4299e166;transform:translateY(-2px)}.action-btn:focus:not(:focus-visible){outline:none}}.history-page{background-color:#f8fafc;min-height:100vh;padding:2rem}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.loading-icon{font-size:2rem}.loading-text{color:#6b7280}.history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.history-title{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.header-actions{display:flex;gap:.75rem}.action-button{align-items:center;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;text-decoration:none}.action-button:hover{background-color:#f9fafb}.filters-container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.search-container{min-width:200px}.search-input{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.5rem .75rem;width:200px}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-select{background-color:#fff;border:1px solid #d1d5db;font-size:.875rem;min-width:120px;padding:.5rem .75rem}.filter-select:focus{border-color:#3b82f6}.date-input{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem}.date-input,.filter-button{cursor:pointer;font-size:.875rem}.filter-button{background-color:#10b981;border:none;border-radius:6px;color:#fff;font-weight:500;padding:.5rem 1rem}.filter-button:hover{background-color:#059669}.table-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;overflow:hidden}.history-table{border-collapse:collapse;width:100%}.table-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.table-header th{color:#6b7280;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.table-body tr{border-bottom:1px solid #f3f4f6}.table-body tr:last-child{border-bottom:none}.table-cell{color:#111827;font-size:.875rem;padding:1rem}.equipment-name,.status-badge{font-weight:500}.status-badge{border-radius:12px;display:inline-block;font-size:.75rem;padding:.25rem .75rem}.status-released{background-color:#10b98133;color:#10b981}.status-returned{background-color:#3b82f633;color:#3b82f6}.status-pending{background-color:#f59e0b33;color:#f59e0b}.status-approved{background-color:#10b98133;color:#10b981}.status-rejected{background-color:#ef444433;color:#ef4444}.date-cell{color:#6b7280}.date-time{color:#9ca3af;font-size:.75rem}.view-button{background-color:initial;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:1rem;padding:.25rem .5rem;transition:color .2s}.view-button:hover{color:#3b82f6}.pagination-container{align-items:center;background-color:#f9fafb;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:1rem}.pagination-info{color:#6b7280;font-size:.875rem}.pagination-controls{display:flex;gap:.25rem}.pagination-button{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;padding:.5rem .75rem}.pagination-button:hover:not(:disabled){background-color:#f9fafb}.pagination-button:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.pagination-button.active{background-color:#10b981;color:#fff;font-weight:600}.empty-state{padding:4rem 2rem}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-title{color:#374151;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.empty-message{font-size:.875rem;line-height:1.5;margin:0}.modal-content{background-color:#fff;border-radius:12px;overflow:auto;width:90%}.modal-header{padding:1.5rem}.modal-title{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;padding:.25rem}.modal-close:hover{color:#374151}.modal-body{padding:1.5rem}.modal-details{grid-gap:1rem;display:grid;gap:1rem}.detail-item{margin-bottom:1rem}.detail-label{color:#6b7280;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.detail-value{color:#111827;font-size:1rem}.enhanced-modal{max-height:80vh;max-width:900px;width:90%}.tab-navigation{background-color:#f8fafc;border-bottom:2px solid #e0e7ff;border-radius:8px 8px 0 0;display:flex;margin-bottom:20px;overflow:hidden}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s ease}.tab-button:hover{background-color:#e2e8f0;color:#475569}.tab-button.active{background-color:#3b82f6;border-bottom-color:#1d4ed8;color:#fff}.tab-content{animation:fadeIn .3s ease-in-out;min-height:300px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.usage-report{padding:20px 0}.report-title{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:20px}.usage-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;overflow:hidden}.usage-table{border-collapse:collapse;width:100%}.usage-table th{background-color:#f1f5f9;border-bottom:1px solid #e2e8f0;color:#374151;font-weight:600;padding:12px 16px;text-align:left}.usage-table td{border-bottom:1px solid #f1f5f9;color:#4b5563;padding:12px 16px}.usage-table tbody tr:hover{background-color:#f8fafc}.usage-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:20px}.summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:16px;text-align:center}.summary-title{color:#6b7280;font-size:12px;font-weight:500;margin-bottom:4px;text-transform:uppercase}.summary-value{color:#1f2937;font-size:20px;font-weight:700}.modal-footer{background:#f8fafc;border-radius:0 0 12px 12px;border-top:1px solid #e2e8f0;padding:16px 24px}.close-button{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 24px;transition:background-color .2s ease}.close-button:hover{background:#4b5563}@media (max-width:768px){.history-page{padding:1rem}.history-header{align-items:stretch;flex-direction:column;gap:1rem}.header-actions{justify-content:flex-start}.filters-container{align-items:stretch;flex-direction:column}.date-input,.filter-select,.search-input{width:100%}.table-wrapper{overflow-x:scroll}.history-table{min-width:800px}.pagination-container{align-items:stretch;flex-direction:column;gap:1rem}.pagination-controls{justify-content:center}.modal-content{margin:1rem;width:95%}.modal-body,.modal-header{padding:1rem}.enhanced-modal{max-height:90vh;width:95%}.tab-navigation{flex-direction:column}.tab-button{border-bottom:1px solid #e2e8f0;border-right:none;text-align:center}.usage-summary{grid-template-columns:1fr}}@media (max-width:480px){.table-cell,.table-header th{padding:.5rem}.action-button{font-size:.8125rem;padding:.375rem .75rem}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080}.modal-container{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:600px;overflow:hidden;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{border-bottom:1px solid #e5e7eb}.modal-header h2{color:#111827}.modal-close-btn{align-items:center;background:#f3f4f6;border-radius:50%;display:flex;font-size:18px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.modal-close-btn:hover{background:#e5e7eb;color:#374151;transform:scale(1.05)}.modal-form{max-height:calc(90vh - 120px);overflow-y:auto;padding:0 24px 24px}.form-row{grid-gap:20px;gap:20px}.required{color:#dc2626;margin-left:2px}.form-input,.form-select,.form-textarea{background-color:#fff;border:2px solid #e5e7eb;box-sizing:border-box;color:#374151;font-family:inherit;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input.error,.form-select.error,.form-textarea.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.form-textarea{font-family:inherit;line-height:1.5;min-height:120px}.error-message{color:#dc2626;display:block;font-size:12px;font-weight:500;margin-top:6px}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.btn{min-width:120px;transition:all .2s ease}.btn-primary{background-color:#3b82f6}.btn-primary:hover{background-color:#2563eb;box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.btn-secondary{background-color:#6b7280}.btn-secondary:hover{background-color:#4b5563;transform:translateY(-1px)}@media (max-width:768px){.modal-overlay{padding:16px}.modal-container{border-radius:12px;max-height:95vh}.modal-header{padding:20px 20px 0}.modal-header h2{font-size:20px}.modal-form{padding:0 20px 20px}.form-row{gap:0;grid-template-columns:1fr}.modal-footer{flex-direction:column-reverse;gap:12px}.btn{width:100%}}@media (max-width:480px){.modal-overlay{padding:12px}.modal-container{border-radius:8px;max-height:98vh}.modal-header{padding:16px 16px 0}.modal-header h2{font-size:18px}.modal-form{padding:0 16px 16px}.form-input,.form-select,.form-textarea{font-size:16px;padding:10px 14px}.form-textarea{min-height:100px}.modal-close-btn{font-size:16px;height:36px;width:36px}}.modal-form::-webkit-scrollbar{width:6px}.modal-form::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.modal-form::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.modal-form::-webkit-scrollbar-thumb:hover{background:#94a3b8}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.btn-primary:disabled:hover{background-color:#9ca3af;box-shadow:none;transform:none}.form-input:valid{border-color:#10b981}.form-input:invalid:not(:placeholder-shown){border-color:#ef4444}*{transition:all .2s ease}.modal-container:focus-within{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 3px #3b82f61a}@media (prefers-contrast:high){.modal-overlay{background-color:#000c}.form-input,.form-select,.form-textarea,.modal-container{border:2px solid #000}}@media (prefers-reduced-motion:reduce){.modal-container{animation:none}*{transition:none}}.analytics-container{background:#f8fafc;min-height:100vh;padding:24px;width:100%}.analytics-header{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.analytics-title h1{color:#1e293b;font-size:32px;font-weight:700;margin:0 0 8px}.analytics-title p{color:#64748b;font-size:16px;margin:0}.analytics-controls{align-items:center;display:flex;gap:16px}.period-selector{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-size:14px;font-weight:500;padding:12px 16px;transition:all .3s ease}.period-selector:focus{border-color:#2aa59d;box-shadow:0 0 0 3px #2aa59d1a;outline:none}.analytics-nav{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;display:flex;gap:8px;margin-bottom:32px;padding:8px}.nav-tab{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.nav-tab:hover{background:#f1f5f9;color:#2aa59d}.nav-tab.active{background:#2aa59d;box-shadow:0 4px 12px #2aa59d4d;color:#fff}.analytics-content{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.metrics-grid{grid-gap:24px;border-bottom:1px solid #e2e8f0;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:32px}.metric-card{align-items:center;background:#f8fafc;border:2px solid #0000;border-radius:12px;display:flex;gap:16px;padding:24px;transition:all .3s ease}.metric-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.metric-card.primary{background:linear-gradient(135deg,#2aa59d10,#43b09110);border-color:#2aa59d}.metric-card.success{background:linear-gradient(135deg,#10b98110,#05966910);border-color:#10b981}.metric-card.warning{background:linear-gradient(135deg,#f59e0b10,#d9770610);border-color:#f59e0b}.metric-card.info{background:linear-gradient(135deg,#3b82f610,#2563eb10);border-color:#3b82f6}.metric-icon{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;font-size:32px;height:60px;justify-content:center;width:60px}.metric-content{flex:1 1}.metric-value{color:#1e293b;font-size:28px;font-weight:800;margin-bottom:4px}.metric-label{color:#64748b;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.chart-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;padding:32px}.chart-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:24px}.chart-card.full-width{grid-column:1/-1}.chart-card h3{color:#1e293b;font-size:18px;font-weight:700;margin:0 0 20px;text-align:center}.pie-chart{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:300px}.pie-slice{align-items:center;border-radius:8px;color:#fff;display:flex;font-weight:600;gap:12px;padding:12px 16px;position:relative}.pie-slice:before{border-radius:8px;bottom:0;content:"";left:0;position:absolute;top:0;width:calc(var(--percentage)*1%);z-index:-1}.pie-slice.available:before{background:#10b981}.pie-slice.in-use:before{background:#f59e0b}.pie-slice.maintenance:before{background:#ef4444}.category-chart{display:flex;flex-direction:column;gap:16px}.category-bar{align-items:center;display:flex;gap:16px}.category-label{color:#1e293b;font-size:14px;font-weight:600;min-width:120px}.category-bar-container{align-items:center;display:flex;flex:1 1;gap:12px}.category-bar-fill{border-radius:12px;height:24px;min-width:4px;transition:all .3s ease}.category-count{color:#1e293b;font-size:14px;font-weight:700;min-width:30px;text-align:right}.line-chart{padding:20px 0}.line-chart-container{align-items:end;display:flex;gap:8px;height:200px;justify-content:space-between}.chart-point{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px}.point{background:linear-gradient(0deg,#2aa59d,#43b091);border-radius:4px 4px 0 0;min-height:4px;transition:all .3s ease;width:100%}.point:hover{background:linear-gradient(0deg,#0d9488,#2aa59d)}.point-label{color:#64748b;font-size:10px;font-weight:500;text-align:center;transform:rotate(-45deg);white-space:nowrap}.user-list{display:flex;flex-direction:column;gap:12px}.user-item{background:#fff;border:2px solid #e2e8f0;border-radius:8px;gap:16px;padding:16px;transition:all .3s ease}.user-item:hover{border-color:#2aa59d;box-shadow:0 4px 12px #2aa59d33;transform:translateY(-2px)}.user-rank{align-items:center;background:#2aa59d;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.user-info{flex:1 1}.user-name{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:4px}.user-activity{color:#64748b;font-size:14px}.hourly-chart{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));padding:20px 0}.hour-bar{align-items:center;display:flex;flex-direction:column;gap:8px}.hour-label{color:#64748b;font-size:10px;font-weight:500;text-orientation:mixed;writing-mode:vertical-rl}.hour-bar-container{align-items:end;display:flex;height:120px;width:100%}.hour-bar-fill{background:linear-gradient(0deg,#2aa59d,#43b091);border-radius:2px 2px 0 0;min-height:4px;transition:all .3s ease;width:100%}.hour-count{color:#64748b;font-size:10px;font-weight:600;text-align:center}.monthly-chart{padding:20px 0}.monthly-chart-container{align-items:end;display:flex;gap:16px;height:200px;justify-content:space-between}.month-bar{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px}.month-label{color:#64748b;font-size:12px;font-weight:500;text-align:center}.month-bar-fill{background:linear-gradient(0deg,#2aa59d,#43b091);border-radius:4px 4px 0 0;min-height:4px;transition:all .3s ease;width:100%}.month-count{color:#64748b;font-size:12px;font-weight:600;text-align:center}.equipment-tab,.overview-tab,.trends-tab,.users-tab{padding:32px}.equipment-analytics{display:flex;flex-direction:column;gap:24px}@media (max-width:1200px){.chart-section{grid-template-columns:1fr}.chart-card.full-width{grid-column:1}}@media (max-width:768px){.analytics-container{padding:16px}.analytics-header{align-items:flex-start;flex-direction:column;gap:16px}.analytics-title h1{font-size:24px}.metrics-grid{grid-template-columns:1fr;padding:16px}.chart-section{padding:16px}.analytics-nav{flex-wrap:wrap}.nav-tab{font-size:12px;padding:8px 16px}.hourly-chart{grid-template-columns:repeat(6,1fr)}.monthly-chart-container{flex-wrap:wrap;gap:8px;height:auto}.month-bar{min-width:60px}}@media (max-width:480px){.metric-card{flex-direction:column;gap:12px;text-align:center}.metric-icon{height:48px;width:48px}.metric-icon,.metric-value{font-size:24px}.hourly-chart{grid-template-columns:repeat(4,1fr)}.monthly-chart-container{grid-template-columns:repeat(3,1fr)}}.laboratory-management-container{background:#f8fafc;min-height:100vh;padding:24px;width:100%}.laboratory-header{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.header-content h1{color:#1e293b;font-size:32px;font-weight:700;margin:0 0 8px}.header-content p{color:#64748b;font-size:16px;margin:0}.add-laboratory-btn{align-items:center;background:linear-gradient(135deg,#2aa59d,#43b091);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.add-laboratory-btn:hover{box-shadow:0 8px 25px #2aa59d4d;transform:translateY(-2px)}.form-input-display{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;display:flex;font-family:Courier New,monospace;font-size:14px;font-weight:600;letter-spacing:.5px;min-height:20px;padding:12px 16px}.btn-icon{font-weight:700}.loading-state{flex-direction:column;gap:16px;min-height:400px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#2aa59d;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-state p{color:#64748b;font-size:16px;margin:0}.search-filter-section{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;padding:20px}.search-box{margin-bottom:20px;max-width:600px;position:relative}.search-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px 16px 12px 44px;transition:all .3s ease;width:100%}.search-input:focus{border-color:#2aa59d;box-shadow:0 0 0 3px #2aa59d1a;outline:none}.search-icon{color:#64748b;font-size:16px;left:16px;position:absolute;top:50%;transform:translateY(-50%)}.filter-controls{align-items:end;display:flex;flex-wrap:wrap;gap:20px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-label{color:#475569;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.filter-select{background:#fff;border:2px solid #e2e8f0;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;min-width:180px;padding:8px 12px;transition:all .3s ease}.filter-select:focus{border-color:#2aa59d;box-shadow:0 0 0 3px #2aa59d1a;outline:none}.clear-filters-btn{background:#f1f5f9;border:2px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;height:-webkit-fit-content;height:fit-content;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:all .3s ease}.clear-filters-btn:hover{background:#e2e8f0;border-color:#cbd5e1;color:#475569}.laboratory-table-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.table-header{border-bottom:1px solid #e2e8f0;padding:24px 24px 0}.table-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.table-title h3{color:#1e293b;font-size:18px;font-weight:700;margin:0}.table-info{align-items:center;display:flex;gap:12px}.filter-info{background:#f1f5f9;border-radius:12px;color:#64748b;padding:4px 12px}.filter-info,.total-info{font-size:13px;font-weight:500}.total-info{color:#94a3b8}.table-wrapper{overflow-x:auto}.laboratory-table{border-collapse:collapse;font-size:14px;width:100%}.laboratory-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#1e293b;font-weight:600;padding:16px 12px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:10}.laboratory-table th.sortable{cursor:pointer;transition:background-color .3s ease;-webkit-user-select:none;user-select:none}.laboratory-table th.sortable:hover{background:#e2e8f0}.laboratory-table th.center{text-align:center}.laboratory-table td{border-bottom:1px solid #f1f5f9;padding:16px 12px;vertical-align:middle}.laboratory-table td.center{text-align:center}.laboratory-table tr:hover{background:#f8fafc}.laboratory-id{color:#2aa59d;font-weight:600;min-width:120px}.laboratory-name{min-width:180px}.name-text{color:#1e293b;font-size:14px;font-weight:600}.laboratory-description{max-width:300px;min-width:250px}.description-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:13px;line-height:1.4;overflow:hidden}.laboratory-in-charge,.laboratory-location{min-width:150px}.laboratory-created{color:#64748b;font-size:13px;min-width:120px}.laboratory-manager{min-width:140px}.manager-info{display:flex;flex-direction:column;gap:2px}.manager-name{color:#374151;font-size:14px;font-weight:500}.manager-role{color:#6b7280;font-size:12px;font-weight:400;text-transform:capitalize}.no-manager{color:#9ca3af;font-style:italic}.form-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;padding:12px 16px;transition:all .3s ease;width:100%}.form-select:focus{border-color:#2aa59d;box-shadow:0 0 0 3px #2aa59d1a;outline:none}.form-select option{padding:8px}.table-actions{display:flex;gap:8px;justify-content:center}.btn-delete,.btn-edit{background:#0000;border:none;border-radius:6px;cursor:pointer;font-size:16px;padding:8px;transition:all .3s ease}.btn-edit{color:#3b82f6}.btn-edit:hover{background:#dbeafe;transform:scale(1.1)}.btn-delete{color:#ef4444}.btn-delete:hover{background:#fee2e2;transform:scale(1.1)}.no-data{padding:60px 20px;text-align:center}.empty-state{align-items:center;display:flex;flex-direction:column;gap:16px}.empty-icon{opacity:.5}.empty-state h3{color:#1e293b;font-size:18px;font-weight:600;margin:0}.empty-state p{color:#64748b;font-size:14px;margin:0;max-width:400px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.modal-header h2{color:#1e293b;font-size:24px;font-weight:700;margin:0}.modal-close-btn{border-radius:4px;color:#64748b;padding:4px;transition:all .3s ease}.modal-close-btn:hover{background:#f1f5f9;color:#1e293b}form{padding:0 24px 24px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{color:#1e293b}.form-input,.form-select,.form-textarea{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .3s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#2aa59d;box-shadow:0 0 0 3px #2aa59d1a;outline:none}.form-textarea{min-height:80px;resize:vertical}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px}.btn{border-radius:8px;letter-spacing:.5px;text-transform:uppercase}.btn-primary{background:linear-gradient(135deg,#2aa59d,#43b091)}.btn-primary:hover{box-shadow:0 8px 25px #2aa59d4d}.btn-secondary{background:#f8fafc;border:2px solid #e2e8f0;color:#64748b}.btn-secondary:hover{background:#e2e8f0;color:#1e293b}.delete-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.delete-modal-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:32px;text-align:center;width:100%}.delete-modal-icon{font-size:48px;margin-bottom:16px}.delete-modal-title{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 12px}.delete-modal-message{color:#64748b;font-size:14px;margin:0 0 8px}.delete-modal-warning{color:#ef4444;font-size:12px;font-weight:500;margin:0 0 24px}.delete-modal-actions{display:flex;gap:12px;justify-content:center}.delete-modal-cancel,.delete-modal-confirm{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.delete-modal-cancel{background:#f8fafc;border:2px solid #e2e8f0;color:#64748b}.delete-modal-cancel:hover{background:#e2e8f0}.delete-modal-confirm{background:#ef4444;color:#fff}.delete-modal-confirm:hover{background:#dc2626;transform:translateY(-1px)}.success-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.success-modal-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:32px;text-align:center;width:100%}.success-modal-icon{font-size:48px;margin-bottom:16px}.success-modal-title{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 12px}.success-modal-message{color:#64748b;font-size:14px;margin:0 0 24px}.success-modal-button{background:linear-gradient(135deg,#2aa59d,#43b091);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .3s ease}.success-modal-button:hover{box-shadow:0 4px 12px #2aa59d4d;transform:translateY(-1px)}@media (max-width:1200px){.laboratory-table-container{overflow-x:auto}.laboratory-table{min-width:800px}}@media (max-width:768px){.laboratory-management-container{padding:16px}.laboratory-header{align-items:flex-start;flex-direction:column;gap:16px}.header-content h1{font-size:24px}.form-row{grid-template-columns:1fr}.form-actions,.table-actions{flex-direction:column}.table-actions{gap:4px}.modal-content{margin:10px;max-height:95vh}}@media (max-width:480px){.laboratory-header,.search-filter-section{padding:16px}.filter-controls{align-items:stretch;flex-direction:column;gap:12px}.filter-select{min-width:auto}.table-title{align-items:flex-start;flex-direction:column;gap:8px}.table-header{padding:16px 16px 0}.laboratory-table td,.laboratory-table th{padding:12px 8px}.name-text{font-size:13px}.description-text{font-size:11px}}.notification-overlay{align-items:flex-start;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.notification-modal{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.notification-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px}.notification-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.notification-controls{align-items:center;display:flex;gap:12px}.notification-filter{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;padding:8px 12px}.mark-all-read-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.mark-all-read-btn:hover{background:#2563eb}.close-btn{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;padding:8px;transition:background-color .2s;width:32px}.close-btn:hover{background:#dc2626}.notification-content{flex:1 1;overflow-y:auto;padding:0}.loading{font-size:16px}.loading,.no-notifications{color:#6b7280;padding:40px;text-align:center}.no-notifications-icon{font-size:48px;margin-bottom:16px}.no-notifications p{font-size:16px;margin:0}.notification-list{padding:0}.notification-item{align-items:flex-start;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:12px;padding:16px 20px;position:relative;transition:background-color .2s}.notification-item:hover{background-color:#f9fafb}.notification-item.unread{background-color:#eff6ff;border-left:4px solid #3b82f6}.notification-item.read{opacity:.8}.notification-icon{flex-shrink:0;font-size:24px;margin-top:2px}.notification-body{flex:1 1;min-width:0}.notification-title{color:#1f2937;font-size:15px;font-weight:600;margin-bottom:4px}.notification-message{color:#4b5563;font-size:14px;line-height:1.4;margin-bottom:8px}.notification-meta{color:#6b7280;display:flex;font-size:12px;gap:12px}.notification-time{font-weight:500}.notification-lab{background:#e5e7eb;border-radius:4px;font-weight:500;padding:2px 8px}.unread-indicator{background:#ef4444;border-radius:50%;height:8px;position:absolute;right:16px;top:16px;width:8px}@media (max-width:640px){.notification-overlay{padding:10px}.notification-modal{max-height:90vh}.notification-header{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.notification-controls{justify-content:space-between}.notification-item{padding:12px 16px}.notification-meta{flex-direction:column;gap:4px}}.dashboard-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;width:100%}.dashboard-container,.dashboard-main{max-width:100%;min-height:100vh;overflow-x:hidden}.dashboard-main{background-color:initial;flex:1 1;margin-left:250px;min-width:0;transition:margin-left .3s ease;width:calc(100% - 250px)}.dashboard-inner{box-sizing:border-box;margin:0;max-width:100%;min-height:calc(100vh - 80px);min-width:0;padding:40px 20px;width:100%}.dashboard-inner:not(:has(.equipment-page)){margin:0;max-width:none}.dashboard-content-centered{margin:0;max-width:none}.dashboard-welcome{align-items:center;background:#2aa59d;border-radius:16px;box-shadow:0 8px 32px #2aa59d4d;display:flex;justify-content:space-between;padding:30px}.welcome-content{flex:1 1}.notification-bell-container{margin-left:20px}.notification-bell{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;cursor:pointer;font-size:24px;height:60px;position:relative;transition:all .3s ease;width:60px}.notification-badge,.notification-bell{align-items:center;border-radius:50%;display:flex;justify-content:center}.notification-badge{background:#ef4444;border:2px solid #fff;color:#fff;font-size:12px;font-weight:700;height:20px;position:absolute;right:-5px;top:-5px;width:20px}.notification-bell:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.05)}.notification-bell:active{transform:scale(.95)}.dashboard-welcome:before{background:#ffffff1a;height:200px;width:200px}.dashboard-welcome h1{font-size:32px;font-weight:700;margin:0 0 10px;text-shadow:0 2px 4px #0000001a}.dashboard-welcome p{font-size:16px}.stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:30px}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #0000000d;overflow:hidden;padding:28px;position:relative;transition:all .3s ease}.stat-card:before{content:"";height:100%;left:0;position:absolute;top:0;transition:all .3s ease;width:4px}.stat-card:hover{box-shadow:0 12px 32px #0000001a;transform:translateY(-4px)}.stat-card h3{font-size:16px;font-weight:600;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.stat-card.blue:before{background:linear-gradient(135deg,#2aa59d,#43b091)}.stat-card.blue h3{color:#2aa59d}.stat-card.green:before{background:linear-gradient(135deg,#10b981,#059669)}.stat-card.green h3{color:#059669}.stat-card.red:before{background:linear-gradient(135deg,#ef4444,#dc2626)}.stat-card.red h3{color:#dc2626}.stat-card p{color:#1f2937;font-size:32px;font-weight:700;margin:0}.section-header{margin-bottom:30px}.section-header h1{font-size:28px}.section-header h1,.section-header h2{color:#111827;font-weight:700;margin:0 0 8px}.section-header h2{font-size:24px}.section-header p{color:#6b7280;font-size:16px;margin:0}.btn-group{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;justify-content:center;overflow:hidden;padding:12px 24px;position:relative;text-decoration:none;transition:all .3s ease}.btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.btn:hover:before{left:100%}.btn-primary{background:#2aa59d;box-shadow:0 4px 12px #2aa59d4d;color:#fff}.btn-primary:hover{box-shadow:0 8px 24px #2aa59d66;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d;color:#fff}.btn-success:hover{box-shadow:0 8px 24px #10b98166;transform:translateY(-2px)}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d;color:#fff}.btn-warning:hover{box-shadow:0 8px 24px #f59e0b66;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 4px 12px #6b72804d;color:#fff}.btn-secondary:hover{box-shadow:0 8px 24px #6b728066;transform:translateY(-2px)}.content-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin-top:30px;padding:28px;transition:all .3s ease}.content-card:hover{box-shadow:0 8px 24px #0000001a}.content-card h3{color:#111827;font-size:20px;font-weight:600;margin:0 0 20px}.user-list{list-style:none;margin:0;padding:0}.user-item{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 0}.user-item:last-child{border-bottom:none}.user-info{color:#374151;font-size:14px;font-weight:500}.user-status{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.status-pending{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.profile-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 2fr;margin-top:30px}.profile-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 12px #0000000d;padding:28px;transition:all .3s ease}.profile-card:hover{box-shadow:0 8px 24px #0000001a}.profile-card h3{color:#111827;font-size:20px;font-weight:600;margin:0 0 20px}.profile-picture{align-items:center;background:linear-gradient(135deg,#2aa59d,#43b091);border-radius:50%;box-shadow:0 8px 24px #2aa59d4d;display:flex;font-size:48px;height:120px;justify-content:center;margin:20px 0;transition:all .3s ease;width:120px}.profile-picture:hover{box-shadow:0 12px 32px #2aa59d66;transform:scale(1.05)}.form-group{margin-bottom:20px}.form-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-input,.form-select{background-color:#fff;border:2px solid #e5e7eb;border-radius:10px;box-sizing:border-box;color:#374151;font-size:14px;padding:14px 16px;transition:all .3s ease;width:100%}.form-input:focus,.form-select:focus{border-color:#2aa59d;box-shadow:0 0 0 3px #2aa59d1a;outline:none}.announcements-section{margin-top:50px}.section-header-with-button{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:30px}.section-header-with-button .section-header{flex:1 1;margin-bottom:0}.btn-icon{font-size:16px;margin-right:8px}.announcements-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.announcement-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 12px #0000000d;overflow:hidden;position:relative;transition:all .3s ease}.announcement-card:hover{box-shadow:0 12px 32px #0000001a;transform:translateY(-4px)}.announcement-card.priority-high{border-left:6px solid #ef4444}.announcement-card.priority-high:before{background:linear-gradient(90deg,#ef4444,#dc2626);content:"";height:4px;left:0;position:absolute;top:0;width:100%}.announcement-card.priority-medium{border-left:6px solid #f59e0b}.announcement-card.priority-medium:before{background:linear-gradient(90deg,#f59e0b,#d97706);content:"";height:4px;left:0;position:absolute;top:0;width:100%}.announcement-card.priority-low{border-left:6px solid #10b981}.announcement-card.priority-low:before{background:linear-gradient(90deg,#10b981,#059669);content:"";height:4px;left:0;position:absolute;top:0;width:100%}.announcement-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-top:4px;padding:24px 24px 0}.announcement-title-section{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:12px}.announcement-title{color:#111827;font-size:18px;font-weight:600;line-height:1.4;margin:0}.priority-badge{border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;white-space:nowrap}.priority-badge.high{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626}.priority-badge.medium{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#f59e0b}.priority-badge.low{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#10b981}.announcement-actions{display:flex;gap:8px}.action-btn{align-items:center;background:#f8fafc;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;transition:all .3s ease;width:36px}.action-btn:hover{transform:scale(1.1)}.edit-btn:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.delete-btn:hover{background:linear-gradient(135deg,#fee2e2,#fecaca)}.announcement-content{padding:20px 24px}.announcement-content p{color:#374151;font-size:14px;line-height:1.6;margin:0}.announcement-footer{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;padding:0 24px 24px}.announcement-meta{display:flex;flex-direction:column;gap:4px}.announcement-author,.announcement-date{color:#6b7280;font-size:12px}.announcement-author{font-weight:500}.announcement-category{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:20px;color:#374151;font-size:12px;font-weight:500;padding:6px 14px;white-space:nowrap}.empty-announcements{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:2px dashed #d1d5db;border-radius:16px;grid-column:1/-1;padding:60px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.empty-announcements h3{color:#374151;font-size:18px;margin:0 0 8px}.empty-announcements p{color:#6b7280;margin:0}.loading-state{align-items:center;color:#6b7280;display:flex;height:200px;justify-content:center}.empty-state{color:#6b7280;padding:60px 20px;text-align:center}.empty-state h3{color:#374151;margin-bottom:8px}.main-stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:30px 0}.stat-card-large{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 8px 32px #0000000f;overflow:hidden;padding:32px 28px;position:relative;transition:all .3s ease}.stat-card-large:hover{box-shadow:0 16px 48px #0000001f;transform:translateY(-8px)}.stat-card-large:before{border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.stat-card-large.primary:before{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.stat-card-large.success:before{background:linear-gradient(135deg,#10b981,#059669)}.stat-card-large.info:before{background:linear-gradient(135deg,#06b6d4,#0891b2)}.stat-card-large .stat-number{color:#1f2937;font-size:3.5rem;font-weight:800;line-height:1;margin:0 0 8px}.stat-card-large .stat-label{color:#6b7280;font-size:1rem;font-weight:500;margin-bottom:16px}.stat-card-large .stat-icon{font-size:2.5rem;opacity:.1;position:absolute;right:24px;top:24px}.secondary-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:30px 0}.stat-card-small{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 16px #0000000a;overflow:hidden;padding:24px 20px;position:relative;text-align:center;transition:all .3s ease}.stat-card-small:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-4px)}.stat-card-small:before{background:#e5e7eb;bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.stat-card-small.warning:before{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-card-small.danger:before{background:linear-gradient(135deg,#ef4444,#dc2626)}.stat-card-small .stat-number{color:#1f2937;font-size:2.25rem;font-weight:700;margin:0 0 8px}.stat-card-small .stat-label{color:#6b7280;font-size:.875rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.charts-section{grid-gap:30px;display:grid;gap:30px;grid-template-columns:2fr 1fr;margin:40px 0}.chart-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 8px 32px #0000000f;padding:32px}.chart-header{margin-bottom:24px}.chart-header h3{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 8px}.chart-header p{color:#6b7280;font-size:.9rem;margin:0}.bar-chart{gap:16px}.bar-chart,.bar-item{display:flex;flex-direction:column}.bar-item{gap:8px}.bar-label{color:#374151;font-size:.875rem;font-weight:500}.bar-container{align-items:center;display:flex;gap:12px;position:relative}.bar-fill{background:#30a79a;border-radius:12px;height:24px;min-width:20px;position:relative;transition:width .8s ease}.bar-value{color:#374151;font-size:.875rem;font-weight:600;min-width:30px}.activity-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 8px 32px #0000000f;padding:32px}.activity-header{margin-bottom:24px}.activity-header h3{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 8px}.activity-header p{color:#6b7280;font-size:.9rem;margin:0}.activity-header-with-button{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.activity-header-with-button h3{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 8px}.activity-header-with-button p{color:#6b7280;font-size:.9rem;margin:0}.activity-list{display:flex;flex-direction:column;gap:16px}.activity-item{align-items:flex-start;background:#f8fafc;border-radius:12px;display:flex;gap:12px;padding:16px;transition:all .3s ease}.activity-item:hover{background:#f1f5f9;transform:translateX(4px)}.activity-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:1rem;height:36px;justify-content:center;width:36px}.activity-icon.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.activity-icon.info{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.activity-icon.warning{background:linear-gradient(135deg,#fef3c7,#fde68a)}.activity-icon.primary{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.activity-content{flex:1 1}.activity-title{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:2px}.activity-time{color:#9ca3af;font-size:.75rem}.activity-details{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px;margin-top:4px}.activity-item-name{color:#059669;font-size:.875rem;font-weight:500}.activity-borrower{color:#6b7280;font-size:.875rem}.activity-lab{color:#3b82f6;font-size:.875rem;font-weight:500}.activity-author{color:#6b7280;font-size:.875rem}.modal-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:24px;line-height:1;padding:8px}.modal-close-btn:hover{color:#ef4444}.btn-sm{font-size:.875rem;padding:8px 16px}.dashboard-welcome{background:linear-gradient(135deg,#2aa59d,#1e7b73);border-radius:20px;box-shadow:0 12px 40px #2aa59d4d;color:#fff;margin-bottom:40px;overflow:hidden;padding:40px;position:relative}.dashboard-welcome:before{background:#ffffff14;border-radius:50%;content:"";height:300px;position:absolute;right:-20%;top:-50%;transform:rotate(45deg);width:300px}.dashboard-welcome:after{background:#ffffff0d;border-radius:50%;bottom:-30%;content:"";height:200px;left:-10%;position:absolute;width:200px}.dashboard-welcome h1{color:#fff;font-size:2.5rem;font-weight:800;margin:0 0 12px;position:relative;text-shadow:0 4px 8px #0000001a;z-index:2}.dashboard-welcome p{color:#ffffffe6;font-size:1.125rem;margin:0;position:relative;z-index:2}@media (max-width:1200px){.charts-section{gap:24px;grid-template-columns:1fr}.main-stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.main-stats-grid{gap:16px;grid-template-columns:1fr}.secondary-stats-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.stat-card-large{padding:24px 20px}.stat-card-large .stat-number{font-size:2.5rem}.stat-card-small{padding:20px 16px}.stat-card-small .stat-number{font-size:1.875rem}.activity-card,.chart-card{padding:24px 20px}.dashboard-welcome{padding:32px 24px}.dashboard-welcome h1{font-size:2rem}.bar-container{align-items:flex-start;flex-direction:column;gap:8px}.activity-item{padding:12px}}@media (max-width:480px){.secondary-stats-grid{grid-template-columns:1fr}.stat-card-large .stat-number{font-size:2rem}.stat-card-small .stat-number{font-size:1.5rem}.dashboard-welcome h1{font-size:1.75rem}.dashboard-welcome p{font-size:1rem}}.stat-number{animation:countUp 1.5s ease-out}@keyframes countUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stat-card-small.danger .stat-number{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.stat-card-large:hover .stat-icon{opacity:.2}.activity-item:hover .activity-icon,.stat-card-large:hover .stat-icon{transform:scale(1.1);transition:all .3s ease}.chart-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1f2937,#374151);-webkit-background-clip:text;background-clip:text}.chart-container::-webkit-scrollbar{height:6px;width:6px}.chart-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.chart-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:3px}.chart-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af)}@media (max-width:1024px){.dashboard-main{margin-left:200px}.profile-grid{gap:20px;grid-template-columns:1fr}}@media (max-width:768px){.dashboard-main{margin-left:0;width:100%}.dashboard-inner{padding:20px 16px}.dashboard-inner:not(:has(.equipment-page)){max-width:100%}.stats-grid{gap:16px;grid-template-columns:1fr}.btn-group{flex-direction:column}.btn{justify-content:center;width:100%}.user-item{align-items:flex-start;flex-direction:column;gap:8px}.profile-picture{font-size:40px;height:100px;width:100px}.section-header h1{font-size:24px}.dashboard-welcome h1{font-size:28px}.section-header-with-button{align-items:stretch;flex-direction:column}.announcements-grid{grid-template-columns:1fr}.announcement-header{align-items:stretch;flex-direction:column;gap:15px}.announcement-title-section{justify-content:space-between}.announcement-actions{align-self:flex-end}.announcement-footer{align-items:flex-start;flex-direction:column;gap:12px}}@media (max-width:480px){.dashboard-inner{padding:16px 12px}.content-card,.profile-card,.stat-card{padding:20px}.stats-grid{grid-template-columns:1fr}.section-header h1{font-size:22px}.dashboard-welcome h1{font-size:24px}.announcements-grid{grid-template-columns:1fr}.announcement-card{border-radius:12px;margin:0 -12px}.announcement-content,.announcement-footer,.announcement-header{padding-left:16px;padding-right:16px}}.dashboard-inner>*{animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.text-center{text-align:center}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.flex-wrap{flex-wrap:wrap}.justify-between{justify-content:space-between}.items-center{align-items:center}.access-denied{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin:0 auto;max-width:500px;padding:60px 20px;text-align:center}.access-denied h1{color:#ef4444;font-size:2rem;font-weight:700;margin-bottom:16px}.access-denied p{color:#6b7280;font-size:1rem;line-height:1.6;margin:0}
/*# sourceMappingURL=main.163ec619.css.map*/