*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--sidebar-bg: #1a1215;--sidebar-hover: #2d1e22;--sidebar-active: linear-gradient(135deg, #dc2626, #ef4444);--primary-gradient: linear-gradient(135deg, #dc2626, #ef4444);--primary-color: #dc2626;--primary-light: #f87171;--bg-main: #faf5f5;--bg-white: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--text-light: #94a3b8;--border-color: #e8dede;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .05);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--transition: all .2s ease;--blue: #3b82f6;--green: #22c55e;--orange: #f59e0b;--red: #ef4444;--purple: #8b5cf6;--indigo: #dc2626}html,body,#root{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-primary);background:var(--bg-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-layout{display:flex;height:100vh;overflow:hidden}.mobile-topbar,.mobile-sidebar-overlay{display:none}.sidebar{width:260px;min-width:260px;background:var(--sidebar-bg);display:flex;flex-direction:column;height:100vh;position:fixed;left:0;top:0;z-index:100;transition:var(--transition)}.sidebar-header{padding:24px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo-icon{font-size:32px;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-logo-img{width:36px;height:36px;flex-shrink:0;border-radius:6px;filter:drop-shadow(0 2px 4px rgba(220,38,38,.3))}.sidebar-header h1{font-size:22px;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;margin-bottom:2px;line-height:1}.sidebar-tagline{font-size:11px;font-weight:500;color:#64748b;letter-spacing:.5px;text-transform:uppercase}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#94a3b8;text-decoration:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;transition:var(--transition);position:relative}.sidebar-nav a:hover{color:#e2e8f0;background:var(--sidebar-hover)}.sidebar-nav a.active{color:#fff;background:var(--sidebar-active);box-shadow:0 4px 12px #dc262666}.sidebar-nav a .nav-icon{font-size:20px;flex-shrink:0}.nav-dropdown{display:flex;flex-direction:column}.nav-dropdown-toggle{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#94a3b8;text-decoration:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;transition:var(--transition);cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.nav-dropdown-toggle:hover{color:#e2e8f0;background:var(--sidebar-hover)}.nav-dropdown-toggle.active{color:#fff;background:var(--sidebar-active);box-shadow:0 4px 12px #dc262666}.nav-dropdown-toggle .nav-icon{font-size:20px;flex-shrink:0}.dropdown-arrow{margin-left:auto;font-size:18px;flex-shrink:0;opacity:.6}.nav-submenu{display:flex;flex-direction:column;gap:1px;padding:4px 0 4px 20px;max-height:240px;overflow-y:auto}.nav-submenu::-webkit-scrollbar{width:4px}.nav-submenu::-webkit-scrollbar-track{background:transparent}.nav-submenu::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.nav-submenu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;color:#94a3b8;font-size:13px;border-radius:var(--radius-sm, 6px);cursor:pointer;transition:var(--transition);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-submenu-item:hover{color:#e2e8f0;background:var(--sidebar-hover)}.nav-submenu-item.active{color:#fff;background:#dc262640}.nav-submenu-empty{padding:8px 12px;color:#475569;font-size:12px;font-style:italic}.device-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#64748b}.device-status-dot.available{background:#22c55e}.device-status-dot.assigned{background:#3b82f6}.device-status-dot.maintenance{background:#f59e0b}.sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-footer p{font-size:12px;color:#475569;text-align:center}.main-content{flex:1;margin-left:260px;padding:32px;overflow-y:auto;height:100vh;background:var(--bg-main)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.page-header h1{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.page-header p{font-size:14px;color:var(--text-secondary);margin-top:4px}.dashboard-welcome{margin-bottom:32px}.dashboard-welcome h1{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.dashboard-welcome p{font-size:14px;color:var(--text-secondary);margin-top:4px}.dashboard-page .dashboard-hero{position:relative;margin-bottom:28px;border-radius:20px;padding:28px 24px;background:linear-gradient(125deg,#fff7f7,#fff 55%,#fff1f2);border:1px solid #f5d7d8;box-shadow:var(--shadow-md);overflow:hidden}.hero-floating-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.hero-floating-orb.orb-1{width:180px;height:180px;right:-40px;top:-50px;background:radial-gradient(circle,rgba(220,38,38,.12),transparent 70%);animation:floatOrb 6s ease-in-out infinite}.hero-floating-orb.orb-2{width:120px;height:120px;left:30%;bottom:-30px;background:radial-gradient(circle,rgba(99,102,241,.08),transparent 70%);animation:floatOrb 8s ease-in-out infinite reverse}.hero-floating-orb.orb-3{width:80px;height:80px;right:25%;top:10px;background:radial-gradient(circle,rgba(34,197,94,.08),transparent 70%);animation:floatOrb 7s ease-in-out infinite 1s}.dashboard-page .dashboard-hero:before{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#dc262629,#dc262600 72%)}.dashboard-page .dashboard-welcome{margin-bottom:18px;position:relative;z-index:1}.dashboard-health-chips{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:relative;z-index:1}.health-chip{min-width:160px;padding:12px 16px;border-radius:16px;border:1px solid transparent;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #0000000a;display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;transition:transform .3s ease,box-shadow .3s ease}.health-chip:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.health-chip-bar{width:100%;height:4px;border-radius:4px;background:#f1f5f9;overflow:hidden}.health-chip-fill{height:100%;border-radius:4px;transition:width 1.5s cubic-bezier(.25,.46,.45,.94);animation:shimmerBar 2s ease-in-out infinite}.health-chip-fill.green{background:linear-gradient(90deg,#22c55e,#4ade80)}.health-chip-fill.blue{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.health-chip-fill.orange{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.health-chip span{font-size:12px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.health-chip strong{font-size:18px;font-weight:700}.health-chip.green{border-color:#bbf7d0}.health-chip.green strong{color:#16a34a}.health-chip.blue{border-color:#bfdbfe}.health-chip.blue strong{color:#2563eb}.health-chip.orange{border-color:#fde68a}.health-chip.orange strong{color:#d97706}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.dashboard-page .dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-page .dashboard-stats .stat-card{border-left:none;border:1px solid #ecdfdf;background:linear-gradient(145deg,#fff,#fff8f8);box-shadow:0 8px 16px #0f172a0f;position:relative;overflow:hidden}.dashboard-page .dashboard-stats .stat-card .stat-card-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.8) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.dashboard-page .dashboard-stats .stat-card:hover .stat-card-glow{opacity:1}.dashboard-page .dashboard-stats .stat-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px}.dashboard-page .dashboard-stats .stat-card.blue:before{background:var(--blue)}.dashboard-page .dashboard-stats .stat-card.green:before{background:var(--green)}.dashboard-page .dashboard-stats .stat-card.orange:before{background:var(--orange)}.dashboard-page .dashboard-stats .stat-card.red:before{background:var(--red)}.dashboard-page .dashboard-stats .stat-card.purple:before{background:var(--purple)}.stat-card{background:var(--bg-white);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);border-left:4px solid var(--border-color);transition:transform .3s cubic-bezier(.25,.46,.45,.94),box-shadow .3s ease;position:relative;overflow:hidden;cursor:default}.stat-card:after{content:"";position:absolute;top:0;right:0;width:80px;height:80px;border-radius:50%;opacity:.06;transform:translate(20px,-20px)}.stat-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 28px #0000001a}.stat-card:hover .stat-icon{transform:scale(1.15) rotate(-5deg);transition:transform .3s ease}.stat-card .stat-icon{font-size:28px;margin-bottom:12px;opacity:.85;transition:transform .3s ease}.stat-card .stat-number{font-size:32px;font-weight:700;letter-spacing:-1px;line-height:1;margin-bottom:6px}.stat-card .stat-label{font-size:13px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-card.blue{border-left-color:var(--blue)}.stat-card.blue .stat-icon,.stat-card.blue .stat-number{color:var(--blue)}.stat-card.blue:after{background:var(--blue)}.stat-card.green{border-left-color:var(--green)}.stat-card.green .stat-icon,.stat-card.green .stat-number{color:var(--green)}.stat-card.green:after{background:var(--green)}.stat-card.orange{border-left-color:var(--orange)}.stat-card.orange .stat-icon,.stat-card.orange .stat-number{color:var(--orange)}.stat-card.orange:after{background:var(--orange)}.stat-card.red{border-left-color:var(--red)}.stat-card.red .stat-icon,.stat-card.red .stat-number{color:var(--red)}.stat-card.red:after{background:var(--red)}.stat-card.purple{border-left-color:var(--purple)}.stat-card.purple .stat-icon,.stat-card.purple .stat-number{color:var(--purple)}.stat-card.purple:after{background:var(--purple)}.btn-primary{background:var(--primary-gradient);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:8px;font-family:inherit;box-shadow:0 2px 8px #dc26264d}.btn-primary:hover{opacity:.9;box-shadow:0 4px 12px #dc262673;transform:translateY(-1px)}.btn-danger{background:var(--red);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:8px;font-family:inherit}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.btn-secondary{background:var(--bg-white);color:var(--text-secondary);border:1px solid var(--border-color);padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:8px;font-family:inherit}.btn-secondary:hover{background:var(--bg-main);border-color:#cbd5e1}.btn-sm{padding:6px 12px;font-size:13px}.btn-icon{padding:6px 10px;font-size:16px;border-radius:var(--radius-sm);cursor:pointer;border:none;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center}.btn-icon.edit{background:#eff6ff;color:var(--blue)}.btn-icon.edit:hover{background:#dbeafe}.btn-icon.delete{background:#fef2f2;color:var(--red)}.btn-icon.delete:hover{background:#fee2e2}.toolbar{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.search-bar{position:relative;flex:1;min-width:240px}.search-bar .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-light);font-size:18px;pointer-events:none}.search-bar input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--bg-white);transition:var(--transition)}.search-bar input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #dc26261f}.search-bar input::placeholder{color:var(--text-light)}.filter-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-group select{padding:10px 36px 10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--bg-white);cursor:pointer;transition:var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.filter-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #dc26261f}.data-table-container{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.data-table-container table{width:100%;border-collapse:collapse}.data-table-container thead{background:#f8fafc;border-bottom:2px solid var(--border-color)}.data-table-container thead th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.data-table-container tbody tr{border-bottom:1px solid #f1f5f9;transition:var(--transition)}.data-table-container tbody tr:last-child{border-bottom:none}.data-table-container tbody tr:hover{background:#f8fafc}.data-table-container tbody td{padding:14px 16px;font-size:14px;color:var(--text-primary);vertical-align:middle}.actions-cell{display:flex;align-items:center;gap:8px}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:capitalize;white-space:nowrap}.status-badge.green,.status-badge.available,.status-badge.returned,.status-badge.completed{background:#f0fdf4;color:#16a34a}.status-badge.blue,.status-badge.assigned,.status-badge.active,.status-badge.in-progress{background:#eff6ff;color:#2563eb}.status-badge.orange,.status-badge.overdue,.status-badge.maintenance,.status-badge.on-hold,.status-badge.repair,.status-badge.pending{background:#fffbeb;color:#d97706}.status-badge.red,.status-badge.damaged,.status-badge.cancelled,.status-badge.retired{background:#fef2f2;color:#dc2626}.status-badge.purple{background:#f5f3ff;color:#7c3aed}.status-badge.gray{background:#f8fafc;color:#64748b}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal{background:var(--bg-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .25s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:20px;font-weight:600;color:var(--text-primary)}.modal-close-btn{background:none;border:none;font-size:22px;color:var(--text-light);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:var(--transition);display:flex;align-items:center}.modal-close-btn:hover{color:var(--text-primary);background:var(--bg-main)}.modal-body{padding:24px 28px;overflow-y:auto}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--bg-white);transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #dc26261f}.form-group textarea{resize:vertical;min-height:80px}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border-color)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-light)}.empty-state .empty-icon{font-size:56px;margin-bottom:16px;opacity:.4}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.empty-state p{font-size:14px;color:var(--text-light)}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:60px 20px}.loading-spinner:after{content:"";width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.charts-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}.chart-card{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px}.chart-card h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.chart-card .recharts-wrapper{margin:0 auto}.dashboard-page .chart-card{border:1px solid #eddede;box-shadow:0 8px 18px #0f172a0f;transition:transform .35s ease,box-shadow .35s ease;position:relative;overflow:hidden}.dashboard-page .chart-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(220,38,38,.3),transparent);animation:shimmerLine 3s ease-in-out infinite}.dashboard-page .chart-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0f172a1a}.chart-hidden{opacity:0;transform:translateY(30px)}.chart-title-group{display:flex;align-items:center;gap:12px}.chart-icon-badge{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0}.chart-icon-badge.blue{background:linear-gradient(135deg,#6366f1,#818cf8)}.chart-icon-badge.rose{background:linear-gradient(135deg,#e11d48,#f43f5e)}.dashboard-page .chart-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:16px}.dashboard-page .chart-card h3{margin-bottom:0}.dashboard-page .chart-card-header p{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-light);margin-top:2px}.chart-tooltip-custom{background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;box-shadow:0 8px 24px #0000001a}.chart-tooltip-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;margin-bottom:4px}.chart-tooltip-value{font-size:20px;font-weight:700;letter-spacing:-.5px}.pie-custom-legend{display:flex;justify-content:center;gap:20px;margin-top:8px}.pie-legend-item{display:flex;align-items:center;gap:6px}.pie-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 6px #00000026}.pie-legend-text{font-size:13px;color:#64748b;font-weight:500}.dashboard-page .dashboard-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dashboard-page .section-chip{padding:6px 12px;border-radius:999px;background:#fff1f2;border:1px solid #fecdd3;color:#be123c;font-size:12px;font-weight:600}.dashboard-page .dashboard-recent-table{border:1px solid #eddede}.dashboard-section{margin-bottom:32px}.dashboard-section h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.tab-toggle{display:inline-flex;background:var(--bg-main);border-radius:var(--radius-sm);padding:4px;margin-bottom:20px;border:1px solid var(--border-color)}.tab-toggle button{padding:8px 20px;border:none;background:transparent;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:var(--transition);font-family:inherit}.tab-toggle button.active{background:var(--bg-white);color:var(--primary-color);box-shadow:var(--shadow-sm);font-weight:600}.tab-toggle button:hover:not(.active){color:var(--text-primary)}.delete-confirm{text-align:center;padding:12px 0}.delete-confirm .delete-icon{font-size:48px;color:var(--red);margin-bottom:16px}.delete-confirm p{font-size:15px;color:var(--text-secondary);margin-bottom:8px;line-height:1.5}.delete-confirm p strong{color:var(--text-primary)}.delete-confirm .delete-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px}.overdue-highlight{background:linear-gradient(135deg,#fef2f2,#fff1f2);border:1px solid #fecaca;border-radius:var(--radius-md);padding:16px 20px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.overdue-highlight .overdue-icon{font-size:24px;color:var(--red)}.overdue-highlight span{font-size:14px;font-weight:600;color:#991b1b}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes floatOrb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(10px,-12px) scale(1.05)}66%{transform:translate(-8px,8px) scale(.95)}}@keyframes shimmerBar{0%{background-size:200% 100%;background-position:200% 0}to{background-size:200% 100%;background-position:-200% 0}}@keyframes shimmerLine{0%{transform:translate(-100%)}50%,to{transform:translate(100%)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #dc262626}50%{box-shadow:0 0 20px 4px #dc262614}}.animate-fade-in{animation:fadeIn .5s ease both}.animate-fade-in-up{animation:fadeInUp .6s ease both}.animate-slide-down{animation:fadeInDown .5s ease both}.animate-slide-in-left{animation:slideInLeft .7s cubic-bezier(.25,.46,.45,.94) both}.animate-slide-in-right{animation:slideInRight .7s cubic-bezier(.25,.46,.45,.94) both}.animate-scale-in{animation:scaleIn .5s ease both}.dashboard-stats .stat-card:nth-child(1){animation-delay:.05s}.dashboard-stats .stat-card:nth-child(2){animation-delay:.12s}.dashboard-stats .stat-card:nth-child(3){animation-delay:.19s}.dashboard-stats .stat-card:nth-child(4){animation-delay:.26s}.dashboard-stats .stat-card:nth-child(5){animation-delay:.33s}.dashboard-stats .stat-card:nth-child(6){animation-delay:.4s}.dashboard-page .chart-card-overview{animation-delay:.1s}.dashboard-page .chart-card-status{animation-delay:.25s}.dashboard-recent-table tbody tr{transition:background .25s ease,transform .2s ease}.dashboard-recent-table tbody tr:hover{background:#dc262605;transform:scale(1.005)}@media (max-width: 1200px){.dashboard-stats,.dashboard-page .dashboard-stats{grid-template-columns:repeat(3,1fr)}.charts-section{grid-template-columns:1fr}}@media (max-width: 768px){.sidebar{width:260px;min-width:260px;transform:translate(-100%);transition:transform .25s ease;z-index:1200;overflow-y:auto}.sidebar.mobile-open{transform:translate(0)}.main-content{margin-left:0;padding:80px 16px 16px}.mobile-topbar{display:flex;align-items:center;gap:12px;position:fixed;top:0;left:0;right:0;height:64px;padding:0 16px;background:var(--bg-white);border-bottom:1px solid var(--border-color);z-index:1100;box-shadow:var(--shadow-sm)}.mobile-menu-btn{width:40px;height:40px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer}.mobile-topbar-title{font-size:18px;font-weight:700;color:var(--text-primary)}.mobile-sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:1150}.dashboard-stats{grid-template-columns:repeat(2,1fr);gap:12px}.dashboard-page .dashboard-stats{grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.dashboard-page .dashboard-hero{padding:18px;border-radius:16px}.dashboard-page .dashboard-section-header{flex-direction:column;align-items:flex-start;gap:8px}.stat-card .stat-number{font-size:24px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-header .btn-primary{width:100%;justify-content:center}.toolbar{flex-direction:column;align-items:stretch}.filter-group{flex-wrap:wrap}.form-row{grid-template-columns:1fr}.modal{max-width:100%;margin:10px}.data-table-container{overflow-x:auto}.data-table-container table{min-width:700px}.device-history-header{flex-wrap:wrap;gap:12px}.device-history-header .btn-primary,.device-history-header .btn-secondary{width:100%;justify-content:center}.tab-toggle{display:flex;flex-wrap:wrap;width:100%}.tab-toggle button{flex:1 1 auto;min-width:130px;text-align:center}}@media (max-width: 480px){.dashboard-stats,.dashboard-page .dashboard-stats{grid-template-columns:1fr}.dashboard-health-chips,.health-chip{width:100%}}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:transparent}.main-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.main-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-body::-webkit-scrollbar{width:4px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}.table-responsive{overflow-x:auto}.confirm-modal .modal{max-width:420px}.device-history-header{display:flex;align-items:center;gap:20px;margin-bottom:28px}.device-history-header h1{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px;margin:0}.back-btn{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:var(--radius-sm);transition:var(--transition);display:flex;align-items:center}.back-btn:hover{color:var(--text-primary);background:var(--bg-white);box-shadow:var(--shadow-sm)}.btn-icon.view{background:#f5f3ff;color:var(--purple)}.btn-icon.view:hover{background:#ede9fe}.btn-icon.return{background:#f0fdf4;color:var(--green)}.btn-icon.return:hover{background:#dcfce7}.upload-section{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px;margin-bottom:8px}.upload-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.upload-form input[type=file]{padding:8px;border:1px dashed var(--border-color);border-radius:var(--radius-md);background:var(--bg-main);width:100%;cursor:pointer}.timeline-container{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px}.timeline{position:relative;padding-left:44px}.timeline:before{content:"";position:absolute;left:17px;top:0;bottom:0;width:2px;background:var(--border-color)}.timeline-event{position:relative;margin-bottom:24px;background:var(--bg-main);border-radius:var(--radius-md);padding:16px 20px;border:1px solid var(--border-color);transition:var(--transition)}.timeline-event:hover{box-shadow:var(--shadow-sm);border-color:#cbd5e1}.timeline-event:last-child{margin-bottom:0}.timeline-event:before{content:"";position:absolute;left:-34px;top:20px;width:14px;height:14px;border-radius:50%;border:3px solid var(--border-color);background:#fff;z-index:1}.timeline-event.assigned:before{border-color:var(--blue)}.timeline-event.re-dispatched:before{border-color:var(--purple)}.timeline-event.returned:before{border-color:var(--green)}.timeline-event.maintenance-started:before{border-color:var(--orange)}.timeline-event.maintenance-completed:before{border-color:#16a34a}.timeline-event.created:before{border-color:var(--indigo)}.timeline-event.status-changed:before{border-color:var(--text-light)}.timeline-event-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.timeline-event-type-wrapper{display:flex;align-items:center;gap:8px}.timeline-event-icon{font-size:18px;display:flex;align-items:center}.timeline-event.assigned .timeline-event-icon{color:var(--blue)}.timeline-event.re-dispatched .timeline-event-icon{color:var(--purple)}.timeline-event.returned .timeline-event-icon{color:var(--green)}.timeline-event.maintenance-started .timeline-event-icon{color:var(--orange)}.timeline-event.maintenance-completed .timeline-event-icon{color:#16a34a}.timeline-event-type{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.timeline-event-type.assigned{color:var(--blue)}.timeline-event-type.re-dispatched{color:var(--purple)}.timeline-event-type.returned{color:var(--green)}.timeline-event-type.maintenance-started{color:var(--orange)}.timeline-event-type.maintenance-completed{color:#16a34a}.timeline-event-type.created{color:var(--indigo)}.timeline-event-date{font-size:12px;color:var(--text-light);font-weight:500}.timeline-event-description{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0}.timeline-event-meta{font-size:13px;color:var(--text-light);margin-top:6px;margin-bottom:0}
