:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}body{margin:0;min-width:320px;min-height:100vh;background-color:#f8fafc}*{box-sizing:border-box}:root{color-scheme:light dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--border-primary: #e2e8f0;--border-secondary: rgba(229, 231, 235, .8);--accent-primary: #3b82f6;--accent-secondary: #1e40af;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--sidebar-bg: #ffffff;--sidebar-text: #64748b;--card-shadow: 0 1px 3px rgba(0, 0, 0, .1)}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--border-primary: #334155;--border-secondary: rgba(51, 65, 85, .8);--accent-primary: #3b82f6;--accent-secondary: #60a5fa;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--sidebar-bg: #0f172a;--sidebar-text: #64748b;--card-shadow: 0 4px 12px rgba(0, 0, 0, .3)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background-color .3s ease,color .3s ease}#root{width:100%;min-height:100vh}.app{width:100%;min-height:100vh;background-color:var(--bg-primary)}.card{background:var(--bg-secondary);border-radius:16px;padding:1.75rem;box-shadow:var(--card-shadow);border:1px solid var(--border-primary);display:flex;flex-direction:column;gap:.75rem;transition:background-color .3s ease,border-color .3s ease}.card h2{margin:0;font-size:1.4rem;color:var(--text-primary)}.card p{margin:0;color:var(--text-secondary)}.app-footer{text-align:left;color:var(--text-tertiary)}code{font-family:Fira Code,JetBrains Mono,SFMono-Regular,Monaco,Consolas,Liberation Mono,monospace;background:var(--bg-tertiary);border-radius:6px;padding:.15rem .35rem;color:var(--text-primary)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:24px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}.login-container:after{content:"";position:absolute;bottom:-30%;left:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.login-card{width:100%;max-width:440px;background:var(--bg-secondary);border-radius:24px;box-shadow:0 20px 60px #00000026;border:1px solid var(--border-secondary);padding:48px 40px;position:relative;z-index:1;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:40px}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:20px;margin-bottom:24px;box-shadow:0 8px 24px #3b82f64d}.login-logo svg{color:#fff}.login-title{font-size:28px;font-weight:800;color:var(--text-primary);margin:0 0 8px;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:15px;color:var(--text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:24px}.error-alert{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:12px;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.error-alert svg{color:#ef4444;flex-shrink:0;margin-top:2px}.error-alert-text{font-size:14px;color:#dc2626;font-weight:500;margin:0}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.form-input{width:100%;padding:14px 16px;font-size:15px;color:var(--text-primary);background:var(--bg-primary);border:2px solid var(--border-secondary);border-radius:12px;transition:all .2s ease;outline:none}.form-input::placeholder{color:var(--text-tertiary)}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;background:var(--bg-secondary)}.form-input:disabled{opacity:.6;cursor:not-allowed}.forgot-password-link{display:inline-block;font-size:14px;font-weight:500;color:#3b82f6;text-decoration:none;transition:all .2s ease;align-self:flex-end;margin-top:-8px}.forgot-password-link:hover{color:#1d4ed8;transform:translate(2px)}.submit-button{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #3b82f64d;margin-top:8px}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-secondary)}.login-footer-text{font-size:14px;color:var(--text-secondary);margin:0}.login-footer-link{color:#3b82f6;font-weight:600;text-decoration:none;transition:all .2s ease}.login-footer-link:hover{color:#1d4ed8;text-decoration:underline}.submit-button .spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:8px}[data-theme=dark] .login-card{box-shadow:0 20px 60px #0006}[data-theme=dark] .form-input{background:#1e293b80}[data-theme=dark] .form-input:focus{background:#1e293bcc}[data-theme=light] .login-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0)}[data-theme=light] .login-card{background:#fff;box-shadow:0 20px 60px #00000014}[data-theme=light] .form-input{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .form-input:focus{background:#fff;border-color:#3b82f6}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg, #ffffff);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color, #e0e0e0)}.modal-header h2{margin:0;font-size:24px;color:var(--text-primary, #333)}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-secondary, #666);padding:4px;border-radius:4px;transition:all .2s}.modal-close:hover{background-color:var(--hover-bg, #f5f5f5);color:var(--text-primary, #333)}.modal-form{padding:24px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary, #333);font-size:14px}.required{color:#e74c3c}.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid var(--border-color, #ddd);border-radius:8px;font-size:14px;font-family:inherit;background-color:var(--input-bg, #fff);color:var(--text-primary, #333);transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color, #667eea);box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group textarea:disabled{background-color:var(--disabled-bg, #f5f5f5);cursor:not-allowed;opacity:.6}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;padding:12px;margin-bottom:16px;color:#c33;font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:0;margin-top:24px}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background-color:var(--secondary-bg, #e0e0e0);color:var(--text-primary, #333)}.btn-secondary:hover:not(:disabled){background-color:var(--secondary-hover, #d0d0d0)}.success-content{padding:24px}.success-message{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;padding:16px;border-radius:8px;margin-bottom:24px;text-align:center;font-weight:600}.game-details{background-color:var(--card-bg-secondary, #f8f9fa);border-radius:8px;padding:20px;margin-bottom:20px}.detail-item{margin-bottom:16px}.detail-item:last-child{margin-bottom:0}.detail-item label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.detail-value{display:flex;align-items:center;gap:8px}.detail-value code{flex:1;background-color:var(--code-bg, #2d3748);color:var(--code-text, #68d391);padding:10px 12px;border-radius:6px;font-family:Courier New,monospace;font-size:13px;overflow-x:auto;white-space:nowrap}.detail-value code.api-key{font-size:11px}.detail-value strong{color:var(--text-primary, #333);font-size:16px}.copy-btn{background:none;border:1px solid var(--border-color, #ddd);padding:8px 12px;border-radius:6px;cursor:pointer;font-size:16px;transition:all .2s}.copy-btn:hover{background-color:var(--hover-bg, #f0f0f0);border-color:var(--primary-color, #667eea);transform:scale(1.05)}.info-box{background-color:#fff3cd;border:1px solid #ffd666;border-radius:8px;padding:16px;margin-top:16px}.info-box p{margin:0 0 12px;font-size:14px;color:#856404}.info-box p:last-child{margin-bottom:0}.unity-example{background-color:#fff;border-radius:6px;padding:12px;margin-top:12px}.code-block{display:block;background-color:#2d3748;color:#e2e8f0;padding:12px;border-radius:6px;font-family:Courier New,monospace;font-size:12px;line-height:1.6;margin-top:8px;overflow-x:auto}.code-block .highlight{color:#68d391;font-weight:700}@media (prefers-color-scheme: dark){.modal-content{--card-bg: #1a1a1a;--card-bg-secondary: #252525;--text-primary: #ffffff;--text-secondary: #a0a0a0;--border-color: #333;--input-bg: #252525;--hover-bg: #333;--disabled-bg: #2a2a2a;--secondary-bg: #333;--secondary-hover: #444}.copy-btn{background-color:#2a2a2a}.copy-btn:hover{background-color:#333}}.sidebar{position:fixed;top:0;left:0;height:100vh;width:280px;background:var(--sidebar-bg);color:var(--text-primary);display:flex;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:var(--card-shadow);border-right:1px solid var(--border-primary);--sidebar-width: 280px}.sidebar.collapsed{width:80px;--sidebar-width: 80px}.mobile-menu-btn{display:none;position:fixed;top:20px;left:20px;z-index:1001;background:var(--sidebar-bg);color:var(--text-primary);border:none;border-radius:8px;padding:8px;cursor:pointer;transition:all .2s ease}.mobile-menu-btn:hover{background:var(--bg-tertiary)}.mobile-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:999}.sidebar-header{height:var(--topbar-height);padding:14px 20px;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}.logo-section{display:flex;align-items:center;gap:12px;flex:1}.logo-icon{color:#60a5fa;flex-shrink:0}.logo-text h1{font-size:24px;font-weight:700;margin:0;background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-text span{font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px}.collapse-btn,.close-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.collapse-btn:hover,.close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.desktop-only{display:flex}.mobile-only{display:none}.sidebar .game-info{padding:6px 8px;margin:6px 10px 8px;background:var(--bg-tertiary);border-radius:10px;border:1px solid var(--border-primary);display:flex;align-items:center;gap:10px;min-height:34px;box-sizing:border-box}[data-theme=light] .sidebar .game-info{background:#e2e8f0;border:1px solid #cbd5e1}[data-theme=dark] .sidebar .game-info{background:#33415580;border:1px solid rgba(148,163,184,.2)}.game-header{display:flex;align-items:center;gap:10px;margin:0;min-width:0;width:100%}.game-icon{background:#3b82f61f;width:30px;height:30px;padding:3px;border-radius:8px;color:#60a5fa;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.game-icon svg{width:13px;height:13px}.game-details{flex:1;min-width:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:2px;align-items:flex-start;overflow:hidden}.game-name{font-size:13px;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.copied-text{display:none}.sidebar.collapsed .game-info{padding:6px;margin:8px;display:flex;align-items:center;justify-content:center;min-height:0}.sidebar.collapsed .game-icon{width:28px;height:28px;padding:3px;border-radius:6px}.sidebar.collapsed .game-icon svg{width:12px;height:12px}.games-dropdown-section{border-top:1px solid var(--border-primary);padding-top:12px;margin-bottom:12px;position:relative}.game-selector-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.game-selector-button:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.game-selector-content{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.game-selector-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron-icon{flex-shrink:0;transition:transform .2s ease;color:var(--text-tertiary)}.chevron-icon.open{transform:rotate(180deg)}.games-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 8px 24px #00000026;z-index:1000;max-height:400px;display:flex;flex-direction:column;overflow:hidden}.games-dropdown-header{padding:12px 16px;border-bottom:1px solid var(--border-primary);font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-tertiary)}.games-dropdown-list{flex:1;overflow-y:auto;padding:8px;max-height:300px}.game-dropdown-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:none;border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;margin-bottom:4px}.game-dropdown-item:hover{background:var(--bg-tertiary)}.game-dropdown-item.active{background:#3b82f61a;border-left:3px solid var(--accent-primary);padding-left:9px}.game-dropdown-item.active .game-dropdown-name{color:var(--accent-primary);font-weight:600}.game-dropdown-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.game-dropdown-details{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1}.game-dropdown-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:left}.game-dropdown-desc{font-size:11px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:left}.game-dropdown-delete{padding:6px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:4px;transition:all .2s ease;flex-shrink:0;opacity:0;margin-left:8px}.game-dropdown-item:hover .game-dropdown-delete{opacity:1}.game-dropdown-delete:hover{background:#ef44441a;color:#ef4444}.add-game-button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:none;border:none;border-top:1px solid var(--border-primary);color:var(--accent-primary);cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.add-game-button:hover{background:#3b82f61a}.no-games-message{padding:20px;text-align:center}.no-games-message p{font-size:12px;color:var(--text-secondary);margin:0}.games-dropdown-list::-webkit-scrollbar{width:6px}.games-dropdown-list::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.games-dropdown-list::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:3px}.games-dropdown-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.game-item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{flex:1;padding:20px 0;overflow-y:auto}.nav-list{list-style:none;margin:0;padding:0}.nav-item{margin:4px 12px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:none;color:var(--text-tertiary);text-decoration:none;border-radius:8px;transition:all .2s ease;cursor:pointer;width:100%;text-align:left;font-size:14px;font-weight:500;position:relative;overflow:hidden;font-family:inherit}.nav-link:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:translate(2px)}.nav-link.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 12px #3b82f64d}.nav-link.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#60a5fa}.nav-icon{flex-shrink:0}.nav-label{font-weight:500}.sidebar.collapsed .nav-link{justify-content:center;padding:12px}.sidebar.collapsed .nav-label{display:none}.settings-section{margin:4px 12px}.settings-toggle{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;cursor:pointer;color:var(--text-tertiary);transition:all .2s ease;background:none;border:none;width:100%;font-size:14px;font-weight:500;text-align:left}.settings-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:translate(2px)}.settings-toggle-content{display:flex;align-items:center;gap:12px;flex:1}.settings-toggle-content .nav-icon{flex-shrink:0}.settings-toggle-content .nav-label{font-weight:500}.settings-submenu{list-style:none;margin:4px 0 0;padding:0}.submenu-item{margin:2px 12px}.submenu-link{display:flex;align-items:center;gap:12px;padding:10px 16px 10px 44px;border:none;background:none;color:var(--text-tertiary);text-decoration:none;border-radius:8px;transition:all .2s ease;cursor:pointer;width:100%;text-align:left;font-size:13px;font-weight:500;position:relative}.submenu-link:before{content:"";position:absolute;left:24px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--text-tertiary);transition:all .2s ease}.submenu-link:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:translate(2px)}.submenu-link:hover:before{background:currentColor}.submenu-link.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 12px #3b82f64d}.submenu-link.active:before{background:#fff}.sidebar-footer{padding:20px;border-top:1px solid var(--border-primary);margin-top:auto}.footer-content{text-align:center;display:flex;flex-direction:column;gap:12px}.user-info{padding:12px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:4px}.user-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.user-email{font-size:12px;color:var(--text-secondary);word-break:break-word}.theme-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:var(--bg-tertiary);border:none;border-radius:8px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s ease}.theme-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary);opacity:.8}.theme-toggle-collapsed{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-tertiary);border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;margin:0 auto}.theme-toggle-collapsed:hover{background:var(--bg-tertiary);color:var(--text-primary);opacity:.8}.logout-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:#ef44441a;border:none;border-radius:8px;color:#ef4444;font-size:12px;cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:#ef444433;color:#dc2626;transform:translate(2px)}.logout-btn-collapsed{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ef44441a;border:none;border-radius:8px;color:#ef4444;cursor:pointer;transition:all .2s ease;margin:8px auto 0}.logout-btn-collapsed:hover{background:#ef444433;color:#dc2626;transform:translate(2px)}.version{font-size:12px;color:var(--text-tertiary);margin:0}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.sidebar.collapsed .nav-link{position:relative}.sidebar.collapsed .nav-link:hover:after{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);background:var(--bg-secondary);color:var(--text-primary);padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:1000;margin-left:8px;box-shadow:var(--card-shadow);opacity:0;animation:tooltip-fade-in .2s ease forwards}@keyframes tooltip-fade-in{to{opacity:1}}.game-id-row{display:flex;align-items:center;gap:8px;width:100%}.game-id-row .game-id{font-size:11px;color:var(--text-tertiary);margin:0;font-family:Menlo,Monaco,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:calc(100% - 36px);padding-right:2px}.copy-id-btn{background:transparent;border:none;width:18px;height:18px;padding:2px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-tertiary);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .12s ease}.game-info:hover .copy-id-btn{opacity:1;pointer-events:auto;transform:translateY(-1px)}.copied-text,.sidebar.collapsed .copy-id-btn,.sidebar.collapsed .copied-text{display:none}.ai-chat-widget{position:fixed;bottom:80px;right:20px;z-index:1000;width:380px;max-width:calc(100vw - 40px);max-height:calc(100vh - 140px);transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateY(100%);opacity:0;pointer-events:none}.ai-chat-widget.open{transform:translateY(0);opacity:1;pointer-events:all}.widget-container{background:var(--card-background, white);border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid var(--border-color, #e2e8f0);overflow:hidden;display:flex;flex-direction:column;height:500px}.widget-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.widget-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem}.widget-actions{display:flex;align-items:center;gap:8px}.examples-toggle{width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:700;transition:all .2s ease}.examples-toggle:hover{background:#ffffff4d;transform:scale(1.05)}.widget-close{width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.widget-close:hover{background:#ffffff4d;transform:scale(1.05)}.widget-examples{background:var(--background-secondary, #f7fafc);border-bottom:1px solid var(--border-color, #e2e8f0);padding:12px;max-height:150px;overflow-y:auto}.examples-title{font-size:.8rem;font-weight:600;color:var(--text-secondary, #4a5568);margin-bottom:8px}.example-group{margin-bottom:8px}.example-category-title{font-size:.75rem;font-weight:500;color:var(--text-secondary, #4a5568);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.example-button{display:block;width:100%;text-align:left;padding:6px 8px;margin:2px 0;background:var(--card-background, white);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;color:var(--text-primary, #1a202c);font-size:.75rem;cursor:pointer;transition:all .2s ease}.example-button:hover:not(:disabled){background:var(--primary-color, #667eea);color:#fff;border-color:var(--primary-color, #667eea);transform:translateY(-1px)}.example-button:disabled{opacity:.6;cursor:not-allowed}.widget-messages{flex:1;overflow-y:auto;padding:12px;background:var(--background-color, #f8fafc);scroll-behavior:smooth}.widget-message{margin-bottom:12px;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.widget-message.user{align-items:flex-end}.widget-message.ai{align-items:flex-start}.widget-message-content{max-width:85%;padding:10px 12px;border-radius:12px;font-size:.85rem;line-height:1.4}.widget-message.user .widget-message-content{background:var(--primary-color, #667eea);color:#fff;border-bottom-right-radius:4px}.widget-message.ai .widget-message-content{background:var(--card-background, white);color:var(--text-primary, #1a202c);border:1px solid var(--border-color, #e2e8f0);border-bottom-left-radius:4px;box-shadow:0 1px 3px #0000001a}.widget-message-text{margin-bottom:6px;white-space:pre-wrap}.widget-message-insights{margin-top:8px;padding:8px;background:#667eea1a;border-left:3px solid var(--primary-color, #667eea);border-radius:0 4px 4px 0}.insights-header{font-size:.75rem;font-weight:600;color:var(--primary-color, #667eea);margin-bottom:4px}.insight-item{font-size:.75rem;color:var(--text-secondary, #4a5568);margin-bottom:2px;padding-left:8px;position:relative}.insight-item:before{content:"•";position:absolute;left:0;color:var(--primary-color, #667eea)}.widget-message-data{margin-top:8px;padding:8px;background:var(--background-secondary, #f7fafc);border-radius:6px;border:1px solid var(--border-color, #e2e8f0)}.data-header{font-size:.75rem;font-weight:600;color:var(--text-primary, #1a202c);margin-bottom:6px}.data-list{display:flex;flex-direction:column;gap:4px}.data-row{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;background:var(--card-background, white);border-radius:4px;border:1px solid var(--border-color, #e2e8f0)}.data-metric{font-size:.75rem;color:var(--text-secondary, #4a5568);text-transform:capitalize}.data-value{font-size:.8rem;font-weight:600;color:var(--primary-color, #667eea)}.widget-message-meta{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding-top:4px;border-top:1px solid rgba(0,0,0,.1);font-size:.65rem;opacity:.7}.widget-message.user .widget-message-meta{border-top-color:#fff3;color:#fffc}.widget-timestamp{font-style:italic}.widget-confidence{font-weight:500}.widget-typing{display:flex;align-items:center;gap:4px;padding:8px 0}.widget-typing span{width:6px;height:6px;border-radius:50%;background:var(--primary-color, #667eea);animation:typingWidget 1.5s infinite}.widget-typing span:nth-child(2){animation-delay:.2s}.widget-typing span:nth-child(3){animation-delay:.4s}@keyframes typingWidget{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.widget-input{display:flex;gap:8px;padding:12px;background:var(--card-background, white);border-top:1px solid var(--border-color, #e2e8f0)}.widget-input textarea{flex:1;min-height:32px;max-height:80px;padding:8px 10px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-family:inherit;font-size:.85rem;resize:none;background:var(--background-color, #f8fafc);color:var(--text-primary, #1a202c);transition:border-color .2s ease;outline:none}.widget-input textarea:focus{border-color:var(--primary-color, #667eea);box-shadow:0 0 0 2px #667eea1a}.widget-input textarea:disabled{opacity:.6;cursor:not-allowed}.widget-send{padding:8px;background:var(--primary-color, #667eea);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:32px}.widget-send:hover:not(:disabled){background:var(--primary-dark, #5a67d8);transform:translateY(-1px)}.widget-send:disabled{opacity:.6;cursor:not-allowed;transform:none}.ai-chat-toggle{position:fixed;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px -5px #667eea66;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1001;overflow:hidden}.ai-chat-toggle:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 15px 30px -5px #667eea80}.ai-chat-toggle.open{transform:rotate(0)}.toggle-pulse{position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);animation:pulse 2s infinite}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}70%{transform:translate(-50%,-50%) scale(1.8);opacity:0}to{transform:translate(-50%,-50%) scale(1.8);opacity:0}}@media (prefers-color-scheme: dark){.widget-container{background:#1a202c;border-color:#2d3748}.widget-examples{background:#2d3748;border-color:#4a5568}.widget-messages{background:#2d3748}.widget-message.ai .widget-message-content{background:#1a202c;border-color:#4a5568;color:#e2e8f0}.widget-input{background:#1a202c;border-color:#4a5568}.widget-input textarea{background:#2d3748;color:#e2e8f0;border-color:#4a5568}}.dashboard{padding:32px;background:var(--bg-primary);min-height:100vh;margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1),background-color .3s ease}.dashboard.sidebar-collapsed{margin-left:80px}.dashboard-header{margin-bottom:32px;background:var(--bg-secondary);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);border:1px solid var(--border-secondary);transition:background-color .3s ease,border-color .3s ease}.header-main{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.header-title h1{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,var(--text-primary),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 8px}.game-badge{display:flex;flex-direction:column;gap:8px}.game-badge-row{display:flex;align-items:center;gap:12px}.game-badge-row.api-key-row{background:var(--bg-tertiary);padding:8px 12px;border-radius:6px;border:1px solid var(--border-primary)}.game-name{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.game-id{font-size:.875rem;color:var(--text-tertiary);font-family:Monaco,Menlo,monospace;background:var(--bg-tertiary);padding:2px 8px;border-radius:4px;display:inline-block}.game-api-key{display:flex;align-items:center;gap:8px;flex:1}.game-api-key code{font-family:Monaco,Menlo,Courier New,monospace;font-size:.75rem;color:var(--text-secondary);background:var(--bg-secondary);padding:4px 8px;border-radius:4px;letter-spacing:.5px}.copy-api-key-btn{background:var(--primary-color);color:#fff;border:none;padding:6px 8px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.copy-api-key-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.copy-api-key-btn:active{transform:translateY(0)}.last-updated{font-size:.875rem;color:var(--text-tertiary);display:flex;align-items:center;gap:8px}.dashboard-controls{display:flex;gap:12px;align-items:center}.date-range-controls{display:flex;align-items:center;gap:12px;position:relative}.custom-date-picker{position:relative}.date-picker-trigger{padding:10px 16px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-secondary);font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;min-width:200px;text-align:left}.date-picker-trigger:hover{border-color:var(--accent-primary)}.date-picker-trigger:disabled{opacity:.6;cursor:not-allowed}.date-picker-popup{position:absolute;top:100%;left:0;z-index:1000;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:12px;padding:16px;box-shadow:0 8px 32px #00000026;min-width:300px;margin-top:4px}.date-inputs{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.date-input-group{display:flex;flex-direction:column;gap:4px}.date-input-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.date-picker-actions{display:flex;gap:8px;justify-content:flex-end}.apply-btn{padding:8px 16px;background:var(--accent-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.apply-btn:hover:not(:disabled){background:var(--accent-secondary)}.apply-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-btn{padding:8px 16px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.cancel-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-secondary)}.date-input{padding:8px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);font-size:13px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;min-width:130px}.date-input:hover{border-color:var(--accent-primary)}.date-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.date-input:disabled{opacity:.6;cursor:not-allowed}.date-separator{font-size:13px;color:var(--text-tertiary);font-weight:500;margin:0 4px}.date-range-select{padding:10px 16px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-secondary);font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;min-width:140px}.date-range-select:hover{border-color:var(--accent-primary)}.date-range-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.date-range-select:disabled{opacity:.6;cursor:not-allowed}.refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.refresh-btn.updating{background:var(--accent-secondary);animation:pulse 2s ease-in-out infinite}.refresh-btn:hover:not(:disabled){background:var(--accent-secondary);transform:translateY(-1px)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.refresh-btn.updating:disabled{opacity:.8}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}.update-indicator{position:fixed;top:0;left:280px;right:0;height:3px;z-index:1000;pointer-events:none}.dashboard.sidebar-collapsed .update-indicator{left:80px}.update-bar{height:100%;background:var(--accent-primary);animation:loading-bar 2s ease-in-out infinite}@keyframes loading-bar{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px}.metric-card{background:var(--bg-secondary);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);border:1px solid var(--border-secondary);transition:all .2s ease;position:relative;overflow:visible;z-index:1}.metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026;z-index:2}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary))}.metric-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.metric-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:12px;color:#fff}.metric-title{font-size:.875rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.metric-title-wrapper{display:flex;align-items:center;gap:6px}.metric-info{color:var(--text-tertiary);opacity:.7;cursor:help;transition:opacity .1s ease;position:relative;z-index:1}.metric-info:hover{opacity:1}.metric-info:hover:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);background:var(--bg-primary);color:var(--text-primary);padding:12px 16px;border-radius:8px;font-size:13px;white-space:normal;max-width:280px;width:max-content;z-index:2147483647;box-shadow:0 8px 32px #00000040;border:1px solid var(--border-primary);pointer-events:none}.metric-info:hover:before{content:"";position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--border-primary);z-index:2147483647;pointer-events:none}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.metric-value{font-size:2rem;font-weight:800;color:var(--text-primary);margin-bottom:8px}.loading-skeleton{background:linear-gradient(90deg,var(--bg-tertiary),var(--border-primary),var(--bg-tertiary));background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:4px;height:2rem;width:80px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.metric-change{font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:4px}.metric-change.positive{color:var(--success)}.metric-change.negative{color:var(--error)}.metric-change.neutral{color:var(--text-tertiary)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:24px}.chart-container{background:var(--bg-secondary);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);border:1px solid var(--border-secondary);transition:all .2s ease}.chart-container:hover{box-shadow:0 4px 12px #00000026}.chart-container .recharts-wrapper,.chart-container .recharts-surface{background:transparent!important}.chart-container .recharts-cartesian-grid line{stroke:var(--border-primary)}.chart-container .recharts-text{fill:var(--text-secondary)!important}.chart-container .recharts-legend-wrapper,.chart-container .recharts-legend-item-text{color:var(--text-secondary)!important}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-primary)}.chart-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.chart-title-wrapper{display:flex;align-items:center;gap:8px}.chart-info{color:var(--text-secondary);opacity:.7;cursor:help;transition:opacity .1s ease;position:relative}.chart-info:hover{opacity:1}.chart-info:hover:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-primary);color:var(--text-primary);padding:12px 16px;border-radius:8px;font-size:13px;white-space:normal;max-width:400px;min-width:200px;width:max-content;z-index:99999;box-shadow:0 8px 32px #00000040;border:1px solid var(--border-primary);animation:tooltipFadeIn .2s ease-out;pointer-events:none}.chart-info:hover:before{content:"";position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--border-primary);z-index:100000;pointer-events:none}.chart-actions{display:flex;gap:8px}.chart-content{position:relative}.chart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--text-tertiary);gap:16px}.chart-large{grid-column:span 2}.chart-medium{grid-column:span 1}.error-container{background:var(--bg-tertiary);border:1px solid var(--error);border-radius:12px;padding:24px;text-align:center;color:var(--error)}.error-container h3{margin:0 0 12px;color:var(--error);font-size:1.125rem;font-weight:600}.error-container p{margin:0 0 16px;color:var(--error)}.retry-button{background:var(--error);color:#fff;border:none;border-radius:8px;padding:10px 20px;cursor:pointer;font-weight:500;transition:background .2s ease}.retry-button:hover{background:#b91c1c}.chart-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 20px}.chart-content{height:300px}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.loading-spinner{width:64px;height:64px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.dashboard-loading p{color:var(--text-tertiary);font-size:16px}.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.dashboard-error p{color:#ef4444;font-size:16px;text-align:center}.retry-button{padding:12px 24px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.retry-button:hover{background-color:#2563eb}.recharts-tooltip-wrapper{border-radius:8px!important;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d!important}.recharts-default-tooltip{background-color:#fff!important;border:1px solid #e5e7eb!important;border-radius:8px!important;box-shadow:none!important}.recharts-legend-wrapper{padding-top:16px!important}.health-container{padding:2rem;max-width:1600px;margin:0 auto}.health-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header-title{display:flex;align-items:center;gap:.75rem}.header-title h1{font-size:2rem;color:var(--text-primary);margin:0}.header-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.date-range-select,.filters-toggle{padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.filters-toggle{display:flex;align-items:center;gap:.5rem}.filters-toggle:hover{background:var(--bg-tertiary)}.health-custom-date-range{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-secondary)}.health-date-input{padding:.4rem .5rem;border-radius:6px;border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-primary);font-size:.85rem}.health-date-separator{color:var(--text-secondary);font-size:.8rem}.filters-panel{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.filter-group input,.filter-group select{padding:.5rem;border-radius:6px;border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-primary);font-size:.875rem}.clear-filters{grid-column:1 / -1;padding:.5rem 1rem;border-radius:6px;border:1px solid var(--border-primary);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all .2s}.clear-filters:hover{background:var(--bg-primary)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem;display:flex;gap:1rem;transition:transform .2s,box-shadow .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--card-shadow)}.metric-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon.crash-rate{background:#ef44441a;color:#ef4444}.metric-icon.users{background:#3b82f61a;color:#3b82f6}.metric-icon.sessions{background:#10b9811a;color:#10b981}.metric-icon.total{background:#f59e0b1a;color:#f59e0b}.metric-content{flex:1}.metric-content h3{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin:0 0 .5rem}.metric-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.metric-description{font-size:.75rem;color:var(--text-tertiary);margin:0}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:1.5rem;margin-bottom:2rem}.chart-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem}.chart-card.full-width{grid-column:1 / -1}.chart-card h2{font-size:1.25rem;color:var(--text-primary);margin:0 0 1rem}.top-crashes-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.top-crashes-section h2{font-size:1.25rem;color:var(--text-primary);margin:0 0 1rem}.crashes-table{overflow-x:auto;overflow-y:visible}.crashes-table table{width:100%;border-collapse:collapse;min-width:800px}.crashes-table th{text-align:left;padding:.75rem;font-size:.875rem;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-primary)}.crashes-table td{padding:.75rem;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--border-primary)}.crashes-table .clickable-row{transition:all .2s}.crashes-table .clickable-row:hover{background:var(--bg-tertiary);cursor:pointer}.exception-type{background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:.75rem;color:#ef4444}.crash-message{max-width:400px;overflow:visible}.crash-message-text{display:inline-block;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crash-logs-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem}.crash-logs-section h2{font-size:1.25rem;color:var(--text-primary);margin:0 0 1rem}.logs-list{display:flex;flex-direction:column;gap:1rem}.log-item{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s}.log-item:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px #3b82f61a}.log-header{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.log-severity{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.log-type,.log-platform,.log-version{padding:.25rem .5rem;border-radius:4px;background:var(--bg-tertiary);font-size:.75rem;color:var(--text-secondary)}.log-time{margin-left:auto;font-size:.75rem;color:var(--text-tertiary)}.log-content{display:flex;flex-direction:column;gap:.5rem}.log-exception{font-family:Monaco,Menlo,monospace;font-size:.875rem;font-weight:600;color:var(--accent-primary)}.log-message{font-size:.875rem;color:var(--text-secondary)}.crash-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:var(--bg-secondary);border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-content.error-instances-modal{max-width:1100px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-primary)}.modal-header>div{flex:1}.modal-header h2{font-size:1.5rem;color:var(--text-primary);margin:0 0 .25rem}.instance-counter{font-size:.875rem;color:var(--text-secondary);margin:0}.modal-header button{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.modal-header button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.instance-navigation{display:flex;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-primary);background:var(--bg-primary)}.nav-button{padding:.5rem 1rem;border-radius:6px;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500}.nav-button:hover:not(:disabled){background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.nav-button:disabled{opacity:.5;cursor:not-allowed}.modal-body{padding:1.5rem;overflow-y:auto}.detail-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-primary)}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section h3{font-size:1.125rem;color:var(--text-primary);margin:0 0 1rem;font-weight:600}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.detail-row{margin-bottom:1rem;font-size:.875rem}.detail-grid .detail-row{margin-bottom:0}.detail-row strong{display:block;color:var(--text-secondary);margin-bottom:.25rem;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.detail-row code{background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:.875rem;color:var(--accent-primary)}.severity-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;display:inline-block}.message-text{padding:.75rem;background:var(--bg-tertiary);border-radius:6px;color:var(--text-primary);margin-top:.5rem;line-height:1.5}.stack-trace,.breadcrumbs-text,.custom-data-text{padding:1rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-family:Monaco,Menlo,monospace;font-size:.75rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;margin-top:.5rem;max-height:400px;overflow-y:auto}.breadcrumbs-timeline{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;max-height:500px;overflow-y:auto;padding:.5rem;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-primary)}.breadcrumb-entry{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;padding:.75rem;transition:all .2s}.breadcrumb-entry:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px #3b82f61a}.breadcrumb-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.breadcrumb-index{font-size:.75rem;font-weight:600;color:var(--text-tertiary);min-width:30px}.breadcrumb-type{font-size:.75rem;font-weight:600;text-transform:uppercase}.breadcrumb-timestamp{font-size:.75rem;color:var(--text-tertiary);margin-left:auto;font-family:Monaco,Menlo,monospace}.breadcrumb-message{font-size:.875rem;color:var(--text-primary);line-height:1.5;word-break:break-word;padding-left:2rem}.breadcrumb-data{margin-top:.5rem;padding-left:2rem}.breadcrumb-data strong{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.breadcrumb-data pre{padding:.5rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;font-size:.75rem;overflow-x:auto}.loading,.error{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.125rem;color:var(--text-secondary)}.loading-row{background-color:var(--bg-tertiary)!important;opacity:.7;pointer-events:none}.loading-text{display:flex;align-items:center;gap:.5rem;color:var(--accent-primary);font-weight:500}.spinner{width:14px;height:14px;border:2px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .6s linear infinite}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem;border-top:1px solid var(--border-primary)}.pagination-button{padding:.5rem 1rem;border-radius:6px;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.pagination-button:hover:not(:disabled){background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.875rem;color:var(--text-secondary);font-weight:500}.stack-trace-tooltip{position:absolute;left:0;top:100%;margin-top:8px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:12px;box-shadow:0 4px 12px #0000004d;z-index:9999;min-width:500px;max-width:700px;max-height:400px;overflow:auto;animation:tooltipFadeIn .2s ease-in-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tooltip-header{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-primary)}.tooltip-stack-trace{font-family:Monaco,Menlo,Courier New,monospace;font-size:.75rem;line-height:1.5;color:var(--text-secondary);background:var(--bg-tertiary);padding:8px;border-radius:4px;margin:0;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.tooltip-loading{font-size:.875rem;color:var(--text-secondary);padding:8px;text-align:center}.analytics-container{padding:32px;background:var(--bg-primary);min-height:100vh;margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1),background-color .3s ease}.analytics-container.sidebar-collapsed{margin-left:80px}.analytics-header{margin-bottom:1.5rem}.analytics-header h1{margin-bottom:32px;background:var(--bg-secondary);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);border:1px solid var(--border-secondary);transition:background-color .3s ease,border-color .3s ease}.analytics-subtitle{color:var(--text-secondary);font-size:.9rem;margin:0}.analytics-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-color);margin-bottom:1.5rem;overflow-x:auto}.analytics-tab{padding:.75rem 1.25rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;position:relative;margin-bottom:-2px}.analytics-tab:hover{color:var(--text-primary);background-color:#3b82f60d}.analytics-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background-color:#3b82f605}.analytics-content{background-color:var(--card-bg);border-radius:8px;padding:24px 16px 24px 0;box-shadow:0 1px 3px #0000001a;width:100%;box-sizing:border-box;margin:0}.analytics-content .tab-content,.analytics-content>.tab-content{padding:0!important;margin:0!important}.tab-content{width:100%;box-sizing:border-box}.tab-content h2{font-size:1.25rem;font-weight:600;margin:0 0 .25rem;color:var(--text-primary)}.tab-content p{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.9rem}.analytics-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background-color:var(--bg-secondary);border-radius:6px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.4rem;min-width:160px}.filter-group label{font-size:.8rem;font-weight:500;color:var(--text-secondary);margin:0}.filter-group select,.filter-group input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--card-bg);color:var(--text-primary);font-size:.875rem;width:100%}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.filter-group.day-selector-group{position:relative}.day-selector-button{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--card-bg);color:var(--text-primary);font-size:.875rem;cursor:pointer;width:100%;text-align:left;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center}.day-selector-button:hover{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.day-selector-dropdown{position:absolute;top:calc(100% + .5rem);left:0;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #0003;z-index:1000;min-width:250px;max-height:350px;overflow-y:auto}.day-selector-header{display:flex;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--border-color)}.day-action-btn{flex:1;padding:.4rem .75rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .2s ease}.day-action-btn:hover{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.day-selector-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.75rem}.day-checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:4px;cursor:pointer;transition:background-color .2s ease;color:var(--text-primary);font-size:.9rem}.day-checkbox-label:hover{background-color:var(--bg-hover)}.day-checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--primary-color)}.day-checkbox-label span{-webkit-user-select:none;user-select:none}.cohort-table-container{overflow-x:auto;margin-top:1rem;border-radius:8px;border:1px solid var(--border-color);width:100%;box-sizing:border-box}.cohort-table{width:100%;min-width:100%;border-collapse:collapse;font-size:.9rem;table-layout:auto}.cohort-table th,.cohort-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.cohort-table th{background:linear-gradient(135deg,#3b82f614,#6366f114);color:#3b82f6;font-weight:600;font-size:.85rem;text-transform:uppercase;position:sticky;top:0;z-index:10;border-bottom:2px solid rgba(59,130,246,.2)}.cohort-table th:first-child,.cohort-table td:first-child{position:sticky;left:0;background-color:var(--card-bg);z-index:5}.cohort-table th:first-child{z-index:15;background:linear-gradient(135deg,#3b82f614,#6366f114)}.cohort-table tbody tr:hover{background:#3b82f60d;transition:background .15s ease}.cohort-table td{color:var(--text-primary)}.cohort-table td.install-date{font-weight:600;color:#3b82f6}.cohort-table td.install-count{font-weight:600;color:#10b981}.cohort-table td.retention-cell{text-align:center;font-weight:500}.cohort-table td.retention-cell.not-available{color:var(--text-secondary);font-style:italic;background-color:#80808014;opacity:.65}.metric-value{font-size:.95rem;font-weight:600;margin-bottom:2px}.metric-user-count{font-size:.75rem;color:#0009;font-weight:600;margin-top:2px}[data-theme=dark] .metric-user-count{color:#fff9}.cohort-table td.retention-90{background-color:#10b9811f;color:#059669;font-weight:600}.cohort-table td.retention-70{background-color:#10b9811a;color:#10b981;font-weight:600}.cohort-table td.retention-50{background-color:#34d3991f;color:#059669;font-weight:500}.cohort-table td.retention-40{background-color:#fbbf2426;color:#d97706;font-weight:500}.cohort-table td.retention-30{background-color:#f59e0b26;color:#ea580c;font-weight:500}.cohort-table td.retention-20{background-color:#fb923c26;color:#dc2626;font-weight:600}.cohort-table td.retention-10{background-color:#ef444426;color:#b91c1c;font-weight:600}.cohort-table td.metric-top{background-color:#10b9811f;color:#059669;font-weight:600}.cohort-table td.metric-high{background-color:#34d3991f;color:#10b981;font-weight:600}.cohort-table td.metric-good{background-color:#60a5fa26;color:#2563eb;font-weight:500}.cohort-table td.metric-medium{background-color:#3b82f61f;color:#3b82f6;font-weight:500}.cohort-table td.metric-low{background-color:#f59e0b26;color:#ea580c;font-weight:500}.cohort-table td.metric-very-low{background-color:#ef44441f;color:#dc2626;font-weight:600}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4rem;gap:1rem;color:var(--text-secondary)}.loading-spinner{animation:spin 1s linear infinite}[data-theme=dark]{--bg-secondary: #1f2937;--bg-hover: rgba(255, 255, 255, .05);--border-color: #374151;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--card-bg: #111827;--primary-color: #3b82f6}[data-theme=light]{--bg-secondary: #f3f4f6;--bg-hover: rgba(0, 0, 0, .02);--border-color: #e5e7eb;--text-primary: #111827;--text-secondary: #6b7280;--card-bg: #ffffff;--primary-color: #3b82f6}.events-page{padding:32px;background:var(--bg-primary);min-height:100vh;margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1),background-color .3s ease;display:flex;flex-direction:column;gap:20px}.events-page.sidebar-collapsed{margin-left:80px}.events-header{background:var(--bg-secondary);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);border:1px solid var(--border-secondary);display:flex;flex-direction:column;gap:16px;transition:background-color .3s ease,border-color .3s ease}.header-top{display:flex;justify-content:space-between;align-items:flex-start}.header-title{display:flex;align-items:flex-start;gap:12px}.header-title h1{margin:0;font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,var(--text-primary),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{margin:4px 0 0;font-size:14px;color:var(--text-secondary)}.last-updated{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-tertiary)}.events-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.search-box,.filter-box{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:10px 14px;flex:1;min-width:200px;max-width:300px}.search-box input,.filter-box select{border:none;background:none;outline:none;color:var(--text-primary);font-size:14px;width:100%}.search-box input::placeholder{color:var(--text-tertiary)}.auto-refresh-controls{display:flex;align-items:center;gap:12px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:10px 14px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-primary);margin:0}.checkbox-label input[type=checkbox]{cursor:pointer}.interval-select{border:1px solid var(--border-primary);background:var(--bg-tertiary);color:var(--text-primary);border-radius:6px;padding:4px 8px;font-size:13px;cursor:pointer}.clear-btn{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.clear-btn:hover:not(:disabled){background:#ef44441a;border-color:#ef4444;color:#ef4444;transform:translateY(-1px)}.clear-btn:active:not(:disabled){transform:translateY(0)}.clear-btn:disabled{opacity:.4;cursor:not-allowed}.refresh-btn{display:flex;align-items:center;gap:8px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;min-width:110px;justify-content:center;white-space:nowrap;flex-shrink:0}.refresh-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.refresh-btn:active:not(:disabled){transform:translateY(0)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.events-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--card-shadow);transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.stat-label{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:32px;font-weight:700;background:linear-gradient(135deg,var(--primary-color),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.events-container{flex:1;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);min-height:400px}.events-list{display:flex;flex-direction:column;gap:12px}.event-card{background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:12px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000d}.event-card.revenue-event{border-left:4px solid #10b981;background:linear-gradient(to right,rgba(16,185,129,.05),var(--bg-tertiary))}.event-card.level-event{border-left:4px solid #6366f1;background:linear-gradient(to right,rgba(99,102,241,.05),var(--bg-tertiary))}.event-card:hover{border-color:var(--primary-color);box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.event-card.revenue-event:hover{border-left-color:#059669}.event-card.level-event:hover{border-left-color:#4f46e5}.event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.event-name-badge{display:flex;align-items:center;gap:8px;background:var(--primary-color);color:#fff;padding:6px 12px;border-radius:6px;font-weight:600;font-size:13px}.revenue-badge{background:#10b981;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-left:8px}.level-badge{background:#6366f1;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-left:8px}.event-time{font-size:12px;color:var(--text-tertiary)}.event-summary{margin-bottom:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.event-summary .event-detail-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);padding:4px 8px;background:var(--bg-secondary);border-radius:4px}.event-summary .event-detail-item.revenue-amount{background:linear-gradient(135deg,#10b9811a,#0596691a);border:1px solid #10b981}.event-summary .event-detail-item.level-info{background:linear-gradient(135deg,#6366f11a,#4f46e51a);border:1px solid #6366f1}.event-summary .revenue-value{color:#10b981;font-weight:700;font-size:14px}.event-summary .level-number{color:#6366f1;font-weight:700;font-size:14px}.event-summary .event-detail-item svg{flex-shrink:0;color:var(--primary-color)}.event-summary .detail-label{font-weight:600;white-space:nowrap}.event-summary .detail-value{font-family:Monaco,Menlo,Courier New,monospace;font-size:11px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-details-section{margin-top:12px;border-top:1px solid var(--border-primary);padding-top:12px}.event-details-section summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-secondary);padding:4px 0;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:6px}.event-details-section summary::-webkit-details-marker{display:none}.event-details-section summary:before{content:"▶";font-size:10px;transition:transform .2s;display:inline-block}.event-details-section[open] summary:before{transform:rotate(90deg)}.event-details-section summary:hover{color:var(--primary-color)}.details-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;padding:12px;background:var(--bg-secondary);border-radius:6px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item-full{grid-column:1 / -1}.detail-item .detail-label{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.detail-item .detail-value{font-family:Monaco,Menlo,Courier New,monospace;font-size:12px;background:var(--bg-tertiary);padding:4px 8px;border-radius:4px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;word-break:break-all}.event-properties{margin-top:12px;border-top:1px solid var(--border-primary);padding-top:12px}.event-properties summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-secondary);padding:4px 0;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:6px}.event-properties summary::-webkit-details-marker{display:none}.event-properties summary:before{content:"▶";font-size:10px;transition:transform .2s;display:inline-block}.event-properties[open] summary:before{transform:rotate(90deg)}.event-properties summary:hover{color:var(--primary-color)}.properties-json{margin:8px 0 0;padding:12px;background:var(--bg-secondary);border-radius:6px;font-family:Monaco,Menlo,Courier New,monospace;font-size:12px;color:var(--text-primary);overflow-x:auto;line-height:1.5}.empty-state,.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-icon{color:var(--text-tertiary);margin-bottom:16px}.empty-state h2,.empty-state h3{margin:0 0 8px;color:var(--text-primary)}.empty-state p{margin:0;font-size:14px;color:var(--text-secondary)}.loading-state p{margin-top:16px;font-size:16px}.release-management{padding:2rem;background:var(--bg-primary);min-height:100vh;margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1),background-color .3s ease}.release-management.sidebar-collapsed{margin-left:80px}.page-header{margin-bottom:2rem}.header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;background:var(--bg-secondary);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);border:1px solid var(--border-secondary);transition:background-color .3s ease,border-color .3s ease}.header-text h1{margin:0 0 .5rem;font-size:2rem;font-weight:700;background:linear-gradient(135deg,var(--text-primary),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-text p{margin:0;color:var(--text-secondary);font-size:1rem;line-height:1.5}.header-actions{display:flex;gap:1rem;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:12px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;font-family:inherit}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:0 2px 4px #3b82f633}.btn-primary:hover:not(:disabled){background:var(--accent-secondary);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);box-shadow:var(--card-shadow)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);transform:translateY(-1px);border-color:var(--border-secondary)}.btn-danger{background:var(--error);color:#fff;box-shadow:0 2px 4px #ef444433}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.content-tabs{background:var(--bg-secondary);border-radius:16px;box-shadow:var(--card-shadow);overflow:hidden;border:1px solid var(--border-secondary);transition:background-color .3s ease,border-color .3s ease}.tab-header{display:flex;border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary);transition:background-color .3s ease,border-color .3s ease}.tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:none;border:none;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent;font-family:inherit}.tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);background:var(--bg-secondary)}.tab-content{padding:2rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state svg{color:var(--text-tertiary);margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.empty-state p{margin:0 0 1.5rem;font-size:.9rem;color:var(--text-secondary)}.releases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.release-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem;transition:all .2s ease;box-shadow:var(--card-shadow)}.release-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f;border-color:var(--border-secondary)}.release-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.release-version{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.rollout-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase}.rollout-badge.full{background:#10b9811a;color:var(--success)}.rollout-badge.gradual{background:#f59e0b1a;color:var(--warning)}.rollout-badge.beta{background:#3b82f61a;color:var(--accent-primary)}.release-description{color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.release-date{display:flex;align-items:center;gap:.5rem;color:var(--text-tertiary);font-size:.85rem;margin-bottom:.5rem}.features-count{color:var(--text-secondary);font-size:.85rem;font-weight:500}.events-list{display:flex;flex-direction:column;gap:1rem}.event-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem;transition:all .2s ease;box-shadow:var(--card-shadow)}.event-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a;border-color:var(--border-secondary)}.event-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.event-icon{flex-shrink:0;margin-top:.25rem}.event-icon.hotfix{color:var(--error)}.event-icon.promotion{color:#8b5cf6}.event-icon.marketing{color:#06b6d4}.event-icon.default{color:var(--text-tertiary)}.event-info{flex:1}.event-info h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.event-info p{margin:0;color:var(--text-secondary);line-height:1.5}.impact-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase;flex-shrink:0}.impact-badge.success{background:#10b9811a;color:var(--success)}.impact-badge.danger{background:#ef44441a;color:var(--error)}.impact-badge.neutral{background:var(--bg-tertiary);color:var(--text-secondary)}.event-dates{display:flex;align-items:center;gap:.5rem;color:var(--text-tertiary);font-size:.85rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-secondary);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0000004d;border:1px solid var(--border-primary);transition:background-color .3s ease,border-color .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary);transition:background-color .3s ease,border-color .3s ease}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-tertiary);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary);background:var(--bg-secondary)}.modal-content{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-primary);background:var(--bg-tertiary);transition:background-color .3s ease,border-color .3s ease}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-primary);border-radius:8px;font-size:.9rem;transition:all .2s ease;background:var(--bg-primary);color:var(--text-primary);font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;background:var(--bg-secondary)}.form-group textarea{resize:vertical;min-height:80px;line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.feature-input{border:1px solid var(--border-primary);border-radius:12px;padding:1rem;margin-bottom:1rem;background:var(--bg-tertiary);transition:background-color .3s ease,border-color .3s ease}.feature-input input,.feature-input textarea,.feature-input select{margin-bottom:.75rem;background:var(--bg-secondary)}.feature-input input:last-child,.feature-input textarea:last-child,.feature-input select:last-child,.feature-input button:last-child{margin-bottom:0}.release-actions,.event-actions{display:flex;align-items:center;gap:.5rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:var(--accent-primary);color:#fff;transform:translateY(-1px)}.release-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.features-section{border-top:1px solid var(--border-primary);padding-top:1rem;margin-top:1rem}.features-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 0;background:none;border:none;color:var(--text-primary);font-weight:500;cursor:pointer;transition:color .2s ease;font-family:inherit}.features-toggle:hover{color:var(--accent-primary)}.features-list{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.feature-item{background:var(--bg-tertiary);border-radius:8px;padding:.75rem;border:1px solid var(--border-primary);transition:background-color .3s ease,border-color .3s ease}.feature-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.feature-name{font-weight:500;color:var(--text-primary)}.impact-indicator{padding:.2rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase}.impact-indicator.positive{background:#10b9811a;color:var(--success)}.impact-indicator.negative{background:#ef44441a;color:var(--error)}.impact-indicator.neutral{background:var(--bg-secondary);color:var(--text-secondary)}.feature-description{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin-bottom:.5rem}.feature-type{color:var(--text-tertiary);font-size:.8rem;text-transform:capitalize}.tags-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.tag{padding:.25rem .5rem;background:var(--accent-primary);color:#fff;border-radius:12px;font-size:.75rem;font-weight:500;display:inline-flex;align-items:center;gap:.25rem}.tag.editable{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary);padding-right:.25rem}.tag-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;border-radius:50%;background:#ef44441a;color:var(--error);cursor:pointer;transition:all .2s ease}.tag-remove:hover{background:var(--error);color:#fff}.tags-input-container{display:flex;flex-direction:column;gap:.5rem}.tags-list{display:flex;flex-wrap:wrap;gap:.5rem;min-height:24px}.tag-input-row{display:flex;gap:.5rem}.tag-input-row input{flex:1}.form-field-group{display:flex;flex-direction:column;gap:.25rem}.form-field-group label{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.info-tooltip{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:50%;background:var(--bg-tertiary);color:var(--text-tertiary);cursor:help;transition:all .2s ease}.info-tooltip:hover{background:var(--accent-primary);color:#fff}.level-funnel{padding:32px;background:var(--bg-primary);min-height:100vh;margin-left:280px;overflow-x:hidden;transition:margin-left .3s cubic-bezier(.4,0,.2,1),background-color .3s ease}.level-funnel.sidebar-collapsed{margin-left:80px}.level-funnel-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.level-funnel-title h1{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.level-funnel-title p{font-size:.875rem;color:var(--text-secondary);margin:0}.export-button{background:var(--accent-primary);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.export-button:hover:not(:disabled){background:var(--accent-secondary);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.export-button:disabled{background:var(--text-tertiary);cursor:not-allowed;opacity:.5}.level-funnel-filters{background:var(--bg-secondary);border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:var(--card-shadow);border:1px solid var(--border-primary)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.filter-group input{padding:10px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;transition:all .2s ease}.filter-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.filter-group input::placeholder{color:var(--text-tertiary)}.filter-group select{padding:10px 36px 10px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;transition:all .2s ease;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}[data-theme=dark] .filter-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}.filter-group select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.filter-group select option{background:var(--bg-secondary);color:var(--text-primary);padding:8px}.multi-select-group{position:relative}.multi-select-button{width:100%;padding:10px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;text-align:left;cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center}.multi-select-button:hover{border-color:var(--accent-primary)}.multi-select-button:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.multi-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;max-height:300px;overflow:hidden;display:flex;flex-direction:column}.multi-select-header{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary)}.multi-select-action-btn{flex:1;padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.8125rem;cursor:pointer;transition:all .2s ease}.multi-select-action-btn:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.multi-select-list{overflow-y:auto;max-height:240px;padding:8px}.multi-select-checkbox-label{display:flex;align-items:center;padding:8px 12px;cursor:pointer;border-radius:6px;transition:background-color .15s ease}.multi-select-checkbox-label:hover{background:var(--bg-tertiary)}.multi-select-checkbox-label input[type=checkbox]{margin-right:10px;width:16px;height:16px;cursor:pointer;accent-color:var(--accent-primary)}.multi-select-checkbox-label span{font-size:.875rem;color:var(--text-primary)}.loading-container{display:flex;justify-content:center;align-items:center;padding:60px 0}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:16px;color:var(--error);margin-bottom:24px}.warning-message{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:16px;color:var(--warning)}.debug-header{background:#3b82f61a;border:2px solid var(--accent-primary);border-radius:12px;padding:16px;margin-bottom:24px}.debug-header h2{font-size:1.25rem;font-weight:700;color:var(--accent-primary);margin:0 0 8px}.debug-header p{font-size:.875rem;color:var(--text-secondary);margin:0}.level-funnel-table-container{background:var(--bg-secondary);border-radius:12px;box-shadow:var(--card-shadow);border:1px solid var(--border-primary);margin-bottom:24px;margin-top:80px;position:relative;max-width:calc(100vw - 344px);overflow:hidden}.level-funnel.sidebar-collapsed .level-funnel-table-container{max-width:calc(100vw - 144px)}.level-funnel-table-scroll{overflow-x:auto;overflow-y:auto;max-height:70vh;min-height:400px;width:100%;max-width:100%;position:relative;display:block;-webkit-overflow-scrolling:touch}.level-funnel-table-scroll::-webkit-scrollbar{height:14px;width:14px;-webkit-appearance:none}.level-funnel-table-scroll::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:7px;margin:4px}.level-funnel-table-scroll::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:7px;border:3px solid var(--bg-tertiary);min-height:40px;min-width:40px}.level-funnel-table-scroll::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}.level-funnel-table-scroll::-webkit-scrollbar-corner{background:var(--bg-tertiary)}.level-funnel-table-scroll{scrollbar-width:auto;scrollbar-color:var(--accent-primary) var(--bg-tertiary)}.level-funnel-table{width:100%;min-width:1700px;border-collapse:separate;border-spacing:0;table-layout:auto}.level-funnel-table thead{position:sticky;top:0;z-index:50;background:var(--bg-secondary)}.level-funnel-table th{padding:12px;text-align:center;font-size:.75rem;font-weight:600;color:#3b82f6;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid rgba(59,130,246,.2);background:var(--bg-secondary);position:relative;max-width:150px;word-wrap:break-word;overflow-wrap:break-word}.level-funnel-table th:first-child{position:sticky;left:0;z-index:120;background:var(--bg-secondary);box-shadow:2px 0 8px -2px #00000026}.level-funnel-table th:first-child:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3b82f614,#6366f114);z-index:-1}.level-funnel-table tbody tr{transition:all .15s ease}.level-funnel-table tbody tr:hover{background:#3b82f60d}.level-funnel-table td{padding:12px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--border-primary);white-space:nowrap;text-align:center;max-width:150px}.level-funnel-table td:first-child{position:sticky;left:0;z-index:10;background:var(--bg-secondary);font-weight:600;color:#3b82f6;box-shadow:2px 0 8px -2px #00000026}.level-funnel-table tbody tr:hover td:first-child{background:var(--bg-secondary);z-index:100}.level-funnel-table tbody tr:hover td:first-child:before{content:"";position:absolute;inset:0;background:#3b82f60d;z-index:-1}.metric-value-high{color:#10b981;background:#10b9811a;padding:4px 8px;border-radius:6px;font-weight:600}.metric-value-medium{color:#f59e0b;background:#f59e0b1a;padding:4px 8px;border-radius:6px;font-weight:500}.metric-value-low{color:#ef4444;background:#ef44441a;padding:4px 8px;border-radius:6px;font-weight:600}.metric-value-light-red{color:#f87171;background:#f871711f;padding:4px 8px;border-radius:6px;font-weight:600}.metric-value-dark-red{color:#7f1d1d;background:#7f1d1d2e;padding:4px 8px;border-radius:6px;font-weight:600}.empty-state{background:var(--bg-secondary);border-radius:12px;box-shadow:var(--card-shadow);border:1px solid var(--border-primary);padding:60px 40px;text-align:center;margin-bottom:24px}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.empty-state p{font-size:.875rem;color:var(--text-secondary);margin:0 0 16px}.empty-state ul{list-style:none;padding:0;max-width:600px;margin:0 auto 24px}.empty-state li{display:flex;align-items:flex-start;text-align:left;margin-bottom:12px;color:var(--text-secondary);font-size:.875rem}.empty-state li span:first-child{color:var(--accent-primary);margin-right:8px;font-weight:700}.empty-state code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-size:.8125rem;font-family:Monaco,Menlo,Courier New,monospace;color:var(--accent-primary)}.empty-state-code-block{background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:8px;padding:16px;text-align:left;max-width:600px;margin:0 auto}.empty-state-code-block h4{font-size:.875rem;font-weight:600;color:var(--accent-primary);margin:0 0 12px}.empty-state-code-block pre{background:var(--bg-secondary);padding:12px;border-radius:6px;overflow-x:auto;font-size:.8125rem;margin:0;color:var(--text-primary)}.level-funnel-summary{background:var(--bg-secondary);border-radius:12px;box-shadow:var(--card-shadow);border:1px solid var(--border-primary);padding:24px}.level-funnel-summary h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 16px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-item-label{font-size:.875rem;color:var(--text-secondary)}.summary-item-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.funnel-graph-container{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-primary)}.funnel-graph-container h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 16px}.funnel-graph{background:var(--card-bg);border-radius:8px;padding:20px;border:1px solid var(--border-primary)}.funnel-graph svg{display:block}.funnel-graph .graph-point-group{cursor:pointer}.funnel-graph .graph-point{transition:opacity .2s ease}.funnel-graph .graph-point-hover{transition:opacity .2s ease;pointer-events:none}.funnel-graph .graph-point-hitarea{cursor:pointer}.funnel-graph .graph-tooltip{opacity:0;transition:opacity .2s ease;pointer-events:none}.funnel-graph .graph-point-group:hover .graph-point{opacity:0}.funnel-graph .graph-point-group:hover .graph-point-hover,.funnel-graph .graph-point-group:hover .graph-tooltip{opacity:1}.metric-tooltip-container{position:relative;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.metric-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--text-secondary);color:var(--card-bg);font-size:10px;font-weight:700;cursor:help;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.metric-tooltip-container:hover .metric-tooltip-icon{opacity:1}.metric-tooltip-text{position:fixed;transform:translate(-50%,-100%);margin-top:-8px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;font-size:.75rem;color:var(--text-primary);white-space:nowrap;box-shadow:0 4px 12px #00000026;z-index:10000;pointer-events:none}.metric-tooltip-text:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border-primary)}.churn-header-expandable{-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.churn-header-expandable:hover{background-color:var(--bg-hover)}.team-management{padding:32px;background:var(--bg-primary);min-height:100vh;margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1),background-color .3s ease}.team-management.sidebar-collapsed{margin-left:80px}.team-header{margin-bottom:32px}.team-header h1{font-size:2rem;font-weight:800;color:var(--text-primary);margin-bottom:8px}.team-header p{color:var(--text-secondary);font-size:.95rem}.team-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;max-width:100%}.team-actions>div:first-child{flex:1}.team-actions .btn{white-space:nowrap;flex-shrink:0}.team-management .btn{display:inline-flex!important;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-weight:500;transition:all .2s ease;cursor:pointer;border:none;font-size:14px;width:auto}.team-management .btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 12px #3b82f64d}.team-management .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.team-management .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-secondary)}.team-management .btn-secondary:hover{background:var(--bg-secondary)}.team-management .btn-danger{background:#ef4444;color:#fff}.team-management .btn-danger:hover{background:#dc2626}.error-banner{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:16px;margin-bottom:24px;display:flex;align-items:center;gap:12px;color:#991b1b}.form-group input,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--border-secondary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:80px}.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.team-card{background:var(--bg-secondary);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);border:1px solid var(--border-secondary);transition:all .3s ease}.team-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.team-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.team-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;color:#fff}.team-actions-buttons{display:flex;gap:8px}.icon-btn{width:32px;height:32px;border-radius:6px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.icon-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.icon-btn-danger{color:#ef4444}.icon-btn-danger:hover{background:#ef44441a;color:#dc2626}.team-card h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.team-slug{color:var(--text-tertiary);font-size:.875rem;margin-bottom:12px}.team-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin-bottom:16px}.team-stats{display:flex;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border-secondary)}.team-stat{text-align:center}.team-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.team-stat-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.empty-state{text-align:center;padding:64px 32px;background:var(--bg-secondary);border-radius:16px;box-shadow:var(--card-shadow)}.empty-state-icon{width:64px;height:64px;margin:0 auto 16px;color:var(--text-tertiary)}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state p{color:var(--text-secondary);font-size:.875rem}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:400px}.spinner{width:48px;height:48px;border:4px solid var(--border-secondary);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.team-details-view{max-width:1200px;margin:0 auto}.team-details-header{margin-bottom:24px}.team-details-header h1{font-size:2rem;font-weight:800;color:var(--text-primary);margin:12px 0 4px}.team-description-box{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:20px;margin-bottom:24px;color:var(--text-secondary)}.team-members-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-primary);max-width:100%}.section-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;flex:1}.section-header .btn{white-space:nowrap;flex-shrink:0}.success-banner{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:var(--success);padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.add-member-form{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:12px;padding:20px;margin-bottom:24px}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.form-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.members-list{display:flex;flex-direction:column;gap:12px}.member-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;transition:all .2s ease}.member-card:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px #3b82f61a}.member-info{display:flex;align-items:center;gap:16px;flex:1}.member-avatar{width:48px;height:48px;border-radius:50%;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;color:#fff}.member-details h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 4px}.member-details p{font-size:.875rem;color:var(--text-secondary);margin:0}.member-joined{font-size:.75rem!important;color:var(--text-tertiary)!important;margin-top:4px!important}.member-actions{display:flex;align-items:center;gap:12px}.role-selector{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.role-select{padding:6px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.role-select:hover{border-color:var(--accent-primary)}.role-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.member-role-badge{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.user-management{padding:32px;background:var(--bg-primary);min-height:100vh;margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1),background-color .3s ease}.user-management.sidebar-collapsed{margin-left:80px}.user-header{margin-bottom:32px}.user-header h1{font-size:2rem;font-weight:800;color:var(--text-primary);margin-bottom:8px}.user-header p{color:var(--text-secondary);font-size:.95rem}.user-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;max-width:100%}.user-actions>div:first-child{flex:1}.user-actions .btn{white-space:nowrap;flex-shrink:0}.user-management .btn{display:inline-flex!important;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-weight:500;transition:all .2s ease;cursor:pointer;border:none;font-size:14px;width:auto}.user-management .btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 12px #3b82f64d}.user-management .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.user-management .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-secondary)}.user-management .btn-secondary:hover{background:var(--bg-secondary)}.users-table-container{background:var(--bg-secondary);border-radius:16px;box-shadow:var(--card-shadow);border:1px solid var(--border-secondary);overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:var(--bg-tertiary);border-bottom:1px solid var(--border-secondary)}.users-table th{padding:16px 20px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.users-table tbody tr{border-bottom:1px solid var(--border-secondary);transition:background .2s ease}.users-table tbody tr:hover{background:var(--bg-tertiary)}.users-table tbody tr:last-child{border-bottom:none}.users-table td{padding:16px 20px}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem}.user-details{flex:1}.user-name{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.user-email{font-size:.75rem;color:var(--text-tertiary)}.user-teams{display:flex;flex-wrap:wrap;gap:6px}.team-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;background:#3b82f61a;color:#3b82f6}.status-badges{display:flex;flex-direction:column;gap:6px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;width:fit-content}.status-badge.active{background:#10b9811a;color:#10b981}.status-badge.inactive{background:#6b72801a;color:#6b7280}.status-badge.locked{background:#ef44441a;color:#ef4444}.user-actions-cell{display:flex;gap:8px}.action-btn{width:32px;height:32px;border-radius:6px;border:none;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.action-btn:hover{transform:translateY(-2px)}.action-btn.unlock{color:#3b82f6}.action-btn.unlock:hover{background:#3b82f61a}.action-btn.edit{color:#6366f1}.action-btn.edit:hover{background:#6366f11a}.action-btn.deactivate{color:#ef4444}.action-btn.deactivate:hover{background:#ef44441a}.action-btn.activate{color:#10b981}.action-btn.activate:hover{background:#10b9811a}.empty-users-state{text-align:center;padding:64px 32px;background:var(--bg-secondary);border-radius:16px;box-shadow:var(--card-shadow)}.empty-users-icon{width:64px;height:64px;margin:0 auto 16px;color:var(--text-tertiary)}.empty-users-state h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-users-state p{color:var(--text-secondary);font-size:.875rem}.error-banner{display:flex;align-items:center;gap:12px;padding:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;margin-bottom:20px}.success-banner{display:flex;align-items:center;gap:12px;padding:16px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px;color:#10b981;margin-bottom:20px;font-weight:500}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-secondary);border-radius:16px;padding:32px;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d;border:1px solid var(--border-secondary)}.modal-content h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:24px}.action-btn{padding:8px;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center}.action-btn:hover{background:var(--bg-hover);transform:translateY(-1px)}.action-btn.edit:hover{background:#3b82f61a;color:#3b82f6}.action-btn.password:hover{background:#f59e0b1a;color:#f59e0b}.action-btn.unlock:hover,.action-btn.activate:hover{background:#10b9811a;color:#10b981}.action-btn.deactivate:hover{background:#f59e0b1a;color:#f59e0b}.action-btn.delete{color:#9ca3af}.action-btn.delete:hover{background:#ef44441a;color:#ef4444}.action-btn.delete.confirm{background:#ef444433;color:#ef4444;animation:pulse 1s ease-in-out infinite}.action-btn.cancel{background:#6b72801a;color:#6b7280}.action-btn.cancel:hover{background:#6b728033}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4rem;gap:1rem;color:var(--text-secondary);min-height:400px}.team-form-card{background:var(--bg-secondary);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:var(--card-shadow);border:1px solid var(--border-secondary)}.team-form-card h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--border-secondary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.user-profile-container{padding:32px;background:var(--bg-primary);min-height:100vh;margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1),background-color .3s ease}.user-profile-container.collapsed{margin-left:80px}.user-profile-header{margin-bottom:32px;text-align:center}.user-profile-header .header-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary) 0%,#8b5cf6 100%);margin-bottom:16px;color:#fff}.user-profile-header h1{font-size:2rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.user-profile-header p{color:var(--text-secondary);font-size:1rem}.user-profile-content{display:grid;grid-template-columns:1fr;gap:24px;max-width:1200px;margin:0 auto}@media (min-width: 768px){.user-profile-content{grid-template-columns:2fr 1fr}}.profile-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);transition:background-color .3s ease,border-color .3s ease}.profile-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-primary)}.profile-card .card-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center}.btn-edit{padding:8px 16px;background:var(--accent-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn-edit:hover{background:var(--accent-secondary);transform:translateY(-1px)}.profile-info{display:flex;flex-direction:column;gap:16px}.info-row{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-primary)}.info-row:last-child{border-bottom:none}.info-label{font-weight:500;color:var(--text-secondary);display:flex;align-items:center}.info-value{color:var(--text-primary);font-weight:400}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.verified,.status-badge.active{background:#10b9811a;color:#10b981}.status-badge.unverified,.status-badge.inactive{background:#f59e0b1a;color:#f59e0b}.profile-form{display:flex;flex-direction:column;gap:20px}.profile-form .form-group{display:flex;flex-direction:column;gap:8px}.profile-form .form-group label{font-weight:500;color:var(--text-secondary);font-size:.875rem;display:flex;align-items:center}.profile-form .form-group input{padding:12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.9375rem;transition:all .2s}.profile-form .form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:40px}.password-toggle{position:absolute;right:12px;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:var(--text-primary)}.password-info{color:var(--text-secondary)}.password-info p{margin:0 0 8px}.form-actions{display:flex;gap:12px;margin-top:8px}.btn-primary{padding:12px 24px;background:var(--accent-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9375rem;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-primary:hover{background:var(--accent-secondary);transform:translateY(-1px)}.btn-secondary{padding:12px 24px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;font-size:.9375rem;font-weight:500;transition:all .2s}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.teams-list{display:flex;flex-direction:column;gap:12px}.team-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;transition:all .2s}.team-item:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px #3b82f61a}.team-info{display:flex;flex-direction:column;gap:4px}.team-name{font-weight:600;color:var(--text-primary);font-size:1rem}.team-slug{font-size:.875rem;color:var(--text-secondary)}.team-role{display:flex;align-items:center}.role-badge{padding:6px 12px;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.role-super_admin{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.role-badge.role-admin{background:#ef44441a;color:#ef4444}.role-badge.role-game_owner{background:#8b5cf61a;color:#8b5cf6}.role-badge.role-editor{background:#3b82f61a;color:#3b82f6}.role-badge.role-viewer{background:#6b72801a;color:#6b7280}.no-teams{text-align:center;padding:32px 16px;color:var(--text-secondary)}.no-teams p{margin:0}.loading,.error-message,.success-message{padding:16px;border-radius:8px;text-align:center}.loading{background:var(--bg-tertiary);color:var(--text-secondary)}.error-message{background:#ef44441a;color:var(--error);border:1px solid rgba(239,68,68,.2)}.success-message{background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.2)}flex-direction: column; align-items: flex-start; gap: 12px; } .form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}} .deployment-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10001}.deployment-modal{background:var(--bg-primary, #ffffff);border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.deployment-header{padding:20px 24px;border-bottom:1px solid var(--border-color, #e2e8f0);display:flex;align-items:center;justify-content:space-between}.deployment-header h2{display:flex;align-items:center;gap:12px;font-size:1.25rem;margin:0;color:var(--text-primary, #1e293b)}.close-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary, #64748b);padding:4px;border-radius:4px;transition:all .2s}.close-btn:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.deployment-body{flex:1;overflow-y:auto;padding:16px 24px}.deployment-loading,.deployment-empty{text-align:center;padding:40px 20px;color:var(--text-secondary, #64748b)}.deployment-list{display:flex;flex-direction:column;gap:12px}.deployment-item{background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:16px;display:flex;align-items:center;gap:16px;transition:all .2s}.deployment-item.current{border-color:var(--primary-color, #6366f1);background:#6366f10d}.deployment-version{font-size:1.25rem;font-weight:600;min-width:60px;display:flex;flex-direction:column;gap:4px}.current-badge{font-size:.7rem;background:var(--primary-color, #6366f1);color:#fff;padding:2px 6px;border-radius:4px;font-weight:500}.rollback-badge{font-size:.7rem;background:var(--warning-color, #f59e0b);color:#fff;padding:2px 6px;border-radius:4px;font-weight:500}.deployment-info{flex:1;display:flex;flex-direction:column;gap:4px}.deployment-source{font-weight:500;display:flex;align-items:center;gap:6px;color:var(--text-primary, #1e293b)}.deployment-meta{font-size:.875rem;color:var(--text-secondary, #64748b)}.deployment-configs{font-size:.8rem;color:var(--text-tertiary, #94a3b8)}.deployment-actions{display:flex;gap:8px;align-items:center}.diff-btn{background:var(--bg-tertiary, #e2e8f0);color:var(--text-primary, #1e293b);border:1px solid var(--border-color, #e2e8f0);padding:8px 16px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:500;transition:all .2s}.diff-btn:hover{background:var(--bg-secondary, #f1f5f9);border-color:var(--primary-color, #6366f1);transform:translateY(-1px)}.rollback-btn{background:var(--primary-color, #6366f1);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:500;transition:all .2s}.rollback-btn:hover{background:var(--primary-hover, #4f46e5);transform:translateY(-1px)}.rollback-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10002}.rollback-modal{background:var(--bg-primary, #ffffff);border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 60px #0006}.rollback-header{padding:20px 24px;border-bottom:1px solid var(--border-color, #e2e8f0)}.rollback-header h3{margin:0;font-size:1.125rem}.rollback-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.rollback-info{background:var(--bg-secondary, #f1f5f9);padding:12px;border-radius:6px;font-size:.875rem}.rollback-info p{margin:4px 0}.rollback-warning{color:var(--text-secondary, #64748b);font-size:.875rem}.rollback-warning ul{margin:8px 0;padding-left:20px}.rollback-warning li{margin:4px 0}.rollback-note{color:var(--text-tertiary, #94a3b8);font-style:italic;margin-top:8px}.rollback-checkbox{display:flex;align-items:center;gap:8px;font-size:.875rem;cursor:pointer}.rollback-checkbox input{cursor:pointer}.rollback-footer{padding:16px 24px;border-top:1px solid var(--border-color, #e2e8f0);display:flex;gap:12px;justify-content:flex-end}.btn-cancel{padding:8px 16px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b);border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn-cancel:hover{background:var(--bg-tertiary, #e2e8f0)}.btn-rollback{padding:8px 16px;background:var(--danger-color, #ef4444);color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:500;transition:all .2s}.btn-rollback:hover:not(:disabled){background:var(--danger-hover, #dc2626)}.btn-rollback:disabled{opacity:.5;cursor:not-allowed}.diff-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10003}.diff-modal{background:var(--bg-primary, #ffffff);border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.diff-header{padding:20px 24px;border-bottom:1px solid var(--border-color, #e2e8f0);display:flex;align-items:center;justify-content:space-between}.diff-header h3{margin:0;font-size:1.125rem;display:flex;align-items:center;gap:12px}.diff-body{flex:1;overflow-y:auto;padding:20px 24px}.diff-empty{text-align:center;padding:40px 20px;color:var(--text-secondary, #64748b)}.diff-section{margin-bottom:24px}.diff-section h4{margin:0 0 12px;font-size:.95rem;font-weight:600}.diff-added-title{color:#22c55e}.diff-removed-title{color:#ef4444}.diff-modified-title{color:#f59e0b}.diff-item{background:var(--bg-secondary, #f1f5f9);border-left:3px solid;padding:12px;border-radius:6px;margin-bottom:8px;font-size:.875rem}.diff-item strong{display:block;margin-bottom:4px}.diff-value{color:var(--text-secondary, #64748b);font-family:monospace}.diff-added{border-left-color:#22c55e;background:#22c55e0d}.diff-removed{border-left-color:#ef4444;background:#ef44440d}.diff-modified{border-left-color:#f59e0b;background:#f59e0b0d}.diff-change{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-family:monospace}.diff-old{color:#ef4444;padding:4px 8px;background:#ef44441a;border-radius:4px}.diff-new{color:#22c55e;padding:4px 8px;background:#22c55e1a;border-radius:4px}.diff-footer{padding:16px 24px;border-top:1px solid var(--border-color, #e2e8f0);display:flex;justify-content:flex-end}.remote-config-container{padding:32px;background:var(--bg-primary);min-height:100vh;margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1),background-color .3s ease;position:relative}.notification{position:fixed;top:80px;right:24px;z-index:10000;min-width:320px;max-width:500px;padding:16px 20px;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;align-items:center;justify-content:space-between;gap:12px;animation:slideIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.notification-content{display:flex;align-items:center;gap:12px;flex:1;font-size:.95rem;font-weight:500}.notification-close{background:transparent;border:none;color:inherit;font-size:24px;line-height:1;cursor:pointer;opacity:.7;transition:opacity .2s;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.notification-close:hover{opacity:1}.notification-success{background:linear-gradient(135deg,#22c55ef2,#16a34af2);color:#fff;border:1px solid rgba(255,255,255,.2)}.notification-error{background:linear-gradient(135deg,#ef4444f2,#dc2626f2);color:#fff;border:1px solid rgba(255,255,255,.2)}.notification-warning{background:linear-gradient(135deg,#fbbf24f2,#f59e0bf2);color:#fff;border:1px solid rgba(255,255,255,.2)}.remote-config-container.sidebar-collapsed{margin-left:80px}.config-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:24px}.config-header h1{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0;letter-spacing:-.5px}.config-header .subtitle{color:var(--text-secondary);font-size:.95rem;margin:8px 0 0}.config-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;background:var(--bg-secondary);border-radius:12px;padding:16px;border:1px solid var(--border-secondary);flex-wrap:wrap}.controls-left{display:flex;gap:12px;flex:1;min-width:0}.controls-right{display:flex;gap:12px;flex-wrap:wrap}.environment-banner{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;border-radius:12px;margin-bottom:24px;border-left:4px solid;background:var(--bg-secondary);box-shadow:0 2px 8px #0000000d}.environment-banner svg{flex-shrink:0;margin-top:2px}.environment-banner strong{display:block;font-size:1rem;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.environment-banner p{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.banner-readonly{border-left-color:#e74c3c;background:linear-gradient(135deg,rgba(231,76,60,.1),var(--bg-secondary))}.banner-readonly svg{color:#e74c3c}.banner-staging{border-left-color:#f39c12;background:linear-gradient(135deg,rgba(243,156,18,.1),var(--bg-secondary))}.banner-staging svg{color:#f39c12}.banner-development{border-left-color:#27ae60;background:linear-gradient(135deg,rgba(39,174,96,.1),var(--bg-secondary))}.banner-development svg{color:#27ae60}.control-select{padding:10px 40px 10px 14px;border:2px solid var(--border-primary);border-radius:10px;background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary));color:var(--text-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;box-shadow:0 2px 8px #00000014}.control-select:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px #3b82f626}.control-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f633}.btn{padding:10px 18px;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn:active{transform:translateY(0)}.btn-create{background:linear-gradient(135deg,var(--accent-primary),#4f46e5);color:#fff;font-weight:600}.btn-create:hover{opacity:.9}.btn-primary{background-color:var(--accent-primary);color:#fff}.btn-primary:hover{opacity:.9}.btn-secondary{background-color:var(--border-primary);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border-secondary)}.btn-toggle{background-color:var(--border-primary);color:var(--text-primary);font-weight:600}.btn-toggle:hover{background-color:var(--border-secondary);opacity:.9}.btn-disable{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.btn-disable:hover{background:#ef444433}.btn-enable{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.btn-enable:hover{background:#22c55e33}.config-card{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-secondary);box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:all .3s ease}.drafts-section{background:linear-gradient(135deg,#fb923c14,#fb923c0a);border:1px solid rgba(251,146,60,.2);border-radius:12px;padding:20px;margin-bottom:24px}.drafts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.drafts-header h2{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.drafts-header-actions{display:flex;gap:10px;flex-wrap:wrap}.drafts-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid var(--border-primary)}.drafts-table{width:100%;border-collapse:collapse;background:var(--bg-secondary)}.drafts-table thead{background:var(--bg-primary);border-bottom:2px solid var(--border-secondary)}.drafts-table th{padding:12px 14px;text-align:left;font-weight:600;font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.drafts-table tbody tr{border-bottom:1px solid var(--border-primary);transition:background-color .2s ease}.drafts-table tbody tr:hover{background-color:var(--bg-primary)}.drafts-table td{padding:14px;font-size:.875rem;color:var(--text-primary)}.draft-col-key{width:15%;min-width:120px}.draft-col-current,.draft-col-new{width:25%;min-width:200px}.draft-col-type{width:10%;min-width:100px}.draft-col-info{width:15%;min-width:150px}.draft-col-actions{width:10%;min-width:90px;text-align:center}.draft-key-name{font-weight:600;color:var(--text-primary)}.value-code{background:var(--bg-primary);padding:6px 10px;border-radius:4px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem;color:#64748b;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-code.new-value{color:#10b981;font-weight:500;background:#10b98114;border:1px solid rgba(16,185,129,.2)}.draft-meta{display:flex;flex-direction:column;gap:2px}.draft-created-by{font-size:.85rem;font-weight:500;color:var(--text-primary)}.draft-date{font-size:.75rem;color:var(--text-secondary)}.draft-row .btn{margin:0 2px}.draft-row .btn-sm{padding:4px 10px;font-size:.7rem}.empty-state{text-align:center;padding:60px 40px;color:var(--text-secondary)}.empty-icon{font-size:3rem;margin-bottom:16px;opacity:.6}.empty-state h3{color:var(--text-primary);font-size:1.25rem;margin:0 0 8px;font-weight:600}.empty-state p{margin:0;font-size:.9rem}.config-table-wrapper{overflow-x:auto}.config-table{width:100%;border-collapse:collapse}.config-table thead{background:var(--bg-primary);border-bottom:2px solid var(--border-secondary)}.config-table th{padding:16px;text-align:left;font-weight:600;font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.config-table tbody tr{border-bottom:1px solid var(--border-primary);transition:background-color .2s ease}.config-table tbody tr:hover{background-color:var(--bg-primary)}.config-table tbody tr:last-child{border-bottom:none}.config-table td{padding:16px;font-size:.875rem;color:var(--text-primary)}.col-key{width:25%;min-width:200px}.col-value{width:32%;min-width:200px}.col-type{width:10%;min-width:80px}.col-rules{width:10%;min-width:80px;text-align:left;padding-left:12px}.col-status{width:12%;min-width:100px}.col-actions{width:11%;min-width:100px;text-align:left}.key-content{display:flex;flex-direction:column;gap:4px}.key-name{font-weight:600;color:var(--text-primary)}.key-desc{font-size:.8rem;color:var(--text-tertiary);font-style:italic}.value-display{background:var(--bg-primary);padding:8px 12px;border-radius:6px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem;color:var(--accent-primary);max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.type-badge,.status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.rules-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:6px;font-size:.8rem;font-weight:600;background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.3);cursor:help;transition:all .2s ease}.rules-badge svg{flex-shrink:0;stroke-width:2.5}.rules-badge:hover{background:#3b82f626;border-color:#3b82f680;box-shadow:0 2px 8px #3b82f633}.rules-badge.rules-none{background:transparent;color:var(--text-tertiary);border:none;cursor:default}.rules-badge.rules-none:hover{background:transparent;border-color:transparent;box-shadow:none}.type-string{background:#3b82f61a;color:#3b82f6}.type-number{background:#22c55e1a;color:#22c55e}.type-boolean{background:#a855f71a;color:#a855f7}.type-json{background:#0ea5e91a;color:#0ea5e9}.status-enabled{background:#22c55e1a;color:#22c55e}.status-disabled{background:#6b72801a;color:#6b7280}.config-row .action-btn{padding:6px 8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.config-row .action-btn:hover{color:var(--text-primary);background:var(--bg-primary)}.config-row .edit-btn:hover{color:#3b82f6}.config-row .view-btn{font-size:.875rem;font-weight:500}.config-row .view-btn:hover{color:#3b82f6}.config-row .delete-btn:hover{color:#ef4444}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-secondary);box-shadow:0 20px 25px -5px #0000001a;width:100%;max-width:600px;height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}.modal.modal-large{max-width:900px}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-primary)}.modal-header h2{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;transition:color .2s ease;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:24px;flex:1;overflow-y:auto}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--border-primary);background:var(--bg-primary);border-radius:0 0 12px 12px}.draft-detail-section{margin-bottom:24px}.draft-detail-section h3{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.value-preview{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;padding:14px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem;line-height:1.5;color:#64748b;overflow-x:auto;overflow-y:auto;margin:0;white-space:pre-wrap;word-break:break-word;min-height:80px;max-height:none}.value-preview.new-value-preview{color:#10b981;background:#10b9810d;border-color:#10b98133}.draft-detail-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:16px;border-top:1px solid var(--border-primary)}.draft-detail-item{display:flex;flex-direction:column;gap:6px}.draft-detail-item label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.draft-detail-item span{font-size:.9rem;color:var(--text-primary);font-weight:500}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-weight:600;font-size:.875rem;color:var(--text-primary);margin-bottom:8px;text-transform:capitalize}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:all .2s ease;box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.form-input.disabled,.form-select.disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.6}.form-input.disabled:focus,.form-select.disabled:focus{border-color:var(--border-primary);box-shadow:none}.readonly-field{padding:10px 14px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);color:var(--text-tertiary);font-size:.875rem;font-weight:500;font-family:SF Mono,Monaco,Courier New,monospace;min-height:40px;display:flex;align-items:center;opacity:.7}.status-display{padding:10px 14px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);min-height:40px;display:flex;align-items:center}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer}.form-textarea{resize:vertical;min-height:100px;font-family:SF Mono,Monaco,Courier New,monospace;line-height:1.4}.json-editor{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem;line-height:1.5;min-height:auto}.json-editor.json-error{border-color:#ef4444;background:#ef44440d}.json-error-message{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;margin-top:8px;color:#ef4444;font-size:.8rem}.json-error-message svg{flex-shrink:0;margin-top:2px}.config-detail-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-primary);background:var(--bg-primary);padding:0;overflow-x:auto}.config-detail-tab{padding:14px 20px;background:transparent;border:none;color:var(--text-secondary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}.config-detail-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.config-detail-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);background:var(--bg-secondary)}.detail-overview{display:flex;flex-direction:column;gap:24px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.detail-item{display:flex;flex-direction:column;gap:8px}.detail-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:1rem;font-weight:500;color:var(--text-primary);font-family:SF Mono,Monaco,Courier New,monospace;margin:0}.detail-section{display:flex;flex-direction:column;gap:8px}.detail-code{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:16px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem;color:var(--text-primary);line-height:1.5;overflow-x:auto;margin:0;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.status-enabled-text{color:#22c55e}.status-disabled-text{color:#ef4444}.modal-body .grid{display:grid;gap:1rem}.modal-body .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-body .btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.modal-body .btn:active{transform:translateY(0)}.modal-body .form-group{margin-bottom:20px}.modal-body .form-group label{display:block;font-weight:600;font-size:.875rem;color:var(--text-primary);margin-bottom:8px;text-transform:capitalize}.modal-body .form-input,.modal-body input[type=text],.modal-body input[type=number],.modal-body input[type=datetime-local],.modal-body select,.modal-body textarea{width:100%;padding:10px 14px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:all .2s ease;box-sizing:border-box}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.modal-body select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer}.modal-body textarea{resize:vertical;min-height:100px;font-family:SF Mono,Monaco,Courier New,monospace;line-height:1.4}.modal-body h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:20px 0 16px}.modal-body .space-y-4{display:flex;flex-direction:column;gap:1rem}.modal-body .space-y-2{display:flex;flex-direction:column;gap:.5rem}.modal-body .flex{display:flex}.modal-body .items-center{align-items:center}.modal-body .justify-between{justify-content:space-between}.modal-body .gap-2{gap:.5rem}.modal-body .mb-2{margin-bottom:.5rem}.modal-body .text-xs{font-size:.75rem}.modal-body .text-sm{font-size:.875rem}.modal-body .font-medium{font-weight:500}.modal-body .font-semibold{font-weight:600}.modal-body .text-gray-500,.modal-body .text-gray-600{color:var(--text-secondary)}.modal-body .text-gray-700{color:var(--text-primary)}.modal-body .text-blue-600{color:var(--accent-primary)}.modal-body .text-green-600{color:#22c55e}.modal-body .text-red-600{color:#ef4444}.modal-body .bg-gray-50{background:var(--bg-primary)}.modal-body .bg-blue-50{background:#3b82f614}.modal-body .border{border:1px solid var(--border-primary)}.modal-body .border-blue-200{border-color:#3b82f633}.modal-body .border-l-4{border-left:4px solid}.modal-body .border-blue-500{border-left-color:var(--accent-primary)}.modal-body .rounded{border-radius:.375rem}.modal-body .rounded-lg{border-radius:.5rem}.modal-body .p-2{padding:.5rem}.modal-body .p-4{padding:1rem}.modal-body .py-8{padding-top:2rem;padding-bottom:2rem}.modal-body .text-center{text-align:center}.stash-info,.publish-info{display:flex;align-items:flex-start;gap:16px;padding:20px;border-radius:12px;background:var(--bg-primary);border:1px solid var(--border-primary);margin-bottom:20px}.stash-info svg,.publish-info svg{flex-shrink:0;margin-top:2px}.stash-info p,.publish-info p{margin:0 0 12px;font-size:.95rem;line-height:1.6;color:var(--text-primary)}.stash-info p:last-child,.publish-info p:last-child{margin-bottom:0}.stash-warning,.publish-warning{background:#e74c3c14;border:1px solid rgba(231,76,60,.2);border-radius:8px;padding:12px 16px;margin-top:12px;font-size:.875rem;color:#e74c3c;line-height:1.5}.config-list-preview{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:16px;margin-bottom:20px}.config-list-preview h4{margin:0 0 12px;font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.config-list-preview ul{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.config-list-preview li{padding:8px 12px;border-bottom:1px solid var(--border-secondary);font-size:.875rem;color:var(--text-primary)}.config-list-preview li:last-child{border-bottom:none}.config-list-preview li strong{font-weight:600;color:var(--accent-primary)}.publish-confirmation{background:var(--bg-secondary);border:2px solid var(--border-primary);border-radius:8px;padding:16px;margin-top:20px}.publish-confirmation label{display:flex;align-items:center;gap:12px;font-size:.95rem;font-weight:500;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.publish-confirmation input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--accent-primary)}.btn-danger{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#c0392b,#a93226);transform:translateY(-1px);box-shadow:0 6px 20px #e74c3c4d}.btn-danger:disabled{background:#95a5a6;cursor:not-allowed;opacity:.6}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover{background:var(--bg-primary);border-color:var(--accent-primary)}@media (max-width: 768px){.remote-config-container{padding:16px;margin-left:0}.config-header{flex-direction:column}.config-controls{flex-direction:column;align-items:stretch}.controls-left{flex-direction:column}.btn-create{width:100%;justify-content:center}.col-key,.col-value,.col-type,.col-rules,.col-env,.col-actions{width:auto;min-width:100px}.config-table th,.config-table td{padding:12px 8px;font-size:.8rem}.config-table{font-size:.8rem}.form-row{grid-template-columns:1fr}.modal{max-width:90%}.modal-header,.modal-body{padding:16px}.modal-footer{padding:12px 16px;flex-direction:column-reverse}.modal-footer .btn{width:100%}}.delete-confirm-info{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:20px}.delete-confirm-info p{margin:0;font-size:1rem;color:var(--text-primary, #1e293b)}.delete-warning{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px 16px;margin-top:16px;font-size:.9rem;color:var(--text-primary, #1e293b)}.delete-warning strong{color:#e74c3c;font-weight:600}.game-management{padding:32px;background:var(--bg-primary);min-height:100vh;margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1),background-color .3s ease}.game-management.sidebar-collapsed{margin-left:80px}.game-header{margin-bottom:24px}.game-header h1{font-size:2rem;font-weight:800;color:var(--text-primary);margin-bottom:8px}.game-header p{color:var(--text-secondary);font-size:.95rem}.error-banner{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:12px;color:#991b1b}.success-banner{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px;padding:12px 16px;margin-bottom:16px;color:#065f46}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.game-card{background:var(--bg-secondary);border-radius:12px;padding:18px;box-shadow:var(--card-shadow);border:1px solid var(--border-secondary);transition:all .2s ease}.game-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f}.game-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.game-icon{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,#06b6d4,#0ea5e9);display:flex;align-items:center;justify-content:center;color:#fff}.game-description{color:var(--text-secondary);margin-top:8px;font-size:.95rem}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state .empty-state-icon{width:56px;height:56px;color:var(--text-primary);margin-bottom:12px}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:48px 0}.loading-spinner .spinner{width:36px;height:36px;border-radius:50%;border:4px solid rgba(0,0,0,.06);border-top-color:#3b82f6e6;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{background:transparent;border:none;cursor:pointer;padding:6px;border-radius:8px}.icon-btn.icon-btn-danger{background:#ef444414;color:#ef4444}.game-actions-buttons{display:flex;gap:8px}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1200}.delete-modal{background:var(--bg-secondary);color:var(--text-primary);width:420px;max-width:calc(100% - 32px);border-radius:12px;padding:20px;box-shadow:0 12px 36px #0000003d;border:1px solid var(--border-secondary)}.delete-modal h3{margin-top:0;margin-bottom:8px}.delete-modal p{color:var(--text-secondary);font-size:.95rem;margin-bottom:12px}.confirm-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary);margin-bottom:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.btn{padding:8px 14px;border-radius:8px;border:none;cursor:pointer;font-weight:600}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-secondary)}.btn-danger{background:#ef4444;color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}:root{--topbar-height: 72px;--sidebar-width: 280px}.topbar{position:fixed;left:var(--sidebar-width);right:0;top:0;height:var(--topbar-height);background:var(--bg-primary);border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between;padding:14px 16px;gap:12px;z-index:900;transition:left .28s cubic-bezier(.4,0,.2,1),background .15s ease}.topbar.collapsed,.layout.sidebar-collapsed .topbar{left:var(--sidebar-width)}.topbar-left{display:flex;align-items:center;gap:12px;position:relative}.game-switch{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 8px;border-radius:8px;transition:background .15s ease}.game-switch:hover{background:var(--bg-tertiary)}.topbar-icon{color:#60a5fa}.topbar-game-info{display:flex;flex-direction:column;min-width:0}.topbar-game-name{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-game-sub{font-size:11px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{color:var(--text-tertiary)}.chevron.open{transform:rotate(180deg)}.topbar-dropdown{position:absolute;top:calc(100% + 8px);left:0;width:320px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:920}.dropdown-header{padding:10px 12px;border-bottom:1px solid var(--border-primary);font-weight:700}.dropdown-list{max-height:280px;overflow:auto}.dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 10px;width:100%;background:none;border:none;text-align:left;cursor:pointer}.dropdown-item:hover{background:var(--bg-tertiary)}.dropdown-item:focus{outline:2px solid rgba(59,130,246,.16);outline-offset:2px}.dropdown-item.active{background:#3b82f614}.dropdown-item:hover .meta{color:var(--text-primary)}.dropdown-actions{padding:8px 10px;border-top:1px solid var(--border-primary);display:flex;justify-content:flex-end}.refresh-btn{background:none;border:1px solid var(--border-primary);padding:6px 10px;border-radius:6px}.topbar-right{display:flex;align-items:center;gap:16px}.keys-row{display:flex;gap:12px;align-items:center}.key-item{display:flex;flex-direction:column;gap:4px}.key-item label{font-size:11px;color:var(--text-tertiary)}.key-value{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);padding:6px 8px;border-radius:6px;border:1px solid var(--border-primary)}.key-value code{font-family:Menlo,Monaco,monospace;font-size:12px;color:var(--text-primary);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-btn{background:transparent;border:none;padding:4px;display:inline-flex;align-items:center;justify-content:center}.copy-btn:hover{background:var(--bg-secondary);border-radius:6px}.copied{font-size:11px;color:var(--text-secondary)}.dropdown-item .dropdown-item-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.dropdown-item .name{font-size:13px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-item .meta{font-size:11px;color:var(--text-secondary);font-family:Menlo,Monaco,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-item>svg{flex-shrink:0}.dropdown-item{gap:12px}.main-content{padding-top:var(--topbar-height)}@media (max-width: 900px){:root{--sidebar-width: 0px}.topbar{left:0}.main-content{padding-top:var(--topbar-height)}}.layout{display:flex;min-height:100vh;background:#f8fafc}.main-content{flex:1;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:100vh}.page-placeholder{display:flex;align-items:center;justify-content:center;height:100vh;margin-left:280px;font-size:1.5rem;color:#64748b;background:linear-gradient(135deg,#f8fafc,#f1f5f9);transition:margin-left .3s cubic-bezier(.4,0,.2,1)}
