.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:48px;max-width:420px;width:100%;box-shadow:var(--shadow-xl);text-align:center}.login-logo{max-width:200px;height:auto;margin:0 auto 24px;display:block;object-fit:contain}.login-card h1{font-size:24px;color:var(--text-primary);margin:0 0 8px}.login-subtitle{color:var(--text-secondary);font-size:14px;margin:0 0 32px}.login-button{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border:none;border-radius:8px;cursor:pointer;transition:opacity .2s,transform .1s}.login-button:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-hint{margin-top:16px;font-size:13px;color:var(--text-tertiary)}.dashboard-container{padding:32px;max-width:1200px;margin:0 auto}.dashboard-header{text-align:center;margin-bottom:48px}.dashboard-header h1{font-size:36px;font-weight:700;color:var(--text-primary);margin:0 0 8px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-subtitle{font-size:16px;color:var(--text-secondary);margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.dashboard-card{background:var(--bg-card);border-radius:16px;padding:32px;border:1px solid var(--border-color);box-shadow:var(--shadow-md);cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center}.dashboard-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-primary)}.dashboard-card-icon{width:80px;height:80px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;background:var(--bg-tertiary);transition:all .3s ease}.dashboard-card:hover .dashboard-card-icon{transform:scale(1.1)}.dashboard-card-icon svg{width:40px;height:40px;stroke-width:2}.dashboard-card-icon.devices{color:var(--accent-primary)}.dashboard-card-icon.customers{color:var(--accent-secondary)}.dashboard-card h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.dashboard-card p{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.6}.search-filter-container{display:flex;gap:16px;margin-bottom:24px;align-items:center;flex-wrap:wrap;padding:20px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.search-input-group{flex:1;min-width:300px}.search-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-base)}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f133;background:var(--bg-card)}.filter-group{display:flex;align-items:center;gap:12px}.filter-group label{font-weight:500;color:var(--text-secondary);font-size:14px;white-space:nowrap}.status-select{padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);min-width:150px}.status-select:hover{border-color:var(--border-hover);background:var(--bg-hover)}.status-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f133;background:var(--bg-card)}.status-select option{background:var(--bg-tertiary);color:var(--text-primary)}.clear-filters-button{padding:12px 20px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all var(--transition-base);white-space:nowrap}.clear-filters-button:hover{background:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.clear-filters-button:active{transform:translateY(0)}.device-list-container{background:var(--bg-card);border-radius:16px;padding:32px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.device-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.device-list-header h2{margin:0;color:var(--text-primary);font-size:24px;font-weight:600;letter-spacing:-.3px}.delete-device-btn{padding:6px 12px;background:#ef44441a;color:var(--error-color);border:1px solid rgba(239,68,68,.3);border-radius:6px;cursor:pointer;font-size:16px;transition:all var(--transition-base)}.delete-device-btn:hover{background:#ef444433;border-color:var(--error-color);transform:scale(1.1)}.refresh-button{padding:10px 20px;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.refresh-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,var(--accent-primary-hover) 0%,var(--accent-secondary) 100%)}.refresh-button:active{transform:translateY(0)}.loading,.error{padding:24px;text-align:center;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border-color)}.error{color:var(--status-offline);background:#ef44441a;border-color:#ef44444d}.device-table-container{overflow-x:auto;overflow-y:hidden;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-secondary)}.device-table-container::-webkit-scrollbar{height:8px}.device-table-container::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.device-table-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.device-table-container::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.device-table{width:100%;border-collapse:collapse}.device-table .col-serial{width:180px;max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-table .col-actions{position:sticky;right:0;box-shadow:-4px 0 8px #0000000f;z-index:1}.device-table thead .col-actions{background:var(--bg-tertiary)}.device-table thead{background:var(--bg-tertiary);position:sticky;top:0;z-index:10}.device-table th{padding:16px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color);font-size:13px;text-transform:uppercase;letter-spacing:.5px}.device-table td{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);transition:all var(--transition-fast);vertical-align:middle}.device-table td:first-child{border-left:3px solid transparent;transition:border-left var(--transition-base);max-width:130px}.device-row{cursor:pointer;transition:all var(--transition-base);background:transparent}.device-row:hover{background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--border-hover)}.device-row:hover td:first-child{border-left-color:var(--accent-primary)}.device-row:hover td{color:var(--text-primary)}.device-id{font-family:Courier New,monospace;font-size:11px;padding:6px 12px;display:inline-block;font-weight:500;letter-spacing:.5px;vertical-align:middle}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-sm)}.no-devices{text-align:center;padding:60px 40px;color:var(--text-tertiary);font-size:16px}.customer-form-container{background:var(--bg-card);border-radius:16px;padding:32px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:800px;margin:0 auto}.customer-form-header{display:flex;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.customer-form-header h2{margin:0;color:var(--text-primary);font-size:24px;font-weight:600}.customer-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:15px;background-color:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-fast);font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.cancel-button,.submit-button{padding:12px 24px;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.cancel-button{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.cancel-button:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.submit-button{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;box-shadow:var(--shadow-sm)}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.device-detail-container{background:var(--bg-card);border-radius:16px;padding:32px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.device-detail-header{display:flex;align-items:center;gap:20px;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid var(--border-color)}.device-detail-header h2{margin:0;color:var(--text-primary);font-size:26px;font-weight:600;letter-spacing:-.3px;flex:1}.device-actions{display:flex;gap:12px}.delete-button{padding:8px 16px;background:var(--error-color);color:#fff;border:1px solid var(--error-color);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.delete-button:hover:not(:disabled){background:#c53030;border-color:#c53030}.delete-confirm{max-width:500px}.warning-text{color:var(--error-color);font-weight:500;margin:12px 0}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-button{padding:10px 20px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.cancel-button:hover{background:var(--bg-tertiary)}.back-button{padding:10px 20px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all var(--transition-base)}.back-button:hover{background:var(--bg-hover);border-color:var(--border-hover);transform:translate(-4px)}.device-detail-content{display:flex;flex-direction:column;gap:24px}.detail-section{border:1px solid var(--border-color);border-radius:12px;padding:24px;background:var(--bg-secondary);transition:all var(--transition-base);overflow:visible}.detail-section:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.detail-section h3{margin:0 0 20px;color:var(--text-primary);font-size:20px;font-weight:600;letter-spacing:-.2px;padding-bottom:12px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:12px}.section-icon{font-size:24px;filter:grayscale(.2)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.detail-item{display:flex;flex-direction:column;gap:10px;padding:20px;background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border-radius:12px;border:1px solid var(--border-color);transition:all var(--transition-base);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.detail-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--accent-primary),var(--accent-secondary));opacity:0;transition:opacity var(--transition-base)}.detail-item:hover{background:linear-gradient(135deg,var(--bg-hover) 0%,var(--bg-tertiary) 100%);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.detail-item:hover:before{opacity:1}.detail-item label{font-weight:700;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;display:flex;align-items:center;gap:8px}.detail-item label:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-primary);opacity:.6}.detail-item span{color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.5}.device-id{font-family:Courier New,monospace;font-size:13px;padding:6px 10px;display:inline-block;width:fit-content}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;width:fit-content;box-shadow:var(--shadow-sm)}.status-badge.online{background:linear-gradient(135deg,var(--status-online) 0%,#059669 100%);color:#fff}.status-badge.offline{background:linear-gradient(135deg,var(--status-offline) 0%,#dc2626 100%);color:#fff}.status-badge.unknown{background:var(--status-unknown);color:#fff}.hard-drives-list{display:flex;flex-direction:column;gap:16px}.hard-drive-item{border:1px solid var(--border-color);border-radius:12px;padding:20px;background:var(--bg-tertiary);transition:all var(--transition-base)}.hard-drive-item:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.hard-drive-item h4{margin:0 0 16px;color:var(--text-primary);font-size:18px;font-weight:600}.warning{color:var(--status-warning);font-weight:600;background:#f59e0b1a;padding:4px 8px;border-radius:6px;display:inline-block}.telemetry-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding-right:8px}.telemetry-list::-webkit-scrollbar{width:8px}.telemetry-list::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.telemetry-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.telemetry-list::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.telemetry-item{border:1px solid var(--border-color);border-radius:10px;padding:16px;background:var(--bg-tertiary);transition:all var(--transition-base)}.telemetry-item:hover{border-color:var(--border-hover);background:var(--bg-hover)}.telemetry-header{margin-bottom:12px}.telemetry-timestamp{font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.telemetry-data p{margin:6px 0;font-size:14px;color:var(--text-primary)}.telemetry-data strong{color:var(--accent-primary);font-weight:600}.loading,.error{padding:32px;text-align:center;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border-color)}.error-container{display:flex;flex-direction:column;gap:20px;align-items:center}.error{color:var(--status-offline);background:#ef44441a;border-color:#ef44444d;padding:20px 32px}.drive-type-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.drive-type-badge.hdd{background:#6366f133;color:var(--accent-primary)}.drive-type-badge.ssd,.drive-type-badge.external-ssd{background:#10b98133;color:var(--status-online)}.drive-type-badge.external-hdd{background:#6366f133;color:var(--accent-primary)}.physical-drive-group{margin-bottom:24px}.physical-drive-group:last-child{margin-bottom:0}.physical-drive-group-header{display:flex;align-items:center;gap:15px;margin-bottom:12px;padding:10px 14px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.physical-drive-group-label{font-size:13px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.physical-drive-group-capacity{font-size:13px;font-weight:600;color:var(--text-secondary)}.physical-drive-partitions{display:flex;flex-direction:column;gap:12px}.smart-data-section-drive{margin-bottom:16px}.smart-data-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.smart-data-section h5{color:var(--text-primary);font-size:14px;font-weight:600}.smart-data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.smart-data-item{display:flex;flex-direction:column;gap:4px}.smart-data-item label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.smart-data-item span{color:var(--text-primary);font-size:13px;font-family:Courier New,monospace}.device-status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.device-status-badge.active{background:#10b98133;color:var(--status-online)}.device-status-badge.defective{background:#ef444433;color:var(--status-offline)}.device-status-badge.decommissioned{background:#6b728033;color:var(--status-unknown)}.maintenance-list{display:flex;flex-direction:column;gap:16px}.maintenance-item{padding:16px;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.maintenance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.maintenance-date{font-weight:600;color:var(--text-primary)}.maintenance-location{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase}.maintenance-location.in_store{background:#6366f133;color:var(--accent-primary)}.maintenance-location.on_site{background:#10b98133;color:var(--status-online)}.maintenance-item p{margin:4px 0;color:var(--text-secondary);font-size:14px}.detail-item.full-width{grid-column:1 / -1}.drive-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.disk-space-visual{margin:16px 0;padding:20px;background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.disk-space-bar-container{margin-bottom:0}.disk-space-bar-modern{width:100%;height:40px;border-radius:10px;overflow:visible;background:var(--bg-secondary);border:2px solid var(--border-color);position:relative;box-shadow:inset 0 2px 4px #0000001a;display:flex;align-items:center}.disk-space-bar-modern.warning{border-color:#f59e0b}.disk-space-bar-modern.critical{border-color:var(--error-color)}.disk-space-bar-fill{height:100%;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);display:flex;align-items:center;justify-content:space-between;padding-left:12px;padding-right:8px;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 2px 8px #6366f14d;z-index:1;min-width:0}.disk-space-bar-modern.warning .disk-space-bar-fill{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b4d}.disk-space-bar-modern.critical .disk-space-bar-fill{background:linear-gradient(135deg,var(--error-color) 0%,#c53030 100%);box-shadow:0 2px 8px #ff88004d}.disk-space-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#fff3,#0000001a);pointer-events:none}.drive-total-size{font-size:14px;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);padding:4px 10px;border-radius:6px;border:1px solid var(--border-color)}.disk-space-bar-free{flex:1;height:100%;display:flex;align-items:center;justify-content:flex-end;padding-right:12px;position:relative}.disk-space-bar-text-used{font-size:13px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);z-index:2;white-space:nowrap}.disk-space-bar-text-free{font-size:13px;font-weight:700;color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,.1);white-space:nowrap}.disk-space-bar-percentage{font-size:13px;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);white-space:nowrap;opacity:.95}.detail-item.detail-item-full-width{grid-column:1 / -1}.security-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.security-section-header h3{margin:0}.security-overall-badge{font-size:11px;font-weight:700;padding:4px 12px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.security-overall-badge.enabled{background:#10b98126;color:var(--status-online)}.security-overall-badge.disabled,.security-overall-badge.not-protected{background:#ef444426;color:var(--status-offline)}.security-overall-badge.snoozed,.security-overall-badge.expired,.security-overall-badge.passive{background:#f59e0b26;color:#d97706}.security-overall-badge.unknown{background:#9ca3af26;color:var(--text-secondary)}.antivirus-products-cards{display:flex;flex-direction:column;gap:10px}.antivirus-product-card{padding:14px 16px;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border-color);transition:border-color .2s}.antivirus-product-card.enabled{border-left:3px solid var(--status-online)}.antivirus-product-card.disabled,.antivirus-product-card.not-protected{border-left:3px solid var(--status-offline)}.antivirus-product-card.passive,.antivirus-product-card.snoozed,.antivirus-product-card.expired{border-left:3px solid #f59e0b}.antivirus-product-card.unknown{border-left:3px solid var(--text-tertiary)}.antivirus-product-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.antivirus-product-name{font-weight:600;font-size:14px;color:var(--text-primary)}.antivirus-product-status{font-size:11px;font-weight:700;padding:3px 10px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.antivirus-product-status.enabled,.antivirus-product-status.enabled-updated{background:#10b98133;color:var(--status-online)}.antivirus-product-status.disabled,.antivirus-product-status.not-protected{background:#ef444433;color:var(--status-offline)}.antivirus-product-status.passive,.antivirus-product-status.snoozed,.antivirus-product-status.expired{background:#f59e0b33;color:#d97706}.antivirus-product-status.unknown{background:#9ca3af33;color:var(--text-secondary)}.antivirus-product-card-details{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px}.antivirus-detail-line{font-size:12px;color:var(--text-secondary)}.telemetry-av-product{margin:2px 0;font-size:13px;display:flex;align-items:center;gap:8px}.telemetry-av-badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:6px;text-transform:uppercase}.telemetry-av-badge.enabled{background:#10b98133;color:var(--status-online)}.telemetry-av-badge.disabled,.telemetry-av-badge.not-protected{background:#ef444433;color:var(--status-offline)}.telemetry-av-badge.passive{background:#f59e0b33;color:#d97706}.telemetry-av-badge.unknown,.telemetry-av-badge.snoozed,.telemetry-av-badge.expired{background:#9ca3af33;color:var(--text-secondary)}.status-visual-container{display:flex;align-items:center;gap:8px}.status-indicator{width:10px;height:10px;border-radius:50%;display:inline-block}.status-indicator.active{background:var(--status-online);box-shadow:0 0 8px #10b98180}.status-indicator.defective{background:var(--status-offline);box-shadow:0 0 8px #ef444480}.status-indicator.decommissioned{background:var(--status-unknown)}.online-status-indicator{width:10px;height:10px;border-radius:50%;display:inline-block;animation:pulse 2s infinite}.online-status-indicator.online{background:var(--status-online);box-shadow:0 0 8px #10b98180}.online-status-indicator.offline{background:var(--status-offline);box-shadow:0 0 8px #ef444480}.online-status-indicator.unknown{background:var(--status-unknown)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.maintenance-timeline{position:relative;padding-left:24px}.maintenance-timeline:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--border-color)}.maintenance-timeline-item{position:relative;margin-bottom:24px}.timeline-marker{position:absolute;left:-20px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--accent-primary);border:2px solid var(--bg-secondary);box-shadow:0 0 0 2px var(--border-color)}.next-maintenance-visual{margin-top:12px;padding:12px;background:var(--bg-tertiary);border-radius:8px;border-left:3px solid var(--accent-primary)}.next-maintenance-label{display:block;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.next-maintenance-date{display:block;font-size:14px;font-weight:600;color:var(--text-primary)}.next-maintenance-date.overdue{color:var(--status-offline)}.smart-data-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.smart-health-badge{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.smart-health-badge.healthy{background:#10b98133;color:var(--status-online)}.smart-health-badge.warning{background:#ef444433;color:var(--status-offline)}.telemetry-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.telemetry-column{display:flex;flex-direction:column;gap:8px}.telemetry-drives{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.telemetry-drive-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.telemetry-drive-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px;font-size:13px}.telemetry-drive-item .drive-name{font-weight:600;color:var(--text-primary);min-width:60px}.drive-type-badge-small{padding:2px 8px;border-radius:8px;font-size:10px;font-weight:600;text-transform:uppercase}.drive-type-badge-small.hdd{background:#6366f133;color:var(--accent-primary)}.drive-type-badge-small.ssd,.drive-type-badge-small.external-ssd{background:#10b98133;color:var(--status-online)}.drive-type-badge-small.external-hdd{background:#6366f133;color:var(--accent-primary)}.telemetry-drive-item .drive-capacity{flex:1;color:var(--text-secondary);text-align:right}.smart-indicator{color:var(--status-online);font-size:12px;margin-left:auto}.customer-info{display:flex;align-items:center;gap:8px}.customer-link{color:var(--accent-primary);text-decoration:none;font-weight:500;transition:color .2s ease}.customer-link:hover{color:var(--accent-secondary);text-decoration:underline}.remove-customer-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.remove-customer-btn:hover{background:var(--error-color);color:#fff;border-color:var(--error-color)}.remove-customer-btn:disabled{opacity:.5;cursor:not-allowed}.customer-assignment{display:flex;align-items:center}.assign-customer-btn{background:var(--accent-primary);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s ease}.assign-customer-btn:hover{background:var(--accent-secondary)}.customer-select-container{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap;min-width:0}.customer-select{flex:1;min-width:200px;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px}.customer-select:focus{outline:none;border-color:var(--accent-primary)}.save-customer-btn,.cancel-customer-btn{padding:6px 12px;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;flex-shrink:0;white-space:nowrap}.save-customer-btn{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.save-customer-btn:hover:not(:disabled){background:var(--accent-secondary)}.save-customer-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-customer-btn{background:var(--bg-secondary);color:var(--text-primary)}.cancel-customer-btn:hover{background:var(--bg-tertiary)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border-color)}.modal-close-btn{background:transparent;border:none;color:var(--text-secondary);font-size:28px;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-body{padding:24px}.customer-list-container{background:var(--bg-card);border-radius:16px;padding:32px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.customer-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.customer-list-header h2{margin:0;color:var(--text-primary);font-size:24px;font-weight:600;letter-spacing:-.3px}.header-left{display:flex;align-items:center;gap:16px}.nav-button{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all var(--transition-base);text-decoration:none;display:inline-flex;align-items:center}.nav-button:hover{background:var(--bg-hover);border-color:var(--accent-primary);transform:translate(-2px)}.create-button{padding:10px 20px;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.create-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,var(--accent-primary-hover) 0%,var(--accent-secondary) 100%)}.search-filter-container{display:flex;gap:12px;margin-bottom:24px}.search-input{flex:1;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:15px;background-color:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.status-select{padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:15px;background-color:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23e0e0e0%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 12px center;background-size:12px}.customer-table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-secondary)}.customer-table{width:100%;border-collapse:collapse;min-width:800px}.customer-table thead{background:var(--bg-tertiary);position:sticky;top:0;z-index:10}.customer-table th{padding:16px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color);font-size:13px;text-transform:uppercase;letter-spacing:.5px}.customer-table td{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);transition:all var(--transition-fast);vertical-align:middle}.customer-row{cursor:pointer;transition:all var(--transition-base);background:transparent}.customer-row:hover{background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--border-hover)}.customer-row:hover td:first-child{border-left-color:var(--accent-primary)}.customer-row:hover td{color:var(--text-primary)}.customer-number{font-family:Courier New,monospace;font-size:12px;padding:6px 12px;display:inline-block;font-weight:500;letter-spacing:.5px;vertical-align:middle}.no-customers{text-align:center;padding:60px 40px;color:var(--text-tertiary);font-size:16px}.customer-detail-container{background:var(--bg-card);border-radius:16px;padding:32px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.customer-detail-header{display:flex;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.customer-detail-header h2{margin:0;color:var(--text-primary);font-size:24px;font-weight:600;flex:1}.customer-actions{display:flex;gap:12px}.edit-button,.delete-button{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all var(--transition-base);box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;gap:8px}.edit-button{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff}.edit-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.delete-button{background:linear-gradient(135deg,var(--error-color) 0%,#c53030 100%);color:#fff}.delete-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#c53030,#991b1b)}.delete-button:disabled{opacity:.5;cursor:not-allowed}.back-button{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:14px;transition:all var(--transition-fast)}.back-button:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.customer-detail-content{display:flex;flex-direction:column;gap:24px}.detail-section{border:1px solid var(--border-color);border-radius:12px;padding:24px;background:var(--bg-secondary);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.detail-section:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.detail-section h3{margin:0 0 16px;color:var(--text-primary);font-size:18px;font-weight:600}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.detail-item span{color:var(--text-primary);font-size:15px}.customer-number{font-family:Courier New,monospace;font-size:12px;padding:4px 8px;display:inline-block}.customer-type-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.customer-type-badge.private{background:#6366f133;color:var(--accent-primary)}.customer-type-badge.business{background:#a855f733;color:var(--accent-secondary)}.customer-type-badge.public{background:#10b98133;color:var(--status-online)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow:hidden;overscroll-behavior:none;margin:0}.modal-content{background:var(--bg-card);border-radius:16px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);max-width:600px;width:calc(100% - 40px);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;color:var(--text-primary);font-size:20px;font-weight:600}.modal-close-btn{background:none;border:none;color:var(--text-secondary);font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all var(--transition-fast)}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:24px;flex:1;overflow-y:auto}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.warning-text{color:var(--error-color);font-size:14px;margin-top:12px}.delete-confirm .delete-button{background:linear-gradient(135deg,var(--error-color) 0%,#c53030 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.delete-confirm .delete-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#c53030,#991b1b)}.delete-confirm .delete-button:disabled{opacity:.6;cursor:not-allowed}.delete-confirm .cancel-button{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:12px 24px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.delete-confirm .cancel-button:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.App{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.App-header{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);padding:24px 32px;color:var(--text-primary);text-align:center;box-shadow:var(--shadow-md);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px}.App-header-logo{height:40px;width:auto;display:block;object-fit:contain}.App-header h1{margin:0;font-size:28px;font-weight:700;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.App-header-actions{display:flex;align-items:center;gap:12px;margin-left:auto;position:absolute;right:32px}.App-header-user{font-size:14px;color:var(--text-secondary)}.App-header-role{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:12px;background:#6366f133;color:var(--accent-primary)}.App-header-logout{padding:6px 14px;font-size:13px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:background .2s,border-color .2s}.App-header-logout:hover{background:var(--bg-hover);border-color:var(--border-hover)}.App-main{max-width:1400px;margin:0 auto;padding:32px 24px}.App-version{position:fixed;right:12px;bottom:8px;font-size:11px;color:var(--text-muted);opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:.2px}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0f1419;--bg-secondary: #1a1f2e;--bg-tertiary: #252b3a;--bg-hover: #2d3443;--bg-card: #1e2330;--text-primary: #e4e7eb;--text-secondary: #b0b8c4;--text-tertiary: #8b94a5;--accent-primary: #6366f1;--accent-primary-hover: #4f46e5;--accent-secondary: #8b5cf6;--status-online: #10b981;--status-offline: #ef4444;--status-unknown: #6b7280;--status-warning: #f59e0b;--border-color: #2d3443;--border-hover: #3d4453;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary);min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;color:var(--accent-primary)}
