@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--primary-gradient: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--accent-gradient: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%);--dark-gradient: #f8fafc;--success-gradient: linear-gradient(135deg, #16a34a 0%, #22c55e 100%);--warning-gradient: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);--danger-gradient: linear-gradient(135deg, #ef4444 0%, #f87171 100%);--glass-bg: #ffffff;--glass-border: #e2e8f0;--glass-shadow: 0 1px 3px rgba(15, 23, 42, .06);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-dark: #0f172a;--blur-amount: 20px;--border-radius: 20px;--border-radius-sm: 12px;--border-radius-xs: 8px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--dark-gradient);min-height:100vh;color:var(--text-primary);line-height:1.6;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 80%,rgba(6,182,212,.04) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(8,145,178,.03) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(6,182,212,.03) 0%,transparent 50%);pointer-events:none;z-index:-1}.min-h-screen{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1400px;margin:0 auto;padding:0 1.5rem}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--blur-amount));-webkit-backdrop-filter:blur(var(--blur-amount));border:1px solid var(--glass-border);border-radius:var(--border-radius);box-shadow:var(--glass-shadow)}.navbar{background:#ffffffe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid #e2e8f0;padding:1rem 0;position:sticky;top:0;z-index:1000}.navbar .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.navbar-brand{font-size:1.75rem;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;letter-spacing:-.5px}.nav-links{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.625rem 1rem;border-radius:var(--border-radius-sm);display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;transition:all var(--transition-smooth);border:1px solid transparent}.nav-link:hover{color:var(--text-primary);background:#f1f5f9;border-color:#e2e8f0;transform:translateY(-1px)}.nav-link.active{color:var(--text-primary);background:#06b6d433;border-color:#06b6d44d}.nav-dropdown{position:relative}.nav-dropdown .dropdown-toggle{cursor:pointer;background:none;border:none}.nav-dropdown .dropdown-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;background:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #e2e8f0;border-radius:var(--border-radius-sm);min-width:220px;padding:.5rem;box-shadow:0 20px 50px #0f172a1a;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown:hover .dropdown-menu{display:block}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-secondary);text-decoration:none;font-size:.875rem;border-radius:var(--border-radius-xs);transition:all var(--transition-fast)}.dropdown-item:hover{background:#f1f5f9;color:var(--text-primary);transform:translate(4px)}.nav-user{display:flex;align-items:center;gap:1rem;margin-left:1rem;padding-left:1rem;border-left:1px solid #e2e8f0}.user-info{color:var(--text-secondary);font-size:.875rem;display:flex;align-items:center;gap:.5rem}.btn-logout{background:#f1f5f9;border:1px solid #e2e8f0;color:var(--text-primary);padding:.5rem 1rem;border-radius:var(--border-radius-xs);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-smooth);display:flex;align-items:center;gap:.5rem}.btn-logout:hover{background:#eb33494d;border-color:#eb334980;transform:translateY(-1px)}.main-content{flex:1;padding:2.5rem 0}.footer{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid #e2e8f0;padding:3rem 0 1.5rem;margin-top:auto}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:2rem}.footer h5{font-size:1rem;font-weight:600;margin-bottom:1rem;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer p,.footer li{font-size:.875rem;color:var(--text-secondary);line-height:1.8}.footer ul{list-style:none}.footer a{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.footer a:hover{color:var(--text-primary)}.footer-bottom{text-align:center;padding-top:1.5rem;border-top:1px solid #e2e8f0;font-size:.8rem;color:var(--text-muted)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--dark-gradient);position:relative}.login-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 70%,rgba(6,182,212,.08) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(8,145,178,.06) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(6,182,212,.04) 0%,transparent 50%);pointer-events:none}.login-card{position:relative;background:#f1f5f9;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid #e2e8f0;border-radius:var(--border-radius);box-shadow:0 25px 50px -12px #0f172a1a,inset 0 1px 1px #ffffff1a;width:100%;max-width:420px;overflow:hidden;animation:slideUp .6s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{background:var(--primary-gradient);padding:2rem;text-align:center;position:relative;overflow:hidden}.login-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.login-header h1{font-size:1.75rem;font-weight:700;color:#fff;position:relative;z-index:1}.login-form{padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary);font-size:.875rem}.form-group input{width:100%;padding:1rem 1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:var(--border-radius-sm);font-size:1rem;color:var(--text-primary);transition:all var(--transition-smooth)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{outline:none;border-color:#06b6d480;background:#fff;box-shadow:0 0 0 4px #06b6d426}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border-radius:var(--border-radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-smooth);border:none;text-decoration:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 15px #06b6d466}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #06b6d480}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:#f1f5f9;color:var(--text-primary);border:1px solid #e2e8f0}.btn-secondary:hover{background:#e2e8f0;transform:translateY(-2px)}.btn-success{background:var(--success-gradient);color:#fff;box-shadow:0 4px 15px #11998e66}.btn-success:hover{transform:translateY(-2px);box-shadow:0 8px 25px #11998e80}.btn-warning{background:var(--warning-gradient);color:var(--text-dark);box-shadow:0 4px 15px #f7971e66}.btn-warning:hover{transform:translateY(-2px);box-shadow:0 8px 25px #f7971e80}.btn-danger{background:var(--danger-gradient);color:#fff;box-shadow:0 4px 15px #eb334966}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 25px #eb334980}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.w-full{width:100%}.alert{padding:1rem 1.25rem;border-radius:var(--border-radius-sm);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.alert-error{background:#eb334933;color:#ef4444;border:1px solid rgba(235,51,73,.3)}.alert-warning{background:#f7971e33;color:#f59e0b;border:1px solid rgba(247,151,30,.3)}.alert-success{background:#11998e33;color:#16a34a;border:1px solid rgba(17,153,142,.3)}.alert-close{margin-left:auto;background:none;border:none;font-size:1.5rem;cursor:pointer;color:inherit;opacity:.7;transition:opacity var(--transition-fast)}.alert-close:hover{opacity:1}.page-header{margin-bottom:2.5rem}.page-header h1{font-size:2rem;font-weight:700;display:flex;align-items:center;gap:.75rem;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-header p{color:var(--text-secondary);margin-top:.5rem}.back-link{color:var(--text-secondary);text-decoration:none;font-size:.875rem;margin-bottom:.75rem;display:inline-flex;align-items:center;gap:.375rem;transition:color var(--transition-fast)}.back-link:hover{color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{background:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #e2e8f0;border-radius:var(--border-radius);padding:1.5rem;display:flex;align-items:center;gap:1.25rem;transition:all var(--transition-smooth);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient);opacity:0;transition:opacity var(--transition-smooth)}.stat-card:hover{transform:translateY(-4px);border-color:#e2e8f0;box-shadow:0 20px 40px #0f172a1a}.stat-card:hover:before{opacity:1}.stat-icon{width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);font-size:1.5rem;background:#06b6d433;color:#0891b2}.stat-card.stat-success .stat-icon{background:#11998e33;color:#16a34a}.stat-card.stat-warning .stat-icon{background:#f7971e33;color:#f59e0b}.stat-card.stat-danger .stat-icon{background:#eb334933;color:#f45c43}.stat-content h3{font-size:2rem;font-weight:700;line-height:1.2}.stat-content p{color:var(--text-secondary);font-size:.875rem;font-weight:500}.filter-bar{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap;background:#f8fafc;padding:.5rem;border-radius:var(--border-radius);border:1px solid #e2e8f0}.filter-btn{padding:.625rem 1.25rem;background:transparent;border:1px solid transparent;color:var(--text-secondary);border-radius:var(--border-radius-xs);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-smooth)}.filter-btn:hover{background:#fff;color:var(--text-primary)}.filter-btn.active{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 15px #06b6d44d}.devices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.5rem}.device-card{background:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #e2e8f0;border-radius:var(--border-radius);padding:1.5rem;transition:all var(--transition-smooth);position:relative;overflow:hidden}.device-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent-gradient);opacity:.5}.device-card.locked:before{background:var(--success-gradient)}.device-card.unlocked:before{background:var(--warning-gradient)}.device-card:hover{transform:translateY(-4px) scale(1.01);border-color:#e2e8f0;box-shadow:0 25px 50px #0f172a1a}.device-header{display:flex;gap:1rem;margin-bottom:1rem}.device-icon{width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);background:#06b6d433;color:#0891b2;font-size:1.5rem}.device-info h3{font-size:1.125rem;font-weight:600;margin-bottom:.375rem}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:50px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.locked{background:#11998e33;color:#16a34a;border:1px solid rgba(17,153,142,.3)}.status-badge.unlocked{background:#f7971e33;color:#f59e0b;border:1px solid rgba(247,151,30,.3)}.device-alarms{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.alarm-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--border-radius-xs);font-size:.75rem;font-weight:600;background:#eb334933;color:#ef4444;border:1px solid rgba(235,51,73,.3);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.device-details{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1.25rem;padding:1rem;background:#f8fafc;border-radius:var(--border-radius-sm);border:1px solid #e2e8f0}.device-detail{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--text-secondary)}.device-detail i{width:1.25rem;color:var(--text-muted)}.device-actions{display:flex;gap:.75rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state i{font-size:4rem;margin-bottom:1.5rem;opacity:.3;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.empty-state h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-primary)}.card{background:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #e2e8f0;border-radius:var(--border-radius);overflow:hidden}.card-header{padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.card-header h2{font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.625rem}.card-body{padding:1.5rem}.card-danger{border-color:#eb33494d}.card-danger .card-header{background:#eb33491a;color:#ef4444}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.info-list{display:flex;flex-direction:column;gap:1rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.info-item:last-child{border-bottom:none;padding-bottom:0}.info-item label{color:var(--text-muted);font-size:.875rem}.info-item span{font-weight:500}.info-item .monospace{font-family:JetBrains Mono,monospace;font-size:.8rem;background:#f1f5f9;padding:.375rem .625rem;border-radius:var(--border-radius-xs)}.action-buttons{margin-top:1.5rem;display:flex;gap:.75rem}.alarms-list{display:flex;flex-direction:column;gap:.5rem}.alarm-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--border-radius-xs);font-size:.875rem;font-weight:500}.alarm-item.active{background:#eb334926;color:#ef4444;border:1px solid rgba(235,51,73,.2)}.temperature-display{text-align:center;padding:1rem}.temp-value{font-size:3rem;font-weight:700;display:block;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.temp-range{color:var(--text-muted);font-size:.875rem;margin-top:.5rem}.events-table{overflow-x:auto}.events-table table{width:100%;border-collapse:collapse}.events-table th,.events-table td{padding:1rem;text-align:left;border-bottom:1px solid #e2e8f0}.events-table th{font-weight:600;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.events-table td{font-size:.875rem}.events-table tr:hover{background:#f8fafc}.event-type{display:inline-block;padding:.375rem .75rem;border-radius:var(--border-radius-xs);font-size:.75rem;font-weight:600;text-transform:uppercase}.event-type.lock{background:#11998e33;color:#16a34a}.event-type.unlock{background:#f7971e33;color:#f59e0b}.loading-screen,.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:var(--text-secondary)}.loading-screen{min-height:100vh;background:var(--dark-gradient)}.loading-screen i,.loading-spinner i{font-size:3rem;margin-bottom:1.5rem;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.user-role{font-size:.7rem;background:#06b6d433;padding:.2rem .5rem;border-radius:4px;margin-left:.5rem;text-transform:uppercase}.modal-overlay{position:fixed;inset:0;background:#0f172ab3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .2s ease}.modal-content{width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.25rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast)}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.75rem}.form-group select{width:100%;padding:1rem 1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:var(--border-radius-sm);font-size:1rem;color:var(--text-primary);transition:all var(--transition-smooth);cursor:pointer}.form-group select:focus{outline:none;border-color:#06b6d480;background:#fff}.form-group select option{background:#fff;color:var(--text-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:#06b6d4}.table-responsive{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:1rem;text-align:left;border-bottom:1px solid #e2e8f0}.data-table th{font-weight:600;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.data-table td{font-size:.875rem}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:#f8fafc}.user-cell,.device-cell{display:flex;align-items:center;gap:.75rem}.user-avatar{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--primary-gradient);border-radius:50%;font-weight:600;font-size:1rem}.device-icon-sm{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#06b6d433;color:#0891b2;border-radius:var(--border-radius-xs)}.device-cell div small{display:block;color:var(--text-muted);font-size:.75rem}.role-badge{display:inline-block;padding:.375rem .75rem;border-radius:50px;font-size:.75rem;font-weight:600;text-transform:capitalize}.role-badge.super-admin{background:#eb334933;color:#ef4444}.role-badge.admin{background:#06b6d433;color:#a78bfa}.role-badge.manager{background:#11998e33;color:#16a34a}.role-badge.driver{background:#f7971e33;color:#f59e0b}.role-badge.user{background:#f1f5f9;color:var(--text-secondary)}.status-badge.active{background:#11998e33;color:#16a34a;border:1px solid rgba(17,153,142,.3)}.status-badge.inactive{background:#f1f5f9;color:var(--text-muted);border:1px solid #e2e8f0}button.status-toggle{cursor:pointer;font-family:inherit;transition:filter .15s ease,opacity .15s ease}button.status-toggle:hover:not(:disabled){filter:brightness(.95)}button.status-toggle:disabled{cursor:default;opacity:.7}.type-badge{display:inline-block;padding:.375rem .75rem;background:#06b6d426;color:#0891b2;border-radius:var(--border-radius-xs);font-size:.75rem;font-weight:500;text-transform:capitalize}.feature-badges{display:flex;gap:.5rem}.feature-badge{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.75rem}.feature-badge.temp{background:#06b6d433;color:#0891b2}.feature-badge.nuclear{background:#f7971e33;color:#f59e0b}.feature-badge.protocol{background:#06b6d433;color:#a78bfa}.action-btns{display:flex;gap:.5rem}.settings-layout{display:grid;grid-template-columns:250px 1fr;gap:1.5rem}.settings-nav{padding:1rem;height:fit-content;position:sticky;top:100px}.settings-nav-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:transparent;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;border-radius:var(--border-radius-xs);transition:all var(--transition-smooth);text-align:left}.settings-nav-item:hover{background:#fff;color:var(--text-primary)}.settings-nav-item.active{background:var(--primary-gradient);color:#fff}.settings-section-title{font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:1.5rem 0 1rem}.settings-section-title:first-child{margin-top:0}.integration-card{margin-bottom:1rem;border-radius:var(--border-radius-sm);overflow:hidden}.integration-header{display:flex;align-items:center;gap:1rem;padding:1rem}.integration-header i{font-size:1.5rem;color:#0891b2}.integration-header h4{font-size:1rem;margin-bottom:.25rem}.integration-header p{font-size:.8rem;color:var(--text-muted)}.integration-header>div:first-of-type{flex:1}.integration-body{padding:0 1rem 1rem}.toggle{position:relative;display:inline-block;width:3rem;height:1.5rem}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:#f1f5f9;border-radius:1.5rem;transition:var(--transition-smooth)}.toggle-slider:before{content:"";position:absolute;height:1.1rem;width:1.1rem;left:.2rem;bottom:.2rem;background:#fff;border-radius:50%;transition:var(--transition-smooth)}.toggle input:checked+.toggle-slider{background:var(--primary-gradient)}.toggle input:checked+.toggle-slider:before{transform:translate(1.5rem)}.notifications-list{display:flex;flex-direction:column;gap:1rem}.notification-item{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;cursor:pointer;transition:all var(--transition-smooth)}.notification-item:hover{transform:translate(4px)}.notification-item.unread{background:#06b6d40d;border-color:#06b6d433}.notification-icon{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);font-size:1.25rem}.notification-info .notification-icon{background:#06b6d433;color:#0891b2}.notification-warning .notification-icon{background:#f7971e33;color:#f59e0b}.notification-danger .notification-icon{background:#eb334933;color:#ef4444}.notification-content{flex:1}.notification-content h4{font-size:1rem;margin-bottom:.375rem}.notification-content p{color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem}.notification-time{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-muted)}.notification-badge{display:flex;align-items:center}.unread-dot{width:.625rem;height:.625rem;background:var(--accent-gradient);border-radius:50%;animation:pulse 2s infinite}.chart-placeholder{padding:1rem}.donut-chart{position:relative;width:180px;height:180px;margin:0 auto 1.5rem;border-radius:50%;background:conic-gradient(#16a34a 0deg calc(var(--percentage, 75) * 3.6deg),#f59e0b calc(var(--percentage, 75) * 3.6deg) 360deg)}.donut-chart:before{content:"";position:absolute;inset:25%;background:var(--dark-gradient);border-radius:50%}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1}.donut-value{font-size:2rem;font-weight:700}.donut-label{font-size:.8rem;color:var(--text-muted)}.chart-legend{display:flex;justify-content:center;gap:1.5rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.legend-color{width:.75rem;height:.75rem;border-radius:2px}.type-stats{display:flex;flex-direction:column;gap:1rem}.type-stat-item{display:flex;align-items:center;gap:1rem}.type-stat-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-xs)}.type-stat-info{display:flex;flex-direction:column;min-width:80px}.type-stat-label{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.type-stat-value{font-size:1.125rem;font-weight:600}.type-stat-bar{flex:1;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.type-stat-fill{height:100%;border-radius:4px;transition:width .5s ease}.security-metrics{display:flex;flex-direction:column;gap:1.25rem}.metric-item{display:flex;flex-direction:column;gap:.5rem}.metric-header{display:flex;justify-content:space-between;font-size:.875rem}.metric-value{font-weight:600}.metric-bar{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.metric-fill{height:100%;border-radius:4px;transition:width .5s ease}.metric-fill.success{background:var(--success-gradient)}.metric-fill.danger{background:var(--danger-gradient)}.activity-timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:flex;align-items:flex-start;gap:1rem;border-left:2px solid #e2e8f0;margin-left:.5rem;padding:1rem 0 1rem 1.5rem;position:relative}.timeline-dot{position:absolute;left:-.4rem;width:.75rem;height:.75rem;border-radius:50%}.timeline-dot.success{background:#16a34a}.timeline-dot.warning{background:#f59e0b}.timeline-dot.danger{background:#ef4444}.timeline-dot.info{background:#0891b2}.timeline-content p{font-size:.875rem;margin-bottom:.25rem}.timeline-time{font-size:.75rem;color:var(--text-muted)}.time-range-selector{display:flex;gap:.5rem}@media(max-width:992px){.settings-layout{grid-template-columns:1fr}.settings-nav{position:static;display:flex;flex-wrap:wrap;gap:.5rem}.settings-nav-item{flex:1;min-width:120px;justify-content:center}}@media(max-width:768px){.navbar .container{flex-direction:column;align-items:flex-start}.nav-links{width:100%;flex-wrap:wrap}.nav-user{width:100%;margin-left:0;padding-left:0;border-left:none;padding-top:1rem;margin-top:1rem;border-top:1px solid #e2e8f0}.stats-grid{grid-template-columns:1fr 1fr}.devices-grid{grid-template-columns:1fr}.page-header h1,.stat-content h3{font-size:1.5rem}.form-row{grid-template-columns:1fr}.header-row{flex-direction:column;align-items:flex-start}}.sidebar-layout{display:flex;min-height:100vh}.sidebar{width:280px;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid #e2e8f0;display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:1000;transition:width var(--transition-smooth)}.sidebar.collapsed{width:80px}.sidebar-header{padding:1.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8f0}.sidebar-brand{display:flex;align-items:center;gap:.75rem;color:var(--text-primary);text-decoration:none;font-size:1.5rem;font-weight:700}.sidebar-brand i{background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:1.75rem}.sidebar-toggle{background:#f1f5f9;border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:8px;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background:#e2e8f0;color:var(--text-primary)}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-section{padding:.5rem 1rem;margin-bottom:.5rem}.nav-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:.5rem;margin-bottom:.25rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-secondary);text-decoration:none;border-radius:var(--border-radius-xs);transition:all var(--transition-fast);margin-bottom:.25rem;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;font-size:.9rem}.sidebar-link:hover{background:#f1f5f9;color:var(--text-primary)}.sidebar-link.active{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 15px #06b6d466}.sidebar-link i{width:20px;text-align:center;font-size:1rem}.sidebar-submenu-container{margin-bottom:.25rem}.submenu-toggle{position:relative}.submenu-arrow{margin-left:auto;font-size:.75rem}.sidebar-submenu{padding-left:1rem;margin-top:.25rem}.sidebar-sublink{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;color:var(--text-secondary);text-decoration:none;border-radius:var(--border-radius-xs);transition:all var(--transition-fast);margin-bottom:.125rem;font-size:.85rem}.sidebar-sublink:hover{background:#fff;color:var(--text-primary)}.sidebar-sublink.active{background:var(--primary-gradient);color:#fff}.sidebar-sublink i{width:18px;text-align:center;font-size:.85rem}.sidebar-footer{padding:1rem;border-top:1px solid #e2e8f0}.sidebar-user{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border-radius:var(--border-radius-xs);margin-bottom:.75rem}.sidebar-user.collapsed{justify-content:center;padding:.5rem}.user-avatar{width:40px;height:40px;background:var(--primary-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}.user-details{display:flex;flex-direction:column}.user-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.user-role-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.sidebar-logout{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#f87171;border-radius:var(--border-radius-xs);cursor:pointer;transition:all var(--transition-fast);font-size:.9rem}.sidebar-logout:hover{background:#ef44444d}.sidebar-logout.collapsed{padding:.5rem}.sidebar-main{flex:1;margin-left:280px;padding:2rem;min-height:100vh;transition:margin-left var(--transition-smooth)}.sidebar.collapsed+.sidebar-main{margin-left:80px}.diagnostic-container{background:#1a1a2ecc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid #e2e8f0;border-radius:var(--border-radius);padding:1.5rem;color:var(--text-primary)}.diagnostic-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.diagnostic-header h2{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.75rem}.diagnostic-header h2 i{background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.diagnostic-header p{color:var(--text-muted);font-size:.9rem;margin-top:.25rem}.diagnostic-alert{background:#eab30833;border:1px solid rgba(234,179,8,.3);border-radius:var(--border-radius-xs);padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;color:#fbbf24}.connection-status{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--border-radius-xs);font-weight:500;font-size:.9rem}.connection-status.connected{background:#22c55e33;color:#22c55e}.connection-status.disconnected{background:#f1f5f9;color:#9ca3af}.diagnostic-grid{display:grid;grid-template-columns:280px 1fr 300px;gap:1.5rem}@media(max-width:1200px){.diagnostic-grid{grid-template-columns:1fr}}.diagnostic-sidebar,.diagnostic-main,.diagnostic-status-panel{display:flex;flex-direction:column;gap:1rem}.diagnostic-card{background:#fff;border:1px solid #e2e8f0;border-radius:var(--border-radius-sm)}.diagnostic-card-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.75rem 1rem;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.5rem;border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0}.diagnostic-card-header i{color:#3b82f6}.diagnostic-card-body{padding:1rem}.diagnostic-log-card{flex:1;display:flex;flex-direction:column}.diagnostic-log-card .diagnostic-card-header{justify-content:space-between}.log-controls{display:flex;align-items:center;gap:1rem}.toggle-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.8rem;color:var(--text-secondary)}.toggle-switch input{accent-color:#3b82f6}.btn-clear-log{background:#f1f5f9;border:none;color:var(--text-secondary);width:30px;height:30px;border-radius:6px;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.btn-clear-log:hover{background:#ef44444d;color:#f87171}.log-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--border-radius-xs);height:400px;overflow-y:auto;font-family:Consolas,Monaco,monospace;font-size:12px}.log-entry{padding:.5rem .75rem;border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;align-items:flex-start}.log-entry:hover{background:#f1f5f9}.log-timestamp{color:var(--text-muted);white-space:nowrap;font-size:11px}.log-direction{font-weight:700;font-size:11px;padding:.125rem .375rem;border-radius:4px}.log-direction-tx{color:#3b82f6;background:#3b82f633}.log-direction-rx{color:#22c55e;background:#22c55e33}.log-badge{font-size:10px;padding:.125rem .375rem;border-radius:4px;text-transform:uppercase}.badge-alarm,.badge-error{background:#dc2626;color:#fff}.log-content{flex:1;word-break:break-all;color:var(--text-primary)}.log-empty{padding:2rem;text-align:center;color:var(--text-muted)}.hex-display{font-family:Consolas,monospace;background:#f1f5f9;padding:.125rem .375rem;border-radius:4px;font-size:10px;color:#475569;margin-left:.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:.375rem}.form-input-dark,.form-select-dark{width:100%;background:#fff;border:1px solid #e2e8f0;color:var(--text-primary);padding:.625rem .875rem;border-radius:var(--border-radius-xs);font-size:.9rem;transition:all var(--transition-fast)}.form-input-dark:focus,.form-select-dark:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.form-input-dark:disabled,.form-select-dark:disabled{opacity:.5;cursor:not-allowed}.input-group-dark{display:flex;gap:.5rem}.input-group-dark .form-input-dark{flex:1}.btn-command-send{background:#3b82f6;border:none;color:#fff;width:40px;border-radius:var(--border-radius-xs);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.btn-command-send:hover{background:#2563eb}.btn-command-send:disabled{background:#e2e8f0;cursor:not-allowed}.btn-diagnostic-connect{width:100%;background:#22c55e;border:none;color:#fff;padding:.75rem;border-radius:var(--border-radius-xs);cursor:pointer;font-weight:600;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-diagnostic-connect:hover{background:#16a34a}.btn-diagnostic-connect:disabled{background:#e2e8f0;cursor:not-allowed}.btn-diagnostic-disconnect{width:100%;background:#ef4444;border:none;color:#fff;padding:.75rem;border-radius:var(--border-radius-xs);cursor:pointer;font-weight:600;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-diagnostic-disconnect:hover{background:#dc2626}.command-group{background:#f1f5f9;border-radius:var(--border-radius-xs);padding:.75rem;margin-bottom:.75rem}.command-group-title{color:#94a3b8;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.command-buttons{display:grid;gap:.375rem}.btn-command{background:#3b82f6;border:none;color:#fff;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all var(--transition-fast);display:flex;align-items:center;gap:.375rem}.btn-command:hover{background:#2563eb}.btn-command:disabled{background:#e2e8f0;color:#6b7280;cursor:not-allowed}.status-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--border-radius-xs);padding:.75rem;margin-bottom:.75rem}.status-panel-header{color:#94a3b8;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;display:flex;align-items:center;gap:.375rem}.status-item{display:flex;align-items:center;padding:.25rem .5rem;border-radius:4px;margin-bottom:.25rem;font-size:.75rem;color:var(--text-secondary)}.status-item:hover{background:#f1f5f9}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:.25rem}.status-indicator{width:10px;height:10px;border-radius:50%;margin-right:.5rem;flex-shrink:0}.status-active{background:#22c55e;box-shadow:0 0 8px #22c55e}.status-inactive{background:#6b7280}.status-warning{background:#eab308;box-shadow:0 0 8px #eab308}.status-error{background:#ef4444;box-shadow:0 0 8px #ef4444;animation:pulse-error 1s infinite}.status-unknown{background:#e2e8f0;border:1px solid #6b7280}@keyframes pulse-error{0%,to{opacity:1}50%{opacity:.5}}.mobile-menu-toggle{position:fixed;top:1rem;left:1rem;z-index:1100;background:var(--primary-gradient);border:none;color:#fff;width:48px;height:48px;border-radius:12px;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #06b6d466;transition:all var(--transition-fast)}.mobile-menu-toggle:hover{transform:scale(1.05)}.sidebar-overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}@media(max-width:992px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-main{margin-left:0;padding:5rem 1rem 1rem}.diagnostic-grid{grid-template-columns:1fr}}.bcudl-diagnostic,.ils5-diagnostic{color:var(--text-primary)}.diagnostic-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.diagnostic-header-bar h2{font-size:1.75rem;font-weight:700;margin:0;display:flex;align-items:center;gap:.75rem}.diagnostic-header-bar h2 i{background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.header-controls{display:flex;align-items:center;gap:.75rem}.baud-select{background:#fff;border:1px solid #e2e8f0;color:var(--text-primary);padding:.5rem 1rem;border-radius:8px;font-size:.9rem}.btn-connect-main{background:#22c55e;border:none;color:#fff;padding:.625rem 1.25rem;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all var(--transition-fast)}.btn-connect-main:hover{background:#16a34a}.btn-connect-main:disabled{background:#e2e8f0;cursor:not-allowed}.btn-disconnect-main{background:#ef4444;border:none;color:#fff;padding:.625rem 1.25rem;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all var(--transition-fast)}.btn-disconnect-main:hover{background:#dc2626}.stats-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:992px){.stats-bar{grid-template-columns:repeat(3,1fr)}}@media(max-width:576px){.stats-bar{grid-template-columns:repeat(2,1fr)}}.stats-grid .stat-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 12px #0f172a1a}.stats-grid .stat-card .stat-content h3{font-size:2rem;font-weight:700;color:#1f2937;margin:0}.stats-grid .stat-card .stat-content p{font-size:.875rem;color:#6b7280;margin:.25rem 0 0}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.stat-icon.purple{background:#8b5cf626;color:#8b5cf6}.stat-icon.blue{background:#3b82f626;color:#3b82f6}.stat-icon.cyan{background:#06b6d426;color:#06b6d4}.stat-icon.red{background:#ef444426;color:#ef4444}.stat-icon.yellow{background:#eab30826;color:#eab308}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:#1f2937;line-height:1}.stat-label{font-size:.8rem;color:#6b7280;margin-top:.25rem}.section-card{background:#fff;border-radius:16px;margin-bottom:1.5rem;box-shadow:0 2px 12px #0f172a0d;overflow:hidden}.section-header{background:#f8fafc;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.section-header h3{font-size:1.1rem;font-weight:600;margin:0;color:#1f2937;display:flex;align-items:center;gap:.5rem}.section-header h3 i{color:#6366f1}.section-title{display:flex;flex-direction:column}.section-subtitle{font-size:.8rem;color:#6b7280;font-weight:400}.section-controls{display:flex;align-items:center;gap:1rem}.toggle-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#4b5563;cursor:pointer}.toggle-label input[type=checkbox]{accent-color:#6366f1}.btn-toggle{background:#f3f4f6;border:1px solid #e5e7eb;color:#4b5563;padding:.375rem .75rem;border-radius:6px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:.375rem}.btn-toggle:hover{background:#e5e7eb}.status-grid-full{display:grid;grid-template-columns:repeat(6,1fr);gap:1.5rem;padding:1.5rem}@media(max-width:1400px){.status-grid-full{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.status-grid-full{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){.status-grid-full{grid-template-columns:1fr}}.status-column{min-width:0}.column-header{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.column-header i{color:#6366f1}.status-item{display:flex;align-items:center;padding:.375rem .5rem;font-size:.8rem;color:#4b5563;border-radius:4px;margin-bottom:.25rem}.status-item:hover{background:#f3f4f6}.status-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:.25rem}.status-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:1rem}.legend{display:flex;flex-wrap:wrap;gap:1rem}.legend-item{display:flex;align-items:center;font-size:.8rem;color:#6b7280}.btn-reset{background:#fff;border:1px solid #e5e7eb;color:#4b5563;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:.375rem}.btn-reset:hover{background:#f3f4f6}.command-control-content{padding:1.5rem}.command-settings{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;padding:1rem;background:#f8fafc;border-radius:8px;margin-bottom:1.5rem}.setting-group{display:flex;align-items:center;gap:.5rem}.setting-group label{font-size:.85rem;color:#4b5563;display:flex;align-items:center;gap:.375rem}.setting-group input,.setting-group select{background:#fff;border:1px solid #d1d5db;color:#1f2937;padding:.5rem .75rem;border-radius:6px;font-size:.9rem}.format-display{font-size:.85rem;color:#6b7280}.format-display code{background:#e5e7eb;padding:.25rem .5rem;border-radius:4px;font-family:monospace;color:#1f2937}.command-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.ils5-grid{grid-template-columns:repeat(3,1fr)}@media(max-width:1200px){.command-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.command-grid,.ils5-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){.command-grid,.ils5-grid{grid-template-columns:1fr}}.command-category h4{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.cmd-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:.85rem;cursor:pointer;transition:all var(--transition-fast);margin-bottom:.5rem}.cmd-btn:hover:not(:disabled){background:#6366f1;border-color:#6366f1;color:#fff}.cmd-btn:disabled{opacity:.5;cursor:not-allowed}.cmd-hex{font-family:monospace;font-size:.75rem;color:#6366f1;background:#6366f11a;padding:.125rem .375rem;border-radius:4px}.cmd-btn:hover:not(:disabled) .cmd-hex{background:#e2e8f0;color:#1e293b}.cmd-small{padding:.5rem;font-size:.8rem}.rolling-codes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem}.warning-banner{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:8px;color:#b45309;font-size:.9rem;margin-top:1.5rem}.motor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.5rem}@media(max-width:992px){.motor-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){.motor-grid{grid-template-columns:1fr}}.motor-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:1rem}.motor-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;color:#374151}.motor-status{display:flex}.motor-info{margin-left:auto;width:20px;height:20px;background:#e5e7eb;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#6b7280;cursor:help}.motor-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.btn-motor-open,.btn-motor-lock{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem;border-radius:6px;font-size:.8rem;cursor:pointer;border:1px solid #e5e7eb;transition:all var(--transition-fast)}.btn-motor-open{background:#fff;color:#374151}.btn-motor-open:hover:not(:disabled){background:#22c55e;border-color:#22c55e;color:#fff}.btn-motor-lock{background:#fff;color:#374151}.btn-motor-lock:hover:not(:disabled){background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-motor-open:disabled,.btn-motor-lock:disabled{opacity:.5;cursor:not-allowed}.motor-actions{display:flex;gap:1rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;flex-wrap:wrap}.btn-action-primary,.btn-action-danger,.btn-action-secondary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:all var(--transition-fast)}.btn-action-primary{background:#22c55e;color:#fff}.btn-action-primary:hover:not(:disabled){background:#16a34a}.btn-action-danger{background:#ef4444;color:#fff}.btn-action-danger:hover:not(:disabled){background:#dc2626}.btn-action-secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.btn-action-secondary:hover:not(:disabled){background:#e5e7eb}.btn-action-primary:disabled,.btn-action-danger:disabled,.btn-action-secondary:disabled{opacity:.5;cursor:not-allowed}.matrix-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.search-input{background:#fff;border:1px solid #d1d5db;color:#1f2937;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;min-width:180px}.filter-select{background:#fff;border:1px solid #d1d5db;color:#1f2937;padding:.5rem .75rem;border-radius:6px;font-size:.85rem}.btn-icon{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#4b5563;font-size:.85rem;cursor:pointer}.btn-icon:hover{background:#f3f4f6}.protocol-table{border:1px solid #e5e7eb;border-radius:8px;margin:1.5rem;overflow:hidden}.table-header{display:grid;grid-template-columns:100px 80px 100px 120px 1fr 150px 100px 80px;background:#f8fafc;padding:.75rem 1rem;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.table-body{max-height:400px;overflow-y:auto}.table-row{display:grid;grid-template-columns:100px 80px 100px 120px 1fr 150px 100px 80px;padding:.625rem 1rem;font-size:.85rem;border-bottom:1px solid #f3f4f6;align-items:center}.table-row:hover{background:#f8fafc}.empty-state{padding:3rem;text-align:center;color:#9ca3af}.empty-state i,.empty-icon{font-size:3rem;margin-bottom:1rem;color:#d1d5db}.empty-icon{font-family:monospace;font-weight:700}.empty-state p{font-size:1rem;margin:0;color:#6b7280}.empty-state span{font-size:.85rem}.log-time{font-family:monospace;font-size:.8rem;color:#6b7280}.log-direction{font-weight:600;font-size:.75rem;padding:.125rem .5rem;border-radius:4px;text-align:center}.log-direction-tx{background:#3b82f626;color:#3b82f6}.log-direction-rx{background:#22c55e26;color:#22c55e}.log-type{font-size:.7rem;padding:.125rem .5rem;border-radius:4px;text-transform:uppercase;font-weight:500;text-align:center}.badge-command{background:#f97316;color:#fff}.badge-response{background:#3b82f6;color:#fff}.badge-ack{background:#22c55e;color:#fff}.badge-nack{background:#ef4444;color:#fff}.badge-status{background:#06b6d4;color:#fff}.badge-error,.badge-alarm{background:#dc2626;color:#fff}.badge-unknown{background:#6b7280;color:#fff}.two-column-section{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:992px){.two-column-section{grid-template-columns:1fr}}.ref-table{padding:1rem}.ref-row{display:grid;grid-template-columns:60px 150px 1fr;padding:.625rem .5rem;border-bottom:1px solid #f3f4f6;align-items:center;font-size:.85rem}.ref-row:last-child{border-bottom:none}.ref-hex,.ref-code{font-family:monospace;font-weight:600;color:#6366f1}.ref-cmd{font-weight:600;color:#374151}.ref-desc{color:#6b7280}.ref-row.ref-header{background:#f3f4f6;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.ref-name{font-weight:500;color:#374151}.ref-byte,.ref-bit{font-family:monospace;font-weight:600;color:#7c3aed;background:#f5f3ff;padding:.15rem .4rem;border-radius:3px;font-size:.85rem}.sub-header{font-size:.95rem;font-weight:600;color:#374151;margin:1rem 1rem .5rem;padding-top:.75rem;border-top:1px solid #e5e7eb}.legend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem}@media(max-width:768px){.legend-grid{grid-template-columns:1fr}}.legend-col{display:flex;flex-direction:column;gap:.5rem}.badge-legend{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:500}.badge-internal{background:#e0e7ff;color:#4338ca}.badge-status-leg{background:#fef3c7;color:#b45309}.badge-alarm-leg{background:#fecaca;color:#dc2626}.badge-motor{background:#dbeafe;color:#2563eb}.badge-heartbeat{background:#dbeafe;color:#3b82f6}.badge-config{background:#f3e8ff;color:#7c3aed}.badge-info{background:#fef3c7;color:#b45309}.legend-directions{font-size:.85rem;color:#4b5563}.legend-directions div{display:flex;align-items:center;gap:.5rem;padding:.375rem 0}.tx-icon{color:#3b82f6}.rx-icon,.check-ok{color:#22c55e}.check-fail{color:#ef4444}.geofence-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.5rem}@media(max-width:768px){.geofence-grid{grid-template-columns:1fr}}.geofence-zone{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem}.zone-header{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#374151;margin-bottom:.75rem}.zone-dot{width:12px;height:12px;border-radius:50%}.zone-entry{background:#22c55e}.zone-exit{background:#ef4444}.geofence-zone p{font-size:.85rem;color:#6b7280;margin-bottom:1rem}.geofence-zone select{width:100%;background:#fff;border:1px solid #d1d5db;color:#1f2937;padding:.625rem .75rem;border-radius:8px;font-size:.9rem}.geofence-info{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.5rem;background:#eff6ff;color:#1e40af;font-size:.85rem;border-top:1px solid #e5e7eb}.geofence-info i{margin-top:.125rem}.command-queue-section{margin-top:1.5rem;padding-top:1rem;border-top:1px dashed #e5e7eb}.command-queue-section h4{font-size:.95rem;font-weight:600;color:#374151;margin-bottom:.75rem}.command-queue-section h4 i{margin-right:.5rem;color:#7c3aed}.queue-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.btn-small{padding:.35rem .75rem;font-size:.8rem;border-radius:6px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .2s}.btn-small:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.btn-small:disabled{opacity:.5;cursor:not-allowed}.btn-small.btn-primary{background:#7c3aed;color:#fff;border-color:#7c3aed}.btn-small.btn-primary:hover:not(:disabled){background:#6d28d9}.btn-small.btn-secondary{background:#f3f4f6;color:#6b7280}.queue-list{display:flex;flex-wrap:wrap;gap:.5rem}.queue-item{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:4px;font-size:.8rem;font-family:monospace;background:#f3f4f6;border:1px solid #e5e7eb}.queue-item.queue-pending{background:#fef3c7;border-color:#f59e0b;color:#92400e}.queue-item.queue-sending{background:#dbeafe;border-color:#93c5fd;color:#1e40af}.queue-item.queue-sent{background:#d1fae5;border-color:#6ee7b7;color:#065f46}.queue-item.queue-failed{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.alarm-history-card{max-height:400px;overflow:hidden}.alarm-list{max-height:280px;overflow-y:auto;padding:.5rem 1rem}.alarm-item{display:grid;grid-template-columns:80px 100px 1fr auto;gap:.75rem;padding:.5rem;border-radius:6px;margin-bottom:.5rem;font-size:.85rem;align-items:center}.alarm-item:last-child{margin-bottom:0}.alarm-item.alarm-high{background:linear-gradient(90deg,#fef2f2,#fff);border-left:3px solid #ef4444}.alarm-item.alarm-medium{background:linear-gradient(90deg,#fffbeb,#fff);border-left:3px solid #f59e0b}.alarm-item.alarm-low{background:linear-gradient(90deg,#f0fdf4,#fff);border-left:3px solid #22c55e}.alarm-time{font-family:monospace;font-size:.8rem;color:#6b7280}.alarm-type{font-weight:600;color:#374151}.alarm-desc{color:#6b7280}.alarm-badge{font-size:.7rem;padding:.15rem .5rem;border-radius:10px;font-weight:600;text-transform:uppercase}.alarm-badge.badge-high{background:#fef2f2;color:#ef4444;border:1px solid #fca5a5}.alarm-badge.badge-medium{background:#fffbeb;color:#f59e0b;border:1px solid #f59e0b}.alarm-badge.badge-low{background:#f0fdf4;color:#22c55e;border:1px solid #86efac}.empty-state.small{padding:1rem;font-size:.85rem}.empty-state.small i{font-size:1.5rem;margin-bottom:.5rem;color:#22c55e}.widget-dashboard{padding-bottom:2rem}.widget-grid{display:flex;flex-direction:column;gap:1.5rem}.widget-row{display:grid;gap:1.5rem}.widget-row.stats-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.widget-row.main-row{grid-template-columns:2fr 1fr}.widget-row.charts-row{grid-template-columns:repeat(3,1fr)}.widget-row.bottom-row{grid-template-columns:1fr 2fr}.widget-column{min-width:0}.widget-column.wide{grid-column:span 1}@media(max-width:1200px){.widget-row.main-row,.widget-row.bottom-row{grid-template-columns:1fr}.widget-row.charts-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.widget-row.charts-row{grid-template-columns:1fr}}.widget{background:#fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid #e2e8f0;border-radius:var(--border-radius);overflow:hidden;transition:all var(--transition-smooth)}.widget:hover{border-color:#e2e8f0;box-shadow:0 8px 32px #0f172a1a}.widget.clickable{cursor:pointer}.widget.clickable:hover{transform:translateY(-2px)}.widget-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.widget-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.widget-title i{font-size:.9rem;opacity:.7}.widget-action{background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:.375rem;transition:color var(--transition-fast)}.widget-action:hover{color:var(--text-primary)}.widget-actions{display:flex;align-items:center;gap:.5rem}.widget-action-btn{background:#fff;border:none;color:var(--text-muted);width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.widget-action-btn:hover{background:#f1f5f9;color:var(--text-primary)}.widget-content{padding:1.25rem}.stat-widget .widget-content{display:flex;align-items:center;gap:1rem}.stat-widget .widget-icon{width:3rem;height:3rem;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:#06b6d426;color:#0891b2}.stat-widget.widget-success .widget-icon{background:#38ef7d26;color:#16a34a}.stat-widget.widget-warning .widget-icon{background:#ffd20026;color:#f59e0b}.stat-widget.widget-danger .widget-icon{background:#ff6b6b26;color:#ef4444}.stat-widget.widget-info .widget-icon{background:#a78bfa26;color:#a78bfa}.widget-value-container{display:flex;flex-direction:column}.widget-value{font-size:1.75rem;font-weight:700;line-height:1.2}.widget-subtitle{font-size:.75rem;color:var(--text-muted);margin-top:.125rem}.widget-trend{font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:20px;display:flex;align-items:center;gap:.25rem}.widget-trend.positive{background:#38ef7d26;color:#16a34a}.widget-trend.negative{background:#ff6b6b26;color:#ef4444}.activity-widget .widget-content{padding:0}.activity-list{max-height:400px;overflow-y:auto}.activity-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1.25rem;border-bottom:1px solid #e2e8f0;transition:background var(--transition-fast)}.activity-item:hover{background:#f8fafc}.activity-item:last-child{border-bottom:none}.activity-icon{width:2rem;height:2rem;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0}.activity-details{flex:1;min-width:0}.activity-message{display:block;font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-device{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.125rem}.activity-time{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.activity-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-muted);text-align:center}.activity-empty i{font-size:2rem;opacity:.3;margin-bottom:.75rem}.activity-empty span{font-size:.85rem}.chart-widget .widget-content{padding:1rem}.chart-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.legend-color{width:10px;height:10px;border-radius:50%}.legend-label{color:var(--text-secondary)}.legend-value{color:var(--text-primary);font-weight:600}.quick-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.quick-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all var(--transition-smooth)}.quick-action-btn:hover{background:#fff;border-color:#e2e8f0;transform:translateY(-2px)}.quick-action-icon{position:relative;width:2.5rem;height:2.5rem;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;background:#06b6d426;color:#0891b2}.quick-action-btn.action-success .quick-action-icon{background:#38ef7d26;color:#16a34a}.quick-action-btn.action-warning .quick-action-icon{background:#ffd20026;color:#f59e0b}.quick-action-btn.action-danger .quick-action-icon{background:#ff6b6b26;color:#ef4444}.quick-action-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:8px;background:var(--danger-gradient);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.quick-action-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.webfleet-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #e2e8f0}.webfleet-stat{text-align:center}.webfleet-stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.webfleet-stat-label{font-size:.7rem;color:var(--text-muted);margin-top:.25rem}.webfleet-accounts-list{display:flex;flex-direction:column;gap:.5rem}.webfleet-account-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:#f8fafc;border-radius:8px;transition:background var(--transition-fast)}.webfleet-account-item:hover{background:#fff}.account-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.account-status-dot.active{background:#16a34a;box-shadow:0 0 8px #38ef7d80}.account-status-dot.inactive{background:#64748b}.account-info{flex:1;min-width:0}.account-name{display:block;font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-meta,.account-poll-time{font-size:.7rem;color:var(--text-muted)}.webfleet-empty{display:flex;flex-direction:column;align-items:center;padding:2rem;color:var(--text-muted)}.webfleet-empty i{font-size:1.5rem;opacity:.3;margin-bottom:.5rem}.webfleet-empty span{font-size:.8rem}.alerts-widget.has-critical{border-color:#eb33494d}.alerts-badge{background:var(--danger-gradient);color:#fff;font-size:.65rem;font-weight:700;padding:.125rem .5rem;border-radius:20px;margin-left:.5rem}.alerts-widget .widget-content{padding:0}.alerts-list{max-height:320px;overflow-y:auto}.alert-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid #e2e8f0}.alert-item:last-child{border-bottom:none}.alert-icon{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;background:#f1f5f9}.alert-content{flex:1;min-width:0}.alert-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.alert-title{font-size:.85rem;font-weight:600;color:var(--text-primary)}.alert-time{font-size:.7rem;color:var(--text-muted)}.alert-message{font-size:.8rem;color:var(--text-secondary);margin:0;line-height:1.4}.alert-device{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;color:var(--text-muted);margin-top:.375rem}.alert-ack-btn{background:#fff;border:none;width:28px;height:28px;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.alert-ack-btn:hover{background:#38ef7d33;color:#16a34a}.alerts-empty{display:flex;flex-direction:column;align-items:center;padding:2.5rem 1rem;color:var(--text-muted)}.alerts-empty i{font-size:2.5rem;color:#16a34a;opacity:.5;margin-bottom:.75rem}.alerts-empty span{font-size:.85rem}.widget-editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#f8fafc;border-radius:var(--border-radius);margin-bottom:1.5rem;border:1px solid #e2e8f0;flex-wrap:wrap;gap:1rem}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:.75rem}.toolbar-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.toolbar-btn:hover{background:#f1f5f9;border-color:#e2e8f0}.toolbar-btn.active,.toolbar-btn.primary{background:var(--accent-gradient);border-color:transparent}.toolbar-btn.secondary{border-color:#ff6b6b4d;color:#ef4444}.toolbar-btn.secondary:hover{background:#ff6b6b1a}.toolbar-divider{width:1px;height:24px;background:#f1f5f9}.add-widget-dropdown{position:relative}.dropdown-menu.widget-type-menu{position:absolute;top:100%;left:0;margin-top:.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.5rem;min-width:200px;max-height:300px;overflow-y:auto;z-index:1000;box-shadow:0 8px 32px #0f172a1a}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;border-radius:8px;border:none;background:transparent;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left}.dropdown-item:hover{background:#f1f5f9}.dropdown-item i{width:1.25rem;color:var(--text-secondary)}.editor-hint{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary)}.draggable-widget-container{display:grid;gap:1.25rem}.draggable-widget-container.grid-layout{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.draggable-widget-container.list-layout{grid-template-columns:1fr}.draggable-widget{position:relative;border-radius:var(--border-radius);transition:all var(--transition-smooth)}.draggable-widget.editor-mode{border:2px dashed rgba(6,182,212,.3)}.draggable-widget.editor-mode:hover{border-color:#06b6d499}.draggable-widget.widget-hidden{opacity:.5}.widget-editor-controls{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#06b6d426;border-bottom:1px solid rgba(6,182,212,.2);border-radius:var(--border-radius) var(--border-radius) 0 0;z-index:10}.widget-drag-handle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:none;background:#f1f5f9;color:var(--text-primary);cursor:grab;transition:all var(--transition-fast)}.widget-drag-handle:hover{background:#e2e8f0}.widget-drag-handle:active{cursor:grabbing}.widget-editor-actions{display:flex;gap:.375rem}.widget-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:#f1f5f9;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.widget-action-btn:hover{background:#e2e8f0}.widget-action-btn.inactive{color:var(--text-secondary)}.widget-action-btn.danger:hover{background:#ff6b6b4d;color:#ef4444}.widget-content-wrapper{transition:opacity var(--transition-fast)}.widget-content-wrapper.faded{opacity:.6}.draggable-widget.editor-mode .widget-content-wrapper{margin-top:44px}.widget-size-small,.widget-size-medium{grid-column:span 1}.widget-size-large{grid-column:span 2}.widget-size-full{grid-column:1 / -1}@media(max-width:768px){.widget-size-large,.widget-size-full{grid-column:span 1}}.mprotect-widget{background:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #e2e8f0;border-radius:var(--border-radius);overflow:hidden}.mprotect-widget .widget-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.mprotect-widget .widget-title{font-size:.9rem;font-weight:600;color:var(--text-primary)}.mprotect-widget .widget-body{padding:1.25rem}.mprotect-widget .badge{padding:.25rem .625rem;border-radius:20px;font-size:.7rem;font-weight:600}.mprotect-widget .badge.danger{background:#ff6b6b33;color:#ef4444}.mprotect-widget .badge.warning{background:#ffd20033;color:#f59e0b}.mprotect-widget .badge.demo{background:#8ab4f833;color:#8ab4f8;font-size:.65rem;text-transform:uppercase;letter-spacing:.5px}.mprotect-widget .badge.pulse{animation:pulse 2s infinite}.lock-status-widget .lock-indicator{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:2rem}.lock-indicator.locked{background:#38ef7d33;color:#16a34a;border:3px solid #16a34a}.lock-indicator.unlocked{background:#ffd20033;color:#f59e0b;border:3px solid #f59e0b}.lock-status-widget .lock-label{display:block;text-align:center;font-weight:600;color:var(--text-primary)}.lock-status-widget .stats-row{display:flex;justify-content:space-around}.lock-status-widget .stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.lock-status-widget .stat-item i{font-size:1.5rem}.lock-status-widget .stat-item.locked i{color:#16a34a}.lock-status-widget .stat-item.unlocked i{color:#f59e0b}.lock-status-widget .stat-value{font-size:1.75rem;font-weight:700}.lock-status-widget .stat-label{font-size:.8rem;color:var(--text-secondary)}.gps-location-widget .location-info{display:flex;flex-direction:column;gap:.75rem}.gps-location-widget .coord-row,.gps-location-widget .speed-row,.gps-location-widget .update-row{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.gps-location-widget i{width:1.5rem;color:var(--text-secondary)}.temperature-widget .gauge-container{text-align:center}.temperature-widget .gauge-value{font-size:2rem;font-weight:700;margin-bottom:1rem;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.temperature-widget .gauge-bar{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.temperature-widget .gauge-fill{height:100%;border-radius:4px;transition:width .5s ease}.temperature-widget .gauge-labels{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.75rem;color:var(--text-secondary)}.radiation-widget .radiation-display{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.radiation-widget .radiation-icon{font-size:2.5rem;color:#f59e0b;animation:glow 2s ease-in-out infinite}@keyframes glow{0%,to{opacity:.8}50%{opacity:1}}.radiation-widget .radiation-value{font-size:1.5rem;font-weight:700}.radiation-widget .radiation-bar{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.radiation-widget .radiation-fill{height:100%;border-radius:4px;transition:width .5s ease}.radiation-widget .radiation-fill.safe{background:#16a34a}.radiation-widget .radiation-fill.warning{background:#f59e0b}.radiation-widget .radiation-fill.danger{background:#ef4444}.device-stats-widget .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem}.device-stats-widget .stat-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.device-stats-widget .stat-card i{font-size:1.25rem;color:var(--text-secondary)}.device-stats-widget .stat-card.success i{color:#16a34a}.device-stats-widget .stat-card.info i{color:#0891b2}.device-stats-widget .stat-card.danger i{color:#ef4444}.device-stats-widget .stat-value{font-size:1.5rem;font-weight:700}.device-stats-widget .stat-label{font-size:.75rem;color:var(--text-secondary)}.alarm-status-widget .alarm-indicators{display:flex;justify-content:space-around}.alarm-status-widget .alarm-indicator{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-radius:12px;background:#f8fafc;opacity:.5;transition:all var(--transition-fast)}.alarm-status-widget .alarm-indicator.active{opacity:1;background:#ff6b6b26}.alarm-status-widget .alarm-indicator.active i{color:#ef4444;animation:pulse 2s infinite}.alarm-status-widget .alarm-indicator i{font-size:1.5rem}.alarm-status-widget .alarm-summary{display:flex;flex-direction:column;gap:.75rem}.alarm-status-widget .alarm-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px}.alarm-status-widget .alarm-row.danger{background:#ff6b6b1a;color:#ef4444}.alarm-status-widget .alarm-row.warning{background:#ffd2001a;color:#f59e0b}.alarm-status-widget .no-alarms{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#16a34a}.alarm-status-widget .no-alarms i{font-size:2rem}.quick-actions-widget .action-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.quick-actions-widget .action-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all var(--transition-fast)}.quick-actions-widget .action-btn:hover{background:#f1f5f9;border-color:#e2e8f0}.map-preview-widget .map-container-mini{height:200px;border-radius:8px;overflow:hidden;background:#0f172a4d}.map-preview-widget .map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--text-secondary)}.map-preview-widget .map-placeholder i{font-size:2rem}.recent-events-widget .events-list{display:flex;flex-direction:column}.recent-events-widget .event-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #e2e8f0}.recent-events-widget .event-item:last-child{border-bottom:none}.recent-events-widget .event-icon{width:2rem;height:2rem;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff;font-size:.8rem}.recent-events-widget .event-icon.lock{color:#16a34a}.recent-events-widget .event-icon.unlock{color:#f59e0b}.recent-events-widget .event-text{flex:1;font-size:.875rem}.recent-events-widget .event-time{font-size:.75rem;color:var(--text-secondary)}.gauge-widget .gauge-circular{position:relative;width:120px;height:70px;margin:0 auto}.gauge-widget .gauge-svg{width:100%;height:100%}.gauge-widget .gauge-value-center{position:absolute;bottom:0;left:50%;transform:translate(-50%);font-size:1.25rem;font-weight:700}.editor-mode-banner{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:#06b6d41a;border:1px solid rgba(6,182,212,.3);border-radius:var(--border-radius);margin-bottom:1.5rem;color:#0891b2;font-size:.875rem}.editor-mode-banner i.fa-info-circle{font-size:1.25rem}.editor-mode-banner i.fa-eye,.editor-mode-banner i.fa-times{background:#f1f5f9;padding:.125rem .375rem;border-radius:4px;margin:0 .125rem}.customizable-dashboard{padding-bottom:2rem}.widget-move-buttons{display:flex;flex-direction:column;gap:.125rem;margin-right:.5rem}.widget-move-buttons .widget-action-btn{padding:.25rem .5rem;font-size:.75rem}.widget-move-buttons .widget-action-btn:disabled{opacity:.3;cursor:not-allowed}.widget-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:#64748b;font-size:.875rem}.activity-feed-widget .activity-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto}.activity-item{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem;background:#f8fafc;border-radius:8px;transition:background .2s}.activity-item:hover{background:#fff}.activity-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.875rem;flex-shrink:0}.activity-icon.success{background:#38ef7d33;color:#16a34a}.activity-icon.info{background:#06b6d433;color:#0891b2}.activity-icon.warning{background:#fed74033;color:#f59e0b}.activity-icon.danger{background:#ff6b6b33;color:#ef4444}.activity-content{flex:1;min-width:0}.activity-text{display:block;font-size:.875rem;color:#0f172a;margin-bottom:.25rem}.activity-meta{display:flex;gap:.75rem;font-size:.75rem;color:#64748b}.activity-user{font-weight:500}.webfleet-status-widget .status-indicator{width:10px;height:10px;border-radius:50%;animation:pulse 2s infinite}.webfleet-status-widget .status-indicator.online{background:#16a34a;box-shadow:0 0 10px #38ef7d80}.webfleet-status-widget .status-indicator.offline{background:#ef4444}.webfleet-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.webfleet-stat{display:flex;align-items:center;gap:.75rem}.webfleet-stat .stat-icon{width:40px;height:40px;border-radius:10px;background:#06b6d41a;display:flex;align-items:center;justify-content:center;color:#0891b2;font-size:1rem}.webfleet-stat .stat-icon.online{background:#38ef7d1a;color:#16a34a}.webfleet-stat .stat-info{display:flex;flex-direction:column}.webfleet-stat .stat-value{font-size:1.25rem;font-weight:600;color:#0f172a}.webfleet-stat .stat-label{font-size:.75rem;color:#64748b}.webfleet-accounts{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.account-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f8fafc;border-radius:6px;font-size:.875rem}.account-item i{color:#64748b}.account-item span:first-of-type{flex:1}.account-item .status{font-size:.75rem;padding:.125rem .5rem;border-radius:4px}.account-item .status.connected{background:#38ef7d33;color:#16a34a}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.device-widgets-section{margin-bottom:1.5rem}.device-widgets-section .section-header{margin-bottom:1rem}.device-widgets-section .section-header h2{font-size:1.25rem;color:#0f172a;margin-bottom:.25rem}.device-widgets-section .section-header p{color:#64748b;font-size:.875rem}.mt-4{margin-top:1.5rem}.fuel-battery-widget .fuel-battery-grid{display:flex;flex-direction:column;gap:1rem}.fuel-battery-widget .level-item{display:grid;grid-template-columns:40px 1fr 50px;grid-template-rows:auto auto;gap:.25rem .75rem;align-items:center}.fuel-battery-widget .level-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;grid-row:span 2}.fuel-battery-widget .level-icon.fuel{background:#38ef7d26;color:#16a34a}.fuel-battery-widget .level-icon.battery{background:#06b6d426;color:#0891b2}.fuel-battery-widget .level-bar{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.fuel-battery-widget .level-fill{height:100%;border-radius:4px;transition:width .3s}.fuel-battery-widget .level-value{font-weight:600;color:#0f172a;text-align:right}.fuel-battery-widget .level-label{font-size:.75rem;color:#64748b;grid-column:2}.speed-history-widget .speed-stats{display:flex;gap:1rem;margin-bottom:1rem}.speed-history-widget .speed-stat{flex:1;text-align:center;padding:.5rem;background:#fff;border-radius:8px}.speed-history-widget .speed-stat .stat-value{display:block;font-size:1.5rem;font-weight:600;color:#0f172a}.speed-history-widget .speed-stat .stat-label{font-size:.7rem;color:#64748b}.speed-history-widget .speed-stat.warning .stat-value{color:#f59e0b}.speed-history-widget .speed-chart{display:flex;gap:4px;height:60px;align-items:flex-end}.speed-history-widget .chart-bar{flex:1;background:linear-gradient(to top,#0891b2,#16a34a);border-radius:3px 3px 0 0;min-height:4px;position:relative;cursor:pointer;transition:opacity .2s}.speed-history-widget .chart-bar:hover{opacity:.8}.speed-history-widget .bar-tooltip{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#0f172acc;color:#fff;padding:2px 6px;border-radius:4px;font-size:.7rem;white-space:nowrap}.speed-history-widget .chart-bar:hover .bar-tooltip{display:block}.route-trip-widget .trip-list{display:flex;flex-direction:column;gap:.75rem}.route-trip-widget .trip-item{display:flex;gap:1rem;padding:.75rem;background:#f8fafc;border-radius:8px;border-left:3px solid}.route-trip-widget .trip-item.completed{border-color:#16a34a}.route-trip-widget .trip-item.active{border-color:#0891b2}.route-trip-widget .trip-item.planned{border-color:#e2e8f0}.route-trip-widget .trip-route{flex:1;display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.route-trip-widget .trip-arrow{color:#94a3b8;font-size:.7rem;padding-left:.5rem}.route-trip-widget .trip-info{text-align:right}.route-trip-widget .trip-distance{display:block;font-weight:600;color:#0f172a}.route-trip-widget .trip-status{font-size:.75rem}.route-trip-widget .trip-status.completed{color:#16a34a}.route-trip-widget .trip-status.active{color:#0891b2}.route-trip-widget .trip-status.planned{color:#64748b}.driving-style-widget .widget-body{display:flex;gap:1.5rem;align-items:center}.driving-style-widget .driving-score-circle{width:80px;height:80px;position:relative;flex-shrink:0}.driving-style-widget .driving-score-circle svg{width:100%;height:100%}.driving-style-widget .score-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;font-weight:700;color:#0f172a}.driving-style-widget .driving-events{flex:1;display:flex;flex-direction:column;gap:.375rem}.driving-style-widget .event-row{font-size:.8rem;color:#475569}.driving-style-widget .event-row i{width:20px;color:#94a3b8}.eta-widget .eta-destination{display:flex;align-items:center;gap:.5rem;color:#475569;margin-bottom:.5rem}.eta-widget .eta-destination i{color:#16a34a}.eta-widget .eta-time{font-size:2.5rem;font-weight:700;color:#0f172a;text-align:center;margin-bottom:.5rem}.eta-widget .eta-remaining{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem}.eta-widget .eta-stat{color:#64748b;font-size:.875rem}.eta-widget .eta-stat i{margin-right:.375rem;color:#0891b2}.eta-widget .eta-progress{height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}.eta-widget .progress-bar{height:100%;background:linear-gradient(90deg,#0891b2,#16a34a);border-radius:3px}.geofence-status-widget .status-dot{width:10px;height:10px;border-radius:50%}.geofence-status-widget .status-dot.safe{background:#16a34a;box-shadow:0 0 10px #38ef7d80}.geofence-status-widget .status-dot.danger{background:#ef4444;box-shadow:0 0 10px #ff6b6b80;animation:pulse 1s infinite}.geofence-status-widget .geofence-status-main{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#38ef7d1a;border-radius:8px;margin-bottom:1rem;color:#16a34a}.geofence-status-widget .geofence-status-main i{font-size:1.25rem}.geofence-status-widget .zone-list{display:flex;flex-direction:column;gap:.5rem}.geofence-status-widget .zone-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f8fafc;border-radius:6px;font-size:.85rem}.geofence-status-widget .zone-item.allowed i{color:#16a34a}.geofence-status-widget .zone-item.restricted i{color:#ef4444}.geofence-status-widget .zone-badge{margin-left:auto;background:#06b6d433;color:#0891b2;padding:.125rem .5rem;border-radius:4px;font-size:.7rem}.door-sensor-widget .door-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.door-sensor-widget .door-item{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:#f8fafc;border-radius:8px;text-align:center}.door-sensor-widget .door-icon{font-size:1.5rem;margin-bottom:.5rem}.door-sensor-widget .door-item.closed .door-icon{color:#16a34a}.door-sensor-widget .door-item.open .door-icon{color:#ef4444}.door-sensor-widget .door-label{font-size:.75rem;color:#64748b;margin-bottom:.25rem}.door-sensor-widget .door-status{font-size:.7rem;padding:.125rem .5rem;border-radius:4px}.door-sensor-widget .door-status.closed{background:#38ef7d33;color:#16a34a}.door-sensor-widget .door-status.open{background:#ff6b6b33;color:#ef4444}.sos-panic-widget .widget-body{text-align:center}.sos-panic-widget .sos-button{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#ef4444,#ef4444);border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 4px 20px #ff6b6b66;transition:transform .2s,box-shadow .2s}.sos-panic-widget .sos-button:hover{transform:scale(1.05);box-shadow:0 6px 30px #ff6b6b99}.sos-panic-widget .sos-button i{font-size:1.5rem;color:#fff}.sos-panic-widget .sos-button span{font-size:1.25rem;font-weight:700;color:#fff}.sos-panic-widget .sos-description{color:#64748b;font-size:.8rem;margin-bottom:1rem}.sos-panic-widget .emergency-contacts{text-align:left;padding:.75rem;background:#f8fafc;border-radius:8px}.sos-panic-widget .contact-item{font-size:.8rem;padding:.375rem 0;color:#475569}.sos-panic-widget .contact-item i{width:20px;color:#0891b2}.command-history-widget .command-list{display:flex;flex-direction:column;gap:.5rem}.command-history-widget .command-item{display:grid;grid-template-columns:80px 1fr 50px 24px;gap:.5rem;padding:.5rem;background:#f8fafc;border-radius:6px;font-size:.8rem;align-items:center}.command-history-widget .cmd-name{font-family:monospace;font-weight:600;color:#0891b2}.command-history-widget .cmd-user{color:#64748b}.command-history-widget .cmd-time{color:#94a3b8;text-align:right}.command-history-widget .cmd-status.success{color:#16a34a}.escort-tracking-widget .escort-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.escort-tracking-widget .escort-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:8px}.escort-tracking-widget .escort-icon{width:36px;height:36px;border-radius:8px;background:#06b6d426;display:flex;align-items:center;justify-content:center;color:#0891b2}.escort-tracking-widget .escort-info{flex:1}.escort-tracking-widget .escort-id{display:block;font-weight:600;color:#0f172a;font-size:.9rem}.escort-tracking-widget .escort-driver{font-size:.75rem;color:#64748b}.escort-tracking-widget .escort-distance{font-weight:600;color:#0f172a}.escort-tracking-widget .escort-status.in_range{color:#16a34a}.escort-tracking-widget .escort-status.out_of_range{color:#ef4444}.escort-tracking-widget .escort-alert{padding:.5rem;background:#fed7401a;border-radius:6px;font-size:.8rem;color:#f59e0b}.maintenance-schedule-widget .maintenance-list{display:flex;flex-direction:column;gap:.5rem}.maintenance-schedule-widget .maintenance-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:8px;border-left:3px solid}.maintenance-schedule-widget .maintenance-item.high{border-color:#ef4444}.maintenance-schedule-widget .maintenance-item.medium{border-color:#f59e0b}.maintenance-schedule-widget .maintenance-item.low{border-color:#16a34a}.maintenance-schedule-widget .maint-priority{width:32px;height:32px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;color:#64748b}.maintenance-schedule-widget .maint-info{flex:1}.maintenance-schedule-widget .maint-device{display:block;font-weight:600;color:#0f172a}.maintenance-schedule-widget .maint-task{font-size:.8rem;color:#64748b}.maintenance-schedule-widget .maint-due{font-size:.8rem;font-weight:500}.maintenance-schedule-widget .maint-due.high{color:#ef4444}.maintenance-schedule-widget .maint-due.medium{color:#f59e0b}.maintenance-schedule-widget .maint-due.low{color:#16a34a}.driver-info-widget .driver-profile{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.driver-info-widget .driver-avatar{font-size:3rem;color:#94a3b8}.driver-info-widget .driver-name{display:block;font-size:1.1rem;font-weight:600;color:#0f172a}.driver-info-widget .driver-id{font-size:.8rem;color:#64748b}.driver-info-widget .status-badge{font-size:.7rem;padding:.25rem .5rem;border-radius:4px}.driver-info-widget .status-badge.driving{background:#38ef7d33;color:#16a34a}.driver-info-widget .status-badge.resting{background:#06b6d433;color:#0891b2}.driver-info-widget .driver-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.driver-info-widget .driver-stat{padding:.5rem;background:#f8fafc;border-radius:6px;font-size:.8rem;color:#475569}.driver-info-widget .driver-stat i{width:18px;color:#0891b2}.certificate-expiry-widget .certificate-list{display:flex;flex-direction:column;gap:.5rem}.certificate-expiry-widget .certificate-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:8px}.certificate-expiry-widget .cert-icon{width:32px;height:32px;border-radius:8px;background:#fed74026;display:flex;align-items:center;justify-content:center;color:#f59e0b}.certificate-expiry-widget .cert-info{flex:1}.certificate-expiry-widget .cert-type{display:block;font-weight:600;color:#0f172a}.certificate-expiry-widget .cert-device{font-size:.8rem;color:#64748b}.certificate-expiry-widget .cert-expires{font-size:.8rem;font-weight:500}.certificate-expiry-widget .cert-expires.danger{color:#ef4444}.certificate-expiry-widget .cert-expires.warning{color:#f59e0b}.certificate-expiry-widget .cert-expires.ok{color:#16a34a}.connection-status-widget .status-indicator{width:10px;height:10px;border-radius:50%}.connection-status-widget .status-indicator.online{background:#16a34a;box-shadow:0 0 10px #38ef7d80}.connection-status-widget .status-indicator.offline{background:#ef4444}.connection-status-widget .connection-main{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.connection-status-widget .signal-bars{display:flex;align-items:flex-end;gap:3px;height:30px}.connection-status-widget .signal-bar{width:6px;background:#e2e8f0;border-radius:2px}.connection-status-widget .signal-bar:nth-child(1){height:20%}.connection-status-widget .signal-bar:nth-child(2){height:40%}.connection-status-widget .signal-bar:nth-child(3){height:60%}.connection-status-widget .signal-bar:nth-child(4){height:80%}.connection-status-widget .signal-bar:nth-child(5){height:100%}.connection-status-widget .signal-bar.active{background:#16a34a}.connection-status-widget .signal-strength{font-size:1.5rem;font-weight:600;color:#0f172a}.connection-status-widget .connection-details{display:flex;justify-content:center;gap:1rem}.connection-status-widget .conn-stat{font-size:.8rem;color:#64748b}.connection-status-widget .conn-stat.success{color:#16a34a}.comparison-widget .comparison-table{font-size:.8rem}.comparison-widget .compare-header,.comparison-widget .compare-row{display:grid;grid-template-columns:60px repeat(3,1fr);gap:.5rem;padding:.5rem}.comparison-widget .compare-header{font-weight:600;color:#64748b;border-bottom:1px solid #e2e8f0}.comparison-widget .compare-row{background:#f8fafc;border-radius:4px;margin-bottom:.25rem}.comparison-widget .compare-row span:first-child{color:#64748b}.comparison-widget .compare-row .locked{color:#16a34a}.comparison-widget .compare-row .unlocked{color:#ef4444}.uptime-widget .uptime-main{display:flex;justify-content:center;margin-bottom:1rem}.uptime-widget .uptime-circle{width:100px;height:100px;position:relative}.uptime-widget .uptime-circle svg{width:100%;height:100%}.uptime-widget .uptime-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.25rem;font-weight:700;color:#16a34a}.uptime-widget .uptime-breakdown{display:flex;flex-direction:column;gap:.375rem}.uptime-widget .uptime-stat{display:flex;justify-content:space-between;font-size:.8rem;color:#64748b}.uptime-widget .uptime-stat strong{color:#0f172a}.dashboard-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.search-box{position:relative;display:flex;align-items:center}.search-box>i.fa-search{position:absolute;left:.75rem;color:#94a3b8;font-size:.85rem;pointer-events:none}.search-box .search-input{padding-left:2.1rem;padding-right:2rem;min-width:260px}.search-box .search-clear{position:absolute;right:.5rem;background:none;border:none;color:#94a3b8;cursor:pointer;padding:.25rem;font-size:.8rem;line-height:1}.search-box .search-clear:hover{color:#475569}.card-header-with-search{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.table-empty{text-align:center;color:#64748b;padding:1.5rem 0}.device-last-message{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.65rem .75rem;margin:.5rem 0 .75rem}.device-last-message .dlm-header{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:600;margin-bottom:.25rem}.device-last-message .dlm-header i{margin-right:.35rem;color:#06b6d4}.device-last-message .dlm-time{font-size:.9rem;font-weight:600;color:#0f172a;margin-bottom:.2rem}.device-last-message .dlm-location{display:flex;align-items:flex-start;gap:.4rem;font-size:.82rem;color:#475569;line-height:1.3}.device-last-message .dlm-location i{color:#0891b2;margin-top:.15rem}@media(max-width:640px){.dashboard-toolbar{flex-direction:column;align-items:stretch}.search-box .search-input{min-width:0;width:100%}}
