.replayer-wrapper{position:relative}.replayer-mouse{position:absolute;width:20px;height:20px;transition:left .05s linear,top .05s linear;background-size:contain;background-position:center center;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzMwMHB4JyB3aWR0aD0nMzAwcHgnICBmaWxsPSIjMDAwMDAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRhdGEtbmFtZT0iTGF5ZXIgMSIgdmlld0JveD0iMCAwIDUwIDUwIiB4PSIwcHgiIHk9IjBweCI+PHRpdGxlPkRlc2lnbl90bnA8L3RpdGxlPjxwYXRoIGQ9Ik00OC43MSw0Mi45MUwzNC4wOCwyOC4yOSw0NC4zMywxOEExLDEsMCwwLDAsNDQsMTYuMzlMMi4zNSwxLjA2QTEsMSwwLDAsMCwxLjA2LDIuMzVMMTYuMzksNDRhMSwxLDAsMCwwLDEuNjUuMzZMMjguMjksMzQuMDgsNDIuOTEsNDguNzFhMSwxLDAsMCwwLDEuNDEsMGw0LjM4LTQuMzhBMSwxLDAsMCwwLDQ4LjcxLDQyLjkxWm0tNS4wOSwzLjY3TDI5LDMyYTEsMSwwLDAsMC0xLjQxLDBsLTkuODUsOS44NUwzLjY5LDMuNjlsMzguMTIsMTRMMzIsMjcuNThBMSwxLDAsMCwwLDMyLDI5TDQ2LjU5LDQzLjYyWiI+PC9wYXRoPjwvc3ZnPg==);border-color:transparent}.replayer-mouse:after{content:"";display:inline-block;width:20px;height:20px;background:#4950f6;border-radius:100%;transform:translate(-50%,-50%);opacity:.3}.replayer-mouse.active:after{animation:click .2s ease-in-out 1}.replayer-mouse.touch-device{background-image:none;width:70px;height:70px;border-width:4px;border-style:solid;border-radius:100%;margin-left:-37px;margin-top:-37px;border-color:#4950f600;transition:left 0s linear,top 0s linear,border-color .2s ease-in-out}.replayer-mouse.touch-device.touch-active{border-color:#4950f6;transition:left .25s linear,top .25s linear,border-color .2s ease-in-out}.replayer-mouse.touch-device:after{opacity:0}.replayer-mouse.touch-device.active:after{animation:touch-click .2s ease-in-out 1}.replayer-mouse-tail{position:absolute;pointer-events:none}@keyframes click{0%{opacity:.3;width:20px;height:20px}50%{opacity:.5;width:10px;height:10px}}@keyframes touch-click{0%{opacity:0;width:20px;height:20px}50%{opacity:.5;width:10px;height:10px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg-primary: #0f1117;--bg-secondary: #1a1d28;--bg-card: #1e2130;--bg-hover: #262a3a;--bg-selected: #2a2f42;--border: #2d3148;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-dim: #64748b;--accent: #6366f1;--accent-hover: #818cf8;--danger: #ef4444;--radius: 8px;--radius-sm: 4px;--code-bg: #111318;--scrollbar-thumb: #3d4260}[data-theme=light]{--bg-primary: #f1f5f9;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-hover: #f0f1f5;--bg-selected: #e8eaf0;--border: #d5d9e2;--text-primary: #1e293b;--text-secondary: #475569;--text-dim: #94a3b8;--accent: #6366f1;--accent-hover: #4f46e5;--danger: #ef4444;--code-bg: #f1f5f9;--scrollbar-thumb: #c1c5d0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.1rem;color:var(--text-secondary)}.app{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:12px}.logo{width:36px;height:36px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#fff}.header-right{display:flex;align-items:center;gap:12px}.theme-toggle-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.theme-toggle-btn:hover{color:var(--text-primary);border-color:var(--accent);background:var(--bg-hover)}.theme-toggle-btn svg{transition:transform .3s}.theme-toggle-btn:hover svg{transform:rotate(15deg)}.header h1{font-size:1.15rem;font-weight:700;color:var(--text-primary);line-height:1.2}.subtitle{font-size:.75rem;color:var(--text-dim)}.instance-badge{font-size:.7rem;padding:4px 10px;border-radius:20px;background:var(--accent);color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.stats-row{display:flex;gap:12px;padding:16px 24px;overflow-x:auto}.stat-card{flex:1;min-width:100px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;text-align:center}.stat-card.critical{border-color:#ef44444d;background:#ef44440f}.stat-value{font-size:1.5rem;font-weight:700;line-height:1.2}.stat-label{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.filters-row{display:flex;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid var(--border);flex-wrap:wrap}.filter-group{display:flex;gap:4px}.filter-btn{padding:6px 14px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s}.filter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.status-select{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:.8rem;cursor:pointer}.search-input{flex:1;min-width:200px;padding:7px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary);font-size:.85rem;outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text-dim)}.result-count{font-size:.75rem;color:var(--text-dim);white-space:nowrap}.main-content{flex:1;display:flex;overflow:hidden}.list-panel{flex:1;overflow-y:auto;border-right:1px solid var(--border)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-dim)}.empty-icon{font-size:3rem;margin-bottom:12px}.feedback-row{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}.feedback-row:hover{background:var(--bg-hover)}.feedback-row.selected{background:var(--bg-selected);border-left:3px solid var(--accent)}.row-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.row-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.type-badge{font-size:1.1rem;flex-shrink:0}.type-badge.large{font-size:.8rem;padding:4px 10px;border-radius:var(--radius-sm);font-weight:600}.type-badge.large.bug{background:#ef44441f;color:#f87171}.type-badge.large.feature{background:#a78bfa1f;color:#a78bfa}.type-badge.large.diagnostics{background:#3b82f61f;color:#60a5fa}.row-info{min-width:0}.row-title{font-size:.88rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta{display:flex;gap:8px;font-size:.72rem;color:var(--text-secondary);margin-top:2px}.meta-dim{color:var(--text-dim)}.severity-pill,.status-pill,.category-pill{font-size:.68rem;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.severity-pill.large,.category-pill.large{font-size:.78rem;padding:4px 12px}.category-pill{background:#a78bfa1f;color:#a78bfa}.detail-panel{width:480px;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;background:var(--bg-secondary)}.detail-header{padding:20px 24px;border-bottom:1px solid var(--border)}.detail-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.close-btn{background:none;border:none;color:var(--text-dim);font-size:1.5rem;cursor:pointer;padding:4px 8px;line-height:1}.close-btn:hover{color:var(--text-primary)}.detail-header h2{font-size:1.15rem;font-weight:600;margin-bottom:6px}.detail-meta{display:flex;gap:12px;font-size:.72rem;color:var(--text-dim);flex-wrap:wrap}.detail-body{padding:20px 24px;display:flex;flex-direction:column;gap:20px}.detail-controls{display:flex;gap:12px}.detail-controls label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.detail-controls select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:.85rem;cursor:pointer}.detail-section h3{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:6px}.description-text{font-size:.88rem;color:var(--text-secondary);white-space:pre-wrap;line-height:1.6}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:.8rem;color:var(--text-secondary)}.context-grid .ua{grid-column:1 / -1;font-size:.72rem;color:var(--text-dim);word-break:break-all}.context-grid strong{color:var(--text-dim);font-weight:600}.console-errors{max-height:200px;overflow-y:auto;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--code-bg)}.console-entry{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;font-size:.75rem;font-family:SF Mono,Menlo,monospace;border-bottom:1px solid var(--border)}.console-entry.error{background:#ef44440d}.console-entry.warn{background:#eab3080d}.console-level{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:1px 5px;border-radius:3px;flex-shrink:0}.console-entry.error .console-level{background:#ef444426;color:#f87171}.console-entry.warn .console-level{background:#eab30826;color:#facc15}.console-msg{color:var(--text-secondary);word-break:break-all;flex:1}.console-time{color:var(--text-dim);flex-shrink:0}.screenshot{max-width:100%;border-radius:var(--radius);border:1px solid var(--border)}.screenshot-clickable{cursor:zoom-in;transition:opacity .15s}.screenshot-clickable:hover{opacity:.85}.attachments-list{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.attachment-row{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;border-bottom:1px solid var(--border)}.attachment-row:last-child{border-bottom:none}.attachment-icon{font-size:1rem;flex-shrink:0}.attachment-name{flex:1;font-weight:500;color:var(--text-primary);word-break:break-all}.attachment-size{color:var(--text-dim);font-size:.75rem;flex-shrink:0}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.8rem;font-weight:500;padding:2px 6px;border-radius:var(--radius-sm);flex-shrink:0}.btn-link:hover{background:var(--accent-dim)}.notes-input{width:100%;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:.85rem;font-family:inherit;resize:vertical;outline:none}.notes-input:focus{border-color:var(--accent)}.save-notes-btn{margin-top:6px;padding:6px 16px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s}.save-notes-btn:hover{background:var(--accent-hover)}.danger-zone{padding-top:16px;border-top:1px solid var(--border)}.delete-btn{padding:6px 16px;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);background:transparent;color:#f87171;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.delete-btn:hover{background:#ef44441a}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb)}.header-center{display:flex;gap:4px;background:var(--bg-primary);padding:3px;border-radius:8px;flex-wrap:wrap;min-width:0}.nav-tab{padding:6px 14px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.nav-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-tab.active{background:var(--accent);color:#fff;font-weight:600}.keys-page{flex:1;padding:24px;overflow-y:auto;max-width:900px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:20px}.keys-info{display:flex;align-items:flex-start;gap:14px;background:#6366f10f;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius);padding:16px 20px}.keys-info-icon{font-size:1.6rem;flex-shrink:0;margin-top:2px}.keys-info strong{font-size:.9rem;display:block;margin-bottom:4px}.keys-info p{font-size:.8rem;color:var(--text-secondary);line-height:1.5}.keys-create{display:flex;gap:10px}.key-name-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary);font-size:.88rem;outline:none;transition:border-color .15s}.key-name-input:focus{border-color:var(--accent)}.key-name-input::placeholder{color:var(--text-dim)}.create-key-btn{padding:10px 22px;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.create-key-btn:hover{background:var(--accent-hover)}.create-key-btn:disabled{opacity:.4;cursor:not-allowed}.created-key-banner{background:#34d3990f;border:1px solid rgba(52,211,153,.25);border-radius:var(--radius);padding:16px 20px}.created-key-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.9rem}.created-key-icon{font-size:1.1rem}.created-key-warning{font-size:.78rem;color:#fbbf24;margin-bottom:10px;font-weight:500}.created-key-value{display:flex;align-items:center;gap:10px;background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:10px}.created-key-value code{flex:1;font-family:SF Mono,Menlo,monospace;font-size:.82rem;color:#34d399;word-break:break-all}.copy-btn{padding:5px 14px;border:1px solid rgba(52,211,153,.3);border-radius:var(--radius-sm);background:transparent;color:#34d399;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.copy-btn:hover{background:#34d3991a}.dismiss-btn{padding:4px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-dim);font-size:.75rem;cursor:pointer;transition:all .15s}.dismiss-btn:hover{color:var(--text-primary);border-color:var(--text-dim)}.keys-list{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.keys-list-header{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1.2fr;gap:8px;padding:10px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.keys-loading,.keys-empty{padding:40px 20px;text-align:center;color:var(--text-dim);font-size:.85rem}.keys-empty-icon{font-size:2.5rem;margin-bottom:10px}.key-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1.2fr;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border);align-items:center;font-size:.84rem;transition:background .12s}.key-row:last-child{border-bottom:none}.key-row:hover{background:var(--bg-hover)}.key-row.disabled{opacity:.55}.key-name{font-weight:500;color:var(--text-primary)}.key-prefix code{font-family:SF Mono,Menlo,monospace;font-size:.78rem;color:var(--text-secondary)}.key-value-cell{min-width:0;overflow:hidden}.key-hidden{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:2px 0}.key-hidden code{font-family:SF Mono,Menlo,monospace;font-size:.78rem;color:var(--text-secondary)}.key-reveal-hint{font-size:.65rem;color:var(--accent);opacity:0;transition:opacity .15s;white-space:nowrap}.key-hidden:hover .key-reveal-hint{opacity:1}.key-revealed{display:inline-flex;align-items:center;gap:6px;min-width:0}.key-full{font-family:SF Mono,Menlo,monospace;font-size:.72rem;color:var(--accent);background:var(--bg-secondary);padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);-webkit-user-select:all;user-select:all;word-break:break-all;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.key-copy-btn,.key-hide-btn{padding:2px 8px;border-radius:var(--radius-sm);font-size:.65rem;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);white-space:nowrap}.key-copy-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.key-hide-btn:hover{background:var(--bg-hover)}.key-created{font-size:.78rem;color:var(--text-dim)}.key-status-pill{font-size:.68rem;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.key-status-pill.active{background:#34d3991f;color:#34d399}.key-status-pill.inactive{background:#9ca3af1f;color:#9ca3af}.key-actions{display:flex;gap:6px}.key-toggle-btn,.key-delete-btn{padding:4px 10px;border-radius:var(--radius-sm);font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s}.key-toggle-btn{border:1px solid var(--border);background:transparent;color:var(--text-secondary)}.key-toggle-btn:hover{border-color:var(--text-dim);color:var(--text-primary)}.key-toggle-btn.activate{border-color:#34d3994d;color:#34d399}.key-toggle-btn.activate:hover{background:#34d39914}.key-delete-btn{border:1px solid rgba(239,68,68,.2);background:transparent;color:#f87171}.key-delete-btn:hover{background:#ef444414}.keys-usage{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.keys-usage h3{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:8px}.keys-usage p{font-size:.82rem;color:var(--text-secondary);line-height:1.5}.keys-usage code{font-family:SF Mono,Menlo,monospace;font-size:.8rem;background:#6366f11a;padding:1px 6px;border-radius:3px;color:var(--accent-hover)}.usage-code{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;margin-top:8px}.usage-code code{font-size:.82rem;color:#a78bfa;background:none;padding:0}.customers-page{flex:1;padding:24px;overflow-y:auto;max-width:1100px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:20px}.customers-section-divider{height:1px;background:var(--border);margin:12px 0}.customer-licenses-header{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.customer-licenses-header h4{margin:0;font-size:.95rem;font-weight:600}.customer-licenses-header .license-count-badge{font-size:.8rem;color:var(--text-muted);margin-left:8px}.customer-licenses-section{margin-top:8px}.customer-licenses-section .license-table{margin-top:12px}.customer-licenses-section .license-create-form{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:16px;margin-top:12px}.customers-toolbar{display:flex;align-items:center;justify-content:space-between}.customers-toolbar h2{font-size:1.15rem;font-weight:700}.customer-form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;display:flex;flex-direction:column;gap:14px}.form-card-header{display:flex;justify-content:space-between;align-items:center}.form-card-header h3{font-size:.95rem;font-weight:600}.form-row{display:flex;gap:12px}.form-row.two>.form-field{flex:1}.form-row.three>.form-field{flex:1}.form-field{display:flex;flex-direction:column;gap:4px}.form-field.full{flex:1}.form-label{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.form-field input[type=text],.form-field input[type=email],.form-field input[type=date],.form-field select,.form-field textarea{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;font-family:inherit;outline:none;transition:border-color .15s;width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent)}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-dim)}.form-field textarea{resize:vertical}.checkbox-field .form-label{display:flex;align-items:center;gap:8px;cursor:pointer;text-transform:none;font-size:.85rem;color:var(--text-primary)}.checkbox-field .form-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.form-actions{display:flex;gap:10px;padding-top:6px}.save-customer-btn{padding:8px 20px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s}.save-customer-btn:hover{background:var(--accent-hover)}.save-customer-btn:disabled{opacity:.4;cursor:not-allowed}.delete-customer-btn{padding:8px 16px;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);background:transparent;color:#f87171;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.delete-customer-btn:hover{background:#ef444414}.cancel-customer-btn{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.cancel-customer-btn:hover{color:var(--text-primary);border-color:var(--text-dim)}.customers-list{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.customers-list-header{display:grid;grid-template-columns:2.5fr .7fr .7fr 1fr 1fr 1.5fr 1fr .7fr;gap:8px;padding:10px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.customer-row{display:grid;grid-template-columns:2.5fr .7fr .7fr 1fr 1fr 1.5fr 1fr .7fr;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border);align-items:center;font-size:.84rem;cursor:pointer;transition:background .12s}.customer-row:last-child{border-bottom:none}.customer-row:hover{background:var(--bg-hover)}.customer-row.disabled{opacity:.55}.customer-tickets{display:flex;flex-direction:column;gap:1px;align-items:flex-start}.customer-tickets strong{font-size:.95rem;font-weight:700;color:var(--text-primary)}.customer-open-count{font-size:.68rem;color:var(--accent-hover);font-weight:600}.customer-info{display:flex;flex-direction:column;gap:1px;min-width:0}.customer-info strong{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-info .meta-dim{font-size:.72rem}.customer-dates{font-size:.75rem;color:var(--text-secondary)}.customer-key-name{font-size:.82rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.level-pill{font-size:.68rem;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.ps-pill{font-size:.68rem;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:#9ca3af1f;color:#9ca3af}.ps-pill.active{background:#34d3991f;color:#34d399}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:20px;position:relative}.login-theme-toggle{position:absolute;top:20px;right:20px}.login-card{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:36px 32px;display:flex;flex-direction:column;gap:20px}.login-card.setup-card{max-width:460px}.login-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.login-header h1{font-size:1.3rem;font-weight:700;color:var(--text-primary)}.login-header p{font-size:.85rem;color:var(--text-secondary)}.login-logo{width:48px;height:48px;border-radius:12px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;color:#fff;margin-bottom:4px}.login-header svg{margin-bottom:4px}.login-logo.success{background:#059669;font-size:24px}.login-tabs{display:flex;gap:4px;background:var(--bg-primary);padding:3px;border-radius:8px}.login-tab{flex:1;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;text-align:center}.login-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.login-tab.active{background:var(--accent);color:#fff;font-weight:600}.login-form{display:flex;flex-direction:column;gap:12px}.login-input{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .15s}.login-input:focus{border-color:var(--accent)}.login-input::placeholder{color:var(--text-dim)}.login-btn{width:100%;padding:12px;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s;margin-top:4px}.login-btn:hover{background:var(--accent-hover)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-skip-btn{width:100%;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s}.login-skip-btn:hover{color:var(--text-primary);border-color:var(--text-dim)}.webauthn-btn{width:100%;padding:14px;border:2px solid var(--accent);border-radius:var(--radius);background:#6366f114;color:var(--accent-hover);font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .15s}.webauthn-btn:hover{background:#6366f126;border-color:var(--accent-hover)}.webauthn-btn:disabled{opacity:.5;cursor:not-allowed}.webauthn-icon{font-size:1.2rem}.login-divider{display:flex;align-items:center;gap:12px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-divider span{font-size:.75rem;color:var(--text-dim);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.auth-error{padding:10px 14px;border-radius:var(--radius-sm);background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#f87171;font-size:.82rem;line-height:1.4}.auth-success{padding:10px 14px;border-radius:var(--radius-sm);background:#34d39914;border:1px solid rgba(52,211,153,.2);color:#34d399;font-size:.82rem;line-height:1.4}.setup-passkey-section{display:flex;flex-direction:column;gap:12px}.setup-passkey-desc{font-size:.85rem;color:var(--text-secondary);text-align:center;line-height:1.5}.setup-success-msg{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#34d39914;border:1px solid rgba(52,211,153,.2);border-radius:var(--radius);color:#34d399;font-size:.9rem;font-weight:600}.user-menu{display:flex;align-items:center;gap:12px}.user-info{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.user-name{font-size:.82rem;font-weight:500;color:var(--text-primary)}.user-method{font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.logout-btn{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s}.logout-btn:hover{color:#f87171;border-color:#ef44444d;background:#ef44440d}.security-page{flex:1;padding:24px;overflow-y:auto;max-width:700px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:24px}.security-page>h2{font-size:1.15rem;font-weight:700}.security-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;display:flex;flex-direction:column;gap:16px}.security-section-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.passkey-register{display:flex;gap:10px}.passkey-register .login-input{flex:1}.passkey-list{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.passkey-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);transition:background .12s}.passkey-row:last-child{border-bottom:none}.passkey-row:hover{background:var(--bg-hover)}.passkey-info{display:flex;flex-direction:column;gap:2px}.passkey-info strong{font-size:.88rem;font-weight:500;color:var(--text-primary)}.passkey-info .meta-dim{font-size:.72rem}.passkey-actions{display:flex;align-items:center;gap:10px}.passkey-backed-up{font-size:1.1rem;color:var(--text-dim);cursor:default}.change-pw-form{display:flex;flex-direction:column;gap:12px;max-width:380px}.users-page{flex:1;padding:24px;overflow-y:auto;max-width:900px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:20px}.form-field input[type=password]{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;font-family:inherit;outline:none;transition:border-color .15s;width:100%}.form-field input[type=password]:focus{border-color:var(--accent)}.form-field input[type=password]::placeholder{color:var(--text-dim)}.key-toggle-btn.deactivate{border-color:#ef44444d;color:#f87171}.key-toggle-btn.deactivate:hover{background:#ef444414}.ticket-number{font-family:SF Mono,Menlo,monospace;font-size:.75rem;font-weight:700;color:var(--text-dim);margin-right:6px}.detail-header h2 .ticket-number{font-size:.82rem}.assignee-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;flex-shrink:0;letter-spacing:-.02em}.assignee-avatar.small{width:22px;height:22px;font-size:.55rem}.escalated-indicator{font-size:1rem;color:#f59e0b;flex-shrink:0}.sla-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sla-dot.ok{background:#34d399}.sla-dot.warning{background:#fbbf24}.sla-dot.breached{background:#ef4444;animation:sla-pulse 1s infinite}@keyframes sla-pulse{0%,to{opacity:1}50%{opacity:.4}}.sla-badges{display:flex;flex-wrap:wrap;gap:8px}.sla-badge{font-size:.72rem;padding:4px 10px;border-radius:10px;font-weight:600;white-space:nowrap}.sla-badge.ok{background:#34d3991f;color:#34d399}.sla-badge.warning{background:#fbbf241f;color:#fbbf24}.sla-badge.breached{background:#ef44441f;color:#f87171;font-weight:700}.tags-container{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;background:#6366f11f;color:var(--accent-hover);font-size:.72rem;font-weight:600}.tag-remove{background:none;border:none;color:var(--accent-hover);cursor:pointer;font-size:.85rem;padding:0 2px;line-height:1;opacity:.6;transition:opacity .15s}.tag-remove:hover{opacity:1}.tag-input-wrapper{display:inline-flex}.tag-input{padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:.75rem;outline:none;width:100px;transition:border-color .15s}.tag-input:focus{border-color:var(--accent);width:140px}.tag-input::placeholder{color:var(--text-dim)}.customer-select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:.85rem;cursor:pointer}.escalation-controls{display:flex;flex-direction:column;gap:8px}.escalation-form{display:flex;gap:8px}.escalation-reason-input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:.82rem;outline:none}.escalation-reason-input:focus{border-color:var(--accent)}.escalation-reason-input::placeholder{color:var(--text-dim)}.escalate-btn{padding:6px 14px;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-sm);background:#f59e0b14;color:#f59e0b;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.escalate-btn:hover{background:#f59e0b26}.escalation-active{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.escalated-badge{padding:4px 10px;border-radius:10px;background:#f59e0b1f;color:#f59e0b;font-size:.72rem;font-weight:700}.escalation-reason{font-size:.8rem;color:var(--text-secondary);font-style:italic}.de-escalate-btn{padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s}.de-escalate-btn:hover{color:var(--text-primary);border-color:var(--text-dim)}.csat-display{display:flex;flex-direction:column;gap:6px}.csat-stars{display:flex;gap:2px}.csat-star{font-size:1.2rem}.csat-star.filled{color:#fbbf24}.csat-star.empty{color:var(--text-dim);opacity:.3}.csat-comment{font-size:.82rem;color:var(--text-secondary);font-style:italic}.meta-customer{padding:0 4px;border-radius:3px;background:#6366f114;color:var(--accent-hover);font-size:.68rem;font-weight:600}.timeline{display:flex;flex-direction:column;gap:0;margin-bottom:16px;max-height:400px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card)}.timeline-empty{padding:24px;text-align:center;color:var(--text-dim);font-size:.82rem}.timeline-entry{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);align-items:flex-start}.timeline-entry:last-child{border-bottom:none}.timeline-entry.activity{background:transparent}.timeline-entry.comment.internal{border-left:3px solid #fbbf24}.timeline-entry.comment.public{border-left:3px solid var(--accent)}.timeline-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}.timeline-dot.activity{background:var(--text-dim)}.timeline-dot.comment.internal{background:#fbbf24}.timeline-dot.comment.public{background:var(--accent)}.timeline-content{flex:1;min-width:0}.activity-text{font-size:.78rem;color:var(--text-secondary);font-style:italic}.activity-text strong{font-style:normal;color:var(--text-primary)}.activity-change{color:var(--text-dim);font-size:.72rem}.timeline-time{font-size:.68rem;color:var(--text-dim);display:block;margin-top:2px}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.comment-author{font-size:.78rem;font-weight:600;color:var(--text-primary)}.comment-internal-badge{font-size:.62rem;padding:1px 6px;border-radius:8px;background:#fbbf2426;color:#fbbf24;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.comment-time{font-size:.68rem;color:var(--text-dim)}.comment-delete-btn{background:none;border:none;color:var(--text-dim);font-size:1rem;cursor:pointer;padding:0 4px;line-height:1;opacity:0;transition:opacity .15s}.timeline-entry:hover .comment-delete-btn{opacity:.6}.comment-delete-btn:hover{opacity:1;color:#f87171}.comment-body{font-size:.82rem;color:var(--text-secondary);white-space:pre-wrap;line-height:1.5}.comment-input-area{display:flex;flex-direction:column;gap:8px;margin-top:8px}.comment-type-toggle{display:flex;gap:4px;background:var(--bg-primary);padding:3px;border-radius:6px;align-self:flex-start}.comment-type-btn{padding:4px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:.72rem;font-weight:500;cursor:pointer;transition:all .15s}.comment-type-btn:hover{color:var(--text-primary)}.comment-type-btn.active{background:var(--accent);color:#fff;font-weight:600}.comment-email-warning{font-size:.72rem;padding:6px 10px;border-radius:var(--radius-sm);background:#6366f10f;border:1px solid rgba(99,102,241,.15);color:var(--accent-hover)}.comment-textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:.82rem;font-family:inherit;resize:vertical;outline:none;min-height:60px}.comment-textarea:focus{border-color:var(--accent)}.comment-textarea::placeholder{color:var(--text-dim)}.dashboard-page{flex:1;padding:24px;overflow-y:auto;max-width:1100px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:24px}.dashboard-page>h2{font-size:1.15rem;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dash-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;text-align:center}.dashboard-sections{display:flex;flex-direction:column;gap:20px}.dashboard-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px}.dashboard-section h3{font-size:.82rem;font-weight:700;color:var(--text-primary);margin-bottom:14px;text-transform:uppercase;letter-spacing:.04em}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.summary-item{display:flex;flex-direction:column;gap:2px}.summary-item span{font-size:.72rem;color:var(--text-dim)}.summary-item strong{font-size:1.1rem;font-weight:700}.workload-list{display:flex;flex-direction:column;gap:10px}.workload-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.workload-agent{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:500;min-width:160px}.workload-count{flex:1;display:flex;align-items:center;gap:10px;font-size:.78rem;color:var(--text-secondary)}.workload-bar{height:6px;border-radius:3px;background:var(--accent);transition:width .3s;min-width:4px}.kb-page{flex:1;padding:24px;overflow-y:auto;max-width:1000px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:20px}.kb-categories-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.kb-category-pills{display:flex;gap:4px;flex-wrap:wrap}.kb-category-pills .filter-btn{position:relative}.category-delete{margin-left:4px;font-size:.85rem;opacity:0;transition:opacity .15s;cursor:pointer;color:#f87171}.filter-btn:hover .category-delete{opacity:.7}.category-delete:hover{opacity:1}.kb-add-category{display:flex;gap:6px;align-items:center}.kb-body-textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;font-family:SF Mono,Menlo,monospace;resize:vertical;outline:none;min-height:200px;line-height:1.6}.kb-body-textarea:focus{border-color:var(--accent)}.kb-body-textarea::placeholder{color:var(--text-dim)}.keys-list-header.kb-header{grid-template-columns:2.5fr 1fr .8fr .8fr 1fr}.key-row.kb-row{grid-template-columns:2.5fr 1fr .8fr .8fr 1fr;cursor:pointer}@media(max-width:900px){.main-content{flex-direction:column}.detail-panel{width:100%;border-top:1px solid var(--border)}.list-panel{border-right:none;max-height:50vh}.keys-list-header,.key-row{grid-template-columns:1.5fr 1fr 1fr 1fr}.kh-prefix,.key-value-cell{display:none}.form-row.three,.form-row.two{flex-direction:column}.customers-list-header,.customer-row{grid-template-columns:2fr .6fr .6fr 1fr 1fr .8fr}.customer-dates,.customer-key-name{display:none}.login-card{padding:28px 20px}.user-info{display:none}.passkey-register{flex-direction:column}.dashboard-grid,.summary-grid{grid-template-columns:repeat(2,1fr)}.kb-categories-bar{flex-direction:column;align-items:flex-start}.keys-list-header.kb-header,.key-row.kb-row{grid-template-columns:2fr 1fr .8fr 1fr}.key-row.kb-row .meta-dim:first-of-type{display:none}.report-grid{grid-template-columns:1fr}.report-controls{flex-direction:column;gap:6px}}.canned-picker-wrapper{position:relative;margin-left:auto}.canned-picker-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s}.canned-picker-btn:hover{border-color:var(--accent);color:var(--accent)}.canned-picker-dropdown{position:absolute;top:100%;right:0;margin-top:4px;width:320px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000004d;z-index:100;max-height:300px;overflow-y:auto}.canned-picker-empty{padding:16px;text-align:center;color:var(--text-secondary);font-size:12px}.canned-picker-item{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s}.canned-picker-item:last-child{border-bottom:none}.canned-picker-item:hover{background:var(--bg-secondary)}.canned-picker-title{font-weight:500;color:var(--text-primary);flex:1}.canned-picker-cat{font-size:11px;color:var(--text-secondary)}.kb-sub-tabs{display:flex;gap:4px;margin-top:4px}.keys-list-header.canned-header{grid-template-columns:2fr 1fr .8fr 1fr}.ticket-links-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.ticket-link-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary);border-radius:6px;font-size:13px}.link-type-badge{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px;letter-spacing:.5px}.link-type-badge.related{background:#3b82f620;color:#60a5fa}.link-type-badge.duplicate{background:#f59e0b20;color:#f59e0b}.link-type-badge.merged{background:#a78bfa20;color:#a78bfa}.link-ticket-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-weight:600;font-size:13px;padding:0}.link-ticket-btn:hover{text-decoration:underline}.link-ticket-title{flex:1;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-add-form{display:flex;gap:6px;align-items:center}.link-type-select{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:4px 8px;border-radius:4px;font-size:12px}.merge-section{margin-top:8px}.merge-trigger-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px 0;text-decoration:underline}.merge-trigger-btn:hover{color:var(--accent)}.merge-form{margin-top:8px}.merge-warning{color:#f59e0b;font-size:12px;margin-bottom:8px;padding:8px;background:#f59e0b10;border-radius:6px;border-left:3px solid #f59e0b}.merge-actions{display:flex;gap:6px;margin-top:6px}.merged-banner{background:#f59e0b15;border:1px solid #f59e0b40;border-radius:8px;padding:12px 16px;margin-bottom:16px;color:#f59e0b;font-weight:500;font-size:14px;display:flex;align-items:center;gap:8px}.notif-prefs-form{display:flex;flex-direction:column;gap:12px}.notif-email-row{display:flex;flex-direction:column;gap:4px}.notif-toggles{display:flex;flex-direction:column;gap:6px}.notif-toggle-row{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--text-primary)}.notif-toggle-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.reports-page{max-width:1200px;margin:0 auto}.report-controls{display:flex;align-items:center;gap:8px}.report-date-input{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;border-radius:6px;font-size:13px}.report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}.report-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:20px}.report-card.wide{grid-column:1 / -1}.report-card h3{margin:0 0 12px;font-size:14px;color:var(--text-secondary);font-weight:500}.sla-compliance-stat{text-align:center;padding:12px 0}.sla-big-number{font-size:48px;font-weight:700;color:var(--text-primary)}.sla-sub-stats{display:flex;justify-content:center;gap:16px;margin-top:8px;font-size:13px}.sla-met{color:#34d399}.sla-breached{color:#f87171}.report-bar-chart{display:flex;flex-direction:column;gap:6px}.bar-row{display:flex;align-items:center;gap:8px}.bar-label{width:100px;font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;flex-shrink:0}.bar-track{flex:1;height:20px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;min-width:2px;transition:width .3s ease}.bar-value{width:50px;font-size:12px;color:var(--text-primary);font-weight:500}.keys-list-header.agent-perf-header,.key-row.agent-perf-row{grid-template-columns:2fr .7fr .7fr .7fr 1fr .7fr}.email-ingestion-page{display:flex;flex-direction:column;gap:16px}.ingestion-status-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px}.ingestion-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.ingestion-stat{display:flex;flex-direction:column;gap:4px}.ingestion-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:600}.ingestion-stat-value{font-size:18px;font-weight:700;color:var(--text-primary)}.ingestion-stat-value.stat-running{color:#34d399}.ingestion-stat-value.stat-stopped{color:#f59e0b}.ingestion-stat-value.stat-unconfigured{color:#6b7280;font-size:14px}.ingestion-stat-value.stat-error{color:#f87171}.ingestion-last-result{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--text-secondary)}.ingestion-config-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px}.ingestion-config-panel h3{margin:0 0 12px}.ingestion-config-grid{display:flex;flex-direction:column;gap:10px}.ingestion-config-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.ingestion-config-row span{font-size:13px;color:var(--text-primary);font-weight:500}.ingestion-config-row select{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:13px}.ingestion-config-row input[type=checkbox]{width:16px;height:16px;cursor:pointer}.ingestion-input{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:6px 10px;font-size:13px;font-family:monospace;min-width:320px;width:100%;max-width:420px}.ingestion-input::placeholder{color:var(--text-secondary);opacity:.6;font-family:inherit}.ingestion-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.ingestion-config-actions{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.btn-save-config{padding:8px 22px;font-size:13px;font-weight:600;border-radius:6px;border:none;cursor:pointer;background:var(--accent);color:#fff;transition:background .15s,opacity .15s}.btn-save-config:hover:not(:disabled){background:var(--accent-hover)}.btn-save-config:disabled{opacity:.5;cursor:default}.ingestion-configured-badge{margin-top:12px;padding:6px 12px;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:6px;color:#34d399;font-size:12px;font-weight:600}.ingestion-incomplete-badge{margin-top:12px;padding:6px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px;color:#f59e0b;font-size:12px;font-weight:600}.ingestion-env-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.ingestion-env-list code{display:inline-block;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:12px;color:#f59e0b;font-weight:600}.ingestion-emails-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px}.ingestion-emails-section h3{margin:0 0 8px}.keys-list-header.ingestion-email-header,.key-row.ingestion-email-row{grid-template-columns:1.2fr 1.2fr 2fr .8fr 1fr}.ingestion-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingestion-error-row{background:#f8717114!important}.badge-sm{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-success{background:#34d39926;color:#34d399}.badge-info{background:#60a5fa26;color:#60a5fa}.badge-danger{background:#f8717126;color:#f87171}.badge-dim{background:#9ca3af26;color:#9ca3af}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.btn-link{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:13px;font-weight:500;padding:0;text-decoration:none}.btn-link:hover{text-decoration:underline}.btn-primary{background:#3b82f6!important;color:#fff!important}.btn-primary:hover{background:#2563eb!important}.btn-primary:disabled{background:#1e40af!important;opacity:.6;cursor:not-allowed}.log-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.log-viewer-panel{width:100%;max-width:960px;max-height:calc(100vh - 48px);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.log-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.log-viewer-title{font-size:.85rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-viewer-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.log-viewer-close{background:none;border:none;color:var(--text-dim);font-size:1.1rem;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);line-height:1}.log-viewer-close:hover{background:var(--bg-hover);color:var(--text-primary)}.log-viewer-body{flex:1;overflow-y:auto;background:var(--code-bg)}.log-viewer-content{margin:0;padding:16px;font-family:SF Mono,Menlo,monospace;font-size:.75rem;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;-moz-tab-size:4;tab-size:4}.log-viewer-loading{padding:32px;text-align:center;color:var(--text-dim);font-size:.85rem}.screenshot-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}.screenshot-viewer-img{max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);object-fit:contain;border-radius:var(--radius);box-shadow:0 8px 32px #00000080}.screenshot-viewer-close{position:fixed;top:16px;right:16px;background:#0009;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.2rem;cursor:pointer;padding:6px 12px;border-radius:var(--radius-sm);line-height:1;z-index:1001}.screenshot-viewer-close:hover{background:#000c}.cobrowse-console{padding:0}.cobrowse-console .section-header{margin-bottom:24px}.cobrowse-join-section{display:flex;flex-direction:column;gap:24px}.cobrowse-join-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:480px}.cobrowse-join-card h3{color:var(--text-primary);margin-bottom:8px;font-size:1.1rem}.cobrowse-join-card p{color:var(--text-secondary);font-size:.9rem;margin-bottom:16px}.cobrowse-join-form{display:flex;gap:8px;align-items:center}.cobrowse-code-input{font-family:SF Mono,Fira Code,monospace;font-size:1.4rem;letter-spacing:.3em;text-align:center;width:180px;padding:10px 16px;background:var(--bg-primary);border:2px solid var(--border);border-radius:var(--radius);color:var(--text-primary);outline:none;transition:border-color .15s}.cobrowse-code-input:focus{border-color:var(--accent)}.cobrowse-code-input::placeholder{color:var(--text-dim);letter-spacing:.2em;font-size:1.1rem}.cobrowse-error{margin-top:12px;padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:#ef4444;font-size:.85rem}.cobrowse-ended{margin-top:12px;display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:.9rem}.cobrowse-sessions-list{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.cobrowse-sessions-list h3{color:var(--text-primary);margin-bottom:0;font-size:1rem}.cobrowse-sessions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.cobrowse-sessions-actions{display:flex;gap:8px;align-items:center}.cobrowse-active-count{background:var(--accent);color:#fff;font-size:.75rem;padding:2px 8px;border-radius:10px;margin-left:8px;font-weight:500}.cobrowse-confirm-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);margin-bottom:16px;font-size:.85rem;color:var(--text-primary)}.cobrowse-confirm-bar span{flex:1}.cobrowse-actions-cell{display:flex;gap:4px;align-items:center}.cobrowse-action-btn{background:none;border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:3px 6px;font-size:.8rem;transition:all .15s ease;line-height:1}.cobrowse-action-btn:hover{background:var(--bg-hover);border-color:var(--text-secondary)}.cobrowse-end-btn:hover,.cobrowse-delete-btn:hover{background:#ef444426;border-color:#ef444480}.cobrowse-join-btn:hover{background:#3b82f626;border-color:#3b82f680}.cobrowse-audit-btn:hover{background:#a855f726;border-color:#a855f780}.cobrowse-row-expanded{background:#a855f70f}.cobrowse-no-sessions{color:var(--text-dim);text-align:center;padding:24px;font-size:.85rem}.cobrowse-audit-panel{margin-top:16px;background:var(--bg-primary);border:1px solid rgba(168,85,247,.25);border-radius:var(--radius);padding:16px}.cobrowse-audit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cobrowse-audit-header h4{color:var(--text-primary);font-size:.9rem}.cobrowse-audit-table{font-size:.8rem}.cobrowse-audit-table code{font-size:.75rem;background:var(--bg-primary);padding:2px 6px;border-radius:3px;color:var(--accent)}.cobrowse-status-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:40px;text-align:center;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:16px}.cobrowse-status-card h3{color:var(--text-primary)}.cobrowse-status-card p{color:var(--text-secondary);font-size:.9rem}.cobrowse-session-id{font-family:SF Mono,Fira Code,monospace;font-size:.8rem;color:var(--text-dim)}.cobrowse-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:cobrowse-spin .8s linear infinite}@keyframes cobrowse-spin{to{transform:rotate(360deg)}}.cobrowse-active-session{display:flex;flex-direction:column;height:calc(100vh - 160px);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.cobrowse-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0}.cobrowse-toolbar-left{display:flex;align-items:center;gap:12px}.cobrowse-toolbar-right{display:flex;align-items:center;gap:8px}.cobrowse-state-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.cobrowse-state-dot.active{background:#22c55e;box-shadow:0 0 6px #22c55e80;animation:cobrowse-pulse 2s ease-in-out infinite}.cobrowse-state-dot.paused{background:#f59e0b;box-shadow:0 0 6px #f59e0b66}@keyframes cobrowse-pulse{0%,to{opacity:1}50%{opacity:.5}}.cobrowse-state-label{color:var(--text-primary);font-weight:600;font-size:.85rem}.cobrowse-customer-active{color:#f59e0b;font-size:.8rem;font-weight:500;padding:2px 8px;background:#f59e0b1a;border-radius:10px;animation:cobrowse-pulse 1.5s ease-in-out infinite}.cobrowse-replayer-wrapper{flex:1;position:relative;overflow:hidden;background:#111}.cobrowse-replayer-container{width:100%;height:100%;overflow:auto}.cobrowse-replayer-container .replayer-wrapper{position:relative!important}.cobrowse-replayer-container iframe{border:none!important}.cobrowse-input-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:10;cursor:crosshair;outline:none}.cobrowse-input-overlay:focus{outline:2px solid var(--accent);outline-offset:-2px}
