@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #208844;--primary-hover: #2088449e;--primary-light: #60A5FA;--bg-primary: #0F0F23;--bg-secondary: #1A1A2E;--bg-card: #16213E;--bg-elevated: #1E293B;--bg-main: #0F0F23;--text-primary: #F8FAFC;--text-secondary: #CBD5E1;--text-muted: #64748B;--border: #334155;--border-light: #475569;--border-subtle: #334155;--success: #10B981;--error: #EF4444;--warning: #F59E0B;--shadow: 0 1px 3px 0 rgba(0, 0, 0, .3);--shadow-lg: 0 4px 12px 0 rgba(0, 0, 0, .4);--shadow-glow: 0 0 30px rgba(16, 185, 129, .15);--ema-primary: #10f981;--ema-primary-dark: #0ea76b;--ema-secondary: #1a1b24;--ema-accent: #60a5fa}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;opacity:0;animation:pageLoad .5s ease-out forwards}@keyframes pageLoad{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}#root,.app{min-height:100vh}.header{background:var(--bg-secondary);padding:24px 32px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;backdrop-filter:blur(8px)}.header h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.header-actions{display:flex;gap:12px;align-items:center}.auto-refresh{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:12px}.btn{padding:10px 20px;border:none;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card);border-color:var(--border-light);color:var(--text-primary)}.btn-tertiary{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-tertiary:hover{background:var(--bg-elevated);color:var(--text-secondary)}.btn-error{background:var(--error);color:#fff}.btn-error:hover{background:#dc2626}.btn-icon{padding:8px;min-width:auto}.btn-sm{padding:6px 12px;font-size:12px}.delete-btn:hover{background:#ef44441a!important;color:var(--error)!important;border-color:var(--error)!important}.container{padding:32px;max-width:1200px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:48px}.stat-card{background:var(--bg-card);border-radius:12px;padding:24px;border:1px solid var(--border);box-shadow:var(--shadow)}.stat-value{font-size:20px!important;font-weight:700;color:var(--primary-light);margin-bottom:8px}.stat-label{font-size:10px!important;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.sessions-section{margin-bottom:48px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.session-tile{background:var(--bg-card);border-radius:12px;padding:24px;border:1px solid var(--border);box-shadow:var(--shadow);transition:all .2s ease;position:relative}.session-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--border-light)}.session-tile.active{border-left:3px solid var(--success)}.session-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.session-id{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:14px;font-weight:600;color:var(--text-primary);padding:6px 10px;border-radius:6px;border:1px solid var(--border)}.session-status{display:flex;align-items:center}.status-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.2)}.status-badge.completed{background:#3b82f61a;color:var(--primary);border:1px solid rgba(59,130,246,.2)}.status-badge.error{background:#ef44441a;color:var(--error);border:1px solid rgba(239,68,68,.2)}.session-info{margin-bottom:16px}.info-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.info-label{font-size:13px;color:var(--text-muted);font-weight:500}.info-value{font-size:13px;color:var(--text-secondary);font-weight:500}.session-actions{display:flex;gap:8px;flex-wrap:wrap;flex-direction:row}.loading,.error{padding:2rem;text-align:center;background:var(--bg-card);border-radius:8px;margin:1rem}.error{color:var(--error);border:1px solid rgba(239,68,68,.2)}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-muted)}.error-message{color:var(--error);margin-top:.5rem}input,textarea,select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;padding:8px 12px;color:var(--text-primary);font-size:14px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f61a}label{display:block;margin-bottom:4px;font-size:13px;font-weight:500;color:var(--text-secondary)}.websocket-client{min-height:100vh;background:var(--bg-main);color:var(--text-primary);display:flex;flex-direction:column;background-image:radial-gradient(circle at 20% 50%,rgba(16,249,129,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(16,249,129,.05) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(16,249,129,.05) 0%,transparent 50%)}.websocket-client .header{background:var(--bg-secondary);padding:20px 32px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:16px;position:relative}.websocket-client .header:after{content:"";position:absolute;bottom:-1px;left:0;width:100px;height:2px;background:linear-gradient(90deg,var(--ema-primary) 0%,transparent 100%)}.logo{width:48px;height:48px;background:linear-gradient(135deg,var(--ema-primary) 0%,var(--ema-primary-dark) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--bg-main);font-size:24px;box-shadow:var(--shadow-glow);position:relative;overflow:hidden}.logo:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);transform:rotate(45deg);animation:shimmer 3s infinite}.websocket-client h1{margin:0;font-size:28px;font-weight:700;background:linear-gradient(90deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.client-layout{display:flex;flex:1;padding:20px;gap:20px;height:calc(100vh - 120px)}.control-panel{width:400px;display:flex;flex-direction:column;gap:20px}.session-status,.task-controls{background:var(--bg-card);border-radius:12px;padding:20px;border:1px solid var(--border)}.session-status h3,.task-controls h3{margin:0 0 16px;font-size:16px;font-weight:600}.session-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.session-stat{text-align:center}.session-stat-value{font-size:20px;font-weight:700;color:var(--primary-light)}.session-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.session-id-display{font-family:SF Mono,monospace;font-size:12px;color:var(--text-secondary);background:var(--bg-elevated);padding:8px;border-radius:6px;margin-bottom:16px}.prompt-section{margin-bottom:16px}.prompt-section textarea{width:100%;min-height:80px;resize:vertical}.settings-panel{background:var(--bg-card);border-radius:12px;padding:20px;border:1px solid var(--border)}.control-buttons{display:flex;gap:8px;margin-top:16px}.connection-status{display:flex;align-items:center;gap:8px}.status-indicator{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:pulse 2s infinite}.status-indicator.connected{background:var(--success)}.status-indicator.disconnected{background:var(--error)}.messages-panel{flex:1;background:var(--bg-card);border-radius:12px;border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.messages-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.messages-header h3{margin:0}.messages-container{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:5px}.message-container{background:var(--bg-elevated);border-radius:8px;padding:16px;border-left:3px solid var(--border)}.message-container.message-task-start{border-left-color:var(--success);background:#10b9810d}.message-container.message-agent-message{border-left-color:var(--primary);background:#3b82f60d}.message-container.message-screenshot{border-left-color:#8b5cf6;background:#8b5cf60d}.message-container.message-task-complete{border-left-color:var(--success);background:#10b9810d}.message-container.message-task-error{border-left-color:var(--error);background:#ef44440d}.message-timestamp{font-size:12px;color:var(--text-muted);margin-bottom:8px;font-weight:500;display:flex;align-items:center;gap:4px}.message-type{font-weight:600;text-transform:uppercase;margin-bottom:8px;font-size:11px;letter-spacing:.75px;color:var(--text-secondary)}.message-content{white-space:pre-wrap;word-wrap:break-word;font-size:14px;line-height:1.6;color:var(--text-primary)}.screenshot-image{max-width:100%;height:auto;border:1px solid var(--border);border-radius:8px;margin-top:12px;cursor:pointer;box-shadow:var(--shadow)}.tool-details{margin-top:12px}.tool-input,.tool-output{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:12px;margin-top:8px;font-family:SF Mono,Monaco,monospace;font-size:12px}.tool-input pre,.tool-output pre{margin:0;white-space:pre-wrap;color:var(--text-secondary)}.index-page{min-height:100vh}.hero-section{padding:80px 32px;text-align:center;background:var(--bg-primary)}.hero-content{max-width:800px;margin:0 auto}.hero-logo{margin-bottom:32px}.logo-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--ema-primary) 0%,var(--ema-primary-dark) 100%);border-radius:20px;display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--bg-main);font-size:40px;margin:0 auto;box-shadow:var(--shadow-glow);position:relative;overflow:hidden}.logo-icon:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);transform:rotate(45deg);animation:shimmer 3s infinite}.hero-content h1{font-size:48px;font-weight:800;margin-bottom:16px;background:linear-gradient(90deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.hero-subtitle{font-size:24px;color:var(--primary-light);margin-bottom:16px}.hero-description{font-size:18px;color:var(--text-secondary);margin-bottom:40px}.hero-actions{display:flex;gap:16px;justify-content:center;margin-bottom:60px}.hero-btn{padding:16px 32px;font-size:16px;font-weight:600}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;max-width:600px;margin:0 auto}.hero-stat{text-align:center;background:var(--bg-card);padding:16px;border-radius:8px;border:1px solid var(--border)}.hero-stat-value{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.hero-stat-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.features-section{padding:80px 32px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;max-width:1200px;margin:0 auto}.feature-card{background:var(--bg-card);border-radius:16px;padding:32px;border:1px solid var(--border);text-align:center;transition:all .3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.feature-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff;font-size:28px}.feature-title{font-size:20px;font-weight:600;margin-bottom:12px;color:var(--text-primary)}.feature-description{color:var(--text-secondary);line-height:1.6}.immersive-viewer{min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.immersive-header{background:var(--bg-secondary);padding:12px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;position:relative;z-index:100}.immersive-header .header-left{display:flex;align-items:center;gap:16px}.immersive-header .back-btn{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border);padding:8px;border-radius:6px;text-decoration:none;display:flex;align-items:center;transition:all .2s ease}.immersive-header .back-btn:hover{background:var(--bg-card);color:var(--text-primary)}.immersive-header .session-info h1{font-size:18px;font-weight:600;margin:0;font-family:SF Mono,monospace}.immersive-header .session-status{display:flex;align-items:center;gap:8px;margin-top:4px}.immersive-header .status-text{font-size:12px;color:var(--text-secondary);text-transform:uppercase;font-weight:500}.immersive-header .session-time{font-size:12px;color:var(--text-muted)}.immersive-content{display:flex;flex:1;overflow:hidden}.immersive-sidebar{width:350px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;transition:width .3s ease}.immersive-sidebar.collapsed{width:0;overflow:hidden}.sidebar-section{padding:20px;border-bottom:1px solid var(--border)}.sidebar-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.mini-stats{display:flex;flex-direction:column;gap:12px}.mini-stat{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-elevated);border-radius:8px;border:1px solid var(--border)}.mini-stat-icon{width:32px;height:32px;background:var(--primary);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff}.mini-stat-info{flex:1}.mini-stat-value{font-size:18px;font-weight:700;color:var(--primary-light);line-height:1}.mini-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.search-controls{display:flex;flex-direction:column;gap:12px}.search-box svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.search-box input{padding-left:32px;width:100%;font-size:12px}.filter-select{width:100%;font-size:12px}.messages-list{flex:1;display:flex;flex-direction:column;padding:16px 20px}.messages-compact{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:calc(100vh - 400px)}.message-compact{padding:8px 12px;background:var(--bg-elevated);border-radius:6px;border:1px solid var(--border);cursor:pointer;transition:all .2s ease}.message-compact:hover{background:var(--bg-card);border-color:var(--border-light)}.message-compact-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.message-compact-icon{font-size:12px}.message-compact-time{font-size:10px;color:var(--text-muted);font-family:SF Mono,monospace}.message-compact-content{font-size:11px;color:var(--text-secondary);line-height:1.4}.message-compact-preview{margin-top:6px}.screenshot-thumbnail{width:100%;max-width:80px;height:auto;border-radius:4px;border:1px solid var(--border)}.pagination-compact{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.page-info{font-size:12px;color:var(--text-secondary)}.vnc-viewer-area{flex:1;display:flex;flex-direction:column;background:var(--bg-primary)}.vnc-container{flex:1;display:flex;flex-direction:column;padding:20px}.vnc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.vnc-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.vnc-controls{display:flex;gap:12px;align-items:center}.controls-actions-compact{display:flex;gap:5px}.vnc-frame-container{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;min-height:calc(100vh - 200px)}.vnc-frame{width:100%;height:100%;border:none;background:var(--bg-primary)}.vnc-frame-wrapper{position:relative;width:100%;height:100%}.vnc-readonly-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;cursor:default;background:transparent}.vnc-placeholder{flex:1;display:flex;align-items:center;justify-content:center;padding:40px}.placeholder-content{text-align:center;max-width:400px}.placeholder-content svg{color:var(--text-muted);margin-bottom:24px}.placeholder-content h2{margin:0 0 16px;font-size:24px;font-weight:600;color:var(--text-primary)}.placeholder-content p{color:var(--text-secondary);margin:0 0 8px;line-height:1.6}.placeholder-subtext{font-size:14px;color:var(--text-muted)!important}.viewer-page{min-height:100vh;background:var(--bg-primary)}.viewer-header{background:var(--bg-secondary);padding:20px 32px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px}.back-btn{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border);padding:8px 12px;border-radius:6px;text-decoration:none;display:flex;align-items:center;gap:8px;transition:all .2s ease}.back-btn:hover{background:var(--bg-card);color:var(--text-primary)}.session-title h1{font-size:20px;font-weight:600;margin:0}.viewer-content{display:flex;padding:20px;gap:20px;min-height:calc(100vh - 80px)}.session-info-panel{width:350px}.session-info-card{background:var(--bg-card);border-radius:12px;padding:24px;border:1px solid var(--border);margin-bottom:20px}.info-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.info-header h3{margin:0;font-size:16px;font-weight:600}.info-grid{display:grid;gap:12px}.messages-toolbar{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.toolbar-left h3{margin:0;font-size:16px;font-weight:600}.toolbar-right{display:flex;gap:12px;align-items:center}.search-box{position:relative}.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.search-box input{padding-left:36px;width:250px}.filter-select{min-width:120px}.pagination{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}@media (max-width: 768px){.header{padding:16px 20px;flex-direction:column;gap:12px}.header-actions{flex-wrap:wrap}.container{padding:20px}.sessions-grid{grid-template-columns:1fr}.client-layout{flex-direction:column}.control-panel{width:100%}.viewer-content{flex-direction:column}.session-info-panel{width:100%}.hero-content h1{font-size:32px}.immersive-content{flex-direction:column}.immersive-sidebar{width:100%;max-height:300px}.immersive-sidebar.collapsed{width:100%;max-height:0}}.user-menu{position:relative;display:inline-block}.user-menu-trigger{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 12px;cursor:pointer;transition:all .2s ease;color:#000;background:#fff}.user-menu-trigger:hover{background:#b3b3b3cc;border-color:#fff3}.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#208844 0% 100%);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;text-transform:uppercase}.user-menu-chevron{transition:transform .2s ease}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-backdrop{position:fixed;inset:0;z-index:998}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fffffffa;border:1px solid rgba(0,0,0,.1);border-radius:12px;min-width:240px;box-shadow:0 20px 40px #00000026;backdrop-filter:blur(10px);z-index:999;animation:dropdown-appear .2s ease-out}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.user-menu-header{display:flex;align-items:center;gap:12px;padding:16px}.user-avatar-large{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#6366f1);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#fff;text-transform:uppercase;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{color:#1a1b24;font-size:14px;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{color:#1a1b24b3;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-divider{height:1px;background:#0000001a;margin:0 16px}.user-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;color:#1a1b24e6;font-size:14px;cursor:pointer;transition:all .2s ease;text-align:left}.user-menu-item:hover{background:#0000000d}.logout-item{border-radius:0 0 12px 12px;color:#dc2626}.logout-item:hover{background:#ef44441a;color:#b91c1c}@media (max-width: 480px){.user-menu-dropdown{min-width:200px;right:-8px}.user-menu-header{padding:12px}.user-avatar-large{width:36px;height:36px;font-size:14px}}:root{--primary: #3B82F6;--primary-hover: #2563EB;--primary-light: #60A5FA;--bg-primary: #0F0F23;--bg-secondary: #1A1A2E;--bg-card: #16213E;--bg-elevated: #1E293B;--text-primary: #F8FAFC;--text-secondary: #CBD5E1;--text-muted: #64748B;--border: #334155;--border-light: #475569;--success: #10B981;--error: #EF4444;--warning: #F59E0B;--shadow: 0 1px 3px 0 rgba(0, 0, 0, .3);--shadow-lg: 0 4px 12px 0 rgba(0, 0, 0, .4)}.sessions-page *{box-sizing:border-box}.sessions-page{min-height:100vh;background:#fafbfc;color:#1a1a1a;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;position:relative;overflow-x:hidden;width:100%}.sessions-page .modal *{box-sizing:border-box!important}.sessions-page .header{background:#fff;border-bottom:1px solid #e5e7eb;padding:24px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000000d;backdrop-filter:none}.sessions-page .header-content{display:flex;flex-direction:row;align-items:center;gap:10px}.sessions-page .header-content img{width:30px}.sessions-page .header-content h3{margin:0;font-size:28px;font-weight:700;color:#1a1a1a;line-height:1.2}.sessions-page .header-actions{display:flex;align-items:center;gap:12px}.auto-refresh{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f3f4f6;border-radius:8px;font-size:13px;color:#6b7280}.spinner{animation:spin 1s linear infinite}.refresh-btn{padding:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.refresh-btn:hover{background:#f9fafb;border-color:#d1d5db}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.btn-warning:hover{background:#d97706}.btn-success:hover{background:#059669}.btn-danger:hover{background:#dc2626}.btn-danger-outline{background:#fff;color:#ef4444;border:1px solid #fecaca}.btn-danger-outline:hover{background:#fef2f2;border-color:#f87171}.btn-tertiary:hover{background:#e5e7eb;color:#374151}.test-link{display:inline-flex;align-items:center;gap:8px;background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd;text-decoration:none}.test-link:hover{background:#e0f2fe;border-color:#7dd3fc;color:#0284c7}.sessions-page .container{padding:24px;max-width:1800px;margin:0 auto;width:100%;box-sizing:border-box}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:#fff;border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;border:1px solid #f1f3f4;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.stat-icon{width:30px;height:30px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.active,.stat-icon.total,.stat-icon.max,.stat-icon.completed{color:#000}.stat-content{flex:1}.stat-value{font-size:32px;font-weight:700;color:#1a1a1a;line-height:1;margin-bottom:4px}.stat-label{font-size:14px;color:#6b7280;font-weight:500}.sessions-section{margin-bottom:32px}.section-header{display:flex;align-items:center;justify-content:between;gap:12px;margin-bottom:16px}.section-title{font-size:20px;font-weight:600;color:#1a1a1a;margin:0}.section-badge{background:#f3f4f6;color:#6b7280;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500}.sessions-table-container{background:#fff;border-radius:12px;border:1px solid #f1f3f4;overflow-x:auto;box-shadow:0 1px 3px #0000000d}.sessions-table{width:100%;border-collapse:collapse}.sessions-table thead th{background:#f8fafc;padding:16px 20px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb;white-space:nowrap}.sessions-table tbody .session-row{border-bottom:1px solid #f1f3f4;transition:background-color .15s ease}.sessions-table tbody .session-row:hover{background:#f8fafc}.sessions-table tbody .session-row.active{background:#f0f9ff;border-color:#bae6fd}.session-cell{padding:16px 20px;vertical-align:middle}.session-id-container{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;display:flex;align-items:center;gap:8px}.session-id{font-size:13px;color:#374151;font-weight:500}.session-id-short{font-size:11px;color:#9ca3af;margin-top:2px}.expand-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;color:#6b7280;transition:all .15s ease;flex-shrink:0}.expand-toggle:hover{background:#e5e7eb;color:#374151}.child-count{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;background:#dbeafe;color:#1d4ed8;border-radius:10px;font-size:10px;font-weight:600;flex-shrink:0}.child-task-row{background:#f9fafb}.child-task-row:hover{background:#f3f4f6}.child-task-row .session-id-container.child-task{padding-left:8px}.child-indent{width:20px;height:20px;border-left:2px solid #d1d5db;border-bottom:2px solid #d1d5db;border-radius:0 0 0 6px;margin-right:8px;flex-shrink:0}.child-task-row .session-id{font-size:12px;color:#6b7280}.session-type-badge.child-type{background:#f0fdf4;color:#166534;font-size:11px;padding:4px 8px}.session-row.has-children{border-bottom:none}.session-row.has-children+.child-task-row:last-of-type{border-bottom:1px solid #e5e7eb}.session-type-badge{display:inline-flex;align-items:center;padding:6px 12px;background:#f3f4f6;color:#374151;border-radius:20px;font-size:12px;font-weight:500}.workbook-filename{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:4px 8px;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:11px;font-weight:500;max-width:220px;cursor:default}.workbook-filename svg{flex-shrink:0}.workbook-filename span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-content{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.status-text{text-transform:capitalize;font-weight:500;line-height:1}.status-reason{font-size:10px;font-weight:400;opacity:.8;line-height:1.2;font-style:italic;max-width:120px;text-transform:none}.status-badge.clickable{cursor:pointer;transition:background-color .2s ease,transform .1s ease}.status-badge.clickable:hover{background-color:#8b5cf640!important;transform:scale(1.02)}.status-badge.clickable:active{transform:scale(.98)}.modal-body .session-info{margin-bottom:20px;padding:16px;background-color:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border)}.modal-body .info-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-body .info-row:last-child{margin-bottom:0}.modal-body .info-label{font-weight:500;color:var(--color-text-secondary);min-width:80px}.modal-body .info-value{color:var(--color-text-primary);font-family:SF Mono,Consolas,monospace;font-size:13px}.modal-body .reason-section{margin-top:20px}.modal-body .reason-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text-primary)}.modal-body .reason-content{padding:16px;background-color:var(--color-bg-code);border-radius:8px;border:1px solid var(--color-border);font-family:SF Mono,Consolas,monospace;font-size:13px;line-height:1.5;color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.modal-body .reason-section{padding:16px}.time-info .primary-time{font-size:13px;color:#374151;margin-bottom:2px}.time-info .secondary-time{font-size:11px;color:#9ca3af}.duration-badge{display:inline-flex;align-items:center;padding:4px 8px;background:#f3f4f6;color:#6b7280;border-radius:6px;font-size:12px;font-weight:500;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.activity-stats{display:flex;gap:12px}.activity-stat{display:flex;align-items:center;gap:4px;color:#6b7280;font-size:12px}.activity-stat svg{color:#374151;flex-shrink:0}.session-actions{display:flex;gap:6px;align-items:center;flex-direction:row}.session-actions .btn svg{color:currentColor;flex-shrink:0}.control-actions{display:flex;gap:4px;margin-right:8px;padding-right:8px;border-right:1px solid #e5e7eb}.main-actions{display:flex;gap:4px}.empty-state{text-align:center;padding:48px 24px;background:#fff;border-radius:12px;border:1px solid #f1f3f4}.empty-state-icon{font-size:48px;margin-bottom:16px}.empty-state-title{font-size:16px;font-weight:600;color:#374151;margin-bottom:4px}.empty-state-subtitle{font-size:14px;color:#9ca3af}.task-modal{max-width:500px}.modal.edit-bp-modal{max-width:1200px;width:90%}.sessions-page .modal-header{padding:24px 24px 0!important;display:flex!important;justify-content:space-between!important;align-items:center!important;border-bottom:1px solid #e5e7eb!important;margin-bottom:24px!important;flex-shrink:0!important}.sessions-page .modal-title{font-size:20px!important;font-weight:600!important;color:#1a1a1a!important;margin:0!important}.sessions-page .close-btn{background:none!important;border:none!important;font-size:24px!important;color:#9ca3af!important;cursor:pointer!important;padding:4px!important;border-radius:4px!important;transition:color .2s ease!important;flex-shrink:0!important}.sessions-page .close-btn:hover{color:#6b7280!important}.sessions-page .form-group{margin-bottom:20px!important;padding:0 24px!important;width:100%!important;box-sizing:border-box!important}.form-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#374151}.sessions-page .form-control{width:100%!important;padding:12px 16px!important;border:1px solid #d1d5db!important;border-radius:8px!important;font-size:14px!important;background:#fff!important;transition:border-color .2s ease,box-shadow .2s ease!important;color:#000!important;box-sizing:border-box!important;margin:0!important}.form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-control[contentEditable]{min-height:200px}.content-editable[data-placeholder]:empty:before{content:attr(data-placeholder);color:#9ca3af}.form-hint{margin-top:6px;font-size:12px;color:#6b7280}.pipeline-tasks{display:flex;flex-direction:column;gap:12px}.pipeline-task-row{display:flex;gap:8px;align-items:center}.pipeline-task-row .form-control{flex:1}.btn-small{padding:6px 12px;font-size:12px}.pagination-controls{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid #e5e7eb;background:#f9fafb;gap:12px;flex-wrap:wrap}.pagination-info{font-size:13px;color:#6b7280}.pagination-buttons{display:flex;align-items:center;gap:8px}.pagination-page-indicator{font-size:13px;color:#374151}.pagination-buttons .btn:disabled{opacity:.5;cursor:not-allowed}.sessions-page .modal-actions{padding:24px!important;border-top:1px solid #e5e7eb!important;display:flex!important;justify-content:flex-end!important;gap:12px!important;flex-shrink:0!important;margin-top:auto!important}.sessions-page .edit-bp-content{gap:24px!important;padding:0 24px 24px!important;display:flex!important;flex-direction:row!important;min-height:0!important;flex:1!important;width:100%!important;box-sizing:border-box!important;overflow:hidden!important}.sessions-page .edit-bp-form{flex:1!important;min-width:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.sessions-page .edit-bp-form form{display:flex!important;flex-direction:column!important;flex:1!important;overflow:hidden!important}.sessions-page .bp-examples{border-left:1px solid #e5e7eb!important;padding-left:24px!important;width:320px!important;flex-shrink:0!important;overflow-y:auto!important}.examples-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.examples-header h4{margin:0;font-size:16px;font-weight:600;color:#374151}.examples-container{display:flex;flex-direction:column;gap:12px;overflow-y:auto;height:100%;max-height:60vh}.bp-example-card{padding:12px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease}.bp-example-card:hover{border-color:#3b82f6;background:#f8fafc}.example-name{font-weight:500;font-size:13px;color:#374151;margin-bottom:4px}.example-description{font-size:12px;color:#4b5563;line-height:1.4;margin-bottom:6px}.example-type,.example-steps,.example-search,.example-sections{font-size:11px;color:#6b7280;margin-bottom:2px}.loading-examples,.no-examples{text-align:center;padding:24px;color:#6b7280;font-size:14px}@media (max-width: 1024px){.edit-bp-content{flex-direction:column}.bp-examples{border-left:none;border-top:1px solid #e5e7eb;padding-left:0;padding-top:24px;width:100%}}@media (max-width: 768px){.sessions-page .header{flex-direction:column;gap:16px;align-items:stretch}.sessions-page .header-actions{justify-content:center;flex-wrap:wrap}.stats-grid{grid-template-columns:repeat(2,1fr)}.sessions-table-container{overflow-x:auto}.sessions-table{min-width:800px}.session-actions{flex-direction:column;gap:4px}.control-actions,.main-actions{flex-direction:row}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}.stat-icon{width:40px;height:40px}.stat-value{font-size:24px}}.dropdown-trigger{position:relative}.dropdown-trigger[data-state=open] .dropdown-chevron{transform:rotate(180deg)}.dropdown-content{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:12px!important;box-shadow:0 10px 25px #0000001a!important;padding:8px!important;min-width:320px!important;max-width:400px!important;z-index:1000!important;animation:dropdownSlideIn .2s ease;max-height:80vh;overflow-y:auto;position:relative!important;transform:none!important}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;outline:none}.dropdown-item:hover,.dropdown-item[data-highlighted]{background:#f8fafc;outline:none}.dropdown-item-icon{font-size:20px;flex-shrink:0}.dropdown-item-content{flex:1;display:flex;flex-direction:column;gap:2px}.dropdown-item-label{font-size:14px;font-weight:500;color:#1a1a1a;line-height:1.2}.dropdown-item-description{font-size:12px;color:#6b7280;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word}.info-message{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0369a1}.info-icon{font-size:20px;flex-shrink:0;margin-top:2px}.info-message div{flex:1}.info-message strong{display:block;margin-bottom:4px;font-weight:600}.info-message p{margin:0;font-size:14px;line-height:1.4}.table-controls{margin-bottom:8px}.table-control-buttons{display:flex;gap:8px;align-items:center}.table-control-buttons .btn{font-size:12px;padding:4px 8px;height:auto;min-height:28px;border-radius:4px;font-weight:500}.table-control-buttons .btn-tertiary{background-color:#f8f9fa;border:1px solid #dee2e6;color:#495057}.table-control-buttons .btn-tertiary:hover{background-color:#e9ecef;border-color:#adb5bd}.table-control-buttons .btn-tertiary:focus{box-shadow:0 0 0 2px #6c757d40;outline:none}.form-control.content-editable{min-height:200px;max-height:400px;overflow-y:auto;padding:12px}.form-control.content-editable:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-control.content-editable table{width:100%;border-collapse:collapse;font-size:12px;margin:0}.form-control.content-editable table th,.form-control.content-editable table td{border:1px solid #ccc;padding:8px;text-align:left;vertical-align:top}.form-control.content-editable table th{background-color:#f5f5f5;font-weight:600}.form-control.content-editable table tr:nth-child(2n){background-color:#f9f9f9}.form-control.content-editable table tr:hover{background-color:#f0f8ff}.form-control.content-editable:empty:before{content:attr(data-placeholder);color:#6c757d;font-style:italic}@media (max-width: 768px){.table-control-buttons{flex-direction:column;align-items:stretch}.table-control-buttons .btn{width:100%;margin-bottom:4px}}.task-list-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;word-wrap:break-word;overflow-wrap:break-word;position:relative}.task-list-item.recovery-task{background:#f9fafb;border-style:dashed;border-color:#d1d5db;margin-left:24px;position:relative}.task-list-item.recovery-task:before{content:"└";position:absolute;left:-20px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:20px;font-family:monospace}.task-list-item.recovery-task.selected{background:#f0f9ff}.task-details-placeholder small{font-size:14px;color:#9ca3af}.tasks-modal-right-pane .execution-summary{margin-top:16px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb;font-size:14px;line-height:1.6;color:#374151;text-align:left;max-height:400px;overflow-y:auto;white-space:normal;word-break:break-word;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.tasks-modal-right-pane .execution-summary h1,.tasks-modal-right-pane .execution-summary h2,.tasks-modal-right-pane .execution-summary h3,.tasks-modal-right-pane .execution-summary h4{margin:12px 0 8px;color:#1a1a1a;text-align:left}.tasks-modal-right-pane .execution-summary h2{font-size:16px;font-weight:600}.tasks-modal-right-pane .execution-summary h3{font-size:15px;font-weight:600}.tasks-modal-right-pane .execution-summary h4{font-size:14px;font-weight:600}.tasks-modal-right-pane .execution-summary p{margin:8px 0;line-height:1.6;text-align:left;word-wrap:break-word;overflow-wrap:break-word}.tasks-modal-right-pane .execution-summary ul,.tasks-modal-right-pane .execution-summary ol{margin:8px 0;padding-left:20px;text-align:left}.tasks-modal-right-pane .execution-summary li{margin:4px 0;line-height:1.5;text-align:left}.tasks-modal-right-pane .execution-summary strong,.tasks-modal-right-pane .execution-summary b{color:#1f2937;font-weight:600}.tasks-modal-right-pane .execution-summary code{background:#e5e7eb;padding:2px 6px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;word-break:break-all;white-space:pre-wrap}.tasks-modal-right-pane .execution-summary pre{background:#1f2937;color:#f8fafc;padding:12px;border-radius:6px;overflow-x:auto;overflow-y:hidden;margin:12px 0;max-width:100%;white-space:pre-wrap;word-wrap:break-word;word-break:break-all}.tasks-modal-right-pane .execution-summary pre code{background:none;padding:0;color:inherit;white-space:pre-wrap;word-break:break-word}.tasks-modal-right-pane .execution-summary blockquote{border-left:4px solid #e5e7eb;padding-left:12px;margin:12px 0;color:#6b7280;font-style:italic}.task-actions{display:flex;gap:4px;justify-content:center;align-items:center}.triggered-by-info{display:flex;flex-direction:column;gap:2px;min-width:120px}.triggered-by-info .user-name{font-size:13px;font-weight:500;color:#374151;line-height:1.2}.triggered-by-info .user-email{font-size:11px;color:#6b7280;line-height:1.2;word-break:break-all}.triggered-by-info .user-unknown{font-size:13px;color:#9ca3af;font-style:italic}@media (max-width: 1200px){.triggered-by-info{min-width:100px}.triggered-by-info .user-name{font-size:12px}.triggered-by-info .user-email{font-size:10px}}@media (max-width: 768px){.triggered-by-info{min-width:80px}.triggered-by-info .user-name{display:none}.triggered-by-info .user-email{font-size:11px}}.session-metrics h4{font-size:18px;font-weight:600;color:#1a1a1a;margin-bottom:16px}.session-metrics-table{background:#fff;border-radius:8px;border:1px solid #e2e8f0;overflow:hidden}.session-metrics-table table{width:100%;border-collapse:collapse}.session-metrics-table th{background:#f8fafc;padding:12px 16px;text-align:left;font-weight:600;font-size:12px;color:#374151;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.session-metrics-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;font-size:14px;color:#374151}.session-metrics-table tr:last-child td{border-bottom:none}.session-metrics-table .active-session{background:#10b9810d}.session-metrics-table .active-session td{border-bottom-color:#10b9811a}.session-id-cell{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:12px;font-weight:500}.access-denied-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 24px;min-height:50vh}.access-denied-icon{font-size:64px;margin-bottom:16px}.access-denied-state h3{margin:0 0 8px;font-size:24px;font-weight:600;color:#1a1a1a}.access-denied-state p{margin:0 0 8px;font-size:16px;color:#6b7280}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;min-height:200px}.loading-state .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;animation:spin 1s ease-in-out infinite;margin-bottom:16px}.loading-state p{margin:0;color:#6b7280;font-size:16px}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 24px;min-height:200px}.error-state .error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e2e8f0;background:#f8fafc}.session-row{transition:background-color .2s ease}.session-row:hover{background-color:#3b82f60d}.session-row.clickable{cursor:pointer}.task-row{background-color:#f3f4f680;font-size:.9em}.task-row:hover{background-color:#f3f4f6cc}.session-id-cell{display:flex;align-items:center;gap:6px}.task-id-cell{color:#6b7280;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85em;padding-left:16px}.expand-icon{display:flex;align-items:center;color:#6b7280;transition:transform .2s ease}.expand-icon:hover{color:#374151}.metrics-modal{max-width:1200px;width:95vw;max-height:90vh}.metrics-modal .modal-body{max-height:calc(90vh - 120px);overflow-y:auto}.session-metrics-table table{width:100%;font-size:.9em}.session-metrics-table th{background-color:#f9fafb;font-weight:600;color:#374151;padding:12px 8px;text-align:left;border-bottom:2px solid #e5e7eb}.session-metrics-table td{padding:10px 8px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.status-badge{padding:4px 8px;border-radius:12px;font-size:.75em;font-weight:500;text-transform:uppercase}.status-badge.status-active{background-color:#10b9811a;color:#059669}.status-badge.status-completed{background-color:#3b82f61a;color:#2563eb}.status-badge.status-failed{background-color:#ef44441a;color:#dc2626}.status-badge.status-paused{background-color:#f59e0b1a;color:#d97706}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.summary-card{background:#fff;padding:16px;border-radius:8px;border:1px solid #e5e7eb;display:flex;align-items:center;gap:12px}.summary-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background-color:#3b82f61a;color:#2563eb}.summary-content{flex:1}.summary-value{font-size:1.5em;font-weight:700;color:#111827;line-height:1.2}.summary-label{font-size:.875em;font-weight:500;color:#374151;margin-top:2px}.summary-subtitle{font-size:.75em;color:#6b7280;margin-top:2px}.screenshot-gallery{height:100%;display:flex;flex-direction:column;background:#fff;border-radius:8px;overflow:hidden}.screenshot-gallery-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e5e7eb;flex-shrink:0}.screenshot-gallery-info{display:flex;align-items:center;gap:8px;color:#374151;font-size:14px}.screenshot-gallery-info svg{color:#6b7280}.screenshot-time{font-weight:600}.screenshot-counter{padding:2px 8px;background:#e5e7eb;border-radius:12px;font-size:12px;color:#6b7280;font-weight:500}.screenshot-gallery-actions{display:flex;align-items:center;gap:8px}.screenshot-gallery-actions .btn-icon{padding:6px;border-radius:6px;background:#fff;border:1px solid #e5e7eb;color:#374151;cursor:pointer;transition:all .15s ease}.screenshot-gallery-actions .btn-icon:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.screenshot-gallery-actions .btn-icon:disabled{opacity:.5;cursor:not-allowed}.screenshot-gallery-content{flex:1;display:flex;flex-direction:row;min-height:0;overflow:hidden}.screenshot-gallery-main{flex:1;display:flex;align-items:center;justify-content:center;padding:16px;background:#f9fafb;min-height:0;overflow:hidden;position:relative;cursor:ns-resize}.screenshot-gallery-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 12px #0000001a;cursor:pointer;transition:transform .2s ease}.screenshot-gallery-image:hover{transform:scale(1.01)}.scroll-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:6px 12px;border-radius:16px;font-size:12px;opacity:.7;pointer-events:none;transition:opacity .3s ease}.screenshot-gallery-main:hover .scroll-hint{opacity:0}.screenshot-gallery-thumbnails{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f8fafc;border-left:1px solid #e5e7eb;overflow-y:auto;overflow-x:hidden;flex-shrink:0;width:100px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.screenshot-gallery-thumbnails::-webkit-scrollbar{width:4px}.screenshot-gallery-thumbnails::-webkit-scrollbar-track{background:#e5e7eb;border-radius:2px}.screenshot-gallery-thumbnails::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:2px}.screenshot-gallery-thumbnails::-webkit-scrollbar-thumb:hover{background:#6b7280}.screenshot-thumbnail-btn{position:relative;flex-shrink:0;width:76px;height:48px;padding:0;border:2px solid transparent;border-radius:6px;background:#fff;cursor:pointer;overflow:hidden;transition:all .15s ease}.screenshot-thumbnail-btn:hover{border-color:#9ca3af;transform:translateY(-2px)}.screenshot-thumbnail-btn.active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.screenshot-thumbnail-img{width:100%;height:100%;object-fit:cover}.thumbnail-index{position:absolute;bottom:2px;right:2px;background:#000000b3;color:#fff;font-size:9px;font-weight:600;padding:1px 4px;border-radius:3px}.screenshot-gallery-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#6b7280;text-align:center;padding:40px}.screenshot-gallery-empty svg{color:#9ca3af}.screenshot-gallery-empty span{font-size:18px;font-weight:500}.screenshot-gallery-empty small{color:#9ca3af;font-size:13px}@media (max-width: 768px){.screenshot-gallery-header{padding:10px 12px;flex-wrap:wrap;gap:8px}.screenshot-gallery-info{font-size:13px}.screenshot-gallery-main{padding:12px}.screenshot-gallery-thumbnails{padding:8px;width:80px}.screenshot-thumbnail-btn{width:64px;height:40px}.view-mode-toggle{padding:3px}.view-mode-btn{padding:5px 10px;font-size:12px}.view-mode-btn span{display:none}}@keyframes screenshot-flash{0%{box-shadow:0 0 #3b82f666}70%{box-shadow:0 0 0 6px #3b82f600}to{box-shadow:0 0 #3b82f600}}.screenshot-thumbnail-btn.new{animation:screenshot-flash .6s ease}@media (prefers-reduced-motion: reduce){.screenshot-gallery-image,.screenshot-thumbnail-btn,.view-mode-btn{transition:none}.screenshot-gallery-thumbnails{scroll-behavior:auto}.screenshot-thumbnail-btn.new{animation:none}}.has-tooltip{position:relative}.has-tooltip:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);right:0;background:#1f2937;color:#fff;font-size:12px;line-height:1.4;padding:4px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .1s;z-index:10}.has-tooltip:hover:after{opacity:1}.websocket-client{--primary-color: #208844;--success-color: #10b981;--success-hover: #059669;--warning-color: #f59e0b;--danger-color: #ef4444;--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--surface-primary: #ffffff;--surface-secondary: #f9fafb;--surface-hover: #f3f4f6;--border-color: #e5e7eb;--accent-color: #3b82f6;height:100vh;min-height:100vh;background:#fafbfc;color:#1a1a1a;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}:root{--primary: #208844;--primary-hover: #2563EB;--primary-light: #60A5FA;--bg-primary: #0F0F23;--bg-secondary: #1A1A2E;--bg-card: #16213E;--bg-elevated: #1E293B;--text-primary: #F8FAFC;--text-secondary: #CBD5E1;--text-muted: #64748B;--border: #334155;--border-light: #475569;--success: #10B981;--error: #EF4444;--warning: #F59E0B;--shadow: 0 1px 3px 0 rgba(0, 0, 0, .3);--shadow-lg: 0 4px 12px 0 rgba(0, 0, 0, .4)}.header-left{display:flex;align-items:center;gap:16px}.tasks-dropdown-container,.tasks-dropdown-trigger{position:relative}.dropdown-chevron{transition:transform .2s ease}.dropdown-chevron.open{transform:rotate(180deg)}.tasks-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:400px;max-height:500px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 20px #0000001a;z-index:1000;overflow:hidden}.tasks-dropdown-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f8fafc;display:flex;justify-content:space-between;align-items:center}.tasks-dropdown-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.tasks-dropdown-count{background:#e5e7eb;color:#6b7280;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500}.tasks-dropdown-content{max-height:400px;overflow-y:auto;padding:8px}.task-dropdown-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:12px;margin-bottom:8px;transition:all .2s ease;word-wrap:break-word;overflow-wrap:break-word;min-width:0}.task-dropdown-item:last-child{margin-bottom:0}.task-dropdown-item:hover{background:#f1f5f9;border-color:#d1d5db}.task-dropdown-item.task-active{border-color:#10b981;background:#f0fdf4}.task-dropdown-item.task-completed{border-color:#3b82f6;background:#eff6ff}.task-dropdown-item.task-failed,.task-dropdown-item.task-error{border-color:#ef4444;background:#fef2f2}.task-dropdown-item.task-not_started{border-color:#8b5cf6;background:#faf5ff}.task-dropdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.task-dropdown-content-text{display:flex;flex-direction:column;gap:4px;min-width:0}.task-dropdown-content .task-id{font-size:11px;color:#9ca3af;font-family:Monaco,Menlo,Ubuntu Mono,monospace;word-break:break-all;line-height:1.3}.task-dropdown-content .task-prompt{font-size:13px;color:#374151;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;white-space:pre-wrap}.connection-status{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f3f4f6;border-radius:8px;font-size:13px;color:#6b7280}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.connected{background:#10b981}.status-dot.disconnected{background:#ef4444}.btn{padding:10px 20px;border:none;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap;font-family:inherit;position:relative}.btn svg{display:inline-block!important;width:16px;height:16px;flex-shrink:0;pointer-events:none;z-index:1}.btn-icon svg{width:16px;height:16px}.btn *{z-index:1;position:relative}.btn:disabled svg{opacity:.5}.btn-secondary{background:#fff;color:#374151;border:1px solid #e5e7eb}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.btn-tertiary{background:#f3f4f6;color:#6b7280}.btn-icon{padding:8px;width:32px;height:32px;justify-content:center}.websocket-client .main-content{display:grid;grid-template-columns:400px 1fr;height:calc(100vh - 97px);overflow:hidden}.left-panel{background:#f8fafc;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;height:100%;overflow:hidden}.right-panel{background:#fff;height:100%;overflow:hidden}.info-section{padding:24px;display:flex;flex-direction:column;gap:20px;flex-shrink:0;max-height:60vh;overflow-y:auto}.session-card,.controls-card,.actions-card{background:#fff;border-radius:12px;border:1px solid #f1f3f4;box-shadow:0 1px 3px #0000000d}.card-header{padding:20px 20px 0;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge .status-dot{width:6px;height:6px}.session-details{padding:0 20px 20px}.session-info-grid{display:flex;flex-direction:column;gap:16px}.info-item{display:flex;align-items:center;gap:12px}.info-icon{width:32px;height:32px;background:#f3f4f6;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6b7280;flex-shrink:0}.info-content{display:flex;flex-direction:column;min-width:0;flex:1}.info-label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.info-value{font-size:14px;font-weight:500;color:#1a1a1a;margin-top:2px;word-break:break-all}.loading-state{display:flex;flex-direction:column;gap:12px}.session-id-display{display:flex;flex-direction:column;gap:4px}.session-label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.session-value{font-size:14px;font-weight:500;color:#1a1a1a;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.loading-message{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:14px}.spinner{width:16px;height:16px;border:2px solid #f3f4f6;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.no-session-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;text-align:center;color:#6b7280}.session-controls{display:flex;flex-direction:row;gap:12px}.session-controls.loading{opacity:.6;pointer-events:none}.quick-actions{padding:0 20px 20px;display:flex;flex-direction:column;gap:12px}.messages-section{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden;box-shadow:0 1px 3px #0000000d;flex:1;display:flex;flex-direction:column;min-height:0}.messages-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f8fafc;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.messages-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.messages-count{background:#e5e7eb;color:#6b7280;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:0}.messages-container.with-input{padding-bottom:8px}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.messages-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.empty-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:#6b7280}.empty-messages span{font-weight:500}.empty-messages small{font-size:12px;color:#9ca3af}.tasks-section{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden;box-shadow:0 1px 3px #0000000d;margin-bottom:16px}.tasks-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f8fafc;display:flex;justify-content:space-between;align-items:center}.tasks-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.tasks-count{background:#e5e7eb;color:#6b7280;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500}.tasks-container{max-height:300px;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.task-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:12px;transition:all .2s ease}.task-item:hover{background:#f1f5f9;border-color:#d1d5db}.task-item.task-active{border-color:#10b981;background:#f0fdf4}.task-item.task-completed{border-color:#3b82f6;background:#eff6ff}.task-item.task-failed,.task-item.task-error{border-color:#ef4444;background:#fef2f2}.task-item.task-not_started{border-color:#8b5cf6;background:#faf5ff}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.task-status-info{display:flex;align-items:center;gap:8px}.task-status-icon{font-size:14px}.task-index{font-size:12px;font-weight:600;color:#6b7280}.task-status-badge{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.task-time{font-size:11px;color:#6b7280}.task-content{display:flex;flex-direction:column;gap:4px}.task-id{font-size:11px;color:#9ca3af;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.task-prompt{font-size:13px;color:#374151;line-height:1.4}.tasks-section.compact{margin-bottom:12px}.tasks-header.compact{padding:12px 16px}.tasks-header.compact h3{font-size:14px}.tasks-count.compact{padding:3px 6px;font-size:11px}.tasks-container.compact{padding:8px;gap:6px}.task-item.compact{padding:10px}.task-item.compact .task-prompt{font-size:12px}.task-item.compact .task-id{font-size:10px}.message{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:12px;transition:background-color .2s ease}.message:hover{background:#f1f5f9}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.message-icon{font-size:14px}.message-time{font-size:11px;color:#6b7280}.message-content{font-size:13px;line-height:1.5;color:#374151}.message-agent{border-left:4px solid #3b82f6}.message-tool{border-left:4px solid #10b981}.message.message-user{background:#f8fafc;border:1px solid #e5e7eb;border-right:4px solid #10b981}.message.message-user:hover{background:#f0faf2}.message-status{border-left:4px solid #6b7280}.message-error{border-left:4px solid #ef4444;background:#fef2f2}.message-screenshot{border-left:4px solid #f59e0b}.screenshot-container{margin-top:8px}.screenshot-image{max-width:100%;height:auto;border-radius:6px;cursor:pointer;transition:transform .2s ease}.screenshot-image:hover{transform:scale(1.02)}.vnc-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;height:100%;display:flex;flex-direction:column}.vnc-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.vnc-controls{display:flex;flex-direction:row!important}.display-info{font-size:14px;color:#6b7280;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.vnc-viewer{flex:1;position:relative;background:#f3f4f6;display:flex;align-items:center;justify-content:center;min-height:400px}.vnc-iframe{width:100%;height:100%;border:none;background:#fff}.vnc-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#6b7280;text-align:center}.vnc-placeholder span{font-size:18px;font-weight:500}.vnc-placeholder small{color:#9ca3af;font-size:12px}.screenshot-viewer{height:100%;display:flex;flex-direction:column;background:#fff;border-radius:8px;overflow:hidden}.screenshot-info{padding:16px;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.screenshot-time{font-size:14px;font-weight:600;color:#374151}.screenshot-label{font-size:12px;color:#6b7280}.screenshot-display{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;background:#f9fafb}.main-screenshot{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 12px #0000001a;cursor:pointer;transition:transform .2s ease}.main-screenshot:hover{transform:scale(1.02)}.md-h2,.md-h3{margin:16px 0 8px;color:#1a1a1a}.md-h2{font-size:18px;font-weight:600}.md-h3{font-size:16px;font-weight:600}.md-list{margin:8px 0;padding-left:20px}.md-list li{margin:4px 0;line-height:1.5}@media (max-width: 1024px){.websocket-client .main-content{grid-template-columns:350px 1fr}}@media (max-width: 768px){.header{flex-direction:column;gap:16px;align-items:stretch}.header-left{justify-content:flex-start}.header-actions{justify-content:center;flex-wrap:wrap}.websocket-client .main-content{grid-template-columns:1fr;height:auto}.left-panel{border-right:none;border-bottom:1px solid #e5e7eb}.vnc-container{min-height:400px}}@media (max-width: 480px){.info-section{padding:16px}.session-controls,.quick-actions{gap:8px}.btn{padding:8px 12px;font-size:13px}}.tasks-modal-overlay{background:#00000080;position:fixed;inset:0;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tasks-modal-content{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:1200px;height:80vh;max-height:800px;z-index:1001;display:flex;flex-direction:column;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.tasks-modal-header{padding:24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start;flex-shrink:0}.tasks-modal-title-section{display:flex;flex-direction:column;gap:4px}.tasks-modal-title{margin:0;font-size:24px;font-weight:700;color:#1a1a1a}.tasks-modal-subtitle{font-size:14px;color:#6b7280;margin:0}.tasks-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:#f3f4f6;color:#6b7280;cursor:pointer;transition:all .2s ease}.tasks-modal-close:hover{background:#e5e7eb;color:#374151}.tasks-modal-body{flex:1;display:grid;grid-template-columns:400px 1fr;overflow:hidden}.tasks-modal-left-pane{border-right:1px solid #e5e7eb;background:#f8fafc;display:flex;flex-direction:column;overflow:hidden}.tasks-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.task-list-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;word-wrap:break-word;overflow-wrap:break-word;width:100%}.task-list-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.task-list-item.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 1px #3b82f610}.task-list-item.task-active{border-left:4px solid #10b981}.task-list-item.task-completed{border-left:4px solid #3b82f6}.task-list-item.task-failed,.task-list-item.task-error{border-left:4px solid #ef4444}.task-list-item.task-not_started{border-left:4px solid #8b5cf6}.task-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.task-list-content{display:flex;flex-direction:column;gap:6px}.task-list-content .task-id{font-size:11px;color:#9ca3af;font-family:Monaco,Menlo,Ubuntu Mono,monospace;word-break:break-all;line-height:1.3}.task-list-content .task-prompt{font-size:14px;color:#374151;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.tasks-modal-right-pane{background:#fff;display:flex;flex-direction:column;overflow:hidden}.task-details{flex:1;padding:24px;overflow-y:auto}.task-details-placeholder,.task-details-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#6b7280;gap:16px}.task-details-placeholder h3,.task-details-empty h3{margin:0;font-size:20px;font-weight:600;color:#374151}.task-details-placeholder p,.task-details-empty p{margin:0;font-size:16px;color:#6b7280}.task-details-placeholder small{color:#6b7280;margin-top:8px;display:block}.execution-summary{margin-top:16px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb;font-size:14px;line-height:1.6;color:#374151;text-align:left;max-height:320px;overflow-y:auto;white-space:normal;word-break:break-word}.execution-summary h1,.execution-summary h2,.execution-summary h3,.execution-summary h4,.execution-summary h5,.execution-summary h6{margin:12px 0 8px;color:#1a1a1a}.execution-summary h1{font-size:18px;font-weight:700}.execution-summary h2{font-size:16px;font-weight:600}.execution-summary h3{font-size:15px;font-weight:600}.execution-summary h4,.execution-summary h5,.execution-summary h6{font-size:14px;font-weight:600}.execution-summary ul,.execution-summary ol{margin:8px 0;padding-left:16px}.execution-summary li{margin:4px 0;line-height:1.5}.execution-summary p{margin:8px 0;line-height:1.6}.execution-summary strong,.execution-summary b{color:#1f2937;font-weight:600}.execution-summary em,.execution-summary i{font-style:italic}.execution-summary code{background:#e5e7eb;padding:2px 4px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px}.execution-summary pre{background:#1f2937;color:#f8fafc;padding:12px;border-radius:6px;overflow-x:auto;margin:12px 0}.execution-summary pre code{background:none;padding:0;color:inherit}.execution-summary blockquote{border-left:4px solid #e5e7eb;padding-left:12px;margin:12px 0;color:#6b7280;font-style:italic}.execution-summary a{color:#3b82f6;text-decoration:underline}.execution-summary a:hover{color:#2563eb}@media (max-width: 1024px){.tasks-modal-content{width:95vw;height:85vh}.tasks-modal-body{grid-template-columns:350px 1fr}}@media (max-width: 768px){.tasks-modal-content{width:100vw;height:100vh;border-radius:0}.tasks-modal-body{grid-template-columns:1fr;grid-template-rows:40% 1fr}.tasks-modal-left-pane{border-right:none;border-bottom:1px solid #e5e7eb}}.filter-dropdown-container{position:relative;display:inline-block}.filter-btn{display:flex;align-items:center;gap:6px;min-width:140px;justify-content:space-between}.filter-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #0000001a;z-index:1000;margin-top:4px;overflow:hidden;min-width:200px}.filter-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #e5e7eb;background:#f9fafb;font-size:12px;color:#6b7280;font-weight:500}.clear-all-btn{background:none!important;border:none!important;color:#ef4444!important;cursor:pointer!important;font-size:12px!important;text-decoration:underline!important;padding:0!important}.clear-all-btn:hover{color:#dc2626!important}.filter-option{width:100%;padding:10px 12px;border:none;background:none;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;text-align:left}.filter-option.checkbox-option{display:flex;align-items:center;padding:10px 12px;cursor:pointer;transition:background-color .2s;border:none;background:none;width:100%;text-align:left}.filter-option.checkbox-option input[type=checkbox]{margin-right:8px;width:14px;height:14px;accent-color:#2563eb;cursor:pointer}.filter-option:hover{background-color:#f9fafb}.filter-option.active{background-color:#eff6ff}.filter-option.active .filter-label{color:#2563eb;font-weight:500}.filter-option-content{display:flex;align-items:center;gap:8px;flex:1;text-align:left}.filter-icon{font-size:14px;width:16px;text-align:center}.filter-label{flex:1;font-size:14px;color:#374151}.filter-count{font-size:12px;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:10px;min-width:24px;text-align:center}.filter-option.active .filter-count{background:#dbeafe;color:#1d4ed8}.filter-dropdown-container:focus-within .filter-dropdown{display:block}.vnc-reload-controls{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--surface-secondary);border-radius:6px;border:1px solid var(--border-color)}.vnc-interval-select{padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--surface-primary);color:var(--text-primary);font-size:12px;min-width:60px}.vnc-interval-select:focus{outline:none;border-color:var(--accent-color)}.vnc-reload-controls .btn{padding:6px;min-width:auto}.vnc-reload-controls .btn-success{background:var(--success-color);color:#fff}.vnc-reload-controls .btn-success:hover{background:var(--success-hover)}.user-message-input{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;background:#f8fafc;border-radius:12px;border:2px dashed #d1d5db}.message-input-header{display:flex;align-items:center;gap:16px;margin-bottom:32px;color:#6b7280}.message-input-title{text-align:left}.message-input-title h3{margin:0 0 4px;font-size:24px;font-weight:700;color:#1a1a1a}.message-input-title p{margin:0;font-size:16px;color:#6b7280;font-weight:400}.message-input-form{width:100%;max-width:600px;margin-bottom:20px}.message-textarea{width:100%;padding:16px;border:2px solid #e5e7eb;border-radius:12px;font-size:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;resize:vertical;min-height:120px;background:#fff;color:#1a1a1a;transition:all .2s ease;margin-bottom:16px}.message-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.message-textarea:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.message-textarea::placeholder{color:#9ca3af}.message-input-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center}.message-input-actions .btn{min-width:120px;display:flex;align-items:center;justify-content:center;gap:8px}.message-input-actions .btn .spinner{width:16px;height:16px}.message-input-help{text-align:center;color:#6b7280;max-width:500px}.message-input-help small{font-size:14px;line-height:1.4}@media (max-width: 768px){.user-message-input{padding:24px 20px}.message-input-header{flex-direction:column;text-align:center;gap:12px;margin-bottom:24px}.message-input-title{text-align:center}.message-input-title h3{font-size:20px}.message-input-actions{flex-direction:column;gap:8px}.message-input-actions .btn{width:100%;min-width:unset}}@media (max-width: 480px){.user-message-input{padding:20px 16px}.message-textarea{padding:12px;font-size:14px;min-height:100px}.message-input-title h3{font-size:18px}}.message-input-section{border-top:1px solid #e5e7eb;background:#f8fafc;padding:16px;flex-shrink:0}.message-input-header-compact{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#6b7280}.message-input-title-compact{font-size:14px;font-weight:500;color:#374151}.message-input-form-compact{display:flex;flex-direction:column;gap:12px}.message-textarea-compact{width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.4;resize:vertical;min-height:80px;background:#fff;color:#1a1a1a;transition:all .2s ease}.message-textarea-compact:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.message-textarea-compact:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.message-textarea-compact::placeholder{color:#9ca3af}.message-input-actions-compact{display:flex;gap:8px;justify-content:flex-end;align-items:center}.btn-sm{padding:6px 12px;font-size:13px;min-width:80px}.message-input-actions-compact .btn{display:flex;align-items:center;justify-content:center;gap:6px}.message-input-actions-compact .btn .spinner{width:14px;height:14px}@media (max-width: 768px){.message-input-section{padding:12px}.message-input-actions-compact{flex-direction:column;gap:6px}.message-input-actions-compact .btn{width:100%}}@media (max-width: 480px){.message-textarea-compact{padding:10px;font-size:13px;min-height:70px}}.replay-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999}.replay-modal-content{background:var(--bg-primary, #0F0F23);border-radius:8px;width:90%;height:90%;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080}.replay-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color, #2A2A40)}.replay-modal-header h3{margin:0;font-size:18px;color:var(--text-primary, #E5E5E5)}.replay-iframe{flex:1;border:none;width:100%;background:#000}.chat-interface{display:flex;height:100vh;flex-direction:column;background-color:#fafafa}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;position:relative;z-index:10}.header-left{display:flex;align-items:center;gap:1rem}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:#f3f4f6;color:#6b7280;text-decoration:none;transition:all .2s}.back-btn:hover{background:#e5e7eb;color:#374151}.header-content h1{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.header-subtitle{margin:0;font-size:.875rem;color:#6b7280}.header-actions{display:flex;align-items:center;gap:.75rem}.connection-status{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f9fafb;border-radius:6px;font-size:.875rem;color:#374151}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.connected{background-color:#10b981}.status-dot.disconnected{background-color:#ef4444}.status-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;text-transform:capitalize}.btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.btn-tertiary{background:#f3f4f6;color:#374151}.btn-tertiary:hover:not(:disabled){background:#e5e7eb}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover:not(:disabled){background:#d97706}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669}.session-controls{display:flex;align-items:center;gap:.5rem}.chat-main{display:flex;flex:1;overflow:hidden}.chat-container{flex:1;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e5e7eb;width:30%;position:relative}.messages-area{flex:1;overflow-y:auto;padding:1rem;scroll-behavior:smooth}.scroll-to-bottom-btn{position:absolute;bottom:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#3b82f6;color:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:background .2s ease,box-shadow .2s ease;z-index:10}.scroll-to-bottom-btn:hover{background:#2563eb;box-shadow:0 4px 12px #0003}.scroll-to-bottom-btn:active{transform:translate(-50%) scale(.95)}.message{padding:1rem;border-radius:8px;background:#f9fafb}.message-user{background:#dbeafe;border-color:#93c5fd;margin-left:2rem}.message-assistant{background:#f0f9ff;border-color:#7dd3fc;margin-right:2rem}.message-thinking{background:#fef3c7;border-color:#fcd34d;margin-right:2rem;opacity:.8}.message-system{background:#f0f9ff;border-color:#7dd3fc;font-size:.875rem}.message-error{background:#fee2e2;border-color:#fca5a5}.message-processing{background:#f0f9ff;border-color:#7dd3fc;margin-right:2rem}.message-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;color:#6b7280}.message-icon{display:flex;align-items:center;justify-content:center}.message-content{color:#111827;line-height:1.6}.message-content h3.md-h2,.message-content h4.md-h3{margin:.5rem 0;color:#111827}.message-content ul.md-list{margin:.5rem 0;padding-left:1.5rem}.message-content ul.md-list li{margin:.25rem 0}.typing-indicator{display:flex;gap:.25rem;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background-color:#6b7280;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-10px);opacity:1}}.empty-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#6b7280}.empty-chat h3{margin:1rem 0 .5rem;color:#374151}.empty-chat p{margin:0;max-width:300px}.input-area{padding:1rem;border-top:1px solid #e5e7eb;background:#fff}.input-container{display:flex;gap:.75rem;max-width:100%}.message-input{flex:1;min-height:44px;max-height:120px;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-family:inherit;resize:none;outline:none;transition:border-color .2s}.message-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.message-input:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.send-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:8px;background:#3b82f6;color:#fff;cursor:pointer;transition:all .2s;flex-shrink:0}.send-button:hover:not(:disabled){background:#2563eb}.send-button:disabled{background:#d1d5db;cursor:not-allowed}.vnc-panel{width:70%;display:flex;flex-direction:column;background:#fff;border-left:1px solid #e5e7eb}.vnc-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.vnc-title{display:flex;align-items:center;gap:.5rem;color:#374151;font-weight:500}.vnc-title h3{margin:0;font-size:1rem}.vnc-controls{display:flex;align-items:center;gap:.75rem}.view-mode-toggle{display:flex;align-items:center;gap:4px;padding:4px;background:#f3f4f6;border-radius:8px;border:1px solid #e5e7eb}.view-mode-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;background:transparent;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.view-mode-btn:hover:not(.active){color:#374151;background:#fff}.view-mode-btn.active{background:#fff;color:#3b82f6;box-shadow:0 1px 3px #0000001a}.view-mode-btn svg{flex-shrink:0}.vnc-info{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#6b7280}.vnc-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.vnc-iframe{width:100%;height:100%;border:none;background:#000}.screenshot-display{flex:1;display:flex;flex-direction:column;position:relative}.screenshot-image{width:100%;height:auto;object-fit:contain;cursor:pointer;transition:transform .2s}.screenshot-image:hover{transform:scale(1.01)}.screenshot-timestamp{position:absolute;bottom:.5rem;right:.5rem;background:#000000b3;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem}.vnc-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#6b7280;padding:2rem}.vnc-placeholder span{margin:1rem 0 .5rem;font-weight:500;color:#374151}.vnc-placeholder small{margin:0;font-size:.75rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .2s;text-decoration:none}.btn-icon.btn-secondary{background:#f3f4f6;color:#374151}.btn-icon.btn-secondary:hover:not(:disabled){background:#e5e7eb}@media (max-width: 1024px){.vnc-panel{width:300px}}@media (max-width: 768px){.chat-main{flex-direction:column}.vnc-panel{width:100%;height:300px;border-left:none;border-top:1px solid #e5e7eb}.header-actions{gap:.5rem}.btn{padding:.5rem .75rem;font-size:.75rem}.header-subtitle{display:none}}.messages-area::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar-track{background:#f1f5f9}.messages-area::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.messages-area::-webkit-scrollbar-thumb:hover{background:#94a3b8}.user-action-recorder{position:absolute;width:100%;height:100%;top:0}.recording-controls{position:absolute;top:-50px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;background:#fffffff2;backdrop-filter:blur(10px);border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;box-shadow:0 2px 10px #0000001a;z-index:20}.recording-status{display:flex;align-items:center;gap:12px}.recording-indicator{display:flex;align-items:center;gap:6px;color:#dc2626;font-weight:500;font-size:14px}.recording-dot{width:8px;height:8px;background:#dc2626;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.action-count{font-size:12px;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:4px}.recording-buttons{display:flex;align-items:center;gap:6px}.recording-overlay{background:#007bff0d;border:2px dashed transparent;outline:none;transition:all .2s ease}.recording-overlay.active{border-color:#007bff;background:#007bff1a}.recording-overlay:focus{outline:2px solid #007bff;outline-offset:-2px}.overlay-hint{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#dc2626e6;color:#fff;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:500;pointer-events:none;animation:fadeInOut 3s infinite}@keyframes fadeInOut{0%,to{opacity:.7}50%{opacity:1}}.recording-preview{position:absolute;bottom:-200px;left:0;right:0;background:#fffffff2;backdrop-filter:blur(10px);border:1px solid #e5e7eb;border-radius:8px;padding:12px;box-shadow:0 2px 10px #0000001a;z-index:20;max-height:180px;overflow-y:auto}.recording-preview h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#374151}.actions-list{display:flex;flex-direction:column;gap:4px}.action-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#f9fafb;border-radius:4px;font-size:12px}.action-type{font-weight:500;color:#4f46e5;min-width:80px}.action-time{color:#6b7280;min-width:40px}.action-details{color:#059669;font-style:italic;font-size:11px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-thumbnail{width:30px;height:20px;object-fit:cover;border-radius:2px;cursor:pointer;border:1px solid #e5e7eb;transition:transform .2s ease}.action-thumbnail:hover{transform:scale(1.1);box-shadow:0 2px 8px #0003}@media (max-width: 768px){.recording-controls{flex-direction:column;gap:8px;top:-70px}.recording-buttons{flex-wrap:wrap}.overlay-hint{font-size:11px;padding:6px 12px}.recording-preview{bottom:-150px;max-height:130px}}.user-action-recorder .btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.user-action-recorder .btn:hover{background:#f9fafb;border-color:#9ca3af}.user-action-recorder .btn:active{transform:translateY(1px)}.user-action-recorder .btn:disabled{opacity:.5;cursor:not-allowed}.user-action-recorder .btn-success{background:#10b981;border-color:#10b981;color:#fff}.user-action-recorder .btn-success:hover{background:#059669;border-color:#059669}.user-action-recorder .btn-danger{background:#ef4444;border-color:#ef4444;color:#fff}.user-action-recorder .btn-danger:hover{background:#dc2626;border-color:#dc2626}.user-action-recorder .btn-tertiary{background:#6b7280;border-color:#6b7280;color:#fff}.user-action-recorder .btn-tertiary:hover{background:#4b5563;border-color:#4b5563}.user-action-recorder .btn-icon{width:32px;height:32px;padding:0}.user-action-recorder-test-page{height:100vh;background:#fafbfc;color:#1a1a1a;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;flex-direction:column}.test-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;box-shadow:0 1px 3px #0000000d}.test-header-left{display:flex;align-items:center;gap:16px}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#6b7280;text-decoration:none;transition:all .2s ease}.back-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.test-header-content h1{margin:0;font-size:24px;font-weight:700;color:#1a1a1a;line-height:1.2}.test-header-subtitle{margin:4px 0 0;font-size:14px;color:#6b7280;font-weight:400}.test-header-actions{display:flex;align-items:center;gap:20px}.test-session-info{padding:8px 12px;background:#f3f4f6;border-radius:8px;font-size:12px;color:#6b7280;font-family:Monaco,Menlo,monospace}.test-stats{display:flex;align-items:center;gap:16px}.stat-item{font-size:14px;font-weight:500;color:#374151}.status-recording{padding:4px 8px;border-radius:6px;background:#f3f4f6;font-size:12px}.test-info-panel{background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 24px;display:flex;justify-content:space-between;align-items:flex-start;flex-shrink:0}.info-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;max-width:500px}.info-card svg{color:#3b82f6;margin-top:2px;flex-shrink:0}.info-content h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#1e40af}.info-content ol{margin:0;padding-left:20px;color:#1e40af}.info-content li{margin:4px 0;font-size:14px;line-height:1.4}.test-controls{display:flex;align-items:center;gap:12px}.test-vnc-container{flex:1;margin:16px 24px;background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;display:flex;flex-direction:column;min-height:0}.test-vnc-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.vnc-title{display:flex;align-items:center;gap:12px}.vnc-title h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.vnc-info{display:flex;align-items:center;gap:12px}.display-info{font-size:14px;color:#6b7280;font-family:Monaco,Menlo,monospace}.test-vnc-viewer{flex:1;position:relative;background:#f3f4f6;min-height:400px}.test-vnc-iframe{width:100%;height:100%;border:none;background:#fff}.test-action-log{background:#fff;border-top:1px solid #e5e7eb;max-height:300px;display:flex;flex-direction:column;flex-shrink:0}.action-log-header{padding:16px 24px;border-bottom:1px solid #e5e7eb;background:#f8fafc;display:flex;justify-content:space-between;align-items:center}.action-log-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.action-log-subtitle{font-size:12px;color:#6b7280}.action-log-content{flex:1;overflow-y:auto;padding:12px 24px;display:flex;flex-direction:column;gap:8px}.action-log-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px;transition:background-color .2s ease}.action-log-item:hover{background:#f1f5f9}.action-log-main{display:flex;align-items:center;gap:12px;margin-bottom:4px}.action-type{font-weight:600;color:#4f46e5;min-width:80px;font-size:13px}.action-time{color:#6b7280;font-family:Monaco,Menlo,monospace;font-size:12px;min-width:60px}.action-coords{color:#059669;font-family:Monaco,Menlo,monospace;font-size:12px;min-width:100px}.action-screenshot-indicator{color:#10b981;font-size:14px;title:"Screenshot captured"}.action-screenshot-pending{color:#f59e0b;font-size:14px;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.action-screenshot-container{display:flex;align-items:center;gap:8px}.action-screenshot-thumbnail{width:60px;height:40px;object-fit:cover;border-radius:4px;cursor:pointer;border:1px solid #e5e7eb;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.action-screenshot-thumbnail:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026;border-color:#3b82f6}.action-no-screenshot{color:#6b7280;font-size:14px;opacity:.5;title:"No screenshot"}.action-details{font-size:11px;color:#6b7280;margin-top:4px;padding-left:92px}.action-details code{background:#e5e7eb;padding:1px 4px;border-radius:3px;font-family:Monaco,Menlo,monospace;color:#374151}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-tertiary{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.btn-tertiary:hover:not(:disabled){background:#e5e7eb;color:#374151}.action-log-content::-webkit-scrollbar{width:6px}.action-log-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.action-log-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.action-log-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 1024px){.test-header{flex-direction:column;gap:16px;align-items:stretch}.test-header-left{justify-content:flex-start}.test-header-actions{justify-content:space-between}.test-info-panel{flex-direction:column;gap:16px;align-items:stretch}.info-card{max-width:none}.test-controls{justify-content:center}}@media (max-width: 768px){.test-vnc-container{margin:12px}.test-header,.test-info-panel,.test-vnc-header,.action-log-header{padding:12px 16px}.action-log-content{padding:8px 16px}.action-log-main{flex-wrap:wrap;gap:8px}.action-details{padding-left:0}}@media (max-width: 480px){.test-header-content h1{font-size:20px}.test-header-subtitle{font-size:13px}.test-stats{flex-direction:column;align-items:flex-start;gap:8px}.info-card{padding:12px}.info-content h3{font-size:14px}.info-content li{font-size:13px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.loading-indicator{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-secondary);font-size:12px}.loading-more-indicator{padding:12px;text-align:center;color:var(--color-text-secondary);background:var(--color-surface-elevated);border-top:1px solid var(--color-border)}.message-skeleton{padding:8px 12px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.skeleton-header{height:14px;width:120px;background:var(--color-border);border-radius:4px;margin-bottom:6px}.skeleton-content{height:12px;width:80%;background:var(--color-border);border-radius:4px}.message-count{font-size:11px;color:var(--color-text-secondary);padding:4px 0;display:flex;align-items:center;gap:8px}.message-count .btn-link{padding:2px 6px;font-size:11px;color:var(--color-primary);text-decoration:underline;cursor:pointer;background:none;border:none}.message-count .btn-link:hover{color:var(--color-primary-dark)}.virtual-message-list{height:100%;display:flex;flex-direction:column}.messages-virtual-container{flex:1;overflow-y:auto!important}.message-row,.message-row-loading{padding:0 12px}.screenshot-thumbnail{max-width:100%;height:auto;border-radius:4px;display:block;will-change:transform;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.screenshot-thumbnail[loading=lazy]{background:var(--color-border);min-height:100px}.messages-compact{will-change:scroll-position;contain:layout style paint}.message-compact{contain:layout style;position:relative}.immersive-sidebar{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.sidebar-section.messages-list{will-change:contents}.message-compact:hover{transform:translateZ(0);backface-visibility:hidden}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.metric-label{font-size:12px;color:var(--text-muted, #8a94a6)}.metric-value{font-size:13px;font-weight:600;color:var(--text-primary, #e8e8e8);font-variant-numeric:tabular-nums}.cost-summary{display:flex;flex-direction:column;gap:14px}.cost-total{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#2ecc7114;border:1px solid rgba(46,204,113,.15);border-radius:10px}.cost-total svg{color:#2ecc71;flex-shrink:0}.cost-value{font-size:22px;font-weight:700;color:#2ecc71;font-variant-numeric:tabular-nums}.message-stats{padding:8px 12px;font-size:11px;color:var(--color-text-secondary);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.search-controls{position:sticky;top:0;background:var(--color-background);z-index:10;padding-bottom:8px}.messages-compact[data-updating=true]{pointer-events:none;opacity:.7}.pagination-compact{position:sticky;bottom:0;background:var(--color-background);padding-top:8px;border-top:1px solid var(--color-border)}.workbook-badge{display:inline-flex;align-items:center;gap:4px;margin-left:12px;padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:12px;font-weight:500;cursor:default;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workbook-badge svg{flex-shrink:0}@media (prefers-reduced-motion: reduce){.spin{animation:none}.message-skeleton{animation:none;opacity:.7}.immersive-sidebar{scroll-behavior:auto}}@media (max-width: 768px){.message-compact{box-shadow:none}.screenshot-thumbnail{image-rendering:auto}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1b24,#2d2f3a);padding:20px}.login-card{background:#1a1b24f2;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:40px;width:100%;max-width:400px;backdrop-filter:blur(10px);box-shadow:0 20px 40px #0000004d}.login-header{text-align:center;margin-bottom:32px}.login-header h1{color:#fafafa;font-size:28px;font-weight:600;margin:0 0 8px}.login-header p{color:#fafafab3;font-size:16px;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500}.form-group input{border:1px solid rgba(10,10,10,.662);border-radius:8px;padding:12px 16px;color:#fafafa;font-size:16px;transition:all .2s ease}.form-group input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:#fafafa66}.login-button{background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:8px;padding:14px 24px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#4338ca,#5b21b6);transform:translateY(-1px);box-shadow:0 8px 20px #4f46e54d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-error{margin-top:24px;padding:16px;background:#ef44441a;border-radius:8px;text-align:center;border:1px solid rgba(239,68,68,.2)}.login-error p{color:#ef4444;font-size:14px;margin:0;font-weight:500}@media (max-width: 480px){.login-container{padding:16px}.login-card{padding:24px}.login-header h1{font-size:24px}}.api-keys-page{min-height:100vh;background:#fafbfc;color:#1a1a1a;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.create-key-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.create-key-btn:hover{background:#2563eb;transform:translateY(-1px)}.api-keys-container{background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;overflow:hidden}.api-keys-header{padding:24px;border-bottom:1px solid #e5e7eb}.api-keys-info{color:#6b7280;font-size:14px}.api-keys-table-container{overflow-x:auto}.api-keys-table{width:100%;border-collapse:collapse}.api-keys-table th{text-align:left;padding:16px 24px;font-weight:600;font-size:14px;color:#374151;border-bottom:1px solid #e5e7eb;background:#f9fafb}.api-keys-table td{padding:16px 24px;border-bottom:1px solid #f3f4f6;font-size:14px;vertical-align:top}.api-keys-table tbody tr:hover{background:#f9fafb}.key-info{display:flex;flex-direction:column;gap:4px}.key-name{font-weight:600;color:#1a1a1a}.key-preview{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;font-size:12px;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:4px;width:fit-content}.workspace-badge{display:flex;align-items:center;gap:8px;padding:4px 8px;background:#f3f4f6;border-radius:6px;width:fit-content;font-size:12px;font-weight:500}.workspace-dot{width:8px;height:8px;border-radius:50%}.workspace-dot.default{background:#8b5cf6}.user-info{display:flex;flex-direction:column;gap:2px}.user-name{font-weight:500;color:#1a1a1a}.user-email{font-size:12px;color:#6b7280}.usage-info{font-size:13px;font-weight:500}.text-success{color:#10b981}.text-warning{color:#f59e0b}.text-error{color:#ef4444}.text-muted{color:#6b7280}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;height:100vh}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.api-key-modal{max-width:600px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:14px}.form-input{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;color:#1a1a1a;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.api-key-display{margin:24px 0}.api-key-display label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:14px}.api-key-value{display:flex;align-items:center;gap:8px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.api-key-value code{flex:1;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;font-size:13px;color:#1a1a1a;background:none;word-break:break-all}.copy-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .2s ease;flex-shrink:0}.copy-btn:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.success-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;font-size:14px;margin-bottom:20px}@media (max-width: 768px){.header{padding:16px;flex-direction:column;gap:16px;align-items:flex-start}.header-actions{width:100%;justify-content:space-between}.content{padding:16px}.modal{margin:16px;max-width:calc(100vw - 32px)}.api-keys-table-container{overflow-x:scroll}.api-keys-table{min-width:800px}.search-input{width:100%;max-width:300px}}.users-page{min-height:100vh;background:#fafbfc;color:#1a1a1a;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.header{background:#fff;border-bottom:1px solid #e5e7eb;padding:24px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000000d}.header-content{display:flex;flex-direction:row;align-items:center;gap:12px}.header-content img{width:32px;height:32px}.header-content h1{margin:0;font-size:28px;font-weight:700;color:#1a1a1a;line-height:1.2}.header-subtitle{margin:4px 0 0;font-size:14px;color:#6b7280;font-weight:400}.header-actions{display:flex;align-items:center;gap:12px}.invite-user-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.invite-user-btn:hover{background:#2563eb;transform:translateY(-1px)}.content{padding:24px;max-width:1400px;margin:0 auto}.users-container{background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;overflow:hidden}.users-header{padding:24px;border-bottom:1px solid #e5e7eb}.search-container{margin-bottom:16px}.search-input{width:300px;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.users-info{color:#6b7280;font-size:14px}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table th{text-align:left;padding:16px 24px;font-weight:600;font-size:14px;color:#374151;border-bottom:1px solid #e5e7eb;background:#f9fafb}.users-table td{padding:16px 24px;border-bottom:1px solid #f3f4f6;font-size:14px;vertical-align:middle}.users-table tbody tr:hover{background:#f9fafb}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px;flex-shrink:0}.user-name{font-weight:600;color:#1a1a1a}.user-email{font-size:12px;color:#6b7280;margin-top:2px}.role-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;width:fit-content}.role-admin{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.role-editor{background:#f0f9ff;color:#1e40af;border:1px solid #bfdbfe}.role-user{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;width:fit-content}.status-active{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.status-inactive{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.status-dot{width:6px;height:6px;border-radius:50%}.status-dot.active{background:#22c55e}.status-dot.inactive{background:#ef4444}.date-info{color:#6b7280;font-size:14px}.table-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .2s ease}.table-action-btn:hover{background:#f3f4f6;color:#374151}.loading-cell,.empty-cell{text-align:center;padding:48px 24px;color:#6b7280}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;animation:spin 1s ease-in-out infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:12px}.empty-icon{width:48px;height:48px;color:#d1d5db}.empty-state h3{margin:0;font-size:18px;font-weight:600;color:#374151}.empty-state p{margin:0;color:#6b7280}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.users-page .modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.users-page .modal *{color:#1a1a1a;opacity:1}.users-page .modal input,.users-page .modal select,.users-page .modal textarea{background:#fff!important;color:#1a1a1a!important;opacity:1!important;-webkit-text-fill-color:#1a1a1a!important}.users-page .modal label{color:#374151!important;opacity:1!important}.users-page .modal h3{color:#1a1a1a!important;opacity:1!important}.users-page .modal-body,.users-page .modal-header,.users-page .modal-footer{color:#1a1a1a!important}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0}.modal-header h3{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .2s ease}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{padding:24px;flex:1;overflow-y:auto}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151!important;font-size:14px;opacity:1!important}.users-page label{color:#374151!important;opacity:1!important}.form-input,.form-select{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff!important;color:#1a1a1a!important;transition:border-color .2s ease;font-family:inherit;opacity:1!important}.users-page .form-input,.users-page .form-select{background:#fff!important;color:#1a1a1a!important;opacity:1!important}.form-input:focus,.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input::placeholder{color:#9ca3af;opacity:1}.form-select{cursor:pointer}.users-page .form-select option{background:#fff!important;color:#1a1a1a!important;opacity:1!important}.form-help{margin-top:8px;font-size:12px;color:#6b7280}.modal-footer{padding:0 24px 24px;display:flex;gap:12px;justify-content:flex-end}.btn{padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;border:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.warning-message{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#fffbeb;border:1px solid #fed7aa;border-radius:8px;color:#92400e;font-size:14px}.warning-message strong{color:#92400e}.warning-message p{margin:4px 0 0;color:#a16207}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-top:16px}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 24px;min-height:50vh}.access-denied-icon{width:64px;height:64px;color:#f59e0b;margin-bottom:16px}.access-denied h2{margin:0 0 8px;font-size:24px;font-weight:600;color:#1a1a1a}.access-denied p{margin:0;font-size:16px;color:#6b7280}.dropdown-content{min-width:160px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:4px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:50}.dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:14px;color:#374151;border-radius:6px;cursor:pointer;transition:background-color .2s ease;border:none;background:none;width:100%;text-align:left}.dropdown-item:hover{background:#f3f4f6}.dropdown-item.danger{color:#ef4444}.dropdown-item.danger:hover{background:#fef2f2}.dropdown-separator{height:1px;background:#e5e7eb;margin:4px 0}@media (max-width: 768px){.header{padding:16px;flex-direction:column;gap:16px;align-items:flex-start}.header-actions{width:100%;justify-content:space-between}.content{padding:16px}.modal{margin:16px;max-width:calc(100vw - 32px)}.users-table-container{overflow-x:scroll}.users-table{min-width:800px}.search-input{width:100%;max-width:300px}}.teach-ema-container{margin:0 -2rem;width:calc(100% + 4rem);max-width:none;text-align:left;min-height:100vh;background:#f8f9fb;display:flex;flex-direction:column}.teach-ema-container .teach-ema-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:0;flex-shrink:0;z-index:100;box-shadow:0 1px 3px #0000000d}.teach-ema-container .header-content{padding:20px 24px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;width:100%;max-width:1600px;margin:0 auto}.teach-ema-container .back-button{display:inline-flex;align-items:center;gap:8px;color:#6b7280;text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}.teach-ema-container .back-button:hover{color:#374151}.teach-ema-container .header-main{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;width:100%}.teach-ema-container .header-title-section{display:flex;align-items:center;gap:16px;flex:1;min-width:300px}.teach-ema-container .header-icon{color:#7c3aed;flex-shrink:0}.teach-ema-container .header-title-section h1{margin:0;font-size:24px;font-weight:700;color:#111827;letter-spacing:-.025em}.teach-ema-container .header-subtitle{margin:4px 0 0;font-size:14px;color:#6b7280}.teach-ema-container .header-actions{display:flex;gap:12px}.teach-ema-container .btn-primary,.teach-ema-container .btn-secondary,.teach-ema-container .btn-add{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s;font-family:inherit}.teach-ema-container .btn-primary{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}.teach-ema-container .btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 20px #7c3aed33}.teach-ema-container .btn-secondary{background:#fff;color:#374151;border:1px solid #e5e7eb}.teach-ema-container .btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.teach-ema-container .btn-add{background:#10b981;color:#fff}.teach-ema-container .btn-add:hover{background:#059669;transform:translateY(-1px);box-shadow:0 10px 20px #10b98133}.teach-ema-container .btn-icon{padding:8px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s}.teach-ema-container .btn-icon:hover{background:#f9fafb;border-color:#d1d5db}.teach-ema-container .btn-icon.success{background:#10b981;color:#fff;border-color:#10b981}.teach-ema-container .btn-icon.danger:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.teach-ema-container .btn-icon.small{padding:4px}.teach-ema-container .teach-ema-body{display:flex;gap:24px;padding:24px;max-width:1600px;width:100%;margin:0 auto}.teach-ema-container .sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:24px}.teach-ema-container .sidebar-section{background:#fff;border-radius:12px;padding:20px;border:1px solid #e5e7eb}.teach-ema-container .sidebar-section h3{margin:0 0 16px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.teach-ema-container .tab-buttons{display:flex;flex-direction:column;gap:8px}.teach-ema-container .tab-button{display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:#4b5563;cursor:pointer;transition:all .2s;text-align:left}.teach-ema-container .tab-button:hover{background:#f3f4f6}.teach-ema-container .tab-button.active{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}.teach-ema-container .tab-button .count{margin-left:auto;padding:2px 8px;background:#0000001a;border-radius:12px;font-size:12px;font-weight:600}.teach-ema-container .category-list{display:flex;flex-direction:column;gap:4px}.teach-ema-container .category-button{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;border-radius:6px;font-size:14px;color:#4b5563;cursor:pointer;transition:all .2s;text-align:left}.teach-ema-container .category-button:hover{background:#f3f4f6}.teach-ema-container .category-button.active{background:#ede9fe;color:#7c3aed;font-weight:500}.teach-ema-container .view-toggles{display:flex;gap:8px;margin-bottom:16px}.teach-ema-container .view-toggle{flex:1;padding:8px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:13px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.teach-ema-container .view-toggle:hover{background:#f9fafb}.teach-ema-container .view-toggle.active{background:#7c3aed;color:#fff;border-color:#7c3aed}.teach-ema-container .preview-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:#4b5563;cursor:pointer}.teach-ema-container .preview-toggle input{cursor:pointer}.teach-ema-container .main-content{flex:1;display:flex;flex-direction:column;gap:20px;min-width:0}.teach-ema-container .content-header{display:flex;gap:16px;align-items:center;flex-shrink:0}.teach-ema-container .search-bar{flex:1;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;transition:all .2s}.teach-ema-container .search-bar:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.teach-ema-container .search-bar svg{color:#9ca3af;flex-shrink:0}.teach-ema-container .search-bar input{flex:1;border:none;outline:none;font-size:14px;color:#111827;background:transparent}.teach-ema-container .search-bar input::placeholder{color:#9ca3af}.teach-ema-container .patterns-container{flex:1;overflow-y:auto;padding-right:8px;min-height:0;padding-top:8px}.teach-ema-container .loading-container,.teach-ema-container .empty-state{height:calc(100% - 16px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:8px}.teach-ema-container .loading-spinner{width:48px;height:48px;border:3px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;animation:teach-ema-spin .8s linear infinite}.teach-ema-container .empty-icon{color:#e5e7eb;margin-bottom:20px}.teach-ema-container .empty-state h2{margin:0 0 8px;font-size:20px;font-weight:600;color:#374151}.teach-ema-container .empty-state p{margin:0 0 24px;color:#6b7280;font-size:14px}.teach-ema-container .patterns-grid{display:grid;gap:20px;width:100%}.teach-ema-container .patterns-grid.cards{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-bottom:5rem}.teach-ema-container .patterns-grid.list{grid-template-columns:1fr}.teach-ema-container .pattern-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .2s;overflow:hidden}.teach-ema-container .pattern-card:hover{border-color:#d1d5db;box-shadow:0 10px 20px #0000000d;transform:translateY(-2px)}.teach-ema-container .pattern-card.editing{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.teach-ema-container .card-header{padding:16px 20px;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center}.teach-ema-container .card-badges{display:flex;gap:8px;align-items:center}.teach-ema-container .source-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.teach-ema-container .badge-blue{background:#dbeafe;color:#1e40af}.teach-ema-container .badge-purple{background:#ede9fe;color:#6d28d9}.teach-ema-container .badge-green{background:#d1fae5;color:#065f46}.teach-ema-container .success-rate{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:4px}.teach-ema-container .success-high{background:#d1fae5;color:#065f46}.teach-ema-container .success-medium{background:#fed7aa;color:#92400e}.teach-ema-container .success-low{background:#fee2e2;color:#991b1b}.teach-ema-container .card-actions{display:flex;gap:8px}.teach-ema-container .card-body{padding:20px}.teach-ema-container .card-title{margin:0 0 8px;font-size:16px;font-weight:600;color:#111827;line-height:1.4}.teach-ema-container .card-description{margin:0 0 16px;font-size:14px;color:#6b7280;line-height:1.5}.teach-ema-container .card-guide{margin-top:16px}.teach-ema-container .guide-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.teach-ema-container .guide-header h4{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.teach-ema-container .guide-content{background:#f9fafb;border-radius:8px;padding:16px;max-height:400px;overflow-y:auto}.teach-ema-container .markdown-preview{font-size:14px;line-height:1.6;color:#374151}.teach-ema-container .markdown-preview h1,.teach-ema-container .markdown-preview h2,.teach-ema-container .markdown-preview h3{margin-top:16px;margin-bottom:8px;font-weight:600;color:#111827}.teach-ema-container .markdown-preview h1{font-size:18px}.teach-ema-container .markdown-preview h2{font-size:16px}.teach-ema-container .markdown-preview h3{font-size:14px}.teach-ema-container .markdown-preview p{margin:8px 0}.teach-ema-container .markdown-preview ul,.teach-ema-container .markdown-preview ol{margin:8px 0;padding-left:24px}.teach-ema-container .markdown-preview li{margin:4px 0}.teach-ema-container .markdown-preview code{background:#e5e7eb;padding:2px 6px;border-radius:4px;font-size:13px;font-family:Monaco,Menlo,monospace}.teach-ema-container .markdown-preview pre{background:#1f2937;color:#f3f4f6;padding:12px;border-radius:6px;overflow-x:auto;font-size:13px;margin:12px 0}.teach-ema-container .markdown-preview pre code{background:transparent;padding:0;color:inherit}.teach-ema-container .card-footer{padding:16px 20px;border-top:1px solid #f3f4f6}.teach-ema-container .card-tags{display:flex;flex-wrap:wrap;gap:6px}.teach-ema-container .tag{padding:4px 8px;background:#f3f4f6;color:#4b5563;border-radius:4px;font-size:12px;font-weight:500}.teach-ema-container .edit-title,.teach-ema-container .edit-description,.teach-ema-container .edit-guide,.teach-ema-container .edit-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;outline:none;transition:all .2s}.teach-ema-container .edit-title{font-size:16px;font-weight:600;margin-bottom:8px}.teach-ema-container .edit-description{resize:vertical;min-height:60px;margin-bottom:16px}.teach-ema-container .edit-guide{font-family:Monaco,Menlo,monospace;font-size:13px;min-height:200px;resize:vertical}.teach-ema-container .edit-title:focus,.teach-ema-container .edit-description:focus,.teach-ema-container .edit-guide:focus,.teach-ema-container .edit-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.teach-ema-container .pattern-list-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px 20px;transition:all .2s}.teach-ema-container .pattern-list-item:hover{border-color:#d1d5db;box-shadow:0 4px 8px #0000000d}.teach-ema-container .pattern-list-item.editing{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.teach-ema-container .list-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.teach-ema-container .list-item-title{flex:1}.teach-ema-container .list-item-title h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#111827}.teach-ema-container .item-meta{display:flex;gap:12px;align-items:center}.teach-ema-container .date{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.teach-ema-container .list-item-actions{display:flex;gap:8px}.teach-ema-container .modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.teach-ema-container .modal-content{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.teach-ema-container .modal-header{padding:24px 24px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.teach-ema-container .modal-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.teach-ema-container .pattern-form{padding:24px}.teach-ema-container .form-group{margin-bottom:20px}.teach-ema-container .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#374151}.teach-ema-container .form-group input,.teach-ema-container .form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s}.teach-ema-container .form-group textarea{resize:vertical;font-family:Monaco,Menlo,monospace;font-size:13px}.teach-ema-container .form-group input:focus,.teach-ema-container .form-group textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.teach-ema-container .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}@keyframes teach-ema-spin{to{transform:rotate(360deg)}}.teach-ema-container .spinning{animation:teach-ema-spin 1s linear infinite}.teach-ema-container .guide-content::-webkit-scrollbar,.teach-ema-container .modal-content::-webkit-scrollbar,.teach-ema-container .patterns-container::-webkit-scrollbar{width:8px;height:8px}.teach-ema-container .guide-content::-webkit-scrollbar-track,.teach-ema-container .modal-content::-webkit-scrollbar-track,.teach-ema-container .patterns-container::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.teach-ema-container .guide-content::-webkit-scrollbar-thumb,.teach-ema-container .modal-content::-webkit-scrollbar-thumb,.teach-ema-container .patterns-container::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.teach-ema-container .guide-content::-webkit-scrollbar-thumb:hover,.teach-ema-container .modal-content::-webkit-scrollbar-thumb:hover,.teach-ema-container .patterns-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 1280px){.teach-ema-container .patterns-grid.cards{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}@media (max-width: 1024px){.teach-ema-container .teach-ema-body{flex-direction:column}.teach-ema-container .sidebar{width:100%;flex-direction:row;overflow-x:auto;flex-shrink:0}.teach-ema-container .sidebar-section{min-width:250px}.teach-ema-container .main-content{flex:1;min-height:0}}@media (max-width: 768px){.teach-ema-container .header-main{flex-direction:column;align-items:flex-start;gap:16px}.teach-ema-container .patterns-grid.cards{grid-template-columns:1fr}.teach-ema-container .content-header{flex-direction:column}.teach-ema-container .search-bar{width:100%}}.formatted-analysis{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin-top:16px}.formatted-analysis .formatted-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.formatted-analysis .formatted-header h3{margin:0;font-size:15px;font-weight:600;color:#111827}.formatted-analysis .copy-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.formatted-analysis .copy-button:hover{background:#f3f4f6;border-color:#9ca3af}.formatted-analysis .copy-button svg{flex-shrink:0}.formatted-analysis .formatted-content{padding:20px;max-height:600px;overflow-y:auto;font-size:14px;line-height:1.6;color:#374151}.formatted-analysis .formatted-content::-webkit-scrollbar{width:6px}.formatted-analysis .formatted-content::-webkit-scrollbar-track{background:transparent}.formatted-analysis .formatted-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.formatted-analysis .formatted-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.formatted-analysis .formatted-section{margin-bottom:24px}.formatted-analysis .formatted-section:last-child{margin-bottom:0}.formatted-analysis .formatted-heading{margin:0 0 10px;font-size:15px;font-weight:600;color:#111827}.formatted-analysis .formatted-text{margin:0;color:#4b5563;font-size:14px;line-height:1.6}.formatted-analysis .formatted-list{margin:0;padding-left:20px;list-style:decimal}.formatted-analysis .formatted-list-item{margin-bottom:6px;color:#374151}.formatted-analysis .formatted-task-section{margin-bottom:20px}.formatted-analysis .formatted-subheading{margin:0 0 8px;font-size:14px;font-weight:600;color:#111827}.formatted-analysis .formatted-actions{margin:0;padding-left:16px;list-style:none}.formatted-analysis .formatted-action{position:relative;margin-bottom:4px;padding-left:12px;color:#4b5563;font-size:13px}.formatted-analysis .formatted-action:before{content:"•";position:absolute;left:0;color:#9ca3af}.formatted-analysis .formatted-params{margin:0;padding:0;list-style:none}.formatted-analysis .formatted-param{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;padding:8px 0;border-bottom:1px solid #f3f4f6}.formatted-analysis .formatted-param:last-child{border-bottom:none}.formatted-analysis .param-key{font-weight:600;color:#6b7280;min-width:140px;flex-shrink:0;font-size:13px}.formatted-analysis .param-value{color:#1a1a1a;word-break:break-word}.formatted-analysis .formatted-content:after{display:none}@media (max-width: 768px){.formatted-analysis .formatted-header{flex-direction:column;gap:10px;align-items:stretch}.formatted-analysis .copy-button{width:100%;justify-content:center}.formatted-analysis .formatted-content{padding:16px}.formatted-analysis .param-key{min-width:100px}.formatted-analysis .formatted-param{flex-direction:column;gap:2px}}.video-analysis-page{min-height:100vh;background:#eef2ef;background-image:radial-gradient(ellipse 80% 50% at 20% 0%,rgba(32,136,68,.05) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 100%,rgba(180,140,60,.04) 0%,transparent 50%);color:#1a1e23;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.video-analysis-page .va-header{padding:16px 32px;position:sticky;top:0;z-index:100;background:#f0f4f1e0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between}.video-analysis-page .va-back-link{display:inline-flex;align-items:center;gap:6px;color:#6b7280;text-decoration:none;font-size:14px;font-weight:500;transition:color .2s,gap .2s;background:none;border:none;padding:0;font-family:inherit;cursor:pointer}.video-analysis-page .va-tabs{display:flex;gap:2px;background:#e0e7e2;border-radius:8px;padding:3px}.video-analysis-page .va-tab{display:flex;align-items:center;gap:6px;padding:7px 16px;border:none;background:transparent;color:#4b5c52;font-size:13px;font-weight:500;font-family:inherit;border-radius:6px;cursor:pointer;transition:all .15s}.video-analysis-page .va-tab:hover{color:#0a1f12}.video-analysis-page .va-tab--active{background:#fff;color:#208844;font-weight:600;box-shadow:0 1px 4px #00000014}.video-analysis-page .va-tab-count{background:#208844;color:#fff;font-size:11px;font-weight:600;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.video-analysis-page .va-back-link:hover{color:#208844;gap:8px}.video-analysis-page .va-content{max-width:640px;margin:0 auto;padding:32px 24px 120px}.video-analysis-page .va-content--wide{max-width:880px}.video-analysis-page .va-form{display:flex;flex-direction:column;gap:28px}.video-analysis-page .va-form>*{animation:va-stagger-in .5s cubic-bezier(.16,1,.3,1) both}.video-analysis-page .va-form>*:nth-child(1){animation-delay:0s}.video-analysis-page .va-form>*:nth-child(2){animation-delay:.06s}.video-analysis-page .va-form>*:nth-child(3){animation-delay:.12s}.video-analysis-page .va-form>*:nth-child(4){animation-delay:.18s}@keyframes va-stagger-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.video-analysis-page .va-form-header{padding:36px 0 0}.video-analysis-page .va-form-title{margin:0 0 8px;font-size:clamp(26px,4vw,34px);font-weight:800;color:#0a1f12;letter-spacing:-.03em}.video-analysis-page .va-form-subtitle{margin:0;font-size:15px;color:#4b5c52;line-height:1.55;max-width:480px}.video-analysis-page .va-mode-strip{display:flex;gap:8px}.video-analysis-page .va-mode-pill{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border:1.5px solid #d4dbd6;border-radius:100px;background:#fff;color:#4b5c52;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1)}.video-analysis-page .va-mode-pill:hover{border-color:#b5c4b9;color:#0a1f12;transform:translateY(-1px);box-shadow:0 2px 8px #0000000a}.video-analysis-page .va-mode-pill--active{background:#208844;border-color:#208844;color:#fff;box-shadow:0 2px 10px #20884438}.video-analysis-page .va-mode-pill--active:hover{background:#1a7239;border-color:#1a7239;color:#fff;box-shadow:0 4px 16px #2088444d}.video-analysis-page .va-upload-flow{display:flex;flex-direction:column;gap:0}.video-analysis-page .va-field{display:flex;flex-direction:column;gap:6px}.video-analysis-page .va-field-label{font-size:13px;font-weight:600;color:#374151}.video-analysis-page .va-optional{font-weight:400;color:#9ca3af}.video-analysis-page .va-input{width:100%;padding:11px 14px;background:#fff;border:1.5px solid #d4dbd6;border-radius:10px;color:#1a1e23;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.video-analysis-page .va-input:focus{outline:none;border-color:#208844;box-shadow:0 0 0 3px #2088441a}.video-analysis-page .va-input:disabled{opacity:.5;cursor:not-allowed}.video-analysis-page .va-input::placeholder{color:#9ca3af}.video-analysis-page .va-textarea{width:100%;padding:12px 14px;background:#fff;border:1.5px solid #d4dbd6;border-radius:10px;color:#1a1e23;font-size:14px;font-family:inherit;line-height:1.6;resize:vertical;min-height:80px;transition:border-color .2s,box-shadow .2s}.video-analysis-page .va-textarea:focus{outline:none;border-color:#208844;box-shadow:0 0 0 3px #2088441a}.video-analysis-page .va-textarea:disabled{opacity:.5;cursor:not-allowed}.video-analysis-page .va-textarea::placeholder{color:#9ca3af}.video-analysis-page .va-dropzone{border:2px dashed #c0ccc3;border-radius:14px;background:linear-gradient(180deg,#f6f9f7,#f0f4f1);transition:all .35s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.video-analysis-page .va-dropzone:before{content:"";position:absolute;inset:0;border-radius:12px;background:radial-gradient(ellipse at 50% 80%,rgba(32,136,68,.06) 0%,transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}.video-analysis-page .va-dropzone:hover:before{opacity:1}.video-analysis-page .va-dropzone:hover:not(.va-dropzone--file){border-color:#208844;background:linear-gradient(180deg,#f0faf3,#e8f5ec);box-shadow:0 4px 20px #2088440f}.video-analysis-page .va-dropzone--drag{border-color:#208844;border-style:solid;background:linear-gradient(180deg,#e8f8ec,#d6f0dd);transform:scale(1.008);box-shadow:0 0 0 4px #2088441a,0 12px 40px #2088441f}.video-analysis-page .va-dropzone--drag:before{opacity:1}.video-analysis-page .va-dropzone--file{border-style:solid;border-color:#208844;background:#f5fbf7}.video-analysis-page .va-file-input{position:absolute;opacity:0;width:0;height:0}.video-analysis-page .va-dropzone-inner{display:flex;flex-direction:column;align-items:center;gap:10px;padding:44px 24px;cursor:pointer;color:#7a8e80;transition:color .25s;position:relative}.video-analysis-page .va-dropzone-inner>svg{transition:transform .35s cubic-bezier(.16,1,.3,1)}.video-analysis-page .va-dropzone:hover .va-dropzone-inner{color:#208844}.video-analysis-page .va-dropzone:hover .va-dropzone-inner>svg{transform:translateY(-3px)}.video-analysis-page .va-dropzone--drag .va-dropzone-inner>svg{transform:translateY(-6px) scale(1.15)}.video-analysis-page .va-dropzone-text{font-size:14px;color:#4b5c52}.video-analysis-page .va-dropzone-browse{color:#208844;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:#2088444d;transition:text-decoration-color .15s}.video-analysis-page .va-dropzone-browse:hover{text-decoration-color:#208844}.video-analysis-page .va-dropzone-hint{font-size:12px;color:#8b9a90}.video-analysis-page .va-file-preview{display:flex;align-items:center;gap:12px;padding:14px 18px;animation:va-file-in .4s cubic-bezier(.16,1,.3,1)}@keyframes va-file-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.video-analysis-page .va-file-icon{color:#208844;flex-shrink:0}.video-analysis-page .va-file-info{flex:1;display:flex;flex-direction:column;gap:1px}.video-analysis-page .va-file-name{font-size:13px;font-weight:600;color:#0a1f12}.video-analysis-page .va-file-size{font-size:12px;color:#6b7a70}.video-analysis-page .va-file-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:#9ca3af;border-radius:6px;cursor:pointer;transition:all .15s}.video-analysis-page .va-file-remove:hover{background:#fee2e2;color:#ef4444}.video-analysis-page .va-upload-details{display:flex;flex-direction:column;gap:16px;padding-top:20px;animation:va-details-in .35s cubic-bezier(.16,1,.3,1)}@keyframes va-details-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.video-analysis-page .va-cta{width:100%;padding:14px 24px;background:linear-gradient(135deg,#208844,#1a7239);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 10px #20884433,0 0 #20884400;margin-top:4px;position:relative;overflow:hidden}.video-analysis-page .va-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.12) 50%,transparent 60%);transform:translate(-100%);animation:va-cta-shimmer 3s ease-in-out .5s infinite}@keyframes va-cta-shimmer{0%,to{transform:translate(-100%)}40%,60%{transform:translate(100%)}}.video-analysis-page .va-cta:hover:not(:disabled){background:linear-gradient(135deg,#1a7239,#156130);box-shadow:0 6px 24px #2088444d,0 0 0 3px #20884414;transform:translateY(-1px)}.video-analysis-page .va-cta:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 10px #20884433}.video-analysis-page .va-cta:disabled{opacity:.6;cursor:not-allowed}.video-analysis-page .va-cta:disabled:after{animation:none}.video-analysis-page .va-spin{animation:va-spin 1s linear infinite}@keyframes va-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.video-analysis-page .va-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1.5px solid #d4dbd6;background:#fff;color:#374151;border-radius:9px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap;text-decoration:none}.video-analysis-page .va-btn:hover{background:#f2faf5;border-color:#a3c4ae;color:#0a1f12;transform:translateY(-1px);box-shadow:0 2px 10px #2088440f}.video-analysis-page .va-btn:active{transform:translateY(0);box-shadow:none}.video-analysis-page .va-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.video-analysis-page .va-btn--primary{background:#208844;border-color:#208844;color:#fff;box-shadow:0 2px 8px #20884426}.video-analysis-page .va-btn--primary:hover:not(:disabled){background:#1a7239;box-shadow:0 4px 16px #20884440}.video-analysis-page .va-btn--sm{padding:5px 10px;font-size:12px}.video-analysis-page .va-btn--sm svg{width:14px;height:14px}.video-analysis-page .va-results{display:flex;flex-direction:column;gap:16px}.video-analysis-page .va-results>*:not(.va-exec-overlay){animation:va-stagger-in .45s cubic-bezier(.16,1,.3,1) both}.video-analysis-page .va-results>*:nth-child(2){animation-delay:.05s}.video-analysis-page .va-results>*:nth-child(3){animation-delay:.1s}.video-analysis-page .va-results>*:nth-child(4){animation-delay:.15s}.video-analysis-page .va-results>*:nth-child(5){animation-delay:.2s}.video-analysis-page .va-results>*:nth-child(6){animation-delay:.25s}.video-analysis-page .va-results-header{background:#fff;border:1px solid #d4dbd6;border-radius:14px;padding:24px 28px;position:relative;overflow:hidden}.video-analysis-page .va-results-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#208844,#2ea85a 40%,#b8a04a)}.video-analysis-page .va-results-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.video-analysis-page .va-results-title-row{display:flex;align-items:center;gap:10px}.video-analysis-page .va-results-title{margin:0;font-size:22px;font-weight:800;color:#0a1f12;letter-spacing:-.02em}.video-analysis-page .va-badge{display:inline-flex;align-items:center;padding:3px 10px;background:#208844;color:#fff;font-size:12px;font-weight:600;border-radius:100px}.video-analysis-page .va-btn--execute{padding:10px 20px;font-size:14px}.video-analysis-page .va-results-actions{display:flex;gap:6px;flex-wrap:wrap}.video-analysis-page .va-details{padding:24px 28px;background:#fff;border:1px solid #d4dbd6;border-radius:14px}.video-analysis-page .va-detail-item{margin-bottom:28px}.video-analysis-page .va-detail-item:last-child{margin-bottom:0}.video-analysis-page .va-detail-heading{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:700;color:#0a1f12}.video-analysis-page .va-detail-heading svg{color:#208844}.video-analysis-page .va-detail-text{margin:0;font-size:14px;color:#4b5563;line-height:1.65}.video-analysis-page .va-detail-text--emphasis{font-size:15px;font-weight:500;color:#0a1f12;padding:14px 16px;background:#f5fbf7;border-left:3px solid #208844;border-radius:0 10px 10px 0}.video-analysis-page .va-code-block{background:#0c1f17;border:none;border-radius:10px;padding:18px;margin:0 0 12px;color:#c8ecd5;font-size:13px;font-family:SF Mono,Monaco,Consolas,monospace;line-height:1.7;max-height:400px;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word}.video-analysis-page .va-code-block::-webkit-scrollbar{width:6px}.video-analysis-page .va-code-block::-webkit-scrollbar-track{background:transparent}.video-analysis-page .va-code-block::-webkit-scrollbar-thumb{background:#c8ecd533;border-radius:3px}.video-analysis-page .va-workflow-steps{display:flex;flex-direction:column;gap:6px}.video-analysis-page .va-workflow-step{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:#fff;border:1px solid #e5e9e6;border-radius:12px;transition:all .2s}.video-analysis-page .va-workflow-step:hover{border-color:#c5e0ce;box-shadow:0 2px 12px #2088440d}.video-analysis-page .va-step-number{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#208844;border-radius:9px;font-weight:700;font-size:13px;color:#fff;flex-shrink:0}.video-analysis-page .va-step-body{flex:1;min-width:0}.video-analysis-page .va-step-title{font-size:14px;font-weight:600;color:#0a1f12;margin-bottom:8px}.video-analysis-page .va-step-actions{display:flex;flex-direction:column;gap:4px;padding-left:12px;border-left:2px solid #d1fae5}.video-analysis-page .va-step-action{display:flex;align-items:flex-start;gap:8px;padding:3px 0;color:#4b5563;font-size:13px;line-height:1.5}.video-analysis-page .va-action-num{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:2px 6px;background:#ecfdf5;border-radius:5px;font-size:11px;font-weight:600;color:#208844;flex-shrink:0}.video-analysis-page .va-action-text{flex:1;word-wrap:break-word;overflow-wrap:break-word}.video-analysis-page .va-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.video-analysis-page .va-stat-card{background:#fff;border:1px solid #e5e9e6;border-radius:10px;padding:16px;text-align:center;transition:all .2s}.video-analysis-page .va-stat-card:hover{border-color:#c5e0ce}.video-analysis-page .va-stat-label{display:block;font-size:11px;color:#6b7a70!important;margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.video-analysis-page .va-stat-value{display:block;font-size:22px!important;font-weight:700;color:#0a1f12!important}.video-analysis-page .va-stat-value--green{color:#208844!important}.video-analysis-page .va-params{background:#fff;border:1px solid #d4dbd6;border-radius:14px;padding:20px 24px}.video-analysis-page .va-params-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.video-analysis-page .va-params-title{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;color:#0a1f12}.video-analysis-page .va-params-title svg{color:#208844}.video-analysis-page .va-params-count{font-size:11px;font-weight:600;color:#6b7c72;background:#e8f0ea;padding:1px 7px;border-radius:10px}.video-analysis-page .va-param-table{display:flex;flex-direction:column}.video-analysis-page .va-param-row{display:flex;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid #eef2ef}.video-analysis-page .va-param-row:last-child{border-bottom:none;padding-bottom:0}.video-analysis-page .va-param-row:first-child{padding-top:0}.video-analysis-page .va-param-key{font-size:12px;font-weight:600;color:#4d6a56;text-transform:capitalize;min-width:140px;flex-shrink:0}.video-analysis-page .va-param-value{font-size:14px;color:#0a1f12;font-weight:500;word-break:break-word}.video-analysis-page .va-param-value-row{display:flex;align-items:center;gap:8px}.video-analysis-page .va-param-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #d4dbd6;border-radius:6px;background:#fff;color:#6b7c72;cursor:pointer;flex-shrink:0;transition:all .15s}.video-analysis-page .va-param-toggle:hover{border-color:#208844;color:#208844;background:#f0fdf4}.video-analysis-page .va-param-value--masked{font-family:monospace;letter-spacing:.15em;color:#6b7a70}.video-analysis-page .va-param-input{width:100%;padding:8px 12px;background:#fff;border:1.5px solid #d4dbd6;border-radius:8px;color:#1a1e23;font-size:14px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.video-analysis-page .va-param-input:focus{outline:none;border-color:#208844;box-shadow:0 0 0 3px #2088441a}.video-analysis-page .va-tasks{background:#fff;border:1px solid #d4dbd6;border-radius:14px;padding:20px 24px}.video-analysis-page .va-tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.video-analysis-page .va-tasks-title{margin:0;font-size:16px;font-weight:700;color:#0a1f12}.video-analysis-page .va-tasks-actions{display:flex;gap:8px}.video-analysis-page .va-task-list{display:flex;flex-direction:column;gap:2px}.video-analysis-page .va-task-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid transparent;border-radius:10px;transition:all .2s cubic-bezier(.16,1,.3,1);animation:va-stagger-in .4s cubic-bezier(.16,1,.3,1) both}.video-analysis-page .va-task-row:nth-child(1){animation-delay:.05s}.video-analysis-page .va-task-row:nth-child(2){animation-delay:.1s}.video-analysis-page .va-task-row:nth-child(3){animation-delay:.15s}.video-analysis-page .va-task-row:nth-child(4){animation-delay:.2s}.video-analysis-page .va-task-row:nth-child(5){animation-delay:.25s}.video-analysis-page .va-task-row:nth-child(6){animation-delay:.3s}.video-analysis-page .va-task-row:hover{background:#f2faf5;border-color:#c5e0ce;transform:translate(2px)}.video-analysis-page .va-task-num{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;background:#208844;border-radius:8px;font-weight:700;font-size:12px;color:#fff;flex-shrink:0}.video-analysis-page .va-task-text{flex:1;padding-top:3px;font-size:14px;line-height:1.55;color:#374151;word-break:break-word}.video-analysis-page .va-task-play{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #d4dbd6;background:#fff;border-radius:8px;color:#9ca3af;cursor:pointer;flex-shrink:0;opacity:0;transition:all .2s cubic-bezier(.16,1,.3,1);transform:scale(.8)}.video-analysis-page .va-task-row:hover .va-task-play{opacity:1;transform:scale(1)}.video-analysis-page .va-task-play:hover{color:#fff;border-color:#208844;background:#208844;box-shadow:0 2px 8px #20884440}.video-analysis-page .va-task-list-edit{display:flex;flex-direction:column;gap:8px}.video-analysis-page .va-task-row-edit{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#f8faf9;border:1px solid #d4dbd6;border-radius:12px;transition:border-color .2s}.video-analysis-page .va-task-row-edit:focus-within{border-color:#b5dbc3;background:#f5fbf7}.video-analysis-page .va-task-editor{flex:1;padding:8px 12px;background:#fff;border:1.5px solid #d4dbd6;border-radius:8px;color:#1a1e23;font-size:14px;font-family:inherit;line-height:1.55;resize:none;overflow:hidden;transition:border-color .2s,box-shadow .2s}.video-analysis-page .va-task-editor:focus{outline:none;border-color:#208844;box-shadow:0 0 0 3px #2088441a}.video-analysis-page .va-task-editor::placeholder{color:#9ca3af}.video-analysis-page .va-task-row-controls{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.video-analysis-page .va-task-ctrl{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #d4dbd6;background:#fff;border-radius:6px;color:#6b7a70;cursor:pointer;transition:all .15s}.video-analysis-page .va-task-ctrl:hover:not(:disabled){background:#f0fdf4;color:#208844;border-color:#c5e0ce}.video-analysis-page .va-task-ctrl:disabled{opacity:.3;cursor:not-allowed}.video-analysis-page .va-task-ctrl--danger:hover:not(:disabled){background:#fef2f2;color:#ef4444;border-color:#fca5a5}.video-analysis-page .va-exec-overlay{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;background:#0a1f128c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:va-exec-fadein .3s ease-out}@keyframes va-exec-fadein{0%{opacity:0}to{opacity:1}}.video-analysis-page .va-exec-card{display:flex;flex-direction:column;align-items:center;gap:32px;background:#fff;border-radius:20px;padding:48px 52px 40px;box-shadow:0 24px 80px #0000002e,0 0 0 1px #20884414;animation:va-exec-slideup .4s cubic-bezier(.16,1,.3,1);min-width:340px}@keyframes va-exec-slideup{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.video-analysis-page .va-exec-spinner{position:relative;width:72px;height:72px}.video-analysis-page .va-exec-ring{width:72px;height:72px;animation:va-exec-rotate 2s linear infinite}.video-analysis-page .va-exec-ring circle{fill:none;stroke:#208844;stroke-width:3;stroke-dasharray:100,130;stroke-linecap:round}@keyframes va-exec-rotate{to{transform:rotate(360deg)}}.video-analysis-page .va-exec-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#208844}.video-analysis-page .va-exec-messages{display:flex;flex-direction:column;gap:0;width:100%}.video-analysis-page .va-exec-msg{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;transition:all .4s cubic-bezier(.16,1,.3,1);opacity:.3;transform:translate(0)}.video-analysis-page .va-exec-msg--active{opacity:1;background:#f0fdf4}.video-analysis-page .va-exec-msg--done{opacity:.55}.video-analysis-page .va-exec-msg-num{font-size:11px;font-weight:700;color:#6b7c72;font-variant-numeric:tabular-nums;min-width:18px}.video-analysis-page .va-exec-msg--active .va-exec-msg-num{color:#208844}.video-analysis-page .va-exec-msg-text{flex:1;font-size:14px;font-weight:500;color:#374151}.video-analysis-page .va-exec-msg--active .va-exec-msg-text{color:#0a1f12;font-weight:600}.video-analysis-page .va-exec-msg-check{color:#208844;flex-shrink:0;animation:va-exec-check .35s cubic-bezier(.16,1,.3,1)}@keyframes va-exec-check{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.video-analysis-page .va-exec-msg-loader{color:#208844;flex-shrink:0}.video-analysis-page .va-exec-hint{margin:0;font-size:13px;color:#6b7c72;text-align:center}.video-analysis-page .va-workflows-page{max-width:720px;margin:0 auto}.video-analysis-page .va-workflows-empty{text-align:center;padding:60px 24px;color:#4b5c52}.video-analysis-page .va-workflows-empty svg{color:#b8c9be;margin-bottom:16px}.video-analysis-page .va-workflows-empty h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#0a1f12}.video-analysis-page .va-workflows-empty p{font-size:14px;line-height:1.6;max-width:400px;margin:0 auto 24px}.video-analysis-page .va-workflows-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 24px;color:#6b7c72;font-size:14px}.video-analysis-page .va-workflow-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}.video-analysis-page .va-workflow-card{background:#fff;border:1px solid #d4dbd6;border-radius:10px;padding:18px 20px;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);animation:va-stagger-in .4s cubic-bezier(.16,1,.3,1) both}.video-analysis-page .va-workflow-card:nth-child(1){animation-delay:.04s}.video-analysis-page .va-workflow-card:nth-child(2){animation-delay:.08s}.video-analysis-page .va-workflow-card:nth-child(3){animation-delay:.12s}.video-analysis-page .va-workflow-card:nth-child(4){animation-delay:.16s}.video-analysis-page .va-workflow-card:nth-child(5){animation-delay:.2s}.video-analysis-page .va-workflow-card:hover{border-color:#208844;box-shadow:0 4px 20px #2088441a;transform:translateY(-2px)}.video-analysis-page .va-workflow-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.video-analysis-page .va-workflow-card-name{margin:0;font-size:15px;font-weight:600;color:#0a1f12}.video-analysis-page .va-workflow-card-desc{margin:6px 0 0;font-size:13px;color:#4b5c52;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-analysis-page .va-workflow-card-meta{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:12px;color:#6b7c72}.video-analysis-page .va-workflow-card-tasks{background:#e8f0ea;color:#208844;padding:2px 8px;border-radius:4px;font-weight:600}.video-analysis-page .va-workflow-card-runs{display:flex;align-items:center;gap:4px}.video-analysis-page .va-workflow-card-actions{display:flex;gap:8px;margin-top:14px}.video-analysis-page .va-saved-indicator{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#208844;padding:3px 10px;background:#e8f0ea;border-radius:100px}.video-analysis-page .va-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(2px)}.video-analysis-page .va-modal{background:#fff;border:1px solid #d4dbd6;border-radius:14px;width:100%;max-width:440px;box-shadow:0 20px 60px #00000026}.video-analysis-page .va-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0}.video-analysis-page .va-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#0a1f12}.video-analysis-page .va-modal-body{padding:20px 24px}.video-analysis-page .va-modal-body .va-label{margin-bottom:8px}.video-analysis-page .va-modal-body .va-input{width:100%}.video-analysis-page .va-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e8f0ea}@media (prefers-reduced-motion: reduce){.video-analysis-page .va-form>*,.video-analysis-page .va-results>*,.video-analysis-page .va-task-row,.video-analysis-page .va-workflow-card,.video-analysis-page .va-file-preview,.video-analysis-page .va-upload-details,.video-analysis-page .va-exec-overlay,.video-analysis-page .va-exec-card{animation:none!important}.video-analysis-page .va-cta:after{animation:none!important}}@media (max-width: 768px){.video-analysis-page .va-content{padding:16px 16px 80px}.video-analysis-page .va-mode-strip{flex-direction:column}.video-analysis-page .va-mode-pill{justify-content:center}.video-analysis-page .va-results-header,.video-analysis-page .va-params,.video-analysis-page .va-tasks,.video-analysis-page .va-details{padding:16px;border-radius:10px}.video-analysis-page .va-results-top{flex-direction:column;align-items:flex-start}.video-analysis-page .va-btn--execute{width:100%;justify-content:center}.video-analysis-page .va-results-actions{width:100%}.video-analysis-page .va-param-row{flex-direction:column;gap:4px;align-items:flex-start}.video-analysis-page .va-param-key{min-width:unset}.video-analysis-page .va-stats-row{grid-template-columns:1fr}.video-analysis-page .va-task-row-edit{flex-wrap:wrap}.video-analysis-page .va-task-row-controls{flex-direction:row;width:100%;justify-content:flex-end}.video-analysis-page .va-step-action{flex-direction:column;gap:2px}.video-analysis-page .va-action-num{align-self:flex-start}.video-analysis-page .va-workflow-card:hover{transform:none}.video-analysis-page .va-cta:hover:not(:disabled){transform:none}.video-analysis-page .va-modal{margin:16px}.video-analysis-page .va-exec-card{min-width:unset;margin:16px;padding:36px 28px 32px}}.browser-recording-page{min-height:100vh;background:#f8f9fb;color:#1a1a1a;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.browser-recording-page .page-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:14px 32px;position:sticky;top:0;z-index:100}.browser-recording-page .header-left{display:flex;align-items:center;gap:16px}.browser-recording-page .back-link{display:inline-flex;align-items:center;gap:6px;color:#6b7280;text-decoration:none;font-size:14px;font-weight:500;transition:color .15s}.browser-recording-page .back-link:hover{color:#1a1a1a}.browser-recording-page .page-header h1{margin:0;font-size:20px;font-weight:600;color:#111827}.browser-recording-page .recording-container{max-width:640px;margin:0 auto;padding:40px 24px 80px}.browser-recording-page .recording-setup{display:flex;justify-content:center;align-items:flex-start}.browser-recording-page .setup-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:36px 32px;text-align:center;width:100%}.browser-recording-page .setup-icon{display:flex;justify-content:center;margin-bottom:20px}.browser-recording-page .setup-icon svg{color:#208844}.browser-recording-page .setup-card h2{margin:0 0 8px;font-size:22px;font-weight:700;color:#111827}.browser-recording-page .setup-card p{color:#6b7280;margin-bottom:24px;line-height:1.6;font-size:14px}.browser-recording-page .start-url-section{margin:24px 0;text-align:left}.browser-recording-page .start-url-section label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#374151}.browser-recording-page .url-input{width:100%;padding:10px 14px;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1a1a1a;font-size:14px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.browser-recording-page .url-input:focus{outline:none;border-color:#208844;box-shadow:0 0 0 3px #2088441a}.browser-recording-page .url-input::placeholder{color:#9ca3af}.browser-recording-page .feature-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;text-align:left}.browser-recording-page .feature-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#374151}.browser-recording-page .feature-item svg{color:#10b981;flex-shrink:0}.browser-recording-page .btn{padding:8px 14px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:8px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.browser-recording-page .btn-primary{background:#208844;border-color:#208844;color:#fff}.browser-recording-page .btn-primary:hover:not(:disabled){background:#1a6e37}.browser-recording-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.browser-recording-page .btn-large{padding:12px 24px;font-size:15px;font-weight:600;width:100%;justify-content:center;border-radius:10px}.browser-recording-page .recording-active{display:flex;flex-direction:column;gap:16px}.browser-recording-page .recording-controls{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 20px}.browser-recording-page .recording-status{display:flex;align-items:center;gap:20px}.browser-recording-page .recording-indicator{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:#ef4444}.browser-recording-page .recording-dot{width:10px;height:10px;background:#ef4444;border-radius:50%;animation:br-recording-pulse 1.5s ease-in-out infinite}@keyframes br-recording-pulse{0%,to{opacity:1}50%{opacity:.4}}.browser-recording-page .recording-timer{display:flex;align-items:center;gap:6px;color:#6b7280;font-family:SF Mono,Monaco,monospace;font-size:14px}.browser-recording-page .btn-danger{background:#ef4444;border-color:#ef4444;color:#fff}.browser-recording-page .btn-danger:hover:not(:disabled){background:#dc2626}.browser-recording-page .recording-instructions{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px}.browser-recording-page .recording-instructions h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.browser-recording-page .recording-instructions ol{margin:0 0 16px;padding-left:20px}.browser-recording-page .recording-instructions li{margin-bottom:8px;color:#4b5563;line-height:1.6;font-size:14px}.browser-recording-page .recording-tips{display:flex;align-items:center;gap:8px;padding:12px;background:#f0fdf4;border:1px solid #d1fae5;border-radius:8px;color:#208844;font-size:13px}.browser-recording-page .recording-tips svg{flex-shrink:0}.browser-recording-page .recording-tips p{margin:0}.browser-recording-page .analyzing-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.browser-recording-page .analyzing-content{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:40px;text-align:center;max-width:360px;box-shadow:0 20px 60px #0000001f}.browser-recording-page .analyzing-content svg{color:#208844;margin-bottom:16px}.browser-recording-page .analyzing-content h3{margin:0 0 6px;font-size:18px;color:#111827}.browser-recording-page .analyzing-content p{margin:0;color:#6b7280;font-size:14px}.browser-recording-page .animate-spin{animation:br-spin 1s linear infinite}@keyframes br-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.browser-recording-page .recording-container{padding:24px 16px 60px}.browser-recording-page .setup-card{padding:24px 20px}.browser-recording-page .recording-controls{flex-direction:column;gap:12px}}
