:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e5e7eb;background:#080c11;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;min-height:100%}body{min-height:100vh;background:radial-gradient(circle at top right,rgba(32,111,145,.08),transparent 32%),#080c11;color:#e5e7eb}button,input{font:inherit}button{transition:background .15s ease,border-color .15s ease,opacity .15s ease,transform .15s ease}button:not(:disabled){cursor:pointer}button:not(:disabled):active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.45}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 20%,rgba(54,211,153,.08),transparent 30%),#080c11}.card{width:min(420px,100%);padding:34px;background:#101720;border:1px solid #273442;border-radius:12px;box-shadow:0 24px 70px #00000073}.brand{color:#f3f4f6;font-size:21px;font-weight:800;letter-spacing:.04em}.brand span{color:#49d7bc}.card h1{margin:34px 0 8px;font-size:30px;line-height:1.1}.card p{margin:0 0 26px;color:#8391a1;font-size:14px}.card form{display:flex;flex-direction:column;gap:12px}.card input{width:100%;padding:12px 13px;color:#f9fafb;background:#0a1017;border:1px solid #2a3745;border-radius:7px;outline:none}.card input:focus{border-color:#2dd4bf;box-shadow:0 0 0 2px #2dd4bf1a}.card button{margin-top:6px;padding:12px 14px;color:#07100f;background:#49d7bc;border:0;border-radius:7px;font-weight:700}.card button:hover:not(:disabled){background:#67e8d1}.error{margin-top:14px;padding:11px 13px;color:#fecaca;background:#35191c;border:1px solid #67272d;border-radius:7px;font-size:13px}.app{display:flex;min-height:100vh;background:#080c11}.app>aside{position:fixed;inset:0 auto 0 0;width:218px;display:flex;flex-direction:column;padding:22px 14px;background:#0b1118;border-right:1px solid #202b36}.app>aside .brand{padding:0 9px 28px}.app nav{display:flex;flex-direction:column;gap:5px}.app nav a{padding:12px 10px;color:#8ea0b2;border-radius:7px;font-size:14px;text-decoration:none}.app nav a.active{color:#f8fafc;background:#17232d}.app nav a:hover{color:#f8fafc;background:#121c25}.logout{margin-top:auto;padding:10px 12px;color:#aeb9c5;background:transparent;border:1px solid #273442;border-radius:7px}.logout:hover{color:#fff;background:#151e27}.main-content{width:calc(100% - 218px);min-height:100vh;margin-left:218px}.vm-dashboard{width:100%;padding:32px 40px 50px}.vm-dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{margin-bottom:6px;color:#6387a4;font-size:11px;letter-spacing:.14em;font-weight:600}.vm-dashboard-header h1{margin:0;color:#f4f7fa;font-size:32px;letter-spacing:-.025em}.live-indicator{display:flex;align-items:center;gap:7px;margin-top:9px;color:#4ade80;font-size:11px;font-weight:700;letter-spacing:.08em}.live-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 9px #4ade80b3}.dashboard-actions{display:flex;gap:9px}.primary-button,.secondary-button{padding:10px 14px;border-radius:7px;font-size:13px;font-weight:600}.primary-button{color:#07100f;background:#49d7bc;border:1px solid #49d7bc}.primary-button:hover:not(:disabled){background:#67e8d1}.secondary-button{color:#e5e7eb;background:#111a23;border:1px solid #2b3947}.secondary-button:hover:not(:disabled){background:#17232d}.dashboard-error{display:flex;flex-direction:column;gap:3px;margin-bottom:20px;padding:12px 14px;color:#fecaca;background:#35191c;border:1px solid #67272d;border-radius:8px;font-size:13px}.dashboard-error strong{color:#fca5a5}.vm-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:14px;margin-bottom:24px}.vm-stat-card{min-height:105px;display:flex;flex-direction:column;justify-content:center;padding:18px;background:#101820;border:1px solid #253341;border-radius:10px}.vm-stat-card span{color:#69849c;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.vm-stat-card strong{margin-top:8px;color:#f4f7fa;font-size:30px}.vm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.vm-card{min-width:0;padding:19px;background:#101820;border:1px solid #253341;border-radius:10px;box-shadow:0 8px 30px #0000001f}.vm-card:hover{border-color:#334657}.vm-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.vm-reference{color:#66849d;font-size:11px;letter-spacing:.06em}.vm-card h2{margin:7px 0 0;color:#f3f6f8;font-size:20px;line-height:1.15}.vm-status{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.04em}.vm-status.running{color:#42e6b5}.vm-status.stopped{color:#8795a3}.vm-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:20px 0}.vm-metric{min-width:0;padding:10px;background:#0b1118;border:1px solid #1e2a35;border-radius:6px}.vm-metric span{display:block;color:#66788a;font-size:9px;letter-spacing:.1em;font-weight:700}.vm-metric strong{display:block;overflow:hidden;margin-top:4px;color:#e7edf2;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.vm-actions{display:flex;flex-wrap:wrap;gap:7px}.vm-actions button{padding:8px 11px;border-radius:6px;color:#fff;border:1px solid transparent;font-size:11px;font-weight:700}.vm-actions button:hover:not(:disabled){filter:brightness(1.12)}.console-button{background:#2563eb;border-color:#3575ee!important}.start-button{background:#166534;border-color:#217c41!important}.stop-button{background:#991b1b;border-color:#b12626!important}.restart-button{background:#92400e;border-color:#a95416!important}.vm-empty{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;background:#101820;border:1px solid #253341;border-radius:10px}.vm-empty-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;margin-bottom:15px;color:#49d7bc;background:#102721;border:1px solid #225244;border-radius:10px;font-weight:800}.vm-empty h2{margin:0 0 8px;color:#f4f7fa;font-size:20px}.vm-empty p{max-width:440px;margin:0 0 20px;color:#788898;font-size:13px;line-height:1.6}.vm-loading{min-height:400px;display:flex;align-items:center;justify-content:center;gap:13px;color:#9aa8b6}.vm-loading>div:last-child{display:flex;flex-direction:column;gap:3px}.vm-loading strong{color:#e5e7eb}.vm-loading span{font-size:12px}.loading-spinner{width:22px;height:22px;border:2px solid #273442;border-top-color:#49d7bc;border-radius:50%;animation:vm-spin .8s linear infinite}@keyframes vm-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.app>aside{width:180px}.main-content{width:calc(100% - 180px);margin-left:180px}.vm-dashboard{padding:25px 22px 40px}.vm-dashboard-header{flex-direction:column}}@media(max-width:650px){.app{display:block}.app>aside{position:static;width:100%;min-height:auto;border-right:0;border-bottom:1px solid #202b36}.app>aside .brand{padding-bottom:15px}.app nav{flex-direction:row}.app nav a{flex:1}.logout{margin-top:12px}.main-content{width:100%;margin-left:0}.vm-stat-grid,.vm-grid{grid-template-columns:1fr}.vm-dashboard{padding:22px 15px 35px}}.sidebar-user{margin:0 7px 18px;padding:11px 10px;background:#0f171f;border:1px solid #202d39;border-radius:7px}.sidebar-user-role{margin-top:4px;color:#6f879e;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.app nav .nav-button{width:100%;padding:12px 10px;color:#8ea0b2;background:transparent;border:0;border-radius:7px;font-size:14px;text-align:left}.app nav .nav-button.active{color:#f8fafc;background:#17232d}.app nav .nav-button:hover{color:#f8fafc;background:#121c25}.admin-page{min-height:100vh;padding:30px 36px 50px;background:#090d13;color:#e5e7eb}.admin-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.admin-page-header h1{margin:0;color:#f3f4f6;font-size:30px}.admin-page-header p{max-width:720px;margin:8px 0 0;color:#748398;font-size:13px;line-height:1.6}.admin-refresh-button{padding:9px 15px;color:#07100f;background:#42d3c0;border:0;border-radius:6px;font-size:12px;font-weight:700}.admin-alert{margin-bottom:16px;padding:12px 14px;border-radius:7px;font-size:13px}.admin-alert-error{color:#fecaca;background:#3f1717;border:1px solid #7f1d1d}.admin-alert-success{color:#a7f3d0;background:#0d3028;border:1px solid #166534}.assignment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.assignment-summary-card{padding:15px;background:#101720;border:1px solid #27303d;border-radius:8px}.assignment-summary-label{color:#63809f;font-size:10px;letter-spacing:.1em;font-weight:600}.assignment-summary-value{margin-top:7px;color:#f3f4f6;font-size:25px;font-weight:700}.assignment-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}.assignment-card{padding:18px;background:#111720;border:1px solid #27303d;border-radius:9px}.assignment-vm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.assignment-vm-header h2{margin:0;color:#f3f4f6;font-size:17px}.assignment-vm-meta{margin-top:5px;color:#6b7280;font-size:11px}.status-running,.status-stopped{font-size:10px;font-weight:700;white-space:nowrap}.status-running{color:#4ade80}.status-stopped{color:#f87171}.assignment-section-label{margin-bottom:8px;color:#63809f;font-size:9px;letter-spacing:.1em;font-weight:700}.assignment-users{display:flex;flex-wrap:wrap;gap:7px;min-height:34px;margin-bottom:18px}.assignment-user-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 6px 10px;color:#d8e1ea;background:#16232c;border:1px solid #29404d;border-radius:6px;font-size:11px}.assignment-user-chip button{width:18px;height:18px;padding:0;color:#9aaaba;background:transparent;border:0;border-radius:4px;line-height:18px}.assignment-user-chip button:hover:not(:disabled){color:#fff;background:#263541}.assignment-empty{color:#59687a;font-size:11px}.assignment-controls select{width:100%;padding:9px 10px;color:#e5e7eb;background:#0b1017;border:1px solid #2a3745;border-radius:6px;outline:none}.assignment-controls select:focus{border-color:#2dd4bf;box-shadow:0 0 0 2px #2dd4bf1a}.admin-loading{padding:40px;color:#8796a8}@media(max-width:800px){.assignment-summary{grid-template-columns:1fr}.admin-page{padding:22px 16px 35px}.admin-page-header{flex-direction:column}}.sidebar-user{margin:0 8px 24px;padding:11px 10px;background:#0f1820;border:1px solid #202d39;border-radius:8px}.sidebar-user-name{color:#f3f4f6;font-size:13px;font-weight:700}.sidebar-user-role{margin-top:3px;color:#6f879b;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.nav-button{width:100%;padding:11px 10px;color:#8ea0b2;background:transparent;border:1px solid transparent;border-radius:7px;text-align:left;font-size:14px}.nav-button:hover:not(:disabled){color:#f8fafc;background:#121c25}.nav-button.active{color:#f8fafc;background:#17232d;border-color:#20313e}.user-management-page{width:100%;padding:32px 40px 50px}.user-management-grid{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:20px;align-items:start}.user-form-card,.user-list-card{padding:22px;background:#101820;border:1px solid #253341;border-radius:10px}.user-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.user-card-heading h2{margin:0;color:#f4f7fa;font-size:21px}.user-card-icon,.user-count-badge{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;color:#07100f;background:#49d7bc;border-radius:7px;font-weight:800}.user-form-card form{display:flex;flex-direction:column;gap:15px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field>span{color:#c7d0d9;font-size:12px;font-weight:650}.form-field input,.form-field select{width:100%;padding:11px 12px;color:#f4f7fa;background:#0a1017;border:1px solid #2a3745;border-radius:7px;outline:none}.form-field input:focus,.form-field select:focus{border-color:#2dd4bf;box-shadow:0 0 0 2px #2dd4bf1a}.form-field small{color:#647b8f;font-size:11px;line-height:1.45}.user-create-button{width:100%;margin-top:5px}.user-table-wrapper{overflow-x:auto}.user-table{width:100%;border-collapse:collapse}.user-table th{padding:10px 12px;color:#637b8f;border-bottom:1px solid #253341;font-size:10px;font-weight:700;letter-spacing:.1em;text-align:left;text-transform:uppercase}.user-table td{padding:14px 12px;color:#c6d0d9;border-bottom:1px solid #1c2833;font-size:13px;vertical-align:middle}.user-table tbody tr:hover{background:#121c25}.user-table-name{display:flex;align-items:center;gap:8px;color:#f2f5f7;font-weight:650}.user-table-email{margin-top:3px;color:#62798c;font-size:11px}.user-self-badge{padding:2px 6px;color:#8ce9d6;background:#10332f;border:1px solid #1e554c;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.role-badge,.status-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:5px;font-size:10px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.role-admin{color:#f4d39b;background:#302716;border:1px solid #5d4822}.role-user{color:#a8c7e2;background:#142636;border:1px solid #29475e}.status-active{color:#8be6ae;background:#102a1d;border:1px solid #205336}.status-inactive{color:#f0a7a7;background:#30191c;border:1px solid #5b292e}.user-empty-state{min-height:180px;display:flex;align-items:center;justify-content:center;color:#647b8f;border:1px dashed #273644;border-radius:8px}@media(max-width:1050px){.user-management-grid{grid-template-columns:1fr}}@media(max-width:760px){.app>aside{position:static;width:100%;min-height:auto;border-right:0;border-bottom:1px solid #202b36}.app{flex-direction:column}.main-content{width:100%;margin-left:0}.user-management-page{padding:24px 18px 40px}.app nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--bg: #060a0f;--surface: rgba(14, 22, 31, .72);--surface-strong: rgba(18, 29, 40, .9);--surface-soft: rgba(255, 255, 255, .045);--border-glass: rgba(255, 255, 255, .1);--border-strong: rgba(105, 225, 205, .22);--text: #edf7f6;--muted: #91a5b4;--muted-2: #687d8c;--accent: #5ce0c5;--accent-strong: #2ec7ac;--accent-soft: rgba(92, 224, 197, .13);--shadow-glass: 0 24px 80px rgba(0, 0, 0, .34)}html[data-theme=light]{--bg: #edf3f5;--surface: rgba(255, 255, 255, .74);--surface-strong: rgba(255, 255, 255, .92);--surface-soft: rgba(19, 51, 61, .045);--border-glass: rgba(28, 58, 69, .12);--border-strong: rgba(26, 167, 145, .28);--text: #17313a;--muted: #607681;--muted-2: #7d929d;--accent: #17a88e;--accent-strong: #0d8e78;--accent-soft: rgba(23, 168, 142, .1);--shadow-glass: 0 24px 70px rgba(40, 73, 82, .14)}html[data-theme=dark] body,html[data-theme=light] body{background:radial-gradient(circle at 10% 0%,rgba(60,209,184,.09),transparent 27%),radial-gradient(circle at 92% 15%,rgba(68,126,255,.08),transparent 30%),var(--bg);color:var(--text)}body{transition:background .3s ease,color .3s ease}.glass-card,.glass-header,.glass-sidebar,.glass-inset,.glass-modal{background:var(--surface);border:1px solid var(--border-glass);box-shadow:var(--shadow-glass);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}.modern-app{position:relative;overflow:hidden;background:transparent}.modern-app:before{content:"";position:fixed;width:430px;height:430px;top:-160px;right:4%;border-radius:50%;background:#44d6be0e;filter:blur(70px);pointer-events:none}.modern-app>aside.glass-sidebar{z-index:10;background:#070d14c2;border-right:1px solid var(--border-glass);box-shadow:18px 0 60px #00000029;backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%)}html[data-theme=light] .modern-app>aside.glass-sidebar{background:#f4f9fac7}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:0 10px 25px!important;justify-content:center}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#071411;background:linear-gradient(145deg,#78f1d6,#2ebaa2);box-shadow:0 10px 30px #34dabc3b;font-weight:900;letter-spacing:-.06em}.brand-lockup .brand{font-size:15px;letter-spacing:.07em}.brand-lockup .brand span{color:var(--accent)}.brand-lockup small{display:block;margin-top:3px;color:var(--muted-2);font-size:8px;font-weight:750;letter-spacing:.19em}.modern-app .sidebar-user{display:flex;align-items:center;gap:10px;margin:0 4px 22px;padding:10px;background:var(--surface-soft);border:1px solid var(--border-glass);border-radius:14px}.sidebar-user-copy{min-width:0}.modern-app .sidebar-user-name{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.modern-app .sidebar-user-role{color:var(--muted-2)}.profile-avatar{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border-strong);border-radius:50%;color:var(--accent);background:linear-gradient(145deg,#5ce0c52e,#5b7eff1f);font-weight:800}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar.large{width:92px;height:92px;flex-basis:92px;font-size:24px;box-shadow:0 16px 40px #0000003d}.sidebar-avatar{width:38px;height:38px;flex-basis:38px;font-size:12px}.modern-app .nav-button{display:flex;align-items:center;gap:10px;margin:2px 0;color:var(--muted);border-color:transparent;border-radius:11px}.modern-app .nav-button:hover:not(:disabled){color:var(--text);background:var(--surface-soft)}.modern-app .nav-button.active{color:var(--text);background:linear-gradient(90deg,#5ce0c521,#5ce0c509);border-color:var(--border-strong);box-shadow:inset 3px 0 0 var(--accent)}.nav-icon{width:21px;color:var(--accent);text-align:center;font-size:15px}.sidebar-bottom{margin-top:auto}.modern-app .logout{display:flex;align-items:center;gap:10px;width:100%;margin-top:7px;color:var(--muted);border-color:var(--border-glass);border-radius:11px}.modern-app .logout:hover{color:#efb1b1;background:#e05c5c14;border-color:#e05c5c33}.main-content{position:relative;z-index:1}.modern-login{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 12%,rgba(92,224,197,.14),transparent 26%),radial-gradient(circle at 86% 88%,rgba(93,117,255,.12),transparent 30%),var(--bg)}.login-decoration{position:absolute;border:1px solid var(--border-glass);border-radius:50%;pointer-events:none}.decoration-one{width:500px;height:500px;top:-260px;right:-150px}.decoration-two{width:350px;height:350px;bottom:-210px;left:-120px}.login-theme-control{position:absolute;top:25px;right:30px;z-index:3}.theme-toggle{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;color:var(--muted);background:var(--surface);border:1px solid var(--border-glass);border-radius:999px;box-shadow:0 12px 35px #00000024;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:12px}.theme-toggle:hover{color:var(--text);border-color:var(--border-strong)}.login-card{position:relative;z-index:2;width:min(470px,calc(100vw - 34px));padding:36px;border-radius:26px}.login-card .brand-lockup{display:flex;align-items:center;gap:12px}.login-card .login-copy{margin:42px 0 25px}.section-kicker{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.17em}.login-card h1{margin:8px 0;color:var(--text);font-size:31px;line-height:1.12;letter-spacing:-.035em}.login-card .login-copy p{margin:0;color:var(--muted);font-size:13px}.login-field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.login-field>span{color:var(--muted);font-size:11px;font-weight:700}.login-card .login-field input{padding:13px 14px;color:var(--text);background:#00000021;border:1px solid var(--border-glass);border-radius:12px}html[data-theme=light] .login-card .login-field input{background:#ffffffad}.login-card .login-field input:focus{border-color:var(--border-strong);box-shadow:0 0 0 4px var(--accent-soft)}.login-submit{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:7px;padding:14px 16px;color:#071411;background:linear-gradient(135deg,#76f0d6,#36c8ae);border:0;border-radius:13px;box-shadow:0 14px 35px #31cbaf33;font-weight:800}.login-submit:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.button-arrow{font-size:19px}.login-footer{display:flex;justify-content:center;gap:8px;margin-top:22px;color:var(--muted-2);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.modern-page{min-height:100vh;padding:34px 42px 60px}.glass-header{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:22px;padding:24px 26px;border-radius:20px}.glass-header h1{margin:6px 0 5px;color:var(--text);font-size:30px;letter-spacing:-.03em}.page-subtitle{max-width:720px;margin:0;color:var(--muted);font-size:12px;line-height:1.6}.page-header-actions,.editor-actions,.photo-button-row,.modal-actions{display:flex;align-items:center;gap:9px}.modern-page .primary-button,.modern-page .secondary-button{border-radius:11px;padding:10px 14px}.modern-page .secondary-button{color:var(--text);background:var(--surface-soft);border:1px solid var(--border-glass)}.modern-page .secondary-button:hover:not(:disabled){border-color:var(--border-strong)}.secondary-button.small{padding:7px 10px;font-size:11px}.modern-alert{margin:0 0 18px;border-radius:12px}.success{color:#79e9b1;background:#2bb0701a;border:1px solid rgba(75,211,145,.2)}html[data-theme=light] .success{color:#147c54;background:#2bb07014}.user-management-layout{display:grid;grid-template-columns:minmax(380px,.82fr) minmax(480px,1.18fr);gap:20px;align-items:start}.glass-card{border-radius:20px}.profile-editor,.user-directory{padding:24px}.editor-heading,.directory-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:22px}.editor-heading h2,.directory-heading h2{margin:5px 0 0;color:var(--text);font-size:19px;letter-spacing:-.02em}.profile-photo-row{display:flex;align-items:center;gap:16px;padding:15px;margin-bottom:23px;background:var(--surface-soft);border:1px solid var(--border-glass);border-radius:16px}.photo-actions{display:flex;flex-direction:column;gap:4px}.photo-actions strong{color:var(--text);font-size:13px}.photo-actions>span{color:var(--muted-2);font-size:10px}.photo-button-row{margin-top:5px}.hidden-file-input{display:none}.text-danger-button{padding:7px 4px;color:#d89090;background:transparent;border:0;font-size:11px}.form-section-title{margin:20px 0 11px;padding-top:16px;color:var(--accent);border-top:1px solid var(--border-glass);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:11px}.profile-editor .form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:11px}.profile-editor .form-field>span{color:var(--muted);font-size:10px;font-weight:700}.profile-editor .form-field input,.profile-editor .form-field select,.profile-editor .form-field textarea,.user-search{width:100%;padding:10px 11px;color:var(--text);background:var(--surface-soft);border:1px solid var(--border-glass);border-radius:10px;outline:none;resize:vertical}.profile-editor .form-field input:focus,.profile-editor .form-field select:focus,.profile-editor .form-field textarea:focus,.user-search:focus{border-color:var(--border-strong);box-shadow:0 0 0 4px var(--accent-soft)}.profile-editor .form-field input:disabled{opacity:.58;cursor:not-allowed}.editor-actions{justify-content:flex-end;margin-top:17px;padding-top:16px;border-top:1px solid var(--border-glass)}.directory-count{min-width:34px;height:34px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border-strong);border-radius:10px;font-weight:800}.directory-toolbar{margin-bottom:13px}.user-search{padding:11px 13px}.user-directory-list{display:flex;flex-direction:column;gap:9px;max-height:720px;overflow-y:auto;padding-right:3px}.directory-user-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;background:var(--surface-soft);border:1px solid var(--border-glass);border-radius:15px;transition:border-color .18s ease,transform .18s ease,background .18s ease}.directory-user-card:hover{background:#5ce0c50b;border-color:var(--border-strong);transform:translateY(-1px)}.directory-user-main{min-width:0}.directory-user-name{display:flex;align-items:center;gap:7px}.directory-user-name strong{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.directory-user-meta,.directory-user-role{overflow:hidden;color:var(--muted-2);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.directory-user-meta{margin-top:3px}.directory-user-role{margin-top:5px;color:var(--muted)}.directory-user-state{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.directory-user-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:210px}.icon-action{padding:6px 8px;color:var(--muted);background:transparent;border:1px solid var(--border-glass);border-radius:8px;font-size:9px;font-weight:700}.icon-action:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-soft)}.welcome-backdrop,.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#03070b94;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}.welcome-card{position:relative;width:min(560px,100%);padding:42px;overflow:hidden;border-radius:27px;text-align:center;animation:welcomeIn .38s ease both}@keyframes welcomeIn{0%{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-card:after{content:"";position:absolute;width:240px;height:240px;top:-130px;right:-80px;border-radius:50%;background:#5ce0c51c;filter:blur(10px)}.welcome-orb{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 20px;color:#072019;background:linear-gradient(145deg,#8af6de,#3fc8af);border-radius:20px;box-shadow:0 16px 42px #3bd3b638;font-size:25px}.welcome-card h2{max-width:460px;margin:9px auto 13px;color:var(--text);font-size:28px;line-height:1.16;letter-spacing:-.03em}.welcome-card p{max-width:470px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.75}.welcome-signature{margin:19px 0 25px;color:var(--accent);font-size:11px;font-weight:700}.welcome-button{min-width:190px;display:inline-flex;justify-content:space-between;gap:25px;align-items:center;border-radius:12px}.glass-modal{width:min(440px,100%);padding:28px;border-radius:22px}.modal-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:16px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border-strong);border-radius:12px}.glass-modal h2{margin:5px 0 7px;color:var(--text)}.glass-modal p{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.55}.glass-modal .form-field{display:flex;flex-direction:column;gap:7px}.glass-modal .form-field>span{color:var(--muted);font-size:10px;font-weight:700}.glass-modal .form-field input{padding:11px;color:var(--text);background:var(--surface-soft);border:1px solid var(--border-glass);border-radius:10px;outline:none}.glass-modal .form-field input:focus{border-color:var(--border-strong);box-shadow:0 0 0 4px var(--accent-soft)}.modal-actions{justify-content:flex-end;margin-top:20px}html[data-theme=light] .user-table tbody tr:hover,html[data-theme=light] .directory-user-card:hover{background:#17a88e0e}html[data-theme=light] .welcome-backdrop,html[data-theme=light] .modal-backdrop{background:#e0e9eb94}@media(max-width:1180px){.user-management-layout{grid-template-columns:1fr}.user-directory-list{max-height:none}}@media(max-width:820px){.modern-page{padding:22px 17px 42px}.glass-header{align-items:flex-start;flex-direction:column}.page-header-actions{width:100%}.page-header-actions button{flex:1}.directory-user-card{grid-template-columns:auto minmax(0,1fr)}.directory-user-state,.directory-user-actions{grid-column:2;align-items:flex-start;justify-content:flex-start}.form-grid.two{grid-template-columns:1fr}}@media(max-width:600px){.login-theme-control{top:14px;right:14px}.login-card{padding:25px 21px;border-radius:21px}.login-card .login-copy{margin-top:30px}.welcome-card{padding:31px 23px}.welcome-card h2{font-size:24px}.profile-photo-row{align-items:flex-start;flex-direction:column}}.modern-dashboard{min-height:100vh;padding:34px 42px 60px}.dashboard-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-size:13px}.dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:25px 27px;margin-bottom:18px;border-radius:20px}.dashboard-hero h1{margin:7px 0 6px;color:var(--text);font-size:30px;letter-spacing:-.03em}.dashboard-live{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em}.dashboard-actions{display:flex;gap:8px}.dashboard-actions .primary-button,.dashboard-actions .secondary-button,.dashboard-empty .primary-button{border-radius:11px;padding:10px 14px}.modern-dashboard-alert{display:flex;flex-direction:column;gap:3px;padding:13px 15px;margin-bottom:14px;border-radius:12px;font-size:12px}.modern-dashboard-alert.error{color:#f3c0c0;background:#b432321a;border:1px solid rgba(222,93,93,.2)}.dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.dashboard-stat{padding:16px 18px;border-radius:16px}.dashboard-stat span{color:var(--muted-2);font-size:9px;font-weight:800;letter-spacing:.13em}.dashboard-stat strong{display:block;margin-top:7px;color:var(--text);font-size:27px}.dashboard-empty{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;border-radius:20px;text-align:center}.empty-icon{width:50px;height:50px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border-strong);border-radius:15px;font-size:11px;font-weight:900}.dashboard-empty h2{margin:17px 0 7px;color:var(--text);font-size:18px}.dashboard-empty p{max-width:440px;margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.65}.vm-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:15px}.modern-vm-card{padding:18px;border-radius:18px;transition:transform .18s ease,border-color .18s ease}.modern-vm-card:hover{transform:translateY(-2px);border-color:var(--border-strong)}.vm-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.vm-title-block{min-width:0}.vm-title-block h2{overflow:hidden;margin:0;color:var(--text);font-size:16px;text-overflow:ellipsis;white-space:nowrap}.vm-title-block span{display:block;margin-top:5px;color:var(--muted-2);font-size:10px}.vm-status{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.07em}.vm-status.running{color:#71e2a7;background:#46ca811a;border:1px solid rgba(70,202,129,.18)}.vm-status.stopped{color:#df9a9a;background:#d2515114;border:1px solid rgba(210,81,81,.16)}.vm-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.vm-metric{padding:10px;background:var(--surface-soft);border:1px solid var(--border-glass);border-radius:10px}.vm-metric span{display:block;color:var(--muted-2);font-size:8px;letter-spacing:.08em}.vm-metric strong{display:block;margin-top:4px;overflow:hidden;color:var(--text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.vm-card-actions{display:flex;flex-wrap:wrap;gap:6px}.vm-card-actions button{padding:8px 10px;border:1px solid transparent;border-radius:9px;font-size:10px;font-weight:750}.console-button{color:#e9f3ff;background:#3e77e7c7}.start-button{color:#dffbe8;background:#1f9752b3}.stop-button{color:#ffe6e6;background:#b13333b3}.restart-button{color:#fff0d6;background:#a76620b3}.vm-card-actions button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1)}.vm-card-actions button:disabled{opacity:.34}@media(max-width:820px){.modern-dashboard{padding:22px 17px 42px}.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-actions{width:100%}.dashboard-actions button{flex:1}}@media(max-width:580px){.dashboard-stats,.vm-card-grid{grid-template-columns:1fr}}html[data-theme=light] .modern-app,html[data-theme=light] .modern-page,html[data-theme=light] .admin-page,html[data-theme=light] .admin-page-header h1,html[data-theme=light] .assignment-vm-header h2,html[data-theme=light] .assignment-summary-value{color:var(--text)}html[data-theme=light] .admin-page-header p,html[data-theme=light] .assignment-vm-meta,html[data-theme=light] .assignment-empty,html[data-theme=light] .admin-loading{color:var(--muted)}.admin-page{min-height:100vh;padding:34px 42px 60px;background:transparent}.admin-page-header{padding:24px 27px;border-radius:20px}.admin-page-header h1{color:var(--text);letter-spacing:-.035em}.admin-page-header p{color:var(--muted)}.admin-refresh-button{margin:0;min-width:90px}.assignment-summary-card,.assignment-card{background:var(--surface);border-color:var(--border-glass);box-shadow:var(--shadow-glass);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}.assignment-summary-card{position:relative;overflow:hidden;padding:18px;border-radius:18px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.assignment-summary-card:before,.assignment-card:before,.modern-vm-card:before,.dashboard-stat:before{content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:inherit;background:linear-gradient(125deg,rgba(255,255,255,.16),transparent 28%,transparent 68%,rgba(92,224,197,.09));opacity:.55}.assignment-summary-card:hover{transform:translateY(-5px) perspective(900px) rotateX(1deg) rotateY(-1deg);border-color:var(--border-strong);box-shadow:0 30px 75px #0000002e}.assignment-summary-label{color:var(--muted-2)}.assignment-summary-value{color:var(--text)}.assignment-card{position:relative;overflow:hidden;padding:20px;border-radius:19px;transition:transform .3s cubic-bezier(.2,.75,.2,1),box-shadow .3s ease,border-color .3s ease;transform-style:preserve-3d}.assignment-card:hover{transform:translateY(-7px) perspective(1100px) rotateX(1.4deg) rotateY(-1.4deg);border-color:var(--border-strong);box-shadow:0 34px 85px #00000038}.assignment-vm-header,.assignment-section-label,.assignment-users,.assignment-controls{position:relative;z-index:1}.assignment-vm-header h2{color:var(--text)}.assignment-vm-meta,.assignment-section-label{color:var(--muted-2)}.assignment-user-chip{color:var(--text);background:var(--surface-soft);border-color:var(--border-glass);border-radius:999px;box-shadow:inset 0 1px #ffffff0a}.assignment-user-chip button:hover:not(:disabled){color:var(--text);background:var(--accent-soft)}.assignment-controls select{color:var(--text);background:var(--surface-soft);border-color:var(--border-glass);border-radius:11px}.assignment-controls select option{color:#182b33;background:#fff}html[data-theme=dark] .assignment-controls select option{color:#edf7f6;background:#14202b}.assignment-card .status-running{color:#34d399}.assignment-card .status-stopped{color:#fb7185}.modern-vm-card,.dashboard-stat{position:relative;overflow:hidden;transform-style:preserve-3d;transition:transform .32s cubic-bezier(.2,.75,.2,1),box-shadow .32s ease,border-color .32s ease}.modern-vm-card:after{content:"";position:absolute;top:-40%;left:-60%;width:45%;height:180%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:rotate(18deg);transition:left .65s ease;pointer-events:none}.modern-vm-card:hover{transform:translateY(-9px) perspective(1100px) rotateX(2deg) rotateY(-2deg) scale(1.012);border-color:var(--border-strong);box-shadow:0 38px 95px #0000003d,0 0 0 1px #5ce0c50f}.modern-vm-card:hover:after{left:125%}.dashboard-stat:hover{transform:translateY(-5px) perspective(900px) rotateX(1deg) rotateY(-1deg);border-color:var(--border-strong);box-shadow:0 30px 75px #0000002e}.vm-card-top,.vm-metrics,.vm-card-actions{position:relative;z-index:2}.vm-metric{background:var(--surface-soft);border-color:var(--border-glass);transition:transform .22s ease,background .22s ease}.modern-vm-card:hover .vm-metric{transform:translateZ(8px);background:#fff1}html[data-theme=light] .modern-vm-card:hover .vm-metric{background:#17a88e11}.profile-page{padding-bottom:70px}.profile-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 27px;margin-bottom:18px;border-radius:20px}.profile-hero h1{margin:7px 0 6px;color:var(--text);font-size:30px;letter-spacing:-.035em}.profile-hero-status{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:700}.profile-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:16px}.profile-identity-card{display:flex;flex-direction:column;align-items:center;padding:30px 22px;border-radius:22px;text-align:center}.profile-avatar-xl{width:118px;height:118px;margin-bottom:18px;border-radius:34px;font-size:34px;box-shadow:0 24px 60px #0003,inset 0 1px #ffffff40}.profile-identity-card h2{margin:0;color:var(--text);font-size:20px}.profile-identity-card p{margin:6px 0 10px;color:var(--muted);font-size:12px}.role-pill,.nav-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border-strong);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.role-pill{padding:6px 10px;margin-bottom:20px}.profile-photo-button{width:100%}.profile-identity-card small{margin-top:11px;color:var(--muted-2);font-size:9px}.profile-form-card,.security-card{border-radius:22px;padding:26px}.section-heading-row{margin-bottom:22px}.section-heading-row h2,.security-card h2{margin:7px 0 0;color:var(--text);font-size:19px}.form-section-title{margin:23px 0 12px;color:var(--accent);font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.form-field textarea,.form-field input{width:100%;color:var(--text);background:var(--surface-soft);border:1px solid var(--border-glass);border-radius:11px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.form-field textarea{resize:vertical;min-height:96px;padding:12px}.form-field input:focus,.form-field textarea:focus{border-color:var(--border-strong);box-shadow:0 0 0 4px var(--accent-soft)}.form-field input:disabled{opacity:.62;cursor:not-allowed}.security-card{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:25px}.security-card p{max-width:720px;margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.65}.security-actions,.notification-actions{display:flex;flex-wrap:wrap;gap:8px}.page-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.notification-list{display:grid;gap:14px}.notification-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:17px;padding:20px;border-radius:20px;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}.notification-card:hover{transform:translateY(-5px);border-color:var(--border-strong);box-shadow:0 30px 80px #0000002e}.notification-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--accent-soft);border:1px solid var(--border-strong)}.notification-title-row{display:flex;justify-content:space-between;gap:20px}.notification-title-row h2{margin:6px 0 0;color:var(--text);font-size:17px}.notification-title-row h2 span{color:var(--muted);font-size:12px;font-weight:500}.notification-title-row time,.notification-meta{color:var(--muted-2);font-size:10px}.notification-card p{margin:9px 0 7px;color:var(--muted);font-size:12px;line-height:1.6}.notification-actions{margin-top:16px}.notification-empty{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:22px;text-align:center}.notification-empty h2{margin:15px 0 5px;color:var(--text)}.notification-empty p{margin:0;color:var(--muted);font-size:12px}.nav-badge{min-width:20px;height:20px;padding:0 6px;margin-left:auto;color:#fff;background:#d94f65;border-color:#ffffff29;box-shadow:0 5px 18px #d94f6540}.sidebar-user{position:relative;width:calc(100% - 8px);border:1px solid var(--border-glass);cursor:pointer;text-align:left}.sidebar-user:hover{transform:translateY(-2px);border-color:var(--border-strong)}.sidebar-profile-arrow{margin-left:auto;color:var(--muted-2);font-size:18px}.mandatory-password-backdrop{z-index:500}.mandatory-password-modal{width:min(500px,100%);padding:32px;border-radius:25px}.mandatory-password-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:16px;border-radius:16px;background:var(--accent-soft);border:1px solid var(--border-strong);font-size:22px}.mandatory-password-modal h2{margin:8px 0 9px;color:var(--text);font-size:25px;letter-spacing:-.03em}.mandatory-password-modal>p{margin:0 0 20px;color:var(--muted);font-size:12px;line-height:1.7}.password-rule{margin-top:8px;color:var(--muted-2);font-size:10px}.mandatory-password-submit{width:100%;margin-top:19px}.temporary-password-value{margin:18px 0;padding:15px;color:var(--accent);background:var(--surface-soft);border:1px dashed var(--border-strong);border-radius:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;font-weight:800;letter-spacing:.06em;text-align:center}.temporary-password-modal{width:min(520px,100%)}@media(max-width:1000px){.profile-layout{grid-template-columns:1fr}.profile-identity-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;text-align:left;column-gap:18px}.profile-avatar-xl{grid-row:span 3;margin:0}.profile-identity-card h2,.profile-identity-card p,.profile-identity-card .role-pill,.profile-identity-card .profile-photo-button,.profile-identity-card .text-danger-button,.profile-identity-card small{grid-column:2}.security-card{grid-column:auto;align-items:flex-start;flex-direction:column}}@media(max-width:760px){.admin-page,.modern-dashboard,.modern-page{padding:22px 17px 42px}.profile-hero,.notification-title-row{align-items:flex-start;flex-direction:column}.assignment-list{grid-template-columns:1fr}.profile-identity-card{display:flex;text-align:center}.security-actions{width:100%}.security-actions button{flex:1}.notification-card{grid-template-columns:1fr}}.status-password{color:#b98222;background:#f59e0b1a;border-color:#f59e0b33}html[data-theme=dark] .status-password{color:#fbbf65}.login-virtual-lab{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;background:#06101a}.login-background-image,.login-background-overlay{position:absolute;inset:0;pointer-events:none}.login-background-image{z-index:-3;background-image:url(/assets/aiotics-virtual-lab-login.png);background-position:center;background-repeat:no-repeat;background-size:cover;transform:scale(1.015);animation:loginBackgroundDrift 18s ease-in-out infinite alternate}.login-background-overlay{z-index:-2;background:linear-gradient(90deg,#030c14c7,#030c147a 42%,#030c144d),linear-gradient(180deg,#020a1247,#020a1294),radial-gradient(circle at 72% 45%,rgba(0,190,255,.16),transparent 34%)}.login-virtual-lab .login-decoration{z-index:-1}.login-virtual-lab .login-card{position:relative;width:min(470px,calc(100vw - 40px));background:#07111b9e;border:1px solid rgba(145,220,255,.22);box-shadow:0 32px 100px #0000008c,inset 0 1px #ffffff1a,0 0 60px #009dff14;backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}.login-virtual-lab .login-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 35%,transparent 70%,rgba(44,211,255,.05))}.login-virtual-lab .brand-lockup,.login-virtual-lab .login-copy,.login-virtual-lab form,.login-virtual-lab .error,.login-virtual-lab .login-footer{position:relative;z-index:1}.login-virtual-lab .login-field input{background:#040d16a8;border-color:#96d7f033;box-shadow:inset 0 1px #ffffff09}.login-virtual-lab .login-field input:focus{border-color:#36d3ffbf;box-shadow:0 0 0 3px #36d3ff1a,0 0 30px #36d3ff14}.login-virtual-lab .login-submit{background:linear-gradient(135deg,#48d8c2,#26bde6);box-shadow:0 12px 30px #15beda38}.login-virtual-lab .login-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 38px #15beda4d}@keyframes loginBackgroundDrift{0%{transform:scale(1.015) translate3d(-.4%,-.2%,0)}to{transform:scale(1.055) translate3d(.5%,.25%,0)}}.intro-video-backdrop{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:20px;background:#02080d;animation:introBackdropIn .35s ease both}.intro-video-shell{position:relative;width:min(1440px,100%);height:min(810px,calc(100vh - 40px));overflow:hidden;border:1px solid rgba(91,207,255,.28);border-radius:26px;background:#02080d;box-shadow:0 40px 120px #000000b8,0 0 80px #14acf01f,inset 0 1px #ffffff1a}.intro-video,.intro-video-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.intro-video-fallback{background:center / cover no-repeat url(/assets/aiotics-virtual-lab-login.png)}.intro-video-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#0000001a,#0000000f 35%,#000000b8),radial-gradient(circle at 50% 42%,transparent 15%,rgba(0,0,0,.22) 100%);pointer-events:none}.intro-video-content{position:absolute;left:7%;bottom:11%;max-width:620px;color:#fff;text-shadow:0 4px 25px rgba(0,0,0,.55);animation:introContentIn .8s .15s ease both}.intro-video-kicker{display:inline-block;margin-bottom:10px;color:#66e5ff;font-size:11px;font-weight:800;letter-spacing:.22em}.intro-video-content h2{margin:0;font-size:clamp(42px,6vw,84px);line-height:.95;letter-spacing:-.045em}.intro-video-content p{margin:18px 0 22px;color:#ffffffc7;font-size:clamp(14px,1.5vw,19px)}.intro-video-progress{width:min(420px,70vw);height:3px;overflow:hidden;border-radius:99px;background:#fff3}.intro-video-progress span{display:block;width:35%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#45d7c1,#42c8ff);animation:introProgress 6s linear forwards}.intro-video-skip{position:absolute;top:24px;right:24px;z-index:2;padding:10px 14px;color:#ffffffd6;background:#030c147a;border:1px solid rgba(255,255,255,.18);border-radius:999px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.intro-video-skip:hover{color:#fff;background:#030c14b8;border-color:#5fdcff73;transform:translateY(-1px)}@keyframes introBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes introContentIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes introProgress{0%{width:0%}to{width:100%}}@media(max-width:700px){.login-virtual-lab .login-card{width:min(440px,calc(100vw - 28px));padding:25px}.intro-video-backdrop{padding:0}.intro-video-shell{width:100%;height:100%;border:0;border-radius:0}.intro-video-content{left:24px;right:24px;bottom:80px}.intro-video-skip{top:18px;right:18px}}.aiotics-logo-glow{position:relative;width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;isolation:isolate}.aiotics-logo-glow:before{content:"";position:absolute;inset:3px;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(71,232,204,.45),transparent 68%);filter:blur(8px);animation:aioticsLogoGlow 7s ease-in-out infinite}.aiotics-logo-glow:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;box-shadow:0 0 10px #37dcc338,0 0 24px #4191ff29;animation:aioticsLogoRing 7s ease-in-out infinite}.aiotics-logo-glow img{width:100%;height:100%;display:block;object-fit:contain;border-radius:50%;filter:drop-shadow(0 0 5px rgba(85,215,255,.38));animation:aioticsLogoImage 7s ease-in-out infinite}.sidebar-aiotics-logo{width:58px;height:58px;flex-basis:58px}.sidebar-brand-copy .brand{color:var(--text)}.sidebar-brand-copy .brand span{color:var(--accent)}.login-brand-logo{align-items:center}.auth-loading-screen{min-height:100vh;display:grid;place-items:center;align-content:center;gap:18px;background:var(--bg);color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.18em}.auth-loading-logo{width:82px;height:82px}@keyframes aioticsLogoGlow{0%,to{background:radial-gradient(circle,rgba(45,224,188,.48),transparent 68%)}25%{background:radial-gradient(circle,rgba(71,153,255,.52),transparent 68%)}50%{background:radial-gradient(circle,rgba(164,90,255,.5),transparent 68%)}75%{background:radial-gradient(circle,rgba(255,116,190,.44),transparent 68%)}}@keyframes aioticsLogoRing{0%,to{box-shadow:0 0 10px #2de0bc42,0 0 25px #2de0bc1a}25%{box-shadow:0 0 12px #4799ff4d,0 0 28px #4799ff1f}50%{box-shadow:0 0 12px #a45aff4d,0 0 28px #a45aff1f}75%{box-shadow:0 0 12px #ff74be47,0 0 28px #ff74be1c}}@keyframes aioticsLogoImage{0%,to{filter:drop-shadow(0 0 5px rgba(45,224,188,.38))}25%{filter:drop-shadow(0 0 6px rgba(71,153,255,.46))}50%{filter:drop-shadow(0 0 7px rgba(164,90,255,.42))}75%{filter:drop-shadow(0 0 6px rgba(255,116,190,.4))}}@media(prefers-reduced-motion:reduce){.aiotics-logo-glow:before,.aiotics-logo-glow:after,.aiotics-logo-glow img{animation:none}}
