:root{--bg-primary:#f8fafc;--bg-secondary:#f0f2f5;--bg-card:#ffffffd9;--bg-card-hover:#f9fafbf2;--border-color:#b3bccc99;--border-glow:#3381ff26;--text-primary:#0f1729;--text-secondary:#657081;--text-muted:#818a98;--primary:#1f8fff;--primary-hover:#4ca6ff;--primary-glow:#1f8fff59;--success:#28af60;--success-glow:#28af6040;--success-bg:#28af601a;--warning:#f59f0a;--warning-glow:#f59f0a40;--warning-bg:#f59f0a1a;--danger:#dc3848;--danger-glow:#dc384840;--danger-bg:#dc38481a;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 8px 30px #0000001f;--shadow-lg:0 16px 48px #00000026;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5}body.light-mode{--bg-primary:#f8fafc;--bg-secondary:#f0f2f5;--bg-card:#ffffffd9;--bg-card-hover:#f9fafbf2;--border-color:#b3bccc99;--text-primary:#0f1729;--text-secondary:#657081;--text-muted:#818a98;--success-bg:#28af601a;--warning-bg:#f59f0a1a;--danger-bg:#dc38481a;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 8px 30px #0000001f;--shadow-lg:0 16px 48px #00000026}body.dark-mode{--bg-primary:#0f1729;--bg-secondary:#090e1a;--bg-card:#172036a6;--bg-card-hover:#1c2640cc;--border-color:#36476359;--text-primary:#f8fafc;--text-secondary:#b3bdcc;--text-muted:#7e8a9a;--success-bg:#28af6026;--warning-bg:#f59f0a26;--danger-bg:#dc384826;--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 30px #00000059;--shadow-lg:0 16px 48px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-secondary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;transition:background-color .3s,color .3s;overflow-x:hidden}body:not(.dark-mode){background-image:radial-gradient(at 0 0,#cce6ff 0,#0000 50%),radial-gradient(at 100% 0,#b3d9ff4d 0,#0000 50%),radial-gradient(at 50% 100%,#b3ccff66 0,#0000 50%)}body.dark-mode{background-image:radial-gradient(at 0 0,#0f1729 0,#0000 50%),radial-gradient(at 100% 0,#0363 0,#0000 50%),radial-gradient(at 50% 100%,#001a4d4d 0,#0000 50%)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:background-color .2s}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 15px var(--border-glow)}50%{box-shadow:0 0 25px var(--primary-glow)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.animate-slide-in{animation:.3s cubic-bezier(.16,1,.3,1) forwards slideInRight}.app-container{flex-direction:row;width:100%;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.app-sidebar{-webkit-backdrop-filter:blur(20px);z-index:100;background:linear-gradient(#fffffffa 0%,#f8fafc 100%);border-right:1px solid #e2e8f0e6;flex-direction:column;flex-shrink:0;gap:1.25rem;width:280px;min-width:280px;max-width:280px;height:100vh;padding:1.25rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0;overflow-y:auto;box-shadow:4px 0 24px #0f172a0f}.app-sidebar.collapsed{visibility:visible;width:80px;min-width:80px;max-width:80px;padding:1rem .65rem;overflow:hidden auto;opacity:1!important;pointer-events:auto!important}body.dark-mode .app-sidebar{background:linear-gradient(#1e293b 0%,#0f172a 100%);border-right-color:#475569f2;box-shadow:4px 0 24px #00000059}.app-sidebar.collapsed .sidebar-logo{justify-content:center;margin-bottom:.6rem;padding:.35rem}.app-sidebar.collapsed .sidebar-logo img{display:none}.app-sidebar.collapsed .sidebar-logo:after{content:"IC";letter-spacing:-.5px;color:#fff;background:linear-gradient(135deg,#3b82f6,#06b6d4);border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.15rem;font-weight:900;animation:3s infinite pulse-glow;display:flex;box-shadow:0 8px 20px #3b82f666}.app-sidebar.collapsed .sidebar-tabs{gap:.45rem;padding-top:.25rem}.app-sidebar.collapsed .sidebar-section-label{margin-top:.6rem;padding:.35rem 0 0;font-size:0}.app-sidebar.collapsed .sidebar-section-label:after{content:"";background:var(--border-color,#e2e8f0e6);width:34px;height:1px;margin:0 auto;display:block}body.dark-mode .app-sidebar.collapsed .sidebar-section-label:after{background:#475569e6}.app-sidebar.collapsed .sidebar-tab-btn{border-radius:12px;justify-content:center;gap:0;padding:.85rem 0}.app-sidebar.collapsed .sidebar-tab-btn>span:first-of-type{display:none}.app-sidebar::-webkit-scrollbar{width:6px}.app-sidebar::-webkit-scrollbar-track{background:0 0}.app-sidebar::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:999px}.app-sidebar::-webkit-scrollbar-thumb:hover{background:#94a3b8b3}@media (width<=768px){.app-sidebar{width:240px;min-width:240px;max-width:240px}.app-sidebar.collapsed{width:80px;min-width:80px;max-width:80px}.dashboard-top-bar{padding:.75rem 1rem}}.sidebar-logo{border-radius:16px;justify-content:center;align-items:center;gap:.875rem;margin-bottom:.5rem;padding:.5rem;transition:all .3s;display:flex}.sidebar-logo img{object-fit:contain;border-radius:12px;width:auto;max-width:210px;height:auto;max-height:90px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);animation:3s infinite pulse-glow;box-shadow:0 8px 20px #0f172a1f,0 0 30px #3b82f61f}.sidebar-logo h2{background:linear-gradient(135deg,#1e293b 0%,#3b82f6 50%,#06b6d4 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;margin:0;font-size:1.35rem;font-weight:900}body.dark-mode .sidebar-logo h2{background:linear-gradient(135deg,#f1f5f9 0%,#60a5fa 50%,#22d3ee 100%)}.sidebar-user-section{background:linear-gradient(135deg,#f8fafcf2 0%,#f1f5f9fa 100%);border:1px solid #e2e8f0e6;border-radius:20px;flex-direction:column;gap:1rem;padding:1.25rem 1rem;display:flex;box-shadow:0 6px 20px #0f172a14,inset 0 1px #ffffffe6}body.dark-mode .sidebar-user-section{background:linear-gradient(135deg,#334155cc 0%,#1e293be6 100%);border-color:#475569e6}.sidebar-user-info{cursor:pointer;border-radius:16px;flex-direction:row;align-items:center;gap:.85rem;padding:.65rem .75rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-user-info:hover{background:#ffffffe6;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a14}body.dark-mode .sidebar-user-info:hover{background:#334155e6}.sidebar-user-avatar{color:#fff;object-fit:cover;background:linear-gradient(135deg,#3b82f6 0%,#10b981 50%,#8b5cf6 100%);border-radius:14px;justify-content:center;align-items:center;width:52px;min-width:52px;height:52px;font-size:1.4rem;font-weight:900;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:visible;box-shadow:0 6px 18px #3b82f659}.sidebar-user-avatar:hover{transform:scale(1.05);box-shadow:0 10px 26px #3b82f680}.sidebar-user-avatar img{object-fit:cover;border-radius:14px;width:100%;height:100%}.avatar-status-dot{background:#22c55e;border:2.5px solid #f8fafc;border-radius:50%;width:14px;height:14px;position:absolute;bottom:-3px;right:-3px;box-shadow:0 2px 6px #22c55e80}body.dark-mode .avatar-status-dot{border-color:#1e293b}.sidebar-user-details{flex-direction:column;flex:1;align-items:flex-start;gap:.35rem;min-width:0;display:flex}.sidebar-user-name{color:#1e293b;letter-spacing:-.3px;text-align:left;word-break:break-word;width:100%;font-size:.9rem;font-weight:800;line-height:1.3}body.dark-mode .sidebar-user-name{color:#f8fafc}.sidebar-user-role{text-transform:uppercase;letter-spacing:.7px;border-radius:999px;align-items:center;gap:.35rem;width:fit-content;padding:.3rem .7rem;font-size:.68rem;font-weight:800;display:inline-flex}.sidebar-user-role:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.sidebar-user-role.admin{color:#ea580c;background:linear-gradient(135deg,#fb923c26 0%,#f59e0b1a 100%);border:1px solid #f9731640}.sidebar-user-role.qc{color:#047857;background:linear-gradient(135deg,#22c55e26 0%,#10b9811a 100%);border:1px solid #10b98140}.sidebar-user-role.it{color:#1d4ed8;background:linear-gradient(135deg,#3b82f626 0%,#2563eb1a 100%);border:1px solid #3b82f640}body.dark-mode .sidebar-user-role.admin{color:#fdba74;background:linear-gradient(135deg,#fb923c1f 0%,#f59e0b14 100%);border-color:#f973164d}body.dark-mode .sidebar-user-role.qc{color:#6ee7b7;background:linear-gradient(135deg,#22c55e1f 0%,#10b98114 100%);border-color:#10b9814d}body.dark-mode .sidebar-user-role.it{color:#93c5fd;background:linear-gradient(135deg,#3b82f61f 0%,#2563eb14 100%);border-color:#3b82f64d}.sidebar-actions{border-top:1px solid #e2e8f0e6;flex-direction:column;gap:.6rem;padding-top:.85rem;display:flex}body.dark-mode .sidebar-actions{border-top-color:#475569b3}.sidebar-action-btn{cursor:pointer;color:#475569;background:linear-gradient(135deg,#fffffff2 0%,#f8fafcfa 100%);border:1.5px solid #e2e8f0e6;border-radius:12px;outline:none;justify-content:flex-start;align-items:center;gap:.6rem;width:100%;padding:.8rem 1rem;font-family:inherit;font-size:.88rem;font-weight:700;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #0f172a14}.sidebar-action-btn svg{flex-shrink:0}body.dark-mode .sidebar-action-btn{color:#cbd5e1;background:linear-gradient(135deg,#334155d9 0%,#1e293be6 100%);border-color:#475569e6;box-shadow:0 1px 3px #0006}.sidebar-action-btn:hover{color:#1e40af;background:linear-gradient(135deg,#3b82f614 0%,#2563eb0a 100%);border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 24px #3b82f633}body.dark-mode .sidebar-action-btn:hover{color:#bfdbfe;background:linear-gradient(135deg,#3b82f626 0%,#2563eb1a 100%);border-color:#60a5fa;box-shadow:0 8px 24px #3b82f666}.sidebar-action-btn.logout{color:#dc2626;background:linear-gradient(135deg,#f8717114 0%,#ef44440a 100%);border-color:#f8717166}body.dark-mode .sidebar-action-btn.logout{color:#fca5a5;background:linear-gradient(135deg,#f871711f 0%,#ef444414 100%);border-color:#f8717180}.sidebar-action-btn.logout:hover{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border-color:#0000;box-shadow:0 8px 28px #ef444466}body.dark-mode .sidebar-action-btn.logout:hover{background:linear-gradient(135deg,#f87171 0%,#ef4444 100%);box-shadow:0 8px 28px #ef444480}.sidebar-tabs{flex-direction:column;flex:1;gap:.6rem;padding-top:.5rem;display:flex}.sidebar-section-label{text-transform:uppercase;letter-spacing:1.2px;color:#94a3b8;-webkit-user-select:none;user-select:none;padding:.75rem 1.125rem .15rem;font-size:.7rem;font-weight:800}body.dark-mode .sidebar-section-label{color:#64748b}.sidebar-tab-btn svg{flex-shrink:0}.quick-actions button{align-items:center;gap:.5rem;display:inline-flex}.logs-header{background:linear-gradient(135deg,#6366f11a 0%,#8b5cf60f 100%);border:1px solid #8b5cf638;border-radius:16px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;padding:20px;display:flex}.logs-header-icon{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:14px;justify-content:center;align-items:center;width:52px;min-width:52px;height:52px;display:flex;box-shadow:0 8px 20px #6366f159}.logs-header-icon.firmware{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 8px 20px #10b98159}.logs-header h2{color:var(--text-primary);letter-spacing:-.3px;margin:0 0 4px;font-size:1.35rem;font-weight:700}.logs-header p{color:var(--text-muted);margin:0;font-size:.9rem}.logs-count-badge{color:#6366f1;white-space:nowrap;background:#6366f126;border-radius:999px;margin-left:auto;padding:6px 14px;font-size:.85rem;font-weight:800}body.dark-mode .logs-count-badge{color:#a5b4fc;background:#6366f140}.logs-search{margin-bottom:1.5rem;position:relative}.logs-search>svg{color:var(--text-secondary);pointer-events:none;z-index:1;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.logs-search .input-control{border-radius:12px;padding-left:2.7rem!important}.log-date{white-space:nowrap;font-weight:600}.log-date span{color:var(--text-muted);font-size:.78rem;font-weight:400;display:block}.device-tag{color:#3b82f6;white-space:nowrap;background:#3b82f61f;border:1px solid #3b82f640;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-block}.sn-chip{background:var(--border-color);white-space:nowrap;border-radius:6px;padding:2px 8px;font-family:Courier New,monospace;font-size:.85rem;font-weight:600}.score-cell{justify-content:center;align-items:center;gap:.6rem;display:flex}.score-pill{border-radius:999px;justify-content:center;align-items:center;min-width:64px;padding:4px 10px;font-size:.85rem;font-weight:800;display:inline-flex}.score-pill.pass{color:#059669;background:#10b98124;border:1px solid #10b9814d}.score-pill.fail{color:#dc2626;background:#ef44441f;border:1px solid #ef44444d}.score-track{background:var(--border-color);border-radius:999px;width:56px;height:6px;overflow:hidden}.score-fill{border-radius:999px;height:100%;display:block}.ver-chip{color:#8b5cf6;white-space:nowrap;background:#8b5cf61f;border:1px solid #8b5cf640;border-radius:999px;padding:2px 9px;font-family:Courier New,monospace;font-size:.82rem;font-weight:700}.sidebar-tab-btn{color:#64748b;cursor:pointer;text-align:left;letter-spacing:.2px;background:0 0;border:1.5px solid #0000;border-radius:14px;align-items:center;gap:.75rem;width:100%;padding:.95rem 1.125rem;font-family:inherit;font-size:.9rem;font-weight:700;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;position:relative}body.dark-mode .sidebar-tab-btn{color:#94a3b8}.sidebar-tab-btn:hover{color:#1e293b;background:#3b82f614;border-color:#3b82f640;transform:translateY(-2px);box-shadow:0 4px 16px #3b82f61f}body.dark-mode .sidebar-tab-btn:hover{color:#e2e8f0;background:#3b82f626;border-color:#60a5fa59}.sidebar-tab-btn.active{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 50%,#1e40af 100%);border-color:#0000;transform:translateY(-2px);box-shadow:0 12px 32px #3b82f680,0 0 0 1px #3b82f640}.sidebar-tab-btn.active:before{content:"";background:linear-gradient(#3b82f6 0%,#1e40af 100%);border-radius:0 8px 8px 0;width:5px;height:26px;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:2px 0 12px #3b82f680}.main-content{background:linear-gradient(#f8fafcf2 0%,#f1f5f9fa 100%);flex-direction:column;flex:1;min-width:0;height:100vh;transition:all .3s;display:flex;overflow-y:auto}body.dark-mode .main-content{background:linear-gradient(#0f172afa 0%,#0f172afc 100%)}.dashboard-top-bar{-webkit-backdrop-filter:blur(16px);z-index:90;box-sizing:border-box;background:#ffffffe0;border-bottom:1px solid #e2e8f0d9;justify-content:space-between;align-items:center;width:100%;padding:.85rem 2rem;transition:all .3s;display:flex;position:sticky;top:0;box-shadow:0 1px 4px #0f172a0a}body.dark-mode .dashboard-top-bar{background:#0f172ae6;border-bottom-color:#33415599;box-shadow:0 2px 8px #00000040}.top-bar-left{align-items:center;gap:1.15rem;display:flex}.top-bar-right{align-items:center;gap:.85rem;display:flex}.top-bar-title{color:var(--text-primary);letter-spacing:-.3px;align-items:center;gap:.65rem;margin:0;font-size:1.2rem;font-weight:800;display:flex}.top-bar-badge{color:#2563eb;background:#3b82f61f;border:1px solid #3b82f640;border-radius:20px;padding:.2rem .65rem;font-size:.75rem;font-weight:700}body.dark-mode .top-bar-badge{color:#60a5fa;background:#3b82f633}.sidebar-toggle-btn{color:#0284c7;cursor:pointer;background:#e0f2fe;border:1px solid #38bdf873;border-radius:12px;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;min-height:42px;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 8px #0284c726}.sidebar-toggle-btn:hover{color:#0369a1;background:#bae6fd;transform:translateY(-1px)scale(1.04);box-shadow:0 4px 14px #0284c747}.sidebar-toggle-btn:active{transform:translateY(0)scale(.96)}body.dark-mode .sidebar-toggle-btn{color:#38bdf8;background:#0ea5e92e;border-color:#38bdf866;box-shadow:0 2px 8px #0000004d}body.dark-mode .sidebar-toggle-btn:hover{color:#7dd3fc;background:#0ea5e952;box-shadow:0 4px 14px #38bdf84d}.top-bar-theme-btn{width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:#f1f5f9cc;border:1px solid #e2e8f0cc;border-radius:11px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.top-bar-theme-btn:hover{color:#3b82f6;background:#e2e8f0e6;transform:translateY(-1px)}body.dark-mode .top-bar-theme-btn{color:#94a3b8;background:#1e293bcc;border-color:#334155cc}body.dark-mode .top-bar-theme-btn:hover{color:#60a5fa;background:#334155e6}.top-bar-user-pill{cursor:pointer;background:#f1f5f9cc;border:1px solid #e2e8f0cc;border-radius:12px;align-items:center;gap:.65rem;padding:.3rem .85rem .3rem .35rem;transition:all .2s;display:flex}.top-bar-user-pill:hover{background:#eff6ffe6;border-color:#3b82f6;transform:translateY(-1px)}body.dark-mode .top-bar-user-pill{background:#1e293bcc;border-color:#334155cc}body.dark-mode .top-bar-user-pill:hover{background:#334155e6;border-color:#60a5fa}.top-bar-avatar{background:linear-gradient(135deg,#3b82f6 0%,#10b981 100%);border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.85rem;display:flex;overflow:hidden}.top-bar-avatar img{object-fit:cover;width:100%;height:100%}.top-bar-username{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.85rem;font-weight:700;overflow:hidden}.top-bar-logout-btn{color:#ef4444;cursor:pointer;background:#ef444414;border:1px solid #ef444440;border-radius:11px;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.85rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.top-bar-logout-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444;transform:translateY(-1px);box-shadow:0 4px 12px #ef444440}.top-bar-logout-btn:active{transform:translateY(0)scale(.97)}body.dark-mode .top-bar-logout-btn{color:#f87171;background:#ef444426;border-color:#ef444459}body.dark-mode .top-bar-logout-btn:hover{color:#fff;background:#ef4444;box-shadow:0 4px 14px #ef444459}.app-header{background:linear-gradient(135deg, var(--bg-card) 0%, #1f8fff0d 100%);-webkit-backdrop-filter:blur(16px);z-index:100;box-shadow:0 8px 32px #0000001f, 0 0 40px var(--primary-glow);border-bottom:1px solid #1f8fff33;justify-content:space-between;align-items:center;padding:1.5rem 2.5rem;display:none;position:sticky;top:0}.header-logo{align-items:center;gap:1rem;display:flex}.header-logo .icon{font-size:2.5rem;animation:3s infinite pulse-glow}.header-logo h1{background:linear-gradient(135deg, var(--text-primary) 0%, var(--primary) 50%, var(--success) 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;text-shadow:0 0 20px #3b82f64d;-webkit-background-clip:text;font-size:1.75rem;font-weight:900}.header-user-info{align-items:center;gap:1rem;display:flex}.user-badge{background:var(--bg-card-hover);border:1px solid var(--border-color);color:var(--text-primary);border-radius:50px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;display:flex}.user-role-tag{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.user-role-tag.admin{color:var(--warning);background:#f59f0a26;border:1px solid #f59f0a4d}.user-role-tag.it_support{color:var(--primary);background:#1f8fff26;border:1px solid #1f8fff4d}.btn-logout{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:0 0;border-radius:10px;padding:.6rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:700;transition:all .35s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 2px 8px #dc38481a}.btn-logout:hover{background:linear-gradient(135deg, var(--danger) 0%, #c32232 100%);color:#fff;box-shadow:0 4px 18px var(--danger-glow), 0 0 30px #dc384833;border-color:#0000;transform:translateY(-2px)}.dashboard-main{box-sizing:border-box;flex-direction:column;flex:1;gap:2rem;width:100%;max-width:100%;margin:0;padding:1.75rem 2.25rem;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.stat-card{background:var(--bg-card);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:1.25rem;padding:1.5rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.stat-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md), 0 0 15px var(--primary-glow);transform:translateY(-4px)}.stat-icon{background:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:12px;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;font-size:2.25rem;display:flex}.stat-info{flex-direction:column;display:flex}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:500}.stat-value{color:var(--text-primary);margin-top:.25rem;font-size:1.75rem;font-weight:800}.workspace-layout{grid-template-columns:350px 1fr;gap:2rem;display:grid}@media (width<=1024px){.workspace-layout{grid-template-columns:1fr}}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:16px;padding:1.75rem;overflow:hidden}.glass-panel-title{color:var(--text-primary);border-bottom:1px solid var(--border-color);align-items:center;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.75rem;font-size:1.25rem;font-weight:700;display:flex}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.select-control,.input-control,.textarea-control{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.select-control{appearance:none;background-image:none}.select-control:focus,.input-control:focus,.textarea-control:focus{border-color:var(--primary);box-shadow:0 0 10px var(--primary-glow)}.select-control option{background:var(--bg-primary);color:var(--text-primary)}.info-alert-card{border-radius:var(--radius-sm);background:#1f8fff14;border:1px solid #1f8fff40;margin-top:1.5rem;padding:1rem}.info-alert-card h4{color:var(--primary);align-items:center;gap:.35rem;margin-bottom:.5rem;font-size:.9rem;font-weight:700;display:flex}.info-alert-card ul{list-style:none}.info-alert-card li{color:var(--text-secondary);margin-bottom:.35rem;padding-left:.85rem;font-size:.8rem;position:relative}.info-alert-card li:before{content:"•";color:var(--primary);position:absolute;left:0}.models-list-panel{flex-direction:column;gap:1rem;display:flex}.model-row-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);grid-template-columns:2fr 1.5fr 1.5fr 1.5fr 1fr;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:all .2s;display:grid}.model-row-item>div{border-right:1px solid var(--border-color);justify-content:center;align-items:center;padding-right:1rem;display:flex}.model-row-item>div:first-child{justify-content:flex-start}.model-row-item>div:last-child{border-right:none;justify-content:flex-end;padding-right:0}.model-row-item:hover{background:var(--bg-card-hover);border-color:var(--primary)}.model-header-row{color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border-color);grid-template-columns:2fr 1.5fr 1.5fr 1.5fr 1fr;gap:1rem;margin-bottom:.5rem;padding-bottom:.5rem;padding-left:1.5rem;padding-right:1.5rem;font-size:.85rem;font-weight:700;display:grid}.model-header-row>span{border-right:1px solid var(--border-color);justify-content:center;align-items:center;padding-right:1rem;display:flex}.model-header-row>span:first-child{justify-content:flex-start}.model-header-row>span:last-child{border-right:none;justify-content:flex-end;padding-right:0}.model-name-wrapper{flex-direction:column;display:flex}.model-name{color:var(--text-primary);font-size:1.05rem;font-weight:700}.model-type-tag{color:var(--text-muted);margin-top:.15rem;font-size:.75rem}.status-badge{text-transform:uppercase;letter-spacing:.4px;text-align:center;white-space:nowrap;border:1px solid #0000;border-radius:20px;justify-content:center;align-items:center;gap:.4rem;width:fit-content;padding:.45rem .9rem;font-size:.8rem;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #00000014}.status-badge.pending{color:#d97706;background:linear-gradient(135deg,#fff7e6 0%,#ffeccb 100%);border-color:#d9770633}.status-badge.approved_by_it{color:#1e40af;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-color:#1e40af33}.status-badge.validated{color:#065f46;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-color:#065f4633}.status-badge.failed{color:#991b1b;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-color:#991b1b33}body.dark-mode .status-badge.pending{color:#fbbf24;background:linear-gradient(135deg,#d9770626 0%,#d9770614 100%);border-color:#fbbf244d}body.dark-mode .status-badge.approved_by_it{color:#93c5fd;background:linear-gradient(135deg,#1e40af26 0%,#1e40af14 100%);border-color:#93c5fd4d}body.dark-mode .status-badge.validated{color:#6ee7b7;background:linear-gradient(135deg,#065f4626 0%,#065f4614 100%);border-color:#6ee7b74d}body.dark-mode .status-badge.failed{color:#fca5a5;background:linear-gradient(135deg,#991b1b26 0%,#991b1b14 100%);border-color:#fca5a54d}.score-value{flex-direction:column;font-size:1rem;font-weight:700;display:flex}.score-value .percent{color:var(--text-primary)}.score-value .date{color:var(--text-muted);font-size:.75rem;font-weight:400}.btn-primary,.btn-secondary,.btn-success,.btn-danger{cursor:pointer;letter-spacing:.2px;border:none;border-radius:12px;outline:none;justify-content:center;align-items:center;gap:.55rem;padding:.85rem 1.5rem;font-family:inherit;font-size:.925rem;font-weight:700;transition:all .35s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #0073e6 100%);color:#fff;box-shadow:0 4px 15px #1f8fff59}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-hover) 0%, var(--primary) 100%);box-shadow:0 6px 25px var(--primary-glow), 0 0 35px #1f8fff40;transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 10px #1f8fff59}.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);box-shadow:0 3px 10px var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--primary);box-shadow:0 5px 15px var(--shadow-md);transform:translateY(-2px)}.btn-secondary:active:not(:disabled){box-shadow:0 2px 8px var(--shadow-sm);transform:translateY(0)}.btn-success{background:linear-gradient(135deg, var(--success) 0%, #219150 100%);color:#fff;box-shadow:0 4px 15px var(--success-glow)}.btn-success:hover:not(:disabled){background:linear-gradient(135deg, #2fd072 0%, var(--success) 100%);box-shadow:0 6px 25px var(--success-glow), 0 0 35px #28af6040;transform:translateY(-2px)}.btn-success:active:not(:disabled){box-shadow:0 2px 10px var(--success-glow);transform:translateY(0)}.btn-danger{background:linear-gradient(135deg, var(--danger) 0%, #c32232 100%);color:#fff;box-shadow:0 4px 15px var(--danger-glow)}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg, #e05260 0%, var(--danger) 100%);box-shadow:0 6px 25px var(--danger-glow), 0 0 35px #dc384840;transform:translateY(-2px)}.btn-danger:active:not(:disabled){box-shadow:0 2px 10px var(--danger-glow);transform:translateY(0)}button:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(50%);box-shadow:none!important;transform:none!important}.checklist-container{flex-direction:column;gap:1.25rem;margin-top:1.5rem;display:flex}.checklist-card{background:var(--bg-card);border:1px solid var(--border-color);border-left:5px solid var(--primary);border-radius:var(--radius-sm);padding:1.25rem 1.5rem;transition:all .3s}.checklist-card.approved{border-left-color:var(--success);background:#28af600a;border-color:#28af6033}.checklist-card.pending{border-left-color:var(--warning);background:#f59f0a0a;border-color:#f59f0a33}.checklist-card.not-approved{border-left-color:var(--danger);background:#dc38480a;border-color:#dc384833}.checklist-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.item-name-info{flex-direction:column;display:flex}.item-title{color:var(--text-primary);font-size:1.15rem;font-weight:700}.item-desc{color:var(--text-secondary);margin-top:.15rem;font-size:.825rem}.status-options-group{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;gap:.6rem;padding:.35rem;display:flex;box-shadow:0 3px 10px #0000001f}.status-option-btn{color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:0 0;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.55rem 1rem;font-family:inherit;font-size:.825rem;font-weight:800;transition:all .35s cubic-bezier(.175,.885,.32,1.275);display:flex}.status-option-btn:hover{color:var(--text-primary);background:#242f4280;transform:translateY(-1px)}.status-option-btn.selected.approved{background:linear-gradient(135deg, var(--success) 0%, #219150 100%);color:#fff;box-shadow:0 4px 15px var(--success-glow), 0 0 25px #28af6033;transform:translateY(-1px)}.status-option-btn.selected.pending{background:linear-gradient(135deg, var(--warning) 0%, #dc8f09 100%);color:#fff;box-shadow:0 4px 15px var(--warning-glow), 0 0 25px #f59f0a33;transform:translateY(-1px)}.status-option-btn.selected.not-approved{background:linear-gradient(135deg, var(--danger) 0%, #c32232 100%);color:#fff;box-shadow:0 4px 15px var(--danger-glow), 0 0 25px #dc384833;transform:translateY(-1px)}.item-comment-box{margin-top:.75rem}.item-comment-box label{color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.item-comment-box input{background:var(--bg-card);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:4px;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.item-comment-box input:focus{border-color:var(--primary)}.evaluation-header-summary{background:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.25rem 1.75rem;display:flex}.evaluation-model-info h2{font-size:1.5rem;font-weight:800}.evaluation-progress-block{flex:1;align-items:center;gap:1.25rem;max-width:500px;display:flex}.progress-track{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:5px;flex:1;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--primary) 0%, var(--success) 100%);border-radius:5px;height:100%;transition:width .3s}.progress-percent{color:var(--success);text-align:right;min-width:60px;font-size:1.15rem;font-weight:800}.login-wrapper{--lg-navy:#122c4f;--lg-navy-deep:#0a1c33;--lg-navy-mid:#1c395f;--lg-ink:#12263f;--lg-ink-soft:#52637a;--lg-ink-faint:#7b8a9d;--lg-surface:#fff;--lg-surface-alt:#f8fafb;--lg-band-top:#e7eef4;--lg-band-mid:#f4f8fa;--lg-field:#f0f4f7;--lg-hairline:#d5dee6;--lg-hairline-soft:#e6ebef;--lg-edge:#b4c2cf;--lg-tick:#233c5c2e;--lg-tick-major:#233c5c61;--lg-focus:#2170ca;--lg-focus-ring:#1a79e633;--lg-amber:#f08605;--lg-amber-glow:#f086052e;--lg-recess:#1c304a0f;--lg-brand-text:#e4ebf1;--lg-brand-muted:#bdccdba6;--lg-serif:Constantia, "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--lg-mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;z-index:0;background:var(--lg-surface-alt);flex-direction:row;min-height:100dvh;display:flex;position:relative}body.dark-mode .login-wrapper{--lg-navy:#122c4f;--lg-navy-deep:#061223;--lg-navy-mid:#193457;--lg-ink:#f0f5f9;--lg-ink-soft:#a2b3c3;--lg-ink-faint:#7d8fa1;--lg-surface:#121f30;--lg-surface-alt:#0d1826;--lg-band-top:#122c4f;--lg-band-mid:#13263f;--lg-field:#1a293d;--lg-hairline:#97b8d833;--lg-hairline-soft:#97b8d81f;--lg-edge:#a3c2e061;--lg-tick:#b6d6ed38;--lg-tick-major:#bedaef6b;--lg-focus:#479ef5;--lg-focus-ring:#3b99f742;--lg-amber:#ffa51f;--lg-amber-glow:#ffa51f38;--lg-recess:#04091047}.login-wrapper:before,.login-wrapper:after{display:none}.login-brand-panel{background:linear-gradient(155deg, var(--lg-navy-deep) 0%, var(--lg-navy) 45%, var(--lg-navy-mid) 100%);flex-direction:column;flex:0 0 48%;justify-content:center;align-items:center;padding:3rem 2.5rem;display:flex;position:relative;overflow:hidden}.login-brand-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-geo{border:1.5px solid #fa900f29;border-radius:4px;position:absolute;transform:rotate(45deg)}.login-geo--1{border-color:#fa900f1f;width:320px;height:320px;animation:28s linear infinite lg-geo-rotate;top:-60px;left:-80px}.login-geo--2{border-color:#7db3e81a;width:220px;height:220px;animation:22s linear infinite reverse lg-geo-rotate;bottom:15%;right:-30px}.login-geo--3{border-color:#fa900f14;width:160px;height:160px;animation:34s linear infinite lg-geo-rotate;top:40%;left:60%}.login-circuit{pointer-events:none;position:absolute}.login-circuit--1{opacity:.08;background-image:linear-gradient(0deg,#a8ccf0 0 1px,#0000 1px),linear-gradient(90deg,#a8ccf0 0 1px,#0000 1px);background-size:24px 24px;width:200px;height:200px;bottom:8%;left:5%;-webkit-mask:radial-gradient(circle,#000 30%,#0000 80%);mask:radial-gradient(circle,#000 30%,#0000 80%)}.login-circuit--2{opacity:.06;background-image:linear-gradient(0deg,#f5a23d 0 1px,#0000 1px),linear-gradient(90deg,#f5a23d 0 1px,#0000 1px);background-size:28px 28px;width:260px;height:260px;top:3%;right:2%;-webkit-mask:radial-gradient(circle,#000 20%,#0000 75%);mask:radial-gradient(circle,#000 20%,#0000 75%)}.login-brand-content{z-index:1;text-align:center;max-width:380px;animation:.8s cubic-bezier(.16,1,.3,1) .15s backwards lg-brand-in;position:relative}.login-brand-logo{object-fit:contain;filter:drop-shadow(0 2px 8px #00000040);border-radius:6px;width:auto;max-width:200px;max-height:54px;margin:0 auto 2rem;display:block}.login-brand-title{font-family:var(--lg-serif);letter-spacing:.01em;color:var(--lg-brand-text);margin:0 0 .6rem;font-size:2rem;font-weight:700;line-height:1.2}.login-brand-subtitle{font-family:var(--lg-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--lg-amber);margin:0 0 2.5rem;font-size:.7rem;font-weight:600}.login-brand-features{text-align:left;flex-direction:column;gap:1rem;display:flex}.login-brand-feature{color:var(--lg-brand-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#d9e6f20f;border:1px solid #b3cce614;border-radius:12px;align-items:center;gap:.85rem;padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;transition:background .25s,border-color .25s,transform .25s;display:flex}.login-brand-feature:hover{background:#d9e6f21a;border-color:#fa900f33;transform:translate(4px)}.login-brand-feature-icon{width:36px;height:36px;color:var(--lg-amber);background:#fa900f1f;border:1px solid #fa900f38;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.login-brand-footer{text-align:center;font-family:var(--lg-mono);letter-spacing:.04em;color:#bdccdb59;font-size:.625rem;font-weight:500;position:absolute;bottom:1.75rem;left:0;right:0}.login-form-panel{background:var(--lg-surface-alt);flex:1 1 0;justify-content:center;align-items:center;padding:2rem 2.5rem;display:flex;position:relative}.login-form-panel:before{content:"";pointer-events:none;background-image:radial-gradient(circle, var(--lg-hairline) 1px, transparent 1px);opacity:.35;background-size:28px 28px;position:absolute;inset:0;-webkit-mask:radial-gradient(#000 30%,#0000 80%);mask:radial-gradient(#000 30%,#0000 80%)}.login-card{z-index:1;background:var(--lg-surface);border:1px solid var(--lg-hairline);border-radius:20px;width:100%;max-width:26rem;padding:2.5rem 2.75rem 1.75rem;animation:.6s cubic-bezier(.16,1,.3,1) .1s backwards lg-card-in;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #456da10a,0 1px 2px #1c304a0a,0 8px 16px -6px #1c304a14,0 32px 64px -16px #172b4524}body.dark-mode .login-card{box-shadow:inset 0 0 0 1px #cee0f30a,0 2px 4px #03070c59,0 16px 32px -12px #03070c8c,0 48px 80px -40px #02050899}.login-card ::selection{background:var(--lg-focus-ring);color:var(--lg-ink)}.login-card:before{content:"";background:linear-gradient(90deg, var(--lg-amber) 0%, #f6ae31 50%, var(--lg-amber) 100%);border-radius:20px 20px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.login-card:after{display:none}.login-card>div:first-child{z-index:3;top:1.125rem;right:1.125rem;margin:0!important;position:absolute!important}.login-card .btn-theme{border:1px solid var(--lg-hairline);width:2.25rem;height:2.25rem;box-shadow:none;background:#fff9;border-radius:10px;justify-content:center;gap:0;padding:0;font-size:.875rem;line-height:1;transition:background-color .18s,border-color .18s,box-shadow .18s}body.dark-mode .login-card .btn-theme{background:#08132157}.login-card .btn-theme:hover{background:var(--lg-surface);border-color:var(--lg-focus);box-shadow:0 0 0 3px var(--lg-focus-ring);transform:none}.login-card .btn-theme:focus-visible{outline:2px solid var(--lg-focus);outline-offset:3px}.login-logo{text-align:center;background:linear-gradient(180deg, var(--lg-band-top) 0%, var(--lg-band-mid) 58%, var(--lg-surface) 100%);border-bottom:1px solid var(--lg-hairline-soft);margin:-2.5rem -2.75rem 1.75rem;padding:3rem 2.75rem 1.55rem;animation:.5s cubic-bezier(.16,1,.3,1) 90ms backwards lg-rise;box-shadow:inset 0 1px #ffffff8c}body.dark-mode .login-logo{box-shadow:inset 0 1px #cbe0f612}.login-logo h2{letter-spacing:-.01em;color:var(--lg-ink);font-family:Inter,sans-serif;font-size:1.35rem;font-weight:700;line-height:1.2}.login-logo p{letter-spacing:.01em;color:var(--lg-ink-faint);justify-content:center;align-items:center;gap:.7rem;margin:.55rem 0 0;font-family:Inter,sans-serif;font-size:.8rem;font-weight:400;line-height:1;display:flex}.login-logo p:before,.login-logo p:after{content:"";background:linear-gradient(90deg, transparent, var(--lg-edge));flex:1 1 0;height:1px}.login-logo p:after{background:linear-gradient(90deg, var(--lg-edge), transparent)}.login-error{letter-spacing:0;text-align:left;color:#972631;background:#e4253812;border:1px solid #e4253838;border-left:3px solid #df2a3c;border-radius:10px;align-items:flex-start;gap:.625rem;margin:0 0 1.25rem;padding:.8rem .9rem;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;line-height:1.45;animation:.3s cubic-bezier(.16,1,.3,1) backwards lg-alert-in;display:flex}body.dark-mode .login-error{color:#f9a9b1;background:#e4253826;border-color:#e7405157}.login-error:before{content:"";background-color:currentColor;flex:0 0 .9375rem;width:.9375rem;height:.9375rem;margin-top:.09rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") 50%/contain no-repeat}.login-card .form-group{position:relative;margin-bottom:1.05rem!important}.login-card form .form-group:last-of-type{margin-bottom:1.65rem!important}.login-card .form-group label{letter-spacing:.06em;text-transform:uppercase;color:var(--lg-ink-soft);margin-bottom:.5rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;display:block}.login-card label[for=username]:after,.login-card label[for=password]:after{content:"";pointer-events:none;background-color:var(--lg-ink-faint);width:1.125rem;height:1.125rem;-webkit-mask:var(--lg-glyph) center / contain no-repeat;-webkit-mask:var(--lg-glyph) center / contain no-repeat;mask:var(--lg-glyph) center / contain no-repeat;transition:background-color .2s;position:absolute;bottom:1rem;left:1rem}.login-card label[for=username]:after{--lg-glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E")}.login-card label[for=password]:after{--lg-glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10.5' width='16' height='11' rx='2.5'/%3E%3Cpath d='M8 10.5V7a4 4 0 0 1 8 0v3.5'/%3E%3C/svg%3E")}.login-card .form-group:focus-within label:after{background-color:var(--lg-amber)}.login-card .input-control{background:var(--lg-field);border:1px solid var(--lg-hairline);width:100%;height:3.125rem;color:var(--lg-ink);caret-color:var(--lg-amber);box-shadow:0 1px 2px var(--lg-recess) inset;border-radius:12px;padding:0 1rem 0 2.875rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;transition:background-color .2s,border-color .2s,box-shadow .2s}.login-card #password{letter-spacing:.08em;padding-right:2.75rem}.login-card .input-control::placeholder{color:var(--lg-ink-faint);letter-spacing:normal;opacity:1;font-weight:400}.login-card .input-control:hover:not(:disabled):not(:focus){border-color:var(--lg-edge)}.login-card .input-control:focus{background:var(--lg-surface);border-color:var(--lg-focus);box-shadow:0 0 0 3px var(--lg-focus-ring)}.login-card .input-control:disabled{opacity:.6;cursor:not-allowed}.login-card .input-control:-webkit-autofill{-webkit-text-fill-color:var(--lg-ink);-webkit-box-shadow:0 0 0 6rem var(--lg-field) inset;box-shadow:0 0 0 6rem var(--lg-field) inset;caret-color:var(--lg-amber);transition:background-color 5000s ease-in-out}.login-card .input-control:-webkit-autofill:hover{-webkit-text-fill-color:var(--lg-ink);-webkit-box-shadow:0 0 0 6rem var(--lg-field) inset;box-shadow:0 0 0 6rem var(--lg-field) inset;caret-color:var(--lg-amber);transition:background-color 5000s ease-in-out}.login-card .input-control:-webkit-autofill:focus{-webkit-text-fill-color:var(--lg-ink);-webkit-box-shadow:0 0 0 6rem var(--lg-surface) inset, 0 0 0 3px var(--lg-focus-ring);box-shadow:0 0 0 6rem var(--lg-surface) inset, 0 0 0 3px var(--lg-focus-ring)}.login-card form .form-group:first-of-type{animation:.5s cubic-bezier(.16,1,.3,1) .18s backwards lg-rise}.login-card form .form-group:nth-of-type(2){animation:.5s cubic-bezier(.16,1,.3,1) .25s backwards lg-rise}.login-password-wrap{position:relative}.login-password-wrap .input-control{padding-right:2.75rem}.login-eye-btn{width:2rem;height:2rem;color:var(--lg-ink-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:color .2s,background .2s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.login-eye-btn:hover{color:var(--lg-ink-soft);background:#4d79b314}.login-eye-btn:focus-visible{outline:2px solid var(--lg-focus);outline-offset:2px}.login-card form .btn-primary{letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(180deg, #224067 0%, var(--lg-navy) 100%);border-radius:12px;width:100%;height:3.25rem;font-family:Inter,sans-serif;font-weight:700;transition:transform .16s cubic-bezier(.16,1,.3,1),box-shadow .22s,background .22s,filter .22s;animation:.5s cubic-bezier(.16,1,.3,1) .31s backwards lg-rise;box-shadow:inset 0 1px #dcebf92e,0 1px 2px #0b1c3240,0 8px 18px -8px #0c213b73;padding:0 1.25rem!important;font-size:.8125rem!important}body.dark-mode .login-card form .btn-primary{background:linear-gradient(#295d99 0%,#1a3f70 100%);box-shadow:inset 0 1px #daebfb38,0 0 0 1px #a8ccf01a,0 2px 4px #03091166,0 14px 24px -10px #050e1a99}.login-card form .btn-primary:hover:not(:disabled){background:linear-gradient(#274c7c 0%,#16365f 100%);transform:translateY(-1px);box-shadow:inset 0 1px #dcebf938,0 2px 4px #0b1c3247,0 18px 30px -12px #0e25438c}body.dark-mode .login-card form .btn-primary:hover:not(:disabled){background:linear-gradient(#2b6cb6 0%,#1d4b86 100%)}.login-card form .btn-primary:active:not(:disabled){transform:translateY(0)scale(.995);box-shadow:inset 0 2px 3px #08172b66}.login-card form .btn-primary:focus-visible{outline:2px solid var(--lg-focus);outline-offset:3px}.login-card form .btn-primary:disabled{cursor:progress;opacity:.9;filter:saturate(.6);transform:none;box-shadow:0 1px 2px #0b1c3238}.login-card form .btn-primary:disabled:before{content:"";border:2px solid #ffffff52;border-top-color:#fff;border-radius:50%;width:.9375rem;height:.9375rem;animation:.7s linear infinite lg-spin}.login-card>form+div{border-top:1px solid var(--lg-hairline-soft);letter-spacing:.015em;flex-direction:column;align-items:center;gap:.45rem;padding-top:1.15rem;font-weight:500;line-height:1.5;animation:.5s cubic-bezier(.16,1,.3,1) .37s backwards lg-rise;display:flex;font-family:var(--lg-mono)!important;color:var(--lg-ink-faint)!important;margin-top:1.6rem!important;font-size:.6875rem!important}.login-card>form+div:before{content:"Sarl Icone Technology";letter-spacing:.2em;text-transform:uppercase;color:var(--lg-ink-soft);font-size:.5625rem;font-weight:600}.login-card>form+div:after{content:"Account issues? Contact IT support"}@keyframes lg-card-in{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:none}}@keyframes lg-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes lg-alert-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes lg-spin{to{transform:rotate(360deg)}}@keyframes lg-geo-rotate{0%{transform:rotate(45deg)}to{transform:rotate(405deg)}}@keyframes lg-brand-in{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:none}}@media (width<=56rem){.login-wrapper{flex-direction:column}.login-brand-panel{flex:none;min-height:auto;padding:2.5rem 2rem 2rem}.login-brand-features{display:none}.login-brand-footer{margin-top:1.5rem;position:static}.login-form-panel{padding:2rem 1.5rem 3rem}}@media (width<=30rem){.login-wrapper{flex-direction:column}.login-brand-panel{padding:2rem 1.25rem 1.5rem}.login-brand-logo{max-width:140px;max-height:38px;margin-bottom:1rem}.login-brand-title{font-size:1.4rem}.login-brand-subtitle{margin-bottom:0;font-size:.6rem}.login-brand-features,.login-brand-footer{display:none}.login-form-panel{padding:1.5rem 1rem 2rem}.login-card{border-radius:16px;padding:2.25rem 1.5rem 1.5rem}.login-logo{margin:-2.25rem -1.5rem 1.5rem;padding:2.75rem 1.5rem 1.4rem}.login-logo h2{font-size:1.2rem}.login-logo p{font-size:.7rem}.login-logo p:before,.login-logo p:after{display:none}.login-card .form-group label:after{left:.875rem}.login-card .input-control{padding-left:2.625rem}}@media (height<=40rem){.login-brand-panel{padding-top:1.5rem;padding-bottom:1.5rem}.login-brand-features{display:none}.login-logo{margin-bottom:1.35rem;padding-bottom:1.2rem}}@media (prefers-reduced-motion:reduce){.login-wrapper *,.login-card,.login-logo,.login-error,.login-card form .form-group,.login-card form .btn-primary,.login-card>form+div,.login-brand-content,.login-geo{animation:none!important}.login-card,.login-card *{transition-duration:.01ms!important}.login-card form .btn-primary:disabled:before{animation:1.8s linear infinite lg-spin}}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:200;background:#070b16cc;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;max-width:950px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) forwards fadeIn;display:flex;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.modal-header h3{color:var(--text-primary);font-size:1.35rem;font-weight:700}.modal-body{padding:2rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:1rem;padding:1.25rem 2rem;display:flex}.report-info-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:2rem;padding:1.5rem;display:grid}.report-info-item{flex-direction:column;gap:.25rem;display:flex}.report-info-item .label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;font-size:.8rem;font-weight:700}.report-info-item .val{color:var(--text-primary);font-size:1rem;font-weight:600}.report-details-table{border-collapse:collapse;width:100%;margin-bottom:1.5rem}.report-details-table th,.report-details-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:.85rem 1.25rem}.report-details-table th{background:var(--bg-card-hover);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:700}.report-details-table td{color:var(--text-primary);font-size:.95rem}.report-details-table tr:hover td{background:var(--bg-card-hover)}.history-list-table{border-collapse:collapse;width:100%;min-width:1200px}.history-list-table th,.history-list-table td{text-align:left;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);padding:.75rem 1rem}.history-list-table th:last-child,.history-list-table td:last-child{border-right:none}.history-list-table th{color:var(--text-muted);text-transform:uppercase;white-space:nowrap;font-size:.8rem;font-weight:700}.history-list-table td{color:var(--text-primary);font-size:.85rem}.history-list-table tr:hover td{background:var(--bg-card-hover)}.dashboard-tabs{border-bottom:2px solid var(--border-color);background:linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);-webkit-overflow-scrolling:touch;border-radius:16px 16px 0 0;gap:.5rem;padding:.75rem;display:flex;overflow-x:auto}.tab-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #0000;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:.4rem;padding:.65rem 1rem;font-family:inherit;font-size:.825rem;font-weight:700;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 2px 8px #0000000d}.tab-btn:hover{color:var(--text-primary);background:linear-gradient(135deg,#1f8fff14 0%,#1f8fff05);border-color:#1f8fff33;transform:translateY(-2px);box-shadow:0 6px 15px #1f8fff26}.tab-btn.active{color:#fff;background:linear-gradient(135deg, var(--primary) 0%, #0073e6);box-shadow:0 8px 25px var(--primary-glow);border-color:#0000;transform:translateY(-2px)}.tab-content{margin-top:1.5rem}.btn-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1}.btn-close:hover{color:var(--text-primary)}.btn-theme{background:linear-gradient(135deg, var(--bg-card) 0%, var(--bg-card-hover) 100%);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:10px;align-items:center;gap:.35rem;padding:.65rem 1rem;font-family:inherit;font-size:1rem;font-weight:700;transition:all .35s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 3px 10px #00000026}.btn-theme:hover{background:linear-gradient(135deg, var(--bg-card-hover) 0%, var(--bg-card) 100%);border-color:var(--primary);box-shadow:0 5px 18px #0003, 0 0 20px var(--primary-glow);transform:translateY(-2px)}.header-logo img{max-width:60px;box-shadow:0 6px 20px #00000026, 0 0 30px var(--primary-glow);border-radius:12px;margin-right:.75rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);animation:3s infinite pulse-glow}.header-logo img:hover{box-shadow:0 10px 30px #0003, 0 0 40px var(--primary-glow);transform:scale(1.1)rotate(2deg)}.login-logo img{object-fit:contain;width:auto;max-width:168px;max-height:42px;box-shadow:none;filter:none;border:none;border-radius:5px;margin:0 auto .95rem;transition:none;animation:none;display:block}body.dark-mode .login-logo img{box-shadow:none;filter:none;border-radius:5px}body.dark-mode .header-logo img{box-shadow:0 6px 20px #0006, 0 0 30px var(--primary-glow)}.btn-back-to-dashboard{background:linear-gradient(135deg, var(--bg-card) 0%, var(--bg-card-hover) 100%);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:12px;align-items:center;gap:.7rem;padding:.8rem 1.6rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .35s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;box-shadow:0 3px 12px #00000026}.btn-back-to-dashboard:hover{box-shadow:0 6px 20px #0003, 0 0 25px var(--primary-glow);border-color:var(--primary);background:linear-gradient(135deg, var(--bg-card-hover) 0%, var(--bg-card) 100%);transform:translateY(-2px)}.btn-back-to-dashboard:active{transform:translateY(0);box-shadow:0 2px 8px #00000026}.model-type-tag-tv{color:var(--primary);background:#1f8fff1f;border:1px solid #1f8fff40;border-radius:8px;padding:.35rem .9rem;font-size:.825rem;font-weight:600}.model-type-tag-receiver{color:var(--success);background:#28af601f;border:1px solid #28af6040;border-radius:8px;padding:.35rem .9rem;font-size:.825rem;font-weight:600}.model-type-tag-smart{color:#a73cdd;background:#a73cdd1f;border:1px solid #a73cdd40;border-radius:8px;padding:.35rem .9rem;font-size:.825rem;font-weight:600}.firmware-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md), 0 0 15px var(--primary-glow);transform:translateY(-4px)}.chat-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;height:100%;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--border-color);background:var(--bg-card-hover);align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.chat-header-avatar{background:linear-gradient(135deg, var(--primary), var(--success));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;font-size:1.25rem;font-weight:800;display:flex}.chat-header-info h4{color:var(--text-primary);margin:0;font-size:1.05rem}.chat-header-info p{color:var(--text-muted);margin:.25rem 0 0;font-size:.85rem}.chat-messages{background:var(--bg-secondary);flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.chat-message{border-radius:12px;align-items:flex-end;gap:.5rem;max-width:75%;padding:.5rem .85rem;line-height:1.4;display:flex}.chat-message.sent{background:linear-gradient(135deg, var(--primary), #0073e6);color:#fff;border-bottom-right-radius:4px;flex-direction:row-reverse;align-self:flex-end}.chat-message.received{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.chat-message-time{opacity:.8;text-align:right;margin-top:.35rem;font-size:.68rem}.chat-input-container{border-top:1px solid var(--border-color);background:var(--bg-card);gap:.75rem;padding:1rem 1.5rem;display:flex}.chat-input{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:24px;outline:none;flex:1;padding:.85rem 1.25rem;font-size:1rem;transition:all .3s}.chat-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1f8fff26}.chat-send-btn{background:linear-gradient(135deg, var(--primary), #0073e6);color:#fff;cursor:pointer;border:none;border-radius:24px;padding:.85rem 1.75rem;font-weight:700;transition:all .3s}.welcome-page{flex-direction:column;gap:2rem;display:flex}.welcome-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;display:flex}.welcome-greeting{align-items:center;gap:1.5rem;display:flex}.welcome-avatar{background:linear-gradient(135deg, var(--primary), var(--success));border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;display:flex;overflow:hidden;box-shadow:0 8px 30px #0003}.welcome-avatar img{object-fit:cover;width:100%;height:100%}.welcome-text h2{background:linear-gradient(135deg, var(--text-primary) 0%, var(--primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:2rem;font-weight:800}.welcome-text p{color:var(--text-secondary);margin:.5rem 0 0;font-size:1rem}.welcome-date{background:var(--bg-card-hover);border:1px solid var(--border-color);color:var(--text-primary);border-radius:12px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600}.welcome-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.welcome-card{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:20px;padding:2rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}.welcome-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 0% 50%,#ffffff0d 100%);width:100%;height:100%;position:absolute;top:0;left:0}.welcome-card:hover{border-color:var(--primary);transform:translateY(-8px);box-shadow:0 12px 40px #00000026}.welcome-card-icon{border-radius:16px;justify-content:center;align-items:center;width:70px;height:70px;margin-bottom:1rem;font-size:2rem;display:flex;box-shadow:0 4px 15px #0000001a}.welcome-card h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.3rem;font-weight:800}.welcome-card p{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.5}.welcome-card-badge{background:var(--primary);color:#fff;border-radius:20px;margin-top:1rem;padding:.4rem 1rem;font-size:.85rem;font-weight:700;display:inline-block}.welcome-footer{background:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:20px;padding:2rem}.welcome-footer h3{color:var(--text-primary);margin:0 0 1.5rem;font-size:1.4rem;font-weight:800}.quick-actions{flex-wrap:wrap;gap:1rem;display:flex}body.dark-mode .welcome-card{box-shadow:0 4px 20px #0000004d}body.dark-mode .welcome-card:hover{box-shadow:0 12px 40px #00000080}.chat-send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #1f8fff66}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-file-attachment{background:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;gap:.5rem;margin-bottom:.35rem;padding:.65rem;display:flex}.chat-file-attachment-image{cursor:pointer;border-radius:8px;max-width:100%;max-height:300px;transition:transform .2s}.chat-file-attachment-image:hover{transform:scale(1.02)}.chat-file-attachment-document{align-items:center;gap:1rem;display:flex}.chat-file-icon{font-size:2rem}.chat-file-info{flex:1;min-width:0}.chat-file-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.85rem;font-weight:700;overflow:hidden}.chat-file-download-btn{background:linear-gradient(135deg, var(--primary), #0073e6);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.4rem .85rem;font-size:.8rem;font-weight:700;transition:all .3s}.chat-file-download-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1f8fff66}.chat-message.sent .chat-file-attachment{background:#ffffff1a;border-color:#fff3}.chat-message.sent .chat-file-name{color:#fff}.chat-message.sent .chat-file-download-btn{color:#fff;background:#fff3}.chat-message.sent .chat-file-download-btn:hover{background:#ffffff4d}.chat-input-file-preview{background:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.75rem 1rem;display:flex}.chat-input-file-icon{font-size:1.75rem}.chat-input-file-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:.9rem;font-weight:600;overflow:hidden}.chat-input-file-remove{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;transition:all .2s;display:flex}.chat-input-file-remove:hover{box-shadow:0 2px 8px var(--danger-glow);transform:scale(1.1)}.chat-file-btn{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;padding:.75rem 1rem;font-size:1.25rem;transition:all .3s}.chat-file-btn:hover{background:var(--bg-card-hover);border-color:var(--primary);transform:translateY(-2px)}
