:root{--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cbd5e1;--color-slate-400:#94a3b8;--color-slate-500:#64748b;--color-slate-600:#475569;--color-slate-700:#334155;--color-slate-800:#1e293b;--color-slate-900:#0f172a;--color-red-50:#fef2f2;--color-red-600:#dc2626;--bg-app:var(--color-slate-50);--bg-card:#fff;--border-subtle:var(--color-slate-200);--text-main:var(--color-slate-900);--text-secondary:var(--color-slate-500);--focus-ring:#2563eb33;--header-height:72px;--sidebar-width:256px;--sidebar-collapsed-width:72px;--container-max-width:1600px}.app-sidebar *,.modal-overlay *,.odoo-environments *{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background-color:#f8fafc!important;background-color:var(--bg-app)!important;color:#0f172a!important;color:var(--text-main)!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif!important;font-family:var(--font-sans)!important;font-size:14px;line-height:1.5}.app-content{background:radial-gradient(at 0 0,#3b82f60d 0,#0000 50%),radial-gradient(at 100% 0,#8b5cf60d 0,#0000 50%)!important;min-height:100vh}.app-sidebar{background:#fff!important;border-right:1px solid #e2e8f0!important;border-right:1px solid var(--border-subtle)!important;left:0;position:fixed;width:256px;width:var(--sidebar-width)}.app-sidebar.collapsed{width:72px;width:var(--sidebar-collapsed-width)}.sidebar-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-subtle);height:72px;height:var(--header-height);padding:0 20px}.brand-icon{border-radius:8px;height:32px;overflow:hidden;width:32px}.sidebar-item,.sidebar-menu-link{align-items:center;background:#0000;border:none;border-radius:6px;color:#475569!important;color:var(--color-slate-600)!important;cursor:pointer;display:flex!important;font-size:14px;font-weight:500;gap:12px;margin:4px 12px;padding:10px 16px;transition:all .2s;width:auto}.sidebar-item:hover,.sidebar-menu-link:hover{background:#f1f5f9!important;background:var(--color-slate-100)!important;color:#0f172a!important;color:var(--text-main)!important}.sidebar-item.active,.sidebar-menu-link.active{background:#eff6ff!important;background:var(--color-primary-50)!important;color:#1d4ed8!important;color:var(--color-primary-700)!important}#root .odoo-environments{margin:0 auto;max-width:1600px!important;max-width:var(--container-max-width)!important;padding:32px 40px}.odoo-env-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:32px}.odoo-env-title h2{color:#0f172a;color:var(--color-slate-900);font-size:24px;font-weight:700;letter-spacing:-.025em;margin:0 0 4px}.odoo-env-count{color:#64748b;color:var(--color-slate-500);font-size:14px;font-weight:400}.btn-add-environment,.btn-primary{align-items:center!important;background-color:#2563eb!important;background-color:var(--color-primary-600)!important;border:1px solid #0000!important;border-radius:8px!important;box-shadow:0 1px 2px #0000000d!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;font-size:14px!important;font-weight:500!important;gap:8px!important;padding:10px 18px!important;transition:all .2s}.btn-add-environment:hover,.btn-primary:hover{background-color:#1d4ed8!important;background-color:var(--color-primary-700)!important}.odoo-env-grid{grid-gap:24px!important;display:grid!important;gap:24px!important;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))!important;width:100%!important}.odoo-env-card{background:#fff!important;border:1px solid #e2e8f0!important;border:1px solid var(--border-subtle)!important;border-radius:12px!important;display:flex;flex-direction:column;overflow:hidden;padding:24px!important;position:relative;transition:box-shadow .2s,transform .2s}.odoo-env-card:hover{border-color:#cbd5e1!important;border-color:var(--color-slate-300)!important;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d!important;transform:translateY(-2px)}.odoo-env-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.odoo-env-card-title h3{color:#0f172a;color:var(--color-slate-900);font-size:16px;font-weight:600;margin:0}.odoo-env-card-actions{display:flex;gap:4px}.btn-icon{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;color:var(--color-slate-400);cursor:pointer;display:flex;height:28px;justify-content:center;transition:color .2s;width:28px}.btn-icon:hover{background:#f1f5f9;background:var(--color-slate-100);color:#334155;color:var(--color-slate-700)}.btn-icon-danger:hover{background:#fef2f2;background:var(--color-red-50);color:#dc2626;color:var(--color-red-600)}.odoo-env-card-info{margin-bottom:24px}.odoo-env-info-item{align-items:baseline;color:#64748b;color:var(--color-slate-500);display:flex;font-size:13px;gap:8px}.odoo-env-link{color:#2563eb!important;color:var(--color-primary-600)!important;font-weight:500;text-decoration:none}.odoo-env-link:hover{text-decoration:underline}.odoo-env-card-quick-actions{grid-gap:12px;display:grid!important;gap:12px;grid-template-columns:1fr 1fr;margin-top:auto}.btn-quick-action{align-items:center;background:#fff!important;border:1px solid #e2e8f0!important;border:1px solid var(--border-subtle)!important;border-radius:8px;color:#334155!important;color:var(--color-slate-700)!important;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:10px;transition:all .2s}.btn-quick-action:hover{background:#f8fafc!important;background:var(--color-slate-50)!important;border-color:#cbd5e1!important;border-color:var(--color-slate-300)!important;color:#0f172a!important;color:var(--color-slate-900)!important}.btn-quick-update:hover{background:#eff6ff!important;background:var(--color-primary-50)!important;border-color:#dbeafe!important;border-color:var(--color-primary-100)!important;color:#2563eb!important;color:var(--color-primary-600)!important}.btn-quick-security:hover{background:#fff7ed!important;border-color:#ffedd5!important;color:#ea580c!important}.btn-quick-test:hover{background:#f0fdf4!important;border-color:#dcfce7!important;color:#16a34a!important}.btn-quick-logs:hover{background:#f5f3ff!important;border-color:#ede9fe!important;color:#7c3aed!important}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a66;bottom:0;left:0;padding:20px;right:0;top:0;z-index:100}.modal-content{animation:modalIn .2s ease-out;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-slate-200);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-subtle);padding:20px 24px}.modal-header h2{font-size:18px;font-weight:600;margin:0}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#334155;color:var(--color-slate-700);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.form-input,.form-select{border:1px solid #cbd5e1;border:1px solid var(--color-slate-300);border-radius:6px;color:#0f172a;color:var(--color-slate-900);font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus,.form-select:focus{border-color:#3b82f6;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #2563eb33;box-shadow:0 0 0 3px var(--focus-ring);outline:none}.modal-footer{background:#f8fafc;background:var(--color-slate-50);border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-subtle);gap:12px!important;padding:20px 24px}.btn-secondary{background:#fff!important;border:1px solid #cbd5e1!important;border:1px solid var(--color-slate-300)!important;border-radius:8px!important;color:#334155!important;color:var(--color-slate-700)!important;cursor:pointer;font-weight:500!important;padding:10px 16px!important}.btn-secondary:hover{background:#f8fafc!important;background:var(--color-slate-50)!important;color:#0f172a!important;color:var(--color-slate-900)!important}@media (max-width:1024px){#root .odoo-environments{padding:24px}}@media (max-width:640px){#root .odoo-environments{padding:16px}.odoo-env-header{align-items:flex-start;flex-direction:column;gap:16px}.btn-add-environment{justify-content:center;width:100%}.odoo-env-grid{grid-template-columns:1fr!important}.modal-content{margin:16px;max-height:90vh;overflow-y:auto}}:root,[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:#1e293b;--bg-login-card:#1e293b;--border-color:#ffffff1a;--brand-primary:#3b82f6;--brand-secondary:#2563eb;--brand-hover:#1d4ed8;--accent-success:#10b981;--accent-warning:#f59e0b;--accent-error:#ef4444;--accent-info:#06b6d4;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-dim:#64748b;--input-bg:#1e293b;--input-border:#ffffff1a;--input-focus-border:#3b82f6;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0000004d;--shadow-lg:0 10px 15px #0000004d;--shadow-xl:0 20px 25px #0000004d;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-card:#fff;--bg-login-card:#fff;--border-color:#00000014;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-dim:#94a3b8;--input-bg:#fff;--input-border:#0000001a;--input-focus-border:#3b82f6;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000014;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #0000001f}*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f172a;background:var(--bg-primary);color:#f8fafc;color:var(--text-primary);font-family:Inter,Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.6;overflow-x:hidden}body{background:radial-gradient(ellipse 80% 50% at 50% -20%,#00b8a926,#0000),radial-gradient(ellipse 60% 80% at 0 50%,#00d4c41a,#0000),radial-gradient(ellipse 60% 80% at 100% 50%,#1ab59f1a,#0000),#0f172a;background:radial-gradient(ellipse 80% 50% at 50% -20%,#00b8a926,#0000),radial-gradient(ellipse 60% 80% at 0 50%,#00d4c41a,#0000),radial-gradient(ellipse 60% 80% at 100% 50%,#1ab59f1a,#0000),var(--bg-primary);background-attachment:fixed;min-height:100vh;position:relative;transition:background .3s ease,color .3s ease}body:before{background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#ffffff05 0,#ffffff05 4px),repeating-linear-gradient(90deg,#0000,#0000 2px,#ffffff05 0,#ffffff05 4px);content:"";inset:0;mix-blend-mode:overlay;opacity:.4;pointer-events:none;position:fixed;z-index:1}[data-theme=light] body:before{background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,rgba(0,0,0,.015) 0,rgba(0,0,0,.015) 4px),repeating-linear-gradient(90deg,#0000,#0000 2px,rgba(0,0,0,.015) 0,rgba(0,0,0,.015) 4px);opacity:.3}[data-theme=light] body{background:radial-gradient(ellipse 80% 50% at 50% -20%,#00b8a914,#0000),radial-gradient(ellipse 60% 80% at 0 50%,#00d4c40f,#0000),radial-gradient(ellipse 60% 80% at 100% 50%,#1ab59f0d,#0000),linear-gradient(180deg,#fffc,#f8fafce6),#0f172a;background:radial-gradient(ellipse 80% 50% at 50% -20%,#00b8a914,#0000),radial-gradient(ellipse 60% 80% at 0 50%,#00d4c40f,#0000),radial-gradient(ellipse 60% 80% at 100% 50%,#1ab59f0d,#0000),linear-gradient(180deg,#fffc 0,#f8fafce6 100%),var(--bg-primary)}h1{font-size:clamp(26px,5vw,36px);font-weight:800;letter-spacing:-.02em;line-height:1.2}h1,h2{color:#f8fafc;color:var(--text-primary);font-family:Inter,Poppins,sans-serif}h2{font-size:clamp(22px,4vw,28px);font-weight:700;letter-spacing:-.01em;line-height:1.3}button,input,label,p{font-family:Inter,Poppins,sans-serif;font-size:15px;line-height:1.5}:focus{outline:none}:focus-visible{border-radius:6px;border-radius:var(--radius-sm);outline:2px solid #3b82f6;outline:2px solid var(--brand-primary);outline-offset:2px}::selection{background:#3b82f64d;color:#f8fafc;color:var(--text-primary);text-shadow:none}[data-theme=light] ::selection{background:#3b82f640;color:#0f172a}[data-theme=light] ::-moz-selection{background:#3b82f640;color:#0f172a}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:#ffffff08;border-radius:6px;margin:4px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3b82f6,#2563eb);background:linear-gradient(180deg,var(--brand-primary) 0,var(--brand-secondary) 100%);background-clip:padding-box;border:2px solid #0000;border-radius:6px;box-shadow:inset 0 1px 2px #fff3;-webkit-transition:all .3s ease;transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#2563eb,#1d4ed8);background:linear-gradient(180deg,var(--brand-secondary) 0,var(--brand-hover) 100%);box-shadow:inset 0 1px 2px #ffffff4d,0 0 8px #3b82f666}::-webkit-scrollbar-thumb:active{background:#1d4ed8;background:var(--brand-hover)}[data-theme=light] ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3b82f699,#2563ebb3);box-shadow:inset 0 1px 2px #ffffff80}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#3b82f6cc,#2563ebe6);box-shadow:inset 0 1px 2px #fff9,0 0 8px #3b82f64d}.app-layout{display:flex;height:100vh;max-width:100vw;overflow:hidden;position:relative}.app-sidebar{align-self:flex-start;background:var(--bg-card);border-right:1px solid #ffffff1a;border-right:1px solid var(--border-color);box-shadow:6px 0 32px #00000014,inset 2px 0 0 #ffffff0d;min-width:270px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);width:270px;z-index:100}.app-sidebar:before{background:linear-gradient(180deg,#0000,#3b82f633 20%,#8b5cf633 50%,#3b82f633 80%,#0000);content:"";height:100%;opacity:.5;pointer-events:none;position:absolute;right:0;top:0;width:1px}.sidebar-header{background:linear-gradient(180deg,#3b82f608,#0000);border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border-color);padding:20px;position:relative}.sidebar-header:after{background:linear-gradient(90deg,#0000,#3b82f6,#8b5cf699,#0000);background:linear-gradient(90deg,#0000,var(--brand-primary),#8b5cf699,#0000);bottom:-1px;box-shadow:0 0 12px #3b82f680;content:"";height:2px;left:20px;opacity:.5;position:absolute;right:20px}.sidebar-brand{gap:12px;gap:var(--space-sm);margin-bottom:16px;margin-bottom:var(--space-md)}.brand-icon{background:linear-gradient(135deg,#fffffffa,#f8fafcf2);border-radius:14px;box-shadow:0 8px 16px #0000001f,0 4px 8px #3b82f626,inset 0 1px 0 #fff;height:52px;overflow:visible;padding:6px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:52px}.brand-icon-glow{background:linear-gradient(135deg,#3b82f666,#8b5cf666);border-radius:16px;filter:blur(12px);inset:-4px;opacity:0;position:absolute;transition:opacity .4s ease;z-index:-1}.sidebar-brand:hover .brand-icon-glow{animation:pulse-glow 2s ease-in-out infinite;opacity:1}.sidebar-brand:hover .brand-icon:after{opacity:1}.sidebar-brand:hover .brand-icon{box-shadow:0 12px 24px #0003,0 6px 12px #3b82f64d,inset 0 2px 0 #fff;transform:translateY(-4px) scale(1.08) rotate(-2deg)}.brand-logo{height:100%;object-fit:contain;width:100%}.brand-svg{color:#fff;height:28px;width:28px}.brand-text{flex:1 1}.brand-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f8fafc,#3b82f6);background:linear-gradient(135deg,var(--text-primary) 0,var(--brand-primary) 100%);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:18px;letter-spacing:-.02em;transition:all .3s ease}.sidebar-brand:hover .brand-title{letter-spacing:-.015em}.brand-subtitle{color:var(--text-muted);font-weight:600;letter-spacing:.02em;margin:4px 0 0;opacity:.7}.collapse-btn{background:#3b82f614;border:1px solid #3b82f626;border-radius:10px;color:#cbd5e1;color:var(--text-secondary);overflow:hidden;padding:10px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.collapse-btn:before{background:linear-gradient(135deg,#3b82f633,#8b5cf633);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.collapse-btn:hover{background:#3b82f6;background:var(--brand-primary);border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 4px 12px #3b82f64d;color:#fff;transform:scale(1.05)}.collapse-btn:hover:before{opacity:1}.collapse-btn:active{transform:scale(.95)}.sidebar-nav{display:flex;flex-direction:column;gap:32px;gap:var(--space-xl);min-height:0;overflow-x:hidden;padding:16px 0;padding:var(--space-md) 0}.sidebar-section{padding:0 16px;padding:0 var(--space-md)}.sidebar-section:not(:first-child){padding-top:24px;padding-top:var(--space-lg);position:relative}.sidebar-section:not(:first-child):before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:1px;left:28px;position:absolute;right:28px;top:0}.sidebar-section-title{align-items:center;color:#64748b;color:var(--text-dim);display:flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:.12em;margin:0 0 12px 12px;position:relative;text-transform:uppercase}.section-title-dot{animation:dot-pulse 2s ease-in-out infinite;background:#3b82f6;background:var(--brand-primary);border-radius:50%;box-shadow:0 0 8px #3b82f699;height:4px;width:4px}@keyframes dot-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.sidebar-menu{display:flex;flex-direction:column;gap:4px}.sidebar-item{border:none;border-radius:12px;color:#94a3b8;color:var(--text-muted);font-size:15px;font-weight:600;overflow:hidden;padding:12px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.sidebar-item-content{flex:1 1;gap:12px;z-index:1}.sidebar-item-indicator{background:linear-gradient(180deg,#3b82f6,#8b5cf6);background:linear-gradient(180deg,var(--brand-primary),#8b5cf6);border-radius:0 3px 3px 0;height:0;left:0;position:absolute;top:50%;transform:translateY(-50%);transition:height .3s cubic-bezier(.4,0,.2,1);width:3px}.sidebar-item-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#3b82f614;border-radius:10px;height:40px;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.sidebar-item-icon:before{background:linear-gradient(135deg,#3b82f64d,#8b5cf64d);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.sidebar-item-icon svg{color:#94a3b8;color:var(--text-muted);height:20px;transition:all .3s ease;width:20px;z-index:1}.sidebar-item-label{flex:1 1}.sidebar-item:hover:not(.active){background:#3b82f614;color:#f8fafc;color:var(--text-primary);transform:translateX(4px)}.sidebar-item:hover:not(.active) .sidebar-item-indicator{height:24px}.sidebar-item:hover:not(.active) .sidebar-item-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-secondary) 100%);box-shadow:0 4px 12px #3b82f64d;transform:scale(1.05) rotate(-3deg)}.sidebar-item:hover:not(.active) .sidebar-item-icon:before{opacity:1}.sidebar-item:hover:not(.active) .sidebar-item-icon svg{color:#fff;transform:scale(1.1)}.sidebar-item.active{background:linear-gradient(135deg,#3b82f626,#8b5cf61a);box-shadow:inset 0 1px 0 #ffffff1a,0 2px 8px #3b82f633;color:#fff}.sidebar-item.active:before{background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-secondary) 100%);content:"";inset:0;opacity:1;position:absolute;z-index:0}.sidebar-item.active .sidebar-item-indicator{box-shadow:0 0 12px #3b82f699;height:32px}.sidebar-item.active .sidebar-item-icon{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff40;box-shadow:0 4px 12px #0003,inset 0 1px 0 #ffffff4d}.sidebar-item.active .sidebar-item-icon svg{color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.sidebar-badge{animation:badge-pulse 3s ease-in-out infinite;background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));border-radius:8px;box-shadow:0 2px 8px #3b82f666,inset 0 1px 0 #ffffff4d;font-size:12px;min-width:24px;padding:4px 10px;z-index:1}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{box-shadow:0 4px 12px #3b82f699,inset 0 1px 0 #fff6;transform:scale(1.05)}}.sidebar-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000001a;border-top:1px solid #ffffff14;margin-top:auto;padding:16px;position:relative}.sidebar-footer:before{background:linear-gradient(90deg,#0000,#3b82f64d,#0000);content:"";height:1px;left:16px;position:absolute;right:16px;top:0}.user-profile{background:linear-gradient(135deg,#3b82f614,#8b5cf60d);border:1px solid #3b82f626;cursor:pointer;gap:12px;margin-bottom:12px;padding:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.user-profile:hover{background:linear-gradient(135deg,#3b82f61f,#8b5cf614);border-color:#3b82f64d;box-shadow:0 4px 12px #3b82f633;transform:translateY(-2px)}.user-avatar{background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));border-radius:12px;box-shadow:0 4px 12px #3b82f64d,inset 0 1px 0 #ffffff4d;color:#fff;flex-shrink:0}.avatar-text{z-index:1}.avatar-status{animation:status-pulse 2s ease-in-out infinite;background:#10b981;border:2.5px solid #1e293b;border:2.5px solid var(--bg-card);border-radius:50%;bottom:-2px;box-shadow:0 0 8px #10b98199;height:14px;position:absolute;right:-2px;width:14px}@keyframes status-pulse{0%,to{box-shadow:0 0 8px #10b98199}50%{box-shadow:0 0 16px #10b981}}.user-details{flex:1 1;min-width:0}.user-name{color:var(--text-primary);font-size:14px;letter-spacing:-.01em}.user-role{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.05em;margin:2px 0 0;opacity:.8;text-transform:uppercase}.sidebar-actions{gap:8px}.sidebar-sessions{align-items:center;background:#3b82f614;border:1px solid #3b82f633;border-radius:10px;color:#3b82f6;color:var(--brand-primary);cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:700;gap:8px;justify-content:center;overflow:hidden;padding:12px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-sessions:before{background:linear-gradient(135deg,#3b82f633,#8b5cf633);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.sidebar-sessions:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#0000;box-shadow:0 6px 16px #3b82f666;color:#fff;transform:translateY(-2px)}.sidebar-sessions:hover:before{opacity:1}.sidebar-sessions svg{height:18px;width:18px;z-index:1}.sidebar-logout{align-items:center;background:#ef444414;border:1px solid #ef444433;border-radius:10px;color:#ef4444;color:var(--accent-error);cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:700;gap:8px;justify-content:center;overflow:hidden;padding:12px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-logout:before{background:linear-gradient(135deg,#ef444433,#dc262633);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.sidebar-logout:hover{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#0000;box-shadow:0 6px 16px #ef444466;color:#fff;transform:translateY(-2px)}.sidebar-logout:hover:before{opacity:1}.sidebar-logout svg{height:18px;width:18px;z-index:1}.app-sidebar.collapsed .brand-text,.app-sidebar.collapsed .sidebar-badge,.app-sidebar.collapsed .sidebar-item-label,.app-sidebar.collapsed .sidebar-logout span,.app-sidebar.collapsed .sidebar-section-title,.app-sidebar.collapsed .sidebar-sessions span,.app-sidebar.collapsed .user-details{opacity:0;overflow:hidden;visibility:hidden;width:0}.app-sidebar.collapsed .sidebar-item-content{justify-content:center}.app-sidebar.collapsed .sidebar-item-icon{margin:0}.app-sidebar.collapsed:hover{box-shadow:8px 0 32px #0000001a,inset 2px 0 0 #3b82f61a;width:280px}.app-sidebar.collapsed:hover .brand-text,.app-sidebar.collapsed:hover .sidebar-badge,.app-sidebar.collapsed:hover .sidebar-item-label,.app-sidebar.collapsed:hover .sidebar-logout span,.app-sidebar.collapsed:hover .sidebar-section-title,.app-sidebar.collapsed:hover .sidebar-sessions span,.app-sidebar.collapsed:hover .user-details{animation:fadeInRight .3s ease-out;opacity:1;visibility:visible;width:auto}@keyframes fadeInRight{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.main-content{background:#0f172a;background:var(--bg-primary);flex:1 1;height:100vh;max-width:100%;overflow-x:hidden;overflow-y:auto;padding:48px;padding:var(--space-2xl);padding-bottom:100px;position:relative;width:100%}.main-content:before{background:linear-gradient(180deg,#3b82f608,#0000);content:"";height:200px;pointer-events:none;position:fixed;right:0;top:0;width:100%;z-index:0}[data-theme=light] .main-content:before{background:linear-gradient(180deg,#3b82f605,#0000)}.side-container{animation:fadeIn .4s ease-out;margin:0 auto;max-width:1400px;position:relative;width:100%;z-index:1}.side-container.login-screen{height:100vh;margin:0;max-width:none;padding:0;width:100%}.card{background:#1e293b;background:var(--bg-card);border:1px solid #ffffff1a;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014,inset 0 0 0 1px #ffffff08;padding:24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.card:before{background:linear-gradient(90deg,#0000,#3b82f64d,#0000);content:"";height:1px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.card:hover:before{opacity:1}.card.side-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.card.side-card:hover{border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 4px 12px #0000001f,0 0 0 1px #3b82f6,0 0 0 3px #3b82f61a,inset 0 1px 0 #ffffff0d;box-shadow:0 4px 12px #0000001f,0 0 0 1px var(--brand-primary),0 0 0 3px #3b82f61a,inset 0 1px 0 #ffffff0d;transform:translateY(-2px)}.title{-webkit-text-fill-color:#0000;align-items:center;background:linear-gradient(135deg,#fff,#3b82f6 60%,#8b5cf6);background:linear-gradient(135deg,#fff 0,var(--brand-primary) 60%,#8b5cf6 100%);-webkit-background-clip:text;background-clip:text;display:flex;font-size:clamp(24px,4vw,32px);font-weight:800;gap:14px;letter-spacing:-.03em;margin-bottom:20px;padding-bottom:12px;position:relative}.title:after{animation:title-accent-pulse 3s ease-in-out infinite;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#0000);background:linear-gradient(90deg,var(--brand-primary),#8b5cf6,#0000);border-radius:2px;bottom:0;content:"";height:3px;left:0;opacity:.8;position:absolute;width:60px}@keyframes title-accent-pulse{0%,to{opacity:.8;width:60px}50%{opacity:1;width:80px}}[data-theme=light] .title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0f172a,#3b82f6 60%,#8b5cf6);-webkit-background-clip:text;background-clip:text}.subtitle{font-size:15px;letter-spacing:-.01em;margin:-8px 0 24px;margin:-8px 0 var(--space-lg) 0;opacity:.85}[data-theme=light] .subtitle{opacity:.9}.title-icon{animation:icon-float 3s ease-in-out infinite;color:#3b82f6;color:var(--brand-primary);filter:drop-shadow(0 0 16px #3b82f6) drop-shadow(0 4px 8px rgba(0,0,0,.3));filter:drop-shadow(0 0 16px var(--brand-primary)) drop-shadow(0 4px 8px rgba(0,0,0,.3));flex-shrink:0}@keyframes icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.screen-actions{gap:var(--space-xs)}.screen-actions,.screen-log-btn{align-items:center;display:inline-flex}.screen-log-btn{background:#1e293b;background:var(--bg-secondary);border:1.5px solid #1ab59f40;border-radius:12px;color:#e2e8f0cc;cursor:pointer;font-size:14px;font-weight:600;gap:6px;padding:9px 16px;transition:all .25s cubic-bezier(.4,0,.2,1)}.screen-log-btn:hover{background:#334155;background:var(--bg-tertiary);border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);color:#3b82f6;color:var(--brand-primary);transform:translateY(-1px)}.screen-log-btn svg{transition:transform .2s ease}.screen-log-btn:hover svg{transform:scale(1.1)}.header-log-badge{align-items:center;animation:pulse-badge 2s ease-in-out infinite;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:10px;box-shadow:0 2px 8px #ef444466;color:#fff;display:inline-flex;font-size:11px;font-weight:700;justify-content:center;margin-left:4px;min-width:22px;padding:3px 8px}.subtitle{color:#cbd5e1;color:var(--text-secondary);font-size:14px;font-weight:400;line-height:1.6;margin-bottom:20px}.input-container{margin-bottom:16px;position:relative}.input-icon{color:#94a3b8;color:var(--text-muted);left:16px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.input-container input,.input-container textarea{background:#1e293b;background:var(--input-bg);border:1px solid #ffffff1a;border:1px solid var(--input-border);border-radius:8px;border-radius:var(--radius-md);color:#f8fafc;color:var(--text-primary);font-size:14px;font-weight:400;outline:none;padding:12px 16px;transition:all .2s ease;width:100%}.input-container:has(.input-icon) input,.input-container:has(.input-icon) textarea{padding-left:44px}.input-container input::placeholder,.input-container textarea::placeholder{color:#64748b;color:var(--text-dim)}.input-container input:focus,.input-container textarea:focus{background:#1e293b;background:var(--input-bg);border-color:#3b82f6;border-color:var(--input-focus-border);box-shadow:0 0 0 3px #3b82f61a}.input-container label{background:#0000;color:#94a3b8;color:var(--text-muted);font-size:14px;left:16px;padding:0 4px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease}.input-container:has(.input-icon) label{left:44px}.input-container input:focus+label,.input-container input:not(:placeholder-shown)+label,.input-container textarea:focus+label,.input-container textarea:not(:placeholder-shown)+label{background:#1e293b;background:var(--bg-card);border-radius:6px;border-radius:var(--radius-sm);color:#3b82f6;color:var(--brand-primary);font-size:12px;font-weight:600;left:12px;padding:2px 6px;top:0}.input-container:has(.input-icon) input:focus+label,.input-container:has(.input-icon) input:not(:placeholder-shown)+label,.input-container:has(.input-icon) textarea:focus+label,.input-container:has(.input-icon) textarea:not(:placeholder-shown)+label{left:40px}.autocomplete-dropdown{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.autocomplete-dropdown::-webkit-scrollbar{width:8px}.autocomplete-dropdown::-webkit-scrollbar-track{background:#1e293b;background:var(--bg-secondary);border-radius:4px}.autocomplete-dropdown::-webkit-scrollbar-thumb{background:#ffffff1a;background:var(--border-color);border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}.autocomplete-dropdown::-webkit-scrollbar-thumb:hover{background:#64748b;background:var(--text-dim)}.autocomplete-item{transition:all .15s ease}.autocomplete-item:hover{transform:translateX(2px)}.autocomplete-item:active{transform:translateX(0) scale(.98)}.primary-btn,.submit-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-secondary) 100%);border:none;border-radius:8px;border-radius:var(--radius-md);box-shadow:0 2px 8px #3b82f64d,0 1px 4px #2563eb33,inset 0 1px 0 #fff3;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;overflow:hidden;padding:11px 22px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.primary-btn:before,.submit-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.primary-btn:hover:before,.submit-btn:hover:before{left:100%}.primary-btn:hover,.submit-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);background:linear-gradient(135deg,var(--brand-secondary) 0,var(--brand-hover) 100%);box-shadow:0 4px 16px #3b82f666,0 2px 8px #2563eb4d,inset 0 1px 0 #ffffff4d;transform:translateY(-2px)}.primary-btn:active,.submit-btn:active{box-shadow:0 1px 4px #3b82f64d,inset 0 2px 4px #0003;transform:translateY(0) scale(.98)}.primary-btn:disabled,.submit-btn:disabled{box-shadow:0 1px 4px #3b82f633;cursor:not-allowed;opacity:.5;transform:none}.secondary-btn,.submit-btn.secondary{background:#1e293b;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border-color);box-shadow:0 2px 8px #0000001a,inset 0 1px 0 #ffffff0d;color:#f8fafc;color:var(--text-primary);position:relative}.secondary-btn:before,.submit-btn.secondary:before{background:linear-gradient(90deg,#0000,#3b82f61a,#0000)}.secondary-btn:hover,.submit-btn.secondary:hover{background:#334155;background:var(--bg-tertiary);border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 4px 12px #00000026,0 0 0 3px #3b82f61a,inset 0 1px 0 #ffffff14;transform:translateY(-2px)}.secondary-btn:active,.submit-btn.secondary:active{box-shadow:0 1px 4px #0000001a,inset 0 1px 3px #0000001a;transform:translateY(0) scale(.98)}.form-btn-row,.update-actions{display:flex;gap:12px;gap:var(--space-sm);margin-top:24px;margin-top:var(--space-lg)}.update-actions .submit-btn{flex:1 1}.submit-wrapper{margin-top:var(--space-lg)}.submit-wrapper .submit-btn,.two-pane{width:100%}.two-pane{grid-gap:32px;grid-gap:var(--space-xl);align-items:start;display:grid;gap:32px;gap:var(--space-xl);grid-template-columns:1fr}.two-pane-left,.two-pane-right{min-width:0;width:100%}.two-pane.has-logs{grid-template-columns:1fr 1fr}.logs-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293b;background:var(--bg-card);border:2px solid #00d4c426;border-radius:24px;box-shadow:0 20px 25px #0000004d;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;min-height:400px;padding:32px;padding:var(--space-xl);position:relative}.logs-panel:before{background:linear-gradient(90deg,#0000,#3b82f6,var(--accent-cyan),#3b82f6,#0000);background:linear-gradient(90deg,#0000,var(--brand-primary),var(--accent-cyan),var(--brand-primary),#0000);border-radius:24px 24px 0 0;box-shadow:0 0 20px #3b82f6;box-shadow:0 0 20px var(--brand-primary);content:"";height:4px;left:0;opacity:1;position:absolute;right:0;top:0}.logs-header{border-bottom:1px solid #ffffff0d;gap:16px;gap:var(--space-md);justify-content:space-between;margin-bottom:16px;margin-bottom:var(--space-md);padding-bottom:16px;padding-bottom:var(--space-md)}.logs-header,.logs-title{align-items:center;display:flex}.logs-title{color:#f8fafc;color:var(--text-primary);font-size:18px;font-weight:700;gap:12px;gap:var(--space-sm)}.log-badge{background:#00d4c426;border:1px solid #00d4c440;border-radius:10px;color:#3b82f6;color:var(--brand-primary);font-size:13px;font-weight:700;margin-left:8px;margin-left:var(--space-xs);padding:5px 14px}.log-actions{display:flex;gap:8px;gap:var(--space-xs)}.copy-log-btn,.refresh-btn{align-items:center;background:#1e293b;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#cbd5e1;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease}.copy-log-btn:hover,.refresh-btn:hover{background:#334155;background:var(--bg-tertiary);border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);color:#3b82f6;color:var(--brand-primary);transform:translateY(-1px)}.copy-log-btn.copied{background:var(--gradient-success);border-color:var(--accent-emerald);color:#fff}.logs-body{display:flex;flex:1 1;flex-direction:column;min-height:0}.log-terminal{background:#0006;border:2px solid #ffffff0d;border-radius:16px;box-shadow:inset 0 2px 8px #0000004d;color:#cbd5e1;color:var(--text-secondary);flex:1 1;font-family:Fira Code,JetBrains Mono,Monaco,Consolas,monospace;font-size:14px;line-height:1.7;overflow-y:auto;padding:20px;white-space:pre-wrap}.log-info{color:#06b6d4}.log-warning{color:#f59e0b}.log-error-keyword{color:#ef4444;font-weight:700}.env-grid{display:flex;flex-direction:column;gap:24px;gap:var(--space-lg)}.env-grid-group-title{color:#94a3b8;color:var(--text-muted);font-size:14px;font-weight:700;letter-spacing:.05em;margin-bottom:12px;margin-bottom:var(--space-sm);text-transform:uppercase}.env-search-row{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:linear-gradient(135deg,#3b82f614,#8b5cf60d),#1e293b;background:linear-gradient(135deg,#3b82f614 0,#8b5cf60d 100%),var(--bg-secondary);border:1px solid #3b82f626;border-radius:20px;box-shadow:0 8px 32px #0000001f,inset 0 1px 0 #ffffff14,0 0 0 1px #3b82f61a;display:flex;gap:24px;gap:var(--space-lg);margin-bottom:32px;margin-bottom:var(--space-xl);overflow:hidden;padding:20px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.env-search-row:before{background:linear-gradient(90deg,#0000,#3b82f680,#8b5cf680,#0000);content:"";height:2px;left:0;opacity:.6;position:absolute;right:0;top:0}.env-search-row:hover{border-color:#3b82f64d;box-shadow:0 12px 40px #3b82f626,inset 0 1px 0 #ffffff1a,0 0 0 1px #3b82f633;transform:translateY(-2px)}.search-input--wide{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0f172a99;border:1.5px solid #ffffff14;border-radius:14px;box-shadow:inset 0 1px 3px #0003,0 1px 0 #ffffff08;color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:14px;font-weight:500;height:52px;letter-spacing:.01em;max-width:600px;outline:none;padding:0 20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.search-input--wide:hover{background:#0f172acc;border-color:#3b82f64d;box-shadow:inset 0 1px 3px #00000026,0 0 0 3px #3b82f614}.search-input--wide:focus{background:#0f172ae6;border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:inset 0 1px 3px #0000001a,0 0 0 4px #3b82f626,0 4px 12px #3b82f633;outline:none;transform:translateY(-1px)}.search-input--wide::placeholder{color:#64748b;color:var(--text-dim);font-weight:500;opacity:.7}.env-count-inline{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 4px 12px #3b82f64d,inset 0 1px 0 #fff3;color:#fff;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.02em;margin-left:auto;overflow:hidden;padding:12px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.env-count-inline:before{background:linear-gradient(135deg,#fff3,#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.env-count-inline:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 24px #3b82f666,inset 0 1px 0 #ffffff40;transform:translateY(-2px)}.env-count-inline:hover:before{opacity:1}.env-count-inline:active{box-shadow:0 4px 16px #3b82f659,inset 0 1px 0 #fff3;transform:translateY(-1px)}.active-connections-section{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:linear-gradient(135deg,#10b9811f,#06b6d414),#1e293b;background:linear-gradient(135deg,#10b9811f 0,#06b6d414 100%),var(--bg-secondary);border:1.5px solid #10b98140;border-radius:24px;box-shadow:0 16px 48px #10b98126,inset 0 0 0 1px #10b9811a,inset 0 1px 0 #ffffff14;margin:32px 0;overflow:hidden;padding:32px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.active-connections-section:before{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#10b98199 25%,#06b6d499 50%,#10b98199 75%,#0000);box-shadow:0 0 20px #10b98199,0 0 40px #10b9814d;content:"";height:3px;left:0;opacity:1;position:absolute;right:0;top:0}.active-connections-section:hover{border-color:#10b98166;box-shadow:0 20px 60px #10b98133,inset 0 0 0 1px #10b98126,inset 0 1px 0 #ffffff1a}.active-connections-header{margin-bottom:16px;margin-bottom:var(--space-md)}.active-connections-title{align-items:center;color:#f8fafc;color:var(--text-primary);display:flex;font-size:14px;font-weight:600;gap:12px;gap:var(--space-sm);letter-spacing:-.01em}.active-indicator-pulse{animation:pulse-glow 2s ease-in-out infinite;background:var(--accent-emerald);border-radius:50%;box-shadow:0 0 0 0 #10b981b3;height:8px;width:8px}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 #10b981b3;opacity:1}50%{box-shadow:0 0 0 8px #10b98100;opacity:.8}}.active-count{background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-secondary) 100%);border-radius:10px;box-shadow:0 4px 12px #00d4c466;color:#fff;font-size:12px;font-weight:700;min-width:24px;padding:4px 12px;text-align:center}.active-connections-grid{grid-gap:12px;grid-gap:var(--space-sm);display:grid;gap:12px;gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.active-connection-card{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#10b9810d,#0000),#1e293b;background:linear-gradient(135deg,#10b9810d 0,#0000 100%),var(--bg-secondary);border:1.5px solid #10b98133;border-radius:16px;box-shadow:0 2px 8px #0000001a,inset 0 1px 0 #ffffff08;justify-content:space-between;padding:14px 18px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.active-connection-card:before{background:var(--accent-cyan);bottom:0;box-shadow:0 0 12px currentColor;content:"";left:0;opacity:0;position:absolute;top:0;transition:all .3s ease;width:4px}.active-connection-card.connected:before{background:#10b981;background:var(--accent-success);box-shadow:0 0 12px #10b98199;opacity:1}.active-connection-card.connecting:before{animation:pulse-glow 2s ease-in-out infinite;background:#f59e0b;background:var(--accent-warning);box-shadow:0 0 12px #f59e0b99;opacity:1}.active-connection-card:focus,.active-connection-card:hover{background:linear-gradient(135deg,#10b9811a,#0000),#334155;background:linear-gradient(135deg,#10b9811a 0,#0000 100%),var(--bg-tertiary);border-color:#10b98166;box-shadow:0 8px 24px #10b98140,inset 0 1px 0 #ffffff0d;outline:none;transform:translateX(6px) scale(1.02)}.active-connection-card:focus-visible{box-shadow:0 0 0 3px #10b9814d,0 8px 24px #10b98140}.active-connection-status{align-items:center;display:flex;flex:1 1;gap:8px;gap:var(--space-xs);min-width:0}.status-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.status-dot.connected{background:var(--accent-emerald);box-shadow:0 0 8px #10b98199}.status-dot.connecting{animation:pulse 1.5s ease-in-out infinite;background:var(--accent-amber);box-shadow:0 0 8px #f59e0b99}.active-connection-name{color:#f8fafc;color:var(--text-primary);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-connection-time{color:#94a3b8;color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:500;white-space:nowrap}.env-grid-items,.env-list{grid-gap:32px;grid-gap:var(--space-xl);display:grid;gap:32px;gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin-top:24px;margin-top:var(--space-lg);padding-bottom:48px;padding-bottom:var(--space-2xl)}.work-env-empty{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:48px;padding:var(--space-2xl);text-align:center}.work-env-empty p{color:#cbd5e1;color:var(--text-secondary);font-size:16px;font-weight:600;margin:12px 0 8px;margin:var(--space-sm) 0 var(--space-xs) 0}.work-env-empty small{font-size:13px;opacity:.7}.pagination-row{align-items:center;border-top:1px solid #ffffff0d;display:flex;gap:16px;gap:var(--space-md);justify-content:center;margin-top:16px;margin-top:var(--space-md);padding-top:12px;padding-top:var(--space-sm)}.pagination-info{color:#cbd5e1;color:var(--text-secondary);font-size:14px;font-weight:600}.env-card-meta-wrapper{margin-top:8px;margin-top:var(--space-xs)}.env-card{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#3b82f608,#0000),#1e293b;background:linear-gradient(135deg,#3b82f608 0,#0000 100%),var(--bg-card);border:1.5px solid #ffffff14;border-radius:20px;box-shadow:0 4px 16px #0000001a,inset 0 1px 0 #ffffff0d,0 0 0 1px #3b82f60d;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:180px;overflow:hidden;padding:24px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.env-card:before{background:radial-gradient(circle,#3b82f61a 0,#0000 70%);height:200%;left:-50%;top:-50%;transition:opacity .5s ease,transform .5s ease;width:200%}.env-card:after,.env-card:before{content:"";opacity:0;pointer-events:none;position:absolute}.env-card:after{background:linear-gradient(135deg,#3b82f614,#8b5cf60d);inset:0;transition:opacity .4s ease}.env-card:hover{border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 20px 40px #00000026,0 8px 16px #3b82f633,0 0 0 2px #3b82f6,0 0 0 4px #3b82f61a,inset 0 1px 0 #ffffff1a;box-shadow:0 20px 40px #00000026,0 8px 16px #3b82f633,0 0 0 2px var(--brand-primary),0 0 0 4px #3b82f61a,inset 0 1px 0 #ffffff1a;transform:translateY(-8px) scale(1.02)}.env-card:hover:before{opacity:1;transform:translate(25%,25%)}.env-card:hover:after{opacity:1}.env-card.selected{border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 4px 16px #3b82f633,0 0 0 3px #3b82f626,inset 0 1px 0 #ffffff0d}.env-card.selected:after{opacity:.5}.env-card.has-active-connection{background:#1e293b;background:var(--bg-card);border-color:#10b981;border-color:var(--accent-success);box-shadow:0 4px 16px #10b98126,0 0 0 1px #10b981,inset 0 1px 0 #ffffff0d;box-shadow:0 4px 16px #10b98126,0 0 0 1px var(--accent-success),inset 0 1px 0 #ffffff0d}.env-card.has-active-connection:before{animation:success-pulse 2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#10b981,#0000);background:linear-gradient(90deg,#0000,var(--accent-success),#0000);border-radius:12px 12px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}@keyframes success-pulse{0%,to{opacity:.8}50%{opacity:1}}.env-card-main{flex:1 1;min-width:0}.env-card-header{flex-wrap:nowrap;gap:14px}@keyframes spinning{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinning{animation:spinning 1s linear infinite}.active-badge{align-items:center;background:#10b981;background:var(--accent-success);border-radius:6px;border-radius:var(--radius-sm);color:#fff;display:inline-flex;font-size:11px;font-weight:600;gap:4px;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.active-badge-dot{animation:pulse 2s ease-in-out infinite;background:#fff;border-radius:50%;height:6px;width:6px}.env-card-icon{color:#3b82f6;color:var(--brand-primary);filter:drop-shadow(0 2px 4px rgba(59,130,246,.2));transition:all .3s cubic-bezier(.4,0,.2,1)}.env-card:hover .env-card-icon{filter:drop-shadow(0 4px 8px rgba(59,130,246,.4));transform:scale(1.1) rotate(5deg)}.env-card-name{align-items:flex-start;color:var(--text-primary);flex:1 1;flex-wrap:wrap;font-size:15px;font-weight:600;gap:8px;line-height:1.5;min-width:0;transition:all .3s cubic-bezier(.4,0,.2,1);word-break:break-word}.env-card:hover .env-card-name{color:#3b82f6;color:var(--brand-primary);transform:translateX(2px)}.protocol-badge{background:var(--bg-tertiary);border-radius:6px;border-radius:var(--radius-sm);color:#cbd5e1;color:var(--text-secondary);flex-shrink:0;letter-spacing:.4px;padding:4px 10px;transition:all .2s ease}.env-card:hover .protocol-badge{background:#3b82f6;background:var(--brand-primary);color:#fff}.env-card-meta{color:#94a3b8;color:var(--text-muted);font-size:13px;margin-top:4px}.env-card-ip{background:#00b8a926;border:1px solid #00b8a933;border-radius:6px;border-radius:var(--radius-sm);color:#3b82f6;color:var(--brand-primary);display:inline-block;font-family:Fira Code,JetBrains Mono,Monaco,Consolas,monospace;font-size:12px;margin-top:8px;margin-top:var(--space-xs);padding:4px 10px}.env-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:12px;margin-top:var(--space-sm)}.env-card-actions .primary-btn,.restart-btn{align-items:center;border:none;border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;display:inline-flex;flex:1 1;font-size:13px;font-weight:700;gap:8px;height:auto;justify-content:center;letter-spacing:.02em;overflow:hidden;padding:12px 20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.env-card-actions .primary-btn:before,.restart-btn:before{background:linear-gradient(135deg,#fff3,#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.env-card-actions .primary-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d,inset 0 1px 0 #fff3}.env-card-actions .primary-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 20px #3b82f666,inset 0 1px 0 #ffffff40;transform:translateY(-2px)}.env-card-actions .primary-btn:hover:before{opacity:1}.env-card-actions .primary-btn:active{box-shadow:0 4px 12px #3b82f659,inset 0 1px 0 #fff3;transform:translateY(-1px)}.restart-btn{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#1e293bcc;border:1.5px solid #ffffff1a;box-shadow:0 4px 12px #00000026,inset 0 1px 0 #ffffff0d;color:#f8fafc;color:var(--text-primary)}.restart-btn:hover{background:#334155e6;border-color:#3b82f680;box-shadow:0 8px 20px #3b82f633,inset 0 1px 0 #ffffff14;transform:translateY(-2px)}.restart-btn:hover:before{opacity:1}.restart-btn:active{transform:translateY(-1px)}.restart-btn svg{transition:transform .3s ease}.restart-btn.spinning svg,.spinning{animation:spin 1s linear infinite}.app-alert{align-items:center;animation:slideInFromTop .5s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#1e293b;background:var(--bg-card);border:1px solid #ffffff26;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 20px 40px #0003,0 8px 16px #00000026,inset 0 0 0 1px #ffffff14;display:flex;gap:12px;gap:var(--space-sm);left:50%;max-width:520px;min-width:320px;overflow:hidden;padding:16px 20px;position:fixed;top:24px;top:var(--space-lg);transform:translateX(-50%);z-index:1000}.app-alert:before{background:linear-gradient(90deg,#0000,currentColor,#0000);content:"";height:2px;left:0;opacity:.6;position:absolute;right:0;top:0}@keyframes slideInFromTop{0%{opacity:0;transform:translateX(-50%) translateY(-120%)}50%{transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.app-alert.success{border-left:4px solid #10b981;border-left:4px solid var(--accent-success);box-shadow:0 20px 40px #10b98133,0 8px 16px #10b98126,inset 0 0 0 1px #10b9811a;color:#10b981;color:var(--accent-success)}.app-alert.error{border-left:4px solid #ef4444;border-left:4px solid var(--accent-error);box-shadow:0 20px 40px #ef444433,0 8px 16px #ef444426,inset 0 0 0 1px #ef44441a;color:#ef4444;color:var(--accent-error)}.app-alert.warning{border-left:4px solid #f59e0b;border-left:4px solid var(--accent-warning);box-shadow:0 20px 40px #f59e0b33,0 8px 16px #f59e0b26,inset 0 0 0 1px #f59e0b1a;color:#f59e0b;color:var(--accent-warning)}.app-alert.info{border-left:4px solid #06b6d4;border-left:4px solid var(--accent-info);box-shadow:0 20px 40px #06b6d433,0 8px 16px #06b6d426,inset 0 0 0 1px #06b6d41a;color:#06b6d4;color:var(--accent-info)}.alert-icon{height:24px;width:24px}.alert-content{color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:14px;font-weight:500}.alert-close{background:#0000;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer;padding:4px;transition:color .2s ease}.alert-close:hover{color:#f8fafc;color:var(--text-primary)}.login-screen{align-items:center;background:#0f172a;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:24px;position:relative;transition:background .3s ease}.login-screen:before{animation:gradient-shift 15s ease infinite;background:radial-gradient(circle at 20% 80%,#3b82f614 0,#0000 50%),radial-gradient(circle at 80% 20%,#8b5cf614 0,#0000 50%),radial-gradient(circle at 50% 50%,#06b6d40d 0,#0000 50%);content:"";inset:0;pointer-events:none;position:absolute}@keyframes gradient-shift{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}[data-theme=light] .login-screen{background:linear-gradient(135deg,#f8fafc,#e0f2fe 50%,#f1f5f9)}[data-theme=light] .login-screen:before{background:radial-gradient(circle at 20% 80%,#3b82f61f 0,#0000 50%),radial-gradient(circle at 80% 20%,#8b5cf61f 0,#0000 50%),radial-gradient(circle at 50% 50%,#06b6d414 0,#0000 50%)}.login-bg-shapes{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.bg-shape{animation:float 20s ease-in-out infinite;border-radius:50%;filter:blur(80px);opacity:.1;position:absolute;will-change:transform}[data-theme=light] .bg-shape{filter:blur(100px);opacity:.18}.shape-1{animation-delay:0s;background:linear-gradient(135deg,#3b82f6,#8b5cf6);height:600px;right:-200px;top:-300px;width:600px}.shape-2{animation-delay:7s;background:linear-gradient(135deg,#06b6d4,#3b82f6);bottom:-250px;height:500px;left:-150px;width:500px}.shape-3{animation-delay:14s;background:linear-gradient(135deg,#8b5cf6,#ec4899);height:400px;left:50%;top:50%;transform:translate(-50%,-50%);width:400px}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-50px,50px) scale(.9)}}.login-screen .card-area{margin:0 auto;max-width:420px;position:relative;width:100%;z-index:1}.login-screen .card-area:before{background-image:radial-gradient(circle,#3b82f626 1px,#0000 0);right:-60px;top:-60px}.login-screen .card-area:after,.login-screen .card-area:before{background-size:12px 12px;content:"";height:120px;opacity:.6;pointer-events:none;position:absolute;width:120px;z-index:-1}.login-screen .card-area:after{background-image:radial-gradient(circle,#8b5cf626 1px,#0000 0);bottom:-60px;left:-60px}[data-theme=light] .login-screen .card-area:after,[data-theme=light] .login-screen .card-area:before{opacity:.4}.login-card{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#1e293b;background:var(--bg-login-card);border:1px solid #3b82f626;border-radius:24px;box-shadow:0 20px 60px #00000026,0 8px 32px #3b82f61f,inset 0 0 0 1px #ffffff14,0 0 100px #3b82f61a;max-width:420px;overflow:visible;padding:36px 32px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%}.login-card:after{border-left:2px solid #3b82f64d;border-top:2px solid #3b82f64d;border-top-left-radius:24px;content:"";height:70px;left:-1px;opacity:.6;position:absolute;top:-1px;transition:opacity .3s ease;width:70px}.login-card:hover:after{opacity:1}.login-card:before{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#3b82f699,#8b5cf699,#0000);border-top-left-radius:24px;border-top-right-radius:24px;content:"";height:3px;left:0;opacity:.7;position:absolute;right:0;top:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[data-theme=light] .login-card{background:#fffffffa;border:1px solid #3b82f633;box-shadow:0 20px 60px #3b82f61f,0 8px 32px #3b82f614,inset 0 0 0 1px #fff,0 0 100px #3b82f614}[data-theme=light] .login-card:before{background:linear-gradient(90deg,#0000,#3b82f6cc,#8b5cf6cc,#0000);opacity:.9}[data-theme=light] .login-card:after{border-left-color:#3b82f666;border-top-color:#3b82f666}.login-card>*{position:relative;z-index:1}.login-logo-area{align-items:center;animation:fadeInScale .6s ease-out .2s both;display:flex;justify-content:center;margin-bottom:24px;position:relative}.login-logo-area:before{animation:rotate-slow 20s linear infinite;border:1px solid #3b82f61a;border-radius:50%;height:120px;width:120px}.login-logo-area:after,.login-logo-area:before{content:"";pointer-events:none;position:absolute}.login-logo-area:after{animation:rotate-slow-reverse 25s linear infinite;border:1px dashed #8b5cf614;border-radius:50%;height:140px;width:140px}@keyframes rotate-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes rotate-slow-reverse{0%{transform:rotate(1turn)}to{transform:rotate(0deg)}}.login-logo-circle{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;box-shadow:0 8px 32px #3b82f680,0 4px 16px #8b5cf64d,0 0 0 8px #3b82f61f,inset 0 2px 8px #ffffff40,inset 0 -2px 8px #0000001a;color:#fff;display:flex;height:72px;justify-content:center;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:72px}.login-logo-circle:after{background:linear-gradient(45deg,#0000 30%,#ffffff4d 50%,#0000 70%);border-radius:50%;content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.login-logo-circle:before{animation:pulse-ring 2s ease-out infinite;background:linear-gradient(135deg,#3b82f633,#8b5cf633);border-radius:50%;content:"";inset:-8px;position:absolute;z-index:-1}@keyframes pulse-ring{0%{opacity:1;transform:scale(.95)}50%{opacity:.5;transform:scale(1.1)}to{opacity:0;transform:scale(1.2)}}.login-logo-circle:hover{box-shadow:0 16px 48px #3b82f699,0 8px 24px #8b5cf666,0 0 0 12px #3b82f62e,inset 0 2px 8px #ffffff59,inset 0 -2px 8px #00000026;transform:translateY(-6px) scale(1.08) rotate(5deg)}.login-logo-circle:hover:after{animation:logo-shine 1.5s ease infinite;opacity:1}@keyframes logo-shine{0%{transform:translateX(-100%) rotate(45deg)}to{transform:translateX(100%) rotate(45deg)}}[data-theme=light] .login-logo-circle{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 8px 24px #3b82f659,0 4px 12px #2563eb40,0 0 0 8px #3b82f61a,inset 0 2px 8px #ffffff80,inset 0 -2px 8px #0000001a}[data-theme=light] .login-logo-circle:hover{box-shadow:0 16px 48px #3b82f680,0 8px 24px #2563eb59,0 0 0 12px #3b82f626,inset 0 2px 8px #fff9,inset 0 -2px 8px #00000026}.login-logo-wrapper{margin-bottom:36px;padding:0}.login-logo-wrapper,.theme-toggle-btn{display:flex;justify-content:center;position:relative}.theme-toggle-btn{align-items:center;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#1e293b;background:var(--bg-secondary);border:2px solid #3b82f64d;border-radius:50%;box-shadow:0 8px 24px #0000004d,0 4px 12px #3b82f640,inset 0 1px 0 #ffffff26,inset 0 -1px 0 #0000001a;color:#3b82f6;color:var(--brand-primary);cursor:pointer;height:56px;overflow:hidden;transition:all .35s cubic-bezier(.4,0,.2,1);width:56px;z-index:100}.theme-toggle-btn svg{filter:drop-shadow(0 2px 4px rgba(59,130,246,.3));transition:transform .4s cubic-bezier(.4,0,.2,1)}.theme-toggle-btn:before{background:linear-gradient(135deg,#00d4c41a,#0000);border-radius:50%;content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.login-theme-toggle{position:fixed;right:36px;top:36px}.app-theme-toggle{bottom:32px;position:fixed;right:32px;z-index:2000}.theme-toggle-btn:hover{border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 12px 32px #00000059,0 6px 16px #3b82f666,inset 0 1px 0 #fff3,inset 0 -1px 0 #00000026;transform:scale(1.15) rotate(20deg)}.theme-toggle-btn:hover:before{opacity:1}.theme-toggle-btn:hover svg{filter:drop-shadow(0 4px 8px rgba(59,130,246,.5));transform:scale(1.1) rotate(-20deg)}.theme-toggle-btn:active{box-shadow:0 4px 12px #0000004d,inset 0 2px 4px #0003;transform:scale(1.05) rotate(0deg)}.theme-toggle-btn:active svg{transform:scale(1) rotate(0deg)}[data-theme=light] .theme-toggle-btn{background:linear-gradient(135deg,#fffffffa,#f8fafcf2);border:2px solid #3b82f640;box-shadow:0 8px 24px #00000026,0 4px 12px #3b82f633,inset 0 1px 0 #ffffffe6,inset 0 -1px 0 #0000000d}[data-theme=light] .theme-toggle-btn:hover{box-shadow:0 12px 32px #0003,0 6px 16px #3b82f64d,inset 0 1px 0 #fff,inset 0 -1px 0 #00000014}.login-logo-container{animation:fadeInScale .6s ease-out,subtleGlow 3s ease-in-out infinite;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:linear-gradient(135deg,#fffffff2,#fffffffa);border:1px solid #00b8a933;border-radius:24px;box-shadow:0 12px 40px #00b8a933,inset 0 1px 0 #fffc;padding:28px 44px;position:relative;transition:all .3s ease}[data-theme=light] .login-logo-container{background:linear-gradient(135deg,#fffffffa,#f8fafcf2);border:1px solid #00b8a926;box-shadow:0 8px 32px #00b8a91f,inset 0 1px 0 #ffffffe6}.login-logo-container:hover{border-color:#00b8a94d;box-shadow:0 16px 48px #00b8a947,inset 0 1px 0 #ffffffe6;transform:translateY(-2px)}@keyframes subtleGlow{0%,to{box-shadow:0 12px 40px #00b8a933,inset 0 1px 0 #fffc}50%{box-shadow:0 16px 48px #00b8a940,inset 0 1px 0 #ffffffe6}}.login-logo{display:block;filter:drop-shadow(0 4px 12px rgba(0,184,169,.25)) brightness(1.05) contrast(1.1);height:auto;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;max-height:75px;max-width:300px;object-fit:contain;width:auto}[data-theme=light] .login-logo{filter:drop-shadow(0 4px 16px rgba(0,184,169,.3)) brightness(1) contrast(1.05)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.login-header{animation:fadeInScale .5s ease-out .3s both;margin-bottom:40px;margin-bottom:28px;padding-bottom:12px;position:relative;text-align:center;text-align:left}.login-header:after{background:linear-gradient(90deg,#3b82f64d,#8b5cf633 50%,#0000);bottom:0;content:"";height:1px;left:0;opacity:.5;position:absolute;right:0}.login-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f8fafc,#3b82f6 60%,#8b5cf6);background:linear-gradient(135deg,var(--text-primary) 0,var(--brand-primary) 60%,#8b5cf6 100%);-webkit-background-clip:text;background-clip:text;color:#f8fafc;color:var(--text-primary);display:inline-block;font-family:Inter,Poppins,sans-serif;font-size:28px;font-weight:800;letter-spacing:-.025em;line-height:1.15;margin:0 0 8px;position:relative}.login-title:after{animation:title-underline 2s ease-in-out infinite;background:linear-gradient(90deg,#3b82f6,#8b5cf6);background:linear-gradient(90deg,var(--brand-primary),#8b5cf6);border-radius:2px;bottom:-4px;content:"";height:3px;left:0;position:absolute;width:40px}@keyframes title-underline{0%,to{opacity:.6;width:40px}50%{opacity:1;width:60px}}[data-theme=light] .login-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0f172a,#3b82f6);-webkit-background-clip:text;background-clip:text;color:#0f172a}.login-subtitle{color:#cbd5e1;color:var(--text-secondary);font-size:14px;font-weight:400;letter-spacing:-.005em;line-height:1.6;margin:0;opacity:.85}[data-theme=light] .login-subtitle{color:#64748b;opacity:.9}.login-form-group{animation:fadeInScale .4s ease-out both;margin-bottom:18px;position:relative}.login-form-group:first-child{animation-delay:.4s}.login-form-group:nth-child(2){animation-delay:.5s}.login-form-group:nth-child(3){animation-delay:.6s}.login-form-group:before{background:linear-gradient(180deg,#3b82f6,#8b5cf6);background:linear-gradient(180deg,var(--brand-primary),#8b5cf6);border-radius:2px;content:"";height:0;left:-32px;opacity:0;position:absolute;top:50%;transform:translateY(-50%);transition:height .3s ease;width:3px}.login-form-group:focus-within:before{height:40px;opacity:1}.login-form-label{align-items:center;color:#f8fafc;color:var(--text-primary);display:flex;font-family:Inter,Poppins,sans-serif;font-size:14px;font-weight:600;gap:6px;letter-spacing:-.01em;margin-bottom:10px;transition:all .3s ease}.login-form-label:before{background:#3b82f6;background:var(--brand-primary);border-radius:50%;content:"";height:4px;opacity:0;transition:opacity .3s ease;width:4px}.login-form-group:focus-within .login-form-label{color:#3b82f6;color:var(--brand-primary);transform:translateX(2px)}.login-form-group:focus-within .login-form-label:before{opacity:1}[data-theme=light] .login-form-label{color:#1e293b}.login-form-input{background:#1e293b;background:var(--input-bg);border:2px solid #ffffff1a;border:2px solid var(--input-border);border-radius:14px;box-shadow:0 1px 3px #0000000d,inset 0 1px 2px #00000005;color:#f8fafc;color:var(--text-primary);font-family:Inter,Poppins,sans-serif;font-size:15px;font-weight:400;outline:none;padding:14px 18px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.login-form-input:not(:placeholder-shown){border-color:#3b82f659;box-shadow:0 1px 3px #0000000d,0 0 0 1px #3b82f61a,inset 0 1px 2px #00000005}[data-theme=light] .login-form-input{background:#fff;border-color:#e2e8f0;color:#0f172a}.login-form-input::placeholder{color:#64748b;color:var(--text-dim);opacity:.5;transition:opacity .2s ease}[data-theme=light] .login-form-input::placeholder{color:#94a3b8}.login-form-input:hover{border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 0 0 3px #3b82f60d}[data-theme=light] .login-form-input:hover{border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 0 0 3px #3b82f614}.login-form-input:focus{background:#1e293b;background:var(--bg-card);border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 0 0 4px #3b82f626,0 4px 16px #3b82f626,0 1px 3px #00000014;transform:translateY(-2px)}.login-form-input:focus::placeholder{opacity:.3}[data-theme=light] .login-form-input:focus{background:#fff;border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 0 0 4px #3b82f626,0 4px 16px #3b82f61f,0 1px 3px #00000014;transform:translateY(-2px)}.login-submit-btn{animation:fadeInScale .4s ease-out .7s both;background:linear-gradient(135deg,#3b82f6,#2563eb 70%,#1d4ed8);border:none;border-radius:12px;box-shadow:0 4px 16px #3b82f666,0 2px 8px #2563eb4d,inset 0 1px 0 #ffffff4d,inset 0 -1px 0 #0003;color:#fff;cursor:pointer;font-family:Inter,Poppins,sans-serif;font-size:16px;font-weight:700;letter-spacing:.02em;margin-top:12px;overflow:hidden;padding:15px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.login-submit-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.login-submit-btn:hover:before{left:100%}.login-submit-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8 70%,#1e40af);box-shadow:0 8px 24px #3b82f680,0 4px 12px #2563eb66,inset 0 1px 0 #fff6,inset 0 -1px 0 #0000004d;transform:translateY(-3px) scale(1.01)}.login-submit-btn:active{box-shadow:0 2px 8px #3b82f64d,inset 0 2px 4px #0003;transform:translateY(0) scale(.99)}.login-submit-btn:disabled{box-shadow:0 2px 8px #3b82f633;cursor:not-allowed;opacity:.6;transform:none;transform:none!important}.login-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.login-forgot-link{border-radius:6px;color:#3b82f6;color:var(--brand-primary);font-size:13px;font-weight:600;padding:4px 8px;text-decoration:none;transition:all .2s ease}.login-forgot-link:hover{background:#3b82f614;color:#1d4ed8;color:var(--brand-hover);text-decoration:none}.login-forgot-link:active{transform:scale(.98)}[data-theme=light] .login-forgot-link{color:#3b82f6;color:var(--brand-primary)}[data-theme=light] .login-forgot-link:hover{background:#3b82f61a}.login-password-wrapper{align-items:center;display:flex;position:relative}.login-password-input{padding-right:48px!important}.login-password-toggle{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s ease}.login-password-toggle:hover{background:#3b82f614;color:#3b82f6;color:var(--brand-primary)}.login-password-toggle:active{transform:translateY(-50%) scale(.95)}[data-theme=light] .login-password-toggle{color:#94a3b8;color:var(--text-muted)}[data-theme=light] .login-password-toggle:hover{background:#3b82f61a;color:#3b82f6;color:var(--brand-primary)}.login-remember-row{animation:fadeInScale .4s ease-out .7s both;margin-bottom:8px;margin-top:16px}.login-remember-label{align-items:center;cursor:pointer;display:flex;gap:10px;padding:4px 0;transition:all .2s ease;-webkit-user-select:none;user-select:none}.login-remember-label:hover{opacity:.8}.login-remember-checkbox{accent-color:#3b82f6;accent-color:var(--brand-primary);border:2px solid #ffffff1a;border:2px solid var(--input-border);border-radius:4px;cursor:pointer;height:18px;transition:all .2s ease;width:18px}.login-remember-checkbox:checked{background:#3b82f6;background:var(--brand-primary);border-color:#3b82f6;border-color:var(--brand-primary)}.login-remember-checkbox:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--brand-primary);outline-offset:2px}.login-remember-text{font-size:14px;font-weight:500}.login-remember-text,[data-theme=light] .login-remember-text{color:#f8fafc;color:var(--text-primary)}.login-btn-spinner{animation:login-spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:8px;width:16px}@keyframes login-spin{to{transform:rotate(1turn)}}.login-footer{align-items:center;animation:fadeInScale .4s ease-out .8s both;border-top:1px solid #ffffff1a;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:16px;margin-top:24px;padding-top:20px}.login-footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.login-footer-link{border-radius:6px;color:#94a3b8;color:var(--text-muted);font-size:13px;font-weight:500;padding:4px 8px;text-decoration:none;transition:all .2s ease}.login-footer-link:hover{background:#3b82f60f;color:#3b82f6;color:var(--brand-primary);text-decoration:none}.login-footer-link:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--brand-primary);outline-offset:2px}.login-footer-separator{color:#64748b;color:var(--text-dim);opacity:.5;-webkit-user-select:none;user-select:none}.login-security-badge{align-items:center;background:#3b82f60d;border:1px solid #3b82f61a;border-radius:20px;color:#94a3b8;color:var(--text-muted);display:flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.02em;padding:8px 16px}.login-security-badge svg{color:#3b82f6;color:var(--brand-primary);height:14px;width:14px}[data-theme=light] .login-security-badge{background:#3b82f614;border-color:#3b82f626}.login-submit-btn{align-items:center;display:flex;gap:8px;justify-content:center}.login-submit-btn svg{transition:transform .3s cubic-bezier(.4,0,.2,1)}.login-submit-btn:hover:not(:disabled) svg{transform:translateX(4px)}.login-submit-btn:disabled svg{transform:none!important}@media (max-width:480px){.login-label-row{align-items:flex-start;flex-direction:column;gap:8px}.login-forgot-link{font-size:12px;padding:2px 4px}.login-footer-links{flex-direction:column;gap:8px}.login-footer-separator{display:none}.login-security-badge{font-size:11px;padding:6px 12px}}.action-row.login-actions{display:flex;flex-direction:column;gap:12px;gap:var(--space-sm)}.totp-card-wrapper{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(165deg,#1ab59f1f,#00b8a91a);border:1.5px solid #1ab59f59;border-radius:18px;box-shadow:0 8px 32px #1ab59f26,inset 0 1px 1px #ffffff1a;margin-bottom:16px;margin-top:8px;overflow:hidden;padding:28px 24px;position:relative}.totp-card-wrapper:before{background:linear-gradient(90deg,#00b8a980,#1ab59f80 50%,#ec489980);content:"";height:2px;left:0;opacity:.8;position:absolute;right:0;top:0}.totp-input-wrapper{margin-bottom:0!important;position:relative}.totp-code-main{margin-bottom:0}.totp-code-input{background:#1e293b!important;background:var(--input-bg)!important;border:2px solid #1ab59f66!important;border-radius:14px!important;box-shadow:inset 0 2px 6px #0000004d,0 4px 16px #1ab59f1a!important;color:#fff!important;font-family:SF Mono,Consolas,Monaco,monospace!important;font-size:32px!important;font-weight:700!important;letter-spacing:16px!important;padding:20px 8px 20px 24px!important;text-align:center!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.totp-code-input::placeholder{color:#1ab59f4d!important;letter-spacing:16px!important}.totp-code-input:hover{border-color:#1ab59f80!important;box-shadow:inset 0 2px 6px #0000004d,0 6px 20px #1ab59f26!important}.totp-code-input:focus{background:#1e293b!important;background:var(--input-bg)!important;border-color:#3b82f6!important;border-color:var(--brand-primary)!important;box-shadow:0 0 0 3px #3b82f61a!important;transform:scale(1.01)!important}.totp-helper-text{color:#94a3b8;color:var(--text-muted);font-size:12px;margin-top:12px;margin-top:var(--space-sm);opacity:.7;text-align:center}.login-card .app-alert{margin-top:16px;margin-top:var(--space-md);min-width:auto;position:relative;right:auto;top:auto}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:24px;padding:var(--space-lg);position:fixed;z-index:9998}.modal-content{animation:slideUp .3s ease-out;background:#1e293b;background:var(--bg-card);border:1px solid #ffffff1a;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 20px 25px #0000004d;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:24px;gap:var(--space-lg);max-height:85vh;max-width:600px;padding:32px;padding:var(--space-xl);width:90%}.modal-header{align-items:center;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border-color);display:flex;gap:16px;gap:var(--space-md);justify-content:space-between;padding-bottom:16px;padding-bottom:var(--space-md)}.modal-title{color:#f8fafc;color:var(--text-primary);font-size:20px;font-weight:700;margin:0}.modal-close{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-md);color:#cbd5e1;color:var(--text-secondary);cursor:pointer;display:flex;font-size:28px;height:36px;justify-content:center;line-height:1;transition:all .2s ease;width:36px}.modal-close:hover{background:#334155;background:var(--bg-tertiary);border-color:#ffffff1a;border-color:var(--border-color);color:#f8fafc;color:var(--text-primary)}.modal-scroll{flex:1 1;overflow-y:auto;padding:16px 0;padding:var(--space-md) 0}.modal-analyzing{color:#cbd5e1;color:var(--text-secondary);font-size:15px;padding:32px;padding:var(--space-xl);text-align:center}.modal-pre{background:#1e293b;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#f8fafc;color:var(--text-primary);font-size:14px;line-height:1.6;overflow-x:auto;padding:16px;padding:var(--space-md);white-space:pre-wrap;word-break:break-word}.modal-actions{border-top:1px solid #ffffff1a;border-top:1px solid var(--border-color);display:flex;gap:12px;gap:var(--space-sm);justify-content:flex-end;padding-top:16px;padding-top:var(--space-md)}.log-fullscreen-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000d9;display:flex;inset:0;justify-content:center;padding:24px;padding:var(--space-lg);position:fixed;z-index:9999}.log-fullscreen-content{background:#1e293b;background:var(--bg-card);border:1px solid #ffffff1a;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 20px 25px #0000004d;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;height:90vh;max-width:1400px;overflow:hidden;width:95vw}.log-fullscreen-content .logs-header{border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border-color);padding:24px 32px;padding:var(--space-lg) var(--space-xl)}.log-fullscreen-content .logs-body{flex:1 1;overflow:hidden;padding:24px 32px;padding:var(--space-lg) var(--space-xl)}.log-fullscreen-content .log-terminal{background:#1e293b;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#f8fafc;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;height:100%;line-height:1.6;overflow-y:auto;padding:16px;padding:var(--space-md)}.logs-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:24px;padding:var(--space-lg);position:fixed;right:0;top:0;z-index:1000}.logs-modal-content{animation:slideUp .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(40px) saturate(1.3);-webkit-backdrop-filter:blur(40px) saturate(1.3);background:linear-gradient(135deg,#3b82f608,#0000),#1e293b;background:linear-gradient(135deg,#3b82f608 0,#0000 100%),var(--bg-card);border:1.5px solid #3b82f633;border-radius:24px;box-shadow:0 32px 64px #0006,0 16px 32px #3b82f626,inset 0 0 0 1px #3b82f61a,inset 0 1px 0 #ffffff1a;display:flex;flex-direction:column;max-height:88vh;max-width:1100px;overflow:hidden;position:relative;width:90vw}.logs-modal-content:before{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#3b82f6,#8b5cf6,#3b82f6,#0000);box-shadow:0 0 20px #3b82f680;content:"";height:3px;left:0;opacity:1;position:absolute;right:0;top:0}.logs-modal-header{background:linear-gradient(180deg,#ffffff05,#0000);border-bottom:1px solid #ffffff0f;display:flex;flex-direction:column;flex-shrink:0;gap:16px;gap:var(--space-md);padding:24px 32px}.logs-title-section{align-items:center;display:flex;justify-content:space-between;width:100%}.logs-modal-header .logs-title{align-items:center;display:flex;gap:12px}.logs-icon-wrapper{align-items:center;background:linear-gradient(135deg,#3b82f633,#8b5cf626),linear-gradient(180deg,#ffffff0d,#0000);border:1.5px solid #3b82f64d;border-radius:13px;box-shadow:0 4px 16px #3b82f633,inset 0 1px 0 #ffffff1a,inset 0 -1px 0 #0000001a;display:flex;flex-shrink:0;height:44px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:44px}.logs-icon-wrapper:before{animation:shimmerIcon 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.logs-icon-wrapper:after{background:radial-gradient(circle at 30% 30%,#fff3,#0000 60%);border-radius:13px;content:"";inset:0;pointer-events:none;position:absolute}@keyframes shimmerIcon{0%{left:-100%}50%{left:100%}to{left:100%}}.logs-modal-header .logs-icon{color:#60a5fa;filter:drop-shadow(0 3px 16px rgba(59,130,246,.6));position:relative;transition:all .3s ease;z-index:1}.logs-icon-wrapper:hover{border-color:#3b82f680;box-shadow:0 8px 24px #3b82f659,inset 0 1px 0 #fff3,inset 0 -1px 0 #0000001a;transform:translateY(-2px) scale(1.05)}.logs-icon-wrapper:hover .logs-icon{color:#93c5fd;filter:drop-shadow(0 4px 20px rgba(59,130,246,.8))}.logs-heading{color:#f8fafc;color:var(--text-primary);font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0}.logs-meta{align-items:center;display:flex;gap:12px;gap:var(--space-sm)}.log-count-badge{background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;color:#93c5fd;font-size:12px;font-weight:600;letter-spacing:.02em;padding:6px 14px}.logs-modal-header .log-actions{align-items:center;display:flex;gap:16px;gap:var(--space-md);justify-content:space-between;width:100%}.log-stats-group{gap:8px}.log-controls,.log-stats-group{align-items:center;display:flex}.log-controls{gap:10px;margin-left:auto}.log-stat-badge{align-items:center;border-radius:9px;cursor:default;display:inline-flex;font-size:12px;font-weight:700;gap:6px;letter-spacing:.01em;padding:7px 13px;transition:all .25s cubic-bezier(.4,0,.2,1)}.log-stat-error{background:linear-gradient(135deg,#ef44442e,#dc26261f);border:1px solid #ef444459;box-shadow:0 2px 8px #ef444426;color:#fca5a5}.log-stat-warning{background:linear-gradient(135deg,#f59e0b2e,#d977061f);border:1px solid #f59e0b59;box-shadow:0 2px 8px #f59e0b26;color:#fcd34d}.log-stat-success{background:linear-gradient(135deg,#10b9812e,#0596691f);border:1px solid #10b98159;box-shadow:0 2px 8px #10b98126;color:#6ee7b7}.log-stat-badge:hover{transform:translateY(-1px)}.log-stat-error:hover{border-color:#ef444480;box-shadow:0 4px 12px #ef444440}.log-stat-warning:hover{border-color:#f59e0b80;box-shadow:0 4px 12px #f59e0b40}.log-stat-success:hover{border-color:#10b98180;box-shadow:0 4px 12px #10b98140}.logs-modal-header .copy-log-btn{align-items:center;background:linear-gradient(135deg,#3b82f61f,#2563eb14);border:1.5px solid #3b82f64d;border-radius:10px;box-shadow:0 2px 8px #3b82f626;color:#60a5fa;cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:7px;letter-spacing:.01em;overflow:hidden;padding:9px 16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.logs-modal-header .copy-log-btn:before{background:linear-gradient(135deg,#ffffff26,#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.logs-modal-header .copy-log-btn:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f680;box-shadow:0 6px 20px #3b82f666,inset 0 1px 0 #ffffff4d;color:#fff;transform:translateY(-2px)}.logs-modal-header .copy-log-btn:active{box-shadow:0 2px 8px #3b82f64d;transform:translateY(0)}.logs-modal-header .copy-log-btn:hover:before{opacity:1}.logs-modal-header .copy-log-btn.copied{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b98180;box-shadow:0 6px 20px #10b98166,inset 0 1px 0 #ffffff4d;color:#fff}.logs-modal-header .copy-log-btn.copied:hover{transform:translateY(-2px)}.logs-modal-header .modal-close{align-items:center;background:linear-gradient(135deg,#ef44441f,#dc262614);border:1.5px solid #ef44444d;border-radius:10px;box-shadow:0 2px 8px #ef444426;color:#fca5a5;cursor:pointer;display:flex;height:40px;justify-content:center;line-height:1;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.logs-modal-header .modal-close:hover{background:linear-gradient(135deg,#ef444440,#dc262626);border-color:#ef444480;box-shadow:0 4px 16px #ef44444d;color:#fff;transform:rotate(90deg) scale(1.05)}.logs-modal-header .modal-close:active{transform:rotate(90deg) scale(.95)}.logs-modal-content .logs-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:24px;padding:var(--space-lg)}.logs-modal-content .log-summary{align-items:center;border-radius:8px;border-radius:var(--radius-md);display:flex;font-size:14px;font-weight:600;gap:8px;gap:var(--space-xs);margin-bottom:16px;margin-bottom:var(--space-md);padding:12px 16px;padding:var(--space-sm) var(--space-md)}.logs-modal-content .log-summary.success{background:linear-gradient(135deg,#10b98126,#34d3991a);border-left:3px solid var(--accent-emerald);color:#6ee7b7}.logs-modal-content .log-summary.error{background:linear-gradient(135deg,#ef444426,#dc26261a);border-left:3px solid #ef4444;color:#fca5a5}.logs-modal-content .log-terminal{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#0009,#00000080),linear-gradient(180deg,#0f172acc,#0f172ae6);border:1.5px solid #3b82f62e;border-radius:14px;box-shadow:inset 0 3px 16px #00000080,inset 0 1px 0 #ffffff05,0 2px 8px #0003;color:#e2e8f0;flex:1 1;font-family:Fira Code,JetBrains Mono,SF Mono,Monaco,Consolas,Courier New,monospace;font-size:12.5px;line-height:1.65;overflow:auto;padding:20px;position:relative}.logs-modal-content .log-terminal:before{background:linear-gradient(90deg,#0000,#3b82f64d,#0000);content:"";height:1px;left:0;pointer-events:none;position:absolute;right:0;top:0}.logs-modal-content .log-terminal::-webkit-scrollbar{height:10px;width:10px}.logs-modal-content .log-terminal::-webkit-scrollbar-track{background:#0000004d;border-radius:5px;margin:4px}.logs-modal-content .log-terminal::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3b82f699,#2563eb99);border:2px solid #0000004d;border-radius:5px;-webkit-transition:all .2s ease;transition:all .2s ease}.logs-modal-content .log-terminal::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#3b82f6cc,#2563ebcc);border-color:#0003}.logs-modal-content .log-terminal::-webkit-scrollbar-corner{background:#0000004d;border-radius:5px}.log-line{word-wrap:break-word;border-radius:6px;display:block;font-family:Fira Code,JetBrains Mono,SF Mono,Monaco,Consolas,Courier New,monospace;margin:1px 0;overflow-wrap:anywhere;padding:6px 12px;position:relative;transition:all .2s ease;white-space:pre-wrap}.log-line:hover{background:#ffffff0a;padding-left:16px}.log-line-empty{min-height:6px;padding:3px}.log-level-icon{align-items:center;border-radius:5px;display:inline-flex;font-size:12px;font-weight:700;height:20px;justify-content:center;margin-right:8px;vertical-align:middle;width:20px}.log-icon-error{background:#ef444433;border:1px solid #ef44444d;color:#fca5a5}.log-icon-warning{background:#f59e0b33;border:1px solid #f59e0b4d;color:#fcd34d}.log-icon-success{background:#10b98133;border:1px solid #10b9814d;color:#6ee7b7}.log-icon-info{background:#06b6d433;border:1px solid #06b6d44d;color:#67e8f9}.log-line-error{background:linear-gradient(90deg,#ef44441f,#0000);border-left:3px solid #ef4444;color:#fca5a5;font-weight:500}.log-line-error:hover{background:linear-gradient(90deg,#ef44442e,#ef44440d);box-shadow:0 0 12px #ef444433}.log-line-warning{background:linear-gradient(90deg,#f59e0b1f,#0000);border-left:3px solid #f59e0b;color:#fcd34d;font-weight:500}.log-line-warning:hover{background:linear-gradient(90deg,#f59e0b2e,#f59e0b0d);box-shadow:0 0 12px #f59e0b33}.log-line-success{background:linear-gradient(90deg,#10b9811f,#0000);border-left:3px solid #10b981;color:#6ee7b7;font-weight:500}.log-line-success:hover{background:linear-gradient(90deg,#10b9812e,#10b9810d);box-shadow:0 0 12px #10b98133}.log-line-info{background:linear-gradient(90deg,#06b6d414,#0000);border-left:2px solid #06b6d466;color:#e2e8f0}.log-line-info:hover{background:linear-gradient(90deg,#06b6d41f,#06b6d408)}.log-keyword-error{background:#ef444433;border:1px solid #ef44444d;border-radius:4px;color:#ff6b6b;font-weight:700;padding:2px 6px;text-shadow:0 0 8px #ef444480}.log-keyword-warning{background:#f59e0b33;border:1px solid #f59e0b4d;border-radius:4px;color:#fbbf24;font-weight:700;padding:2px 6px;text-shadow:0 0 8px #f59e0b80}.log-keyword-success{background:#10b98133;border:1px solid #10b9814d;border-radius:4px;color:#4ade80;font-weight:700;padding:2px 6px;text-shadow:0 0 8px #10b98180}.log-keyword-info{background:#06b6d426;border:1px solid #06b6d440;border-radius:4px;color:#22d3ee;font-weight:600;padding:2px 6px}.log-timestamp{color:#a78bfa;font-weight:600;opacity:.9}.log-path{color:#60a5fa;font-style:italic;opacity:.95}.log-url{color:#34d399;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:#34d3994d;text-decoration-color:#34d3994d}.log-url:hover{color:#6ee7b7;-webkit-text-decoration-color:#6ee7b780;text-decoration-color:#6ee7b780}.log-number{color:#fb923c;font-weight:600}.log-ip{background:#fbbf241a;border-radius:3px;color:#fbbf24;font-family:Fira Code,monospace;font-weight:600;padding:1px 4px}.log-empty{align-items:center;background:linear-gradient(135deg,#0000004d,#0003),#0f172a66;border:1.5px dashed #ffffff1f;border-radius:16px;color:#94a3b8;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow:hidden;padding:48px;padding:var(--space-2xl);position:relative;text-align:center}.log-empty:before{background:radial-gradient(circle at center,#3b82f614,#0000 70%);content:"";inset:0;pointer-events:none;position:absolute}.log-empty-icon{align-items:center;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border:2px solid #3b82f633;border-radius:50%;color:#60a5fa80;display:flex;height:80px;justify-content:center;margin-bottom:20px;position:relative;width:80px;z-index:1}.log-empty h3{color:#f8fafc;color:var(--text-primary);font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0 0 8px}.log-empty h3,.log-empty p{position:relative;z-index:1}.log-empty p{color:#94a3b8;color:var(--text-muted);font-size:14px;font-weight:500;margin:0;opacity:.8}.session-timeout-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;z-index:10000}.session-timeout-modal{animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:#1e293b;background:var(--bg-card);border:2px solid #ef444466;border-radius:24px;box-shadow:0 25px 70px #0009,inset 0 0 0 1px #ef44444d;max-width:480px}.session-timeout-header{padding:32px;padding:var(--space-xl);text-align:center}.session-timeout-icon-wrapper{display:flex;justify-content:center;margin-bottom:24px;margin-bottom:var(--space-lg)}.session-timeout-icon{animation:pulse 2s ease-in-out infinite;color:var(--accent-amber)}.session-timeout-icon.urgent{animation:shake .5s ease-in-out infinite;color:var(--accent-rose)}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.session-timeout-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#fca5a5);-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:700;letter-spacing:-.03em;margin-bottom:12px}.session-timeout-message{color:#cbd5e1;color:var(--text-secondary);font-size:15px;line-height:1.6;margin-bottom:24px;margin-bottom:var(--space-lg)}.session-timeout-countdown{color:var(--accent-amber);font-family:Fira Code,Monaco,Consolas,monospace;font-size:48px;font-weight:800;margin:24px 0;margin:var(--space-lg) 0;text-shadow:0 0 20px #f59e0b66}.session-timeout-countdown.urgent{animation:pulse 1s ease-in-out infinite;color:var(--accent-rose);text-shadow:0 0 20px #ef444466}.session-timeout-info{color:#94a3b8;color:var(--text-muted);font-size:13px;margin-top:16px;margin-top:var(--space-md)}.session-timeout-actions{display:flex;gap:16px;gap:var(--space-md);padding:0 32px 32px;padding:0 var(--space-xl) var(--space-xl)}.session-timeout-btn{align-items:center;border:none;border-radius:14px;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:600;gap:8px;justify-content:center;overflow:hidden;padding:15px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.session-timeout-btn:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease;width:0}.session-timeout-btn:hover:before{height:300px;width:300px}.stay-btn{background:#3b82f6;background:var(--brand-primary);box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);color:#fff}.stay-btn:hover{background:#1d4ed8;background:var(--brand-hover);box-shadow:0 4px 6px #0000004d;box-shadow:var(--shadow-md);transform:translateY(-1px)}.logout-btn{background:#1e293b;background:var(--bg-secondary);border:1.5px solid #ef444466;color:#fca5a5}.logout-btn:hover{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#0000;box-shadow:0 10px 30px #ef444480;color:#fff;transform:translateY(-2px)}@media (max-width:768px){.logs-modal-content{border-radius:20px;max-height:90vh;width:95vw}.logs-modal-header{gap:12px;padding:18px 20px}.logs-heading{font-size:18px}.logs-icon-wrapper{border-radius:11px;height:38px;width:38px}.logs-icon-wrapper:before{border-radius:11px}.logs-modal-header .logs-icon{height:18px;width:18px}.log-count-badge{font-size:11px;padding:5px 10px}.log-actions{flex-wrap:wrap}.log-stats-group{justify-content:flex-start;order:1;width:100%}.log-controls{margin-left:0;order:2}.log-stat-badge{font-size:11px;padding:6px 10px}.logs-modal-header .copy-log-btn{font-size:12px;padding:8px 14px}.logs-modal-header .modal-close{height:36px;width:36px}.logs-modal-content .logs-body{padding:16px}.logs-modal-content .log-terminal{border-radius:12px;font-size:12px;padding:16px}.log-empty-icon{height:64px;width:64px}.log-empty h3{font-size:16px}.log-empty p{font-size:13px}}.loading-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loading-overlay-content{background:#1e293b;background:var(--bg-card);border:1px solid #1ab59f4d;border-radius:24px;box-shadow:0 25px 60px #0009,inset 0 0 0 1px #1ab59f26;min-width:300px;padding:48px 40px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;color:#3b82f6;color:var(--brand-primary);height:56px;margin:0 auto 24px;width:56px}.loading-message{color:#f8fafc;color:var(--text-primary);font-size:16px;font-weight:600}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}[data-theme=light] .app-sidebar{background:#1e293b;background:var(--bg-card);border-right:1px solid #ffffff1a;border-right:1px solid var(--border-color)}[data-theme=light] .sidebar-header{border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border-color)}[data-theme=light] .collapse-btn{background:#334155;background:var(--bg-tertiary);color:#cbd5e1;color:var(--text-secondary)}[data-theme=light] .collapse-btn:hover{background:#3b82f6;background:var(--brand-primary);color:#fff}[data-theme=light] .sidebar-section-title{color:#94a3b8;color:var(--text-muted)}[data-theme=light] .sidebar-item{color:#cbd5e1;color:var(--text-secondary)}[data-theme=light] .sidebar-item:hover{background:#334155;background:var(--bg-tertiary);color:#f8fafc;color:var(--text-primary)}[data-theme=light] .sidebar-item.active{background:#3b82f6;background:var(--brand-primary);color:#fff}[data-theme=light] .sidebar-item-icon svg{color:#94a3b8;color:var(--text-muted)}[data-theme=light] .sidebar-item:hover .sidebar-item-icon svg{color:#fff}[data-theme=light] .sidebar-item.active .sidebar-item-icon{background:#fff3}[data-theme=light] .sidebar-item.active .sidebar-item-icon svg{color:#fff}[data-theme=light] .sidebar-badge{background:#3b82f6;background:var(--brand-primary);color:#fff}[data-theme=light] .user-profile{background:#00b8a90d;border:1px solid #00b8a91f}[data-theme=light] .user-avatar{background:#3b82f6;background:var(--brand-primary)}[data-theme=light] .user-name{color:#f8fafc;color:var(--text-primary)}[data-theme=light] .sidebar-logout,[data-theme=light] .sidebar-sessions{background:#00000008;color:#cbd5e1;color:var(--text-secondary)}[data-theme=light] .sidebar-logout:hover,[data-theme=light] .sidebar-sessions:hover{background:#00b8a91a;color:#3b82f6;color:var(--brand-primary)}[data-theme=light] .main-content{background:#0f172a;background:var(--bg-primary)}[data-theme=light] .card{background:#1e293b;background:var(--bg-card);border:1px solid #00b8a91f;box-shadow:0 10px 15px #0000004d;box-shadow:var(--shadow-lg)}[data-theme=light] .title{color:#f8fafc;color:var(--text-primary);font-weight:700}[data-theme=light] .subtitle{color:#cbd5e1;color:var(--text-secondary);font-weight:600;opacity:1}[data-theme=light] .brand-title,[data-theme=light] h1,[data-theme=light] h2,[data-theme=light] h3{color:#f8fafc;color:var(--text-primary);font-weight:700}[data-theme=light] .brand-subtitle{color:#cbd5e1;color:var(--text-secondary);font-weight:600}[data-theme=light] .input-container input{background:#1e293b;background:var(--input-bg);border:1.5px solid #00b8a933;box-shadow:inset 0 1px 3px #0000000d;color:#f8fafc;color:var(--text-primary)}[data-theme=light] .input-container input:focus{border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 0 0 3px #00b8a926,inset 0 1px 3px #0000000d}[data-theme=light] .input-container label{color:#cbd5e1;color:var(--text-secondary);font-weight:600}[data-theme=light] .input-container input:focus+label,[data-theme=light] .input-container input:not(:placeholder-shown)+label{color:#3b82f6;color:var(--brand-primary);font-weight:700}[data-theme=light] .input-icon{color:#94a3b8;color:var(--text-muted)}[data-theme=light] .env-card{background:linear-gradient(135deg,#3b82f605,#0000),#1e293b;background:linear-gradient(135deg,#3b82f605 0,#0000 100%),var(--bg-card);border:1.5px solid #00000014;box-shadow:0 4px 16px #0000000f,inset 0 1px 0 #fffc,0 0 0 1px #3b82f608}[data-theme=light] .env-card:hover{border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 20px 40px #3b82f626,0 8px 16px #3b82f61a,0 0 0 2px #3b82f6,0 0 0 4px #3b82f614,inset 0 1px 0 #ffffffe6;box-shadow:0 20px 40px #3b82f626,0 8px 16px #3b82f61a,0 0 0 2px var(--brand-primary),0 0 0 4px #3b82f614,inset 0 1px 0 #ffffffe6}[data-theme=light] .env-card-name{color:#f8fafc;color:var(--text-primary)}[data-theme=light] .env-card:hover .env-card-name{color:#3b82f6;color:var(--brand-primary)}[data-theme=light] .env-card-meta{color:#cbd5e1;color:var(--text-secondary)}[data-theme=light] .env-card-icon{color:#3b82f6;color:var(--brand-primary)}[data-theme=light] .protocol-badge{background:#334155;background:var(--bg-tertiary);color:#cbd5e1;color:var(--text-secondary)}[data-theme=light] .env-card-ip{background:#3b82f614;border:1px solid #3b82f626;color:#3b82f6;color:var(--brand-primary);font-weight:600}[data-theme=light] .active-connections-section{background:linear-gradient(135deg,#10b9810f,#06b6d40a),#1e293b;background:linear-gradient(135deg,#10b9810f 0,#06b6d40a 100%),var(--bg-card);border:1.5px solid #10b98133;box-shadow:0 16px 48px #10b98114,inset 0 0 0 1px #10b98114,inset 0 1px 0 #ffffffe6}[data-theme=light] .active-connection-card{background:linear-gradient(135deg,#10b98108,#0000),#1e293b;background:linear-gradient(135deg,#10b98108 0,#0000 100%),var(--bg-card);border:1.5px solid #10b98126;box-shadow:0 2px 8px #0000000d,inset 0 1px 0 #ffffffe6}[data-theme=light] .active-connection-card:hover{background:linear-gradient(135deg,#10b98114,#0000),#334155;background:linear-gradient(135deg,#10b98114 0,#0000 100%),var(--bg-tertiary);border-color:#10b9814d;box-shadow:0 8px 24px #10b98126,inset 0 1px 0 #ffffffe6}[data-theme=light] .active-connection-name{color:#f8fafc;color:var(--text-primary);font-weight:600}[data-theme=light] .active-connection-time{color:#94a3b8;color:var(--text-muted);font-weight:500}[data-theme=light] .active-connections-title{color:#f8fafc;color:var(--text-primary);font-weight:700}[data-theme=light] .env-search-row{background:linear-gradient(135deg,#3b82f60d,#8b5cf608),#1e293b;background:linear-gradient(135deg,#3b82f60d 0,#8b5cf608 100%),var(--bg-card);border:1px solid #3b82f61f;box-shadow:0 8px 32px #3b82f614,inset 0 1px 0 #ffffffe6,0 0 0 1px #3b82f614}[data-theme=light] .env-search-row:hover{border-color:#3b82f640;box-shadow:0 12px 40px #3b82f61f,inset 0 1px 0 #fffffff2,0 0 0 1px #3b82f626}[data-theme=light] .env-count-inline{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f640,inset 0 1px 0 #ffffff4d}[data-theme=light] .env-count-inline:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 24px #3b82f659,inset 0 1px 0 #ffffff59}[data-theme=light] .search-input--wide{background:#ffffffe6;border:1.5px solid #00000014;box-shadow:inset 0 1px 3px #00000014,0 1px 0 #ffffffe6;color:#f8fafc;color:var(--text-primary);font-weight:500}[data-theme=light] .search-input--wide:hover{background:#fffffff2;border-color:#3b82f64d;box-shadow:inset 0 1px 3px #0000000d,0 0 0 3px #3b82f614}[data-theme=light] .search-input--wide::placeholder{color:#94a3b8;color:var(--text-muted);font-weight:500}[data-theme=light] .search-input--wide:focus{background:#fff;border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:inset 0 1px 3px #00000008,0 0 0 4px #3b82f61f,0 4px 12px #3b82f626}[data-theme=light] .logs-panel{background:#1e293b;background:var(--bg-secondary);border:1px solid #3b82f626;box-shadow:0 10px 15px #0000004d;box-shadow:var(--shadow-lg)}[data-theme=light] .logs-modal-overlay{-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);background:#0006}[data-theme=light] .logs-title{color:#f8fafc;color:var(--text-primary);font-weight:700}[data-theme=light] .log-terminal{background:linear-gradient(135deg,#0f172a0a,#0f172a05),#f8fafce6;border:1.5px solid #3b82f626;box-shadow:inset 0 2px 8px #0000000f,0 1px 0 #ffffffe6;color:#f8fafc;color:var(--text-primary)}[data-theme=light] .log-content{background:#f8fafccc;border:1px solid #3b82f626;color:#f8fafc;color:var(--text-primary);font-weight:500}[data-theme=light] .log-line-error{background:linear-gradient(90deg,#ef444414,#0000);color:#dc2626}[data-theme=light] .log-line-error:hover{background:linear-gradient(90deg,#ef44441f,#ef444408)}[data-theme=light] .log-line-warning{background:linear-gradient(90deg,#f59e0b14,#0000);color:#d97706}[data-theme=light] .log-line-warning:hover{background:linear-gradient(90deg,#f59e0b1f,#f59e0b08)}[data-theme=light] .log-line-success{background:linear-gradient(90deg,#10b98114,#0000);color:#059669}[data-theme=light] .log-line-success:hover{background:linear-gradient(90deg,#10b9811f,#10b98108)}[data-theme=light] .log-line-info{color:#f8fafc;color:var(--text-primary)}[data-theme=light] .log-keyword-error{background:#ef444426;border-color:#ef444440;color:#dc2626}[data-theme=light] .log-keyword-warning{background:#f59e0b26;border-color:#f59e0b40;color:#d97706}[data-theme=light] .log-keyword-success{background:#10b98126;border-color:#10b98140;color:#059669}[data-theme=light] .log-keyword-info{background:#06b6d41f;border-color:#06b6d433;color:#0891b2}[data-theme=light] .log-timestamp{color:#7c3aed}[data-theme=light] .log-path{color:#2563eb}[data-theme=light] .log-url{color:#059669}[data-theme=light] .log-number{color:#ea580c}[data-theme=light] .log-ip{background:#d9770614;color:#d97706}[data-theme=light] .env-grid-group-title{color:#94a3b8;color:var(--text-muted);font-weight:800}[data-theme=light] .toast{background:#1e293b;background:var(--bg-secondary);border:1px solid #00b8a926;box-shadow:0 20px 25px #0000004d;box-shadow:var(--shadow-xl)}[data-theme=light] .modal-content{background:#1e293b;background:var(--bg-secondary);border:1px solid #00b8a91f}[data-theme=light] .security-testing-container{background:#0f172a;background:var(--bg-primary)}[data-theme=light] .compliance-section,[data-theme=light] .findings-section,[data-theme=light] .security-scanner-card{background:#1e293b;background:var(--bg-card);border:1px solid #00b8a926;box-shadow:0 10px 15px #0000004d;box-shadow:var(--shadow-lg)}[data-theme=light] .scan-type-btn{background:#fffc;border:2px solid #00b8a926}[data-theme=light] .scan-type-btn:hover{background:#00b8a914;border-color:#00b8a94d}[data-theme=light] .scan-type-btn.active{background:#00b8a91f;border-color:#3b82f6;border-color:var(--brand-primary)}[data-theme=light] .finding-card{background:#fffc;box-shadow:0 2px 8px #0000000f}[data-theme=light] .screen-log-btn{background:#334155;background:var(--bg-tertiary);border:1px solid #ffffff1a;border:1px solid var(--border-color);color:#cbd5e1;color:var(--text-secondary)}[data-theme=light] .screen-log-btn:hover{border-color:#3b82f6;border-color:var(--brand-primary)}[data-theme=light] .env-count-inline,[data-theme=light] .header-log-badge,[data-theme=light] .log-badge,[data-theme=light] .screen-log-btn:hover{background:#3b82f6;background:var(--brand-primary);color:#fff}[data-theme=light] .env-count-inline{font-weight:800}[data-theme=light] .pagination-info,[data-theme=light] .work-env-empty p{color:#f8fafc;color:var(--text-primary);font-weight:700}[data-theme=light] .work-env-empty small{color:#cbd5e1;color:var(--text-secondary);font-weight:500}[data-theme=light] .copy-log-btn,[data-theme=light] .refresh-btn{background:#00b8a91a;border:1px solid #00b8a933;color:#00695c;font-weight:700}[data-theme=light] .copy-log-btn:hover,[data-theme=light] .refresh-btn:hover{background:#00b8a92e;border-color:#3b82f6;border-color:var(--brand-primary);color:#00695c}[data-theme=light] .radio-option label{background:#1e293b;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border-color);color:#cbd5e1;color:var(--text-secondary)}[data-theme=light] .radio-option label:hover{background:#334155;background:var(--bg-tertiary);border-color:#3b82f6;border-color:var(--brand-primary);color:#f8fafc;color:var(--text-primary)}[data-theme=light] .radio-option input[type=radio]:checked+label{background:#3b82f6;background:var(--brand-primary);border-color:#3b82f6;border-color:var(--brand-primary);color:#fff}[data-theme=light] .loading-overlay{background:#f8fafcf2}[data-theme=light] .loading-overlay .spinner{border-color:#3b82f6 #00b8a933 #00b8a933;border-top-color:var(--brand-primary)}[data-theme=light] ::-webkit-scrollbar-track{background:#00000008}[data-theme=light] ::-webkit-scrollbar-thumb{background:#00b8a94d;border:2px solid #f8fafccc}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00b8a980}.mobile-menu-btn{align-items:center;background:#3b82f6;background:var(--brand-primary);border:none;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 4px 16px #00b8a966;color:#fff;cursor:pointer;display:none;height:48px;justify-content:center;left:28px;position:fixed;top:28px;transition:all .3s ease;width:48px;z-index:1001}[data-theme=light] .mobile-menu-btn{box-shadow:0 4px 16px #00b8a940}.mobile-menu-btn:hover{box-shadow:0 6px 20px #00b8a980;transform:scale(1.05)}[data-theme=light] .mobile-menu-btn:hover{box-shadow:0 6px 24px #00b8a959}.mobile-menu-btn svg{height:24px;width:24px}.mobile-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:none;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:999}[data-theme=light] .mobile-overlay{background:#0f172a4d}.mobile-overlay.active{opacity:1}@media (max-width:1200px){.two-pane,.two-pane.has-logs{grid-template-columns:1fr}.main-content{padding:32px;padding:var(--space-xl)}}@media (max-width:1024px){.app-sidebar{min-width:240px;width:240px}.main-content{padding:24px;padding:var(--space-lg)}}@media (max-width:768px){.mobile-menu-btn{display:flex}.mobile-overlay{display:block}.collapse-btn{display:none}.app-sidebar{box-shadow:4px 0 24px #0000004d;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1000}.app-sidebar.open{transform:translateX(0)}.sidebar-brand{flex:1 1}.main-content{padding:84px 24px 24px;padding:calc(var(--space-lg) + 60px) var(--space-lg) var(--space-lg);width:100%}.card{padding:24px}.active-connections-grid,.env-grid-items,.env-list{grid-template-columns:1fr}.active-connections-section{padding:16px;padding:var(--space-md)}.app-alert{left:16px;left:var(--space-md);max-width:none;min-width:auto;right:16px;right:var(--space-md);top:16px;top:var(--space-md);transform:translateX(0)}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.env-card,.sidebar-item,.submit-btn{min-height:48px}.input-container input,.input-container textarea{font-size:16px;min-height:48px}}@media (max-width:768px) and (min-width:481px){.mobile-menu-btn{left:24px;top:24px}.app-theme-toggle{bottom:24px;right:24px}}@media (max-width:480px){.mobile-menu-btn{height:44px;left:20px;top:20px;width:44px}.main-content{padding:16px;padding:var(--space-md)}.card{padding:20px}.card,.login-card{border-radius:16px}.login-card{padding:36px 24px}.theme-toggle-btn{height:44px;width:44px}.app-theme-toggle{bottom:20px;right:20px}.login-theme-toggle{right:20px;top:20px}.login-title{font-size:28px}.login-subtitle{font-size:14px}.login-form-input{font-size:16px;padding:11px 14px}.login-submit-btn{font-size:14px;padding:13px 20px}.primary-btn{padding:16px 28px}.title{font-size:18px}.subtitle{font-size:14px}.form-btn-row,.update-actions{flex-direction:column}.submit-btn{width:100%}.screen-log-btn{font-size:12px;padding:6px 10px}.env-card{padding:18px}.sidebar-footer{padding:12px;padding:var(--space-sm)}.user-profile{align-items:center;flex-direction:column;gap:8px;gap:var(--space-xs);text-align:center}.card-area{padding:0 16px}.login-header{margin-bottom:32px}.login-logo-wrapper{margin-bottom:28px}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{opacity:1;visibility:visible}.hidden{opacity:0;visibility:hidden}.shimmer{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#ffffff08,#ffffff0f,#ffffff08);background-size:200% 100%;border-radius:12px;border-radius:var(--radius-lg);overflow:hidden;position:relative}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer-rect{height:200px;width:100%}.glass-effect{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff14}.glow-on-hover:hover{box-shadow:0 0 30px #00b8a94d}.radio-group{display:flex;flex-wrap:wrap;gap:12px;gap:var(--space-sm);margin-bottom:16px;margin-bottom:var(--space-md)}.radio-option{flex:1 1;min-width:-webkit-fit-content;min-width:fit-content;position:relative}.radio-option input[type=radio]{opacity:0;position:absolute}.radio-option label{background:#1e293b;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#cbd5e1;color:var(--text-secondary);cursor:pointer;display:block;font-size:14px;font-weight:500;padding:12px 20px;text-align:center;transition:all .2s ease;white-space:nowrap}.radio-option label:hover{background:#334155;background:var(--bg-tertiary);border-color:#3b82f6;border-color:var(--brand-primary);color:#f8fafc;color:var(--text-primary);transform:translateY(-1px)}.radio-option input[type=radio]:checked+label{background:#3b82f6;background:var(--brand-primary);border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);color:#fff;font-weight:600}.scan-type-selector{margin:24px 0;margin:var(--space-lg) 0}.input-label{color:#cbd5e1;color:var(--text-secondary);display:block;font-size:14px;font-weight:600;margin-bottom:12px;margin-bottom:var(--space-sm)}.security-header{margin-bottom:32px;margin-bottom:var(--space-xl)}.security-header-content{align-items:center;display:flex;gap:24px;gap:var(--space-lg)}.security-header-icon{align-items:center;background:#3b82f6;background:var(--brand-primary);border-radius:12px;border-radius:var(--radius-lg);box-shadow:var(--shadow-glow);display:flex;height:64px;justify-content:center;width:64px}.security-header-icon svg{color:#fff}.security-header-text{flex:1 1}.security-title{color:#f8fafc;color:var(--text-primary);font-size:32px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px;margin:0 0 var(--space-xs) 0}.security-subtitle{color:#cbd5e1;color:var(--text-secondary);font-size:16px;margin:0}.security-content{display:flex;flex-direction:column;gap:32px;gap:var(--space-xl)}.security-scanner-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293b;background:var(--bg-card);border:1px solid #ffffff0d;border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 20px 25px #0000004d;box-shadow:var(--shadow-xl);padding:32px;padding:var(--space-xl)}.scanner-form{gap:24px;gap:var(--space-lg)}.form-group,.scanner-form{display:flex;flex-direction:column}.form-group{gap:12px;gap:var(--space-sm)}.form-label{align-items:center;color:#cbd5e1;color:var(--text-secondary);display:flex;font-size:14px;font-weight:600;gap:8px;gap:var(--space-xs);letter-spacing:.05em;text-transform:uppercase}.form-input{background:#1e293b;background:var(--input-bg);border:1.5px solid #ffffff1a;border:1.5px solid var(--input-border);border-radius:8px;border-radius:var(--radius-md);color:#f8fafc;color:var(--text-primary);font-family:inherit;font-size:16px;padding:16px 20px;transition:all .3s ease;width:100%}.form-input:focus{border-color:#3b82f6;border-color:var(--input-focus-border);box-shadow:0 0 0 3px #00b8a91a,0 0 20px #00b8a926;outline:none}.form-input:disabled{cursor:not-allowed;opacity:.5}.scan-type-options{grid-gap:16px;grid-gap:var(--space-md);display:grid;gap:16px;gap:var(--space-md);grid-template-columns:repeat(3,1fr)}.scan-type-btn{align-items:center;background:#1e293b;background:var(--bg-secondary);border:2px solid #ffffff14;border-radius:12px;border-radius:var(--radius-lg);color:#cbd5e1;color:var(--text-secondary);cursor:pointer;display:flex;gap:16px;gap:var(--space-md);padding:24px;padding:var(--space-lg);transition:all .3s ease}.scan-type-btn:hover:not(:disabled){background:#00b8a90d;border-color:#00b8a966;box-shadow:0 4px 12px #00b8a933;transform:translateY(-2px)}.scan-type-btn.active{background:linear-gradient(135deg,#00b8a926,#1ab59f1a);border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 0 20px #00b8a933;color:#3b82f6;color:var(--brand-primary)}.scan-type-btn:disabled{cursor:not-allowed;opacity:.5}.scan-type-info{display:flex;flex-direction:column;gap:4px;text-align:left}.scan-type-name{color:currentColor;font-size:16px;font-weight:700}.scan-type-desc{color:#94a3b8;color:var(--text-muted);font-size:12px}.scan-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;border-radius:var(--radius-md);color:#fca5a5;font-size:14px;padding:16px;padding:var(--space-md)}.scan-btn,.scan-error{align-items:center;display:flex;gap:12px;gap:var(--space-sm)}.scan-btn{background:#3b82f6;background:var(--brand-primary);border:none;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 4px 12px #00b8a94d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;justify-content:center;padding:18px 32px;transition:all .3s ease}.scan-btn:hover:not(:disabled){box-shadow:0 6px 20px #00b8a980;transform:translateY(-2px)}.scan-btn:active:not(:disabled){transform:translateY(0)}.scan-btn:disabled{cursor:not-allowed;opacity:.6}.scan-progress{display:flex;flex-direction:column;gap:12px;gap:var(--space-sm)}.progress-info{align-items:center;display:flex;justify-content:space-between}.progress-label{color:#cbd5e1;color:var(--text-secondary);font-size:14px;font-weight:600}.progress-percent{color:#3b82f6;color:var(--brand-primary);font-size:14px;font-weight:700}.progress-bar{background:#ffffff0d;border-radius:100px;height:8px;overflow:hidden;width:100%}.progress-fill{background:#3b82f6;background:var(--brand-primary);border-radius:100px;box-shadow:0 0 10px #00b8a980;height:100%;transition:width .3s ease}.security-results{display:flex;flex-direction:column;gap:32px;gap:var(--space-xl)}.results-header{justify-content:space-between}.results-title{align-items:center;color:#f8fafc;color:var(--text-primary);display:flex;font-size:24px;font-weight:700;gap:12px;gap:var(--space-sm);margin:0}.download-report-btn{align-items:center;background:#1e293b;background:var(--bg-secondary);border:1.5px solid #ffffff1a;border-radius:8px;border-radius:var(--radius-md);color:#cbd5e1;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;gap:var(--space-xs);padding:12px 24px;transition:all .3s ease}.download-report-btn:hover{background:#00b8a90d;border-color:#3b82f6;border-color:var(--brand-primary);box-shadow:0 4px 12px #00b8a933;color:#3b82f6;color:var(--brand-primary)}.results-summary{grid-gap:16px;grid-gap:var(--space-md);display:grid;gap:16px;gap:var(--space-md);grid-template-columns:repeat(5,1fr)}.summary-card{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293b;background:var(--bg-card);border:2px solid #ffffff0d;border-radius:12px;border-radius:var(--radius-lg);display:flex;flex-direction:column;justify-content:center;padding:24px;padding:var(--space-lg);transition:all .3s ease}.summary-card:hover{box-shadow:0 20px 25px #0000004d;box-shadow:var(--shadow-xl);transform:translateY(-4px)}.summary-count{font-size:36px;font-weight:800;margin-bottom:8px;margin-bottom:var(--space-xs)}.summary-label{color:#94a3b8;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.severity-critical{border-color:#dc262666}.severity-critical .summary-count{color:#dc2626}.severity-high{border-color:#ef444466}.severity-high .summary-count{color:#ef4444}.severity-medium{border-color:#f59e0b66}.severity-medium .summary-count{color:#f59e0b}.severity-low{border-color:#3b82f666}.severity-low .summary-count{color:#3b82f6}.severity-info{border-color:#6b728066}.severity-info .summary-count{color:#6b7280}.compliance-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293b;background:var(--bg-card);border:1px solid #ffffff0d;border-radius:16px;border-radius:var(--radius-xl);padding:32px;padding:var(--space-xl)}.compliance-title{color:#f8fafc;color:var(--text-primary);font-size:20px;font-weight:700;margin:0 0 24px;margin:0 0 var(--space-lg) 0}.compliance-grid{grid-gap:24px;grid-gap:var(--space-lg);display:grid;gap:24px;gap:var(--space-lg)}.compliance-item{grid-gap:16px;grid-gap:var(--space-md);align-items:center;display:grid;gap:16px;gap:var(--space-md);grid-template-columns:120px 1fr 60px}.compliance-name{color:#cbd5e1;color:var(--text-secondary);font-size:14px;font-weight:600}.compliance-bar{height:24px}.compliance-fill{background:#3b82f6;background:var(--brand-primary);border-radius:100px;box-shadow:0 0 10px #00b8a980;height:100%;transition:width .5s ease}.compliance-score{color:#3b82f6;color:var(--brand-primary);font-size:14px;font-weight:700;text-align:right}.findings-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293b;background:var(--bg-card);border:1px solid #ffffff0d;border-radius:16px;border-radius:var(--radius-xl);padding:32px;padding:var(--space-xl)}.findings-title{color:#f8fafc;color:var(--text-primary);font-size:20px;font-weight:700;margin:0 0 24px;margin:0 0 var(--space-lg) 0}.findings-list{display:flex;flex-direction:column;gap:16px;gap:var(--space-md)}.finding-card{background:#1e293b;background:var(--bg-secondary);border-left:4px solid;border-radius:12px;border-radius:var(--radius-lg);padding:24px;padding:var(--space-lg);transition:all .3s ease}.finding-card:hover{box-shadow:0 10px 15px #0000004d;box-shadow:var(--shadow-lg);transform:translateX(4px)}.finding-card.severity-critical{border-left-color:#dc2626}.finding-card.severity-high{border-left-color:#ef4444}.finding-card.severity-medium{border-left-color:#f59e0b}.finding-card.severity-low{border-left-color:#3b82f6}.finding-card.severity-info{border-left-color:#6b7280}.finding-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--space-md)}.finding-severity{align-items:center;display:flex;gap:8px;gap:var(--space-xs)}.severity-badge{border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 10px}.finding-card.severity-critical .severity-badge{background:#dc262633;color:#fca5a5}.finding-card.severity-high .severity-badge{background:#ef444433;color:#fca5a5}.finding-card.severity-medium .severity-badge{background:#f59e0b33;color:#fcd34d}.finding-card.severity-low .severity-badge{background:#3b82f633;color:#93c5fd}.finding-card.severity-info .severity-badge{background:#6b728033;color:#d1d5db}.finding-cwe{color:#94a3b8;color:var(--text-muted);font-size:12px;font-weight:600}.finding-category{color:#f8fafc;color:var(--text-primary);font-size:18px;font-weight:700;margin:0 0 12px;margin:0 0 var(--space-sm) 0}.finding-description{color:#cbd5e1;color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 16px;margin:0 0 var(--space-md) 0}@media (max-width:1200px){.results-summary{grid-template-columns:repeat(3,1fr)}.scan-type-options{grid-template-columns:1fr}}@media (max-width:768px){.security-testing-container{padding:16px;padding:var(--space-md)}.security-header-content{flex-direction:column;text-align:center}.security-title{font-size:24px}.results-summary{grid-template-columns:repeat(2,1fr)}.compliance-item{gap:8px;gap:var(--space-xs);grid-template-columns:1fr}}.error-message{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;border-radius:var(--radius-md);color:#fca5a5;display:flex;font-size:14px;gap:12px;gap:var(--space-sm)}.error-message,.scan-progress-container{margin:16px 0;margin:var(--space-md) 0;padding:16px;padding:var(--space-md)}.scan-progress-container{background:#00b8a90d;border:1px solid #00b8a933;border-radius:8px;border-radius:var(--radius-md)}.progress-bar-wrapper{background:#ffffff0d;border-radius:100px;height:8px;margin-top:12px;margin-top:var(--space-sm);overflow:hidden;width:100%}.progress-bar-fill{background:#3b82f6;background:var(--brand-primary);border-radius:100px;box-shadow:0 0 10px #00b8a980;height:100%;transition:width .3s ease}.log-section{border:1px solid #ffffff1a;border-radius:8px;border-radius:var(--radius-md);margin:24px 0;margin:var(--space-lg) 0;overflow:hidden}.log-header{align-items:center;background:#00b8a91a;border-bottom:1px solid #00b8a933;color:#f8fafc;color:var(--text-primary);display:flex;font-size:14px;font-weight:600;gap:12px;gap:var(--space-sm);padding:16px;padding:var(--space-md)}.results-section{margin-top:32px;margin-top:var(--space-xl)}.results-header{align-items:center;color:#f8fafc;color:var(--text-primary);display:flex;font-size:18px;font-weight:700;gap:12px;gap:var(--space-sm);margin-bottom:24px;margin-bottom:var(--space-lg)}.results-summary-grid{grid-gap:16px;grid-gap:var(--space-md);display:grid;gap:16px;gap:var(--space-md);grid-template-columns:repeat(5,1fr);margin-bottom:32px;margin-bottom:var(--space-xl)}.findings-header{color:#f8fafc;color:var(--text-primary);font-size:16px;font-weight:700;margin:32px 0 16px;margin:var(--space-xl) 0 var(--space-md) 0}.finding-item{background:#1e293b;background:var(--bg-secondary);border-left:4px solid;border-radius:12px;border-radius:var(--radius-lg);margin-bottom:16px;margin-bottom:var(--space-md);padding:24px;padding:var(--space-lg);transition:all .3s ease}.finding-item:hover{box-shadow:0 10px 15px #0000004d;box-shadow:var(--shadow-lg);transform:translateX(4px)}.finding-item.severity-critical{border-left-color:#dc2626}.finding-item.severity-high{border-left-color:#ef4444}.finding-item.severity-medium{border-left-color:#f59e0b}.finding-item.severity-low{border-left-color:#3b82f6}.finding-item.severity-info{border-left-color:#6b7280}.finding-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--space-md)}.finding-severity-badge{align-items:center;border-radius:6px;display:flex;font-size:11px;font-weight:700;gap:8px;gap:var(--space-xs);letter-spacing:.05em;padding:4px 10px}.finding-item.severity-critical .finding-severity-badge{background:#dc262633;color:#fca5a5}.finding-item.severity-high .finding-severity-badge{background:#ef444433;color:#fca5a5}.finding-item.severity-medium .finding-severity-badge{background:#f59e0b33;color:#fcd34d}.finding-item.severity-low .finding-severity-badge{background:#3b82f633;color:#93c5fd}.finding-item.severity-info .finding-severity-badge{background:#6b728033;color:#d1d5db}.finding-title{color:#f8fafc;color:var(--text-primary);font-size:16px;font-weight:700;margin:0 0 12px;margin:0 0 var(--space-sm) 0}.finding-desc{color:#cbd5e1;color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 16px;margin:0 0 var(--space-md) 0}.finding-location,.finding-recommendation{color:#cbd5e1;color:var(--text-secondary);font-size:13px;line-height:1.5;margin-bottom:12px;margin-bottom:var(--space-sm)}.finding-location strong,.finding-recommendation strong{color:#f8fafc;color:var(--text-primary);font-weight:600}.finding-location code{background:#00b8a91a;border-radius:4px;color:#3b82f6;color:var(--brand-primary);font-family:Courier New,monospace;font-size:12px;padding:2px 8px}.compliance-header{color:#f8fafc;color:var(--text-primary);font-size:16px;font-weight:700;margin:32px 0 16px;margin:var(--space-xl) 0 var(--space-md) 0}.compliance-bars{grid-gap:16px;grid-gap:var(--space-md);display:grid;gap:16px;gap:var(--space-md)}.compliance-label{color:#cbd5e1;color:var(--text-secondary);font-size:14px;font-weight:600}.compliance-bar{background:#ffffff0d;border-radius:100px;height:20px;overflow:hidden;position:relative}.compliance-progress{background:#3b82f6;background:var(--brand-primary);border-radius:100px;box-shadow:0 0 10px #00b8a980;height:100%;transition:width .5s ease}.compliance-value{color:#3b82f6;color:var(--brand-primary);font-size:14px;font-weight:700;text-align:right}[data-theme=light] .scan-progress-container{background:#00b8a914;border-color:#00b8a940}[data-theme=light] .log-header{background:#00b8a91f;border-bottom-color:#00b8a940}[data-theme=light] .finding-item{background:#fffc;box-shadow:0 2px 8px #0000000f}[data-theme=light] .error-message{background:#ef444414;border-color:#ef444440;color:#dc2626}.two-pane-left{background:#f8fafc;background:var(--bg-body,#f8fafc);padding:32px!important}.tab-content-wrapper{margin:0 auto;max-width:1200px;width:100%}.submit-wrapper{display:flex;gap:16px;justify-content:flex-end;margin-top:24px}.monitor-header{margin-bottom:32px!important}.submit-btn{min-width:100px;padding:0 24px!important;width:auto!important}.screen-actions{display:flex;gap:8px;margin-left:auto}.tab-content-wrapper{margin:0!important;max-width:100%!important;padding-bottom:40px}.two-pane-left{padding:40px!important}.odoo-environments{max-width:100%!important}.primary-btn,.submit-btn{align-items:center!important;border-radius:12px!important;display:flex!important;font-size:16px!important;font-weight:700!important;height:52px!important;justify-content:center!important;letter-spacing:.5px;padding:0 32px!important}.screen-actions button{height:44px!important}.premium-search-wrapper{align-items:center!important;display:flex!important;position:relative!important}.premium-search-wrapper input{background:#ffffff0d!important;border-radius:8px!important;font-size:14px!important;height:40px!important;padding-left:48px!important;width:100%!important}.premium-search-wrapper input:focus{background:#ffffff1a!important;border-color:#ffffff4d!important;outline:none!important}.premium-search-icon{color:#94a3b8!important;height:18px!important;left:16px!important;pointer-events:none!important;position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:18px!important}.modal-content{border-radius:20px!important;box-shadow:0 20px 50px #00000026!important;display:flex!important;flex-direction:column!important;max-height:85vh!important;overflow:hidden!important}.modal-header{border-bottom:1px solid #ffffff1a!important;border-bottom:1px solid var(--border-color)!important;flex-shrink:0!important}.modal-body,.modal-header{padding:24px 32px!important}.modal-body{flex:1 1!important;overflow-y:auto!important}.modal-footer{background:#1e293b!important;background:var(--bg-card,#fff)!important;border-top:1px solid #ffffff1a!important;border-top:1px solid var(--border-color)!important;display:flex!important;flex-shrink:0!important;gap:16px!important;justify-content:flex-end!important;padding:24px 32px!important}.modal-body input{border-radius:10px!important;height:48px!important}.active-connections-section{border:none!important;margin-bottom:32px!important;padding:0!important}.active-connections-title span{color:#f8fafc!important;color:var(--text-primary)!important;font-size:18px!important;font-weight:700!important}.active-connections-grid{display:flex!important;flex-wrap:nowrap!important;gap:16px!important;overflow-x:auto!important;padding:4px 4px 16px!important}.active-connections-grid::-webkit-scrollbar{height:6px}.active-connections-grid::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.active-connection-card{background:#1e293b!important;border:1px solid #334155!important;display:flex!important;flex-direction:column!important;gap:12px!important;max-width:260px!important;min-width:260px!important;padding:20px!important;position:relative!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important}.active-connection-card:hover{border-color:#3b82f6!important;box-shadow:0 10px 25px -5px #3b82f64d!important;transform:translateY(-4px)!important}.active-connection-card:before{background:#10b981!important;bottom:0!important;content:""!important;left:0!important;opacity:1!important;position:absolute!important;top:0!important;width:4px!important}.active-connection-status{align-items:center!important;display:flex!important;gap:12px!important}.status-dot{animation:pulse-green 2s infinite!important;background:#10b981!important;border-radius:50%!important;box-shadow:0 0 12px #10b98199!important;flex-shrink:0!important;height:10px!important;width:10px!important}@keyframes pulse-green{0%{box-shadow:0 0 0 0 #10b981b3}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 0 0 #10b98100}}.active-connection-name{color:#f8fafc!important;font-size:16px!important;font-weight:700!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.active-connection-time{color:#94a3b8!important;font-size:13px!important;margin-top:auto!important}.active-connection-time:before{content:"??";font-size:12px}.kasm-workspace-container{background:#0000!important;flex-direction:column!important}.active-connection-time{align-items:center!important;display:flex!important;gap:6px!important}.kasm-workspace-container input{background:#1e293b!important;border:1px solid #334155!important;box-shadow:0 4px 6px -1px #0000001a!important;color:#f8fafc!important;height:52px!important}.kasm-workspace-container input:focus{background:#1e293b!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f633!important}.kasm-workspace-container .premium-search-wrapper{max-width:600px!important}.kasm-workspace-container .env-search-row{background:#0000!important;border:none!important;margin-bottom:32px!important;padding:0!important}.kasm-workspace-container .env-count-inline{border-left:1px solid #475569!important;color:#94a3b8!important}.kasm-workspace-container .title{color:#fff!important;font-size:32px!important;font-weight:800!important;letter-spacing:-.02em!important;margin-bottom:8px!important}.kasm-workspace-container .subtitle{color:#94a3b8!important;font-size:16px!important;margin-bottom:32px!important}.kasm-workspace-container .title div{background:#0000!important;padding:0!important}.kasm-workspace-container .title svg{color:#3b82f6!important;height:32px!important;width:32px!important}.kasm-workspace-container{align-items:flex-start!important;border:none!important;box-shadow:none!important;box-sizing:border-box;display:flex!important;flex-direction:row!important;gap:40px!important;padding:32px 40px!important}.kasm-dashboard-layout{display:flex;gap:40px;min-height:calc(100vh - 120px);width:100%}.active-connections-section{display:flex;flex-direction:column;flex-shrink:0;width:260px}.active-connections-grid{display:flex;flex-direction:column;gap:16px}.active-connection-card{background:#1e293b;border:1px solid #334155;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;cursor:pointer;display:flex;flex-direction:column;height:160px;overflow:hidden;transition:all .2s ease}.active-connection-card:hover{border-color:#3b82f6;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.env-list{display:flex;flex-direction:column;gap:12px}.kasm-card{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e293bb3;border:1px solid #ffffff1a;cursor:pointer;height:72px;padding:12px 20px;transition:all .2s cubic-bezier(.4,0,.2,1)}.kasm-card:hover{background:#1e293be6;border-color:#fff3;box-shadow:0 4px 6px -1px #0000001a;transform:translateX(4px)}.kasm-card:active{transform:scale(.99)}.premium-search-wrapper input{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e293bcc!important;border:1px solid #ffffff1a!important;color:#fff!important}.premium-search-wrapper input:focus{background:#1e293bf2!important;border-color:#3b82f6!important;box-shadow:0 0 0 2px #3b82f633!important}.kasm-dashboard-layout ::-webkit-scrollbar{width:6px}.kasm-dashboard-layout ::-webkit-scrollbar-track{background:#0000}.kasm-dashboard-layout ::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.kasm-dashboard-layout ::-webkit-scrollbar-thumb:hover{background:#fff3}.main-content.kasm-main{background-color:initial!important;padding:0!important}.main-content.kasm-main:before{display:none!important}.active-connections-section.kasm-sidebar{background:#0000!important;background-color:initial!important;border:none!important;box-shadow:none!important;width:350px!important}.two-pane-left.kasm-mode-pane{background:#0000!important;max-width:none!important;min-width:100%!important;padding:0!important;width:100%!important}.kasm-workspace-container{border-radius:0!important;margin:0!important}.kasm-card{-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;background:#0f172a99!important;border:1px solid #ffffff14!important;box-shadow:0 4px 6px -1px #0000001a!important}.kasm-card:hover{background:#0f172acc!important;border-color:#3b82f666!important;box-shadow:0 10px 15px -3px #0000001a!important;transform:translateY(-2px)!important}.kasm-action-btn-launch{background:linear-gradient(135deg,#3b82f61a,#2563eb33)!important;border:1px solid #3b82f64d!important;border-radius:6px!important;color:#60a5fa!important;cursor:pointer;flex-shrink:0!important;font-size:12px!important;font-weight:700!important;letter-spacing:.05em;padding:8px 16px!important;transition:all .2s ease!important;white-space:nowrap!important}.kasm-action-btn-launch:hover{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;border-color:#0000!important;box-shadow:0 0 12px #3b82f666!important;color:#fff!important}.active-connection-card{background:#1e293b99!important;border:1px solid #ffffff1a!important;border-radius:12px!important;cursor:pointer!important;height:auto!important;margin-bottom:12px!important;min-height:80px!important;overflow:hidden!important;transition:all .2s ease!important}.active-connection-card:hover{background:#1e293be6!important;border-color:#3b82f680!important;transform:translateY(-2px)}.active-connections-grid{padding-right:10px}.main-content.kasm-main{padding-top:0!important}.kasm-header{background:#1e293bf2!important;border-bottom:1px solid #ffffff1a!important;box-shadow:0 4px 20px #0000004d}.kasm-workspace-container{background-attachment:fixed!important;left:0;min-height:100vh!important;padding-top:80px!important;position:absolute!important;top:0;width:100%!important;z-index:0}.env-list{grid-gap:20px!important;display:grid!important;gap:20px!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important;padding-right:40px;width:100%!important}.kasm-card{background:#0f172acc!important;border-radius:12px!important;cursor:pointer!important;display:flex!important;margin:0!important;min-height:140px!important;overflow:hidden!important;padding:0!important}.kasm-card,.kasm-card.env-card{align-items:stretch!important;flex-direction:column!important}.kasm-card.env-card{height:auto!important;padding-bottom:20px!important}.kasm-card:hover{background:#1e293bf2!important;border:1px solid #3b82f6!important;box-shadow:0 0 15px #3b82f666!important}.kasm-card-main-area{justify-content:flex-start!important;width:100%}.env-card-icon{background:#0000!important;height:48px!important;margin-right:16px!important;width:48px!important}.env-name{color:#fff!important;font-size:15px!important;font-weight:700!important}.env-meta{color:#94a3b8!important;font-size:12px!important}.kasm-card-actions{border-left:none!important;border-top:1px solid #ffffff1a!important;flex-shrink:0!important;justify-content:flex-end!important;margin-left:0!important;margin-top:auto!important;padding-left:0!important;padding-top:12px!important;width:100%!important}.kasm-action-btn{align-items:center!important;background:#3b82f633!important;border:1px solid #3b82f64d!important;border-radius:6px!important;color:#60a5fa!important;cursor:pointer!important;display:flex!important;flex-shrink:0!important;font-size:12px!important;font-weight:600!important;gap:6px!important;letter-spacing:.05em!important;padding:6px 16px!important;transition:all .2s!important;white-space:nowrap!important}.kasm-action-btn:hover{background:#3b82f666!important;border-color:#3b82f699!important;color:#fff!important}.active-connections-section{background:#0000!important;min-width:350px!important;width:350px!important}body{background-color:#0f172a!important}.kasm-header{align-items:center!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;display:flex!important;height:64px!important;justify-content:space-between!important;left:0!important;padding:0 24px!important;position:fixed!important;right:0!important;top:0!important;z-index:1000!important}.kasm-card.add-new-card{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#0000!important;border:2px dashed #fff3!important;box-shadow:none!important;transition:all .2s ease-in-out}.kasm-card.add-new-card:hover{background:#3b82f60d!important;border-color:#3b82f6!important;color:#3b82f6!important;transform:translateY(-2px)}.kasm-card.add-new-card .add-icon-circle{background:#ffffff0d;color:#94a3b8;transition:all .2s}.kasm-card.add-new-card:hover .add-icon-circle{background:#3b82f61a;color:#3b82f6}.login-screen{background:#111827!important;flex-direction:row!important;height:100vh;overflow:hidden;padding:0!important;width:100vw}.kasm-login-panel{background:#1e2538;box-shadow:4px 0 24px #0003;display:flex;flex-direction:column;flex-shrink:0;height:100%;justify-content:center;padding:60px;position:relative;width:450px;z-index:10}.kasm-login-header{margin-bottom:40px}.kasm-login-title{color:#cbd5e1;font-size:32px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}.kasm-form-group{margin-bottom:24px}.kasm-label{color:#94a3b8;display:block;font-size:13px;font-weight:700;margin-bottom:8px;text-transform:capitalize}.kasm-label .required-star{color:#ef4444;margin-left:4px}.kasm-input{background:#111827;border:1px solid #2d3748;border-radius:6px;color:#f1f5f9;font-size:14px;height:48px;padding:0 16px;transition:all .2s ease;width:100%}.kasm-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;outline:none}.kasm-input::placeholder{color:#475569}.kasm-input.otp-input{font-family:monospace;font-size:18px;letter-spacing:4px;text-align:center}.kasm-login-btn{align-items:stretch;border:none;border-radius:6px;cursor:pointer;display:flex;height:48px;margin-top:12px;overflow:hidden;padding:0;transition:transform .1s ease;width:100%}.kasm-btn-icon{background:#2563eb;width:48px}.kasm-btn-icon,.kasm-btn-text{align-items:center;color:#fff;display:flex;justify-content:center}.kasm-btn-text{background:#3b82f6;flex:1 1;font-size:15px;font-weight:600;transition:background .2s ease}.kasm-login-btn:hover .kasm-btn-text{background:#2563eb}.kasm-brand-panel{align-items:center;background-color:#171e2e;background-image:radial-gradient(circle at 50% 50%,#ffffff05 0,#0000 100%),repeating-linear-gradient(45deg,#00000005,#00000005 2px,#0000 0,#0000 4px);display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:center;overflow:hidden;position:relative}.kasm-brand-content{animation:fadeIn .8s ease-out;text-align:center}.kasm-logo-large{align-items:center;display:flex;gap:20px;margin-bottom:24px}.kasm-logo-icon{color:#fff;height:80px;width:80px}.kasm-logo-text{align-items:flex-start;color:#fff;display:flex;flex-direction:column;font-size:48px;font-weight:300;line-height:1}.kasm-logo-text strong{font-weight:700}.kasm-tagline{color:#64748b;font-size:16px;letter-spacing:.5px}@media (max-width:900px){.kasm-brand-panel{display:none}.kasm-login-panel{background:#0000;box-shadow:none;margin:0 auto;max-width:500px;width:100%}.login-screen{background:#1e2538!important;justify-content:center}}.kasm-header-left{align-items:center;display:flex;gap:32px}.kasm-nav,.kasm-nav-btn{display:flex;gap:8px}.kasm-nav-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;opacity:.7;padding:8px 16px;transition:all .2s}.kasm-nav-btn:hover{background:#ffffff1a;opacity:1}.kasm-nav-btn.active{background:#ffffff26;font-weight:700;opacity:1}@media (max-width:768px){.kasm-header{padding:0 16px!important}.kasm-header-left{gap:16px!important}.kasm-nav-label{display:none!important}.kasm-nav-btn{height:36px!important;justify-content:center!important;padding:8px!important;width:36px!important}.kasm-nav-btn svg{margin:0!important}.kasm-nav{gap:12px!important}}@media (max-width:480px){.kasm-header{padding:0 12px!important}.kasm-header-left{gap:12px!important}.kasm-search-box:focus-within,.kasm-search-box:hover{background:#0f172a!important;border:1px solid #fff3;box-shadow:0 4px 12px #00000080;left:48px;position:absolute;width:200px!important;z-index:50}}.app-sidebar{background:#1e293b;border-right:1px solid #334155;box-shadow:4px 0 24px #0003;display:flex;flex-direction:column;height:100vh;min-width:280px;position:-webkit-sticky;position:sticky;top:0;transition:width .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:50}.app-sidebar.collapsed{min-width:80px;width:80px}.sidebar-header{align-items:center;border-bottom:1px solid #334155;display:flex;height:80px;justify-content:space-between;padding:0 24px}.app-sidebar.collapsed .sidebar-header{justify-content:center;padding:0}.sidebar-brand{gap:14px;overflow:hidden}.brand-icon,.sidebar-brand{align-items:center;display:flex}.brand-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;box-shadow:0 0 15px #3b82f64d;color:#fff;flex-shrink:0;font-size:22px;font-weight:800;height:40px;justify-content:center;width:40px}.brand-text{display:flex;flex-direction:column;opacity:1;transition:opacity .2s;white-space:nowrap}.brand-title{color:#f8fafc;font-size:17px;font-weight:700;line-height:1.2;margin:0}.brand-subtitle{color:#94a3b8;font-size:12px;font-weight:500;letter-spacing:.5px;margin:0;text-transform:uppercase}.collapse-btn{align-items:center;background:#0000;border:1px solid #334155;border-radius:8px;color:#94a3b8;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.collapse-btn:hover{background:#334155;color:#f8fafc}.app-sidebar.collapsed .collapse-btn{background:#1e293b;border-color:#334155;display:flex;position:absolute;right:-16px;top:28px;z-index:60}.sidebar-nav{flex:1 1;overflow-y:auto;padding:24px 0}.sidebar-menu{gap:8px}.sidebar-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:14px;color:#cbd5e1;cursor:pointer;display:flex;font-family:inherit;justify-content:space-between;margin:0 16px 8px;padding:14px 20px;text-align:left;transition:all .2s cubic-bezier(.4,0,.2,1);width:calc(100% - 32px)}.sidebar-item:hover{background:#ffffff0d;color:#fff}.sidebar-item.active{background:#2563eb!important;border:1px solid #ffffff1a;box-shadow:0 8px 20px #2563eb4d;color:#fff!important}.sidebar-item.active .sidebar-item-icon{color:#fff}.sidebar-item-content{align-items:center;display:flex;gap:16px;overflow:hidden}.sidebar-item-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.sidebar-item-label{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar.collapsed .sidebar-item{justify-content:center;margin:0 10px 8px;padding:16px;width:calc(100% - 20px)}.sidebar-badge{background:#ef4444;border-radius:12px;color:#fff;font-size:11px;font-weight:700;min-width:20px;padding:2px 8px;text-align:center}.sidebar-item.active .sidebar-badge{background:#fff;color:#2563eb}.sidebar-footer{background:#1e293b;border-top:1px solid #334155;padding:24px}.user-profile{align-items:center;border-radius:12px;display:flex;gap:14px;margin-bottom:20px;padding:10px;transition:background .2s}.user-profile:hover{background:#ffffff0d}.app-sidebar.collapsed .user-profile{display:none}.user-avatar{align-items:center;background:#334155;border:2px solid #1e293b;border-radius:14px;box-shadow:0 0 0 1px #475569;color:#60a5fa;display:flex;font-size:16px;font-weight:700;height:44px;justify-content:center;position:relative;width:44px}.user-details,.user-name{overflow:hidden}.user-name{color:#f8fafc;font-size:15px;font-weight:700;margin:0;text-overflow:ellipsis;white-space:nowrap}.user-role{color:#94a3b8;font-size:12px;font-weight:500;margin:0}.sidebar-actions{display:flex;gap:10px}.app-sidebar.collapsed .sidebar-actions{flex-direction:column}.sidebar-logout,.sidebar-sessions{align-items:center;background:#0000;border:2px solid #334155;border-radius:10px;color:#cbd5e1;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;height:44px;justify-content:center;transition:all .2s}.sidebar-logout:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.sidebar-sessions:hover{background:#0ea5e91a;border-color:#38bdf8;color:#38bdf8}.toast{align-items:center;animation:slideInTop .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;background:#0f172af2!important;border:1px solid #ffffff1a!important;border-radius:12px!important;box-shadow:0 10px 30px #00000080,0 0 0 1px #ffffff0d!important;color:#f8fafc!important;display:flex;gap:16px;left:50%;max-width:500px;min-width:340px;padding:16px 20px;position:fixed;top:24px;transform:translateX(-50%);z-index:10000}.toast-message{color:#e2e8f0!important;flex:1 1;font-size:14px;font-weight:500;line-height:1.5}.toast-close,.toast-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.toast-close{background:#0000!important;border:none!important;border-radius:4px;color:#94a3b8!important;cursor:pointer;font-size:20px;padding:4px;transition:all .2s}.toast-close:hover{background:#ffffff1a!important;color:#fff!important}.toast-success{background:#0f172afa!important;border:1px solid #10b98133!important}.toast-success .toast-icon{color:#34d399!important}.toast-error{border:1px solid #ef444433!important}.toast-error .toast-icon{color:#f87171!important}.toast-warning{border:1px solid #f59e0b33!important}.toast-warning .toast-icon{color:#fbbf24!important}.toast-info,.toast-loading{border:1px solid #3b82f633!important}.toast-info .toast-icon,.toast-loading .toast-icon{color:#60a5fa!important}@keyframes slideInTop{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.spinning{animation:spin 1s linear infinite}@media (max-width:768px){.toast{left:16px;max-width:none;min-width:auto;right:16px;top:16px;transform:none}}.odoo-environments{width:100%}.env-list{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));padding:20px 0}.kasm-card{background:#1e293b;border:1px solid #334155;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:20px;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.kasm-card:hover{border-color:#475569;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.env-card-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:16px}.env-card-icon{align-items:center;background:#7c3aed1a;border:1px solid #7c3aed33;border-radius:10px;color:#a78bfa;display:flex;flex-shrink:0;font-size:11px;font-weight:800;height:48px;justify-content:center;width:48px}.env-card-name{color:#f8fafc;display:flex;flex-direction:column;font-size:16px;font-weight:700;gap:4px;word-break:break-all}.protocol-badge{align-items:center;background:#334155;color:#94a3b8;display:inline-flex;font-size:10px;padding:2px 6px;width:-webkit-fit-content;width:fit-content}.header-actions{display:flex;gap:6px;margin-left:auto;opacity:0;transition:opacity .2s}.kasm-card:hover .header-actions{opacity:1}.icon-btn{background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;padding:6px;transition:all .2s}.icon-btn:hover{background:#334155;color:#f8fafc}.delete-btn:hover{background:#ef44441a;color:#ef4444}.env-card-meta{border-bottom:1px solid #334155;margin-top:auto;padding-bottom:20px}.env-card-ip{align-items:center;color:#94a3b8;display:flex;font-size:13px}.env-card-ip a{color:inherit;text-decoration:none;transition:color .2s}.env-card-ip a:hover{color:#38bdf8}.env-card-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;padding-top:16px}.kasm-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;height:40px;justify-content:center;transition:all .2s}.kasm-btn.primary{background:#2563eb;color:#fff}.kasm-btn.primary:hover{background:#1d4ed8}.kasm-btn.secondary{background:#334155;border:1px solid #0000;color:#e2e8f0}.kasm-btn.secondary:hover{background:#475569;color:#fff}@media (max-width:1200px){.env-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.recent-connections-container{background:#0000;margin-bottom:40px;padding:0}.recent-connections-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.recent-connections-header h2{font-size:18px;font-weight:600;gap:10px;letter-spacing:.5px;margin:0}.current-user,.recent-connections-header h2{align-items:center;color:var(--text-primary);display:flex}.current-user{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;gap:8px;padding:8px 16px}.user-icon{font-size:16px}.recent-connections-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:0}.connection-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.connection-card:hover{border-color:var(--primary-color);box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.remove-btn{align-items:center;background:#ef4444e6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;justify-content:center;opacity:0;padding:6px;position:absolute;right:8px;top:8px;transition:all .2s ease;z-index:10}.connection-card:hover .remove-btn{opacity:1}.remove-btn:hover{background:#dc2626;transform:scale(1.1)}.connection-thumbnail{align-items:center;background:#1a1a1a;border-bottom:1px solid var(--border-color);display:flex;height:120px;justify-content:center;overflow:hidden;width:100%}.connection-thumbnail img{height:100%;object-fit:cover;width:100%}.thumbnail-placeholder{align-items:center;color:#4a5568;display:flex;height:100%;justify-content:center;width:100%}.connection-info{padding:12px}.connection-name{color:var(--text-primary);font-size:15px;font-weight:600;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-ip{color:var(--text-secondary);font-family:Courier New,monospace;font-size:13px;margin-bottom:10px}.connection-meta{align-items:center;display:flex;gap:8px;justify-content:space-between}.protocol-badge{background:var(--primary-color);border-radius:4px;color:#fff;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}.last-connected{color:var(--text-muted);font-size:12px}.recent-connections-empty{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.empty-icon{color:var(--text-muted);margin-bottom:20px;opacity:.5}.recent-connections-empty h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 10px}.recent-connections-empty p{color:var(--text-secondary);font-size:14px;margin:0}@media (max-width:1200px){.recent-connections-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:768px){.recent-connections-container{padding:15px}.recent-connections-header{align-items:flex-start;flex-direction:column;gap:15px}.recent-connections-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.connection-thumbnail{height:140px}}@media (max-width:480px){.recent-connections-grid{grid-template-columns:1fr}}.vnc-viewer-container{background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;height:100%;left:0;overflow:hidden;position:fixed;top:0;width:100%}.vnc-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#1e1e2ef2,#16213ef2);border-bottom:1px solid #ffffff1a;box-shadow:0 4px 24px #0000004d;justify-content:space-between;padding:12px 24px;transition:all .3s ease;z-index:100}.vnc-header,.vnc-info{align-items:center;display:flex}.vnc-info{gap:20px}.vnc-title{color:#fff;font-size:16px;font-weight:600;gap:12px;letter-spacing:.3px}.vnc-icon,.vnc-title{align-items:center;display:flex}.vnc-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 4px 12px #667eea4d;height:32px;justify-content:center;width:32px}.vnc-icon svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.vnc-status{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;color:#fffc;display:flex;font-size:14px;gap:8px;padding:6px 16px}.status-indicator{animation:pulse-status 2s ease-in-out infinite;border-radius:50%;height:8px;width:8px}.status-indicator.connected{background:#10b981;box-shadow:0 0 12px #10b98199}.status-indicator.disconnected{background:#ef4444;box-shadow:0 0 12px #ef444499}@keyframes pulse-status{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.vnc-control-btn,.vnc-controls{align-items:center;display:flex;gap:8px}.vnc-control-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;overflow:hidden;padding:10px 20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.vnc-control-btn:before{background:#ffffff1a;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.vnc-control-btn:hover:before{height:300px;width:300px}.vnc-control-btn:hover{background:#ffffff26;border-color:#ffffff4d;box-shadow:0 8px 16px #0000004d;transform:translateY(-2px)}.vnc-control-btn:active{transform:translateY(0)}.vnc-control-btn:disabled{cursor:not-allowed;opacity:.4;transform:none!important}.vnc-control-btn.close-btn{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#0000;box-shadow:0 4px 12px #ef44444d}.vnc-control-btn.close-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 8px 20px #ef444466}.vnc-canvas-container{background:#0f0f1e;flex:1 1;overflow:hidden;padding-top:60px;position:relative}.vnc-canvas,.vnc-canvas-container{align-items:center;display:flex;justify-content:center}.vnc-canvas{height:100%;width:100%}.vnc-canvas canvas{box-shadow:0 8px 32px #0006;max-height:100%;max-width:100%;object-fit:contain}.vnc-overlay{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#0f0f1ef2,#16213ef2);display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:50}.vnc-overlay-content{color:#fff;text-align:center}.vnc-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff1a;border-radius:50%;border-top-color:#667eea;box-shadow:0 0 20px #667eea4d;height:60px;margin:0 auto 24px;width:60px}@keyframes spin{to{transform:rotate(1turn)}}.vnc-overlay-content p{color:#ffffffe6;font-size:16px;font-weight:500;letter-spacing:.3px}.rdp-canvas,.rdp-canvas canvas{max-height:100%!important;max-width:100%!important}.rdp-canvas canvas{cursor:none!important;height:auto!important;image-rendering:auto!important;object-fit:contain!important;width:auto!important}.guac-cursor,.guac-cursor-layer{display:none!important}@media (max-width:768px){.vnc-header{flex-direction:column;gap:12px;padding:10px 16px}.vnc-info{justify-content:space-between;width:100%}.vnc-controls{flex-wrap:wrap;justify-content:flex-end;width:100%}.vnc-control-btn{font-size:13px;padding:8px 16px}.vnc-title{font-size:14px}}.error-overlay{animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#1e1e28fa,#14141efa)!important;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.error-overlay-content{align-items:center;animation:slideUp .4s ease-out;display:flex;flex-direction:column;justify-content:center;max-width:600px;padding:60px 40px;text-align:center}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.error-icon{animation:pulse 2s ease-in-out infinite;color:#ff6b6b;filter:drop-shadow(0 4px 12px rgba(255,107,107,.4));margin-bottom:30px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.error-message{color:#fff;font-size:18px;font-weight:500;letter-spacing:.3px;line-height:1.6;margin-bottom:24px;text-shadow:0 2px 8px #0000004d}.reconnect-message{animation:glow 2s ease-in-out infinite;background:#ffd93d1a;border:1px solid #ffd93d4d;border-radius:8px;color:#ffd93d;font-size:15px;font-weight:600;margin-bottom:35px;padding:12px 24px}@keyframes glow{0%,to{box-shadow:0 0 10px #ffd93d33}50%{box-shadow:0 0 20px #ffd93d66}}.error-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.error-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:2px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;min-width:140px;overflow:hidden;padding:14px 32px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.error-btn:before{background:#ffffff1a;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.error-btn:hover:before{height:300px;width:300px}.error-btn:hover{background:#ffffff26;border-color:#fff6;box-shadow:0 8px 24px #0000004d;transform:translateY(-2px)}.error-btn:active{transform:translateY(0)}.error-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 16px #667eea66}.error-btn.primary:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 12px 32px #667eea80;transform:translateY(-3px)}@media (max-width:600px){.error-overlay-content{padding:40px 20px}.error-message{font-size:16px}.error-btn{font-size:14px;min-width:120px;padding:12px 24px}.error-actions{gap:12px}}.vnc-viewer-container:fullscreen .vnc-header{left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:10000}.vnc-viewer-container:fullscreen .vnc-header:hover{opacity:1;pointer-events:all}.vnc-viewer-container:fullscreen .rdp-canvas,.vnc-viewer-container:fullscreen .vnc-canvas{align-items:center!important;display:flex!important;height:100%!important;justify-content:center!important;position:relative!important;width:100%!important}.vnc-viewer-container:fullscreen canvas{height:auto!important;left:auto!important;max-height:100vh!important;max-width:100vw!important;object-fit:contain!important;position:relative!important;top:auto!important;transform:none!important;width:auto!important}.vnc-viewer-container:fullscreen .guac-display{align-items:center!important;display:flex!important;height:100%!important;justify-content:center!important;width:100%!important}.vnc-viewer-container:fullscreen .guac-display>canvas{height:auto!important;max-height:100vh!important;max-width:100vw!important;width:auto!important}.vnc-viewer-container:fullscreen .vnc-canvas>*{height:auto!important;max-height:100vh!important;max-width:100vw!important;width:auto!important}.vnc-viewer-container:fullscreen .vnc-canvas canvas,.vnc-viewer-container:fullscreen .vnc-canvas>canvas,.vnc-viewer-container:fullscreen canvas[data-noVNC-canvas]{height:auto!important;margin:auto!important;max-height:100vh!important;max-width:100vw!important;object-fit:contain!important;position:relative!important;width:auto!important}.vnc-viewer-container:fullscreen{background:#000!important;height:100vh!important;overflow:hidden!important;width:100vw!important}.vnc-viewer-container:fullscreen .vnc-canvas-container{align-items:center!important;background:#000!important;bottom:0!important;display:flex!important;height:100vh!important;justify-content:center!important;left:0!important;margin:0!important;overflow:hidden!important;padding:0!important;position:fixed!important;right:0!important;top:0!important;width:100vw!important}.vnc-viewer-container:fullscreen .vnc-canvas{align-items:center!important;display:flex!important;height:100%!important;justify-content:center!important;margin:0!important;max-height:100vh!important;max-width:100vw!important;overflow:hidden!important;padding:0!important;position:relative!important;width:100%!important}.vnc-viewer-container:fullscreen .vnc-canvas canvas{display:block!important;margin:0 auto!important;position:relative!important}.vnc-viewer-container:fullscreen .vnc-header{left:0!important;opacity:0!important;pointer-events:none!important;position:fixed!important;right:0!important;top:0!important;transition:opacity .3s ease!important;z-index:10000!important}.vnc-viewer-container:fullscreen .vnc-header:hover{opacity:1!important;pointer-events:all!important}